From 7ab7b1ec40767b71fc3ffb03df2f32a60294a25a Mon Sep 17 00:00:00 2001 From: Holger Roth <6304754+holgerroth@users.noreply.github.com> Date: Wed, 16 Feb 2022 12:05:10 -0500 Subject: [PATCH] Cifar10 scaffold (#127) * SCAFFOLD Integration scaffold learner scaffold configs initialize the scaffold terms on the client update README to include SCAFFOLD description add scaffold experiment update urls add LICENSE from NIID-Bench update README and plots to reflect SCAFFOLD experiment refactor scaffold computation steps into their own member functions remove unused import refactor to use ScaffoldLearner class Scaffold learner depends on PyTorch. Renamed as such use two standard aggregators, inherit SCAFFOLD workflow from standard ScatterAndGather remove custom aggregator use update_shareable use multi-class inheritance for scaffold learner use new aggregator that supports several DXOs fix updating call for global model simplify dxo/shareable handling use built-in PTFileModelLocator fix formatting add PT Formatter use built-in validation json generator; remove custom formatter remove custom Json validation generator update license restore run_secure.sh restore project yml restore main branch learner executor add SCAFFOLD link to example readme remove custom validation json generator print model owner info during validation remove custom formatter remove special handling of validation dxo. Not needed anymore use zeros_like() to initialize scaffold terms * use scaffold helper class * formatting * make scaffold function args consistent --- examples/README.md | 2 +- examples/cifar10/README.md | 46 ++-- .../config/config_fed_server.json | 14 +- .../config/config_fed_server.json | 14 +- .../config/config_fed_server.json | 14 +- .../config/config_fed_server.json | 14 +- .../config/config_fed_server.json | 14 +- .../config/config_fed_server.json | 14 +- .../config/config_fed_client.json | 37 ++++ .../config/config_fed_server.json | 83 +++++++ examples/cifar10/figs/central_training.png | Bin 14317 -> 14797 bytes .../cifar10/figs/central_vs_fedavg_he.png | Bin 32288 -> 32684 bytes examples/cifar10/figs/fedavg_alpha.png | Bin 55507 -> 54091 bytes examples/cifar10/figs/fedopt_fedprox.png | Bin 41782 -> 0 bytes .../cifar10/figs/fedopt_fedprox_scaffold.png | Bin 0 -> 50877 bytes .../cifar10/figs/plot_tensorboard_events.py | 40 ++-- .../cifar10/pt/learners/cifar10_learner.py | 36 ++-- .../pt/learners/cifar10_scaffold_learner.py | 187 ++++++++++++++++ examples/cifar10/pt/pt_formatter.py | 67 ------ examples/cifar10/pt/pt_model_locator.py | 88 -------- .../cifar10/pt/validation_json_generator.py | 77 ------- examples/cifar10/run_experiments.sh | 7 +- nvflare/app_common/app_constant.py | 7 + .../intime_model_selection_handler.py | 2 +- nvflare/app_common/pt/pt_scaffold.py | 120 +++++++++++ .../workflows/scatter_and_gather_scaffold.py | 203 ++++++++++++++++++ 26 files changed, 741 insertions(+), 345 deletions(-) create mode 100644 examples/cifar10/configs/cifar10_scaffold/config/config_fed_client.json create mode 100644 examples/cifar10/configs/cifar10_scaffold/config/config_fed_server.json delete mode 100644 examples/cifar10/figs/fedopt_fedprox.png create mode 100644 examples/cifar10/figs/fedopt_fedprox_scaffold.png create mode 100644 examples/cifar10/pt/learners/cifar10_scaffold_learner.py delete mode 100755 examples/cifar10/pt/pt_formatter.py delete mode 100755 examples/cifar10/pt/pt_model_locator.py delete mode 100644 examples/cifar10/pt/validation_json_generator.py create mode 100644 nvflare/app_common/pt/pt_scaffold.py create mode 100644 nvflare/app_common/workflows/scatter_and_gather_scaffold.py diff --git a/examples/README.md b/examples/README.md index b5f482849f..fb531eba34 100644 --- a/examples/README.md +++ b/examples/README.md @@ -22,7 +22,7 @@ The provided examples cover different aspects of [NVIDIA FLARE](https://nvidia.g ## 2. FL algorithms * [Federated Learning with CIFAR-10](./cifar10/README.md) - * Includes examples of using [FedAvg](https://arxiv.org/abs/1602.05629), [FedProx](https://arxiv.org/abs/1812.06127), [FedOpt](https://arxiv.org/abs/2003.00295), [homomorphic encryption](https://developer.nvidia.com/blog/federated-learning-with-homomorphic-encryption/), and streaming of TensorBoard metrics to the server during training. + * Includes examples of using [FedAvg](https://arxiv.org/abs/1602.05629), [FedProx](https://arxiv.org/abs/1812.06127), [FedOpt](https://arxiv.org/abs/2003.00295), [SCAFFOLD](https://arxiv.org/abs/1910.06378), [homomorphic encryption](https://developer.nvidia.com/blog/federated-learning-with-homomorphic-encryption/), and streaming of TensorBoard metrics to the server during training. ## 3. Medical Image Analysis * [Hello MONAI](./hello-monai/README.md) diff --git a/examples/cifar10/README.md b/examples/cifar10/README.md index 563c17cdba..514e15c8a2 100644 --- a/examples/cifar10/README.md +++ b/examples/cifar10/README.md @@ -123,19 +123,23 @@ for example cat ./workspaces/poc_workspace/server/run_2/cross_site_val/cross_site_val.json ``` -### 3.4: Advanced FL algorithms (FedProx and FedOpt) +### 3.4: Advanced FL algorithms (FedProx, FedOpt, and SCAFFOLD) Next, let's try some different FL algorithms on a more heterogeneous split: -FedProx (https://arxiv.org/abs/1812.06127), adds a regularizer to the CIFAR10Trainer loss (`fedproxloss_mu`)`: +[FedProx](https://arxiv.org/abs/1812.06127) adds a regularizer to the loss used in `CIFAR10Learner` (`fedproxloss_mu`)`: ``` ./run_poc.sh 8 cifar10_fedprox 6 0.1 ``` -FedOpt (https://arxiv.org/abs/2003.00295), uses a new ShareableGenerator to update the global model on the server using a PyTorch optimizer. +[FedOpt](https://arxiv.org/abs/2003.00295) uses a new ShareableGenerator to update the global model on the server using a PyTorch optimizer. Here SGD with momentum and cosine learning rate decay: ``` ./run_poc.sh 8 cifar10_fedopt 7 0.1 ``` +[SCAFFOLD](https://arxiv.org/abs/1910.06378) uses a slightly modified version of the CIFAR-10 Learner implementation, namely the `CIFAR10ScaffoldLearner`, which adds a correction term during local training following the [implementation](https://github.com/Xtra-Computing/NIID-Bench) as described in [Li et al.](https://arxiv.org/abs/2102.02079) +``` +./run_poc.sh 8 cifar10_scaffold 8 0.1 +``` ### 3.5 Secure aggregation using homomorphic encryption @@ -147,7 +151,7 @@ Next we run FedAvg using homomorphic encryption (HE) for secure aggregation on t FedAvg with HE: ``` -./run_secure.sh 8 cifar10_fedavg_he 8 1.0 +./run_secure.sh 8 cifar10_fedavg_he 9 1.0 ``` > **_NOTE:_** Currently, FedOpt is not supported with HE as it would involve running the optimizer on encrypted values. @@ -173,8 +177,8 @@ that HE does not impact the performance accuracy of FedAvg significantly while a | Config | Alpha | Val score | | ----------- | ----------- | ----------- | | cifar10_central | 1.0 | 0.8798 | -| cifar10_fedavg | 1.0 | 0.8873 | -| cifar10_fedavg_he | 1.0 | 0.8864 | +| cifar10_fedavg | 1.0 | 0.8854 | +| cifar10_fedavg_he | 1.0 | 0.8897 | ![Central vs. FedAvg](./figs/central_vs_fedavg_he.png) @@ -185,33 +189,33 @@ This can be observed in the resulting performance of the FedAvg algorithms. | Config | Alpha | Val score | | ----------- | ----------- | ----------- | -| cifar10_fedavg | 1.0 | 0.8873 | -| cifar10_fedavg | 0.5 | 0.8726 | -| cifar10_fedavg | 0.3 | 0.8315 | -| cifar10_fedavg | 0.1 | 0.7726 | +| cifar10_fedavg | 1.0 | 0.8854 | +| cifar10_fedavg | 0.5 | 0.8633 | +| cifar10_fedavg | 0.3 | 0.8350 | +| cifar10_fedavg | 0.1 | 0.7733 | ![Impact of client data heterogeneity](./figs/fedavg_alpha.png) -### 4.3 FedProx vs. FedOpt +### 4.3 FedAvg vs. FedProx vs. FedOpt vs. SCAFFOLD -Finally, we are comparing an `alpha` setting of 0.1, causing a high client data heterogeneity and its -impact on more advanced FL algorithms, namely FedProx and FedOpt. Both achieve a better performance compared to FedAvg -with the same `alpha` setting but FedOpt shows a better convergence rate by utilizing SGD with momentum -to update the global model on the server, and achieves a better performance with the same amount of training steps. +Finally, we compare an `alpha` setting of 0.1, causing a high client data heterogeneity and its +impact on more advanced FL algorithms, namely FedProx, FedOpt, and SCAFFOLD. FedProx and SCAFFOLD achieve better performance compared to FedAvg and FedProx with the same `alpha` setting. However, FedOpt and SCAFFOLD show markedly better convergence rates. SCAFFOLD achieves that by adding a correction term when updating the client models, while FedOpt utilizes SGD with momentum +to update the global model on the server. Both achieve better performance with the same number of training steps as FedAvg/FedProx. | Config | Alpha | Val score | -|------------------| ----------- | ----------- | -| cifar10_fedavg | 0.1 | 0.7726 | -| cifar10_fedprox | 0.1 | 0.7512 | -| cifar10_fedopt | 0.1 | 0.7986 | +|------------------| ----------- | ---------- | +| cifar10_fedavg | 0.1 | 0.7733 | +| cifar10_fedprox | 0.1 | 0.7615 | +| cifar10_fedopt | 0.1 | 0.8013 | +| cifar10_scaffold | 0.1 | 0.8222 | -![FedProx vs. FedOpt](./figs/fedopt_fedprox.png) +![FedProx vs. FedOpt](./figs/fedopt_fedprox_scaffold.png) ## 5. Streaming TensorBoard metrics to the server In a real-world scenario, the researcher won't have access to the TensorBoard events of the individual clients. In order to visualize the training performance in a central place, `AnalyticsSender`, `ConvertToFedEvent` on the client, and `TBAnalyticsReceiver` on the server can be used. For an example using FedAvg and metric streaming during training, run: ``` -./run_poc.sh 8 cifar10_fedavg_stream_tb 9 1.0 +./run_poc.sh 8 cifar10_fedavg_stream_tb 10 1.0 ``` Using this configuration, a `tb_events` folder will be created under the `run_*` folder of the server that includes all the TensorBoard event values of the different clients. diff --git a/examples/cifar10/configs/cifar10_central/config/config_fed_server.json b/examples/cifar10/configs/cifar10_central/config/config_fed_server.json index 5821b58154..49195ac8af 100644 --- a/examples/cifar10/configs/cifar10_central/config/config_fed_server.json +++ b/examples/cifar10/configs/cifar10_central/config/config_fed_server.json @@ -37,17 +37,14 @@ }, { "id": "model_locator", - "path": "pt.pt_model_locator.PTModelLocator", - "args": {} - }, - { - "id": "formatter", - "path": "pt.pt_formatter.PTFormatter", - "args": {} + "name": "PTFileModelLocator", + "args": { + "pt_persistor_id": "persistor" + } }, { "id": "json_generator", - "path": "pt.validation_json_generator.ValidationJsonGenerator", + "name": "ValidationJsonGenerator", "args": {} } ], @@ -72,7 +69,6 @@ "name": "CrossSiteModelEval", "args": { "model_locator_id": "model_locator", - "formatter_id": "formatter", "submit_model_timeout": 600, "validation_timeout": 6000, "cleanup_models": true diff --git a/examples/cifar10/configs/cifar10_fedavg/config/config_fed_server.json b/examples/cifar10/configs/cifar10_fedavg/config/config_fed_server.json index e02429dd8b..9d819b976f 100644 --- a/examples/cifar10/configs/cifar10_fedavg/config/config_fed_server.json +++ b/examples/cifar10/configs/cifar10_fedavg/config/config_fed_server.json @@ -37,17 +37,14 @@ }, { "id": "model_locator", - "path": "pt.pt_model_locator.PTModelLocator", - "args": {} - }, - { - "id": "formatter", - "path": "pt.pt_formatter.PTFormatter", - "args": {} + "name": "PTFileModelLocator", + "args": { + "pt_persistor_id": "persistor" + } }, { "id": "json_generator", - "path": "pt.validation_json_generator.ValidationJsonGenerator", + "name": "ValidationJsonGenerator", "args": {} } ], @@ -72,7 +69,6 @@ "name": "CrossSiteModelEval", "args": { "model_locator_id": "model_locator", - "formatter_id": "formatter", "submit_model_timeout": 600, "validation_timeout": 6000, "cleanup_models": true diff --git a/examples/cifar10/configs/cifar10_fedavg_he/config/config_fed_server.json b/examples/cifar10/configs/cifar10_fedavg_he/config/config_fed_server.json index 8627b0a682..113af6c710 100644 --- a/examples/cifar10/configs/cifar10_fedavg_he/config/config_fed_server.json +++ b/examples/cifar10/configs/cifar10_fedavg_he/config/config_fed_server.json @@ -37,17 +37,14 @@ }, { "id": "model_locator", - "path": "pt.pt_model_locator.PTModelLocator", - "args": {} - }, - { - "id": "formatter", - "path": "pt.pt_formatter.PTFormatter", - "args": {} + "name": "PTFileModelLocator", + "args": { + "pt_persistor_id": "persistor" + } }, { "id": "json_generator", - "path": "pt.validation_json_generator.ValidationJsonGenerator", + "name": "ValidationJsonGenerator", "args": {} } ], @@ -72,7 +69,6 @@ "name": "CrossSiteModelEval", "args": { "model_locator_id": "model_locator", - "formatter_id": "formatter", "submit_model_timeout": 600, "validation_timeout": 6000, "cleanup_models": true diff --git a/examples/cifar10/configs/cifar10_fedavg_stream_tb/config/config_fed_server.json b/examples/cifar10/configs/cifar10_fedavg_stream_tb/config/config_fed_server.json index a4c02f01f4..7f5f34411a 100644 --- a/examples/cifar10/configs/cifar10_fedavg_stream_tb/config/config_fed_server.json +++ b/examples/cifar10/configs/cifar10_fedavg_stream_tb/config/config_fed_server.json @@ -37,17 +37,14 @@ }, { "id": "model_locator", - "path": "pt.pt_model_locator.PTModelLocator", - "args": {} - }, - { - "id": "formatter", - "path": "pt.pt_formatter.PTFormatter", - "args": {} + "name": "PTFileModelLocator", + "args": { + "pt_persistor_id": "persistor" + } }, { "id": "json_generator", - "path": "pt.validation_json_generator.ValidationJsonGenerator", + "name": "ValidationJsonGenerator", "args": {} }, { @@ -77,7 +74,6 @@ "name": "CrossSiteModelEval", "args": { "model_locator_id": "model_locator", - "formatter_id": "formatter", "submit_model_timeout": 600, "validation_timeout": 6000, "cleanup_models": true diff --git a/examples/cifar10/configs/cifar10_fedopt/config/config_fed_server.json b/examples/cifar10/configs/cifar10_fedopt/config/config_fed_server.json index 011fcb46fe..0ee266528b 100644 --- a/examples/cifar10/configs/cifar10_fedopt/config/config_fed_server.json +++ b/examples/cifar10/configs/cifar10_fedopt/config/config_fed_server.json @@ -56,17 +56,14 @@ }, { "id": "model_locator", - "path": "pt.pt_model_locator.PTModelLocator", - "args": {} - }, - { - "id": "formatter", - "path": "pt.pt_formatter.PTFormatter", - "args": {} + "name": "PTFileModelLocator", + "args": { + "pt_persistor_id": "persistor" + } }, { "id": "json_generator", - "path": "pt.validation_json_generator.ValidationJsonGenerator", + "name": "ValidationJsonGenerator", "args": {} } ], @@ -91,7 +88,6 @@ "name": "CrossSiteModelEval", "args": { "model_locator_id": "model_locator", - "formatter_id": "formatter", "submit_model_timeout": 600, "validation_timeout": 6000, "cleanup_models": true diff --git a/examples/cifar10/configs/cifar10_fedprox/config/config_fed_server.json b/examples/cifar10/configs/cifar10_fedprox/config/config_fed_server.json index e02429dd8b..9d819b976f 100644 --- a/examples/cifar10/configs/cifar10_fedprox/config/config_fed_server.json +++ b/examples/cifar10/configs/cifar10_fedprox/config/config_fed_server.json @@ -37,17 +37,14 @@ }, { "id": "model_locator", - "path": "pt.pt_model_locator.PTModelLocator", - "args": {} - }, - { - "id": "formatter", - "path": "pt.pt_formatter.PTFormatter", - "args": {} + "name": "PTFileModelLocator", + "args": { + "pt_persistor_id": "persistor" + } }, { "id": "json_generator", - "path": "pt.validation_json_generator.ValidationJsonGenerator", + "name": "ValidationJsonGenerator", "args": {} } ], @@ -72,7 +69,6 @@ "name": "CrossSiteModelEval", "args": { "model_locator_id": "model_locator", - "formatter_id": "formatter", "submit_model_timeout": 600, "validation_timeout": 6000, "cleanup_models": true diff --git a/examples/cifar10/configs/cifar10_scaffold/config/config_fed_client.json b/examples/cifar10/configs/cifar10_scaffold/config/config_fed_client.json new file mode 100644 index 0000000000..836e9502b2 --- /dev/null +++ b/examples/cifar10/configs/cifar10_scaffold/config/config_fed_client.json @@ -0,0 +1,37 @@ +{ + "format_version": 2, + + "DATASET_ROOT": "/tmp/cifar10_data", + + "executors": [ + { + "tasks": [ + "train", "submit_model", "validate" + ], + "executor": { + "id": "Executor", + "path": "nvflare.app_common.executors.learner_executor.LearnerExecutor", + "args": { + "learner_id": "cifar10-learner" + } + } + } + ], + + "task_result_filters": [ + ], + "task_data_filters": [ + ], + + "components": [ + { + "id": "cifar10-learner", + "path": "pt.learners.cifar10_scaffold_learner.CIFAR10ScaffoldLearner", + "args": { + "dataset_root": "{DATASET_ROOT}", + "aggregation_epochs": 4, + "lr": 1e-2 + } + } + ] +} diff --git a/examples/cifar10/configs/cifar10_scaffold/config/config_fed_server.json b/examples/cifar10/configs/cifar10_scaffold/config/config_fed_server.json new file mode 100644 index 0000000000..05232fab5e --- /dev/null +++ b/examples/cifar10/configs/cifar10_scaffold/config/config_fed_server.json @@ -0,0 +1,83 @@ +{ + "format_version": 2, + + "min_clients": 8, + "num_rounds": 50, + + "server": { + "heart_beat_timeout": 600 + }, + "task_data_filters": [], + "task_result_filters": [], + "components": [ + { + "id": "persistor", + "name": "PTFileModelPersistor", + "args": { + "model": { + "path": "pt.networks.cifar10_nets.ModerateCNN", + "args": {} + } + } + }, + { + "id": "shareable_generator", + "name": "FullModelShareableGenerator", + "args": {} + }, + { + "id": "aggregator", + "name": "InTimeAccumulateWeightedAggregator", + "args": { + "expected_data_kind": { + "_model_weights_": "WEIGHT_DIFF", + "scaffold_c_diff": "WEIGHT_DIFF" + } + } + }, + { + "id": "model_selector", + "name": "IntimeModelSelectionHandler", + "args": {} + }, + { + "id": "model_locator", + "name": "PTFileModelLocator", + "args": { + "pt_persistor_id": "persistor" + } + }, + { + "id": "json_generator", + "name": "ValidationJsonGenerator", + "args": {} + } + ], + "workflows": [ + { + "id": "scatter_gather_ctl", + "name": "ScatterAndGatherScaffold", + "args": { + "min_clients" : "{min_clients}", + "num_rounds" : "{num_rounds}", + "start_round": 0, + "wait_time_after_min_received": 10, + "aggregator_id": "aggregator", + "persistor_id": "persistor", + "shareable_generator_id": "shareable_generator", + "train_task_name": "train", + "train_timeout": 0 + } + }, + { + "id": "cross_site_model_eval", + "name": "CrossSiteModelEval", + "args": { + "model_locator_id": "model_locator", + "submit_model_timeout": 600, + "validation_timeout": 6000, + "cleanup_models": true + } + } + ] +} diff --git a/examples/cifar10/figs/central_training.png b/examples/cifar10/figs/central_training.png index bbe1d9af291c2a480e06632ffe4521b2bb055fa9..73fdbaa37987e296d07f47dbab807c339aba762a 100644 GIT binary patch literal 14797 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 literal 14317 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¨8sg~bZ=im)B&`6;s|tu3rup1NFA9* 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 Pe^d^s9elCh`11b)SMR={ literal 32288 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

  • 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

    nhJC9 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≈k>&aCmor{5&p&Q^*HQUo25~Nc) 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 dcVi59l=!soy*O7*$UuN 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Ð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 diff --git a/examples/cifar10/figs/fedopt_fedprox.png b/examples/cifar10/figs/fedopt_fedprox.png deleted file mode 100644 index fbc754373f2c9df544c01287a511dad6013809ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41782 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

    RTo>pP~;|*Ma zdoU7!aD$xATnrAfRBA3A=o%d^@YI->akmKZv-#>Wr~-L;$39ixY9XAUB($uyL&wa% z-k+-dLJdvqE|({z#M3}w4iUKJ_~sBJqHOvvX3s7TaErk8F}u_8N&sqg`P^}u9~cV% z6tCN)kkk{=+!!(rgij?K03R9LK{`%b~PbCQJA0b>s_+ny7*6@l(> zX9b?LXN45FTN+1?N^8|D2IL@;o4fCzInWfga%h^|z~=FFKerP#vR?x6%?ROS$W3%w zc|{)8cRRwE@&K?PUgmgnpDhz#Wslpf92_al55UM+6u0NR8r*a)fZpmn0R1AhA*YG7 z{%ikkwyAp4AtX;=K&?tQ5EHw%lyI7)l*qQI!`mHE8tzH+xO*E~;(+~zk3ai+Y9@b{ zg|k-$_|rKF0L89N@R~m})H^1iD{z#=$m{UDfT2Wg-i7AJetX6z4t`WWh_aPrjyx>n za^#htF7G*HLyEqBjp}aBniPrjpRi$LJBGq{oWf)bDq;l;wL&Cd_F0^7l~KrvA+zLj z1zJ}2t?`B{-iii5{_*4Iw~qKUNTA{(HAb`kMNU85xR^T_1SDU~hH91%HBQZK7}^k} z9+>E{1im*1MlIcQ9zpgmS^&@cBT!Q=f(Bg6bK~`h09R^S4j};ECK2)_ho%UA>Z}Mb zn7VXxn{3-`cCR-mP&rpd)dh|n)AHE&#r^pZ%J8hZ92V>w`apl8*b8vsEZ>IPP`prd zb3JW7YG{G-6Pgn;aY?0a^`I3t@p&&#Cn#y7;?_L>b^LQ=WEu3e6}?>*dz))j zZAY(MWN083ib_7)lFmH5XFF3H$wTlvfVD35X0BnDJnU&nj$Zw)0-ON8MhouUM?=kM z@!Z*@rW*VTN!#`Nc>OfFk({=4XrPp+Vz5}tGAtc~sWk8)E?^xV&ygeF4>s zSFe>0h*%_mf5+{@Ug!Q1>*vK!phU*E{faqW=Z)>SPp)C!woKgnJCM2P+gb0P z&=bMxMif>5Y)5!)*53}G;Mi67KSnVENNYMPFEjwf2q>&2FL+Y`bu@No_1d8d3GkiU zp*g4k*+yKFmNSeSbdNW|mUm=$nlI5^Fc)>|*$$5!_>bHb1m5IM>cjg=aC+nen+_Cd zBya?pcUi4QtYx%S%798K%^T#o9&RJRw>k>Ta1vr08jur8aoe@txITS1%geH-|13r| z;1@!a{g~IR+kz(YOM#j-0+IB0DpsKilkprTV9X!AP7H-Jq0ygc7643>!pk)bsHnD; zExUPsl?DJ(_E>^I65QR@=Rd4RkAHE`Y)npZ?94gMtT$dNgvi=Wfx+ISuWSg!iwhg$ z5ryWSHQTvf(_k|9wu-1f7m-Z3zn01qfk60f8&-0hKF3-V7VzhOeP7`O`AyPn=T=BE z7NDb>L=+gT(jlcEMK%WsT(Nzpxe7=+ykAX^_5h~qOxP0-jTn1A>)x9NKA~SDf*9+4 zlPQ<@r~^3?Cl|XDlUsJEW;KvUmygaIt8;^!iF{7_1P>Q9Kz$3m880Vj05r6@Z`KR& ziuxc@e7&&@Pzg-eaPRrK+`GZ4AC3s_9GlLoD?IR1ojm1WSP`j)0y8Q7vf(sP{Qa0I zo_T@(ioZpe;*HN0y*bJNX`73S>-&!%{;jR8#l!DwB{LXe=UiLHVupDqir8dMS<>H+ zeoksC#U}%@5ueQCPt8KEQ_fme^k%DA8bfb6f2C6B|3!T~9XG^qMirq=I zecZ0E^sHm^$>6J<5?)Ii!j}7W; zQHC03SFOkCWKJxV)E5u`W(My4P!re)XU_~^z%HQHZ99o@6k@Q1OAc&0iC|9_H|81P zR6c4!=%poCPv#2ut>ZX?INEKN7g|r3ai2g(1RX^r>(emcCTdf?1EG`5U+a`X zMRjjREBe#Ur;CxyakTjN!RfOx(B9Z+d-!Gte=L4wb{j0%Q{a^)rvQ`Y7MIY=Y9HfH z&*r+N1Mb-rJzDroOOazGrD>w97}1ElOWv@8V+kb~h_0T5Xs~LCAp~02V_iQyd4ezG zFr-nVfW{TsH^ZAk^%v)j8iN5$SW-)?8|)>nR9FC5-p^7aBc^?y4Jo5kMN_7xYp;ak zt?5SKthU7T$O;b;or5b)2#tD0y#>K5&42iG&5x0~afCX|B)L#J<(2!2;YfS5$$%?w zu~}U?&gH)S384RZ@vdtEJT5k8DfWmQs+QK5cggoWiyTgRBB+@c$Lq26q#h({^FX?$ zr?1*}+}cc_3#@W<@GGN;GSre`UG?TP0!U!*#{XSAZ{@if-_l2P=DDIIAU7Ui+rHbS zf08hiK=ymD>mRvnk0mm#Q%mziuT}}NwY8FMhW zU+#m%{b%FhgdZs>L#wTx%$%HK3G2tl+VSLwodBcV;nO}`-A>(Ge4X3~MzP|4KVD#X z4xn=a0E=zM*!qOO8QI4N@`5$0+Aiu2VY>D=vltxdmv6K$`LuL&TW1^HK|w*7j7lXl zz-uM2H^ut<>p5KjhC&<{eB}fB9%{^|LQn;t&{|)1E}gM4F~27#t8bF`q%RUQCzAIk zf|yzlom!4sWV94U;}Vnxrjh$rTgPuM@}mp8k2w`F=dYLuH+ z->nJ9$em!ageJg!)JsSFHud=c`yRjc3eYO~3l zR2x>~Axst)mIz&DX6A2dRYmkbIB0v~6*v8)oWje#dyP_&+LVV+&GzxfwS<8}$vPNz z$w0rL@ft=oM^6ea?E!jvhslir>3*4uvI3Znw01LD5C;c`4Ieo?Je)j%l7eFMd~*AHX2KneO^6z0rK` zN6M$CysG56S)$M7po*Apb{xQEe4dUtE1a=_M?m-pfLcIj4pbknXLfdW%UKsgpyqRm1a!7U=yQHNXZ;} zb$LMzG|)4P%SN(hnVu&9M(YvS6%}0w!reL*PNcY&9H#!nUVnCwDc&dOh#)mgFP5u# zJ}7Ek#nvw6Xgh`lzVm+Hj_-@&0}1m)k~GNZ3XsanfU5|o!q2p{5kT=JB_%(6_~1vc zS%>Kg86FeE(AEvRzP;T$Tc+uLJ)>&AR7Vf=dbB)U3_qRvvWz7*@UAXB5=*&Dy`>>8 zh4r%9a<$b5dTc=Lo=YwHvh$3CYhjruk2)gYcTJ7DXPBFt?IZ=EY3@hxE$c=sJitm)V|T-%Pt#0l%CjIR zs|fQHSdg=jBVBU}%dR&>XWKWlDwz3o?mB&B1SHE1z!cHLe2{t*g%eD7 zC-TiXYU5!-WfDJN`h{xp(REf}UcT~30|VXirWekgyZV)kAE@()RQpUAfY^{Bh86qH zhvhOlUBy>vM*X)*GJom1N&(>=@U(^M?fh}$VXhhvsHZ63;*tF4fb0P(r6W$p5 z{sK_4+GEsBHei7` z-?EyYL^50hH%Z54%J@3SG={7u$aOE0bRaTFe)9v1VMa!$-8POB%zZ3?LeNQI8T&&w zk5T7UOA-67L>gj8V-sr|KUyT__;#3qAQ~RstyVIif>?$63LVUbJ9iR*-q#2|uPtX-aE8Nj&4igy!+!1#eqvw`k=nG6U?+HqRUkx!E1U z*ipR!oaW@qesila>n+mibSj$Kb8bOeiK%oy;BpJUWh$SbA0P!#9|`?{xLk_A#N%z5 zikQLI`l_j3OP&c$asbWV%BzYOD6Ru$YqPNZWkd8bA5_%TZb8@$#42L(fYOPP1N~_~ z@6z0sOIO@#W^xM{cFTFOG6(m2=xXrUp_bg1omxZWW=p;6Xi;lzI|_Fq?Uc8(Tv3@~ z_5mHs85;aBE}|R&G>Wtd+_38rPAm+K4E12Gc+Z_YT$}Gl1lHcu&(*TcF)dk={8pl5 zPEyZyx1%<*X^jR#{ASTN+X3IkbAz=Yz5p~=FweVI77sTb0z_%um_CR;owoXT2kdWq zo}i+~@pp*@uGM^i0@c4IjtCJl(MHZ&79br&pE4EHJ+ILWN9s?eSnFoia;Mnk^*Re# zp~x7*iKuP2LT4D?l=6W26lY#aexbQ4{AdfScWsZBn|u$nngD%yvf7IA4IFiA>vhCt zqc)f01FPdUf5maF-HTD6iAU?RV0#1flfq&6i8;E@p{;3v`>~1?9-U ztLF7LXRrel{#7q=@Ap=2*jK?5UZ8hT#cJ6=b0$qNfUBGc`M3EMHy7rpULl!gO_M|5ExYhcmb9CkpmN-7avL-01fCHmuYjL&GtLRPy~1cOv9+L87e|*HN0a zm*AdKrDH`<1kh=y35tC`+U)>greRTi)53Jn6czUD302>#`4k;Fy)=1ZYOdj8yBqC>-hQy| z>g&?R;wLytg5zjj`XK;A2`~V?hGxx7(D0D~dTdM%91hC>{m^zg|7lj1op1Hy{$yn+ z5SV?J?T;RRM7HpJMp@0OBkswsH`>{OGqH)u^3TNzZ1E={4q3)Lfj*gmoa~^qSwFG$ zYOIC0t+R9E*5XF2JF#1{!bpn;B>m?*AZff2Zobgrg+%*$dsBd&2{? zi2@_W5dvAZ)t=lTxgf`IJDa6wSX>^| z()5x&E1*C7S0bREHio`WJ}Q|UV=KJ5he!ZbjH0~Az^C0~uA+N}V$D~nSow{{-Vo&l zIqnssy(x^eQ#VrbN*sy)Eege|r?j)JFPRrTM!3sfk`E%BGMfq~pilHNg?r~M$io6` zTtjeAnpnYcGE7JJC`o~IAOkS|W<;u&?O$`zToqsYAFCYD*_Fi4~~cTTkDiS^Wp|j{ITq;NNy@ch?E`&OV(5k z-nMaY!dvV!t66zr`#GCHssC6Yo|pv6SL=Op`L?;Ue%^u2N;QB`zmSWz!kv>ORx?~) zWy-U9pE?25S2LvwWJFPH18W=WgTFLZm+h%u$Mm*Z!m4nV{h~VfY;d2}i|>Ir8>$bF z--bIq6&MF!7_ff!@xsh!hFh^-#5ddkctyvC-GX)o8C&Op$?AN3r)zv^o#F-Wjmkjs z4iVOEkH9Pa;2dc8S#V>EG4)_C?)n1U&1L#pa0G=IwDw5Dz*XxMyfgyThXMMq+om=N z!^b`Vjl1Z{-+k{=La`RMrnlw=e%#Ovh~otLoZJ9(c~$KxLGphgnIQHO5D_vNY`vw%oAIdi6bd*hkPC1%Lexfy^s3(ELs3O$5II zPdlxiN%Rs0RJ`;HYr)YdwoIjil^RRg*P`3UN#4RbbBVc5LdT<}++ zpwMx&k(^_3c_e4?0GIFEVBW@QysD1=N|W>5!^7WtTV0hh4RK-NPNGxW&H!jPPftU0 zbE!hPbS}H~4%xZqom5+(7lT|UAt4{ho75uzn0aY%YI|~`j`aATo)xgEE7yR=uUzxi zBXh{GwVmEXjEn&DI0p@O>$6WS*(e5d<~CxM1r zA`BHOz%$c)i#&-sUaB`;ZE**lW%2d|hXguxkx&#OI5;@Hg+Inr5e`e8sIX99f6x$-$*aRbONpBx+=OGc*9XOw|LxTnD_h-tv|dw5CXqmQ6Z z>)_ll>#+WU;S+vRyl;L&n9G^u~nh zfI>Z+)wE>>NEn(ny8lhefrp2u)+taa0bcdj+Ppbe7Go%2Zfgj?{psFR=a>b8j7%<=3r?zBDSO zbc;#|N{2Lpq9Uo3bf|QRbW690NJ$8Y2vXABAV@bzw{&;x@woQ2uXWbi>zsejKi_v< z{@~$#=QHM*W8CAu?|FK98Z<=7Wq=7pr_v^!>;G&UJQ@;&1q1|c+`Rd8JpExX*&WT| zkYbBJA0i^^n3G&3hjO$9owje`Q}f@kiw6eS)`ZJO)XtrUb_GYL15CO}UQ9W2ovud? zB)<=|ULGX|<6SYX4biu-&SS0ex0I9?^UvWw3gf)M85F?@qC2I3Hyu0|1`5#r`%G0k zLtmtDIuk{I*ZW=x3=N%+R1mv;^%Ujm>Po?9s{EC{0$4S`*ZAb=iE`dsZYsB1$inZgMix5%`~~OPwA2--kX25ZlcrN`8!Uku=5v|JjX>Rzm7?% zm+!V-^!tRk#%bxam=`oi8PLIR~(Y<_zk^BOH}=&>$&bzvbdlWdFxkZ|PX^ewK4nZ-6x1IfB_T<$ZS&zveKeUUdyRzg$$M>Sk z6G2m|d4QD=E+>`!>`+7CeO+Yq%(Ss~6Djm`d$)!xi3LvfSB7#+an|?%@kNYkcGvz4 z`9uYdE`W&#JRbBbGjzEwvfA=x+4vQ*?h$C>4#Gl?!sBm62LhA+IvWU?M%7OeG_^$iU+wzh^%L8R$-VDU!U`@|B!Gu4F83+SZ&rH90Q=+R^O{jo$Fhn41cF3Lt zFOe-l7%9`*=29z1hle+J`xN5K@sxsTWkntX&kn%%w-((4{qrCH1Z6c;h;&a7YX(0% zj}AS)qALFS^Uv(PGfs1_f8SEz)%GS%vrbJnKk}bY{i4vs3fo_Ux}Dc7rRXTOLX1qTIcw&zrby{o%0J%B(qd zBGvn{kvh2oubfiISh~sc)_VDqUlXjJHi-97kSwjP$npqOe4v-Uz+j`t)~4fK!69V# zrXsUM+7Z#nV*Dxq%nlC^-+%mwI0`Wm{qsqr1H$yu6*iFL5zm>>b#q*Q|0_ar)u=ylQlRd0Z_6M<9x%ncXs|XgOjsk1v6)|5>N0+Goc2a&pG|O zf^d^7Byffp#`2!-ZA{i2y7i^Y1%`y&;^QM_X8uOykWV)76rvFjNsNJStpYH=1Lefq zO&fN%%IYjo#0H4`3@#ddg~^!6$Ntt5{h-6|HG_(BHiXk?+soKABHmISV#oRfKjgRlkP`XL^TVaeezLVPJNHw~` z{gFYhVDv|Pi7ykiliwnbPTq1a@3maAT$QaEv;^^`e1mvWYSVmZ^1GdNj4ijh=Xq9o zGs_UT{Y*@2YbS6->_7zs!x+;x?gw{m!HNL3GOTsL~uT9wtd%n-ZEi$r+wLg}wN z9Dq1^>bh@)lIErLlFsI`;d>vY+ept$3|u6~$i)Nu4z94-#nmgcNjde)kOli6LP_;a zHOopcF=-c*Z2oEjWe11?GZeW}{^BAlJ{TEDvV?aySW-9HH{DFy%U)NF)qHR!hT^dp zAVbROPA-!}%^G*Nz@*@ypnGrTa3|eQ?ru~aBnD<);~OXnqeD(b{T2Ng(-8MdHKV@; zY72IC-xkZ^xS<{H@^((Z3QCT>g7n_thhL#T;!P;_cx5pAMU^w3g4j{oC3uJu@bh$2 z+|j1$UK7TZQl&PwyY7E}iiXIZL)ji|_(!gwMcK6R#}0s*+yl~#PhF>W>tnIq-HOkn z8BE_NL_2)=5dE&;D^FFWv&veXo$u!C&CQ0#kHgt@Dz}Vju(5!C)svBE*J^=>J-nU1 z<#v)kwXW-n1y*AjzoDGU<#lp$YL6EnROouP{t?%P7)~yKK3c!B@}QO$;R;fDY9kVu z#^PzB?)vAQFV}W9U_3oyr@y!~6XrQcu%4jd+k{luE3#DQpFe+=5yAP&a{0xJ7wVdt zJ7CKepT`Z&W*y!U3}dc-Rb?;CRyEPox*#s=>Lob}MgFsmZo)Bxp}#{Ef33aW$av;NG+U#lBkE_F#c zieZWvXo=q>+jq5eopivC(NuNoKpw{%X@96*?J8(C_@hk!D2~tU5O%zrVnl|?e#;to z2@wcq(=vogX6{b~y{T#y*zB2U@^ANEN)it~lc8?kEz8rt@xulC@=u0c(eC;CsX5)t z%@gbJ;KuRSy_*6sz|_*xvQ%GRUT*WJcQ<|)^gym)e^mqJcSumz`y*&0<>7`u+hXk) zwgw@GP9=lLr(2)ZhmNlp8WBW|I{I7dliw?*QmjK!jy{A^+9Zbe^x>mNv$M0d4cpLh z5!2FYw~hEoUXF*u&wWu zU*#5=;3>)&u%k7yKMiE5?bPAW6VcIyMMaUGpP%zu zYBd=a1yU`JhR_`xjroU`$qmqn%-?BT#R0-;DD27k2O_>g7#-v0AQn+8;zP=VSIT$O z9Uy2ZJL33w>?l+G5RZiL;AXEVIib`?1=V_sI+cf$eP!R%kb!W3XQbnF@@#NRa8RAWk*GXyli(2a|M9)u&~!JdZRym$s* zAYi#IZQ2S7Cp?;an||{L;|}z~4(q(|i1HKo$~f`j>U$2uooAOu0`=C=JC4aY&i9OI zg3xK*K5xA(%p8qFp7Dm$M3IOs)+{n5WsM4gDRJ~k zOp56l5R1UVN!|1g<*IP$@|DuTxj&X9F_bkGVCmp4=1S>#)$7d=GO5^uz+c?h=z>_X zQm+OD2hxxHzkny7{%BV^MzlsU_d((OhE_qj3ar{*(|^XVwMFX!3n#@Qte4Dnv3Hvf zyuwphF4y?9^e*<%g1=95uU1DbKb?wZBx2+$&$PC=1^$WF7iR~=q@+z%2NPE$jEz~u zPd72lhH~x>RWG#1Huzj3MoM&4Fxg!LC_@mCKw#3fpxOGlS=-sow=yTagwIhTDu4ez8Wt8-llbJ5zQR%-51r#k@B-v~9?JzF zZhODV>43_|8Kz0Qu?Djphg24DT$u)UteEaT@~5_P1B18V^NgWI67F#ucVEZGr^2LY z=noe^|25YdDd>90>0DJUd-C|nll!?tAWTvDuq_~xdjukC;2z^E@I zBxFWSR<>O`OG)cst1i6kg9nx_j&7pKiEI?T$I0JY#qJkesQ5ivlhwbSV5qTqlp%qD z9}K26k>f{CA3vUox2o0$KFiD3ueUcF2*FUa)(@Y$ZG5ERzrr9DlX>pS$|U3*Ixl~{ zXK4Bj)CUxxR>1y=15VIbUV^VL78x1Ye5Rao`^0b+Lat*~t{mDEEsUdf@t?dK-S;Lo ze~Y9-UVFx~iCxj_`4IErSC4}aJNt0F67dB*SwF?6}yeeq^=2CjJiq383l# zw*vQzGY1{#zl==spVdwJ%H{q)=@|9By&pj5`Ehunr|0UF-+cXBm|lJ^{d`ZvLezdYbg+%fu0{T2C=3Y2^Ce%}6}5B7B_@CLv;sPLE|*pm==taZb+jx4~z~uKW8)` zFkvC*$@cv3Q;@EvvpC$0807U?HFe41=t&sk9AYHr zfAjQ(czzbwAzFsAo(bVzoTt(Ie+^2JUn`E&IY+2;1F*#?#av6jKfS5~)*W0HUA#bw z1+%r@Z#GG7Bl#({NqxX*L2V0H)^-OF&HQ|0vS9i`BN-m zz>$gNZNNg{AxgdfrCoX-nZw+MJ0vd%@@pw$a# zQ?(Fs4Jf}mBZCQ^4(jnQh*!z9@)IcWpfGQqGSVju&o-2o<#88!OIdWenu7LmUWx5I z2|L7EKj*dc2Ss_a+XN^OZ8vBc>f|S!72vY3VQ1eJIj3fuq26xNT|~tQ)+f1VTYcUD zpEsWjHssq)YaC`-M{Y#1;8qE-yq%;pm$!K}n#+vl$d@LVD$Jibe2#oFD*5^(&a$+z zTZk~>GU>Qz#pF>Kp7Zb~&C+)5H}aDN|E;!6YZ5HFzx@Hx$Gq8y$k0}P169T<&N`{e}*BmxHuhMQIX%;7~$ z>^JFk$*HU9s6)P%rC(zsLlQIpC6D?v0!Eq}3eo;B_XQJ9hvG=LD^uHO-J@JB+gJoz zG7Z4f0EZ5nyd1qQedObOf)^>9SsIC2Ht*-QKAmGCqQkKcxkTq~vwZseZdM)2!toJ9`oSJk&a>-@0>jo-)A)LX>xza9) zUNnBF=HCE?sK_6_>9r=Q%8y0SR_$o&7kAR6(KfwJuZ#b6MhxcYW)j8Cw98S|1i1m_xSF z%8AKd>_VSf#*9r{bRYJcaqE&p3JV)&3UO<*4m z1ZnB7U$TsbKG3Is_HL@WAC2>gfOGTtrpNmzoRp)PTw7E-&9p+&CvH2KcH-K6gDuKx zXTd%Ra*oxaeMWJ-lR@CLV%BHS*G+hfD==<%`Vpfl`@c~ldv*E4zh!)g?L?-stZ`WJ zrFBTpbJi?$qe21Qg|I%Q&vC1T6YsJJ&DeY3W2@L8*vf-7h%Dt;Fs>zFqQOl5HssNK zP*F(zb0(yts^i#3Ofddiwde!)2(O8|%RII|HF$q-K+q_oBg?)DJdTJjxE#V9uB&b` z?vAU>vq{;05ubAn#`z%gp$PZ}YFd*k;#J68n5i z>RI`TaJx|eC-6x}YD59wZ@LZ7P+yTaBs7)DkaeRVkqX>Ys~^c$eD7tj(P~?9=N?_W zS3&3}tE8oX;B4PZ|IFu2IgpuQ>j9x1;klSC)>B))r!82s zvj&FmkP&#ms9b$gDbR*Q!S)+F*~~k~m~V82e&Oqv&u18(f`Mq@d4%`~>D^?0{_)>7 zalUrms0|1OBB`n|IIq{T=qw$am2u4x&qs@@evj)-PToJ^x~EQ5rCA!6p@AfiePAZ8 zXKu*5wIGa;_EoV+)R5;)7dR~{dECXB68I_{OlQ_5>JH|b@QEtEtNPYpT_FROb?Dcx zj0r+^GqqkA0@@BRZw8Qhc4;XfG!!3H&Og-iQ!Zy^pA~Bj*E9Qzp-mMf50!Q;R{wi4 zkLvmToyt_yTe|%_2gj|27O?P*TA3n%vPmYYl zmQ1?GyPfRYK!pfg@Gd~yN6PKYNY!+N5uTi8#U#2O$Uqt6T4uAEg9?iw7`VixKw_Lt%TPad2?xxNbcJFq{Aj-uik;0(vo7V9x$0lmCjf{h$;gDylXB5C4u7EXobBv9Mg{;VEc* z`tjq(_{PTWz?Y=2uP#yj`axG9gINOx8rx4DX|nlxny0??NM`9X9kd zKT+L|1v0$AwQJWb%e8?bTU=ahT%-X_O(XDy@53m-s{H)NivnwFYZiCF$5ciI`>{uS zM`XwNBY^OLXpO+0=uXESG{a37w+^L2`oJdH?3v)f#Sm(~74W}IXZ!aj4dG8#Jckky z>TcW3sr%r2-U@MKmZJ%ax895D?Gc>qNGXI;ie$8Kd)1o*~)T4tNy98X)0Aq|4 zhmDD^IadFe;j#kzx-eV=3d?@WMhkGmIi#x7zGyehbcJin8%>9?pv0Uq?jDRJ__wR) zS#wStA<6bZ)OS*c^Z)y#b)!X(Q&CaTT0rK<0GMVV=EOZ2yzPHQ{Z;ogNIg`O`*x1w z443dPd;f9fyphL1qiJ!PH=xK_!mBiZJbGN2ZT){>c8Ac5(|H0sGxPUvE4&fZ?2Zfg z=JT5L`hb4|ztu!LRK@D0)?aQbq&Bw>%@?dTa-$~JPx+y`i9U2a*Im4q5c3fHF*oon z@WHKXS#8$8cMid;l*=@T&!xj?p1gU(4ek3)1_m#fsu!D&JR7@oOGt>S==eCa^Ydq# zM3;3zcHQa_0C?Qp-CY3^2%)*{l_qjtxyuYD*N&sk+Y$vhGOqSF_`NwwsN-EG=_mZ0 zi^-a&)ZU|kwLoe7ZJB@Xs!)TcGwJp(_4}KLpIQVzJI0Ws>rBPkcad;#^ixs@c?bZ} z8_#s5?%ktNYH@Ww>>D25mK;)(luVfrOAoXeht@Sf5X2dJg_8Wwx7yenr>X5%AQBYK3ow_a!16%6W3 z=IowKxNjkv12_7FZgmy^!)bgtNiTWKgq@P^kegtclxmcHTAHqyGPTW(EE44LJ6l=T zamLdcwQ!wWsAJ6m1&0sOP=DM+b&9FB**5Kj`8}{<9a?&+g?%N5|Dcm%lq&kv_}&ru zgEK60drATGF?^a=8VCWjUKtM3H^Hqz`oKO@&L{=15ERK@{K^Vv4!4o6n|ob7XB!vy zn?2HN3hcZSBjptH;q+z5f#R>t;%sCO1)~O11x+@(N%?88+L$7UK z<59T2oPV9Ko3X;V&wVAXmKi}YXBNyTsEr@o1^~g=*EgMAs{g7+c5&m!oRnK|IJSe^ z)-Z7ij^~M+-}~bMj8Zf+T>Wk0aK*{a`a-PB44Gdchq7yxde-T2+TBhGQ_LEGVQKP! zshqY<5%QfzK-dlvTcJ{i>+Z8}%1N|tJk0-A=Urg@S4m*;5sBnjTnbBLOG|2xFKuk{VFaNCpfWrQHW#MhM7?#K?8<8?-vA=zUH`1=D1xv0AJ|`u|Gr$$UL3DTkbyhO>GE~ z4!`>`u?kr95$OU-QFABuprCEEU|eJ>KzgW&&U=?Vd-opl=G>Ki@d*iqbx$908%^<~ z5l@|-*+e5bHSNpJE*$MHHTugx;iQ)b7WKCzcPb+zBe=0*dU|?yeLP-G$EgWyx~Y&o z!3ZPxpN3hem>4@sRL7KHauiO9FVRd593zM`($?Ny6L4SPsD!IJBms{3N^1x*EI2X+ zPGJ%Ns|tCB8sr}>CmS`oCM`ro@w@w^0$&AKPObWcwm;tbvCDZ~00+d73um(0agd^f z0ZvNOEU~;NB(%NNLO;8)p#bD6_=owU#Uy5K?w`-X0H5^r_s0Q?t-Cr4fCt__A+z%y zJA#QA2?n^3YPFZb6#@5x2`%Olb6*$y-F86Xb+p!xwo_rdzMO#~D#h7(y=)P&8@^}l zi9_e;xzG{c2So!SWII1QK??{AdkyI0@aU+4l~q>*p|~tif40OX+zzzS(b3iO4Y1&@ z4A5zEn)b8&{P`2*c)Hc%1d9QJ7lcW+wuWylRbb`nD&mceU*FaSl^5Wc(>QSP4@h?` zRnF`JOl8+k2b6%+J~45|Z`9lQJ~2sNS|1yGUOaU}Q}^PX$onY#16dq@KNX!USQCfu z-@k)Jj4uE%28M>V4T~V5qrmfjxVg^QzK4zxkkvYY(kLQ%dR@a_DFSZr)>f_euV4a$f;chB7ddYhV-$ zrjl@02xv2dHfpvd+;+Mi3*56%hwBv^#^dFDID~X*z>f2@@e8u5KEf6j7Dgc`7TiD+ z3!jXDfM9rJ{PN>lXtF|6SW2{+Z`^4s~WXlQAHv;_DDyu&82pK54G)pA&qPZA4_jirQT;LsT?G)z}M$39^Y;P zB^X{({Exd2j-L333$cJN)%TCjQJ(|t>%hzSw_DuRV+||tOw^;HJewMN?}+~6^YuAV zVzoPv3E~S1c;NaeBcNvjw`y$D$=O*5R8_Z_nEZh1HZu=o%^RYk3Bco2(YSk8qfp{o zpUvE_h?!R~-?(}AZgy|jKiI&oyOoW(=e7`@kmjg>vE-6jl_U6D{U}tUr|AswuX#;1 zc@Rs$zbC8q1L|O+D`a;ha)K3RSr(h}(!)1tj<;pD7 z_Xs5qC=#UN@oJR7D8#*VY5MQCqy_jdG=gt@kemW^h1h*rIE$Cl*2oD_$z6L3RbMQO zmv)oT;xA$@`@Wc>#9V8MO@=$LGMrr9+%Ca`q4Jmp0%fXPJU=j&qG9Aq#;z3r7d*iD ztFE;*Fj3S6GS9o*T#hWY+?-vF>XUV0NUuvH1lce{$+r@AZFp|@y_3NwK7WVpm45pfKq7OCi%19q3-Oj? zO!xfn=&kK-gFnRpl*5EbWC9H@HUe02-jSuw8m%*xS z_GF3~!Qvj^gF4hBA|WBPrbZl`<0`kBsey3YS74;@JenyJ4R%?3rFMmq$+qI{1(CUn zB)ZBIa)~y|yzhhu@_ce$kiuDiWMl-COgIMvGttn<=n)JyUX;C=#}^HJIDTt7m!P$c zV`k`A)f9U5es;HM;gGm&xEF0f=*CGkp=#KF5Q&?Bk&*_Lp%MVrArFzktl^)45^4IC=}-9$@hfMx%^3+}-9JI?pdf)Og8Y zc#C0CUY0-_47gQl;HtR4HWQ-&R?+@tR^`I1$Ed53I8)y`-US1@$EO zD`P+hsk?SBy!rSBN-iPJ;9HfD)m&oPdwaB1k>rDTrYs;m0|qQruS=VE^Z*_734=K9#=WezrHX zyVQfh%*+fM8A7vc{+KT+h2_o|9hT?Qs(UDOEer{zse=ozYLu&s)XLR#wrBtTayqCP zVZg~_(t8WJ>ka6$YokS}plH6u$QV_A4&*{gQD5)Xi7Kc0C^gn>b|pSjxx;wC+liTE^-d4B3QY%sfR(FnVbSsP)o&SX zkNLJJk%KW?OiawF#l;rLkevTWpsF_W4nxsu8{mRLlB~8{s!`EfJBm?!k!0gbpy2hC z=O1C3FE~1y9AXg!o9T`tkn@2iJq7GrKPOP$E1q^_MVafK@9 zy}Y8Lc`qEg>s(yofQh(lgzuHuh;bds;Pp`W=8MUn=TgYAi;@z7lwfNCB}LO4xd2fm&( z+sM@_t0z_v@q!EmV>6fo?#x9h%*@VuL+b=-c?wpJBmV*j7oTAg%wxMCOT}v}0n<~I z<7$3O42+26avuTx^Nx1;M-a4I! z&4=InULpT9ya2qui~&=2ZSF8BYD&r{z(_^*j!Kp)9J%;WGEFe-vvjgdS%p46D^$g!iSd` zmTBNF$-Dirb6;6x%1jfW|EG7`y^09c;Ru@nQb*}DQ$rDx9*mHX0Us1iP{`aN5CU$% zbpQ9~vhn<(Na};Z=l8~a5L+X|Me&Q%NZ=%8%i7V3xyGcVq+FZs?&=DMiP(5?(aP(+ z^l#s6k(H#N`1M7~fB5ICE5O#t_1)!Jn{YbTkfV z+5WJtcc9pf{=4z;qjq-8pP_$)Qrm_df`4rBipe*BfcfNutfj@D;vS&YYvu@pVjk*E zaKB$tvKjXJCN*P{)fMOiqkOb>}9X;cT!TwuFVME4%#h@D;~JjBF2|0 zJ~;YQdmoC=!_%FvSOBbmTZxejhKFxACK7-XNtWx7eMudP(WxoLnYbNb>yy?TY;7Tm zgHxc#GNMNTB=_{wo%>m5Ls}~(us1wav#P$772nC$7RWk)P+|lQHP{&BIgW#tV;aN> zP<$dIXs89|p_T^+STU3Z&mJY-}I zbXs21eq8Um+Dw(K7$G}W6f7IFl9H17WOY?(F+3SWDU;k6X90h*{tw{7C}gI!QrQEn z_IOJHAbU=DfUUjxh@`dkrbRd+_phpQ3skdv3xY1)Fe-mLr(!kYuv>I!$=L}4uNN<{ zizwfE418n+g+>wC)vI7idEchHj2LR1>)>7h&6%N@*>7OPAS(6zu$mf=vUii?2o3rC z{KN`Ad$2B)vz}W=wUCLxWB@o=&$swHJ3E`?28L)L?BK4#ZXippuC6W(WRXj3IpJVp zc0+ESsqhfCU%d{DeSbP1EH)F~c3}iQh zOGYd(22d9V9v3Z;q9OL^H~071&n^CrMprXw(vtYYA+fXNJOS{O zdT#hHP_n>?=yP1pFd#9+z&rTX=*-X0KR;1Y zQ6UVSH}E#1OHb534d%qRc6Ppoq5fBUZX~sU$f0EXk-R(s)TH0wI7GGr(%;h3%3YkF z1q&CTfOz2tU5*#fK_Zd=N5jBY%+;w9&eR->{hvUmQ&(wlyfoe0qfWR&&YqT+_a2Ad zHLuYfj^56SjcU!PuWIFaOT4J#V%|g-=;%;rHdm9MNgX^9_yb+XI%|}S%0jx@b5o!Z zsj8}i1Y#TX1yL?1qAvU0MP_PHOP0;Nf+&l6rm3h%w6L&%{0L}rP|d=xAtX!8*UF>d zNZ)}ZJqr#YDdanR&>qzRtq0lFkWSFvfBMu6(HXR{{!m)_&3qfF*zr>8%%ci}M5V3CCG{ zfFc1@zX^(lNM?mk-*1u9i!elao_n?D4 zLz5~*AAJawtG;{ra=wx$U2bf#1eBZ%6L2x8j>{S!9LLgtHBbt^nUgaLJI^|}&8!EqQO+#jm;+{*3C&~P`QZOn#?rvn2W4@fER-xEP8A`b}gme}%8 zZWqLT1JECh2Qo>K11`yR`^onfYRG@^^RF5Mt}@0A^HIUcVtyUuUJyQ;5UQjH`&9$R zG%2piGEOJe!3O`w{Yl9}$m7SAiuSamuxn$(fkng>+dW?4>Y!flp?py}Fs0*|w@ax2 z(^AV{U0sV%xdGnwt4VV#0*U-87l+OS;YX27uguEI2M%(CbSknmvQ76%t#1j@de%yZ zp?sRw`OdWzQKC%o8LUunrV{`$-vu(>ENpeepW`i1cH8R|#u9l?2DyiXTrm0H z+yLnzPb_(exXT`9i7H4w0HP&z+#fM|iZ`;oF$6E(YgaB(6n+ffUiBU=uT{e>Rla31#1LYmNV>22vj&29IIuB+pn3WBEkpSfA` zj=D815QZai&$;ehz%lgIT#oJEv`w2gYP=aRHRn_1wKF#zo%z>tSU?-Y2)D<9abB%# zc8W?pc9>Rz*!KiY7vANcT}Jq^ z)488Y`AcmT!f!mjCp|o{Ne(Vo^_lST_RAc%ZUAd=b8~a%mCOEW-Q*;_t*xyeA-(0# z(YDN=%WLBm0uYWeUk4a7{d{UPW=0cg#9p@q4jDh@<&jG5o!XeOnrVY4*+aW}Lrg3Y zDok*Zfaw{G-?U1ty#RYjmpsuev7`lFaVqrh0zU0#+dDf>uP2pb6Et|}SVE%AGu&v#5k*N-s?8Pdz(7!s*Np$k3)|5SOnTPW*JEO}=~)jh{#5Lg zX0+{lOeJBo=ivt@oBs@boctX#=CL|U%CG0?PuS;DQ;gZ?yuAXJ2(_GLBl~%yWv<>~ zi+od}e5+1U;(i{9Pq!zpjV#L@k6hsh=&MnZ!Y+}QX4ni2iB zkGCzvRE-+{yf8I0n|F47^`I#U{TF+VXJHPSv<6MTdrd&s?k)<&5nFX@@fR*b+JULD zaV@}uTwvUvk(JfZ+j|Z6@cY<(i{pwPKkxt?!Dz7w2n@XM<|cZ2cE&&!{N?-iOHh16 zWuyK20!j$v;N>?TM)C0Q05pMy0*J^rAOP3V*}0fP&B;j+%GW%*6;R9AHJJ> z4Rsp@zd41esVRz=tPRrL?$hhE$m$r!ZMzjr(l#2~un=ADRx99GAc$o{)@II%0wXPI z+lg~9N3o&4KF_3&2|C-GY;0FRn@JiH8v1IKR}O7ud3h!^Tujo&h6|4MFh4(RXnAk) z^OFH#J|G|fDG05B$r-x_wCsq;Nbl0pd!L2uGUaT(e*2bMT&$XYudt-VAI8cc&(R#; zH`$W8bq!f7;MJL!nB22nz>|6Ul*?k2*ZmKqWQf}tm;m2%Sf>G)$QoMM*DV1dAwD3o z1AD5xH}f)Z65L>Cmrw5)EiwZr#%c=CnWjpo9c!rkkpBj)(@?H%3*=NThjlI3GH9qg z09ld1f|eWQ3Fv^-jR-w}*({C)ZvI?a94C?JJ3I5c^lbBjm&&7r>!l;^TOXk}Awfiv z8j6}&l~znihPkZhKBE?<8cIrD2+#_@90RRAswNz^$>6ghhkGbJ-K&quo*_E@Xr2xmVWZ&l8>Z*!CwuC377{Lmap~Aj6<6P z*ya{;54r^e3E`D1SH>!xh@rg*2nwo)vH{oV%-_pkR7ofvEswxpJ?C;Xt^fTTKI9ARXAh zbD8#Mz||DSbGaoIno6PKbYfol^4#o~sITkcWsOh37TzWRmzFqUW4^H3)|Fw4wC~@K z!U^n_x*3qCfM(PSjL+V_eM>}18Q9;i9BV&1YC#=%$_BT(KmPjc@vUpIJvF_(&tfB5 z_8m_Txqv4+JoAt#Jw5$bN5@*Xds6yMCjnkwXbLW6W@aYPh5!5#QKQ3NponhGHznJJ zhFaj(4hW^4qb6bS5y5Zaldo!aR-XZ+2M2CphS$G6$A)HT|)QBj;(aG5G8{Q&CaD$-^Rzqtp#_#>6MjWQa07v+FBIAP50g|5kWnV z1Ig0E!vhfO+U{;5X=!P7kRB;3$AvS%q(dK4HjAgRH9*6u1r!4shjVvXmej59_&e+1#XuZ|#&3 zsy6c{PPgNl?whaxB1sY{utI=yg2Tth2LsCb_3?^7Nplx5 zv9ZX`1xy5?J5r`hDCjh@s;@Vca&oXWIv?tK^>s56p3x+orttEpx4%_GJ>z9^3*XWpAN#D8G zfsRXc&*zgUrg@9f^drD$->WKZ4LyC5$$0O5pQG*XvUxks@3}bUEx!d>p|IL6hC6Cv zHH%O8dIn9*QihS|ET?ACPd_=knW0K;5OE7b@hZx|!O0)QKo2^Rk{4k8lG2>4Z-N)j z80NjU@boLMCOR4&N~$qXrIURAC`!*F>SXp0wlAUfo9p=X3m2kko4|Wlk9Y0Q?|#1i z>6+UYSg6O04O{8FH8xmsM@WU2hM#e`@~ZlL&1_Dj-Rn~vf$~OJ-Q$5tDz)KacS=#H zLnUz~`l_qi8kYTsBg=45QyHSf_^TIEo!KJd5g~Qm&qwoU2Jp|6?yRPoK&&yJn84KCW<7Uf@xrT+f&%Gca*T7Xj|r+|Qeb+xMekBthK0vwkVInxFhHm{=_RU{WbCL?$gjf9U zVxq=a4>3B&I-0RDz8~K7d7lIE>)8=6U^rFlrKqNc)F)6`UFTW*v+MBU1tk=WIAOCy z#Khjm$Igc*CsKFFq#%z2DGF#%747F|r>DpQn-Axq!SM_#FANk?+FiYR74nZcSI+kK zn+Fdc>Lc59bJG(>fslM{{`NAarKJ_d_4UnQd4jmV;m;rH8xgq8&CM|Y7p+g$bXjS> zco8^KU?g?xT3vrX2^?D{#TS6h8|<%+EcJaOEG#TUIC?Nk-&!#=Fi6hL4Tte>-QXY@ zWNsw0Y}8zI<|54jRF2qTvoB|ECiuf*{E*b}(vGb_p@M12q+ms&`0O~#k}y@mzI1jI zEEzH`vRqls8>t}WxbjsqMMLB%wBYf3p9!II4 zYnp=NXtn2`;{Mf6>=*U=t;YUF(0*C-d-pZtqVEl%%m9cAEEJ5=P=J}a zo!-;n&`Ryj~L9qbI+FcnU zgx!F^I)K)`8pWd(D%AGXRV%Y!qXKRaD&ldYIG|lc+*4nMqZp#nVZ@Q9q4)6a+0B4nK&jw^-Td$NlFc&3!V&-zlq5 zOa6}7CII2x=)>o7#NVyHwyh0YSY{n{t*2Q3--}M=k+GtpqCZtu|Id=Mmw@oKi2Er8 z42aCPZV*3z{(Np>!QQwg&FERci~?&EkOXMqU7d21l9EEpDYkR!zn}5_`+Ye%{EJgK zwiAjsYJx4JKgIv$GheU#+e8VLk}hjBud> zOk)wO5?q%)l?9c7)ek=WBwQc|Jz9u)l@vNx^GOgo5}^sjjY;a(Z8^6fm;^L+*^+Tr2wm5 z1druus4k%)l8#S*2ODY&xJR?la6{z+u2vk@fCL9L%@|ppOx0mP?~(%M3=)Pmn7mZunp#Zg>~R!VPfjRoOct5Q&1>F1bU8*Y0(J1 z#f6Eo_v2gdpymZ$K*WUnFodE>k}`R>tzQ7q49(kQZf# z!s7)H#b9eo0X-xrC45)0yMQr~-fNp-{M4QU> z(T4j22XnNqpoWVrsFjtKk#iq*o1>GHKFlK56t+D;REt=h0Qm!9!a~)X_wy$(JBSa_ zIk>q$B+(7_^xTJnw(a-tSNkx62n8>i%KcHZ_cC7{VS2s^QfH~_hqmbe3|xWg*l{Jh z#Coxl7C|+k6P_75IXs+#At(iav$w8Yf}?eMadBvR?6ED4*+$WZ=zC>W-%p>&s?YW{ zW0SrE`cD8q1){=<<^93ILG@zu7ZthtZo5lYcXxLcb#w@{wZ{n_fH_=H_J65vA9Mn3 zEYEy|`|+(0?4t5!xx&Zms_(Phd?gt^CnNy5u#3aY*jNH6CjMO>i0}?q=>fbKw9uO8 zrQkz^ZHFy30j5vU%xWqZ!WvTzY6)Xo|jWsc|w6}r+j+VDS0N>?lRBX zQ-nAnnHU;`6r9>&OtFt0Qie2Fmc%^ZpUXoeuA^FP;Oo!kzK73I{@( zmew)d_ospX@r%-M_`+!e0z7fR)UR(?2Yi^iM*#n#sG<_(z#@8$^xyM7!VUqT8bR-9 zFDqR`_wu}4qpG+C-9g&#@0pps(Oe9onA)4rYyb%QAOmVOWLa;(=S9k4ma9UG8}!EI z;oW`i(!j{TWe|PZ=TOW&dF6djjYo1y3OWjG@fj8$Bfs8D2RReknn(wVH}`ASP6&B< zd6QwI!!Am2p6vx(zYds>H5cauRzHX(;#HNFoiTA+&9tKq^yK z{a6F;x03vb`)?(|(;k`!I%6OcK|=O}^aoB0)<@f~oc#Os0Xk@e79E$CmX?B&Qh$4{ z6%u)b2@j0It!bEd)C-LxKHpf60pof8-*pociMqPl+M&QCr=X&egxV8Y)vsT_z6mKc z{E?j-i*5_XLc3 z%Z>KFCMD?>(15wu^}h6P2aKDmBAU)gZ)p5~{d!z2r?Amg?CMcCUr+?BlHBTJR;Y~i zUcN+zI| zf}*Bo@YZZg>d&9g(#N4bP}I_D7YC;Poo@lc>u`2Nw@w54u`pD1vR(lWf46|e84(i$ zkjD+#Snh{mJ@)O8&0oF=2@b|U$tDOzS@lt$z;OQ>!i$7SX7GxD)dUdk?5Dti>%OTe zYhh6ljO2ZnmrbiXz}FDG;qig5j1VSDVTmW;+*_BKj@9^`4}}$c^oIaNY)*lZK_h+-&AHTT097}xG(!%1GQWxzM6ZX~zSRaWmik~92 z)5T?oD__3d%S)4wd3=i(FHWG<_U)twKuc%Dcy0Z>y{pl5B)-cyF}L#b`FOZYTAllW z11n@7zyhqkCxN)3QXet^Q|#4>NRL_T`m}E=zt52ILgb+55@hHigff^x$FgqbZSKX4 z1EexOwFRB@V3-O@q*u^g#Umrhbis=$@vulEND?>;g*78CZjq6J!J8Mr1V6m*?=J=- z8gjn25VD@S{U4|cv(5gEy0k4V>4_=KY|uLD6rQ;0BOI}1@PKPUk}(_e?Cslz5it`< zFUy!;V5wA0yeOQS;ULvcZAI=A#m;xCy|Yt2EiJ90jFGq3V2S$Xa}nYmHjXp=Q~Ogl zqr12FdTy>g_cL13>$h*KCm3KhK&>=H%PP-fSE2AEXJ$Shq=lcwFL6wDA&bSz=)P_Jy(MeHC9{-x({1fkp_MNZqUkq-hq6aiufU6FWS% zcwD$}frja5Dr?q=gRm_|`ks9CvNYuSn(M>#wk|bF@(gdy9tLB*SbG5lnVO`*{}Fdv zj3P=VauP9(C)Q_J$Zk@<-$4SYX+ecjapeB!#w@XG=N zBSWdc6#kO&n=FI{7%2o6QS4wxK# zB!l`#WiA-7fOsRwS>5`5F_rtnzygpPTdm>)7bmHy4E0Gme5mHEt-i81ltm%JNjwR? z0Lhz?=%s2_%9z1)21pzKvm{$$xm~~<9~LD6)d1~o^NR@XZ@s~aPEO1T5UG=!TF`BS z!t(Y81Q>u_b}75|p6JaAKi1!7Km>VoS3sl z=i=iptQtGY!I>^}ICTHV)-quvKyr;7`#-vW&s6bmyKH7-5asl*bYo|~xVmdvdbrU) zpTqeke)tua*${_LX0NYY4Fe5Y`Ajj&0!|*(pvhv}sro3AxLKmQbsR2K{nEQ=GUEjR z@jS}O*}2@JtWZ2T>eJQTO%xND5=!#(O=mOzP|`hL@F0ic<*Cl+RX#uRwL{;|B6md) zuncJ=@E@p)M0%XbjJ4Oc#Wof7kTI*1>*ZJ4Jpb5%b%u63=5>CDV87F@T}e7?*ZvHpLJCc+ zR>jBI-274jqbeIMxd>b!4AVi)ydF^F4Mx02mLJCzmMrnZELvk5o2z(lX}A?vfC0f_ z=yG)`K4i`ds?GqO>^m^8ruO!W@Ld`#`x9^Rc>ef~@y3n&@fHm=q9CSWRxDgL6{-Y& zCiw^BeHlzaE|1p=_}mgD>0W7uV6EIBc2MD@n^eod4hY~Pn!nZTu+0EXwER=&=pO+ICVf6LE^_!faFMdY^m>>mAHmW9I}O&IT?5Nl`V{ZKwF zHC1~!*-CM1d{STEVJsP9R0Cw#GHfcRg9oz~t6C(-;-(;!U5Q+$3#gGlz>br?axs`H zABs93^e<`_3nBzra=*HTl@9U|`R=^Adq_x;>Q_UhuuM!TV?DhcbL)(t)Gw1(SzskT zcSgh3gNQW=h3Ta6p`w^IR^7RiAeovnh1`MK)&YJ%cW{VREe@a`we0EbwHd28iBvm& zO^gL?s;!O1Uo`YoGf?hv^tDE1XKUM|5eHmdivVZ%cyt=NG3v7rpeA#+w+v9qr!}hC zv`&bGf5XO2n=xIeXahiXcIw6s{lt7dj{DOkPp1_kU5@~g1 zhj*vU0n|?>p)DE&j-FeV^EQcm$(}O@}vnx$NV$`Z-m4#iBFF` zWJ05{5p~8{VTw|%e*=2_ad9eG2`BTutR^Il9%vM|_Q$~@^LlVfMt|Kp2jov18XCIP zR%^wCemxb$usdgW!Er4SPf_kfOj!_Ye&E8D}a8z$Ml+oOP1mBcu}Ndol)VYHA>|oPkn)2(y`pR$0vFmv5or zCu6big-(C39^qZPKU$scFNwIA*y@!Y&kyN0crQD0n{3D zzzJn(au9=eVvrpe3Br+41*kUzofYMgsgS?JeoC>iJ6A0p9ks>TEb@4Oj+$CpGT3bh zLqznOfmYO@PfJp^;n8q5{90+L3OeTZ#F)((gdP;om8A6a`jZ73F-m#Ya&p*!u!n#j zotE6HJFkYj*AAZ+;$@4tXRh`t~Y!a5oX@DA_f z@-}c0be7R{R<$#Cb~AD`11TCg+kdxn{%&df%GJ!#$qZK!I!mlJ98*3+d zwm)#u{U$uwvoJA?r6pxlkdfa)oK~s2v9YnelaqALpYciaFV5tLlwOPgnZz;lrv^ z3s)?t0=di?-qhTz0Ad8pYuV`C#i7oh>Mfn;Z)W4ifjE5nYd4kEE-!#5qp5H* z5@QZxl4MoZ_a7GeSR5VO=+UVlTOtqwt9l>8WX@e_*CN@)kb(EK5tIr(u*BNfsMk&B zWe8HhZ0n6p(h995)cEkfR^dlj{O3~q>9ut~j*iBQUeniiGaB+baPB>4i#IRl6Ne`LKDZ;cMr*s#b0 zIJwT7b{IpY?hL?ACt3PEt#G#80OTY8pY|nsaCLSC-5^;N!rs|G4XU~M`CA(slG@tj zCnqO$Ws!ip3kMk2W>2nqQG{nR{(ZWmaDcW3@rsJtwdzTLcxOxc#)c2`hI#V;+CQGP zC1&Szj^Sh&jc>raFfFJkZQV;|4A(cq*kiAt<~%q!YH4S5Wo|2fH0Gv>m_H<*znne# z&htYQp}aK|5~rL!X>tB1uGWbJeJU@;^M(TiV4{}+so%GDpWdSW(O5`*4G04;iXHmv z8;93HSR1C@vbv-k(UOZN8#crB&&hKK~F3;YDd(&zbC zx6PNF3Bv*tHS~K4sUl>{QLB>_sv&rj&A1EjYlCY|Yb6{K19wU6$JEpUA$W1iI<7>{ zBPsna%4Dc+{2;`PClvN~D!e)K+3}wi_tgYLN zp4MyX_`h!_EKYyiS>EgaKu;@HXxl2$(t01^?sp{WIk9&YFp?CZuv90LE?227uho(m zFrJr1iUnBUM7^c-ZePR!4h-fldWPJ_9^NrFS3iH%{`LGm9#rvu8wFnq%|SGNS}k_h zM{#Jgmyw1yaLxTNIA0Soy(4ZcFOMLxwH?skjk|UA37mQ``=TQ`P4RxZ@GqMV zj<57+GP3tQ=a?cnL|FMemaeD$T8!M&vxpsz0FjNb)vUjCISi)0cny-w@DA<(JDM`Rrh+AIuHYX&0)nVGnJzAL+lS?o_1{%W)`B*c1&!%H zjT|1dp2JTm;IDCLX?x%0@C;n&Aa>x#P<#M9)~Eypi7AXEj_3NY#qH|ycyZ%th*^NY zjXYJ$$w~g{*e$mGiMo3*&g1Y3_{?X`TldZtArJFl9laa@=@jfCqRo(x2vH>r3^VDA zZuCLInJFe{ay0W(Z?+~IOWX2VW2i7U+juytM*ig9+99U3R8IgOYffa-NA7so(7%bG zl)o%4kMZ0_({^(!8ht{6&@0*=xaA~{zGc6QT#jQnBfDo&!lqcAKFgI%Un61xrSe)6 zXLy~XJ2*J-SkH!&ahp%TgcScx5VEV8bjFEIBevXJtXGj>h5Uh~52PU7D4@|s?UI`UtoeE`me5rl<_nWLD(H(!;9tNdU!|q?$9*6oqw`Q)#i@md@I$!JK)sQnw5zC$-HH@@E_D6Q+b6@47NvVi1}!!UYRjZ zY~>kEY6^e17)J$5k-qKrt)ApAA|H9g(NcX>2m!-x>6BHiGjuhLO2+g96gY)25_a?J zla(5qrFbXE*clw!&TS|$nUjx&f`sBv3x!--J941YzBh~K@x)p1yhe-$!pz_67Tjz2 zkJT?)3B)X~Jlcfd(tUkkv_~&;rK^KK+InHep&_)^a96H+n>U{QN-Twiw{=Tj3xBG1 z|JrL2sk}Isg6tK<5Z3_D5_4goe#D&fI*b~0w9bm>E?7?rPY z{aRBY0L5GD_QOw#y~p`d$iDLO@|rBfh=_>irMPHl>)X8SGx~@7`5E*~Od(2XLRpL$ z=G93r-^iZ!QP>fBq%*1JaajKQ`=zuQNH6w*2uizOTn?J3w^f9#w)QBdhl`aQD>BfJ ziTb4Wuzv$(x;S;adsIku^q{-L4mGxgon<%~=wccz3F2#b0C?4`uBtTuW;8m~6`Sj$ zQ(Zm7wlWMo(#vvjkfb60r4WSE;JoK69Wjw2*3N3-Ec8?CF)>)on87uqIY z6JujE92|2v?6}5mP0a4Wy1cco{poSIOs^S(vf6Tr{_g6qA2>f{O-<5`jg4?B;drC& zUuUo-JCYyiUD_aNDXDiZ1XXz1j@)ch=fr*-GvVt&x8MBGUR z*Ox2gcQ?ut@U9=uBS7*LC+C+)njh;^Mn+RY0Q}C}CFkky*_^Innjryauy>xvhv~Rm zFX_C6(32GF3P(_lKBP=BH4voz6jqrlKB0O^YM{{M%lrXk!9zZIcvYfV`Ezxy+k7UB^?1VD3 z9+R)}#Zpk{31E_v$lfrfJK{h{8u$D6_Li&se;@9-b<>Ty3sv4wTF*%xZaQA&%t4+O zdSCPlxlA-R{#k_PGiv3rMAA{^1cEV-T+Ap8`;;F7wqIDeHH|H$kTYu-8suVtWW!>{ zuf4}M3BnKx_EqA9^j$c#!xKyBuS`_h%S(oN%wnU{qM?+JKb~3)EA;-jHVFQHfL8o{ z_Ua~IDoRR=nIa+zzV8E=pi*^a;KuNBZ!(ZNE-g*()xeaV&$k@Jo*p2t-Tgw$P77=T z4-AH^496-BOLiM;lsEB8_l#6+AJ+sFbg;htA8Ob_WLjqq@lg1ZHNhU z$G zU~f4^EY+?xzCGXR70SPVK^ss(q+m|0mGabEtHWP2Hn!vQxJjxWDt+oH27?jTe2OO?Sdx-@S})l4+n;cJ0qk(c zrT#SZFW2<(LV48(aP3WDV}Y^Jl!SXJ1xfdh0+>;(+x5X~96B@V@@cX`GL@iH&9r{^ z!Wjj3fz<|UxH_Xc^Xw6&a~T_BXjdpVb7GU{yT*9kmb4a+@-0v2!o{8Vp)p=a6}yjt zzJxpNgA~&o^)G&^u|48I{@vww9zGhGAUwm}ktC0h%oKjRu>=Djc>qs9dd;qMJUqVx zF-Z^&`BHAz{c&#|;n0xC$iDIMDE-zSXPu}t>smd!;ZJn@(Rf|z*#@2wml@#BMi=Iy z(G-m`$xL46u;6~Uad>dY)k$-qkhOUh>-XEHpY8XE*PfWJFN!_(`(lB(kHc&I#bhV+ zP(KW)HcGW+mOY_4+q?QJnUm|Y)eLRj8SSjG1k9mb=?$VRB6ZQMlRD?K^_O;onX>*C z8*4w=Vc^aoZf1m2*Yn*gzH%pU1bn!pmTNS+@2T!7>MG_C!NMR{l*aiEB;IOJnD*wK zXs8Y6Qt)6XZU1lSNWq}*PIY%SUjW~$)?{rEY}l}Z7WoJltl7fmScDr?#*3-1S`^#} z8${ZfH9?xI&sp;P&y5kXG0}T8-ABk$t~6@V*ds>iRzx%Oqx47*{|B8`ZN;}O=2tGw zZUlMWW4Yz+vXCw5Q3Ehjh225XOi$Yx%KXC1CNHhZ-HI0+0YL>Q;gAYM- zZ+vqApGy7|hx6E_aJ~x-miu8cI@SlxO*o}`yjPr&sno34-OhAkZU6liCCqPrMAMkd zBzP=Ty`6gonm9s=?}UE=bNMHD_TgBLbl(2e%yKc2R^FiT=90-8*Y$*MxcZw&Avswd ziq6bm{`AL^J=;szN6W1Rz}LxMEHMxq!PGb_ax4hd0~+o~-R&DlVKi0n)E8Zf|3 zbFD9`lKIU$lX;B{N_dkHl?jW2N>}XoZPV;uQ4*Y__RUbSpW+XH2R!r?hTJz0UwTvb zCZ|O}3si0*m{vWt1mz;_+tyUAG)}|W9iWp)y~Z0|zJA+BYf(S|B6Dp`YZrJ;Xx zoyry?ESmC!&(6njgiy6_>KUtBoRj)Kx%MBMdycre_8h(9dUO7(|3={U)U=ghU!$Ey zU#WN8pEQYja62t-fv7l-t@v0g1=UK#Hz)@+Ju=;0&|`sN9u56r^fu|~KCYaX)#<`KTQ&kE4joAOvxa`-UdZ<#Mko2*DRDrn!~5g)uT^Ipr^osspv##PcVRBRPUKdY&_DsYBmco@+ZF1(&Kn zU?n;ZqaCANTr26V^?y{a-i+G;oYZ?DKj?`_Bp{H#`$1heoRC8r;c;kZ*0!A59V7@~ zc;?I(fJV6(Jxgx0rJCH*M+|#0&XDo;6b#kpM;jD$4G*Jfi}G0OG)~hw-2BPQjF}dM z$~#-uxZh}4evC2uoLhGK8}e;&S-$qvX{x&2G=H{*rBpprGL3)1x+&^!1^JT-!VA3M zjf>6y_$pYB{il5^l67iZ)&e_?8nRN?8X4S+x%QmA8jX%GZ?UqS*~6Rm z!;z%2*j>Y7mn-K|W{yiv8LCnp4jv1qpNamMOdFvl{jRXF@Gsd^#k*O=x#fZSmx^8~ z6Z83;5#AI8>-eAF@7MDee>K__-|%XCIn9jmT-qj*>aSG4BtoGM)XvRRcZyRgVBw{A(!}_E?g?+eh1^uY`heHV2CDZ$}r_}OC zHwjsJy~cPRX>z7tgv*r6XfC*=ct}G3oD{XW#c#il{abFHb8-GfuJ7(Ikw4>uF|f^p~e1p z4%He{5!2UY%Kht+JZCnJ!+HaovuPpYhBw!6frQ_I{%P^oG?pU-Hbe9`@&BQ!RHZg& zZ;vsWxb#@t17H}TfZ2b}e{}({FKlVT5bF@taM{;)VtyObOv^uDe-B8e?A+5a{nP0@ z=h#Hxu-qZfxbkMZ|IGz~QciF;8~7r9p0v-#)angNHe_L#$`fsHiTkTZUm<)KSk}Ub zxDZXTac-yrk=WiPf(>H1_|Ubvm)ntW-f{BKN)X}lQeBQ&v)mr(^h+8D1!_nAyQSZX z?p6Xo+*qbsc5t!p?On~4s)_&lww)$q=T8Psj7<&R_D0XqH|bt z$fOHfL)cztcoRpoiq<~f5x_GuDQ5W{$FQpMz<=!0Xge_5HTnoHCro5!4-LB{>1~q+ zdPl-6CO8TvU-i|H#_?}ns5fWQo8^;Ml6p^1LTf_X%>?cbcL&9Xt}lRmD)4bUx*9C5uPm;(E^N0} zvCN`MEd50O(Vth&-ME-YSMQWY5TpFtU5-nG!>a_FA@hUuLXT>->9eBl-%6^s9(=#d z7!uAp%Wy%Yv!q$%Anvz}l1R)>ivO~EzLtJNV>_IJA{re4&PIny0y-h(;|4<88SZ|?z zZ0P^y_<}>(&2FOrI=k%7Up-9v>Of$&(BI^EQDF9KJ5`ZJdoJ=w=;VhU0%cXR75Xs-v$K^* z%=;Sl(D3DZsQjWOFAoOnRmm@Y8>v=Hf`h<({RgOR?Ykqfj1gr|_VfNp&8molOzH>} zp&8iDnfg};hYFM7r1yLo@~>YrF&iwT|L_!=h3y!czMCu*6j(Y;ymMFm!Q1RG>}nbF zpI;K`0EAb;8&`yKKY+Hp-T9JX%X-~|4!B~L>kFXXyGErRSOQ962wY6^WHQGcm;61z zZOpL_7ilI{cp!pPpOC%@ewlUjtVQ<)d4r@=uy!VeqBaYf zAECxqNi!|g4^$u&KFR^+QiGWF@xBuEz|n8`S~U+MDM}3bNs7^*X+&}Pap}*$5I4Vx z4UuO~)Tq$+rHJqso%epkR~gi};GR8o*#K6%KlM8C)%ec~0Xe#F)wiEs3oFYy32m~B z{WA69wbY!%gD#|wqpZq2bewzt`hOfcv&R|!=9&iT7ob=Qf3hx**E)?AFrk;PHqW}a zRBQg}?Ts)n-w+e_MlQ?2H4k>@GDpQ)!iYfwy-lQJh&RlyHJKHy2Eu5T+Ce@ehV^)v zS)U)-TT=$mI`n8fnqJzyWXwbW2rmNWHaFUgH;S$R2lB$zQ$7Hm33w`R37os8a?}qP^}bHMo&Kwv;ROSCr^6IRMiDKj{3@2G>d$t^XzMDxgm{Hd+BlqrjXin0 zcyYiBD;&>phB%kT;@Q#3$bKCSGeh`itD7dm;-elcB;X?_9{LEON88Kqgu&I_V8@Fj z$BhJ%jnngN%zuJEi^Usm{AiKb(gxdCI*Fu&3p))@ny10u|tJ z$kTvat`A`9vS#mG<~@i+^N#>d!QHL-E`2kgj$m&s^J!EcrpT!sUV?7W-SXxlcsLYk z`qmDWpE?{!&!M(p5+EMgt+chwoUqC_ev!>qbxLeyO6?|@3YH(GWtwtdd9a2za}{{I zP}^t`k@P=doen6ei;LCTvaSyW`v`AwXyg6@iM!JaO1g36zBXfh3Fc&&QkCZ4B8(0LlF50%~(#$ z(xV>wEfT)6 zw!%26^>|_t~kPT}+pXw8jn!GnjlWLEb~M*qe$* zS;a1Z=tTh+G-vb?k`KS~1Gv2&?13^EZ32~}zF*hMV^)eYX}WBk;2@k5XwF!b8w8aF zgAHK4P?MXc4Zt1lrcb*6;>3ObH)B0GjH=dnnXZo1?!STf!QXZv11G3UnE{d0>ip*~ui{tg75~k7g zUnkI?OW3Bu3Dl>oEP%0B%W;2J5?s?=$b?0+#yv-)nm}`)>fuS)8n; z0(DROjVjh z>L=|3kV7Q`PY-9?RuDh^vOxv_br?^26kJA7#Cb7kssIPpIf+v{`_X*bn;F%$K^<{) z9Cp=fC;Py$t*jNsil=c2nqne8MZeL5L;UFzgs5@U{1jz=Q_TN5jGJR7RmlRBtx-9` zKC~`twk=U|Q+MHaq{FE#8I}>kb>d$#YvT{)`2jH z0C(%J)8bCLA@Y)}3AGYaBr`)C}YPn{LCkOk$Y{u^*Nge&* z^lj%Bp(umsAc8Gusayte=Uz?Vvb7*n#i8{)uZ|wdDVoaKVDTdP{ek}~{Enfmf#fk2 zL~>mq?x`N+xfX=dI(>Z|u2u0vAoWIOWz`7FIRm-(rW@i)`ya5`g4K)v1ao@|H12%+ zcMa{lQp1|rVwu-Dhh9IdXuCRJL9Xh`r>cL9AEG#__YVEmQ`L0+Xv0Ldv0l) z0HkEQf4~Mt3YWyr2Jb&NgV zwjFtds6e>iJZ0UAM}1*44pr=LCx$-xQdJv{-xu$zw^$dlx+|tP+)lq!XQtFcI9&a@ zc8r8}j78PodG}NZJ=mwroFkdI-%nwN^S$~%>lY852?dBWpgFT~+GHj`9o50zt!>z@ zOX4|#ZN0IS_hwMB=)8TJE>&3^S0aC1sf7$i|8=E^SYXVQ_iU`r?U@&_m^d|`PZ802 z8pNMj0N!pte%gXmiz5MMBk+rdTFO-R?HbKfdhLewU~PdO*pJOmWNMv^y7Zy|*@rLI zy6W_BL(^xTYOoDcBOkToU}r?trg*Y3l6{g%FjaA6Ti2NQ8v(aqN}^1jBsLy&?!-88 z#qN7WjcLdZ^%thQ_MDuw_)aS8(=NT*(+Lu;rB7DB7e|}HFB91r>~JhfP<*gG6I#BG zCBD$f?}o9L$KzU&Com*P)K@H2(cuV&MhnAwieyV%cEhd(Q0LZiSZk<;XtK}TZ z{5^CrKq+U-Uy0__a1>PmB19NCehnV0mur8KnWZePq$}k2^G?|r35tSc#S`o)4IM3x zVl?=+$*oz%47SctD$bJg2c=^a%R(00Zey7Y6jTWDxv)&XXDFAZ*=0B0ug&~*+5Y<^ zO<6jd!BS5?Z^=8qWLY_9*wXh+=sr;c=jM&^lk zZiX;BFaB&RQop*iA;I1?lKZdUCxSyU|D`?^*w*UAOyUpkXCtY$kCvi%xw)Tklp-k$ zjdv}ArTlHZ-ETV28XDHtTl0qj%yS1r;75^5*b-FbLeGK9%5!$NH-f!N*p?qC3B{TZ zxlb?}i)+{;ppoAF44&eH@J59hHj$-0Ep61Act0Y(OhycyvA1WVvuJ!7N+UYp+}d)x z;-Z^ol2r8E&%)-N26hF**ff6IXu-l>E}kp!=~TC@Gz=8`(CoGpH+ytSy%)c%9|sC2 zUkJ5h@t(Yk`#X61SEg9-!MTpgUhT_&XPoWDq|R(<4W@Tkc;a|BVV^V8;04NWP~y-Ar^S3N~Q5J?6dH^;6sz=}9%{ z-&GeA5+E4^V1a0R-_=@A)v0Rpq%=7~);ZG+h(D)S^_A`_2&)vOi63o!zrxD-c6{1$ zE|>8X+J8`>^%+(1(p_1vtpdAlJYWi}yCPmuNRGyLfV3cQZ;`aP=yqH}Mol|$#AGpB ze)+FV?e+gz#l0zwfW&=}>VT*tG6)`x*OLAN!+WVtfVUt@HoxtV=Wv~6monKu#h;>> zTK`Xi>8<+T?Yz^4)p1QvS5^?fb&l+d1ex(+@oK;DS{)&0!x2ii zAn01h;VszBX>UX%dhzIk={lkYK7qwAD#F*|oBrC*-~J)r)03w^Il^u%)M$1;PMwMG z-c>F};;M=LcBVe~UzJ$(Ei~-SMz!VNr|i7ciG!<~77j$Hr2mA_HqC-N;~Ad+BWZw4 zB}eVB+DW+sxNzFY?a21A?UY}c-#s~*`rm7}rC?!MaUks)kU~A-Jn4C$2 zNV6;vE(3}i*3KZ`%&C1_;5Az*@y!*Ti!VxtH;rU7Ng4Q)YgKZ)-Su2_;aL5rS{$p1 zxzm^SvELLeqyH=4%=(j4hI3zFHt;|xey36bdY-*0)OH7x%IjKzf!=_!_lVCGGK3bwtGu)BI3+bS1;!VT4Hn}kwoXrbAeiJur3 z7Bs7?2gU4t1IER=DG4xrordF)Kcxmc#r4U=p8@9=JQDm?f~JGQ$nLksOdzW%LpQE+ zVJA&T;hNEz$>}t1Z+ggUKGq<1{(y_ERYn$d-t*>qBT#qK^j{a3@>uK!&YiB%POH`$ z*VDbZiJQt4=I*hVRxZs~LTC<1_<+P~D3FQ%*Kf1o!G(63!ySq7Wd!`!opd?Ne}|{Y5sV5~5?sS={;cW5A-&?1i)@_ZO;9m8X*K z=0pv|-)Y-k3l0w)DQ>VVIv{NAl&#uc-Mi<06D5D~r_0-9Aizvnx~JU`f~@R?>f#yS zqD%WR3E5XFm@9`7W1-nKuF8~?jDoMI8gtpVZbtV61l@{xx=II*#)u)?=yos4Z=W&r*IRKX;~|eX=9J_9f1SN;mz3h zOpW$TVHz5gviXyE2ZvJF2BN%PdW9Rs3_Z=KjgE@M%s@aKT&xXNM_ol+Cpu;>8L&;N zS7x=LTod+skB9#Ez)Mr@(CO6fgKzU2rUm-8Rj>Hp-w8kwKbJj9i&|&=xk}Nix0Y_*M_w_nC|r8zj$r-eC>N7QOC^dy-OK%>^=8;F*)^8Xs?ej{; z#k?mxem@F(kZ`k|Po6}906y?HGPqtau6L*)7cQ8PDD#|${+OnFCzulamu1XgXw&Np zUlIy8iK=5mVr+Ljx4cI`O7w_s|Gt3L2<7#jlwpvY7R9#w3Wz_I$~lo$J(eq?Cm({J zGL4b}4%$fg5p1TUnz(c;b*tN9+s%#Fs?4eh#nfYv7?w126U_Z=Km79# zziEM9^B_bbM-@q|{Ig5uFFZF!O9U2#TTCf6S3n*U+m@^d5WF7#0=hyjU581J4X*n? z^TP3Gv`dJ8-SY-Kpu;Wq*J59Yl4LUP|Gmy00ov3l){#}t8gGA~QZdUqXBtI&`g!AX zW2Y()?RtG7ewk2ZKVfOP4eiidLfJ^P$GfNKoM`Wyyt-rHG4G5*qV;MO!l;M84W7sP z_V}fKsaYau5-92-ZOxn}H|yxf?Vi=U%ZR<->38~R#njVB zs`pK4LZN*}jt&aMiE94IavJWkuA_@U@00nfaUmIeXuC%I>TlX@GIO zt+)tMb1Bx|g_It_QkBgIxqI>!!x#XZDAPUN3CqasP4|x4L6-9jT4z9%NJ#DzY=d&VerPRmuOX^VPp3W4u(`z zaJWKO^|sr9PQOgfB;k$7&AR`NrU~r{>*P{?9KZ*o2`wL&3r1gu=oG@KnsJjAmW%!K`4Sm>8e_%-*Gd%7j6}vqoTms$W2p&!6`2-inmCf9WE~ptZ8<_^O6Vy$Z9^so_jaN{x%i9Pb05r?6S9 zF#<#uAk9*BDJdyZZgVUG`cDlTXMoZZlIFHb%g0AdLXu#drmFv%=#S+6wDJf23J_?{ zcI6a&{FTz0u$nHP@Sfs|z1-I452X_hpoZZ%OxL>Ee;7KxcjE$jdsF+!2QQikjy#+$ zwzW$!a^g=QQ8^AbO+po}&I~_A(}0YU2+npswrH}Q$l~5CaH_Rt?pzGM!aW8+F@N`X zTf+1m0QH)pRnI^;@bTwOj+L+5j_}#vWF2Tbk5KIrY_i;}rj*eIP=3B*^_9(u0Xkuv z4x2qKF50E>Co9d>CjF7de>lO9UVtu5;|Ms!p;y*$Sj#&5-jwp0``)ZU%xA*Dn;SbI2+z%tXz??!Oov7929T2kT2@quOC?SPxq&sOT@kF z6@v{&e7o7Qpo9rwJEdFxA(61+A-}7`$&%q^@4L76C8*rT(r*aLO0zm$^u7WRBzY@f!_o&jEY_)jA_9AX<-5In-f)br`{Q^C1ckwK-u zc=gODHCaN)zpI5ZpY zdQA9P8&Iz0pQBu7{BQ>4)Wq6OcDexTIC3Up1GL#@)n-Gq148wTu0^9Ox$uz-Y&+3u zKBFQ7!2OFl4`Gj~f&AxYG#;=eG>|8dp=otYxCLMK>2?46th#jh&Er}*1oyL(MN(D_ zr$^D@u49NG-k+h8e4WoT3I=e0d*{w&;3nH#?;glIy!n|?MF-p3I)B&pW!Ztonw*ZKZL7n=Xxk;oUwss ziPVa8;l5T}GPQ;{tu3tuul87e2IPOsG%Wt9DCMTU2693`odk&3UVzeM` z%p5|9)ZL{}*jW~WdW$B2Xv=<85GI?G<>JEL_v9Wetx_n$W5S#vJ}I*1=?RigLP>wJ zr4gjZOgp?e??bwxJ*!Dp#+@ePJ`h*i^N6d)9(lN??BA+Jx1NfeY;FEnoQ_vtiNTBZ z7m&7%Byu8sM)gxGR*#s>kuz|^8|VteB;zzjo}8S#xw%=M7TlrxqVkgL_3L2wOHQEj zh<9-_{YrsZ1}k&MI0=YLBLIr#RA(iDMZL#a!QIkp2Uu2~oFbwg;-pn*hS`uIr~SKI zHGPT1?;p$!yZxNe4nF_V&_2^0;+cRK+q|cPOf)r-DEtcCuyDK58!p)XF3Y+yz7b{# z3O~{gI}<%H&Yv>o(ee1Pssz*jkd;@CSuE$;Bb|VGaq{c$)aO?LfVy)=Kh zoI-8?`n^XS#O;M80y3$%kBC1CcDBpmYz-h>288BufBy8Yclslc0`l|D&dyIsTy$#= z7m)FMH|Q!q)jhh(OCS!A^tA`X#&yRWkgM18P4RJrUkkS>6U}YnzG~0{mYRIWn_Flw z#U(5!lK_xG_t)^?k7HTM_34dB+B=w!AgPwCd!B4jnn%~4GQw=9GkMiV&Cy-q`P!!o zYxxVFv@iG>gm6m%wqW=Y%I zP8VqQAK$H;i72JMogGVD`jE!crz0DM$PhNN{ly^1SqqViWX2S^cz zUPs+4#eq#%Qza$(-79oc8733SWt#iGh~Bp7zk49dUp%{D{`B+=8#zoCiq8># zIc?eT`6H?J42giOWNI#>Q>oZ!GP=&W#^mBLdQJu8*^A>1Q8`DkGQGyRFAr6@tkEU;m8;G!83 z8}Vf}*U(~P+#WC(75h7&Zy~9}ZS8qR0ugS>LoP!71F!z%I=aRFWr!1G-TnX(nub`c zM76%b|05h3>=rB@*>k=a+HFcY!h_@b?MM4A9quEH^^3na&*{7u`eQ)B`dbj;CeB|? zmbasKp??>uB~|Q8RD;$56_MuQoj+fVl9DDW%qY7X*ZFCg zwc#sDbs$rFhUo_E0(4nmwXp@KoRqT*T6P{#M3TPa9kw(a011Dq{aQW|#bDag1uZXN zXoRyCct?$vsi3Kd{m-*=fB_63gPol%1-Zk#Q+@eY2ly*;7#H%sKj+z6D|El}4vo6=y?1l2FQSbA!y1Ry=iFlNCF~bzj-d<4$C~eubWZ-Q^G9YB) zxg}2jVIEv;B8sTy{z|Xhm!q+v>hzHCweoy-mS50kUqC-nf28FbeVZ-qM2!pCoaXQ8 zTD>-eF?Ano?O=mT6bU3-zx6#FrIYn-2akoVgK->N!!f_q-%?_QKyR1;kz6`sA@fga zl$06@z>GMcR+^f}+~f+aWIZWtg;L!kcr`vL%*vJZ>sybLxPc{uQ$|d@o8fi|b_saG zy9?l7CYNj#PCxreBpy%|d|p?-bcV&A$OM0U4~+1hyh_*w`_nO@!w+Uo59Z3}`%A^D zlW*l9NF0UTZ=bb{#qUB70Sq+%$KKzNn5{HN3~&H0G@@BzY-$&?1l#+m{E1tOYzDpw zOU;~jo7NV_O1?R$BCS|O3IB8lU2$?%BY|C_ecmNB)$c5Wm~AgQp8jY|2oOTES{ZC{ z%*ok_w|Ba5Z?o+iJ zKY}k?w%d^YmHBD?N~9Veks{%m4vqF59#B#>NWWFeh&1NNv|AysKUoQL840|^Y^m9& z8&T&LmG(og>fvce1A*9qQ&qQ!1-}%C5|?^^dIe610JyWWmExWNp*uQtqEtwhl%O`%25l z%E120xoYYx7;bswL!OEAuizi$T{%dj{k$EI7JwyS1M3B4R6g9?n1GgPP6D0cDBK>H zLc0!A3?N>29z_jm8^g`*J%eL~CB^U9fO)mv=GPw3xh>LB_4^gdq(@UHp=lWFIcb`@ z^jCJ#udSB=B4f&Fbm4Y)TKyz}+Y>(_knkY@D$$;7XiYm@&lD_l_UPjo} zb-64RBpE@eAf2{zVk50yzclbgjJT7?Xf%XaG>73!sR=yWGX)?S!xy_H1VKB;jSX^# zu%kjo!*`}y4>$n{QC7NJD_3bwgVp%0Y2Ty0Z(@z^kqfzgd%2jj(5!@~S#n+VQ^&Qp zud!0+syXTM6Q>28d_7*aGcY;ZW5Z&$;22KAmU(g23u!dsUp7!7e3tP5LmA0%UPuzk z_-|=eW`6&LuC@M6tu}_x(hYe~z};TbnVLef+Eqi7$q%d&FPzV>-eP$j7Bt>FM_L`G zr^O{l_KwLvEHD#VxyCJf0qo$jb=NZ~Xp;l#6NGhsb1Wf^1Pbcv^O28$?yf@xGT=$I zCe6SqXSVC?g);0aS9#YV^QB7ByLaCPuI*@GFYFLUXv5KD(+PUI*|0h_|uz| z(P)Q40s3({FV=j#GdBL0N!lVXG`fd<{bV<1S0HCWHdk>z$d!0|Wsfxsd++dyi`ULO zvzb7-rtIU|ENy`MAtrT$QS9AnMvm~M-rLR$ysq8= zWo!S;>NMqtc<>X_6?C=P&h{HA!{oQ>yDLq}SV2HLXL+h4!^fs*GPexqGgH4vy~nOA zp1M98U^y-PssvaKo(wRf9lZ3pD?h_;FhC(+sloNcx%)vQP3zCxm2l&h>Hb|Sdh?jx zX8oH=4?lg~A8a9HC?zuCQw95nU2!&2?lop#@0V>kxcCJT)!Q@K>M34e)3B`!Vbb=n z#y)1tnA+rjq-I#DoQ>V{1O;)4f~&c$<{3G z0gDiU#`~$e3vE{pq2-Lv8mIv-v&oV2Bw`TT^?T_-0$!L{99San9KA1vq#|AE7exCXn zIuy4lMP=_%X`+EaXYE$%c9Q<()5Nde)GI~Jo5O((%irW8t#qe(DX%3kZ|MPzkri3U z)7}u)DXlp0;JukzEFMg*R}4Z5+c@FR>Xn!vIv?NLpaEL*5=c>_NKr**9`eB2rhv6| z^^FV;zV#7H14gbTR3-$32?Q+hU47;Q^jx zz7f#Q!nGM)Z+~!5$@?2PYXc!pdmC~yL~KC(QFS`L6AG6|^W0dy?i3~Up+w93 z?((==Mlf_U1dP7UKF`}@n;tLA1AA#GK!D?G;*Wydc0~^iE`_?>ADqs74_o-dg+J<@2;d}(dbp&FQ7=aL<|%iys~U}q z2wd<7*n!%AL_1?F7j>9im|^hK_SiiC6vj}@nK2K#YJO3U7eZP-gU?pq#=^A&Pt)cL z%w}V^Gl07F9a_1vuF@Rj)8x=DA!SwnWX?<^}N}=$D{J<{5cAJaR}_|B6sG7Z&mTB&G(fv zcm3OaJWIhm3Mkg}xs%a}@9Z?pt@SZ7kCOLhI2@@R<#exwqJHys)-T`3*D1viLTNFL zT2#-z8VLLlLjcjdu9{(nJX>IqfSu$|qc}pWIIh}9F3H1dK%yhW%3ADs)`x_BK0c~LD&tq1L%Zvn z+_Y0jW1D)gqs`k~L<9Vm1k&>Z$$+3X|D^Z@a%D5`YlXR+Q_1e5Bp{=b=wVN9K=VlM z%Wx<<*i%QqY<5}?P|0>>f_-{7<`f17Ip z1|b294d#k}T!Na~&Vzv2IK?DK)y|9stKI*Lu)hwga*eu2;YAAws31rSBArTi2#7Qy zDW%fgT_PeNARwKBgmiZbh=PQ4r*wmKow@e={?2#4f6n>CeQo!(*R$?*KX=SI<``pM zrtBb(aD)sGb;oXYn>@o@ZQJijuW$k%F_f0aTX|fk^FPc&6Mc_OQZ5t~Pf>SU7*sMH z*FLkngUbMRH>1>Y`;&#)=V-XIBr;R#)i9vAQQqbsVyf5a!)EUF)04vb$9rXY>()?B z&n^~gBO&iatTWDx?&NEFNZ4I)X$dIk**w0fL%@{c5O`~WmmaPe<0q;_uNd^U&JHPg z3&uLLNeA5Q7ehCd$07no{J*&>E~Q!=e>SqVRSwD6y|QK4-#>1gD5uJ-8)k1L{I5jk z&xC8?x*U)E-rk-hvaE@`#u~#xS@>K*)tQyv2ztQ;$PTZ zQ&mk3eB+*BS*G4%C^AQByz^KH@P%a5)->}RWozdvT(w~ z!-ooW<7R!Y8k(~P4|!1fQ5ul9nq z*z+QuxMit3?y=8>8^E_xfaC&Vn`7FSnk?vyaVnS?L6Gfu4=x=J29;$1)uI!iJ*Rp&?YgW=QMwr%q_= z7hF(av#k+L1%q13PII`vq_`!30AD(5|Ht|R2yw8|ebUMC@@fd@wx6WeKk%ngS}zMC z^eGA-TkBfwAEW%>ltMSeSMEu`y_KFSE)b0?62KxE=d2OJfqQbPj`O=vz zkEPa*Y9m@qyi3f^wGhtv)wcyl&NXf9Yq?&l|hJJwBL_GH|VplzvIY5 z{wkcQfG;+E9eown3hJQVUY%?e?aVNKxF|;7f#Q>FJsNA!eTgN zb=6Gt^lvmRTFd{+;T?*;)es`Vh9ocdp`8!6`G<=M#Iw1gNk*DmTH6C^Ch8x-hD|)@ zt2R>XPR(GvaG{I+)l9)aBXt?@O*zzX#;XLSsVMv*%aoO$o}oXN>V057FTsumllBNA?9Rfwy8l2mRv$L~|!L<(&5q;I7qN1rSEiIA}-(Vjf z9UYz4d6ILRi32bulX)8pD+skyA(=mNZ?SXbGWkEpAf^ZxHY@J1~NUHc54V~ z=V(iv>u`fN!sn3YG0H%OVcVOrf48|e@vKt=K2_NnXMbuREb(|(M{$J8y`foF2W}!5 zDm19#SXfv(l@=ZE@yJ)F>-o~FcCF$11$33fL!mRAQoGKHNhAMmp@#R$D%7Xc;b-;F z5w!gIb6d9aPL<&YA(+NDJL6IlT`?e>Ch1xlMXj*0ao1}GDDC~F$Vb9o47+y!4D}=2 zp>}P!m>5@hs{0`RY(?&-2@71898QHDxO$fJZw$V>T5xO!HqZDm9$w15M4L~o{xbgD zkn0}H$@X~X4a73?d|LC>Dbt4VV9A7bR&HVyp9v4@n>x_F) zO$~n{=$6xbuM+q;=^j0LRGdX{pN{Tb^VL~soW4hJwqnv93X0!jrLWyV*KO^Ly}%m- z-XKULi-R;pL)GW;W``bA)E+nbnj#j5YPb@+r^Dm~LL;IH4xla^YsyAG z(zFQ_;D-7mMg-c#3)B4vVf#MR)$O0KbwvXy4g5P0X6dJccE`GNROd*wBFKyKmod10!u`rF!u@?-ByQq(C*ZLur%spMy$2I%*QSg8?E zg-nwYlIkO{vF?9Aj1xK8I*yAtmaFKcB;+^qba#&Kw# zkRr1|Nk%B>QhVR@J1!3hxp_4ZwszBiPnhH6ylSOd-M+Cyd=>wo^AA7p_u3_LjNz@= zZZ$SngzgTO+u28)Ij+QgnM~@C-(-c{Ar=`x(?pSQw1NUyP|U#VeFURZn$>gO%#nx% zr!I4^WUrID&e0h9lWy+#go|!_gp5<6G~TSF%+k!y@vxG8fuBw2N>u$TmbtD5Orz>Z z%OPYkDfT;#J@VhMCgLQ*6FbGSb?(O-F0QNDJqiWk4?u zeLsu%1iHp8UdWza9nhrbq6s5|RLSm)JTM-^K|&1Ik^Gmq1qliKJQnX{(`GQLbPI@Q z#?CM&Gpgr-1D)^Ll(*}CRpd;|n}RXfi^jPYDZ>}HDj-CvAwn>}F_fl@|MooRZR7Jb zP2?yek)tF7W%Q>yNkw6b-DPsKqFn%Z0er-uxxo%go?EGgl$Z|2&G+L%}cSgsN z2qM6%AO24HD+U(F2*RpD_#Ohy+`eJBjoKl8bP}4 zcv*|+WBlK9IfG(fB-%drK3}~z^#_xuGUe_$N7;@f4sbq@%jpCw(ZNXDm*>PWANA5# zEyt2j@`e#15+Bn3Vc;9x=*mIHzyNt5hd&2v-LQ1nO3vJCO7JMA=M!S0;b=W7DX6Wb1A8Tes8rA^>d(Gi zrI2s$jW_in?u|N7cyAoB9ScrO3^gl7MOkNnVyVyNCfkfe2&%8ryG6@krtvej$T*r^6grNVA3(JV?n7Rw}wW%%Z;p-c|jw6`?R6G_8tgn9boj zs(W=cSh^LOkDYq{TQyo3^0yL!HB{o5R3=gXuf@Yfde?CVG8z@vw>XU|%+oHqX@U!=$-*EWoyp%vu;&qHRe8^nRCX5bI+zI*_-g8H3t*6mX~X=d$6syce=bF^JjuJWD}0j}jqO5r*QLJN*19Tmax6;$ZFZ+YT-^a5 zo3xhhD>;P14Jd&Lgw5Ea4J=_z)#McgO*slGb`l z2Z1^hAJ5Se+WXPu#R)S)-)fJx4u@AnJGS-r;{#VmTHeO~Ex5U^w!?uhb7ytF9Y~1_ zi|cNSZ(kF%?xPs;NC@q<;w#i9~SggmObHN_i0z&CL zg?XMa4gCf3B_~`zpZWRySpQ&9|El61a;3Z8L4-V$E7f|M%teUUp^+*%?i0)G*pwJ<@<$D zeZJZ#zSox`1=<`q*!Hc3;yl7Adn5c}Weemb>WbRVo+G|oNCwaN}z!!xx&%ML^vYSii-qEx^@WY4j?2Mrn zv|7i(dcOteHJWW z$FqvYGiEtMO?HSWTm7i05xfh_?!#JDSJNzLp&$%RX%^GJJX@M{xfrnLePSaX@IJDK zMQLGyl)UY9%Z}AW2d_NMT$(5CLW1LeL`b`OV<^kX7w0EK{+I+32c|96F77Y%;QS;7 zFG_W?k*SyLJ*q2Nhoo0Xr#P=kQ_5tF7Bn8}^jOnEhhhWmlf|d3gCi-JbC)w==9+^H z*Z3>d-@)}ylf0QirjF zpy=X0L-bb#sTolu-(VRH4~NQYnd7N2cK9~u_6>f|Sc482>ey#=zYMjf+I2+TS@L5+ z@8-sHl$)&27miCGxL^V8Lx#KlQui9)Kw&9~?KVgu6|8h@BF_Wega&zsf{@yJCC#5s zR=PR)vxQjlyU0BMBRueX`5O}l@K!>cgp&pT5WT)J#x2wkEV}wUyMLLS^jEU zh}GO2X$2`;tbbay6*Aoc1~N!J?~GGTn1vR1c}Ewu>|*@Ej&^v*S2V*MU~?bbPqm_y zyky>X<2PW)l2Gh2u=zFQ_?bX#62>yu1_>lZb##$-!uv*!U%3H&}$D2JiT(E zK{RE`e)+SuUj;+{jkfO95;5wXEFL$>aI1?)`^0=!df8f3_KgECqW4JftP*d&wwDL{ z$f@b@JE2m`nivAl>7K6OUD$EllVW42_44Zcz*^Vq6&DsE!9uR%-&*><@!a>P+J!g=RmrbsVjby>$xwC& zCLiZYF$PQoEi5hA1>6ZSnv7d_4G5ykNxLPft`^ups_*k7jJ&fo0BgL_lMj!K+Yo3Z zkjMl=l2h(`?W3!qsE%0vOr%Ea4NEHik6DGL?Xh$xF_&|nIs%-8!kcGi>76f%mpn7$ z_dDf)YKrbDc+jkmH_kh61640w!B&F_Y5x7px~aXas5p4}3*m1D5xXHk#MxhpGq^)Y z*jB&O)Xg{RC6&Z$Z8p;&fJ@9Ou1ch1d`wI^dCyghx ziQRHx%>w&)2AkKYevv&g`;rGFRvMkxXTU`xVK-j$sAN=vYlE^jVuXL!2 zgQLC02+?T$HmYIo7Xf!B1Arr)b(byx3@zsUR_F^{utpyo62DdN^gj|R2McL$`n))e zCBzAHz55C^HEz(fQ}$(}7{WBJ{>j8DH|@&?HVoLZDVVBe%HRPl&op2nSSSV#Ugsrd zgjbp`m0vNw5Aq&Exi{&sX+600U!Ep#J1KldqBH&I%jm4Y7A@MbiM-j~?=WS< zE`L48p{4NG#)*7zlK-_LL!<&4vOb(|;7UzGLeg}3H0h8RnS0~WNMT!4)LZb3W!J0Y zJeX5x620I-a8!B(gRXC^<~@d<`K4!`btO5$(O5l#b^V6XNVwX{{uclCnZ&ez$EOtZ z)Zuj1w2Wg24ON-OoNhgpltcydH|7$b(IUOg>H6dB?j*3!{PN`szktAPAcz77F?7mx z{(GPqccK?H14B-dXim-LS9VR=S`Xo?dj?dgF(em_17|Ulk4`3CX%axTJ+{FOeAFL@ zuDs-iv$W2&?mHzNoDoH`Qouq|V)N z?FIMCmRHPfzxQ}Pd7vaWhK}kXum11l<_Nco6MLO1D{VvXP+~TI;It{m@K{f918DIB zI8x?gB{bmBDN#IHZrJ*kHsX&NH?ZNBy}?e==8UX;>)~Ne8se$BYQVVt`aWRl?%DHO zq$kNC-G-OJ=-g!Yd^8KmsY^^#&!#;}CZa}-xc?>K>Im^SQ24B3{V2#kXTh;bDq;`9 z!@~0ZW)Of}_YsO{;-)9U}j82!`edHnxmjM7GQ|Ni~e<8U27 z%H5w2BJ4KDN;gtF4LLuhrl#&Zu%Xrn@UIxoM>(l-xrr#Q@`=eI7q;%U&>M|u@IB_k z{~DXNap)R8LqKxu*NdVf>gnuV?z21esKoL8?qSKQ5zi8C%Xru=SM<%p{-e{fTBNhI zD@78f-|>tm2O)zJ9UB{)t)7Jivn|-}iWJFBc|Q2hYcdv<%?$+wrM;u$u7^US$Dvk< zA&TW_k@4O_2LNq?POB|&Y=jE;fiLUs?(WZX7(G#ac*dsjMI%1=#%SyJZsPL{3{{)g zR$efLy#4dCUC0es7`@9YQWoiF-}O4;qpbV*)?M3X=GNnUbyKJ~S4}|^z1q0WIA0N} zse7%1kKTB!I1JgxlMZ7zE&=*{2+$1dv%x}LzB=a(0BLwWgoZAb_ldF$I#%1xruw5{ z4K%nrZr5$FBgxTeY1CkO$F?8O(z+g_Y_!9HGbwkeN_nxT`v6U&@crmyQ@F-+(dv_K zF{+Fu&yAA%g|DW&c5Wt_fO43$7sgDYXs3b;R z^y1~&&n!$eqM)QaH!b4 zHd$z2jW?e_Cfc0yvBNJ>07(~HpFnaHyQ6yT=k~>tYvywDno{egN|u1SwcbCUt3#vJ z**RTJMFO<`zxF(rp`)-c)5P0 z5~ahcKH zT%f_hwy}X}^~!So=mr3HJ(9xa27@bS3?({4+QNtl{CfL4rV)7-@^b{r5>rO2VCV2M z2DVAa?`4$xxtabC9z5V83p*VVyVz~(V1IpavUih=`vcg?4pv#~W-F&DX=o4!U=d&% z&b9cXV_`iu?jl0aE2kozFhQHa`|aB|ul-*PFKg`lS5oU6O+MV>GvT@SRIeP<&zX(; zrsboXzKy=M$&-dvyNgS)4a#S{i|Q{ik*QCCZ||L?*zV2<9yZP#TbZKZ9hcm~cMs}E zm>)g;?YM0FG!)&G!|Xz9k2(AJJ&kYPW51t2k;mY*(LsXv*}t{6$Op0@j9?5w{d6o| zp~c$4zVZJ8%-tzGS`XlV_%IMmN^g^p1jWUXAng^w-jv&Ftc0jo<#W)-=IbAcu`*FY zbi9RKEi!1`TT{N2p(|>!k>ailb$q)kO+Wn6J@^66&n%drR#eN5EIzAlKTNFkCfWH& z_h3}P+E>$qn^9){%d`cpC2XN{^1s*(u`&;U4k7tL()=@vY8>9b^e{9hc8wkv#a?(6dyZs-q?i6GV>KgPndK{Bet3OMP zuMdDbktL3Ij6A$}2sUC|8yg!x!6-g@nVw*c zMh|EBV&m?-V4?P3fsawf3}oAWQrXU)c-N^_ywRjX91k5c^k>cq5A;Y0YadEt<+*PJ zKkJ<@9iL1%j1cVd(uzyOn89Oh`Gk!Xm)mU}6k{XXNH=V!G7 z`)#0}D9q`d;mXss1}W93n19C0tt)Gxn-#p51~1@j#&|ub+9Kk4^jjCKJ9!zDQ|SZ* zNI5u)9k#j%T~nQ23)ZsuV%|UY?>(tGnV$PFQ28b<@y8Nqa?L9Fnl$w&woZ=5d7tDg zs|@Ggd*H}n74UA+a0j&~mDwDbB7X3)8YwV*lu%M$z6cTB>4>MNC*)5yX1{EyRfPuL zN#jxmHR~0vh&phENs$bK>S4_@Q?+3fHf0Cy)ttq8oQd+=@|7Ma z<8`1om+aj8Mi~2yED^h?e1ZZH9=h&dhVL% zD02?HvP1_8%6!IW`p34{CF{lqMeF`M_gPS;@{n}MW+>_2LM4YZrs=$hO_^g`oXOyK zx(V&Qmz2963&9Q|$EgQQ$>DwN3-7QI7c)BYgELFy_w~BCcRM5b(?4SRwo^2mZO>jlmoOdt;SQg? zo2;1jC||R<_qhDmn*}hdW!0(pAQw$Po~yCok_i+hrFg%ns4jQkv1_dd`Yy~sh#%b> zYzhVPN#cvcbh#H118h?kfwKk}L}mjdlHIO`a2bB+>dZ!&dk`V4W;hMz@=BR9VOmXI z0+4A|N))zl(Yv>zmR0Sv{7rxDVe3}nk>eoJJe*eoGz%4(Lf@dc){g19IUJEL*Jna7 z!k9tpQ+z|Xi^fWf0t)j1EENbMh~~V+MZ`|$F#G@*G5u&sCkWVfPv}h-m)~?s_2hlF znXff3*`{tY5|i&EVD!B08_g*#ZA4AfKH|?dKV&n3S=G@*F_?Mb!XNAWKaPNf zPPoeaDD}&^-N(K+f!M0sglrdr4uKW`Fx`f^ILJM%JG zo^N00&tDJ&-#3*y)&@8pH0^j}|0r9K8E%@-*|(N6_-C+mDDil@4E*xUNN9y2{i|1I zHXBd0Ppog|q!FyA-@bgCyRDCzX?MN2+o7JSTR{>q-X(H)nQ-*vvD1WF@=;GbhHrBg zyDJ%izOk<&@=Gcq>r+a2gkfMXi@I?MRp(tP^Sj?Z-pTfr0HfzsVc{ERZs(`|MTRlt1AjoubP%KSnTu9dk-3LCgt@j zZV+KWPHA5+OG$J)?rvvog(Ki^-}BzZjMpMT)3c-$x;OW7saJn|Z?(2_W?j;J1NH=N zl&mtj)0FEXDs}&D@{Tuy68Duw4vCP(Qn*i@)&?;Ae6KI#N?&&l6dQ=a1^4-}qr)R} z%Mrw!$Q!$vGnVOQFz8&I*Xnv+qUXXiD1L40;=uJV2<+5m@vK90n$VfFS?S>@t_Zcz zwACT{DlPR4J$d?uj%UrzYsSTGE7*P+jBu;YdhUqyrit~598U$Lr0CquAMS#qVu`Zl z8NKlu0g$$o!pOeZ4$|9tYr9@&uO!~9G2}BPEYDq-Z(msX4%ErI)3-_&IFs4=5(Y99 z=|qjTIdLu3M}-?G0 zm=SrJV%x2Ax+HmV%FN{d=NA>{KF`5-ULPuT=6M%}G+zfJUnE8f?(Oay%5-U9j`}{o zkp-qN?#w-IC-_z0DbZB&=827&E_nOQ=tykLXaqE`Qv!!@*id-~cVf~e8@Lj;P)qji zf9j<2{1_p21*_oO^PGWdTLbc;r=R&icjNvg@!*f=oH+N9W{!LPz~v;^v>r_iq+CJe zlz5Aupe0{q;}7F1@hr#3F<=zDmBA(OLTzPh9X5C?1`n_1NfOQCwVnBmMnFV??S6fE zT<(5gf_!*2nBsG#3I&Y}--R;s%B0If#3mFnhWhGxgo7P}wQB??_RPBTsx>|gL-9!^ zPM5&nPc4=033B=$zzcr-__4hmBmcy}%uMRPe@_2B@~KwF=5FE|dD*=`>{zD4X zE|aTS=}8X6u3LUyb?Ub9HSGs69HrF$t)7AWWaJ6<19mR2`M^7XEJ(DPt;Qdb@miS$ zkOl95_PpQ+*8_j0p#NOVCkd;u%3sm9!}(PGNlnC7-GP@}=?5BT`Xw7af0tZf*iL@; z^bDfWbxmCfIY=yCO7wl`JaDj@8R2lWslDBFZiC>p8fyV{u6F6GK(>7PuGXyXLf`G< z=^$?vl_qQBge&8{UR*{Tr=msA4K%T<6r6Ebbg2`UkWorbNx(pl)`vrREJt?dgQ&}1 zb>JkYq?nHskU|LAKB=pt&in`@21pn6+;0X~8xyC#^3Orwa&X%L$KjyYZ%vFQFQYV7W zg4LAut_lh_ADjGU zR81JnR(uU1!c8jSc)+C|nf6lr^AG`~mvR4IXouwW)nx*=`5k!Mtbb0W_ZUqcGtGJv zK*_%^<5c%}qPp zZw8MD=V!aiN2U(&`D^3;_l=lDBkVRt3g5hW)1UW(1zvf)fFnJiOVuy+|Nlv40OPQf z;e&Y5bf&?*L-hXvDt)%`sS8n3{oF9b0Y0kS06v##JqX0rNRAR_wbPI$o_wEu^qy@cVE1(EO0|M6FUBRn>#$*P2^Jj z%lS+9>tgPD-!Kyvc~@yv&Rq?)=60(0-s@f+Q^#DNUl{`F2wd_N2Vp(daK8C@3)uq* zPTF`eUr}oBf44#To-P|fb#Zaf*TLL5I!cnFB&@} zSguou7#jy@a)`-dnEB)_xNbcF1}L9n@B*2p&b2U=J9@q3zHm1Apg^+QJ;rIoZbW7& zR6gKV``h#bV<$**DO+mF=!3uwEMhbqZXeJpT~#>2Y4F6o+?}e01wxF@p>NL6H! zvES{CWqT195P*h+CXnrYzP&8a_&<#{Fpi21nnh*9DSlONLv~5~;6VV~^^$ci-F|!D zF&)`A{nfXW=yb|RIR0aY& zr}~K~SL+fI&s(qXa|1+*jCW9{8Da{QkU^I9LKQZmxPQ&*-}dx*w&Q*nSRqIRVE(Cd zww$Q4?gqNqudc3FyGz>inD`V=?d&+8XDhUVu>(|dR)l5-2MN<#JX8fARoh@lOUxEg zhD(2}xng*RcdP!zhDKR56HWmYN{$bjA+6s7yWRa294tONJOAHq;!IlMvLDWR4OAS> z#;}B!2+&|p-EFfbLCoYaqtoK6UwVrUAeoeyuQtRyQ9d`$I*IFSS zriMUg~Tb1=h3FDx1VwOgN<$-!X7N?>gs_Q%S2sUII*{aEdoi+sq&plvC_ z^M&1E{h=eWshn#(&Rs;vWc0%aXs@53BYG7RiR$`($ zNK?5lMdm3*SirQocF)1Os7ts-3xfm_QhN66?1^+jw}{J4B8>An!%Z(Q94oNaQB+Mr z)YMN*SNmj?lh4oH5f7*xjq|D&BKDKmlKNw2V>E+=(K6lwz3Fppa`(=)01sQk;m(tN z?1l10`zlBJf@foeDedtXptvB>#WP+ewFTc%DCG_2Yh%k2Aydk`ADvJ_AH{h->DgMD z`fC1VviRfG)~z8F*=e?A?Wq%#uQE{<)Z!5$DNngmQRWg{z_%~1z30E+9jf}q+s|;* z9dEPwT|d!Rx^}?L^aX1l=sA_y);n(IZ?7Hjv_ep2a5NBQEB|r&G~4fUxFu_3v^MoS-V@$+U%Q;_Si zY6NoCy%?&Fpq=cEc4=$Qc8$r)@vbjIh9@3oj0F?Nj!;{ib^0C*aa22UIqR;-D?no#r|7O&%)W@$E&yHw{c(hknld;raUGudnec)<}%n=$v!5uhIHGmDQmm zmy9HG$s|Bv0JEP_THS|aW|#7Kupp-MmIx4R8iCr^?|>m_UV!ueleVe2o;af3drb3{ zvVuzIh=dmTDmjs3iH^H2mRm%fJZj&e8T=d!R7XXxVi$tWtffabrzkF|@|bgfh+7r5 zr|)TYc2`?0F!7(Vr2Fd+O0YzaL(q4N4^%O#CJy2Hsi;MtQ0{9+iMisfg=l1A+JiZf zchiK7l@2=)zJTrdJCp7DahYo;>tX#2+T3jVCNl?e6o$xAK+nT_;b{mQd<1xuD3b7@ zoX%eB)@`7cn%5#L$(Q|A;L+J*V5V`0LMNNu^`4%IGZHUg7F-h}G^RZsGAD}0hF%Ou zG^beR$qJ%!FEuE7U3%ZWzPuWnTp=^!}La@b|IC{k3LV`8~XNXsKjA zJz7%}2?a(WKP)J3LjS|jB6P-A7g6j4ggDFa>S#WV{O_9A$ry%qK`Q_71JPaQH)z&~ z_-iD({f%{zAX3I1A}T$KB|nbohV62Hx>2B<`+z;ap!j~S2yy?4n|bu-euBgW^2 zE}S1@T#5X7NF|BtdeKe9sV(X%%g(jl+STQ{!^SLOVgAC-vU*ASzkB?3l6tZ2eK7q` zz5yTSGxKvv)a4rfehYhxvE6l#{NO^8YE%n^+uv7Y;OY2f(Bj@qmd1SG))iTSN$v>B zTiqDh!~ecY0=_EGA%Y5{rBs8hf}P!cgU?_};XM-?@Rbu!cz;=5de&&)qM12+i$RJs zzjdy?%zac`joiZtK(u=HqIaGJO}xnEI+2xLboN*P;canDL(3E-7SVySD>+K5bB)jL zKgA7>&xhL_lh2Un$A5$ubv;UigERVW6rp_0Cm$38Q-k+Bls}Sv`!X2&GmQ|=Xj3@E zuPR%5yMxmv!_W(hg!9;uyMzpOi5g&ie_w8+Ha$YnF);)S1g#)AtCqCX$}0*4ZsE23 z%+R@3y24~yY5hf*D5f_u3}g}-W=dGz-?;Q^{CGqt!TUbkc^$Faam9g@ID%Fg*=WK& zsn4j28BS)YPz(J)l8V>aXVWH(z*%mJKyDBlFvQCk`m3LCT`hqIy~HRK1-lY=c@PaV zN6t~@3apca*eyScDsegJEC`-#p%#i%csB{>Au%m=LFAyL9ZxUCa@HPBe!2Wb6$n8-^RD6* zpCy$A8gSAf9krlXtEF$6v`6tHsT+~W{PR+Tljjb2;9wC;$rRKnsWsnF{Q?y{1^Q^f zBAKxPFn1Cp6?YRs4hK#e=(GCes=ow(@Hh+|sYG8aJ~q7?x$(%M2PAPzGw)F>EN2s% z4QD0!%kfo)ULQ8ujauFs8>1hE99ItvaY#sHEiCd1^J$q$m6erI(a;X~_&*3EA0Fv> zb~EJ9hmp1b>2JPKpQ6QIjOHPYS*2CA%H*vt$;ZE=Y-JP7w;XHgo+B)#FbY!x&j|ce z0<76#S*;hL`vNqzdg$SPFZ2<3)Q^vk)6vl(RI;AkB_CZqQvZV5qFrvX2jw;75Fn9^ z=X#9^mM?5hvruW>gADl&6;=4JHyKd5X@D^H<~`2zWJ^7+zf`J(;+AAXMt}Bp5N?${ z`QY<6?!y~g(=P9|#UDp?y-jamX%KqV?{MpcDDsXBs8!0eSlwIGB9v)%E^$<4An8Vd z#?39Wvj%kmxT;2|{~vNFnDB$;BwMv+A8!f@ij%`p15#l(PWWw*ZVqB<+L_irLcEF7 zd?b?}>GERY58GFAguIK)Bb8&mV+)sWLZhpwg_u&8SgpN(G+q!(elBI%xmY_4R5%7n zV7+rM$hs#TKSe+gLhvouj}v;K6HN{iuF zKq%n0p7;zNE3u9}Ebo)M+5E^~_GS*Q#`n9RLhk+U-^(je;{-DSzDAs9FK;g%!bbe^C@uON?KDSSuXfGC08q&&|XYBabREodP4p%! zhN_TkqyimxnB zZ>ZXLbaWtlxb05bHs7YC3&^)BKV*}zrQqr*e#oWa}F)M>Wf zUS7if{?dK)UxqEdK}8Pfw}UM0?sZa|!kDDD#q1ZJz$EUALdWtf7d+R*sll9JpFjwQfxUdaHSPXVefYd(udjrojW(AR`)x>wTuAP_sKh9F<3z8!J?cZOgJ1;`#AK#>QUBCDz5Prm(gvEHHAx8swvZe56%_@u;m4!Ws3-r(!W8aTf^J>pjT2b`0g6k+!} zSwzr9xX~sB=F#W!P!pP&?(Oa(3;~Bh!jQ-|y^!1@vQlotiUgnog%hM#F!u=n76IxG z|Ha6{!ejb&5!maMdY`+1R#Fy*igE(*2>>RwNs7cTURKH>+P;6Uv71MQ(#abWlYug0 z`6{dNjI?`Epz93&HA|UVTU(1%QoQgnfC{dJu`}+e7zA9&Qp}K30@=8iSe*gXmbepwqG9HU3fUGb#;Hh4| zNJ76gmldbK0DqWWwG|XTww?niBO3l3h(3AY%#`&s;-2jM+MroMf!*dL$;y}c`1<;d zjZFm>%7v}XKiURWOHb)}-Az{wwLNUbQQuFE*1);ybFjB3k@;sTCYb6vwI~0N86YUG z4SFZ%_9~v6?+c%Z`Ud*cF@No2IRP%xR%IQ+X09|pkEQ9xH$h7%Q&go!m z95NTo9L!@OC#akkCnqPb0v8w9b+mkZ)xY<_M-C`WU`+Y375zIvB4uS|W+MgTdZAfR zn|UAK*V6E!1KC`FB1f+quEZU zdybm?PV2%(*;(CYBAcn5Ob{`)W=MxJGBJIDTi)w@t2&wA{_WSVbTd%uf$ew$8@m-6 zaRTMbVRsHmDC`EJ-`ZGd=9Nxk{TK7WY$TlyRtT6n>Elxhw!<(YDl036DWz8BP#KF@ zR*H=rx16^_YZiawBd89&)D5a$9h=uBY_@4Tl5S3=+aG&UWU!(OYQwmCKK*pyrH}oq3|WQ?%a_C-1`J1s5>64-LY(K9UX!2-*^8F zDnEYJeq(cUv!tx7ZsYvUi)fh_f4g3&7InvQEY8h|ySTVi)<0B`bK&irtPF~}LuPZ1 z66*W1;^wF4@lrv>LMmTbUP%?>aobsm+emN`G~eyXsWV4UpqK2F+g-JkvGBk3eQf{W zKu%GyV{%gW4#5K<&m&eUDk`hlrpqFc$ggGfe^!bG)0$cGbQDo)0GKJ{BL>lFSt=$m95-2BZM* zLqbB_wkk(Y;D7=`M<)2LLX%_3R1#L?LyU8y?l|~f+-AH!YlhK?rCehB^`>T3`wDpR zCPlCL?oxLT9KP8HHpV^WYMW_TjY*|#w_@TIP;VQ*6!D6W+O$%jpeV5!FZ;cJnQ&gK z=7hn(!f;`6j#2`HN#z_5%cLiv5RtdNM&|z?p2>M2q)A6@t~0#<-sUzj7NZp!xJta- z*kjD5&wjIXw`|Q$kfrC!V_#OB|Kd==5XLX5E*b^tdXejS-1k?M=5Y?=`?}^Cu4f-f zE=7YGmb~!so~dDT3i&_cl3Em76_o{Ys^kY<8timV6}KZ-9HnFgAz?-9R6RtCUtXT>LX^QwfWz4H@g?YM6}Uj$j>p0!{_GGU;^Wh z7~lhjrsh8w0#MCVWV>_YJCc9C{cz;HI$pxXh#@rl_WMga8+84Md(}v6>0J#|0tV|p zr`p=TTQhi{^{M5<(oz$`_HMew(Z4Gzk3IgG!QcK^RK9!v-eG&H z7H4PC<_Ak2yBs2LrgGlEI!EbZ-;gjQvce0hKsi{G^=<(tDaND0hdsS7sT3R>6ZEV=Vjj;hp;G>1- z$jTaok0S-zQc!$=>lrZXobTs# zi6=5L@TSykUP8jf3Jt}PisIfBAwuX39raLttkROC{<`kniboL%M+>kWk+gc9La^#3 zL5iuN%Jjv6526VOBr=CB>>V9nUtOFUS6xHIIRG#{9C&ul&PxfVsq;{hJG<_KIA`yV zEH!BX@_tZIP~i7I<3_;A@_?WJ9t#UgB9G+{xZZ)EU0~3B_1+qq_P{KO`@Ev<0AH)p z($+df%ck>6r;}rQF-?Sz@c9G5tW0yG+uOCi-_Z(<+VSlUADfK9(tpAvt#4GSs{ibp zZiw^#-(SB|MUub-;1l>zcEzy3s^rRbwB{d!Vlu>ipCThAw6x+y$05PQ3l0v3DcPT} zEH3ppvQiQZj+445F}FNqb6uJHLz!+5q%YxMSQrJnm3a`?fh3lh^`B6^fic zW@pnt@K6pR9?YU_v(M$f4W)Qa|FJPGWST@Eb|DT0K}Z_7$9z;(ZzD<9K?Kw$5afZM zM#%229Rgf{0jNmN-yZt-SHOFzjCGt&F@{ z9d*g_pM^5xt_vS+#57(?mU<0kLP7%k%V*L$XM1~^$Bz%*Z|HN( zKy`I-XQxlswlS;tyo1DGZhpQMOb+Z_T}^>djwDuqMgmddw5A5tDASTlqqeIiJT16O z-F6y}%?7jafEQ&}sRMPM|7yGP@@-Jw0S;^4i~JL4T8`UNWj*;+PL772UWR%SNOta< zrJc+d*AJMLJP;U$Zs&29<-S7aBON+R_J{dbn{|o$IwJ*Q@7QDiD&J7Ge)#aAs)|aw zvWrb8gd8_++(-uy0lrT3^51hvm2R%X88)r9?^+DZnRs}~8N(Kb#UQIk%^Jnc{`yr# zOY5njVY&|`)U_{54tcQfDbm3p1s2CEQ&U-3-6;RI;97dv)YNpQ-vTQEm@3M%P2MO^ zAuw!fYr7w51Kz`pmTq_qB7Scda7lh%A8I13sMlJKyTeg;PXfSs72%RLtK1|{ImJd{ zwm&xcXk6-sy>3B|qFnNy9<%czJG~8|b2QiCycbBnaF}gEBBFOGDU?9wHHPJad1z&A zZR9*anXdZ-JbR4- zEr}FC=cn@WnYz_BXV~lrG%Wl#OI#tEg&tt1-v?6#loE@X z({B6F%W5R^6@bU3MTgVtE5+~u(Gj*rKhJ)PMAPCegc`& z-v0ih_-QXih{L$}_+a8iVCGSG!92wQR3Y9Rvp_$paoeMX9|^OK<_Fs|ZhYi%pKzP+ z^|=8)1%C?!+-+b6QD89gRgMr2*tS~7m4BnU+mqEhRTFeJO7Hyw=Qn4Y-}|;T?3aG@ z4!CoFWahSCFI7qyVLH_5WHmH2AlDBDJLNJUl)$xsB2&NPe9%K4x12eRV*mZ(g+Jv5JopYzX1RpD=VuT z&~Q#6MIXP@#Y<>0_e;pwr12aepUKdaW#)TvDYy&Op zV17Fqz2yDiUE(OhYFvbMPPo^xB_{pqz32mWqLt{mOHSX|mmM?TQ#IHNKT;IJWKcs9 z_W$bbJD_@Q|G&S9kdc*9vQjFNN<}0UMH1QrMUpnr&?aP6qNtQo+S+?dd+)uccG}v{ z>vI48socnioBYnT0?{&Se_iMecTOd(TL^}ruFQKk3ePk7w__>a& zJn+h1cmUR{U*FxC^M)qvi9qy&E^&-(dEEKx5T&mzLl`6(jgTh1sYkDznLUVH)1$s} zQgdp0xmOtu^2hIctrj1 z;m{@nZ#Hl7mVsuoucou(n)rnBOG|UXR@HYjfAmZ|QM%q{V~n6N+pPK4mbQ8K9VN?o z2dn7SwaZdBW+|B)aSAa`c85u{CeP9UlyS|@&VCCB=o}vAJaqqoD%4}JSiLY_!219D zV{IB~&pk6n<$5x9iZ#pH2rv3Et1$^lFqbGFC|0mrQ8UcxD|<;xS7=~1h&yW=2vh3s zstFsz6y7*F(ZO_m2a!b_6iXjJ2tRnpv+}wfyMKOz@|>9fnj5{vo+A^*!nxP!pIlLN ztTW7N@QhLNP^oN9OLO)k*?C@O3CH7!UPZ!crs0b?8nASeh%hFduh=pFfl%=%mM zmnx~1?C6)K8P98#`Em;!@)LQOJoJZ)v&2SBSD_Qf7`0EDg@s;B^0PZ= z+O9k&E>mUsoddf;QoudOZ?co`=|Nk*`nZM+{wGfsCI>}wJ*?K*_KuxYA1$4(YNA>L zM-wkQv zD(>s6s7QQ5WSGwI_gK0d1*NQ`!iMO+f2t@WP-`4)u}szqYSM3Na0ze`njc2>ek#;AV_>s>*;fo(ir?;Sj|A@xCY z9OYd@1`&Pua6a&r$2DctCvT5z;&?gwh_0$DqBTP}d@1wmg#QPzWHS?Pg_l?z?5Nqa z4&q{>qEFM0VBVgvuyAonNq#MTwASYTjzEEW z863=xbI{Fw(Q1{vq$DlQ^8gTOh!?lknyg#5jw-*TgauQ~656cila19L_t1l#%0~SF zImaR-ltl({v;r0gQMt#85jW-0m=2&h%H7!W(bdHz2ro~SPp|%}vXT-T9`_U^hmh)O zxm7{%_4eB={n9OX&k~ZDs03nK3iX~H-E~dk1C2QK%oTRSbh~)Y0k&L9o9+EvSW<33ZXdK%vlq*0hx9xHx(2N_lwu zz9--Bcxv6^>A9N^q@AX&ZYaP}4SZB`XnSfP(M%d+%yPutVz;kzGouj*g1V%nq|CM3 z(XGEtskYy19b`T|6pUZ4255AZk+i~b7Xpt@VRQ3!K7(c@PStp+j8YicT)n-$3(LwB zCE4ZCsR8f>1Ajcqnr`izP^2$wGgXc2qrzF&4cG6pXA3R5nzwI@UbwIZD}%mK{N~L) z=g*%IQ)H1B+j1Nhwn`^CVhskJ3OP?wWo`90~M+MNFu1L4Cu=1_NHo^I91`eFS zh)Lrwk9&6^Cm&)Xtp0;SM&0r0Y`bdi(23R;{lp%pGjnW+s=-iP6{R5o$V;NKr%Xq( zTW@}mF+LP>p03@?L&$<3?dt88WMkCW8wssA`3p)*YctSoKHTe7fP?j$ZbA%==y#BUc<18=Kl?Hk#tOZj;cBw)un<6WQHy z3YNd64j(C&T&DTcKXhf=0Bx|Lnzy*4!`oe9I52q<*oR;7)}|lMZ)}`%G=Y4{K}@?~ z57yGcw^8bd);wCPY>%CJd_4W2^THvthqUX~!3fCHx9WTT?1;IMkrBe@T1i{4G&eV6 zT4A@o{*1XnU<-sCxPzrGUmi6-%_om?5gQq~Z{I#!s1jE0(t*r^g2}~d%*)5&%OxQ% zhzBygT<>)>=jHOtSm!;dDf2fzNALU2GU8}sQ=ork-r|polNcVG&jZU1J6?Fwj+9-o9y*Ewl&`y@G;*Z~p!*zb#Ff zAqjMXS}{Xojz4Jk32PgLI~(s{-;+g9*C(MZy6X?4_!e6rbHX^%R#*24Z^teg|A#sg zU?Xfgavf76#Zeq!slJ8kpHL+?MpxszdXr?tE;7On7$g8xIwWFSRM$mg8dQ$nC#(0U zgPx)g!U`>Wv{8>FRIFa|_;r!BhVn1nLk4v$oe-pERQM=qPVxMa~DL?*ZVs=cg zKjw+%AH_A-s!%DowJQ&@N_)P1{(RMNQv%8Q?-nwT70vpI=YiMr7C#%UZ^jGR; z^?Q0cy+0YD(*wYA7!moUvb*~Zpj}x_4L!yU0?kODJGTX9v@BaP!^%`Sefj*43ve3@UMo9DJ+qd1H z4b#5@a-~j`o_f2B_XQqtrH_bRlTM7!Tr-V0yML?AvQ#kfq=uAJm~Hvp3+mHPFqCm~?UJ)t{8iWB z7VWHM<*g~xbWxmEVa>G`kh>o|JYFXx%xpMR|7su;GA^*bf=6Cf3)+JIvbGtKxI~(( zE?q`~*)AJR%ZlgeO1QqQxH=P6N>lUt(fOg%vgQ#iyOscg_Uq7Gq=bfsMTp$mX#eQU z?o*>rj4$rLYdoMn8}a7BjOIv}WCy+Hch7suf&LF}6V#;mcK6B3c9WyamJax$zT=hT zw?=3Y%lA!$ci)g$%bI%gxQo^$$-v?!6SHr{>)Uh%Y(_d8R>^Lyn%@(Gjz2{U<0Zk? zq&I8MmL}Sza;z}p$VUGtU{i2juCc&$|hdZi!WDnkyI@m9><+F9u%D-JU zsset9gJs(2`VB`H*9TlpD3Lv=we-}$^fc=aMvvvF!BD3p70ViRFO`pRYm73|@>UaH ztgj9rn@4_esaD7G#@~Jg+|#Pcl(M9#LeJEl=)aaLDfylJqvtETvT3i2L-)-P2LtySlX9J?>r^r5usr#Tl_axIG@b=V-yZ>8j|luWB-r#!~fjtO=N z&4U6Dk72v$k2`YA2HJ6x;#)ERMfUvD$e~lTBH|It%yZT(fIjNGP<8kxKOUL9WZsq%kv=y>4vK>|}4rb?};;PdN=*u3k=~c^an3pa6>|X8@ z^vo%lQzSuGn8N==pF1j^-^c|J6k%UMQgcyqB4cB-tExU=lq$n|Dz*7p&_C-L`PT!V z%E@g5gSCF|ncaqlh9Cm9E5EJ9_-K&hFm7N_%3b^o=rF6m%TdtqpSyGC;QswRZC?9N zo%)PCD~j@HdD25IaD+l5)4oQN+6Uf!Xi7XllXV*85)*7 zU9}Dh*S;f1)*~B2#;^SUl_v1?=VwN>x^f+|^YZ*$I^iA)3<|oSc8H712_GY&Iq_8U z3k!X1mX|2-s&Hdw*B;B?B7psqW3Md4?ougUYfyY+W|c*yciQ(@RN)Whz>b*WiA0)d z-|j;C@uj((YLg-L?hDv+)is@=E5nbMvanlxX|Quhy8L|LW|Gl!c(2Cc`yu%m3LI_- zctmDS7)1OhP+%d`0zqv`7~pH`-o0hOTpQkVsH&=-SzdUE^O&RAvA9?YUlguy0cLsU z?*5o4HKS-I5qJ89bF{KBgWb)d-rNJLsMn$JxSuR9ABXRqaNswXx#JYu0=z!lMuV#wIXVj{)Ad-Uc>%Rk3}GtSLN1fCb^pL&XG z-4^nuy3sey-O^=S6h>x}HwffBNvd9ul&t&&X{I8eq|Ip$F5_eeae5HlK7^B$mg5ho z-%}JsqVjkfJWuX@INzn@rZm<;Ep*SQlPRcekDh1#TrVSKXs=CkzBBFq?6&VE-y0^1 z_xNFCqVeeOL!>OioH&K60%s|WT2~SQPgB&Z0sKy`3{~DyPH2C zNwkD%jD5 zW$|c8$=oXm?ms|%Fvt?ZD=o)5&tnDzqL}X1s^nMOGSu3dK6!ddK?8)yLxKKvRYt~0 zb$C;PIO`KR?g+ivcLzS3U1hi%?|u1{mhg!w+5VroEd_JEsuVptJ8n}`f!p6uGWq_a zlg^LUEP|kQ3*`)|Y@+Dk{GUIO7)BRw&{7EDjD)pd#|$n1+ePo+{{$8spW`Bu7cP{m zwf$;u{{j8?)ytRaKxexlSfZER^1t=aSm3vR*isSim5a+Z@|S{R!P626t>Ll!bDvep z?FTwtQbIdAI^5hAyhL$*VtJ?{m-ySAndJID0L;gj1NgZ8$?CqE&`;@bSDhqAJB#U| z4#L6M+fV$?q8r>Qibo5>*ToAL+7UR0Zqxo(QNibYjy)$`IDNHGXwxxs{(+4dIcG2K zuO1gaY33Yf%|vmuTGq%W#X*PM$cZ|{%)_$3xuA+~2jSrWr%1HXYK=55dQ5FKN*)eCMR7eQm(&Z4N+Vv>^Wpj{nS z>afEcWK=F@F%1pr4Gj;E&MsM>SUTL*=`F&()w*x1LyDDt{V|4(oc8t-4|2Y*(^50v zC99=nX);Oct%VQRpe*RP4;_l~A!%cn)O!KN8yZLZFf6ovhl zY?SG2KNQ&c7kEpr&a+{=QJ=`DtSfoQ=ERv6Rfux%j9mYOvkY&Exxv3~&Uma(LB-8_ zjZvAMztH*Z8wzHFA0=g}?Vy33KS){JarY~QP|g`XqwWhD_J=q&yRW)_-qPFCw)65YSoQX^1Mc zS#2qq%C?c!I`N*a>-IfdUYmRwjG5=VDjT$UX2sB`hl2u^NievfVZT3wvTH^7ibsM> zuRdL}H{BcB78iSL-ZX!KzWkjv%i9XujIRxk+k)XhA4tD6Kr0) zxUMrU2}Q+CsyW5q(dY15(^(#Kh?S>`#JM*K>_?*$*_kg+8E}jDiFXjwzGc)uWs?)m zlo+kCn&P-P$G~!iJTf_4*rZ^@!XoH+gSa?GTGC=8kI~6!Q01S|UUB}s65KCSPOBf1 z2!!Z$r-Qbx&B@t9Y%y=xyiPK&kQ`lqWx(mGr&ILIKHZ`+Td5_|Z=cJ#xI(GG$~AE< zWe2Z~r{0j{x@C_=i<(r<=fT1E^z*^L znPZh}_bI>1q14axIR@9(vT{qW}C;JUY+(`L| z`9BzoaGkXxl~q{S8@6m5J#Q64S&kofAvM3kdh{bKuH)dUq7eK-qj3NJeYOOto#>xj z>jfmbuHLnITKe>tittSpx7l^q3w+Ks7(K4zqErtYCWfX?>tlR;IbaBQV=@f=K7-Ig zaSK+AXuWI^79JQGxrwkEQ2rjnDhTz$Rq^I6=vSa6UqErMtg3=-p-g{x#^BP$iNjS}knkeO8<=L}b`q=l$Tgc)g z6*WzJclR@}Mj%?yR0^HdHmXClzJC2WeA4)=Ux1YvtQ)Ql-inYlG{BJkD*(ly z;Q{G2CvHa5Nvb^=9|SD`utKvFBr+dK`J-vWn7Rp=pvK`=tpN6*U2a<|_Ai|cn}G$1 zf$f|szwsh5;;zYPaF39=3o^vSjDU6e7}WDFsB?=O{?I5ajx)Py+LgZkh3SG-5?}W* z#vbiX@RZI}3#xnEYet2^b9Y z_wN`Ty+TabzhQLdQcW^qK{8n#o)$22ROO&B7sv7b$~*TmOB0I|ksWY`r%qO0!XLP$ zp8GJNXlVDktzv?Z=+tl&#r?My-Z zVn6-|RnYs>Ckfbw+=MLRGgrq&|LLv2OIabQb1UWURqb)b2+q@cFV$Wtpwt@=zg7-Y z`Dasm!BtF4ON;zUk-p*I4{znltAWx?z=)V0#E$F$jWOH?2JEvbjARlW=*IKF@9rla z90201>urQ59V+cr+5}M+<@PhdW%e(U=$ia&vcwv>L?q(8MGFiyp1_4O1_h z+SO}lX_NgIX~k*+R{!=gZM~KKa`Sp7!ELtamfV&XM{P*=PrNpo0}0s1#3=8Q((Fe2 z=FP>lT|MepVnsi%s2JXzD`U{I)2i{Vi`GuEe@zV8}}S*Og~&Ww|(HF)_-RW zs!_XS>JT;@)|Qr8Q{(#crzl+9>&>akKsbCYg)D1+e{NDceSYK=)~GmI#+_ha!SknR zr{sZ?$1l1;{=f*qpJ=|97k&xPtv%wa6TE$``mJ00VS-YJnP`q@>(;HJqN2F`CPR0g zosA7G;MwJ+@tz`6{ifyE;YIe;Nm+jWoY!+FRisbFpJUPVnLoY0rKhOR=ppyaWOlD$ zRuekoUE0SzXz8*TJ^+c=*4CbrkeEP9r)7Mu?ghVu1A{*os(RAls8uUhs>5sg=+SXB zT@-Bk40VKcQu4xne)K0P*e3j&~COENtelJte~OHgL)!FXP-OMBG61#1&iT&VpE zm|Uh8l9H1<|GoA9QBXj#e>bgXHDMz%5TshU4?-lM5JBl!?PNv^!79X3l+bGa22BGm zW{(ifKbn!zpA6VutyZ{_q=6^_(q4r)2`NO^>P>nm|QdV#d7>2ka~alSL!xQL{8$hr2=drXbzGEIP0yLqyB~~Js%b> zL*3;S$0gY{hxU!gVbg$Nx11;upmFLTJ}jU?_-;C03|c&X%xyAMuli+`<$pFJE%6_~ z@)I#(=$P*GuEU3NR}{N;;d zMn=ZcBK!el|1q61ImpV|Yi&=W@Xb-Xc<&-Y_s8f{P4!plYw0=mFp?~5;t#tac17kR}oj%GG)LiTP6Ql zm-5#^1ojh6?|^rK0S+E-Wn`zNf%8l&BRho4Xyxqtn}afS`x49U%VFaT@VGwZAY?CYORSqmdM-oQir93#=~zFV9x z?!yB@d;a#I?SK8^I=)Fou}6Oz0;y?fbfKi~F0eDVDmdW2_~f(vdH7(NiGBHZdnPI{qn=-C*$>b|qYp0`4BgG+J$*V=iV-*Y8C(qv*?YyOxlP_d zJPRg`DPxZLG3eBO2ihV~ya`cJUtfO}a2A})*#{5C7WE|knb)ebOu(_Rb@S#-_+m(_ z3N_CM23!mUYOVj;5)Vj&H&p_$k?5ItQLt3G0{_^VGmF37$IL9Y?7^$$=zJhu2-BZ@ zL>7=`jj?Vx9Fh7Hwq?R4!$*#nja$(6GK*VS;7rjf&jn{mRgPhBR$d`yyRo#1p#*_1 z4%1mc9%97)gC_`Soeq9)!iD3pTX~TH)@0u`Gy}PSRI})&AERj>Rou$aEk0aaRMdrI zQp%m@ImG5@w9(+r9uEWu7FK(4YrM$hwnoTsRN@c4Nle$;a?As>2{f`9wN+fP2u_}a zS6Ixiq7R?cgM|bfKRmp=8yvkcH|oigCv#mp_U?7Um@1&r+Bz7VGqbawf$eRcaU1;z zrVE7>>@!Udab!0%>;g%L=cmeIUwQlX?I6{JqX5hu2ni6I@SJANm>IcWf%L+_0;$E( zA&*WkTP+3U&*&oR48jgASKlC6k5G~yPWDyI@3iWoAf$c=gf%du|uy~9V39eWoP#O85a zn+#DUmj=QS*^%$ejEL#&Teq(D9vtZG6uo;l;K7RYbx?|~fB^<$Iu{*cy}Rh)@J`nm zi^uxPFehQL@F^MGz5C+B2U%C4T(EZJ2LZRM8yZG%EoUsx3*(l>=N~?7B_b9YX9RnH zL*3fR-KbiHjR6VH4q;_bw5ijLx_Fm%K)f)sg!YVG$MKCLLG!3kuw-6L>V(AkbTu&l zMT?7R@!tcGuxeH$_Hn#unz}qHnz~w~89I7sG+Z~pPfJA1*NSDzm1JFr76F7;z{9h1uGS%GW5Nn zg{Pl}LK~X%UR+o(>-%a?0wrj>FcUQArE|+EHOsM8q{bE&7W$-eFqI8@31<&G?{Am< zh7IlJ;qlQu4JzeH0Ck6LH7ygBm$;%ZNfJi2ix9&Mlmw0)+hmJgq}8c>L=Z)q0aLZX zGCcSXp+Qi7Hu1|DD-ZObf1yI;O?hEQ+ohc?eKVCcHF3q~!qCkjbRyT|I2PAE3IzPu zFgFu{^!yVNV1>16ervlB2pVb_7s8f36#~1~l3NIzJv}X}+7yFQ^CrxHIlZ>bNKQ`v zI6rTpuY8#Wg&WI4rI$uC6!z9oDdnI$C-|L7GP9CblN;Ea%;PCTj{{S2MzI8y7)f8PiNHgqVu47)S1 z=&_CVERLV1*qDM{;wlf##_%0;g=`y65>Y!x3=1W?yi|blzo*-59wd z#=*>dMRfCWG`v}w+SBa7qgCT_jc^u6t^M@R&y!y0tZascaca4o*w{Wu3ff9ag;>>yMV`W-t0fg0stpsGQW24^Tt z7BY{`%|r0;f{@?{_3_yU^V*&6Aj2ycFTNU|oRmWo&chZ_m^ViJDgXrJAKI&!2mwN=!xyxYIJ#7Ooto&$(1Lr@80>q+f|L8P99xKHBLN-W*#vConNkp z6{{g3$y-{cN?yJ!-;`je2$5L^e>aD)uv&&gi1q0R*Z>uX9mmh<3`dN${0Z{l*^DPf z>##oIq4%FC^xm?{Gk|s$#lezJ-a7VO2u^Pus71LO`yDAg=^u|M z`?|<*aB^NY?kg8TdWs#1!5R=Vd~iI$g{tD*Y3@OclzV}E+(EkFJ(d|70CR(YbdmZm6bBa{gwVw^N1w| zVX&f4tV$R;q+m^!hvAc3R5yH7d>GX$ZDe!+_6B^sh}E54MMJ{@`Yd_E!7aAfP=tx{pxI0J@eGc1%go(WHmpV&a{!rN1sDf{FRnFkpUG~{a z*d?TXW)K9YoYNj57v#P}ZluJcNO*E^a3q(71z!i~GIkQ&fxaDlJIld3()w=_tv>d* z)&IZyA|ws0+i&Q~o&Ei<{QX&AHYcYOL?#LjzQMW(0fTqIEPLH|ouUA5)QO6Tu^%~d z2M_G{y>eTygCtvylIy_afvofM)3nlSu7%;fT?cv7c%YlR>(cP|ihF+mVu>_{0*sIsH!O}z6W+_spW@f<&mMli zA6HSw1=Q$3u|n+f3+Mu#qM6~Q)g%B46GC~$GOS`d5#7+peTy3IjBw5~9Eu2%YDX@? zzOZJ)h90oQ>vx}c2fOkI7net)jI0c;{A)M%MrGY&c*C`8Lg@E`=Uvps zFyCexf-~eS!1bV)jRCKVhMUY=#g91vXHD`T$?E}D_E~I-Q{nulGqy`jJ#CeS>R~s9 zH~MY$)iu}p3l47Df6hT&Q!@uCs9f?7-j&%%(l0l_9USL9wPghbx5&g;kh9JDYxkd% zXBDy)eaR4v#3&&13PL)e3T2Li8pQD+1qPxpRZ41UX`ngHA|cZ}#dI{cu5PAP;4HBM zO=7Wy#G&4j$;+sLxngueB&p9rG*6xN?95Nz2wBPWzl1wVt7A&a(o27}p zBsvTAA7QVK5`ngALz@y0zF3165AeH4>}7(?fx|f}$^(fN`U3=()u_Pu4sN=OxW;h> z2@oto)O}3}ToGy044~AA_Yvnf*x?*%y3;-x8;U_s5Sb3e`6omr;D&KfZrm7S;PYrp zJ~$9^UzqUHA7)@;;vPjqQ1+5@yXec$A68z) 0: - model_global = copy.deepcopy(self.model) - for param in model_global.parameters(): - param.requires_grad = False - else: - model_global = None + # make a copy of model_global as reference for potential FedProx loss or SCAFFOLD + model_global = copy.deepcopy(self.model) + for param in model_global.parameters(): + param.requires_grad = False # local train self.local_train( @@ -334,8 +335,13 @@ def validate(self, shareable: Shareable, fl_ctx: FLContext, abort_signal: Signal if abort_signal.triggered: return make_reply(ReturnCode.TASK_ABORTED) - # get round information + # get validation information self.log_info(fl_ctx, f"Client identity: {fl_ctx.get_identity_name()}") + model_owner = shareable.get(ReservedHeaderKey.HEADERS).get(AppConstants.MODEL_OWNER) + if model_owner: + self.log_info(fl_ctx, f"Evaluating model from {model_owner} on {fl_ctx.get_identity_name()}") + else: + model_owner = "global_model" # evaluating global model during training # update local model weights with received weights dxo = from_shareable(shareable) @@ -344,15 +350,19 @@ def validate(self, shareable: Shareable, fl_ctx: FLContext, abort_signal: Signal # Before loading weights, tensors might need to be reshaped to support HE for secure aggregation. local_var_dict = self.model.state_dict() model_keys = global_weights.keys() + n_loaded = 0 for var_name in local_var_dict: if var_name in model_keys: weights = torch.as_tensor(global_weights[var_name], device=self.device) try: # update the local dict local_var_dict[var_name] = torch.as_tensor(torch.reshape(weights, local_var_dict[var_name].shape)) + n_loaded += 1 except Exception as e: raise ValueError("Convert weight from {} failed with error: {}".format(var_name, str(e))) self.model.load_state_dict(local_var_dict) + if n_loaded == 0: + raise ValueError(f"No weights loaded for validation! Received weight dict is {global_weights}") validate_type = shareable.get_header(AppConstants.VALIDATE_TYPE) if validate_type == ValidateType.BEFORE_TRAIN_VALIDATE: @@ -360,7 +370,7 @@ def validate(self, shareable: Shareable, fl_ctx: FLContext, abort_signal: Signal global_acc = self.local_valid(self.valid_loader, abort_signal, tb_id="val_acc_global_model", fl_ctx=fl_ctx) if abort_signal.triggered: return make_reply(ReturnCode.TASK_ABORTED) - self.log_info(fl_ctx, f"val_acc_global_model: {global_acc:.4f}") + self.log_info(fl_ctx, f"val_acc_global_model ({model_owner}): {global_acc}") return DXO(data_kind=DataKind.METRICS, data={MetaKey.INITIAL_METRICS: global_acc}, meta={}).to_shareable() @@ -369,12 +379,12 @@ def validate(self, shareable: Shareable, fl_ctx: FLContext, abort_signal: Signal train_acc = self.local_valid(self.train_loader, abort_signal) if abort_signal.triggered: return make_reply(ReturnCode.TASK_ABORTED) - self.log_info(fl_ctx, f"training acc: {train_acc:.4f}") + self.log_info(fl_ctx, f"training acc ({model_owner}): {train_acc}") val_acc = self.local_valid(self.valid_loader, abort_signal) if abort_signal.triggered: return make_reply(ReturnCode.TASK_ABORTED) - self.log_info(fl_ctx, f"validation acc: {val_acc:.4f}") + self.log_info(fl_ctx, f"validation acc ({model_owner}): {val_acc}") self.log_info(fl_ctx, "Evaluation finished. Returning shareable") diff --git a/examples/cifar10/pt/learners/cifar10_scaffold_learner.py b/examples/cifar10/pt/learners/cifar10_scaffold_learner.py new file mode 100644 index 0000000000..83a50e63d3 --- /dev/null +++ b/examples/cifar10/pt/learners/cifar10_scaffold_learner.py @@ -0,0 +1,187 @@ +# Copyright (c) 2021, NVIDIA CORPORATION. +# +# 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.0 +# +# 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. +import copy + +import torch +from pt.learners.cifar10_learner import CIFAR10Learner + +from nvflare.apis.dxo import DXO, DataKind, MetaKey, from_shareable +from nvflare.apis.fl_constant import ReturnCode +from nvflare.apis.fl_context import FLContext +from nvflare.apis.shareable import Shareable, make_reply +from nvflare.apis.signal import Signal +from nvflare.app_common.app_constant import AlgorithmConstants, AppConstants +from nvflare.app_common.pt.pt_scaffold import PTScaffoldHelper, get_lr_values + + +class CIFAR10ScaffoldLearner(CIFAR10Learner): + def __init__( + self, + dataset_root: str = "./dataset", + aggregation_epochs: int = 1, + train_task_name: str = AppConstants.TASK_TRAIN, + submit_model_task_name: str = AppConstants.TASK_SUBMIT_MODEL, + lr: float = 1e-2, + fedproxloss_mu: float = 0.0, + central: bool = False, + analytic_sender_id: str = "analytic_sender", + ): + """Simple Scaffold CIFAR-10 Trainer. + Implements the training algorithm proposed in + Karimireddy et al. "SCAFFOLD: Stochastic Controlled Averaging for Federated Learning" + (https://arxiv.org/abs/1910.06378) using functions implemented in `PTScaffoldHelper` class. + + Args: + dataset_root: directory with CIFAR-10 data. + aggregation_epochs: the number of training epochs for a round. Defaults to 1. + train_task_name: name of the task to train the model. + submit_model_task_name: name of the task to submit the best local model. + lr: local learning rate. Float number. Defaults to 1e-2. + fedproxloss_mu: weight for FedProx loss. Float number. Defaults to 0.0 (no FedProx). + central: Bool. Whether to simulate central training. Default False. + analytic_sender_id: id of `AnalyticsSender` if configured as a client component. If configured, TensorBoard events will be fired. Defaults to "analytic_sender". + + Returns: + a Shareable with the updated local model after running `execute()` + or the best local model depending on the specified task. + """ + + CIFAR10Learner.__init__( + self, + dataset_root=dataset_root, + aggregation_epochs=aggregation_epochs, + train_task_name=train_task_name, + submit_model_task_name=submit_model_task_name, + lr=lr, + fedproxloss_mu=fedproxloss_mu, + central=central, + analytic_sender_id=analytic_sender_id, + ) + self.scaffold_helper = PTScaffoldHelper() + + def initialize(self, parts: dict, fl_ctx: FLContext): + # Initialize super class and SCAFFOLD + CIFAR10Learner.initialize(self, parts=parts, fl_ctx=fl_ctx) + self.scaffold_helper.init(model=self.model) + + def local_train(self, fl_ctx, train_loader, model_global, abort_signal: Signal, val_freq: int = 0): + # local_train with SCAFFOLD steps + c_global_para, c_local_para = self.scaffold_helper.get_params() + for epoch in range(self.aggregation_epochs): + if abort_signal.triggered: + return + self.model.train() + epoch_len = len(train_loader) + self.epoch_global = self.epoch_of_start_time + epoch + self.log_info(fl_ctx, f"Local epoch {self.client_id}: {epoch + 1}/{self.aggregation_epochs} (lr={self.lr})") + + for i, (inputs, labels) in enumerate(train_loader): + if abort_signal.triggered: + return + inputs, labels = inputs.to(self.device), labels.to(self.device) + # zero the parameter gradients + self.optimizer.zero_grad() + # forward + backward + optimize + outputs = self.model(inputs) + loss = self.criterion(outputs, labels) + + # FedProx loss term + if self.fedproxloss_mu > 0: + fed_prox_loss = self.criterion_prox(self.model, model_global) + loss += fed_prox_loss + + loss.backward() + self.optimizer.step() + + # SCAFFOLD step + curr_lr = get_lr_values(self.optimizer)[0] + self.scaffold_helper.model_update( + model=self.model, curr_lr=curr_lr, c_global_para=c_global_para, c_local_para=c_local_para + ) + + current_step = epoch_len * self.epoch_global + i + self.writer.add_scalar("train_loss", loss.item(), current_step) + + if val_freq > 0 and epoch % val_freq == 0: + acc = self.local_valid(self.valid_loader, abort_signal, tb_id="val_acc_local_model", fl_ctx=fl_ctx) + if acc > self.best_acc: + self.save_model(is_best=True) + + # Update the SCAFFOLD terms + self.scaffold_helper.terms_update( + model=self.model, + curr_lr=curr_lr, + c_global_para=c_global_para, + c_local_para=c_local_para, + model_global=model_global, + ) + + def train(self, shareable: Shareable, fl_ctx: FLContext, abort_signal: Signal) -> Shareable: + # return DXO with extra control differences for SCAFFOLD + dxo_collection = from_shareable(shareable) + if dxo_collection.data_kind != DataKind.COLLECTION: + self.log_error( + fl_ctx, + f"SCAFFOLD learner expected shareable to contain a collection of two DXOs " + f"but got data kind {dxo_collection.data_kind}.", + ) + return make_reply(ReturnCode.ERROR) + dxo_global_weights = dxo_collection.data.get(AppConstants.MODEL_WEIGHTS) + dxo_global_ctrl_weights = dxo_collection.data.get(AlgorithmConstants.SCAFFOLD_CTRL_GLOBAL) + if dxo_global_ctrl_weights is None: + self.log_error(fl_ctx, "DXO collection doesn't contain the SCAFFOLD controls!") + return make_reply(ReturnCode.EXECUTION_EXCEPTION) + # convert to tensor and load into c_global model + global_ctrl_weights = dxo_global_ctrl_weights.data + for k in global_ctrl_weights.keys(): + global_ctrl_weights[k] = torch.as_tensor(global_ctrl_weights[k]) + self.scaffold_helper.load_global_controls(weights=global_ctrl_weights) + + # modify shareable to only contain global weights + shareable = dxo_global_weights.update_shareable(shareable) # TODO: add set_dxo() method to Shareable + + # local training + result_shareable = super().train(shareable, fl_ctx, abort_signal) + if result_shareable.get_return_code() == ReturnCode.OK: + # get DXO with weight updates from local training + dxo_weights_diff = from_shareable(result_shareable) + + # Create a DXO collection with weights and scaffold controls + dxo_weigths_diff_ctrl = DXO(data_kind=DataKind.WEIGHT_DIFF, data=self.scaffold_helper.get_delta_controls()) + # add same num steps as for model weights + dxo_weigths_diff_ctrl.set_meta_prop( + MetaKey.NUM_STEPS_CURRENT_ROUND, dxo_weights_diff.get_meta_prop(MetaKey.NUM_STEPS_CURRENT_ROUND) + ) + + collection_data = { + AppConstants.MODEL_WEIGHTS: dxo_weights_diff, + AlgorithmConstants.SCAFFOLD_CTRL_DIFF: dxo_weigths_diff_ctrl, + } + dxo = DXO(data_kind=DataKind.COLLECTION, data=collection_data) + + return dxo.to_shareable() + else: + return result_shareable + + def validate(self, shareable: Shareable, fl_ctx: FLContext, abort_signal: Signal) -> Shareable: + dxo = from_shareable(shareable) + + # If collection, extract only global weights to validate + if dxo.data_kind == DataKind.COLLECTION: + # create a new shareable with only model weights + shareable = copy.deepcopy(shareable) # TODO: Is this the best way? + dxo_global_weights = dxo.data.get(AppConstants.MODEL_WEIGHTS) + shareable = dxo_global_weights.update_shareable(shareable) # TODO: add set_dxo() method to Shareable + + return super().validate(shareable=shareable, fl_ctx=fl_ctx, abort_signal=abort_signal) diff --git a/examples/cifar10/pt/pt_formatter.py b/examples/cifar10/pt/pt_formatter.py deleted file mode 100755 index ba862d590d..0000000000 --- a/examples/cifar10/pt/pt_formatter.py +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright (c) 2021, NVIDIA CORPORATION. -# -# 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.0 -# -# 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. - -from nvflare.apis.dxo import DataKind, from_bytes -from nvflare.apis.fl_context import FLContext -from nvflare.app_common.abstract.formatter import Formatter -from nvflare.app_common.app_constant import AppConstants - - -class PTFormatter(Formatter): - def __init__(self) -> None: - super().__init__() - self.results = {} - - def format(self, fl_ctx: FLContext) -> str: - """The format function gets validation shareable locations from the dictionary. It loads each shareable, - get the validation results and converts it into human readable string. - - Args: - fl_ctx (FLContext): FLContext object. - - Returns: - str: Human readable validation results. - """ - # Get the val shareables - validation_shareables_dict = fl_ctx.get_prop(AppConstants.VALIDATION_RESULT, {}) - - # Result dictionary - res = {} - - try: - # This is a 2d dictionary with each validation result at - # validation_shareables_dict[data_client][model_client] - for data_client in validation_shareables_dict.keys(): - validation_dict = validation_shareables_dict[data_client] - if validation_dict: - res[data_client] = {} - for model_name in validation_dict.keys(): - dxo_path = validation_dict[model_name] - - # Load the shareable - with open(dxo_path, "rb") as f: - metric_dxo = from_bytes(f.read()) - - # Get metrics from shareable - if metric_dxo and metric_dxo.data_kind == DataKind.METRICS: - metrics = metric_dxo.data - res[data_client][model_name] = metrics - # add any results - print(f"Updating results {res}") - self.results.update(res) - print(f"Updating results {self.results}") - except Exception as e: - self.log_error(fl_ctx, f"Exception: {e.__str__()}") - - return f"{res}" diff --git a/examples/cifar10/pt/pt_model_locator.py b/examples/cifar10/pt/pt_model_locator.py deleted file mode 100755 index 0640cbbc91..0000000000 --- a/examples/cifar10/pt/pt_model_locator.py +++ /dev/null @@ -1,88 +0,0 @@ -# Copyright (c) 2021, NVIDIA CORPORATION. -# -# 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.0 -# -# 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. - -import os -from typing import List - -import torch - -from nvflare.apis.dxo import DXO, DataKind -from nvflare.apis.fl_constant import FLContextKey -from nvflare.apis.fl_context import FLContext -from nvflare.app_common.abstract.model_locator import ModelLocator -from nvflare.app_common.pt.pt_fed_utils import PTModelPersistenceFormatManager -from nvflare.app_common.app_constant import DefaultCheckpointFileName - - -class PTModelLocator(ModelLocator): - SERVER_MODEL_NAME = "server" - SERVER_BEST_MODEL_NAME = "server_best" - - def __init__( - self, model_dir="app_server", - model_name=DefaultCheckpointFileName.GLOBAL_MODEL, - best_model_name=DefaultCheckpointFileName.BEST_GLOBAL_MODEL - ): - """A ModelLocator that provides the global and best global models. - - Args: - model_dir: directory where global models are saved. - model_name: name of the saved global model. - best_model_name: name of the saved best global model. - - Returns: - a DXO depending on the specified `model_name` in `locate_model()`. - """ - super().__init__() - - self.model_dir = model_dir - self.model_file_name = model_name - self.best_model_file_name = best_model_name - - def get_model_names(self, fl_ctx: FLContext) -> List[str]: - """Returns the list of model names that should be included from server in cross site validation.add() - - Args: - fl_ctx (FLContext): FL Context object. - - Returns: - List[str]: List of model names. - """ - return [PTModelLocator.SERVER_MODEL_NAME, PTModelLocator.SERVER_BEST_MODEL_NAME] - - def locate_model(self, model_name, fl_ctx: FLContext) -> DXO: - dxo = None - engine = fl_ctx.get_engine() - - if model_name in (PTModelLocator.SERVER_MODEL_NAME, PTModelLocator.SERVER_BEST_MODEL_NAME): - run_number = fl_ctx.get_prop(FLContextKey.CURRENT_RUN) - run_dir = engine.get_workspace().get_run_dir(run_number) - model_path = os.path.join(run_dir, self.model_dir) - - if model_name == PTModelLocator.SERVER_BEST_MODEL_NAME: - model_load_path = os.path.join(model_path, self.best_model_file_name) - else: - model_load_path = os.path.join(model_path, self.model_file_name) - model_data = None - try: - model_data = torch.load(model_load_path) - self.log_info(fl_ctx, f"Loaded {model_name} model from {model_load_path}.") - except Exception as e: - self.log_error(fl_ctx, f"Unable to load model: {e}.") - - if model_data is not None: - mgr = PTModelPersistenceFormatManager(model_data) - dxo = DXO(data_kind=DataKind.WEIGHTS, data=mgr.var_dict, meta=mgr.meta) - - return dxo diff --git a/examples/cifar10/pt/validation_json_generator.py b/examples/cifar10/pt/validation_json_generator.py deleted file mode 100644 index 3a9945bc65..0000000000 --- a/examples/cifar10/pt/validation_json_generator.py +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright (c) 2021, NVIDIA CORPORATION. -# -# 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.0 -# -# 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. - -import json -import os.path - -from nvflare.apis.dxo import DataKind, from_shareable -from nvflare.apis.event_type import EventType -from nvflare.apis.fl_component import FLComponent -from nvflare.apis.fl_context import FLContext -from nvflare.app_common.app_constant import AppConstants -from nvflare.app_common.app_event_type import AppEventType - - -class ValidationJsonGenerator(FLComponent): - def __init__(self, results_dir=AppConstants.CROSS_VAL_DIR, json_file_name="cross_site_val.json"): - """A class to generate a json file with cross-site validation results. - - Args: - results_dir: directory where to save the json with cross-site validation results. - json_file_name: filename of the json to be saved. - - """ - super(ValidationJsonGenerator, self).__init__() - - self.results_dir = results_dir - self.val_results = {} - self.json_file_name = json_file_name - - def handle_event(self, event_type: str, fl_ctx: FLContext): - if event_type == EventType.START_RUN: - self.val_results.clear() - elif event_type == AppEventType.VALIDATION_RESULT_RECEIVED: - model_owner = fl_ctx.get_prop(AppConstants.MODEL_OWNER, None) - data_client = fl_ctx.get_prop(AppConstants.DATA_CLIENT, None) - val_results = fl_ctx.get_prop(AppConstants.VALIDATION_RESULT, None) - - if not model_owner: - self.log_error(fl_ctx, "model_owner unknown. Validation result will not be saved to json") - if not data_client: - self.log_error(fl_ctx, "data_client unknown. Validation result will not be saved to json") - - if val_results: - try: - dxo = from_shareable(val_results) - dxo.validate() - - if dxo.data_kind == DataKind.METRICS: - if data_client not in self.val_results: - self.val_results[data_client] = {} - self.val_results[data_client][model_owner] = dxo.data - else: - self.log_error(fl_ctx, f"Expected dxo of kind METRICS but got {dxo.data_kind} instead.") - except: - self.log_exception(fl_ctx, "Exception in handling validation result.") - else: - self.log_error(fl_ctx, "Validation result not found.") - elif event_type == EventType.END_RUN: - run_dir = fl_ctx.get_engine().get_workspace().get_run_dir(fl_ctx.get_run_number()) - cross_val_res_dir = os.path.join(run_dir, self.results_dir) - if not os.path.exists(cross_val_res_dir): - os.makedirs(cross_val_res_dir) - - res_file_path = os.path.join(cross_val_res_dir, self.json_file_name) - with open(res_file_path, "w") as f: - json.dump(self.val_results, f, indent=4) diff --git a/examples/cifar10/run_experiments.sh b/examples/cifar10/run_experiments.sh index 85e0f04237..cd29a817a9 100755 --- a/examples/cifar10/run_experiments.sh +++ b/examples/cifar10/run_experiments.sh @@ -15,8 +15,11 @@ # FedOpt ./run_secure.sh 8 cifar10_fedopt 7 0.1 +# SCAFFOLD +./run_secure.sh 8 cifar10_scaffold 8 0.1 + # FedAvg + HE -./run_secure.sh 8 cifar10_fedavg_he 8 1.0 +./run_secure.sh 8 cifar10_fedavg_he 9 1.0 # FedAvg with TensorBoard streaming -./run_secure.sh 8 cifar10_fedavg_stream_tb 9 1.0 +./run_secure.sh 8 cifar10_fedavg_stream_tb 10 1.0 diff --git a/nvflare/app_common/app_constant.py b/nvflare/app_common/app_constant.py index b18c42d662..1adaa458c1 100644 --- a/nvflare/app_common/app_constant.py +++ b/nvflare/app_common/app_constant.py @@ -149,3 +149,10 @@ class ValidateType(object): BEFORE_TRAIN_VALIDATE = "before_train_validate" MODEL_VALIDATE = "model_validate" + + +class AlgorithmConstants(object): + + SCAFFOLD_CTRL_DIFF = "scaffold_c_diff" + SCAFFOLD_CTRL_GLOBAL = "scaffold_c_global" + SCAFFOLD_CTRL_AGGREGATOR_ID = "scaffold_ctrl_aggregator" diff --git a/nvflare/app_common/handlers/intime_model_selection_handler.py b/nvflare/app_common/handlers/intime_model_selection_handler.py index 9334dd3dae..f1e4508b91 100644 --- a/nvflare/app_common/handlers/intime_model_selection_handler.py +++ b/nvflare/app_common/handlers/intime_model_selection_handler.py @@ -72,7 +72,7 @@ def _before_accept(self, fl_ctx: FLContext): self.log_exception(fl_ctx, "shareable data is not a valid DXO") return False - if dxo.data_kind not in (DataKind.WEIGHT_DIFF, DataKind.WEIGHTS): + if dxo.data_kind not in (DataKind.WEIGHT_DIFF, DataKind.WEIGHTS, DataKind.COLLECTION): self.log_debug(fl_ctx, "I cannot handle {}".format(dxo.data_kind)) return False diff --git a/nvflare/app_common/pt/pt_scaffold.py b/nvflare/app_common/pt/pt_scaffold.py new file mode 100644 index 0000000000..e4ac36f340 --- /dev/null +++ b/nvflare/app_common/pt/pt_scaffold.py @@ -0,0 +1,120 @@ +# Copyright (c) 2021-2022, NVIDIA CORPORATION. All rights reserved. +# +# 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.0 +# +# 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. + +# The SCAFFOLD-related functions are based on https://github.com/Xtra-Computing/NIID-Bench + +# MIT License +# +# Copyright (c) 2021 Yiqun Diao, Qinbin Li +# +# Copyright (c) 2020 International Business Machines +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +import copy + +import torch +from torch.optim import Optimizer + + +def get_lr_values(optimizer: Optimizer): + """ + This function is used to get the learning rates of the optimizer. + """ + return [group["lr"] for group in optimizer.state_dict()["param_groups"]] + + +class PTScaffoldHelper(object): + """Helper to be used with SCAFFOLD components. + Implements the functions used for the algorithm proposed in + Karimireddy et al. "SCAFFOLD: Stochastic Controlled Averaging for Federated Learning" + (https://arxiv.org/abs/1910.06378) using PyTorch. + SCAFFOLD-related functions are based on https://github.com/Xtra-Computing/NIID-Bench. + See also Li et al. "Federated Learning on Non-IID Data Silos: An Experimental Study" + (https://arxiv.org/abs/2102.02079). + """ + + def __init__(self): + # SCAFFOLD control terms + self.cnt = 0 + self.c_global = None + self.c_local = None + self.c_delta_para = None + + def init(self, model): + # create models for SCAFFOLD correction terms + self.c_global = copy.deepcopy(model) + self.c_local = copy.deepcopy(model) + # Initialize correction term with zeros + c_init_para = model.state_dict() + for k in c_init_para.keys(): + c_init_para[k] = torch.zeros_like(c_init_para[k]) + self.c_global.load_state_dict(c_init_para) + self.c_local.load_state_dict(c_init_para) + + def get_params(self): + self.cnt = 0 + # Adapted from https://github.com/Xtra-Computing/NIID-Bench/blob/main/experiments.py#L371 + c_global_para = self.c_global.state_dict() + c_local_para = self.c_local.state_dict() + return c_global_para, c_local_para + + def model_update(self, model, curr_lr, c_global_para, c_local_para): + # Update model using scaffold controls + # See https://github.com/Xtra-Computing/NIID-Bench/blob/main/experiments.py#L391 + net_para = model.state_dict() + for key in net_para: + net_para[key] = net_para[key] - curr_lr * (c_global_para[key] - c_local_para[key]) + model.load_state_dict(net_para) + + self.cnt += 1 + + def terms_update(self, model, curr_lr, c_global_para, c_local_para, model_global): + # Update the local scaffold controls + # See https://github.com/Xtra-Computing/NIID-Bench/blob/main/experiments.py#L403 + + c_new_para = self.c_local.state_dict() + self.c_delta_para = copy.deepcopy(self.c_local.state_dict()) + global_model_para = model_global.state_dict() + net_para = model.state_dict() + for key in net_para: + c_new_para[key] = ( + c_new_para[key] - c_global_para[key] + (global_model_para[key] - net_para[key]) / (self.cnt * curr_lr) + ) + self.c_delta_para[key] = (c_new_para[key] - c_local_para[key]).cpu().numpy() + self.c_local.load_state_dict(c_new_para) + + def load_global_controls(self, weights): + self.c_global.load_state_dict(weights) + + def get_delta_controls(self): + if self.c_delta_para is None: + raise ValueError("c_delta_para hasn't been computed yet!") + return self.c_delta_para diff --git a/nvflare/app_common/workflows/scatter_and_gather_scaffold.py b/nvflare/app_common/workflows/scatter_and_gather_scaffold.py new file mode 100644 index 0000000000..74b53ed363 --- /dev/null +++ b/nvflare/app_common/workflows/scatter_and_gather_scaffold.py @@ -0,0 +1,203 @@ +# Copyright (c) 2021-2022, NVIDIA CORPORATION. All rights reserved. +# +# 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.0 +# +# 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. +import copy +import traceback + +import numpy as np + +from nvflare.apis.dxo import DXO, DataKind, from_shareable +from nvflare.apis.fl_context import FLContext +from nvflare.apis.impl.controller import Task +from nvflare.apis.signal import Signal +from nvflare.app_common.abstract.model import model_learnable_to_dxo +from nvflare.app_common.app_constant import AlgorithmConstants, AppConstants +from nvflare.app_common.app_event_type import AppEventType +from nvflare.app_common.workflows.scatter_and_gather import ScatterAndGather + + +class ScatterAndGatherScaffold(ScatterAndGather): + def __init__( + self, + min_clients: int = 1, + num_rounds: int = 5, + start_round: int = 0, + wait_time_after_min_received: int = 10, + aggregator_id=AppConstants.DEFAULT_AGGREGATOR_ID, + persistor_id=AppConstants.DEFAULT_PERSISTOR_ID, + shareable_generator_id=AppConstants.DEFAULT_SHAREABLE_GENERATOR_ID, + train_task_name=AppConstants.TASK_TRAIN, + train_timeout: int = 0, + ignore_result_error: bool = True, + ): + """FederatedAveraging Workflow. The ScatterAndGatherScaffold workflow defines Federated training on all clients. + The model persistor (persistor_id) is used to load the initial global model which is sent to all clients. + Each clients sends it's updated weights after local training which is aggregated (aggregator_id). The + shareable generator is used to convert the aggregated weights to shareable and shareable back to weights. + The model_persistor also saves the model after training. + + Args: + min_clients (int, optional): Min number of clients in training. Defaults to 1. + num_rounds (int, optional): The total number of training rounds. Defaults to 5. + start_round (int, optional): Start round for training. Defaults to 0. + wait_time_after_min_received (int, optional): Time to wait before beginning aggregation after + contributions received. Defaults to 10. + train_timeout (int, optional): Time to wait for clients to do local training. + aggregator_id (str, optional): ID of the aggregator component. Defaults to "aggregator". + persistor_id (str, optional): ID of the persistor component. Defaults to "persistor". + shareable_generator_id (str, optional): ID of the shareable generator. Defaults to "shareable_generator". + train_task_name (str, optional): Name of the train task. Defaults to "train". + """ + + super().__init__( + min_clients=min_clients, + num_rounds=num_rounds, + start_round=start_round, + wait_time_after_min_received=wait_time_after_min_received, + aggregator_id=aggregator_id, + persistor_id=persistor_id, + shareable_generator_id=shareable_generator_id, + train_task_name=train_task_name, + train_timeout=train_timeout, + ignore_result_error=ignore_result_error, + ) + + # for SCAFFOLD + self.aggregator_ctrl = None + self._global_ctrl_weights = None + + def start_controller(self, fl_ctx: FLContext) -> None: + super().start_controller(fl_ctx=fl_ctx) + self.log_info(fl_ctx, "Initializing ScatterAndGatherScaffold workflow.") + + # for SCAFFOLD + if not self._global_weights: + self.system_panic("Global weights not available!", fl_ctx) + return + + self._global_ctrl_weights = copy.deepcopy(self._global_weights["weights"]) + # Initialize correction term with zeros + for k in self._global_ctrl_weights.keys(): + self._global_ctrl_weights[k] = np.zeros_like(self._global_ctrl_weights[k]) + # TODO: Print some stats of the correction magnitudes + + def control_flow(self, abort_signal: Signal, fl_ctx: FLContext) -> None: + try: + + self.log_info(fl_ctx, "Beginning ScatterAndGatherScaffold training phase.") + self._phase = AppConstants.PHASE_TRAIN + + fl_ctx.set_prop(AppConstants.PHASE, self._phase, private=True, sticky=False) + fl_ctx.set_prop(AppConstants.NUM_ROUNDS, self._num_rounds, private=True, sticky=False) + self.fire_event(AppEventType.TRAINING_STARTED, fl_ctx) + + for self._current_round in range(self._start_round, self._start_round + self._num_rounds): + if self._check_abort_signal(fl_ctx, abort_signal): + return + + self.log_info(fl_ctx, f"Round {self._current_round} started.") + fl_ctx.set_prop(AppConstants.GLOBAL_MODEL, self._global_weights, private=True, sticky=True) + fl_ctx.set_prop(AppConstants.CURRENT_ROUND, self._current_round, private=True, sticky=False) + self.fire_event(AppEventType.ROUND_STARTED, fl_ctx) + + # Create train_task + # get DXO with global model weights + dxo_global_weights = model_learnable_to_dxo(self._global_weights) + + # add global SCAFFOLD controls using a DXO collection + dxo_global_ctrl = DXO(data_kind=DataKind.WEIGHT_DIFF, data=self._global_ctrl_weights) + dxo_dict = { + AppConstants.MODEL_WEIGHTS: dxo_global_weights, + AlgorithmConstants.SCAFFOLD_CTRL_GLOBAL: dxo_global_ctrl, + } + dxo_collection = DXO(data_kind=DataKind.COLLECTION, data=dxo_dict) + data_shareable = dxo_collection.to_shareable() + + # add meta information + data_shareable.set_header(AppConstants.CURRENT_ROUND, self._current_round) + data_shareable.set_header(AppConstants.NUM_ROUNDS, self._num_rounds) + data_shareable.add_cookie(AppConstants.CONTRIBUTION_ROUND, self._current_round) + + train_task = Task( + name=self.train_task_name, + data=data_shareable, + props={}, + timeout=self._train_timeout, + before_task_sent_cb=self._prepare_train_task_data, + result_received_cb=self._process_train_result, + ) + + self.broadcast_and_wait( + task=train_task, + min_responses=self._min_clients, + wait_time_after_min_received=self._wait_time_after_min_received, + fl_ctx=fl_ctx, + abort_signal=abort_signal, + ) + + if self._check_abort_signal(fl_ctx, abort_signal): + return + + self.fire_event(AppEventType.BEFORE_AGGREGATION, fl_ctx) + aggr_result = self.aggregator.aggregate(fl_ctx) + + # extract aggregated weights and controls + collection_dxo = from_shareable(aggr_result) + dxo_aggr_result = collection_dxo.data.get(AppConstants.MODEL_WEIGHTS) + if not dxo_aggr_result: + self.log_error(fl_ctx, "Aggregated model weights are missing!") + return + dxo_ctrl_aggr_result = collection_dxo.data.get(AlgorithmConstants.SCAFFOLD_CTRL_DIFF) + if not dxo_ctrl_aggr_result: + self.log_error(fl_ctx, "Aggregated model weight controls are missing!") + return + + fl_ctx.set_prop(AppConstants.AGGREGATION_RESULT, aggr_result, private=True, sticky=False) + self.fire_event(AppEventType.AFTER_AGGREGATION, fl_ctx) + + if self._check_abort_signal(fl_ctx, abort_signal): + return + + # update global model using shareable generator + self.fire_event(AppEventType.BEFORE_SHAREABLE_TO_LEARNABLE, fl_ctx) + self._global_weights = self.shareable_gen.shareable_to_learnable(dxo_aggr_result.to_shareable(), fl_ctx) + + # update SCAFFOLD global controls + ctr_diff = dxo_ctrl_aggr_result.data + for v_name, v_value in ctr_diff.items(): + self._global_ctrl_weights[v_name] += v_value + fl_ctx.set_prop( + AlgorithmConstants.SCAFFOLD_CTRL_GLOBAL, self._global_ctrl_weights, private=True, sticky=True + ) + + fl_ctx.set_prop(AppConstants.GLOBAL_MODEL, self._global_weights, private=True, sticky=True) + fl_ctx.sync_sticky() + self.fire_event(AppEventType.AFTER_SHAREABLE_TO_LEARNABLE, fl_ctx) + + if self._check_abort_signal(fl_ctx, abort_signal): + return + + self.fire_event(AppEventType.BEFORE_LEARNABLE_PERSIST, fl_ctx) + self.persistor.save(self._global_weights, fl_ctx) + self.fire_event(AppEventType.AFTER_LEARNABLE_PERSIST, fl_ctx) + + self.fire_event(AppEventType.ROUND_DONE, fl_ctx) + self.log_info(fl_ctx, f"Round {self._current_round} finished.") + + self._phase = AppConstants.PHASE_FINISHED + self.log_info(fl_ctx, "Finished ScatterAndGatherScaffold Training.") + except BaseException as e: + traceback.print_exc() + error_msg = f"Exception in ScatterAndGatherScaffold control_flow: {e}" + self.log_exception(fl_ctx, error_msg) + self.system_panic(str(e), fl_ctx)