From e514969a434c87cb1b9126fd5640863bfca1cc8c Mon Sep 17 00:00:00 2001 From: Monthly Tag bot Date: Fri, 7 Jun 2024 18:06:42 +0200 Subject: [PATCH] * Adding title kwarg for plotter class * Create tutorial for Fourier Feature Embedding * Update doc for tutorials --- docs/source/_rst/_tutorial.rst | 1 + .../_rst/tutorials/tutorial13/tutorial.rst | 351 +++++++++++++ .../tutorial_files/tutorial_15_0.png | Bin 0 -> 60752 bytes .../tutorial_files/tutorial_5_8.png | Bin 0 -> 36385 bytes .../tutorial_files/tutorial_5_9.png | Bin 0 -> 41260 bytes pina/model/layers/embedding.py | 4 +- pina/plotter.py | 6 + tutorials/README.md | 2 + tutorials/tutorial13/tutorial.ipynb | 463 ++++++++++++++++++ tutorials/tutorial13/tutorial.py | 205 ++++++++ 10 files changed, 1030 insertions(+), 2 deletions(-) create mode 100644 docs/source/_rst/tutorials/tutorial13/tutorial.rst create mode 100644 docs/source/_rst/tutorials/tutorial13/tutorial_files/tutorial_15_0.png create mode 100644 docs/source/_rst/tutorials/tutorial13/tutorial_files/tutorial_5_8.png create mode 100644 docs/source/_rst/tutorials/tutorial13/tutorial_files/tutorial_5_9.png create mode 100644 tutorials/tutorial13/tutorial.ipynb create mode 100644 tutorials/tutorial13/tutorial.py diff --git a/docs/source/_rst/_tutorial.rst b/docs/source/_rst/_tutorial.rst index 9a72dd6..756d42e 100644 --- a/docs/source/_rst/_tutorial.rst +++ b/docs/source/_rst/_tutorial.rst @@ -25,6 +25,7 @@ Physics Informed Neural Networks Two dimensional Wave problem with hard constraint Resolution of a 2D Poisson inverse problem Periodic Boundary Conditions for Helmotz Equation + Multiscale PDE learning with Fourier Feature Network Neural Operator Learning ------------------------ diff --git a/docs/source/_rst/tutorials/tutorial13/tutorial.rst b/docs/source/_rst/tutorials/tutorial13/tutorial.rst new file mode 100644 index 0000000..5e70a4a --- /dev/null +++ b/docs/source/_rst/tutorials/tutorial13/tutorial.rst @@ -0,0 +1,351 @@ +Tutorial: Multiscale PDE learning with Fourier Feature Network +============================================================== + +This tutorial presents how to solve with Physics-Informed Neural +Networks (PINNs) a PDE characterized by multiscale behaviour, as +presented in `On the eigenvector bias of Fourier feature networks: From +regression to solving multi-scale PDEs with physics-informed neural +networks `__. + +First of all, some useful imports. + +.. code:: ipython3 + + import torch + + from pina import Condition, Plotter, Trainer, Plotter + from pina.problem import SpatialProblem + from pina.operators import laplacian + from pina.solvers import PINN, SAPINN + from pina.model.layers import FourierFeatureEmbedding + from pina.loss import LpLoss + from pina.geometry import CartesianDomain + from pina.equation import Equation, FixedValue + from pina.model import FeedForward + + +Multiscale Problem +------------------ + +We begin by presenting the problem which also can be found in Section 2 +of `On the eigenvector bias of Fourier feature networks: From regression +to solving multi-scale PDEs with physics-informed neural +networks `__. The +one-dimensional Poisson problem we aim to solve is mathematically +written as: + +:raw-latex:`\begin{equation} +\begin{cases} +\Delta u (x) + f(x) = 0 \quad x \in [0,1], \\ +u(x) = 0 \quad x \in \partial[0,1], \\ +\end{cases} +\end{equation}` + +We impose the solution as +:math:`u(x) = \sin(2\pi x) + 0.1 \sin(50\pi x)` and obtain the force +term +:math:`f(x) = (2\pi)^2 \sin(2\pi x) + 0.1 (50 \pi)^2 \sin(50\pi x)`. +Though this example is simple and pedagogical, it is worth noting that +the solution exhibits low frequency in the macro-scale and high +frequency in the micro-scale, which resembles many practical scenarios. + +In **PINA** this problem is written, as always, as a class `see here for +a tutorial on the Problem +class `__. +Below you can find the ``Poisson`` problem which is mathmatically +described above. + +.. code:: ipython3 + + class Poisson(SpatialProblem): + output_variables = ['u'] + spatial_domain = CartesianDomain({'x': [0, 1]}) + + def poisson_equation(input_, output_): + x = input_.extract('x') + u_xx = laplacian(output_, input_, components=['u'], d=['x']) + f = ((2*torch.pi)**2)*torch.sin(2*torch.pi*x) + 0.1*((50*torch.pi)**2)*torch.sin(50*torch.pi*x) + return u_xx + f + + # here we write the problem conditions + conditions = { + 'gamma0' : Condition(location=CartesianDomain({'x': 0}), + equation=FixedValue(0)), + 'gamma1' : Condition(location=CartesianDomain({'x': 1}), + equation=FixedValue(0)), + 'D': Condition(location=spatial_domain, + equation=Equation(poisson_equation)), + } + + def truth_solution(self, x): + return torch.sin(2*torch.pi*x) + 0.1*torch.sin(50*torch.pi*x) + + problem = Poisson() + + # let's discretise the domain + problem.discretise_domain(128, 'grid') + +A standard PINN approach would be to fit this model using a Feed Forward +(fully connected) Neural Network. For a conventional fully-connected +neural network is easy to approximate a function :math:`u`, given +sufficient data inside the computational domain. However solving +high-frequency or multi-scale problems presents great challenges to +PINNs especially when the number of data cannot capture the different +scales. + +Below we run a simulation using the ``PINN`` solver and the self +adaptive ``SAPINN`` solver, using a +```FeedForward`` `__ +model. We used a ``MultiStepLR`` scheduler to decrease the learning rate +slowly during training (it takes around 2 minutes to run on CPU). + +.. code:: ipython3 + + # training with PINN and visualize results + pinn = PINN(problem=problem, + model=FeedForward(input_dimensions=1, output_dimensions=1, layers=[100, 100, 100]), + scheduler=torch.optim.lr_scheduler.MultiStepLR, + scheduler_kwargs={'milestones' : [1000, 2000, 3000, 4000], 'gamma':0.9}) + trainer = Trainer(pinn, max_epochs=5000, accelerator='cpu', enable_model_summary=False) + trainer.train() + + # training with PINN and visualize results + sapinn = SAPINN(problem=problem, + model=FeedForward(input_dimensions=1, output_dimensions=1, layers=[100, 100, 100]), + scheduler_model=torch.optim.lr_scheduler.MultiStepLR, + scheduler_model_kwargs={'milestones' : [1000, 2000, 3000, 4000], 'gamma':0.9}) + trainer_sapinn = Trainer(sapinn, max_epochs=5000, accelerator='cpu', enable_model_summary=False) + trainer_sapinn.train() + + # plot results + pl = Plotter() + pl.plot(pinn, title='PINN Solution') + pl.plot(sapinn, title='Self Adaptive PINN Solution') + + + +.. parsed-literal:: + + GPU available: True (mps), used: False + TPU available: False, using: 0 TPU cores + IPU available: False, using: 0 IPUs + HPU available: False, using: 0 HPUs + + +.. parsed-literal:: + + Epoch 4999: 100%|██████████| 1/1 [00:00<00:00, 150.58it/s, v_num=69, gamma0_loss=2.61e+3, gamma1_loss=2.61e+3, D_loss=409.0, mean_loss=1.88e+3] + +.. parsed-literal:: + + `Trainer.fit` stopped: `max_epochs=5000` reached. + + +.. parsed-literal:: + + Epoch 4999: 100%|██████████| 1/1 [00:00<00:00, 97.66it/s, v_num=69, gamma0_loss=2.61e+3, gamma1_loss=2.61e+3, D_loss=409.0, mean_loss=1.88e+3] + + +.. parsed-literal:: + + GPU available: True (mps), used: False + TPU available: False, using: 0 TPU cores + IPU available: False, using: 0 IPUs + HPU available: False, using: 0 HPUs + + +.. parsed-literal:: + + Epoch 4999: 100%|██████████| 1/1 [00:00<00:00, 88.18it/s, v_num=70, gamma0_loss=151.0, gamma1_loss=148.0, D_loss=6.38e+5, mean_loss=2.13e+5] + +.. parsed-literal:: + + `Trainer.fit` stopped: `max_epochs=5000` reached. + + +.. parsed-literal:: + + Epoch 4999: 100%|██████████| 1/1 [00:00<00:00, 65.77it/s, v_num=70, gamma0_loss=151.0, gamma1_loss=148.0, D_loss=6.38e+5, mean_loss=2.13e+5] + + + +.. image:: tutorial_files/tutorial_5_8.png + + + +.. image:: tutorial_files/tutorial_5_9.png + + +We can clearly see that the solution has not been learned by the two +different solvers. Indeed the big problem is not in the optimization +strategy (i.e. the solver), but in the model used to solve the problem. +A simple ``FeedForward`` network can hardly handle multiscales if not +enough collocation points are used! + +We can also compute the :math:`l_2` relative error for the ``PINN`` and +``SAPINN`` solutions: + +.. code:: ipython3 + + # l2 loss from PINA losses + l2_loss = LpLoss(p=2, relative=True) + + # sample new test points + pts = pts = problem.spatial_domain.sample(100, 'grid') + print(f'Relative l2 error PINN {l2_loss(pinn(pts), problem.truth_solution(pts)).item():.2%}') + print(f'Relative l2 error SAPINN {l2_loss(sapinn(pts), problem.truth_solution(pts)).item():.2%}') + + +.. parsed-literal:: + + Relative l2 error PINN 95.76% + Relative l2 error SAPINN 124.26% + + +Which is indeed very high! + +Fourier Feature Embedding in PINA +--------------------------------- + +Fourier Feature Embedding is a way to transform the input features, to +help the network in learning multiscale variations in the output. It was +first introduced in `On the eigenvector bias of Fourier feature +networks: From regression to solving multi-scale PDEs with +physics-informed neural +networks `__ showing great +results for multiscale problems. The basic idea is to map the input +:math:`\mathbf{x}` into an embedding :math:`\tilde{\mathbf{x}}` where: + +.. math:: \tilde{\mathbf{x}} =\left[\cos\left( \mathbf{B} \mathbf{x} \right), \sin\left( \mathbf{B} \mathbf{x} \right)\right] + +and :math:`\mathbf{B}_{ij} \sim \mathcal{N}(0, \sigma^2)`. This simple +operation allow the network to learn on multiple scales! + +In PINA we already have implemented the feature as a ``layer`` called +```FourierFeatureEmbedding`` `__. +Below we will build the *Multi-scale Fourier Feature Architecture*. In +this architecture multiple Fourier feature embeddings (initialized with +different :math:`\sigma`) are applied to input coordinates and then +passed through the same fully-connected neural network, before the +outputs are finally concatenated with a linear layer. + +.. code:: ipython3 + + class MultiscaleFourierNet(torch.nn.Module): + def __init__(self): + super().__init__() + self.embedding1 = FourierFeatureEmbedding(input_dimension=1, + output_dimension=100, + sigma=1) + self.embedding2 = FourierFeatureEmbedding(input_dimension=1, + output_dimension=100, + sigma=10) + self.layers = FeedForward(input_dimensions=100, output_dimensions=100, layers=[100]) + self.final_layer = torch.nn.Linear(2*100, 1) + + def forward(self, x): + e1 = self.layers(self.embedding1(x)) + e2 = self.layers(self.embedding2(x)) + return self.final_layer(torch.cat([e1, e2], dim=-1)) + + MultiscaleFourierNet() + + + + +.. parsed-literal:: + + MultiscaleFourierNet( + (embedding1): FourierFeatureEmbedding() + (embedding2): FourierFeatureEmbedding() + (layers): FeedForward( + (model): Sequential( + (0): Linear(in_features=100, out_features=100, bias=True) + (1): Tanh() + (2): Linear(in_features=100, out_features=100, bias=True) + ) + ) + (final_layer): Linear(in_features=200, out_features=1, bias=True) + ) + + + +We will train the ``MultiscaleFourierNet`` with the ``PINN`` solver (and +feel free to try also with our PINN variants (``SAPINN``, ``GPINN``, +``CompetitivePINN``, …). + +.. code:: ipython3 + + multiscale_pinn = PINN(problem=problem, + model=MultiscaleFourierNet(), + scheduler=torch.optim.lr_scheduler.MultiStepLR, + scheduler_kwargs={'milestones' : [1000, 2000, 3000, 4000], 'gamma':0.9}) + trainer = Trainer(multiscale_pinn, max_epochs=5000, accelerator='cpu', enable_model_summary=False) # we train on CPU and avoid model summary at beginning of training (optional) + trainer.train() + + +.. parsed-literal:: + + GPU available: True (mps), used: False + TPU available: False, using: 0 TPU cores + IPU available: False, using: 0 IPUs + HPU available: False, using: 0 HPUs + + +.. parsed-literal:: + + Epoch 4999: 100%|██████████| 1/1 [00:00<00:00, 94.64it/s, v_num=71, gamma0_loss=3.91e-5, gamma1_loss=3.91e-5, D_loss=0.000151, mean_loss=0.000113] + +.. parsed-literal:: + + `Trainer.fit` stopped: `max_epochs=5000` reached. + + +.. parsed-literal:: + + Epoch 4999: 100%|██████████| 1/1 [00:00<00:00, 72.21it/s, v_num=71, gamma0_loss=3.91e-5, gamma1_loss=3.91e-5, D_loss=0.000151, mean_loss=0.000113] + + +Let us now plot the solution and compute the relative :math:`l_2` again! + +.. code:: ipython3 + + # plot the solution + pl.plot(multiscale_pinn, title='Solution PINN with MultiscaleFourierNet') + + # sample new test points + pts = pts = problem.spatial_domain.sample(100, 'grid') + print(f'Relative l2 error PINN with MultiscaleFourierNet {l2_loss(multiscale_pinn(pts), problem.truth_solution(pts)).item():.2%}') + + + +.. image:: tutorial_files/tutorial_15_0.png + + +.. parsed-literal:: + + Relative l2 error PINN with MultiscaleFourierNet 2.72% + + +It is pretty clear that the network has learned the correct solution, +with also a very law error. Obviously a longer training and a more +expressive neural network could improve the results! + +What’s next? +------------ + +Congratulations on completing the one dimensional Poisson tutorial of +**PINA** using ``FourierFeatureEmbedding``! There are multiple +directions you can go now: + +1. Train the network for longer or with different layer sizes and assert + the finaly accuracy + +2. Understand the role of ``sigma`` in ``FourierFeatureEmbedding`` (see + original paper for a nice reference) + +3. Code the *Spatio-temporal multi-scale Fourier feature architecture* + for a more complex time dependent PDE (section 3 of the original + reference) + +4. Many more… diff --git a/docs/source/_rst/tutorials/tutorial13/tutorial_files/tutorial_15_0.png b/docs/source/_rst/tutorials/tutorial13/tutorial_files/tutorial_15_0.png new file mode 100644 index 0000000000000000000000000000000000000000..c6f0e508a343db201cbe52054ad40811cabfebfe GIT binary patch literal 60752 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%0AV$&9gX}mDJJ&9 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 Yk)fXt4WmyKl18zB>(^b literal 0 HcmV?d00001 diff --git a/docs/source/_rst/tutorials/tutorial13/tutorial_files/tutorial_5_9.png b/docs/source/_rst/tutorials/tutorial13/tutorial_files/tutorial_5_9.png new file mode 100644 index 0000000000000000000000000000000000000000..1cfc02b1c427373d4e068944518d8b6871f2acd4 GIT binary patch literal 41260 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 Bj?Mr8 literal 0 HcmV?d00001 diff --git a/pina/model/layers/embedding.py b/pina/model/layers/embedding.py index adf2968..2729665 100644 --- a/pina/model/layers/embedding.py +++ b/pina/model/layers/embedding.py @@ -235,7 +235,7 @@ class FourierFeatureEmbedding(torch.nn.Module): size = (input_dimension, output_dimension // 2), requires_grad = False - ) + ) * self.sigma def forward(self, x): """ @@ -248,7 +248,7 @@ class FourierFeatureEmbedding(torch.nn.Module): # compute random matrix multiplication out = torch.mm(x, self._matrix) # return embedding - return torch.cat([torch.cos(out), torch.sin(out)], dim=-1) + return torch.cat([torch.cos(2*torch.pi*out), torch.sin(2*torch.pi*out)], dim=-1) @property diff --git a/pina/plotter.py b/pina/plotter.py index 63d8646..5d9a94a 100644 --- a/pina/plotter.py +++ b/pina/plotter.py @@ -168,6 +168,7 @@ class Plotter: method="contourf", res=256, filename=None, + title=None, **kwargs, ): """ @@ -186,6 +187,8 @@ class Plotter: Default is 'contourf'. :param int res: The resolution, aka the number of points used for plotting in each axis. Default is 256. + :param str title: The title for the plot. If None, the plot + is shown without a title. Default is None. :param str filename: The file name to save the plot. If None, the plot is shown using the setted matplotlib frontend. Default is None. """ @@ -241,6 +244,9 @@ class Plotter: ) plt.tight_layout() + if title is not None: + plt.title(title) + if filename: plt.savefig(filename) plt.close() diff --git a/tutorials/README.md b/tutorials/README.md index 1dfe601..aaccd57 100644 --- a/tutorials/README.md +++ b/tutorials/README.md @@ -19,6 +19,8 @@ Two dimensional Poisson problem using Extra Features Learning     |[[. Two dimensional Wave problem with hard constraint |[[.ipynb](tutorial3/tutorial.ipynb), [.py](tutorial3/tutorial.py), [.html](http://mathlab.github.io/PINA/_rst/tutorials/tutorial3/tutorial.html)]| Resolution of a 2D Poisson inverse problem |[[.ipynb](tutorial7/tutorial.ipynb), [.py](tutorial7/tutorial.py), [.html](http://mathlab.github.io/PINA/_rst/tutorials/tutorial7/tutorial.html)]| Periodic Boundary Conditions for Helmotz Equation |[[.ipynb](tutorial9/tutorial.ipynb), [.py](tutorial9/tutorial.py), [.html](http://mathlab.github.io/PINA/_rst/tutorials/tutorial9/tutorial.html)]| +Multiscale PDE learning with Fourier Feature Network |[[.ipynb](tutorial13/tutorial.ipynb), [.py](tutorial13/tutorial.py), [.html](http://mathlab.github.io/PINA/_rst/tutorials/tutorial13/tutorial.html)]| + ## Neural Operator Learning | Description | Tutorial | diff --git a/tutorials/tutorial13/tutorial.ipynb b/tutorials/tutorial13/tutorial.ipynb new file mode 100644 index 0000000..5af4afb --- /dev/null +++ b/tutorials/tutorial13/tutorial.ipynb @@ -0,0 +1,463 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Tutorial: Multiscale PDE learning with Fourier Feature Network\n", + "This tutorial presents how to solve with Physics-Informed Neural Networks (PINNs)\n", + "a PDE characterized by multiscale behaviour, as\n", + "presented in [*On the eigenvector bias of Fourier feature networks: From regression to solving\n", + "multi-scale PDEs with physics-informed neural networks*](\n", + "https://doi.org/10.1016/j.cma.2021.113938). \n", + "\n", + "First of all, some useful imports." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import torch\n", + "\n", + "from pina import Condition, Plotter, Trainer, Plotter\n", + "from pina.problem import SpatialProblem\n", + "from pina.operators import laplacian\n", + "from pina.solvers import PINN, SAPINN\n", + "from pina.model.layers import FourierFeatureEmbedding\n", + "from pina.loss import LpLoss\n", + "from pina.geometry import CartesianDomain\n", + "from pina.equation import Equation, FixedValue\n", + "from pina.model import FeedForward\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Multiscale Problem\n", + "\n", + "We begin by presenting the problem which also can be found in Section 2 of [*On the eigenvector bias of Fourier feature networks: From regression to solving\n", + "multi-scale PDEs with physics-informed neural networks*](\n", + "https://doi.org/10.1016/j.cma.2021.113938). The one-dimensional Poisson problem we aim to solve is mathematically written as:\n", + "\n", + "\\begin{equation}\n", + "\\begin{cases}\n", + "\\Delta u (x) + f(x) = 0 \\quad x \\in [0,1], \\\\\n", + "u(x) = 0 \\quad x \\in \\partial[0,1], \\\\\n", + "\\end{cases}\n", + "\\end{equation}\n", + "\n", + "We impose the solution as $u(x) = \\sin(2\\pi x) + 0.1 \\sin(50\\pi x)$ and obtain the force term $f(x) = (2\\pi)^2 \\sin(2\\pi x) + 0.1 (50 \\pi)^2 \\sin(50\\pi x)$.\n", + "Though this example is simple and pedagogical, it is worth noting that\n", + "the solution exhibits low frequency in the macro-scale and high frequency in the micro-scale, which resembles many\n", + "practical scenarios.\n", + "\n", + "\n", + "In **PINA** this problem is written, as always, as a class [see here for a tutorial on the Problem class](https://mathlab.github.io/PINA/_rst/tutorials/tutorial1/tutorial.html). Below you can find the `Poisson` problem which is mathmatically described above." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "class Poisson(SpatialProblem):\n", + " output_variables = ['u']\n", + " spatial_domain = CartesianDomain({'x': [0, 1]})\n", + "\n", + " def poisson_equation(input_, output_):\n", + " x = input_.extract('x')\n", + " u_xx = laplacian(output_, input_, components=['u'], d=['x'])\n", + " f = ((2*torch.pi)**2)*torch.sin(2*torch.pi*x) + 0.1*((50*torch.pi)**2)*torch.sin(50*torch.pi*x)\n", + " return u_xx + f\n", + "\n", + " # here we write the problem conditions\n", + " conditions = {\n", + " 'gamma0' : Condition(location=CartesianDomain({'x': 0}),\n", + " equation=FixedValue(0)),\n", + " 'gamma1' : Condition(location=CartesianDomain({'x': 1}),\n", + " equation=FixedValue(0)),\n", + " 'D': Condition(location=spatial_domain,\n", + " equation=Equation(poisson_equation)),\n", + " }\n", + "\n", + " def truth_solution(self, x):\n", + " return torch.sin(2*torch.pi*x) + 0.1*torch.sin(50*torch.pi*x)\n", + "\n", + "problem = Poisson()\n", + "\n", + "# let's discretise the domain\n", + "problem.discretise_domain(128, 'grid')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A standard PINN approach would be to fit this model using a Feed Forward (fully connected) Neural Network. For a conventional fully-connected neural network is easy to\n", + "approximate a function $u$, given sufficient data inside the computational domain. However solving high-frequency or multi-scale problems presents great challenges to PINNs especially when the number of data cannot capture the different scales.\n", + "\n", + "Below we run a simulation using the `PINN` solver and the self adaptive `SAPINN` solver, using a [`FeedForward`](https://mathlab.github.io/PINA/_modules/pina/model/feed_forward.html#FeedForward) model. We used a `MultiStepLR` scheduler to decrease the learning rate slowly during training (it takes around 2 minutes to run on CPU)." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: True (mps), used: False\n", + "TPU available: False, using: 0 TPU cores\n", + "IPU available: False, using: 0 IPUs\n", + "HPU available: False, using: 0 HPUs\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 4999: 100%|██████████| 1/1 [00:00<00:00, 150.58it/s, v_num=69, gamma0_loss=2.61e+3, gamma1_loss=2.61e+3, D_loss=409.0, mean_loss=1.88e+3] " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "`Trainer.fit` stopped: `max_epochs=5000` reached.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 4999: 100%|██████████| 1/1 [00:00<00:00, 97.66it/s, v_num=69, gamma0_loss=2.61e+3, gamma1_loss=2.61e+3, D_loss=409.0, mean_loss=1.88e+3] \n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: True (mps), used: False\n", + "TPU available: False, using: 0 TPU cores\n", + "IPU available: False, using: 0 IPUs\n", + "HPU available: False, using: 0 HPUs\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 4999: 100%|██████████| 1/1 [00:00<00:00, 88.18it/s, v_num=70, gamma0_loss=151.0, gamma1_loss=148.0, D_loss=6.38e+5, mean_loss=2.13e+5] " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "`Trainer.fit` stopped: `max_epochs=5000` reached.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 4999: 100%|██████████| 1/1 [00:00<00:00, 65.77it/s, v_num=70, gamma0_loss=151.0, gamma1_loss=148.0, D_loss=6.38e+5, mean_loss=2.13e+5]\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxYAAAMsCAYAAADJXzRsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAACNjklEQVR4nOzdd3hUZcLG4efMpHcSUiih9w4JoVlQUayLoqhIb4Ig9ro21v1cUNe101tAROzYXXUVld6R3jtJCJCEJKTOfH+cEIy0hJQzk/zu65qLZDJz5pmhneec97yv4XQ6nQIAAACAUrBZHQAAAACA+6NYAAAAACg1igUAAACAUqNYAAAAACg1igUAAACAUqNYAAAAACg1igUAAACAUqNYAAAAACg1igUAAACAUqNYAABc1rhx42QYRplvt169eho8eHCZbxcAqjKKBQC4oNmzZ8swjMKbj4+PmjRpovvvv1+JiYmFj/vll19kGIY+/vjjs57r4+OjQ4cOnbXt7t27q1WrVkXuq1evngzD0NixY896/Lle43yOHj2qBx98UM2aNZOvr68iIiIUFxenJ598Uunp6SX5CEptyZIlGjdunFJSUir0dQGgqqJYAIALe/HFFzV37ly988476tq1qyZNmqQuXbooMzPzos/Nzs7WhAkTSvR606ZN0+HDhy8p6/HjxxUbG6s5c+bopptu0ltvvaVHHnlEjRo10qRJk5ScnHxJ271US5Ys0T/+8Y9zFott27Zp2rRpFZoHACo7D6sDAADO74YbblBsbKwkafjw4QoLC9N//vMfLVy4UH379r3gc9u1a6dp06bp6aefVs2aNS/6Wi1bttS2bds0YcIEvfXWWyXOOmPGDO3fv1+LFy9W165di/wsLS1NXl5eJd5mefH29rY6AgBUOpyxAAA3cvXVV0uS9uzZc9HH/v3vf1d+fn6xz1rUq1dPAwcOvOSzFrt27ZLdblfnzp3P+llQUJB8fHyK3PfRRx8pJiZGvr6+ql69uvr373/OoVt/tnfvXhmGodmzZ5/1M8MwNG7cOEnmtRmPP/64JKl+/fqFQ8r27t1b+F7/eo3F7t271adPH4WGhsrPz0+dO3fW119/XeQxp4eFffjhh3rppZdUu3Zt+fj46JprrtHOnTsvmB0AKjuKBQC4kV27dkmSwsLCLvrY+vXrl7goPPPMM8rLyyvxECpJqlu3rvLz8zV37tyLPnb27Nm68847ZbfbNX78eI0YMUKffvqpLrvssjK5JqJ3796FZ3Ref/11zZ07V3PnzlV4ePg5H5+YmKiuXbvq+++/1+jRo/XSSy8pKytLf/vb3/TZZ5+d9fgJEybos88+02OPPaann35ay5YtU79+/UqdGwDcGUOhAMCFpaamKjk5WVlZWVq8eLFefPFF+fr66uabby7W85955hnNmTNHL7/8st58882LPr5BgwYaMGBA4RCqGjVqFDvr0KFD9frrr2vw4MGaMGGCunfvriuuuEI33nijgoODCx+Xm5urJ598Uq1atdKvv/5aeCbjsssu080336zXX39d//jHP4r9uufSpk0bdejQQfPnz9ett96qevXqXfDxEyZMUGJion777TdddtllkqQRI0aoTZs2euSRR9SrVy/ZbGeOxWVlZWndunWFw7uqVaumBx98UBs3bjzrwngAqCo4YwEALqxHjx4KDw9XdHS07r77bgUEBOizzz5TrVq1ivX800Vh6tSpOnLkSLGe8+yzz17SWYvIyEitX79eo0aN0okTJzR58mTdc889ioiI0D//+U85nU5J0qpVq5SUlKTRo0cXGR510003qVmzZmcNP6oI33zzjeLi4gpLhSQFBATo3nvv1d69e7V58+Yijx8yZEiRa0Yuv/xySeZwKgCoqigWAODC3n33Xf3www/6+eeftXnzZu3evVs9e/Ys0TZKWhQupYycVqNGDU2aNElHjhzRtm3b9NZbbyk8PFzPP/+8ZsyYIUnat2+fJKlp06ZnPb9Zs2aFP69I+/btO2ee5s2bF/78z+rUqVPk+2rVqkmSTpw4UU4JAcD1USwAwIXFxcWpR48e6t69u5o3b15kOE5xNWjQQP379y9RUTh9rcXLL79c4teTzAupmzRporFjx+rXX3+VzWbTvHnzLmlbf93uueTn55d62yVht9vPef/pszIAUBVRLACgCjh91qK4RaFhw4bq37+/pkyZUuKzFn/VoEEDVatWrXA7devWlWSuJfFX27ZtK/z5uZw+M/DXC7zPdZajJCt2161b95x5tm7dWiQzAOD8KBYAUAX8uSgkJCQU6znPPvuscnNz9corrxTr8cuXL1dGRsZZ969YsULHjh0rHGoUGxuriIgITZ48WdnZ2YWP+/bbb7VlyxbddNNN532NoKAgVa9eXb/++muR+ydOnHjWY/39/SWdXULO5cYbb9SKFSu0dOnSwvsyMjI0depU1atXTy1atLjoNgCgqmNWKACoIp555hnNnTtX27ZtU8uWLS/6+NNlJD4+vljbnzt3rubNm6fbbrtNMTEx8vLy0pYtWzRz5kz5+Pjo73//uyTJ09NTL7/8soYMGaIrr7xSffv2VWJiot58803Vq1dPDz/88AVfZ/jw4ZowYYKGDx+u2NhY/frrr9q+fftZj4uJiSl833fffbc8PT11yy23FBaOP3vqqac0f/583XDDDXrggQcUGhqq+Ph47dmzR5988sklDUEDgKqGYgEAVUSjRo1KVBQk86zFe++9V6xrGEaOHCk/Pz/99NNPWrhwodLS0hQeHq7rrrtOTz/9tNq3b1/42MGDB8vPz08TJkzQk08+KX9/f9122216+eWXFRIScsHXef7553X06FF9/PHH+vDDD3XDDTfo22+/VURERJHHdezYUf/85z81efJkfffdd3I4HNqzZ885i0VkZKSWLFmiJ598Um+//baysrLUpk0bffnllxc8gwIAOMNwcqUZAAAAgFLi3C4AAACAUqNYAAAAACg1igUAAACAUqNYAAAAACg1igUAAACAUqNYAAAAACg1t1/HwuFw6PDhwwoMDJRhGFbHAQAAACoNp9OpkydPqmbNmhddLNTti8Xhw4cVHR1tdQwAAACg0jpw4IBq1659wce4fbEIDAyUZL7ZoKAgi9MAAAAAlUdaWpqio6ML97kvxO2LxenhT0FBQRQLAAAAoBwU55IDLt4GAAAAUGoUCwAAAAClRrEAAAAAUGpuf40FAACoGvLz85Wbm2t1DKBS8fT0lN1uL5NtUSwAAIBLczqdSkhIUEpKitVRgEopJCREUVFRpV4TjmIBAABc2ulSERERIT8/PxbEBcqI0+lUZmamkpKSJEk1atQo1fYoFgAAwGXl5+cXloqwsDCr4wCVjq+vryQpKSlJERERpRoWxcXbAADAZZ2+psLPz8/iJEDldfrvV2mvYaJYAAAAl8fwJ6D8lNXfL4oFAAAAgFKjWAAAAFRh3bt310MPPWR1jHI3btw4tWvXrsJeb/bs2QoJCSn1dn755RcZhuEWs6JRLAAAAMrB4MGDZRiGJkyYUOT+zz//3K2Gds2ePVuGYej6668vcn9KSooMw9Avv/xS7G0NHjxYt956a9kGrETOVfK6du2qI0eOKDg42JpQJUCxAAAAKCc+Pj56+eWXdeLEiQp/7bJcTNDDw0M//vijfv755zLbZkVxOp3Ky8uzOsYl8/LyKpM1JioCxQIAAKCc9OjRQ1FRURo/fvwFH/f777/r8ssvl6+vr6Kjo/XAAw8oIyOj8OeGYejzzz8v8pyQkBDNnj1bkrR3714ZhqEFCxboyiuvlI+Pj+bNm6djx46pb9++qlWrlvz8/NS6dWvNnz+/xO/D399fQ4cO1VNPPXXBxx04cEB33nmnQkJCFBoaql69emnv3r2SzKFI8fHxWrhwoQzDKDzbcccdd+j+++8v3MZDDz0kwzC0detWSVJOTo78/f31448/SpKys7P1wAMPKCIiQj4+Prrsssu0cuXKwuefHjr07bffKiYmRt7e3vr999/Pyrpr1y41aNBA999/v5xO51k/dzqdGjdunOrUqSNvb2/VrFlTDzzwQOHPT5w4oYEDB6patWry8/PTDTfcoB07dpz3sznX2ZqHHnpI3bt3L/z5okWL9OabbxZ+Pnv37j3nUKhPPvlELVu2lLe3t+rVq6fXXnutyHbr1aunf/3rXxo6dKgCAwNVp04dTZ069bzZygrFAgAAuBWn06nMnDxLbufaAb0Qu92uf/3rX3r77bd18ODBcz5m165duv7663X77bdrw4YNWrBggX7//fciO9vF9dRTT+nBBx/Uli1b1LNnT2VlZSkmJkZff/21Nm7cqHvvvVcDBgzQihUrSrztcePG6Y8//tDHH398zp/n5uaqZ8+eCgwM1G+//abFixcrICBA119/vXJycvTYY4/pzjvv1PXXX68jR47oyJEj6tq1q6688soiw6kWLVqk6tWrF963cuVK5ebmqmvXrpKkJ554Qp988oni4+O1Zs0aNWrUSD179tTx48fP+iwmTJigLVu2qE2bNkV+tmHDBl122WW655579M4775zzbMAnn3yi119/XVOmTNGOHTv0+eefq3Xr1oU/Hzx4sFatWqUvvvhCS5culdPp1I033njJZ4refPNNdenSRSNGjCj8fKKjo8963OrVq3XnnXfq7rvv1h9//KFx48bpueeeKyyZp7322muKjY3V2rVrNXr0aN13333atm3bJWUrLhbIAwAAbuVUbr5aPP+9Ja+9+cWe8vMq2e7Tbbfdpnbt2umFF17QjBkzzvr5+PHj1a9fv8Kx9Y0bN9Zbb72lK6+8UpMmTZKPj0+xX+uhhx5S7969i9z32GOPFX49duxYff/99/rwww8VFxdXovdRs2ZNPfjgg3rmmWfOeZ3EggUL5HA4NH369MId9VmzZikkJES//PKLrrvuOvn6+io7O1tRUVGFz+vevbsefPBBHT16VB4eHtq8ebOee+45/fLLLxo1apR++eUXdezYUX5+fsrIyNCkSZM0e/Zs3XDDDZKkadOm6YcfftCMGTP0+OOPF273xRdf1LXXXntWziVLlujmm2/WM888o0cfffS873f//v2KiopSjx495OnpqTp16hR+Zjt27NAXX3yhxYsXFxaeefPmKTo6Wp9//rn69OlTos9WkoKDg+Xl5SU/P78in89f/ec//9E111yj5557TpLUpEkTbd68Wa+++qoGDx5c+Lgbb7xRo0ePliQ9+eSTev311/Xzzz+radOmJc5WXJyxAAAAKGcvv/yy4uPjtWXLlrN+tn79es2ePVsBAQGFt549e8rhcGjPnj0lep3Y2Ngi3+fn5+uf//ynWrdurdDQUAUEBOj777/X/v37L+l9PPnkkzp69Khmzpx5zvexc+dOBQYGFr6P0NBQZWVladeuXefdZqtWrRQaGqpFixbpt99+U/v27XXzzTdr0aJFkswzGKeHC+3atUu5ubnq1q1b4fM9PT0VFxd31mf7189CMsvCtddeq+eff/6CpUKS+vTpo1OnTqlBgwYaMWKEPvvss8JrNbZs2SIPDw916tSp8PFhYWFq2rTpOX+Py9KWLVuKvH9J6tatm3bs2KH8/PzC+/58lsYwDEVFRSkpKalcs3HGAgAAuBVfT7s2v9jTste+FFdccYV69uypp59+ushRZUlKT0/XyJEji4zfP61OnTqSzB3Dvw7DOteQG39//yLfv/rqq3rzzTf1xhtvqHXr1vL399dDDz2knJycS3ofISEhevrpp/WPf/xDN99881nvIyYmRvPmzTvreeHh4efdpmEYuuKKK/TLL7/I29tb3bt3V5s2bZSdna2NGzdqyZIlRc66FNdfP4vTOWrWrKn58+dr6NChCgoKOu/zo6OjtW3bNv3444/64YcfNHr0aL366quFhaekbDZbsX4Py4qnp2eR7w3DkMPhKLfXkygWAADAzRiGUeLhSK5gwoQJateu3VlDUTp06KDNmzerUaNG531ueHi4jhw5Uvj9jh07lJmZedHXXLx4sXr16qX+/ftLkhwOh7Zv364WLVpc4rswh1O99dZbevPNN4vc36FDBy1YsEARERHn3WH38vIqclT9tCuvvFLTpk2Tt7e3XnrpJdlsNl1xxRV69dVXlZ2dXXiEvmHDhvLy8tLixYtVt25dSebO+cqVK4u1Foevr6+++uor3XjjjerZs6f++9//KjAw8IKPv+WWW3TLLbdozJgxatasmf744w81b95ceXl5Wr58eeFQqGPHjmnbtm3n/WzDw8O1cePGIvetW7euSAE43+fzZ82bN9fixYuL3Ld48WI1adJEdvulFd+ywlAoAACACtC6dWv169dPb731VpH7n3zySS1ZskT333+/1q1bpx07dmjhwoVFLt6++uqr9c4772jt2rVatWqVRo0addYR6XNp3LixfvjhBy1ZskRbtmzRyJEjlZiYWKr34ePjo3/84x9nvY9+/fqpevXq6tWrl3777Tft2bNHv/zyix544IHCC9fr1aunDRs2aNu2bUpOTi48Yt+9e3dt3rxZmzZt0mWXXVZ437x58xQbG1t49sHf31/33XefHn/8cX333XfavHmzRowYoczMTA0bNqxY+f39/fX111/Lw8NDN9xwg9LT08/5uNmzZ2vGjBnauHGjdu/erffee0++vr6qW7euGjdurF69emnEiBH6/ffftX79evXv31+1atVSr169zrm9q6++WqtWrdKcOXO0Y8cOvfDCC2cVjXr16mn58uXau3evkpOTz3mG4dFHH9VPP/2kf/7zn9q+fbvi4+P1zjvvXNJZnbJGsQAAAKggL7744lk7i23atNGiRYu0fft2XX755Wrfvr2ef/551axZs/Axr732mqKjo3X55Zfrnnvu0WOPPSY/P7+Lvt6zzz6rDh06qGfPnurevbuioqLKZIG6QYMGqUGDBkXu8/Pz06+//qo6deqod+/eat68uYYNG6asrKzCMxgjRoxQ06ZNFRsbq/Dw8MIj761bt1ZISIjatWungIAASWaxyM/PL7y+4rQJEybo9ttv14ABA9ShQwft3LlT33//vapVq1bs/AEBAfr222/ldDp10003FZna97SQkBBNmzZN3bp1U5s2bfTjjz/qyy+/VFhYmCTzwvSYmBjdfPPN6tKli5xOp7755pvzFr6ePXvqueee0xNPPKGOHTvq5MmT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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxYAAAMsCAYAAADJXzRsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAACgmUlEQVR4nOzdd3gU1R7G8Xc2vYcSCIQQCL03AemgICIoKKgUFSzYCyr2jr33rldQEUFFsKGCAtJ7ryEktNAhndSd+8eYYCBA+mST7+d58ty7s7Ozv90A7rvnnN8xTNM0BQAAAADF4LC7AAAAAACuj2ABAAAAoNgIFgAAAACKjWABAAAAoNgIFgAAAACKjWABAAAAoNgIFgAAAACKjWABAAAAoNgIFgAAAACKjWABoNIbM2aM6tWrl+dYcnKybrrpJoWGhsowDI0bN65Ua6hXr57GjBlTqs9xJrGxsTIMQxMnTrTl+Su7efPmyTAMzZs3r0Svm9+fawAoTQQLAC5nw4YNGjZsmCIiIuTt7a2wsDD169dP7777bok9xwsvvKCJEyfqtttu01dffaVrr732nI/Jzs5W7dq1ZRiGZs2aVWK1lJRvvvlGb731lt1l5MoJNDk/bm5uqlu3ri6//HKtXbs2z7mGYejOO+/M97E//PDDadd++umnZRiGjhw5kntszJgxMgxDrVu3lmmapz3m1Oc4k4yMDL399ttq166dAgMDFRwcrBYtWujmm2/W1q1bC/EOFF9cXJyefvrp094vALCDu90FAEBhLF68WH369FHdunU1duxYhYaGas+ePVq6dKnefvtt3XXXXSXyPH///bfOP/98PfXUU4V6zP79+1WvXj1NnjxZAwYMKJFaSso333yjjRs3njb6EhERoRMnTsjDw8OWukaMGKFLLrlE2dnZ2rJliz788EPNmjVLS5cuVdu2bc/5+AkTJuiKK66QYRgFer4NGzZo+vTpGjp0aJHqHTp0qGbNmqURI0Zo7NixyszM1NatW/XLL7+oa9euatq0aZGuWxRxcXF65plnVK9evdPeq08//VROp7PMagEAggUAl/L8888rKChIK1asUHBwcJ77Dh06VGLPc+jQITVv3rxQj/n666/Vvn17jR49Wo8++qhSUlLk5+dXYjWVFsMw5O3tbdvzt2/fXtdcc03u7W7duumyyy7Thx9+qI8//visj23btq3Wrl2rH3/8UVdcccU5n8vHx0fh4eGFDiM5VqxYoV9++UXPP/+8Hn300Tz3vffee4qPjy/U9UqTXUERQOXFVCgALiU6OlotWrQ4LVRIUo0aNU479vXXX6tDhw7y8fFR1apVNXz4cO3Zs+eM18+Z7x4TE6Nff/01d7pNbGzsWes6ceKEfvzxRw0fPlxXXXWVTpw4oZkzZ552nmmaeu6551SnTh35+vqqT58+2rRp02nnHTt2TOPHj1erVq3k7++vwMBADRgwQOvWrcu33qlTp+rRRx9VaGio/Pz8dNlll+V5nb1799avv/6qXbt25b6mnPn3p66xeO2112QYhnbt2nVaXY888og8PT11/Pjx3GPLli3TxRdfrKCgIPn6+qpXr15atGjRWd+vs7ngggskSTExMec8d/jw4WrcuLEmTJiQ7/SmUzkcDj3++ONav369fvzxx0LXFh0dLckKP6dyc3NTtWrV8hxbs2aNBgwYoMDAQPn7++vCCy/U0qVLz/k8Z1pz07t3b/Xu3VuS9bvv2LGjJOn666/P/b3m/B7zW2ORkpKi+++/X+Hh4fLy8lKTJk302muvnfbe5UwLmzFjhlq2bCkvLy+1aNFCv//++zlrB1B5ESwAuJSIiAitWrVKGzduPOe5zz//vK677jo1atRIb7zxhsaNG6e//vpLPXv2POM3y82aNdNXX32l6tWrq23btvrqq6/01VdfKSQk5KzP9dNPPyk5OVnDhw9XaGioevfurcmTJ5923pNPPqknnnhCbdq00auvvqrIyEhddNFFSklJyXPezp07NWPGDA0aNEhvvPGGHnjgAW3YsEG9evVSXFxcvq/1119/1UMPPaS7775bs2fPVt++fXXixAlJ0mOPPaa2bduqevXqua/pTOstrrrqKhmGoWnTpp1237Rp03TRRRepSpUqkqzpXz179lRiYqKeeuopvfDCC4qPj9cFF1yg5cuXn/U9O5OcD++nfkjPj5ubmx5//HGtW7euwEFh5MiRatSoUYHDyH9FRERIkiZPnqysrKyznrtp0yb16NFD69at04MPPqgnnnhCMTEx6t27t5YtW1ao581Ps2bNNGHCBEnSzTffnPt77dmzZ77nm6apyy67TG+++aYuvvhivfHGG2rSpIkeeOAB3Xfffaedv3DhQt1+++0aPny4XnnlFaWlpWno0KE6evRosWsHUEGZAOBC/vzzT9PNzc10c3Mzu3TpYj744IPmH3/8YWZkZOQ5LzY21nRzczOff/75PMc3bNhguru75zk+evRoMyIiIs95ERER5sCBAwtc16BBg8xu3brl3v7kk09Md3d389ChQ7nHDh06ZHp6epoDBw40nU5n7vFHH33UlGSOHj0691haWpqZnZ2d5zliYmJMLy8vc8KECbnH5s6da0oyw8LCzMTExNzj06ZNMyWZb7/9du6xgQMHnvY6c64ryfziiy9yj3Xp0sXs0KFDnvOWL19uSjK//PJL0zRN0+l0mo0aNTL79++f5/Wkpqaa9evXN/v163emtyvP8z7zzDPm4cOHzQMHDpjz5s0z27VrZ0oyf/jhh9xzJZl33HHHaY999dVXzaysLLNRo0ZmmzZtcut46qmnTEnm4cOHcx8zevRo08/PzzRN05w0aZIpyZw+ffoZnyM/TqfT7NWrlynJrFmzpjlixAjz/fffN3ft2nXauUOGDDE9PT3N6Ojo3GNxcXFmQECA2bNnz9xjOb/DuXPn5h6LiIjI8+chR69evcxevXrl3l6xYsVpv7v/vt7//r5nzJhhSjKfe+65POcNGzbMNAzD3LFjR+4xSaanp2eeY+vWrTMlme+++25+bw0AmIxYAHAp/fr105IlS3TZZZdp3bp1euWVV9S/f3+FhYXpp59+yj1v+vTpcjqduuqqq3TkyJHcn9DQUDVq1Ehz584tsZqOHj2qP/74QyNGjMg9NnTo0NO+9Z8zZ44yMjJ011135Znbn18rWy8vLzkc1j/R2dnZOnr0qPz9/dWkSROtXr36tPOvu+46BQQE5N4eNmyYatWqpd9++61Ir+nqq6/WqlWrckcPJGnq1Kny8vLS4MGDJUlr165VVFSURo4cqaNHj+a+xykpKbrwwgv1zz//FGjx8FNPPaWQkJDckZ7o6Gi9/PLLBVozIeUdtZgxY0aBHjNq1KgijVoYhqE//vhDzz33nKpUqaIpU6bojjvuUEREhK6++urckbDs7Gz9+eefGjJkiCIjI3MfX6tWLY0cOVILFy5UYmJigZ+3JPz2229yc3PT3Xffnef4/fffL9M0T+tk1rdvXzVo0CD3duvWrRUYGKidO3eWSb0AXA/BAoDL6dixo6ZPn67jx49r+fLleuSRR5SUlKRhw4Zp8+bNkqSoqCiZpqlGjRopJCQkz8+WLVtKdKH31KlTlZmZqXbt2mnHjh3asWOHjh07ps6dO+eZDpWzZqFRo0Z5Hh8SEpI7tSiH0+nUm2++qUaNGsnLy0vVq1dXSEiI1q9fr4SEhNNqOPWahmGoYcOG51wbciZXXnmlHA6Hpk6dKsmaRvPdd9/lrheQrPdYkkaPHn3ae/zZZ58pPT0931pPdfPNN2v27Nn666+/tGrVKh06dEgPPvhgoeodNWqUGjZsWOCgkBNG1q5dW+AwksPLy0uPPfaYtmzZori4OE2ZMkXnn3++pk2bltuu9vDhw0pNTVWTJk1Oe3yzZs3kdDrPutanNOzatUu1a9fOE0Bz6sm5/7/q1q172jWqVKmSZ30NAPwXXaEAuCxPT0917NhRHTt2VOPGjXX99dfru+++01NPPSWn05m7n4Sbm9tpj/X39y+xOnLCQ34LeiVrvcR/v7UuiBdeeEFPPPGEbrjhBj377LOqWrWqHA6Hxo0bVyYtRGvXrq0ePXpo2rRpevTRR7V06VLt3r1bL7/8cu45OXW8+uqrZ2wLW5D3uVGjRurbt2+x6s0JCmPGjMl30Xx+Ro0apWeffVYTJkzQkCFDivS8tWrV0vDhwzV06FC1aNFC06ZNK5GNBs/UrSo7OzvfP8+l4UzPU5gRHgCVC8ECQIVw3nnnSZL2798vSWrQoIFM01T9+vXVuHHjUnvemJgYLV68WHfeead69eqV5z6n06lrr71W33zzjR5//PHchb9RUVF5gsbhw4dP+xb4+++/V58+ffT555/nOR4fH6/q1aufVkfO6EEO0zS1Y8cOtW7dOvdYYVurXn311br99tu1bds2TZ06Vb6+vrr00ktz78+ZJhMYGFjsYFASrrnmGj333HN65plndNlll53z/KKEkTPx8PBQ69atFRUVpSNHjigkJES+vr7atm3baedu3bpVDodD4eHhZ7xelSpV8m0wsGvXrjx/dgrzO42IiNCcOXOUlJSUZ9QiZ1O/nD+fAFBUTIUC4FLmzp2b7zemOWsJcqaeXHHFFXJzc9Mzzzxz2vmmaZZYZ5uc0YoHH3xQw4YNy/Nz1VVXqVevXrnn9O3bVx4eHnr33Xfz1JRfdyY3N7fT6v7uu++0b9++fOv48ssvlZSUlHv7+++/1/79+/Ns0ufn51egqUk5hg4dKjc3N02ZMkXfffedBg0alGdfjg4dOqhBgwZ67bXXlJycfNrjDx8+XODnKgn/nd703/U2Z3PNNdeoYcOGeuaZZwp0flRUlHbv3n3a8fj4eC1ZskRVqlRRSEiI3NzcdNFFF2nmzJl5pqMdPHhQ33zzjbp37547pSw/DRo00NKlS5WRkZF77Jdffjlt+lTO76Mg+2fkbEL43nvv5Tn+5ptvyjCMcrehIwDXw4gFAJdy1113KTU1VZdffrmaNm2qjIwMLV68WFOnTlW9evV0/fXXS7I+mD333HN65JFHFBsbqyFDhiggIEAxMTH68ccfdfPNN2v8+PHFrmfy5Mlq27btGb99vuyyy3TXXXdp9erVat++vcaPH68XX3xRgwYN0iWXXKI1a9Zo1qxZp41CDBo0SBMmTND111+vrl27asOGDZo8efIZp1RVrVpV3bt31/XXX6+DBw/qrbfeUsOGDTV27Njcczp06KCpU6fqvvvuU8eOHeXv759nBOJUNWrUUJ8+ffTGG28oKSlJV199dZ77HQ6HPvvsMw0YMEAtWrTQ9ddfr7CwMO3bt09z585VYGCgfv7554K+lSUiZ3rT2rVrC3S+m5ubHnvssdw/N+eybt06jRw5UgMGDFCPHj1UtWpV7du3T5MmTVJcXJzeeuut3ClEzz33nGbPnq3u3bvr9ttvl7u7uz7++GOlp6frlVdeOevz3HTTTfr+++918cUX66qrrlJ0dLS+/vrrPIupJevPeXBwsD766CMFBATIz89PnTt3Vv369U+75qWXXqo+ffroscceU2xsrNq0aaM///xTM2fO1Lhx4067NgAUmi29qACgiGbNmmXecMMNZtOmTU1/f3/T09PTbNiwoXnXXXeZBw8ePO38H374wezevbvp5+dn+vn5mU2bNjXvuOMOc9u2bbnnFLXd7KpVq0xJ5hNPPHHGc2JjY01J5r333muapmlmZ2ebzzzzjFmrVi3Tx8fH7N27t7lx48bT2oumpaWZ999/f+553bp1M5csWXJau9GcVqVTpkwxH3nkEbNGjRqmj4+POXDgwNNaoCYnJ5sjR440g4ODTUm5rzm/drM5Pv30U1OSGRAQYJ44cSLf17hmzRrziiuuMKtVq2Z6eXmZERER5lVXXWX+9ddfZ33//tsy9lx0lnazp/riiy9MSWdtN/tfmZmZZoMGDQrUbvbgwYPmSy+9ZPbq1cusVauW6e7ublapUsW84IILzO+///6081evXm3279/f9Pf3N319fc0+ffqYixcvznNOfu1mTdM0X3/9dTMsLMz08vIyu3XrZq5cufK0379pmubMmTPN5s2bm+7u7nl+j/n9uU5KSjLvvfdes3bt2qaHh4fZqFEj89VXX83TLtg0z9x690xtcAHANE3TME1WYQGAq5o3b5769Omj7777TsOGDbO7HABAJcYaCwAAAADFRrAAAAAAUGwECwAAAADFxhoLAAAAAMXGiAUAAACAYiNYAAAAACg2l98gz+l0Ki4uTgEBATIMw+5yAAAAgArDNE0lJSWpdu3acjjOPibh8sEiLi7ujDveAgAAACi+PXv2qE6dOmc9x+WDRUBAgCTrxQYGBtpcDQAAAFBxJCYmKjw8PPcz99m4fLDImf4UGBhIsAAAAABKQUGWHLB4GwAAAECxESwAAAAAFBvBAgAAAECxufwaCwAAUDlkZ2crMzPT7jKACsXDw0Nubm4lci2CBQAAKNdM09SBAwcUHx9vdylAhRQcHKzQ0NBi7wlHsAAAAOVaTqioUaOGfH192RAXKCGmaSo1NVWHDh2SJNWqVatY1yNYAACAcis7Ozs3VFSrVs3ucoAKx8fHR5J06NAh1ahRo1jToli8DQAAyq2cNRW+vr42VwJUXDl/v4q7holgAQAAyj2mPwGlp6T+fhEsAAAAABQbwQIAAKAS6927t8aNG2d3GaXu6aefVtu2bcvs+SZOnKjg4OBiX2fevHkyDMMluqIRLAAAAErBmDFjZBiGXnrppTzHZ8yY4VJTuyZOnCjDMHTxxRfnOR4fHy/DMDRv3rwCX2vMmDEaMmRIyRZYgeQX8rp27ar9+/crKCjInqIKgWABAABQSry9vfXyyy/r+PHjZf7cJbmZoLu7u+bMmaO5c+eW2DXLimmaysrKsruMIvP09CyRPSbKAsECAACglPTt21ehoaF68cUXz3rewoUL1aNHD/n4+Cg8PFx33323UlJScu83DEMzZszI85jg4GBNnDhRkhQbGyvDMDR16lT16tVL3t7emjx5so4ePaoRI0YoLCxMvr6+atWqlaZMmVLo1+Hn56cbbrhBDz/88FnP27Nnj6666ioFBweratWqGjx4sGJjYyVZU5EmTZqkmTNnyjCM3NGOYcOG6c4778y9xrhx42QYhrZu3SpJysjIkJ+fn+bMmSNJSk9P1913360aNWrI29tb3bt314oVK3IfnzN1aNasWerQoYO8vLy0cOHC02qNjo5WZGSk7rzzTpmmedr9pmnq6aefVt26deXl5aXatWvr7rvvzr3/+PHjuu6661SlShX5+vpqwIABioqKOuN7k99ozbhx49S7d+/c++fPn6+333479/2JjY3NdyrUDz/8oBYtWsjLy0v16tXT66+/nue69erV0wsvvKAbbrhBAQEBqlu3rj755JMz1lZSCBYAAMClmKap1IwsW37y+wB6Nm5ubnrhhRf07rvvau/evfmeEx0drYsvvlhDhw7V+vXrNXXqVC1cuDDPh+2Cevjhh3XPPfdoy5Yt6t+/v9LS0tShQwf9+uuv2rhxo26++WZde+21Wr58eaGv/fTTT2vDhg36/vvv870/MzNT/fv3V0BAgBYsWKBFixbJ399fF198sTIyMjR+/HhdddVVuvjii7V//37t379fXbt2Va9evfJMp5o/f76qV6+ee2zFihXKzMxU165dJUkPPvigfvjhB02aNEmrV69Ww4YN1b9/fx07duy09+Kll17Sli1b1Lp16zz3rV+/Xt27d9fIkSP13nvv5Tsa8MMPP+jNN9/Uxx9/rKioKM2YMUOtWrXKvX/MmDFauXKlfvrpJy1ZskSmaeqSSy4p8kjR22+/rS5dumjs2LG57094ePhp561atUpXXXWVhg8frg0bNujpp5/WE088kRsyc7z++us677zztGbNGt1+++267bbbtG3btiLVVlBskAcAAFzKicxsNX/yD1uee/OE/vL1LNzHp8svv1xt27bVU089pc8///y0+1988UWNGjUqd259o0aN9M4776hXr1768MMP5e3tXeDnGjdunK644oo8x8aPH5/7/++66y798ccfmjZtmjp16lSo11G7dm3dc889euyxx/JdJzF16lQ5nU599tlnuR/Uv/jiCwUHB2vevHm66KKL5OPjo/T0dIWGhuY+rnfv3rrnnnt0+PBhubu7a/PmzXriiSc0b9483XrrrZo3b546duwoX19fpaSk6MMPP9TEiRM1YMAASdKnn36q2bNn6/PPP9cDDzyQe90JEyaoX79+p9W5ePFiDRo0SI899pjuv//+M77e3bt3KzQ0VH379pWHh4fq1q2b+55FRUXpp59+0qJFi3IDz+TJkxUeHq4ZM2boyiuvLNR7K0lBQUHy9PSUr69vnvfnVG+88YYuvPBCPfHEE5Kkxo0ba/PmzXr11Vc1ZsyY3PMuueQS3X777ZKkhx56SG+++abmzp2rJk2aFLq2gmLEAgAAoJS9/PLLmjRpkrZs2XLafevWrdPEiRPl7++f+9O/f385nU7FxMQU6nnOO++8PLezs7P17LPPqlWrVqpatar8/f31xx9/aPfu3UV6HQ899JAOHz6s//3vf/m+jh07diggICD3dVStWlVpaWmKjo4+4zVbtmypqlWrav78+VqwYIHatWunQYMGaf78+ZKsEYyc6ULR0dHKzMxUt27dch/v4eGhTp06nfbenvpeSFZY6Nevn5588smzhgpJuvLKK3XixAlFRkZq7Nix+vHHH3PXamzZskXu7u7q3Llz7vnVqlVTkyZN8v0dl6QtW7bkef2S1K1bN0VFRSk7Ozv32H9HaQzDUGhoqA4dOlSqtTFiAQAAXIqPh5s2T+hv23MXRc+ePdW/f3898sgjeb5VlqTk5GTdcssteebv56hbt64k64PhqdOw8pty4+fnl+f2q6++qrfffltvvfWWWrVqJT8/P40bN04ZGRlFeh3BwcF65JFH9Mwzz2jQoEGnvY4OHTpo8uTJpz0uJCTkjNc0DEM9e/bUvHnz5OXlpd69e6t169ZKT0/Xxo0btXjx4jyjLgV16nuRU0ft2rU1ZcoU3XDDDQoMDDzj48PDw7Vt2zbNmTNHs2fP1u23365XX301N/AUlsPhKNDvsKR4eHjkuW0YhpxOZ6k9n0SwAAAALsYwjEJPRyoPXnrpJbVt2/a0qSjt27fX5s2b1bBhwzM+NiQkRPv378+9HRUVpdTU1HM+56JFizR48GBdc801kiSn06nt27erefPmRXwV1nSqd955R2+//Xae4+3bt9fUqVNVo0aNM35g9/T0zPOteo5evXrp008/lZeXl55//nk5HA717NlTr776qtLT03O/oW/QoIE8PT21aNEiRURESLI+nK9YsaJAe3H4+Pjol19+0SWXXKL+/fvrzz//VEBAwFnPv/TSS3XppZfqjjvuUNOmTbVhwwY1a9ZMWVlZWrZsWe5UqKNHj2rbtm1nfG9DQkK0cePGPMfWrl2bJwCc6f35r2bNmmnRokV5ji1atEiNGzeWm1vRgm9JYSoUAABAGWjVqpVGjRqld955J8/xhx56SIsXL9add96ptWvXKioqSjNnzsyzePuCCy7Qe++9pzVr1mjlypW69dZbT/tGOj+NGjXS7NmztXjxYm3ZskW33HKLDh48WKzX4e3trWeeeea01zFq1ChVr15dgwcP1oIFCxQTE6N58+bp7rvvzl24Xq9ePa1fv17btm3TkSNHcr+x7927tzZv3qxNmzape/fuuccmT56s8847L3f0wc/PT7fddpseeOAB/f7779q8ebPGjh2r1NRU3XjjjQWq38/PT7/++qvc3d01YMAAJScn53vexIkT9fnnn2vjxo3auXOnvv76a/n4+CgiIkKNGjXS4MGDNXbsWC1cuFDr1q3TNddco7CwMA0ePDjf611wwQVauXKlvvzyS0VFRempp546LWjUq1dPy5YtU2xsrI4cOZLvCMP999+vv/76S88++6y2b9+uSZMm6b333ivSqE5JI1gAAACUkQkTJpz2YbF169aaP3++tm/frh49eqhdu3Z68sknVbt27dxzXn/9dYWHh6tHjx4aOXKkxo8fL19f33M+3+OPP6727durf//+6t27t0JDQ0tkg7rRo0crMjIyzzFfX1/9888/qlu3rq644go1a9ZMN954o9LS0nJHMMaOHasmTZrovPPOU0hISO43761atVJwcLDatm0rf39/SVawyM7Ozl1fkeOll17S0KFDde2116p9+/basWOH/vjjD1WpUqXA9fv7+2vWrFkyTVMDBw7M09o3R3BwsD799FN169ZNrVu31pw5c/Tzzz+rWrVqkqyF6R06dNCgQYPUpUsXmaap33777YyBr3///nriiSf04IMPqmPHjkpKStJ1112X55zx48fLzc1NzZs3V0hISL5rYdq3b69p06bp22+/VcuWLfXkk09qwoQJp02xs4NhFrZvWjmTmJiooKAgJSQknHWeHAAAcD1paWmKiYlR/fr1C9UdCUDBne3vWWE+azNiAQAAAKDYCBYAAAAAio1gAQAAAKDYCBYAAAAAio1gAQAAAKDYCBYAAAAAio1gAQAAAKDYCBYlIC0zWwuiDttdBgAAAGAbgkUxxadm6LL3Fur6L1Zo3Z54u8sBAAAAbEGwKKYgHw81rOGvLKepu79do+T0LLtLAgAAKBHz5s2TYRiKj48v1nViY2NlGIbWrl1bInWhfCJYFJNhGHrx8tYKC/bRrqOpenLGRrtLAgAANjMM46w/Tz/9tN0llpoxY8ZoyJAheY6Fh4dr//79atmypT1FoUwQLEpAkK+H3h7eVg5Dmr5mn6av3mt3SQAAwEb79+/P/XnrrbcUGBiY59j48eNzzzVNU1lZFXvGg5ubm0JDQ+Xu7m53KShFBIsScl69qhrXt7Ek6amZm3QgIc3migAAgF1CQ0Nzf4KCgmQYRu7trVu3KiAgQLNmzVKHDh3k5eWlhQsX5vtN/7hx49S7d+/c206nUy+++KLq168vHx8ftWnTRt9///1Za/nggw/UqFEjeXt7q2bNmho2bFjufenp6br77rtVo0YNeXt7q3v37lqxYsUZr/X000+rbdu2eY699dZbqlevXu79kyZN0syZM3NHZ+bNm5fvVKj58+erU6dO8vLyUq1atfTwww/nCVi9e/fW3XffrQcffFBVq1ZVaGhohR7pqQiIjSXojj4N9ffWQ1q7J16Pz9igT687T4Zh2F0WAAAVi2lKman2PLeHr1RC/21/+OGH9dprrykyMlJVqlQp0GNefPFFff311/roo4/UqFEj/fPPP7rmmmsUEhKiXr16nXb+ypUrdffdd+urr75S165ddezYMS1YsCD3/gcffFA//PCDJk2apIiICL3yyivq37+/duzYoapVqxb6NY0fP15btmxRYmKivvjiC0lS1apVFRcXl+e8ffv26ZJLLtGYMWP05ZdfauvWrRo7dqy8vb3zhIdJkybpvvvu07Jly7RkyRKNGTNG3bp1U79+/QpdG0ofwaIEuTkMvTKstQa+s0BzthzSz+v367I2te0uCwCAiiUzVXrBpv++PhonefqVyKUmTJhQqA/I6enpeuGFFzRnzhx16dJFkhQZGamFCxfq448/zjdY7N69W35+fho0aJACAgIUERGhdu3aSZJSUlL04YcfauLEiRowYIAk6dNPP9Xs2bP1+eef64EHHij0a/L395ePj4/S09MVGhp6xvM++OADhYeH67333pNhGGratKni4uL00EMP6cknn5TDYU2qad26tZ566ilJUqNGjfTee+/pr7/+IliUU0yFKmGNawbozj6NJElP/7RJR5PTba4IAACUR+edd16hzt+xY4dSU1PVr18/+fv75/58+eWXio6Ozvcx/fr1U0REhCIjI3Xttddq8uTJSk21Rnuio6OVmZmpbt265Z7v4eGhTp06acuWLUV/YQWwZcsWdenSJc/Mjm7duik5OVl7955cq9q6des8j6tVq5YOHTpUqrWh6BixKAW39W6gWRv3a+uBJL01J0rPDqEDAgAAJcbD1xo5sOu5S4ifX96RD4fDIdM08xzLzMzM/f/JycmSpF9//VVhYWF5zvPy8sr3OQICArR69WrNmzdPf/75p5588kk9/fTTZ11HcTbnqrGkeXh45LltGIacTmepPR+KhxGLUuDp7tDTl7WQJE1ZvluxR1JsrggAgArEMKzpSHb8lOLayZCQEO3fvz/Psf8udm7evLm8vLy0e/duNWzYMM9PeHj4Ga/r7u6uvn376pVXXtH69esVGxurv//+Ww0aNJCnp6cWLVqUe25mZqZWrFih5s2bn7HGAwcO5AkXp+5N4enpqezs7LO+1mbNmmnJkiV5rrNo0SIFBASoTp06Z30syi+CRSk5P7KaejcJUZbT1Buzt9tdDgAAKOcuuOACrVy5Ul9++aWioqL01FNPaePGk/tjBQQEaPz48br33ns1adIkRUdHa/Xq1Xr33Xc1adKkfK/5yy+/6J133tHatWu1a9cuffnll3I6nWrSpIn8/Px022236YEHHtDvv/+uzZs3a+zYsUpNTdWNN96Y7/V69+6tw4cP65VXXlF0dLTef/99zZo1K8859erV0/r167Vt2zYdOXIk3xGN22+/XXv27NFdd92lrVu3aubMmXrqqad033335a6vgOvhN1eKHujfRJL007o4bdyXYHM1AACgPOvfv7+eeOIJPfjgg+rYsaOSkpJ03XXX5Tnn2Wef1RNPPKEXX3xRzZo108UXX6xff/1V9evXz/eawcHBmj59ui644AI1a9ZMH330kaZMmaIWLayZFS+99JKGDh2qa6+9Vu3bt9eOHTv0xx9/nLFLVbNmzfTBBx/o/fffV5s2bbR8+fI8e3JI0tixY9WkSROdd955CgkJyTMikiMsLEy//fabli9frjZt2ujWW2/VjTfeqMcff7wobx3KCcM8daKci0lMTFRQUJASEhIUGBhodzmnuXvKGv20Lk49G4foyxs62V0OAAAuJS0tTTExMapfv768vb3tLgeokM7296wwn7UZsShl91/UWO4OQ/9sP6z1e+PtLgcAAAAoFQSLUhZRzU+X/ruXxacLYmyuBgAAACgdBIsycFMPa97jbxv2a1/8CZurAQAAAEoewaIMtKgdpK4NqinbaeqLhYxaAAAAoOIhWJSRsT0iJUnfrtijxLTS20gGAICKyMV7zQDlWkn9/SJYlJFejUPUsIa/ktOzNHX5HrvLAQDAJeTsvJyammpzJUDFlfP369SdzgvLvSSKwbk5HIZu6l5fD0/foK+W7tKN3evL4Si93TsBAKgI3NzcFBwcrEOHDkmSfH19ZZTi7tdAZWKaplJTU3Xo0CEFBwfLzc2tWNcjWJShwW3D9MJvW7T7WKr+iTqs3k1q2F0SAADlXmhoqCTlhgsAJSs4ODj371lxECzKkI+nm4Z1CNf/FsXo66W7CBYAABSAYRiqVauWatSoocxM1ikCJcnDw6PYIxU5CBZlbNT5dfW/RTH6e+sh7Ys/obBgH7tLAgDAJbi5uZXYByAAJY/F22WsQYi/ujaoJqcpTVm22+5yAAAAgBJBsLDBtedHSJK+XbFbGVlOm6sBAAAAio9gYYO+zWuqRoCXjiRn6I9NB+wuBwAAACg2goUNPNwcGt6priTp66W7bK4GAAAAKD6ChU1GdAqXm8PQsphj2n4wye5yAAAAgGIhWNikVpCP+jaz2s1OZtQCAAAALo5gYaNr/l3EPX31PqWkZ9lcDQAAAFB0BAsbdWtQXfWr+ykpPUsz18bZXQ4AAABQZAQLGzkchkZ1PrmI2zRNmysCAAAAioZgYbNhHerIy92hzfsTtWZPvN3lAAAAAEVCsLBZsK+nLm1TW5L09RIWcQMAAMA1ESzKgZxF3L9s2K/jKRk2VwMAAAAUHsGiHGhTJ0itwoKUkeXUd6v22F0OAAAAUGgEi3LAMAxdc761iHvyst1yOlnEDQAAANdCsCgnLm1TWwHe7tp1NFX/RB22uxwAAACgUAgW5YSvp7uu7BAuSfpgXjStZwEAAOBSCBblyM09I+Xp7tDymGNaEn3U7nIAAACAAiNYlCOhQd4a2claa/HmnO2MWgAAAMBlECzKmdt6N5Cnu0MrYo9rMaMWAAAAcBEEi3KmZuB/Ri1mM2oBAAAA10CwKIdu791AXu4Ordx1XL9u2G93OQAAAMA5ESzKoRqB3rqtdwNJ0oSfNyspLdPmigAAAICzI1iUU7f2aqB61Xx1KCldb86OsrscAAAA4KwIFuWUt4ebJgxuKUmauDhGm+ISbK4IAAAAODOCRTnWs3GIBrauJacpPfj9eqVnZdtdEgAAAJAvgkU599Sg5qri66FNcYl6/c/tdpcDAAAA5ItgUc7VCPTWy0NbS5I++WenFkYdsbkiAAAA4HQECxdwUYtQjexs7W1x37S1OpaSYXNFAAAAQF4ECxfxxMDmahDip0NJ6Xroh/VsnAcAAIByhWDhInw83fT28HbycDM0e/NBfbN8t90lAQAAALkIFi6kZViQHuzfVJL07C+bteNQks0VAQAAABaChYu5sXt99WhUXWmZTt09ZS0taAEAAFAuECxcjMNh6LUr26iKr4c276cFLQAAAMoHgoULqhnorVeGtZFEC1oAAACUD6UaLP755x9deumlql27tgzD0IwZM/Lcb5qmnnzySdWqVUs+Pj7q27evoqKiSrOkCqNf85oaRQtaAAAAlBOlGixSUlLUpk0bvf/++/ne/8orr+idd97RRx99pGXLlsnPz0/9+/dXWlpaaZZVYTw+sLka1vDXoaR0vfjbFrvLAQAAQCVmmGW0IYJhGPrxxx81ZMgQSdZoRe3atXX//fdr/PjxkqSEhATVrFlTEydO1PDhwwt03cTERAUFBSkhIUGBgYGlVX65tXr3cV3xwWIZhvTb3T3UrFblew8AAABQOgrzWdu2NRYxMTE6cOCA+vbtm3ssKChInTt31pIlS874uPT0dCUmJub5qcza162iQa1ryTSlFxi1AAAAgE1sCxYHDhyQJNWsWTPP8Zo1a+bel58XX3xRQUFBuT/h4eGlWqcreOjipvJ0c2hB1BHN23bI7nIAAABQCblcV6hHHnlECQkJuT979uyxuyTbhVf11eiuEZKsUYtsZ5nMbgMAAABy2RYsQkNDJUkHDx7Mc/zgwYO59+XHy8tLgYGBeX4g3dmnkYJ8PLT9YLL+3HTmER8AAACgNNgWLOrXr6/Q0FD99ddfuccSExO1bNkydenSxa6yXFaQr4dGd7FGLT6aH60yWpMPAAAASCrlYJGcnKy1a9dq7dq1kqwF22vXrtXu3btlGIbGjRun5557Tj/99JM2bNig6667TrVr187tHIXCua5rPXm5O7Rub4KWxRyzuxwAAABUIu6lefGVK1eqT58+ubfvu+8+SdLo0aM1ceJEPfjgg0pJSdHNN9+s+Ph4de/eXb///ru8vb1Ls6wKq7q/l648r46+XrpbH8+P1vmR1ewuCQAAAJVEme1jUVoq+z4Wp4o9kqI+r8+TaUp/jOupJqEBdpcEAAAAF+US+1igdNSr7qcBLa3F758u2GlzNQAAAKgsCBYV0E09IiVJP62L0/GUDJurAQAAQGVAsKiA2oUHq0XtQGVkOfX9qr12lwMAAIBKgGBRARmGoVGdrdaz3yzfLScb5gEAAKCUESwqqMFta8vfy10xR1K0OPqo3eUAAACggiNYVFB+Xu66on2YJOnrpbtsrgYAAAAVHcGiArvmfGs61OwtB3UgIc3magAAAFCRESwqsMY1A9SpXlVlO019u2K33eUAAACgAiNYVHCjzq8rSfp2+R5lZTttrgYAAAAVFcGigru4Zaiq+XnqQGKa/tp6yO5yAAAAUEERLCo4L3c3XXleuCQWcQMAAKD0ECwqgVGd68owpAVRRxR7JMXucgAAAFABESwqgfCqvurVOESStWEeAAAAUNIIFpXENf/uxP3dyj1Ky8y2uRoAAABUNASLSqJP0xqqHeSt46mZmrVxv93lAAAAoIIhWFQSbg5DIzpZrWe/Xsp0KAAAAJQsgkUlcnWncLk7DK3adVxb9ifaXQ4AAAAqEIJFJVIjwFv9W4RKovUsAAAAShbBopLJ2Yl7xpp9Sk7PsrkaAAAAVBQEi0qmS2Q1RYb4KSUjWz+u3mt3OQAAAKggCBaVjGEYuu58q/XsJwt2KivbaXNFAAAAqAgIFpXQ1R3rqpqfp/YcO6Gf1sXZXQ4AAAAqAIJFJeTj6aabekRKkt6fu0PZTtPmigAAAODqCBaV1DXn11WQj4eiD6fo940H7C4HAAAALo5gUUkFeHtoTNd6kqR3/46SaTJqAQAAgKIjWFRi13erJz9PN209kKSZa1lrAQAAgKIjWFRiwb6eur1PQ0nSC79tYV8LAAAAFBnBopK7sXt9RVTz1aGkdL0/d4fd5QAAAMBFESwqOW8PNz0+sLkk6fMFMYo5kmJzRQAAAHBFBAuob7Ma6tk4RBnZTj05cyMLuQEAAFBoBAvIMAw9dWlzebk7tCDqiL5cssvukgAAAOBiCBaQJDUI8dcjA5pKshZy7ziUZHNFAAAAcCUEC+S6rks99WwcovQsp+75dq0yspx2lwQAAAAXQbBALofD0KvDWquKr4c2xSXq5d+32l0SAAAAXATBAnnUDPTWK8PaSJI+Xxij3zcesLkiAAAAuAKCBU7Tr3lNje1RX5L0wPfrtPtoqs0VAQAAoLwjWCBfD17cVO3rBispLUt3fLOa9RYAAAA4K4IF8uXh5tB7I9sr2NdDG/Yl6N2/o+wuCQAAAOUYwQJnVDvYRy9c3kqS9P7cHVq167jNFQEAAKC8IljgrC5pVUuXtwuT05Tum7ZWKelZdpcEAACAcohggXN6+rIWqh3krV1HU/XqH9vsLgcAAADlEMEC5xTk46GXhraWJH21dJeiDrIrNwAAAPIiWKBAejYOUb/mNZXtNPXsr1tkmqbdJQEAAKAcIVigwB67pJk83Az9s/2w5m47ZHc5AAAAKEcIFiiwetX9dEM3a+O8537Zwt4WAAAAyEWwQKHceUFDVff31M4jKZq5dp/d5QAAAKCcIFigUAK8PTS2R6Qk6cP50cp2stYCAAAABAsUwajzIxTo7a6dh1P056YDdpcDAACAcoBggULz93LX6K71JEkfzIumQxQAAAAIFiia67vVl4+HmzbsS9DCHUfsLgcAAAA2I1igSKr6eWp4p3BJ0kfzo22uBgAAAHYjWKDIbuoRKYchLdpxVDsOsRs3AABAZUawQJGFBfvowmY1JUlfL91tczUAAACwE8ECxXLt+RGSpB9W7VVKepbN1QAAAMAuBAsUS/eG1VW/up+S0rM0gw3zAAAAKi2CBYrF4TA0qnNdSdJXS3bRehYAAKCSIlig2K7sEC5vD4e2HkjSyl3H7S4HAAAANiBYoNiCfD10WZvakqRvlrGIGwAAoDIiWKBEjOxsLeL+dcN+HU/JsLkaAAAAlDWCBUpEmzpBalE7UBlZTv2weq/d5QAAAKCMESxQIgzD0Mh/F3F/s3w3i7gBAAAqGYIFSszgtmHy83TTzsMpWrrzmN3lAAAAoAwRLFBi/L3cdVnbMEnS5GW7bK4GAAAAZYlggRKVs6fFH5sO6Ehyus3VAAAAoKwQLFCiWoYFqU2dIGVmm/p+FYu4AQAAKguCBUpcziLuKct3y+lkETcAAEBlQLBAibu0TW0FeLlr19FULY4+anc5AAAAKAMEC5Q4X093DWnHIm4AAIDKhGCBUpEzHWr25oM6lJRmczUAAAAobQQLlIpmtQLVvm6wspympi7fY3c5AAAAKGUEC5Saa7tESJImLdmltMxsm6sBAABAaSJYoNQMal1btYO8dSQ5XdNX77O7HAAAAJQiggVKjYebQzf2iJQkffJPtLJpPQsAAFBhESxQqoZ3DFeQj4dij6bqj00H7C4HAAAApYRggVLl5+Wu0f+utfhofrRMk1ELAACAiohggVI3ums9eXs4tH5vguZuO2R3OQAAACgFBAuUumr+XhrdpZ4k6YXftior22lvQQAAAChxBAuUidv7NFQVXw/tOJSsb1ewrwUAAEBFQ7BAmQjy8dA9FzaSJL05e7uS0jJtrggAAAAliWCBMjPq/AhFVvfT0ZQMfTAv2u5yAAAAUIIIFigzHm4OPTygqSTp0392alNcgs0VAQAAoKQQLFCm+jWvqYtbhCrLaer+aeuUkcVCbgAAgIqAYIEyZRiGnru8par6eWrrgSS9+3eU3SUBAACgBBAsUOaq+3vpuSEtJUkfzIvW2j3x9hYEAACAYiNYwBaXtKqly9rUVrbT1F1TVivhBF2iAAAAXBnBArZ5dkhLhVf10Z5jJ/TwD+tlmqbdJQEAAKCICBawTZCPh94b0V4eboZmbTygr5busrskAAAAFBHBArZqEx6shwc0kyQ998sWbdmfaHNFAAAAKAqCBWx3Q7d6urBpDWVkOzXu27VKy8y2uyQAAAAUEsECtjMMQy8Pa63q/p7adjBJr/6xze6SAAAAUEgEC5QL1f299Mqw1pKkzxfGaGHUEZsrAgAAQGEQLFBuXNC0pq45v64k6bEZG5gSBQAA4EIIFihXHh7QTDUCvLTraKo+XxhjdzkAAAAoIIIFyhV/L3c9NtDqEvXe3zsUF3/C5ooAAABQEAQLlDuXtamtTvWq6kRmtp7/bYvd5QAAAKAACBYodwzD0NOXtZDDkH5dv18rY4/ZXRIAAADOgWCBcql57UBddV64JOmdv3fYXA0AAADOhWCBcuv23g3l5jD0z/bDWrcn3u5yAAAAcBYEC5Rbdav5anDb2pKkdxm1AAAAKNcIFijX7ujTUIYhzdlyUJvjEu0uBwAAAGdAsEC51iDEXwNb1ZIkvT+XUQsAAIDyimCBcu/OCxpKkmZt3M++FgAAAOUUwQLlXtPQQHWJrCanKX2zbLfd5QAAACAfBAu4hNFdIyRJU5bvVnpWts3VAAAA4FQEC7iEvs1qqlaQt46mZOi3DfvtLgcAAACnIFjAJbi7OTSqc11J0qTFu2yuBgAAAKciWMBlDO9UV55uDq3dE6/1e+PtLgcAAAD/QbCAy6ju76VLWoVKYhE3AABAeUOwgEsZdb61iPundXFKSsu0uRoAAADkIFjApZwXUUUNa/grNSNbP62Ls7scAAAA/ItgAZdiGIaGdwyXZLWeBQAAQPlAsIDLGdq+jjzdHNq4L1Eb9ibYXQ4AAABEsIALquLnqQE5i7gZtQAAACgXCBZwSSM6WXta/LR2n5LTs2yuBgAAAAQLuKTO9asqsrqfUjKy9TOLuAEAAGxHsIBLMgxDwzuxiBsAAKC8IFjAZQ1tX0cebobW703Qxn0s4gYAALATwQIuq5q/l/q3sBZxM2oBAABgL4IFXNrIfxdxz1wbp9QMFnEDAADYxfZg8fTTT8swjDw/TZs2tbssuIjzI6upXjVfJadn6Zd1++0uBwAAoNKyPVhIUosWLbR///7cn4ULF9pdElyEw2Fo+L+jFhMXx8o0TZsrAgAAqJzKRbBwd3dXaGho7k/16tXtLgku5OrzwuXt4dDm/YlasvOo3eUAAABUSuUiWERFRal27dqKjIzUqFGjtHv3mRfipqenKzExMc8PKrcqfp4a1qGOJOnzBTE2VwMAAFA52R4sOnfurIkTJ+r333/Xhx9+qJiYGPXo0UNJSUn5nv/iiy8qKCgo9yc8PLyMK0Z5dEO3+jIM6a+th7TjULLd5QAAAFQ6hlnOJqXHx8crIiJCb7zxhm688cbT7k9PT1d6enru7cTERIWHhyshIUGBgYFlWSrKmZsmrdScLQc1snNdvXB5K7vLAQAAcHmJiYkKCgoq0Gdt20csThUcHKzGjRtrx44d+d7v5eWlwMDAPD+AJN3Uo74k6YdVe3U0Of0cZwMAAKAklbtgkZycrOjoaNWqVcvuUuBiOtevqtZ1gpSe5dRH86PtLgcAAKBSsT1YjB8/XvPnz1dsbKwWL16syy+/XG5ubhoxYoTdpcHFGIahe/s1liRNWrJLcfEnbK4IAACg8rA9WOzdu1cjRoxQkyZNdNVVV6latWpaunSpQkJC7C4NLqh34xB1rl9VGVlOvTVnu93lAAAAVBrlbvF2YRVmQQkqh1W7jmvoh4vlMKQ/7+2phjUC7C4JAADAJbn04m2guDpEVFG/5jXlNKWXf99mdzkAAACVAsECFdID/ZvIzWFo9uaD+nPTAbvLAQAAqPAIFqiQGtcM0NgekZKkJ2ZuVGJaps0VAQAAVGwEC1RY4/o2Uv3qfjqYmK6XZm21uxwAAIAKjWCBCsvbw00vXmHtwP3Nst1aEn3U5ooAAAAqLoIFKrTzI6tpRKe6kqT7p61VQipTogAAAEoDwQIV3uMDm6leNV/FJaTp0R83yMU7LAMAAJRLBAtUeH5e7np7eDu5Owz9umG/vlu11+6SAAAAKhyCBSqFNuHBuu+ixpKkp3/apJ2Hk22uCAAAoGIhWKDSuKVnA3WJrKbUjGzd8+1aZWQ57S4JAACgwiBYoNJwcxh64+o2CvLx0IZ9CXpj9na7SwIAAKgwCBaoVGoF+ejloVYL2o//idaiHUdsrggAAKBiIFig0rm4ZS2N6BQu05Qenr5eJzKy7S4JAADA5REsUCk9PrC5agV5a8+xE/pg3g67ywEAAHB5BAtUSn5e7nrq0uaSpI/mRyuaLlEAAADFQrBApdW/Raj6NAlRZrapJ2duZOM8AACAYiBYoNIyDEPPXNZSXu4OLdpxVH9sOmh3SQAAAC6LYIFKrW41X43tESlJemvOdjmdjFoAAAAUBcECld5NPeorwMtdWw8k6fdNB+wuBwAAwCURLFDpBft66vru9SUxagEAAFBUBAtA0o3d6yvA213bDybr1w377S4HAADA5RAsAElBPh668d9Ri3f+iqJDFAAAQCERLIB/3dC9vvw83RR1KFkLdxyxuxwAAACXQrAA/hXo7aErzwuXJE1cFGtvMQAAAC6GYAH8x3VdIiRJf287pNgjKTZXAwAA4DoIFsB/RIb4q0+TEJmmNGlJrN3lAAAAuAyCBXCKMd2sRdzfrdyr5PQsm6sBAABwDQQL4BQ9GlZXZIifktOz9MOqvXaXAwAA4BIIFsApHA5Do7vUkyR9s2w3rWcBAAAKgGAB5GNIuzB5uTu07WCS1uyJt7scAACAco9gAeQjyMdDA1vXkiRNWbbb5moAAADKP4IFcAYjO9WVJP2yfr8S0zJtrgYAAKB8I1gAZ9Ahoooa1vDXicxszVwbZ3c5AAAA5RrBAjgDwzA04t9Riyks4gYAADgrggVwFle0C5Onm0Ob9ydqw74Eu8sBAAAotwgWwFlU8fPUgFahkqQpy/fYXA0AAED5RbAAzmF4R2s61E9r9ymFnbgBAADyRbAAzuH8yKqqX91PKRnZ+nkdi7gBAADyQ7AAzsEwDA3vGC5JmrKcPS0AAADyQ7AACmBohzrycDO0bm+CNsWxiBsAAOBUBAugAKr7e+mi5jmLuBm1AAAAOBXBAiigkZ2tRdzTV+9Twgl24gYAAPgvggVQQF0bVFPjmv5KzcjWdytpPQsAAPBfBAuggAzD0PXd6kuSJi6OVbaTnbgBAAByECyAQhjSNkzBvh7ae/yEZm8+aHc5AAAA5QbBAigEH083jexkrbX4YlGMzdUAAACUHwQLoJCu7RIhN4ehZTHHtHEfrWcBAAAkggVQaLWCfDSodS1J0tt/RdlcDQAAQPlAsACK4O4LG8lhSLM3H9S6PfF2lwMAAGA7ggVQBA1C/DWkXZgk6Y3Z222uBgAAwH4EC6CI7rmwkdwchuZvP6xVu47ZXQ4AAICtCBZAEUVU89OVHepIkl79Y5tMk30tAABA5UWwAIrhrgsbydPdoaU7j+mndXF2lwMAAGAbggVQDGHBPrqrT0NJ0rO/bFZCaqbNFQEAANiDYAEU0829ItWwhr+OJGfo5T+22l0OAACALQgWQDF5ubvp+SEtJUnfLNutlbEs5AYAAJUPwQIoAZ0jq+nq88IlSfdOW6vENKZEAQCAyoVgAZSQxwY1U50qPtpz7IQe+3EjXaIAAEClQrAASkigt4feGdFObg5DP6+L0/er9tpdEgAAQJkhWAAlqH3dKrqvX2NJ0lM/bVL04WSbKwIAACgbBAughN3aq4G6Nqim1Ixs3T1ljdKzsu0uCQAAoNQRLIAS5uYw9ObVbVXF10Ob4hL18qxtdpcEAABQ6ggWQCmoGeit165sI0n636IY/b31oM0VAQAAlC6CBVBKLmxWU2O61pMkPfTDBiWcoAUtAACouAgWQCl6eEBTRVb30+GkdL00i125AQBAxUWwAEqRt4ebXryilSRpyvLdWrrzqM0VAQAAlA6CBVDKOkdW04hOdSVJj07foLRMukQBAICKh2ABlIGHBzRVjQAv7TySov8tirG7HAAAgBJHsADKQJCPhx4e0FSS9NG8aCWkspAbAABULAQLoIwMbhumxjX9lZiWpY//iba7HAAAgBJFsADKiJvD0PiLmkiSvlgUq0NJaTZXBAAAUHIIFkAZ6te8ptrVDdaJzGy99/cOu8sBAAAoMQQLoAwZhqEH+lujFlOW79ahREYtAABAxUCwAMpY1wbV1SGiijKzTX21dJfd5QAAAJQIggVgg5u615ckfb10l05ksK8FAABwfQQLwAYXtQhVeFUfHU/N1PQ1e+0uBwAAoNgIFoAN3ByGru9qjVp8vjBGTqdpc0UAAADFQ7AAbHJVx3AFeLlr5+EUzdt+yO5yAAAAioVgAdjE38tdwzuFS5ImLmYRNwAAcG0EC8BG155fT5L0z/bD2n001d5iAAAAioFgAdiobjVf9WwcIkmavJxRCwAA4LoIFoDNrulcV5L03cq9Ss+i9SwAAHBNBAvAZhc0raFaQd46lpKh3zcesLscAACAIiFYADZzd3NoeEdr1GLy0t02VwMAAFA0BAugHLi6Y7jcHIaWxx7TtgNJdpcDAABQaAQLoBwIDfJWv2Y1JUnfLGMRNwAAcD0EC6CcGHW+NR1q+up9SknPsrkaAACAwiFYAOVEtwbVVa+ar5LSs/Tzuji7ywEAACgUggVQTjgchkb+23r262W7ZJqmzRUBAAAUHMECKEeGdQiXp7tDG/clav3eBLvLAQAAKDCCBVCOVPXz1MBWtSRJXy9lETcAAHAdBAugnLnm30XcP6+PU0Jqps3VAAAAFAzBAihn2tetoqahAUrLdOqH1XvtLgcAAKBACBZAOWMYhkadHyFJmswibgAA4CLc7S4AqHQy06QTxyTvIMnTL99ThrStrRd/26LowylauvOYujSoVrBrpydJ676Vts2Skg5IyQet52nQR2pwodTwQsndqwRfjKTsLCnlkOTuLflWLdlrAwAAl0GwAEqbaUp7lklLP5R2/CVlJFnHHR5S3fOlhn2ltiMl/xq5Dwnw9tCQdmH6ZtluTV6269zBIvWY9M9r0pqvpPTEU+47Ih2LllZ8JgXXlS58SmpxheQoxoDlkShp+afS1l+lpDjJdFrHa7aSIntJ7a+TQpoU/foAAMDlGKaLz7NITExUUFCQEhISFBgYaHc5QF57V0q/jZfi1uQ9bjhOfhiXJA8/qcsdUtc7rREGSZviEjTwnYXycDO0+OELFRKQz0iDM1ta9YX093PSiePWsWqNpPOul0KaWmElfo8U/Ze0+SdrZEGSarWVBr4h1elQuNcTt1b6a4J1vTyvx00ys/PePu96qfejkl8BR1sAAEC5U5jP2gQLVG5Z6dLmmVLsAiktwfoJrGNNGWrQR/KpUrTrZqRKc5+Xln5gBQh3b6n1VVKH66WqkVZ4OLbTGsFY983J4OFTVepxn9RxrOThrcs/WKQ1u+N11wUNdf9Fp4wA7FoizXpAOrDBul2jhdTvGWvKU36jERkpVj0L3/531MSQOt4oXfCE5BN89tcTv8d6Peu+lWRawajxxdbrqdVa8guxRk1i5ksbvpe2z7Ie5xUkDXhJajNCMoyivZeHt0tbfpKOx0oJe6zQEtFFqtdDCjtPcmPgFQCA0kKwAM4lPVla/K608nMp5XD+5xhuUssrpO73SjVbFPzaMQukn+6SjsdYt1sPl/o/L/lVz/9805S2/Cz9/ax0ZLt1LDBMOv82zfXooet/2KcAL3cteKiPgn08pH2rpGUfSxumWed6B0l9HpfOu6FgH7KTD0uzn5DWTbFuewVJnW6SOt8m+YfkPfdIlLToLWndVMn5b+vbVldJFzwmVal3lvfgH+mPR0+GniYDpUvfyjPd66yc2dZ7suIzK/SdSfXGUv8XpEb9CnZdAABQKAQL4Gz2rpKm32SNGEhSQC2pzXDrw7ynv3RwozWScHjLycc0vtgKGHXPP/N1U45a3+qv/Ny6HRgmDXpLanxRwerKzpLWfyvNfVFKtNrMmoZDmx1NFJfhq3ohgWqUFZV7n2RYaxkufPLMoeVsYv6Rfnvw5Ot0eFgf1EMaS9mZ1rSnxP+0u63fU+r7tBRWwOlT2VnS4ret1+PMtAJQ70ekjjdJbh75P8aZLW2eIc1/RTq89d+X6ZAa9rOeNzjcGnmJXSjtnGuNMElSo4ukQW9KQXUK/z4AAIAzIlgA+cnOkha+Ic17yVoPEBgm9ZsgNR+c/wfd/eukhW9Km2ZI+vevSd2uVgiJ6CpVayilxVtTdFZ/Ja39Rso6YZ3X4Xrr2t5F+DOZmSatnSytn2ot+j6Vp7/UuL/U5U4prH3hr/9fTqe07Tfrfdm3Kp8TDCtU9bhfCu9YtOc4sEGacbt0YL11u3pjqd21VhgIaWItNk/YJ22abk21SthjnecdJHW6WeowJv/AkJZgBZBlH1vBxaeKNPh9qenAotUJAABOQ7CAa8vporTyf9LeFVLmCSkrzVqb0LCfNQJQu33h5uwfi5F+vOXkB/UWV0iD3ijYGoqj0dZ0oLVTTk4HkiSHu+TMyntuaGvpoueszkgl4ViMnLuX6p0/NupYYpLat2qlIUOvkTx8Sub6OUxTit9lrWc4ss0aJajVxno9RQlHp3JmWx2r/nrW6lKV49RF7JLkHWwtZO98S+5C9rM6skOaPlaKW23d7niTFerO0Mo3X9mZUtSf1nqbI1HWaJYzywpu4Z2lFpcXbjocAAAVBMECrivmH2nWw9KhTWc/L7SVdP4dUsuhkrvnmc/LzpRWfG51TcpIkrwCpUtesxZSF3YxcWKctGqSNed/70opO9067ltNqtPJ+jBcr3vRFymfxe8b9+vWr1fL38tdf9/fSzUCvUv8OcrEiXhrJCbqT2stSs576OFrjQK1HSU1uUTyKOTry8qQ/p5grZuRpCr1pSEfWNc8m8Q4ax3Hmq+tPT/OyJDaX2utZQmoWbjaAABwYQQLuJ7MNKuN6dL3rdvuPlKroVZw8KlqTVXat0qKmm395Ew58guRWl8ttbvGaq+a86H+RLzVEnXuC9LRHdaxul2lyz+SqkQUv96sdGsDOv8aJT96kA+n09TlHy7Wuj3xGty2tt4e3q7Un7PUZaRa05l8gkvuPYz+W5p5p5S4T5JhTYvqeKNUv/fJTlkZKVLsImvx+6YfT446+VaX2o6wRiiqRlrH9q6w/rxt/cW67RkgDXzNmg4HAEAlQLCAazmyQ5p2rXRos3W7wxhrkfCZpimlHpNWTZSWfyIl7T953DPAWtwrSYe2KHddhG91qc+j1nUdbqXyEsrChr0Juuz9hTJN6ZuxndW1QREWbFcGaQlWR6o1X5885lPVGlly97YWhf93SltEN2stR5NLzjz6tXup9PsjJ6dbtb9OGvBKmYRKAADsRLCA69j6q/TjrdYCXr8a0uD3rIXJBZGdKe2YY32A3P776esdqjaw5sZ3u6dk1gmUA0/M2Kivlu5SgxA/zbqnpzzdi7F7dkV3aIs1DW7dtyd3O88RVNfaq6TDaKl2AUd/nNnSgtetUTCZUs2W0pWTpOoNi16jaVo/xdkFHQCAUkSwQOnISLH2Flj7jTW6kPNHp0Yzq8NPkwFS9UYFvFaqte4hZ+pT3S7Wh7Sizl/PPGFt4paw25pvH9ahQs6FT0jN1IVvzNOR5AyNv6ix7ryggO93ZZaRYk2HS0+WMpKtbl5VI4u+FmbnPOmHm6z9Tzz9pcvesabsFYTTKe1aaHUaO7jJWiifnizVaGotlG9yiTV9qxTW6QAAUBQEC5Qsp1Na9pH1Te2p3/yeqk4na6O2FkPOPE0kZoH0890n95HofKvVSelMexsgjx/X7NW9U9fJ3WFoxh3d1DKsAJ2TULKSDkjf32iFBElqPkS64PEzB+vju6wNCdd+Y3XfOps6Ha2/D2fbMwUAgDJCsEDJOb5LmnnHyd2Pq9ST2oy0djp297bmqu9aIkX9YXV0ypmO5OEnNehjnecXYu1ifWiztOG7k2spCruBHCRJpmnq9smrNWvjATUI8dMvd/WQj6frrh1xWdlZ0rwXpAVvSDKt1rktLrfCdc7+HIe2WuEj5p+Tj/MKtM6r39Pa08MrwBq92L3EarGcmWqd1+kWa8d2AjcAwEYEC5SMqNnWt7LpCVZQ6P+c1H7MmeeDJx209ipYNcmaknQmbp5WW9F+zxRsnwKc5nhKhvq/9Y8OJaXrui4RmjC4pd0lVV4HNlo7rm/77ezn1e9ldS9rOkjy9M3/nKQD1sjg6knW7bpdpSsnVshpfQAA10CwQPGYprTkPWn2k9bmZXU6SVd8fLIFZ0Eev3+dtaA6dqG1uZ3ptLo8NR8sNbu0YBvT4az+2X5Y1/1vuSTpizEd1adpDZsrquT2rrLCxeGt1o9XgFSjubWxXrNLpeC6Bb/W1l+l6bdYUw8DaklXfVX0nc8BACgGgkVllZ1lTb/w8LGmKRVlAWhaovTLvdLG763b7a+TLnn97JvQwTbP/LxJXyyKVXV/L/0+roeq+3vZXRJKypEo6duR0pHt1ijfgFek864v2rUy06wdz/1DJTf3kq0TAFChESwqE2e21XJ180zrW860eOu44ZBqtf23y8wl1jen5woa+1ZL398gHY+x1kRc/KLV358ONeVWWma2LntvobYfTFbfZjX16XUdZPD7qjjSk6QZt1nd2CSr+1T/F889NSor3doscMvP1t/rI9slM1tyuEvBEdb6ju73lsxmkQCACo1gUVkc2irNvN3akfpcaraU2oyQml8mBYXnDQsHN0mL3rFGKZxZVo//oZ9JdTuXXu0oMZvjEjXk/UXKyHbqxStaaUSnQky5QflnmtLCN6z2zKZT8gqS+jwitbpS8vvPJonZWVaThY3fW4EiLSHvdQw3K1zkcLhL7a6V+jwm+YeUzWsBALgcgkVF53RKi96U5r0kZWdYXWbajLDWL9TpKGWnSyeOW/32t/5mfXOZnX7y8f6hUq02VveZpAPS0aiT9zUfLF36NmsgXMyn/+zU879tkY+Hm367p4fqV/ezuySUtLg11jTFuDX/HjCsv8f+NaXUo9ZIY+rRk+f7h1rdpyJ7WXtkBNSSkuKkg5ulpR9IO+da5wXUthaI80UCACAfBIuKLC1Rmn6ztH2WdbtRf+nSt6TA2md+zInj0sbp0vqp0t6Veb+1lKxpU80HS13vlsLal1rpKD1Op6lrPl+mxdFH1SY8WN/f2kUebuzmXOE4s6VVX0grJ0oHN5x+f06DhJbDpIiukuMsbYh3LZZ+vseaJuVwly56Xup8C1MfAQB5ECwqqqPR0pQR1m69bl7SoDestq2F+SCQkWp943l4i+QdLPnXkKo1kgJrlVrZKBv7E06o/5v/KDEtS3df0FD3XdTE7pJQmpIOSDvnW13X/KpLfjWk2m0Lt+9FepL0013Sph+t2zRrAACcgmBREe2YYy2sTkuwpi4Mn8zoAk7zy/o43fnNGjkM6YfbuqpdXaa04RxM05oa9efj1hqOej2kq76UfKvaXRkAoBwgWJQXiXHWN4ox/1jTkfxDrHnP9bpJEd0L1vbRNKXF70pznrL+ox/e2eppz4ZZOINx367RjLVxalc3WNNv60qXKBTM9j+tLy8ykqTAMGnIB1Jk74I9NvmQtHuptGeZNbLqEyz5VrPWdrQYIrnTBhkAXBXBwm6JcdIfj56cXpAf32rWplnNh1jfEOYXMmIWWJvUxa22bre7Vhr4Ov+RxlkdSkpT71fnKTUjW++OaKdL25xl/Q3wXwc3S1NHScd2Wrc73Wy1pc1vDdeJeKvF9fpvrX+rdIb/lPjXlDqNlTrfam0aCABwKS4XLN5//329+uqrOnDggNq0aaN3331XnTp1KtBjy1WwcDql5R9bbSEzkiUZUu12VleWoPB/O7fESttmSSeOnXycbzWpbhepeiNrROPIditM5HR/8fCT+j0jdbyJhZUokHf+itIbs7crLNhHf93fS94eZ1nEC/xXRor05xPSys//PWBYIxd1u0gOh7VOK3ah1eb6v40garSwOkvVaG5dI/mg9eVK0n7r/ir1re5TtduW7esBABSLSwWLqVOn6rrrrtNHH32kzp0766233tJ3332nbdu2qUaNGud8fLkJFhkp0o+3nNzIqk5HadCbUmir08/N6Te/eYZ1/n9bRP6Xw13qMEbq9ZC1yBoooBMZ2erz2jwdSEzTwwOa6tZeDewuCa5mx1/SgtelXYvOfE5IU2s/jVZX5r/ZXlaGFS7+flZK2GPtIH7Rc2y8CQAuxKWCRefOndWxY0e99957kiSn06nw8HDdddddevjhh8/5+HIRLOJ3S1NGWu0f3Tyl/i9I591ofbt3LtlZ0u4l0sGN0tEdVqeXag2sucl1z5eC6pR+/aiQvl+1V+O/W6cAL3ctfPgCBfkUolsQkONYjLTheylxr7Xmy3BYjSMi+0jB4QW7xonj0sw7pa2/WLfbXSsNfIPuUwBwLmsmW19WhzS2rQSXCRYZGRny9fXV999/ryFDhuQeHz16tOLj4zVz5szTHpOenq709JObvSUmJio8PNy+YJF6THq/k5RyWPILka6ezEZTKBecTlMXv/2Pth9M1oMXN9HtvRvaXRIqM9OUln4o/fmY1Yiifk+r+xSbcQLA6bKzpNlPWF37qkZKN8+XvO35Ar0wwcLWHbSOHDmi7Oxs1ayZt8NRzZo1deDAgXwf8+KLLyooKCj3Jzy8gN+YlRbfqtZeEqGtpLFzCRUoNxwOI3cK1P8WxiotM/scjwBKkWFIXW6XRnwrefpb3fI+6fOfncQLwTStJhkJ+6z/zUwr+XoBoKjSEqX966Xkw9a/V4V1Il765iorVEhS6+Eu0/yiAP1Oy5dHHnlE9913X+7tnBELW134pLUOwtPX3jqAU1zaprZe/3O79sWf0A+r92pU53zmwQNlqXF/6Ybfrc0+j8dIn/WTLnpW6nTL2aePpidL23+XomZLO+dai8NzePhJzS+T2o60WnkXZBoqAJSkYzHSgtek2EXWv205vIOkmq3+7QR6Wf5d9v5r66/SrIesdWkevtLlH0nNB5du7SXI5aZCnapcrLEAyrH/LYzRhF82q141X/11f2+5OVg0i3Ig9Zi163fOuouqDawRjVZXSl6B1ghHYpy1N8a2WdKWX6TMlJOPNxxWgwtndt7uVBHdrD04qtQr05cDoJJKPSbNf0Va8ZnkzDx53Keqtb7s1Fbc4edb+/s0ucRaR+twszY/jl0orf7S+gJFkoLrWtPra7Uuq1dyRi6zxkKyFm936tRJ7777riRr8XbdunV15513us7ibaAcS83IUteX/lZ8aqbeH9leA1vXsrskwGKa0vJPpbnPWf9hzeHubX1T99+23JI1z7jZZVKDC6zmFu5e1jX2LJPWfiNt+E7KTLWmWl38ktTuGrpPASg9+9dL346SEnZbtxtcIHW509pqwLeqlHnC2hdo53yrE+ieZXkfbzisLQdSj1przyTJ4SF1vUvq+UC5mQnjUsFi6tSpGj16tD7++GN16tRJb731lqZNm6atW7eetvYiPwQL4NzenL1db/8VpQ4RVfTDbV3tLgfIKz1ZWvO1tOyjvFMIDIdUs6U1CtFqmBTW4exB4ViMNOM2q9OeZLXrvuQ1yY2OaABK2KYfpRm3W19mVI20Ot016HP2xyTsk7b8JG2a8W/I+M9H8GoNrT2DOt0shTQpxcILz6WChSS99957uRvktW3bVu+88446dy7YImiCBXBuh5LS1PXFv5XlNDXrnh5qVou/KyiHTNPaEyj1qDWCUTVS8vIv3DWc2dKit6W/Jkgy6T4FoGQ5ndLc5631FJLU4EJp2OeF/zcmO9P6ty75kDVqERRW8rWWEJcLFsVBsAAK5o7Jq/Xrhv0a1bmunr88n40bgYpk2+/SDzdKGcnWrt9Xf5X/hqUAUFBpidL0m6Xts6zbXe+W+j5trZOowAgWAE6zOPqIRn66TH6eblr2WF/5e7lcUzigcA5stLpPJey21m0MetPqHFUQ8butqQ7Rf1stI1OPWvOdI3tb31A27Ct5eJdq+QBKwP710opPpcPbpeQDUnqSVKO5FN5Jqtddqt+rYMFg1xJp5h3SsWjJzUu67F2pzdWlX385QLAAcBrTNNX3jfmKPpyiZ4e01LXn03oWlUDqMWn6WGnHHOt2ZG+p96P57zmUdNBaYLnxh9MXWZ4qOMJav9H4opKuGEBJ2LtK+vtZqz312QTUklpfJbW4QqrV5vR1XIn7pYVvSss/kWRKgWHWCGhYh1IrvbwhWADIV07r2aahAZp1Tw8ZdMxBZeB0Sv+8av3ktIOs3V6q0UwKCrf6xe9fLx3adLIziwzr28zmg6VqDaw50EkHrICy+Sfrm0/J6k0/6G3Jr5otLw3AKZxOadGb0t/PW62oDTervWuzS60Q4e4t7V8n7Vkubfv135aw/woMs0YwvIMkd0/rnN1LlbvIut210kXPST7BNrww+xAsAOQr4USmOr8wR2mZTn1/axedV6+q3SUBZef4LmvB5ZrJefe++K86HaWWQ6XmQ6TAM7RmTk+W5r8kLfnAuk5QXesbzNptS6tyAAWRcsRaW7VznnW7xRXWGogqZxihz0qXtv8hrZ9qTXvMTM3/vDqdpN4PSw0vLI2qyz2CBYAzevD7dZq2cq8Gt62tt4e3s7scoOzF77GmOh2LsdZfBNS2NqGq3e7cu+L+14EN0rTrrD717t7SoLektiNKrWwAZ3FggzRl5L9rqnykS14t3F42mSekmH+s0YzMVCkzzdpos9ml5bpjU1kgWAA4o/V743XZe4vk6ebQkkcuUDV/L7tLAlzXiXirS0zUH9btjmOl/i9Y0ygKw+mU4mOlQ1ukjFSrj331xiwQR8XlzJb2rrD+DhkOqzlCWAfJw6fw19o0w9rDJmdPieFTpBpNS7riSqswn7VpCwNUMq3rBKt1nSCt35ugaSv36rbeDewuCXBdPsHSiG+l+S9b06NWfCod3Chd8YkUXPfsj3U6pV0LralZW3+xWuP+l+GQGl0k9XnMGlEBKoIjO6SV/7OaJOSsVcrh7mM1WGh2qdTi8nPvPJ2WKP3+iLT2a+t2ZB/pyi/Yt8ZGjFgAldC0FXv04A/rFV7VR/PH95HDwSJuoNi2zbJGL9ITJTdPawfdHvdLvqesZTq+S1o3RVo72Wprm8PNyxqp8PSzRi7S4k/e13yINOBlKSC0LF4JUPKyM6XF70jzXpKyM6xj3sHWCIPptDaKS4o7eb5XkNRmuNRqmDWS8d+WsOlJ1ijF/FesqU8ypG73SBc8IbnxnXlJYyoUgLM6kZGtzi/MUWJalr64vqP6NKlhd0lAxXBkh/TLOCl2gXXb4S6FNLX65qclSEe2ScdjT57vFSi1vEJqO8rqVJXzocg0pSNR0j+vSBu+l2RKfiHS0M+lyF5l/KKAYjoSZS2q3r/Ouh3Z2wreDfudnDZomtLBTdK236Q1X0vxu04+3reatYDa4WYtuN616ORC6+AI6fKPpIiuZfqSKhOCBYBzeubnTfpiUaz6Nquhz0Z3tLscoOIwTast7eynrBa2pzGk+j2thaVNB517useBDdL0W/69liH1fkTqOb7C7/aLCmLLz9KPt0kZSdYIxYCXpdZXn31RtdMp7fzbmia44y8pPeH0c6o3tgJ5xxslr4BSKx8ECwAFsONQsvq+MV8OQ1rw0AUKCy7CgjkAZ2aaUsJe6cB66dBma9539SbW/hl+1Qt3rcwT0m8PSGu+sm5H9pGu+FTyDyncdRL2Wm01o/+2umJ5+lsfyup0kNpdJwXULNz1UHGkHJGiZku7l0j7VknuXtY6oaoNrH0gQlsV7npZGdLc56VFb1m3I7pJw/5X+Ol82ZlWF7fD2/4NI4ZVS1iHgnd8QrEQLAAUyIhPlmrJzqO6s09Dje/fxO5yAJzL2inSr/dZ00ACakmXvnPu3b9NU4r+y9p3I/qvM5/ncJeaXSZd8Li1KSAqh4xUacl70sK3pMyUM59Xq43UfrS17sHT7+zXPLRV+vHmk1Ofutxp7Sfh5lFSVaMMESwAFMiv6/frjm9Wq7q/lxY/fIE83R12lwTgXA5tkaaNttZrSFKDC6V+z0g1W+b9Bjf5sLT+W2n1l9KR7f8eNKxNABtcYH1QzEqzvqne+L31rbBkdebp+7Q1B97BvwkV2rbfpV/uPbloumZL689GeGdrQXXCv3u+bP3t5K71PlWkDtdLra60Rt/++2fuaLTV8Wn5p1J2unXupW9bO9jDZREsABRIZrZTXV/6W4eT0vXeyHYa1LoQm4MBsE96sjTvRWnZxyc/8PnXtEKD6bQ27Tu6Q3JmWfd5Bkjtr7XCQtX6+V9z/3rpz8esTcIkKaK71Ta3qJuDmab1oXT3Ein1qHTiuBQYZrXQrd2ONSIFtXeVtHe5lBhndU6qWl+q28X6XZ9rfc6ZZKRIfzwmrfrCuh1c1wqTLa7If3pRylFrd+rlH+dtPhBYx9pxPjvT+h3vW3nyvoZ9pcHv08msAiBYACiw1//cpnf/3qHzI6vq25u72F0OgMI4Gi3NecpqdZsTIv4rrIPU/jrrA6N3Af4b6XRKq/4n/fmkNS3Gp4o0+AOp6SUFryn1mLTyc2ntN1bAyY9vdanLHdL5t5f8JoA5H2tcef6902ntbbL4XStU5MfdxwqLXe86954p/7VvtTR9rBU8JevxfR4v2O/BmW11bVr9pRVAs9JOOcGQGvWTzrtBanyxa/8OkItgAaDA4uJPqPvLf8tpSnPu66mGNeiuAbiczBNS3BrrQ6O7l/WtdrVGUpWIol3vaLT0/Q3S/rXW7bbXSBc+efbF3anHpKUfSEs/sjoASZKHn7UGJDBM8g6y2olGzz3Z5adKPWun8qYDi1Znjr0rpY3TrfcgZ15/9UZWq99WV0oNLyy5D7mHtlh7KGz5WUrcZ+1Z4uFtjfC0vlKq36t4ozGHt0s/3Xlyapqbp9WWtUo9a0+UQ1ukXYtPTl9yuFuvsdu4s+827cyWFr5h7SPhzJICalttWovavjjzhBS70BrB8PCxfsLOK/qfOZRbBAsAhTL2y5Wavfmgrj4vXC8PY4dfALK6+vz1jLWwV7KmU3W7R2o2yPrAbhjWFJi4tdaUmo0/nPwGu2ZLa0Si2WWSl3/e62ZnWntzzHn65M7Lra6UBrxy+maCZ2Oa0s550oLXT+4bciahra3NCpsPLnrAOBIl/f6w1Ur4bAJqW+2A219XuMXK2Vn/2UAu3erY1flWa/raqYHONKWY+dLCN633IEfTQdaGcpG9T+4+nZZojR4t/0Q6Fm0da3G5NPCNwr3fqLQIFgAKZdWuYxr64RK5OwzNe6C36lQp4rxdABXPnuXSrIekuNUnj/lWl9y9rW/NTefJ4zVbSb0etD7gnmvhd3qy9M+r1odp02l1ubrkNWv04lwf/g9skP58/OSHaoe71PLfD9S120qGm7W4PXahNW0nZzO1ej2kQW9aoxkFlZ5k7fC89ENrPYvDw1o/0HywtVbEmSWlHpE2/yRtmm6tJZGsHaX7PGZNQzvXe3FggzTzjpOjLQ37SoPekoLDz13fvlXSgjesqVM5DIe1/iE90frJ+R15B0kXv2x1dmKaEgqIYAGg0EZ9tlSLdhzVqM519fzlhexXDqBiczqlDd9J676Rdi+Tsk6cvM/D1/qQ3eF6KbxT4T+w7l0p/XjLyTn/9XpI/Z+3ulb9l2laH6KXfWzVItOaJtTh+n/XGZzhQ3jqMSsULH7HGlFx87Tan3YfZ33QPhPTtJ7nzydOjqw06i9d/OKZ2/FmpUurJlk7pqccto6FtpIueNIKC6cGjGM7rdez4jMroHgHSxe/VLQP/oe3Wc+9Y87JjmE5qjeROt8stR5++ggScA4ECwCFtmznUV39yVJ5uBma/0Af1WbDPAD5yco4+c16cLjkV6P4bWkzUq3RiyXvW9OAJKlaQ2sEwrea1RFp/zprs8EcLS63OhlVqVew5zgWY20yuGO2ddu3mtRjvDV1yL/GyfMy06yRh6Ufnny+KvWtHaMb9y/Yc6Unnwwz6Yknny+yj/W6Uo9a05Ki50r692NYs0ulS14vmU0K4/dISQesBfveQVbHMEYoUEQECwBFcvXHS7Qs5phGd4nQM4Nb2l0OgMrm+C5rXcemH/NOscrh5iW1vMJadxDWvvDXN02rq9Hsp6SjUSePh7aSgsKtD+PHdkpp8dZxD19rbUaXO4vWvSr1mLUGZPWXJwPGqRr2k7rcbu0fAZRDBAsARbJ4xxGN/GyZPN0dmnNvL9WtxloLADY4ES/tWvRvS9N0KbC2FFTH2gPDr3rxr5+dJa350trM7cCG0+8PDJM63iR1GFMyC5yzM621KtF/W+sxfKtLfiFWt6rCrPcAbECwAFAkpmnqms+XadGOo+rbrKY+G32e3SUBQOlKPmx1WEpLsDZzCwiVQttIbu52VwaUC4X5rF3MSZEAKhLDMPTMZS3k7jA0Z8tBzd16yO6SAKB0+YdY6yw63mh1pArrQKgAiohgASCPhjUCdEP3+pKkp3/epLTMbJsrAgAAroBgAeA0d1/YSDUDvbTraKo+nBdtdzkAAMAFECwAnMbfy12PD2wuSXpv7g6t3RNvb0EAAKDcI1gAyNeg1rU0qHUtZTtNjft2jVLSs+wuCQAAlGMECwD5MgxDzw9ppdpB3oo9mqpnf9lsd0kAAKAcI1gAOKMgXw+9flVbGYb07Yo9+mV9nN0lAQCAcopgAeCsujSoptt6NZAkPfzDBsUcSbG5IgAAUB4RLACc0339GqtTvapKTs/S7ZNX04IWAACchmAB4Jzc3Rx6d2Q7VfPz1Jb9iXrm5012lwQAAMoZggWAAqkZ6K23h7eTYUhTlu/R7xsP2F0SAAAoRwgWAAqse6PquqXnv+stpq/XwcQ0mysCAADlBcECQKHc16+xWoYFKj41U+O/Wyen07S7JAAAUA4QLAAUiqe7Q29d3U7eHg4tiDqiyct3210SAAAoBwgWAAqtYQ1/PXxxU0nSq79v1dHkdJsrAgAAdiNYACiSa7vUU4vagUpMy9Irv2+zuxwAAGAzggWAInFzGJowuIUkaerKPVq7J97eggAAgK0IFgCKrENEVQ1tX0eS9OTMjSzkBgCgEiNYACiWhwc0VYCXu9bvTdCfm9nbAgCAyopgAaBYQgK8dH23epKkt//aIdNk1AIAgMqIYAGg2G7oXl9+nm7asj9RszcftLscAABgA4IFgGIL9vXU6K71JEnv/B3FqAUAAJUQwQJAibipR6R8Pd20cV+i5m47ZHc5AACgjBEsAJSIqn6euvb8CEnSB3Ojba4GAACUNYIFgBJzQ/f6cncYWrnruDbuS7C7HAAAUIYIFgBKTM1Abw1oVUuSNGlxrL3FAACAMkWwAFCixvy7iHvmujgdS8mwtxgAAFBmCBYASlT7usFqFRakjCynpizfbXc5AACgjBAsAJQowzByRy2+XrpLWdlOewsCAABlgmABoMQNalNL1fw8tT8hjQ3zAACoJAgWAEqcl7ubhncKlyR9w3QoAAAqBYIFgFIxvGNdGYa0IOqIYo+k2F0OAAAoZQQLAKUivKqvejUOkSRNWcGoBQAAFR3BAkCpGdXZ2on7u5V7lZ6VbXM1AACgNBEsAJSaPk1CVCvIW8dSMvT7xgN2lwMAAEoRwQJAqXF3c2h4x7qSpMlLmQ4FAEBFRrAAUKqu7hguN4eh5bHHtGV/ot3lAACAUkKwAFCqQoO8dXGLUEnSl0ti7S0GAACUGoIFgFI3+t+duH9cs0/xqRn2FgMAAEoFwQJAqetYr4qa1QpUWqZT01busbscAABQCggWAEqdYRga09VqPfvlkl3Kdpo2VwQAAEoawQJAmRjcNkzBvh7ae/yE/tpy0O5yAABACSNYACgT3h5uua1nP5gXLdNk1AIAgIqEYAGgzNzQvZ683B1auydeC3ccsbscAABQgggWAMpMjQBvjexsjVq881cUoxYAAFQgBAsAZeqWng3k6ebQitjjWrrzmN3lAACAEkKwAFCmQoO8dXXHcEnSu39H2VwNAAAoKQQLAGXu1t4N5OFmaHH0Uc3bdsjucgAAQAkgWAAoc2HBPrquSz1J0jM/b1Z6Vra9BQEAgGIjWACwxbi+jRQS4KWYIyn6bEGM3eUAAIBiIlgAsEWAt4cevaSpJOm9v3doX/wJmysCAADFQbAAYJshbcPUqV5VncjM1lMzN9J+FgAAF0awAGAbwzD07JCW8nRzaM6WQ/p66S67SwIAAEVEsABgqyahAXpogDUl6tlft2jrgUSbKwIAAEVBsABguxu61VPvJiHKyHLq7ilrdCKDLlEAALgaggUA2xmGodeubKPq/l7afjBZj89gvQUAAK6GYAGgXKju76V3hreVw5B+WL1XXy/bbXdJAACgEAgWAMqNrg2r68GLrfUWE37epNW7j9tcEQAAKCiCBYBy5ZaekRrQMlSZ2aZu/3q1Diel210SAAAoAIIFgHLFMAy9emUbNQjx04HENN01ZbWysp12lwUAAM6BYAGg3PH3ctfH13aQn6eblu48plf+2GZ3SQAA4BwIFgDKpYY1AvTqlW0kSZ/8s1O/b9xvc0UAAOBsCBYAyq1LWtXSzT0jJUmP/bhRx1IybK4IAACcCcECQLk2/qImalzTX0dTMjTh5012lwMAAM6AYAGgXPN0d+iVYW3kMKQZa+P015aDdpcEAADyQbAAUO61DQ/W2B7WlKhHf9yg5PQsmysCAACnIlgAcAn39musiGq+OpiYrk//2Wl3OQAA4BQECwAuwdvDTQ/9uyv3Zwt26kgyG+cBAFCeECwAuIwBLUPVpk6QUjKy9d7fO+wuBwAA/AfBAoDLMAxDDw2wRi0mL9ul3UdTba4IAADkIFgAcCldG1RXz8Yhysw29eac7XaXAwAA/kWwAOByHuzfRJL007o47T3OqAUAAOUBwQKAy2kZFqQejaor22nq84UxdpcDAABEsADgom7uae1rMXXFHsWnZthcDQAAIFgAcEndG1ZX81qBSs3I1tdLd9ldDgAAlR7BAoBLMgwjd9Ri4uJdSsvMtrkiAAAqN4IFAJc1sHUthQX76Ehyumau3Wd3OQAAVGoECwAuy8PNoTFd60mSvlgUK9M07S0IAIBKjGABwKVd1TFcPh5u2nogSUt3HrO7HAAAKi2CBQCXFuTjoaEdwiRJXyyi9SwAAHYhWABweTnToeZsOag9x9gwDwAAOxAsALi8hjUC1KNRdTlN6cslsXaXAwBApUSwAFAhXN+tniTp2xV7lJKeZW8xAABUQgQLABVC78Y1VK+ar5LSsvTjGlrPAgBQ1ggWACoEh8PQ6H/XWkxcTOtZAADKGsECQIUxrEMd+Xm6acehZC3cccTucgAAqFQIFgAqjABvD115Xrgka8M8AABQdggWACqUnOlQf289pJgjKfYWAwBAJUKwAFCh1K/upz5NQiRJ/1vIhnkAAJQVggWACmdsz0hJ0tQVe3QgIc3magAAqBwIFgAqnC6R1dSpflVlZDv14bwddpcDAEClQLAAUOEYhqFxFzaSJE1h1AIAgDJBsABQIXVpUE2d6lVVRpZTH82PtrscAAAqPIIFgArJMAyN62uNWnyzfLf2Hk+1uSIAACo2ggWACqtLg2rqEllNGVlOPfPzZrvLAQCgQiNYAKiwDMPQM4NbyN1haPbmg5q9+aDdJQEAUGHZGizq1asnwzDy/Lz00kt2lgSggmlcMyC3/ezTP21SakaWzRUBAFAx2T5iMWHCBO3fvz/356677rK7JAAVzN0XNFJYsI/2xZ/Qm7O3210OAAAVku3BIiAgQKGhobk/fn5+dpcEoILx8XTThMEtJEmfLojR31uZEgUAQEmzPVi89NJLqlatmtq1a6dXX31VWVlnn6aQnp6uxMTEPD8AcC4XNqup67pESJLunbpOe47RJQoAgJJka7C4++679e2332ru3Lm65ZZb9MILL+jBBx8862NefPFFBQUF5f6Eh4eXUbUAXN1jA5upTXiwEk5k6vbJq5WWmW13SQAAVBiGaZpmSV7w4Ycf1ssvv3zWc7Zs2aKmTZuedvx///ufbrnlFiUnJ8vLyyvfx6anpys9PT33dmJiosLDw5WQkKDAwMDiFQ+gwtsXf0KD3lmg46mZuqxNbb11dVs5HIbdZQEAUC4lJiYqKCioQJ+1SzxYHD58WEePHj3rOZGRkfL09Dzt+KZNm9SyZUtt3bpVTZo0KdDzFebFAoAkLd5xRNf9b7mynKZu7dVADw84/YsOAABQuM/a7iX95CEhIQoJCSnSY9euXSuHw6EaNWqUcFUAcFLXhtX1yrDWum/aOn00P1q1g711XZd6dpcFAIBLK/FgUVBLlizRsmXL1KdPHwUEBGjJkiW69957dc0116hKlSp2lQWgkriifR3FxZ/Qa39u19M/bVJooLcuahFqd1kAALgs2xZve3l56dtvv1WvXr3UokULPf/887r33nv1ySef2FUSgErmjj4NNaJTuJymdPe3a7R693G7SwIAwGWV+BqLssYaCwDFkZXt1NgvV2rutsOq6uep6bd1Vb3q7KcDAIBUuM/atu9jAQB2cndz6L2R7dUqLEjHUjJ069eraEMLAEARECwAVHp+Xu76fPR5qu7vqa0HkjThl812lwQAgMshWACApBqB3nrz6rYyDOmbZbv1y/o4u0sCAMClECwA4F89GoXo9t4NJEkP/7BB++JP2FwRAACug2ABAP9xb9/Gal83WMnpWXqOKVEAABQYwQIA/sPdzaHnL28lN4ehWRsPaEHUYbtLAgDAJRAsAOAUzWoF6rouEZKkp2ZuUnoWXaIAADgXggUA5OPefo1V3d9LO4+k6POFMXaXAwBAuUewAIB8BHp76JEBTSVJH86NVkJqps0VAQBQvhEsAOAMLm8XpqahAUpKz9LnC3faXQ4AAOUawQIAzsDhMHTPhY0kSV8silV8aobNFQEAUH4RLADgLPq3CP3PqAVrLQAAOBOCBQCchcNhaFxfRi0AADgXggUAnMNFza1Ri+T0LE1cHGt3OQAAlEsECwA4B4fD0B19GkqSvlyySycy2NcCAIBTESwAoAAGtAxVnSo+OpaSoe9X77W7HAAAyh2CBQAUgLubQzd1ry9J+mzBTmU7TZsrAgCgfCFYAEABXdUxXMG+Htp1NFV/bjpgdzkAAJQrBAsAKCBfT3dde36EJOnjf3bKNBm1AAAgB8ECAArhui715Onu0No98VoRe9zucgAAKDcIFgBQCCEBXhravo4k6ZN/om2uBgCA8oNgAQCFNLZHfRmGNGfLIe04lGR3OQAAlAsECwAopMgQf/VrVlOS9Ok/MTZXAwBA+UCwAIAiuKVXpCTpxzX7dCgxzeZqAACwH8ECAIqgQ0RVdYioooxsp/63KNbucgAAsB3BAgCK6NZeDSRJXy6J1dHkdJurAQDAXgQLACiivs1qqHWdIKVmZOuj+XSIAgBUbgQLACgiwzB0X7/GkqQvl+zSQdZaAAAqMYIFABRDr8Yh6hBRRelZTn0wd4fd5QAAYBuCBQAUg2EYuv8ia9Tim+W7tedYqs0VAQBgD4IFABRT1wbV1b1hdWVmm3p8xkaZpml3SQAAlDmCBQCUgAmDW8jT3aH52w/rp3VxdpcDAECZI1gAQAmIDPHXXX0aSpIm/LxZ8akZNlcEAEDZIlgAQAm5pVcDNarhr6MpGZrw82amRAEAKhWCBQCUEE93h14a2kqGIU1fs09fLd1ld0kAAJQZggUAlKAOEVX18MVNJUnP/LxZi3ccsbkiAADKBsECAErYzT0jdXm7MGU7Td3+zWrFHEmxuyQAAEodwQIASphhGHrxilZqEx6s+NRMXf3xEu04lGx3WQAAlCqCBQCUAm8PN30++jw1qRmgQ0npGv7JUm0/mGR3WQAAlBqCBQCUkur+Xppy8/lqXitQR5KtcLE5LtHusgAAKBUECwAoRVX9PPXN2M5qFRakYykZGvnZUm3cl2B3WQAAlDiCBQCUsmBfT319U2e1/XfNxchPl2rdnni7ywIAoEQRLACgDAT5eOirGzvpvIgqSkzL0vUTV2jXUbpFAQAqDoIFAJSRAG8PTbyhk1qGBepYSobGfLFCx1My7C4LAIASQbAAgDLk7+Wu/43uqLBgH8UcSdHYL1cqPSvb7rIAACg2ggUAlLEagd764vqOCvB218pdx/Xm7Ci7SwIAoNgIFgBgg8Y1A/TalW0kSZ/8E61Vu47ZXBEAAMVDsAAAm/RvEaor2ofJaUr3T1un1Iwsu0sCAKDICBYAYKOnLm2h0EBvxR5N1Su/b7O7HAAAioxgAQA2CvLx0CvDWkuSvlwSq+0Hk2yuCACAoiFYAIDNejYOUf8WNeU0pRd/22J3OQAAFAnBAgDKgYcubip3h6G52w5r8Y4jdpcDAEChESwAoByIDPHXqM51JUnP/7ZFTqdpc0UAABQOwQIAyom7L2ykAC93bYpL1M/r4+wuBwCAQiFYAEA5Uc3fS7f0ipQkvfNXlLIZtQAAuBCCBQCUI6O71lOgt7uiD6fo940H7C4HAIACI1gAQDkS4O2h67vVlyS9+3cUay0AAC6DYAEA5cz13erJ38tdWw8kac6Wg3aXAwBAgRAsAKCcCfb11LVdIiRJ783dIdNk1AIAUP4RLACgHLqpe315ezi0fm+C5m8/bHc5AACcE8ECAMqhav5eGtXZGrV4929GLQAA5R/BAgDKqVt6RsrT3aFVu45ryc6jdpcDAMBZESwAoJyqEeit4R3DJUnv/b3D5moAADg7ggUAlGO39GogDzdDi6OPatWuY3aXAwDAGREsAKAcCwv20dD2dSRJb82JsrkaAADOjGABAOXcHX0aysPN0IKoI1q044jd5QAAkC+CBQCUc+FVfXM7RL38+1Y6RAEAyiWCBQC4gDsvaCg/Tzet35ug3zYcsLscAABOQ7AAABdQ3d9LY3tGSpJe/WOrMrOdNlcEAEBeBAsAcBE39YhUNT9PxR5N1ecLY+wuBwCAPAgWAOAi/L3c9dCAppKkN2ZvV/ThZJsrAgDgJIIFALiQKzvUUc/GIcrIcurB79cr28lCbgBA+UCwAAAXYhiGXryilfy93LVq13FNXBxrd0kAAEgiWACAywkL9tEjl1hTol6etVXLdh61uSIAAAgWAOCSRnSsqwEtQ5WR7dTNX61ivQUAwHYECwBwQQ6HoTevbqt2dYOVcCJT13+xQoeT0u0uCwBQiREsAMBFeXu46dPrzlPdqr7afSxVV328RHuOpdpdFgCgkiJYAIALq+7vpUk3dFJYsI9ijqToig8Xa1Ncgt1lAQAqIYIFALi4+tX9NP32rmoaGqDDSem6+uOl+nvrQbvLAgBUMgQLAKgAagZ6a9qtXdQlspqS07N046SV+mzBTpkm+1wAAMoGwQIAKohAbw9NuqGTRnQKl2lKz/26RU/M3Cgnm+gBAMoAwQIAKhBPd4deuLyVnhzUXIYhfb10tx78gR26AQClj2ABABWMYRi6oXt9vXV1W7k5DH2/aq/um7ZWWdlOu0sDAFRgBAsAqKAGtw3TuyPayd1haObaOL38+1a7SwIAVGAECwCowC5pVUtvDW8rSfp0QYx+Whdnb0EAgAqLYAEAFdyg1rV1a68GkqSHvl+vrQcSba4IAFARESwAoBIYf1FjdW9YXScys3Xb16uVlpltd0kAgAqGYAEAlYC7m0PvjminmoFeijmSovfn7rC7JABABUOwAIBKooqfp56+tIUk6aP50Yo6mGRzRQCAioRgAQCVyMUtQ3Vh0xrKzDb12I9sngcAKDkECwCoRAzD0DODW8jHw03LY4/p+9V77S4JAFBBECwAoJKpU8VX4/o2kiS98ed2nchgITcAoPgIFgBQCY3pVk9hwT46kJimiYtj7S4HAFABECwAoBLycnfT/Rc1liR9MG+H4lMzbK4IAODqCBYAUEkNbhumpqEBSkrL0gfzou0uBwDg4ggWAFBJuTkMPTSgqSRp4uJY7Ys/YXNFAABXRrAAgEqsd+MQnR9ZVRlZTr05e7vd5QAAXBjBAgAqMcMw9PCAZpKkH1bv1dYDiTZXBABwVQQLAKjk2oYH65JWoTJN6dXft9ldDgDARREsAAAaf1ETuTkM/bX1kJbHHLO7HACACyJYAAAUGeKvqzuGS5JemrVFpmnaXBEAwNUQLAAAkqRxFzaSj4ebVu+O15+bD9pdDgDAxRAsAACSpBqB3rqxe31J0iu/b1VWttPmigAAroRgAQDIdXOvSFXx9VD04RR9v2qv3eUAAFwIwQIAkCvQ20N3XtBIkvTmnO06kZFtc0UAAFdBsAAA5HHN+XUVFuyjg4npemsOm+YBAAqGYAEAyMPL3U1PX9ZCkvTJgp1aEUv7WQDAuREsAACn6de8pq7sUEemKd03ba2S07PsLgkAUM4RLAAA+Xry0uYKC/bRnmMn9OzPm9nbAgBwVgQLAEC+Arw99NqVbWQY0tSVe/Th/Gi7SwIAlGMECwDAGXVpUE2PXdJMkvTK79v0zbLdNlcEACivCBYAgLO6qUek7ujTQJL02IwNmrKccAEAOB3BAgBwTuMvaqJRnevKNKVHpm/QI9M3KD2LPS4AACcRLAAA52QYhp4d3FLjL2osw5CmLN+tqz5aoujDyXaXBgAoJwgWAIACcTgM3XlBI028vpOCfDy0bm+CLnl7gT79Z6eynXSMAoDKjmABACiUXo1D9Ns9PdSjUXWlZzn1/G9bNOKTpTqQkGZ3aQAAGxEsAACFFhbsoy9v6KSXh7aSv5e7lsce08B3Fmhh1BG7SwMA2IRgAQAoEsMwdHXHuvr5ru5qVitQR1MydO3/lmnqCrpGAUBlRLAAABRL/ep++vH2rrqyQx2ZpvTw9A2avnqv3WUBAMpYqQWL559/Xl27dpWvr6+Cg4PzPWf37t0aOHCgfH19VaNGDT3wwAPKysoqrZIAAKXE28NNrwxrrWvPj5BpSuO/W6ef18XZXRYAoAyVWrDIyMjQlVdeqdtuuy3f+7OzszVw4EBlZGRo8eLFmjRpkiZOnKgnn3yytEoCAJQiwzD0zGUtNLxjuJymdP+0ddq4L8HusgAAZcQwTbNUewROnDhR48aNU3x8fJ7js2bN0qBBgxQXF6eaNWtKkj766CM99NBDOnz4sDw9PQt0/cTERAUFBSkhIUGBgYElXT4AoJCcTlM3f7VKc7YcVGSIn365q7t8Pd3tLgsAUASF+axt2xqLJUuWqFWrVrmhQpL69++vxMREbdq0ya6yAADF5HAYenXY/9u78/CoyoP94/csmckC2UhIWMKSsC8CgmDArYhorbTWjdYWoXV9ofUnWBU3aFWUWl/r8qK1VsHX8hYX3Aq4IEpdAFEggBDWAAmQBEIgeyaZmef3RyAKsg2Tyckk3891zTXMyZnkHq7nmpw7z5znnKXU2Ejl7K/Qn97baHUkAEAjsKxYFBQUHFUqJNU/LigoOOHzPB6PSktLj7oBAJqWhBiX/jp2oGw26bVv8rRofb7VkQAAIRZQsZg6dapsNttJb5s2bQpVVknSY489pri4uPpbWlpaSH8eAODMZGa00aSLukmSpr+3QWXVtRYnAgCEUkAfer3zzjs1YcKEk+6Tnp5+Wt8rNTVVK1euPGpbYWFh/ddO5N5779WUKVPqH5eWllIuAKCJ+v3F3bRwfb52FFXo6Y+36oEr+lgdCQAQIgEVi+TkZCUnJzfID87MzNSMGTO0b98+tW3bVpK0ePFixcbGqk+fE//icbvdcrvdDZIBABBabqdD08f00YTZX2v2sp26dkiaeqa2tjoWACAEQnaORW5urrKyspSbmyufz6esrCxlZWWpvLxckjR69Gj16dNH48aN09q1a/Xhhx/qgQce0KRJkygOANCMXNSzrS7tmyKf32jau98qxIsRAgAsErJiMW3aNA0aNEjTp09XeXm5Bg0apEGDBumbb76RJDkcDi1YsEAOh0OZmZn69a9/rRtuuEEPPfRQqCIBACzy4BV9FBlh11c7irWQE7kBoFkK+XUsQo3rWABAeHjq4y166uOtSkuM0uLJFyoywmF1JADAKYTFdSwAAC3LLRekKyXWrbziKr2ybKfVcQAADYxiAQBoFNEup+66tJck6X8+2aYD5R6LEwEAGhLFAgDQaK4a1EH9OsSqzOPVUx9vtToOAKABUSwAAI3Gbrfp/svrlhSf+9UufbunxOJEAICGQrEAADSqzIw2uuKsdvIb6cF3v5XfH9ZriAAADqNYAAAa3QM/6aMYl0Nrcg/pjVV5VscBADQAigUAoNGlxkVq8iU9JEkz39+kgxU1FicCAASLYgEAsMT44V3UM6W1DlbW6r6313NFbgAIcxQLAIAlIhx2PX7NWYpw2PT+twX654pdVkcCAASBYgEAsMyAtHjdc1ndtS0eXpCtDXtZJQoAwhXFAgBgqRvP66pRvduqxufXf/1ztQpKqq2OBAA4AxQLAIClbDabnrh2gDomRCm3uFLXvbBcuw9WWh0LABAgigUAwHLx0S7Nu+VcdUqMVm5xpca+sELb95dbHQsAEACKBQCgSeiYEK3Xb81UelKM9hyq0k+e+Vz/+DxHPi6gBwBhgWIBAGgyUuMi9dqtmRrRrY2qa/16ZGG2rn5+mb7KOWB1NADAKdhMmC8cXlpaqri4OJWUlCg2NtbqOACABmCM0byv8zRjYbbKPV5J0nndknTn6B4a1CnB4nQA0HIEcqxNsQAANFkFJdV69pOtev2bPNX66n5djRnQXndf2lNpidEWpwOA5o9iAQBoVvKKK/X0kq2av3q3jJFcTrvuv7y3bsjsLJvNZnU8AGi2AjnW5hwLAECTl5YYrSeuHaAFvz9PwzPaqMbr1/T3NujO19eqqsZndTwAgCgWAIAw0rd9nObeNEz3X95bDrtNb63Zo+teWK6SqlqrowFAi0exAACEFZvNppsvSNerNw5VYoxL6/eU6NZXv5HHy8wFAFiJYgEACEvDM5L06o1D1crt1IqcYk15fa38XPMCACxDsQAAhK2+7eP0wrjBinDYtHBdvv7y0WarIwFAi0WxAACEtRHdkvTEtQMkSX/7z3Yt215kcSIAaJkoFgCAsPezgR30i3PSZIx05+trVVLJydwA0NgoFgCAZuHBK/qoc5to5ZdU68F3v7U6DgC0OBQLAECzEON26q9jB8pht+m9tXu1cF2+1ZEAoEWhWAAAmo2zOyVo4kUZkqTp732rQ5U1FicCgJaDYgEAaFZ+N7KburVtpaLyGj2yMNvqOADQYlAsAADNitvp0J+v7i+bTXpz1W59vnW/1ZEAoEWgWAAAmp3BnRM1PrOLJOnet9arwuO1NhAAtAAUCwBAs3TXpT3VIT5Kuw9W6b8/2mJ1HABo9igWAIBmKcbt1Iyf95MkzV62Q2tyD1qcCACaN4oFAKDZuqhnW101qIOMke6Zv041Xr/VkQCg2aJYAACatQev6KM2MS5tKSzXXz7cZHUcAGi2KBYAgGYtIcalGT/vL0l68fMdemfNHosTAUDzRLEAADR7l/VL1aQf1V04757567R+d4nFiQCg+aFYAABahDsv6amRvdrK4/Xr5v/9RlsKy6yOBADNCsUCANAi2O02PfWLgeretpUKSqt19XPL9J8tXDwPABoKxQIA0GLERkbo9VszNbRLoso8Xv12ztd6cvEWlVbXWh0NAMIexQIA0KIkxLj06k1DddWgDvL5jZ5ZslXnzfxETy7eopz95VbHA4CwZTPGGKtDBKO0tFRxcXEqKSlRbGys1XEAAGHCGKOF6/P19MdbtXXfd4WiW9tWuqRPikb3SdGAjvGy220WpgQAawVyrE2xAAC0aD6/0aL1+Xr9mzwt335AXv93vxZTYt36zYiuGp/ZRVEuh4UpAcAaFAsAAM5ASVWtlm7ep8UbC7V0836Ve7yS6grGnZf01LVDOspmYwYDQMtBsQAAIEger0//Xpuvvy7eoj2HqiRJvxyapod+1k8RDk5RBNAyBHKszTsjAADH4XY6dM3gjvrkDxfq7st6ym6T/rUyT7+Z/bVKqlhFCgCORbEAAOAk3E6HJl7UTS/eMETRLoe+2FakG15eqepan9XRAKBJoVgAAHAaLu6dotdvzVR8dITW5h3SlNez5PeH9aeJAaBBUSwAADhN/TrE6YVfD1aEw6ZF6wv0xEebrY4EoBn7ZmdxWM2OUiwAAAjAsPQ2mnnVWZKk55Zu17tZeyxOBKA5+nJbka7/x1ca//JKVRxeoa6po1gAABCgqwd31MSLMiRJ9721nit2A2hQq3YV66ZXvlGN16/46Ai5neFxyB4eKQEAaGKmXNJDw7omqqLGp0n/tyasPq4AoOnasLdEE2Z/rapan87vnqRnfjlIzjBZ4jo8UgIA0MQ4HXY988tBahPjUnZ+qR5esNHqSADC3IqcA/rl31eorNqrc7ok6IVxg+V2OqyOddooFgAAnKGU2Ej9dexA2WzS3K9ytWDdXqsjAQhT72bt0Q0vrVRptVdnd4rXSxPOUbTLaXWsgFAsAAAIwgU9kuvPt5g6f712FlVYnAhAONl1oEKTX8vS/5uXpRqfXz/ul6r/u/lcxUZGWB0tYOFVgwAAaIImj+qhr3cc1MqdxZr0f6s1/7+GKzIifD6+AKBhGGO0fPsBvZu1V3tLqrSv1KNav1+psZF1t7i6W4zLqbyDldpaWK4PNxTIe/iaOLdckK6pl/WS3W6z+JWcGZsxJqyv7lNaWqq4uDiVlJQoNjbW6jgAgBaqoKRalz/zuYoranTlwPZ68rqBYXtwACBw76/P1/98uk0b9pYG/NwLeiTrrtE91b9jXAiSBSeQY21mLAAAaACpcZF6auxA/XbO13ona6/io12aPqaPbDbKBdCc1Xj9emjBBv1zRa4kKSrCoasHd9DAtAS1be2W02FTYWm1Cko8KiipUkFptcqqveqYEKXObWJ0bnqiBndOtPhVNAyKBQAADeSCHsl64toBuuO1LM1ZtlNxURG6Y1R3ygXQTBWVezRx7mqt3FEsm0267cIM3XJ+uhJiXFZHswTFAgCABnTloA4qqarV9Pc26OklW7Vtf7kevbK/4qLD70RMACe2r7Rav3hxhXL2V6iV26mnfzFQF/dOsTqWpVgVCgCABjZ+eBdNu6KPnHabFq7L1+XPfK6F6/Ll8XIRPaA5+H6p6BAfpXcmDW/xpULi5G0AAEJmbd4h3T5vjXYdqJQkxUY6dWnfVHVPaaW0hGilxkWqTYxbbVq5FOPmQwRAODi2VPzr5nPVqU201bFCJpBjbYoFAAAhVO7x6vml2/TW6j3KL6k+4X4ZyTEa2rWNLuyRrNF9UlhRCmiCWlqpkCgWAAA0OT6/0Vc5B/Tl9iLlFVcp72Cl9pV6dKDCo+pa/1H79m0fq3t/3FvndU+yKC2AY7XEUiFRLAAACCvFFTVateuglm8/oDe+yVOZxytJ+umA9nr8mrO42B5gsY17S3XbP1cpt7iyRZUKiWIBAEDYKq6o0bOfbNWry3fJ6zc6p0uCXrxhiOKjW+bylYDV5q/arfveXi+P16+0xCjNvbHllAqJYgEAQNhbtr1It/7vKpV5vMpIjtHcm85Valyk1bGAFmP97hI9uXizPt28X5J0Uc9kPTV2YIsr+RQLAACagU0FpfrN7K+VX1KtXqmt9dqtmYqL4noYCEytz6+yaq9Kq2pVVu1VWXWtKmp8qq71qarWJ8/h++pa/+H7Ize/qmt9qvUZ+fx+ef1GtT6/vD4jr9/I66/7d63PL5/fqNZXt83nrzu0/P4R5vcPNo8ceh57AOq02+Vy2OR02BXhsCnCYT98q9vmctjldNgUFeFQjNupGNfh+8P/jnY71erwrXWkU60jIxR7+D4ywn7KC1UaY5RbXKnPtuzX4ux9+mxLXaFw2G36/chuun1k9xa5qALFAgCAZiKvuFJXP79M+8o8Ojc9Ua/8dqjcTs65aMlqvH4VllZrf7lHRWUeFZXXaH+ZR0Xldbf9ZR4drKypKxPVtT9YHKAlctpt9WWj7t4pt9MhvzGq8fq1v9yj/EPVqqr97lozdpt05cAOuv3i7uqSFGNhemtRLAAAaEY27C3R2BdWqNzj1RVntdMzvxjUIv9y2pL4/XV/Pc/OL1VOUYVyD1Qqt7jull9SJf8ZHL1FuxyKPXxgHe12KirCrsgIh6IiHIqsv9nrH0dFOOSOsMtpr5spiHDY5LTXzSA4jmw7fO+0180q1N3bZNN34/P7EwXHjtojXzNG9TMetT6/an3fzY7U+L6bGanx1c2iVHh8qqzxqtzjVaXHp/Iaryo9XlV4fCqt/m5mptzjDej/ymm3aXDnBF3QI1k/7peq9ORWgf9HNzOBHGtzNR4AAJq4vu3j9MK4wZowe6UWrMtXamykHriij9Wx0ECMMdq+v1wrcoq1YW+JsvPLtLmg7Ki/nh/L5bArubVbSa1ch+/d9fdJrdxKiIlQbGSE4qLqikQrt1NOh70RX1XTYIxRRY1PZd8rG6VVdTM5NV6/nIdLUlKMS+3io9QuLpJV2IJAsQAAIAyM6Jakv1wzQHe8lqV/fLFDqXGRuun8dKtj4QwcKRLLtx/QipxifbXjgIrKa36wn9tpV4+U1uqe0kqdEqOPuiW3dp/ynAFINput/ryLdnFWp2n+KBYAAISJKwd1UGFptR57f5MeWZithGiXrh7c0epYOA3GGK3JO6T31+fro42F2nWg8qivu512De6coIFp8erdLla928WqS5voFjnLgPBFsQAAIIzcckG68kuqNWfZTt35xlqVVddqwoiuVsfCCRSUVOuNb/L01po92lFUUb/d5bTrnC4JOrdrGw1Lb6MBaXGclI+wR7EAACCM2Gw2TTt8fsWcZTv1x39vVHFlrf7fxd3l4ITuJmPVrmK9/OVOffhtgbyHzx6OinBodN8UXdY3VRf0SFaMm8MwNC+MaAAAwozdbtP0MX0UHx2hpz7eqmeWbNXHGwv14BV9lJnR5oTPM8bUX4vAabfL5eRjNg3JGKPl2w/o6SVb9dWO4vrtQ7skauw5abqsXyplAs0ay80CABDGXvs6V48szFZZtVeS1LtdrPp3iFVGcitV1Ph0qLJGew9VKaeoQnnFlar11f3aj3DYNKhTgkZkJGnMgHYsqxmkdbsPacbC7PpCEeGw6eeDOmjC8K7q057jE4QvrmMBAEALUlxRo78u3qK5X+06o+sbOO02/fa8rrr94u5qxV/UA1JYWq3HFmXrnay9kurOnfjlOWm69cIMtY+PsjgdEDyKBQAALVBBSbWy8g5qw95S7TpQqdaRTiVEu9Q21q30pFbqkhSt1u4IRTht2lfq0Zfbi/TBtwX6fGuRJCkl1q2/jh2o4RlJFr+Sps/vN5r3dZ4ee/+72aKrzu6gP4zuSaFAs0KxAAAAp+2TTYX60783ateBSjntNs34eT+NPaeT1bGarO37y3Xv/PVaubPuY08DOsbpkSv7q39HLpSA5ocrbwMAgNM2sleKhmck6e431+m9tXt1z/z1ytlfoXsu6yU7K03Vq/H69cJ/tuvZT7apxudXtMuhP4zuqfHDu7AiFyCKBQAAkBQZ4dDTvxio9OQYPfXxVr3wWY4KSqv1l2sGsHqUpKy8Q7rnzXXaXFgmSbqoZ7IeubKfOiZEW5wMaDooFgAAQFLdNTLuGNVDnRKjdfeb6/Ru1l4drKzV8786u8Uuk1pV49N/f7RZL3+5Q34jJca4NH1MH/10QHvZbMxSAN/XMt8lAADACV11dkclxLg08Z+r9dmW/fr5c19q1vVnq3tK69P+HjuLKrRk0z5t2FuiSo9PlbU+tY+L1PndkzWiWxvFR7saNHOtz68l2YWav3qP8kuqJElOu11Duybqx/1SNTAtPuAisGxbkaa+tV65xZWSpJ8P6qAHr+ijxJiGzQ40F5y8DQAAjmtN7kHd8uoq7S/zKCrCoT/+tI+uGZx2wvMJ8kuqNH/Vbr29Zo+276844fe126Srz+6oKaN7qF1ccCso+fxGc5bt1PNLt6movOaE+6UlRml8ZheNPSdNrSMjTvo9t+8v1zNLturdw0vIto+L1Iyr+utHPdsGlRUIR6wKBQAAGsT+Mo8mv5alL7bVLUnbMSFKvxzaScO6JsrtdKja69NXOQf0+dYirdxZrCNHFU67TUO7Jmp4Rt3sRGSEQ5vyS/XZ1v3aUlguSXI77brp/K76/cjuioxwBJxtZ1GF7npzrb7eeVCSlNzaravP7qhhXRMlm1RaVauPs/dpSXahKmt8kqRWbqeuOKudLu2bqsyMNvU/91BljZZvP6CF6/O1cH1+/eu4IbOz7r6sF9f3QItFsQAAAA3G7zd64bMc/e0/21VSVXvSfYd1TdS1Q9I0um+KYk8wM7A696BmLtpUv1xrelKM/nLtWRrcOfG087y6Ypdmvr9JVbU+xbgcuu8nvXXdkDRFOH54onlVjU/vZO3RS1/s0LZ95fXbnXabol0OuZwOHajw6PtHRJf0SdHtI7uzhCxaPIoFAABocNW1Pi1cl683VuUpv6RaNV6/jJEGpsVrRPckXdQjWWmJp7dKkjFGH24o1LR3v9W+Mo9sNunXwzpr8iU9TnoOQ+6BSt0zf52W5xyQJGWmt9Hj15x1Wj/X7zdakXNA739boI82Fqiw1HPU17u3baUR3ZJ07ZCO6tueQgFIFAsAABAmSipr9fDCjXpz1W5JUutIp373o24aM6D9UVewzj1QqeeWbtP81btV6zOKinDo3st76dfDOp/RtTb8fqP80mpV1fhUXetT29ZutY2NbLDXBTQXFAsAABBWlm0v0iMLsrUxv7R+W0ZyjOKjXdpzsEqFZdX1H1U6r1uSHrmyn7okxViUFmg5KBYAACDs+PxG81fv1r9W5mpt3iH5jzlCubBHsm6/uNtpn4sBIHiBHGuzxAEAAGgSHHabrhuSpuuGpKmkqlZf5RxQjc+vtIRopSVGc/0IoImjWAAAgCYnLipCo/umWh0DQAB+uCYbAAAAAASIYgEAAAAgaBQLAAAAAEGjWAAAAAAIGsUCAAAAQNAoFgAAAACCRrEAAAAAEDSKBQAAAICgUSwAAAAABI1iAQAAACBoFAsAAAAAQaNYAAAAAAgaxQIAAABA0CgWAAAAAIJGsQAAAAAQNIoFAAAAgKBRLAAAAAAEjWIBAAAAIGgUCwAAAABBo1gAAAAACBrFAgAAAEDQKBYAAAAAgkaxAAAAABA0igUAAACAoFEsAAAAAASNYgEAAAAgaBQLAAAAAEELWbGYMWOGhg8frujoaMXHxx93H5vN9oPbvHnzQhUJAAAAQIg4Q/WNa2pqdO211yozM1MvvfTSCfebPXu2LrvssvrHJyohAAAAAJqukBWLP/3pT5KkOXPmnHS/+Ph4paamhioGAAAAgEYQsmJxuiZNmqSbbrpJ6enpuu222/Sb3/xGNpvthPt7PB55PJ76xyUlJZKk0tLSkGcFAAAAWpIjx9jGmFPua2mxeOihhzRy5EhFR0fro48+0sSJE1VeXq7bb7/9hM957LHH6mdDvi8tLS2UUQEAAIAWq6ysTHFxcSfdx2ZOp34cNnXqVP35z38+6T7Z2dnq1atX/eM5c+bojjvu0KFDh075/adNm6bZs2crLy/vhPscO2Ph9/tVXFysNm3anHSmI5RKS0uVlpamvLw8xcbGWpIBTQtjAsdiTOBYjAkcizGBYzWFMWGMUVlZmdq3by+7/eTrPgU0Y3HnnXdqwoQJJ90nPT09kG95lGHDhunhhx+Wx+OR2+0+7j5ut/sHX2sqJ3zHxsbyRoCjMCZwLMYEjsWYwLEYEziW1WPiVDMVRwRULJKTk5WcnHxGgU5HVlaWEhISTlgqAAAAADRNITvHIjc3V8XFxcrNzZXP51NWVpYkqVu3bmrVqpX+/e9/q7CwUOeee64iIyO1ePFiPfroo/rDH/4QqkgAAAAAQiRkxWLatGl65ZVX6h8PGjRIkvTpp5/qoosuUkREhGbNmqXJkyfLGKNu3brpySef1M033xyqSCHjdrs1ffp0ZlpQjzGBYzEmcCzGBI7FmMCxwm1MBHTyNgAAAAAcz8lP7QYAAACA00CxAAAAABA0igUAAACAoFEsAAAAAASNYnGaZs2apS5duigyMlLDhg3TypUrT7r/G2+8oV69eikyMlL9+/fXokWLGikpGksgY+LFF1/U+eefr4SEBCUkJGjUqFGnHEMIP4G+Txwxb9482Ww2XXnllaENiEYX6Jg4dOiQJk2apHbt2sntdqtHjx78/mhmAh0TTz31lHr27KmoqCilpaVp8uTJqq6ubqS0CKXPPvtMY8aMUfv27WWz2fTOO++c8jlLly7V2WefLbfbrW7dumnOnDkhzxkQg1OaN2+ecblc5uWXXzYbNmwwN998s4mPjzeFhYXH3f/LL780DofDPP7442bjxo3mgQceMBEREWb9+vWNnByhEuiYuP76682sWbPMmjVrTHZ2tpkwYYKJi4szu3fvbuTkCJVAx8QRO3bsMB06dDDnn3+++dnPftY4YdEoAh0THo/HDBkyxFx++eXmiy++MDt27DBLly41WVlZjZwcoRLomJg7d65xu91m7ty5ZseOHebDDz807dq1M5MnT27k5AiFRYsWmfvvv9+89dZbRpJ5++23T7p/Tk6OiY6ONlOmTDEbN240zz77rHE4HOaDDz5onMCngWJxGoYOHWomTZpU/9jn85n27dubxx577Lj7X3fddeYnP/nJUduGDRtmbr311pDmROMJdEwcy+v1mtatW5tXXnklVBHRyM5kTHi9XjN8+HDzj3/8w4wfP55i0cwEOiaef/55k56ebmpqahorIhpZoGNi0qRJZuTIkUdtmzJlihkxYkRIc6LxnU6xuPvuu03fvn2P2jZ27Fhz6aWXhjBZYPgo1CnU1NRo1apVGjVqVP02u92uUaNGafny5cd9zvLly4/aX5IuvfTSE+6P8HImY+JYlZWVqq2tVWJiYqhiohGd6Zh46KGH1LZtW914442NERON6EzGxHvvvafMzExNmjRJKSkp6tevnx599FH5fL7Gio0QOpMxMXz4cK1atar+41I5OTlatGiRLr/88kbJjKYlHI4vQ3bl7eaiqKhIPp9PKSkpR21PSUnRpk2bjvucgoKC4+5fUFAQspxoPGcyJo51zz33qH379j94g0B4OpMx8cUXX+ill15SVlZWIyREYzuTMZGTk6NPPvlEv/rVr7Ro0SJt27ZNEydOVG1traZPn94YsRFCZzImrr/+ehUVFem8886TMUZer1e33Xab7rvvvsaIjCbmRMeXpaWlqqqqUlRUlEXJvsOMBdDIZs6cqXnz5untt99WZGSk1XFggbKyMo0bN04vvviikpKSrI6DJsLv96tt27b6+9//rsGDB2vs2LG6//779be//c3qaLDI0qVL9eijj+q5557T6tWr9dZbb2nhwoV6+OGHrY4GHBczFqeQlJQkh8OhwsLCo7YXFhYqNTX1uM9JTU0NaH+ElzMZE0c88cQTmjlzpj7++GOdddZZoYyJRhTomNi+fbt27typMWPG1G/z+/2SJKfTqc2bNysjIyO0oRFSZ/I+0a5dO0VERMjhcNRv6927twoKClRTUyOXyxXSzAitMxkTDz74oMaNG6ebbrpJktS/f39VVFTolltu0f333y+7nb8PtyQnOr6MjY1tErMVEjMWp+RyuTR48GAtWbKkfpvf79eSJUuUmZl53OdkZmYetb8kLV68+IT7I7ycyZiQpMcff1wPP/ywPvjgAw0ZMqQxoqKRBDomevXqpfXr1ysrK6v+9tOf/lQ/+tGPlJWVpbS0tMaMjxA4k/eJESNGaNu2bfUlU5K2bNmidu3aUSqagTMZE5WVlT8oD0eKpzEmdGHRJIXF8aXVZ4+Hg3nz5hm3223mzJljNm7caG655RYTHx9vCgoKjDHGjBs3zkydOrV+/y+//NI4nU7zxBNPmOzsbDN9+nSWm21mAh0TM2fONC6Xy7z55psmPz+//lZWVmbVS0ADC3RMHItVoZqfQMdEbm6uad26tfnd735nNm/ebBYsWGDatm1rHnnkEateAhpYoGNi+vTppnXr1uZf//qXycnJMR999JHJyMgw1113nVUvAQ2orKzMrFmzxqxZs8ZIMk8++aRZs2aN2bVrlzHGmKlTp5px48bV739kudm77rrLZGdnm1mzZrHcbLh69tlnTadOnYzL5TJDhw41K1asqP/ahRdeaMaPH3/U/q+//rrp0aOHcblcpm/fvmbhwoWNnBihFsiY6Ny5s5H0g9v06dMbPzhCJtD3ie+jWDRPgY6JZcuWmWHDhhm3223S09PNjBkzjNfrbeTUCKVAxkRtba354x//aDIyMkxkZKRJS0szEydONAcPHmz84Ghwn3766XGPDY6MgfHjx5sLL7zwB88ZOHCgcblcJj093cyePbvRc5+MzRjm0gAAAAAEh3MsAAAAAASNYgEAAAAgaBQLAAAAAEGjWAAAAAAIGsUCAAAAQNAoFgAAAACCRrEAAAAAEDSKBQAAAICgUSwAAAAABI1iAQAAACBoFAsAAAAAQaNYAAAAAAja/weH0pgStoXKKAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# training with PINN and visualize results\n", + "pinn = PINN(problem=problem,\n", + " model=FeedForward(input_dimensions=1, output_dimensions=1, layers=[100, 100, 100]),\n", + " scheduler=torch.optim.lr_scheduler.MultiStepLR,\n", + " scheduler_kwargs={'milestones' : [1000, 2000, 3000, 4000], 'gamma':0.9})\n", + "trainer = Trainer(pinn, max_epochs=5000, accelerator='cpu', enable_model_summary=False)\n", + "trainer.train()\n", + "\n", + "# training with PINN and visualize results\n", + "sapinn = SAPINN(problem=problem,\n", + " model=FeedForward(input_dimensions=1, output_dimensions=1, layers=[100, 100, 100]),\n", + " scheduler_model=torch.optim.lr_scheduler.MultiStepLR,\n", + " scheduler_model_kwargs={'milestones' : [1000, 2000, 3000, 4000], 'gamma':0.9})\n", + "trainer_sapinn = Trainer(sapinn, max_epochs=5000, accelerator='cpu', enable_model_summary=False)\n", + "trainer_sapinn.train()\n", + "\n", + "# plot results\n", + "pl = Plotter()\n", + "pl.plot(pinn, title='PINN Solution')\n", + "pl.plot(sapinn, title='Self Adaptive PINN Solution')\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can clearly see that the solution has not been learned by the two different solvers. Indeed the big problem is not in the optimization strategy (i.e. the solver), but in the model used to solve the problem. A simple `FeedForward` network can hardly handle multiscales if not enough collocation points are used!\n", + "\n", + "We can also compute the $l_2$ relative error for the `PINN` and `SAPINN` solutions:" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Relative l2 error PINN 95.76%\n", + "Relative l2 error SAPINN 124.26%\n" + ] + } + ], + "source": [ + "# l2 loss from PINA losses\n", + "l2_loss = LpLoss(p=2, relative=True)\n", + "\n", + "# sample new test points\n", + "pts = pts = problem.spatial_domain.sample(100, 'grid')\n", + "print(f'Relative l2 error PINN {l2_loss(pinn(pts), problem.truth_solution(pts)).item():.2%}')\n", + "print(f'Relative l2 error SAPINN {l2_loss(sapinn(pts), problem.truth_solution(pts)).item():.2%}')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Which is indeed very high!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fourier Feature Embedding in PINA" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Fourier Feature Embedding is a way to transform the input features, to help the network in learning multiscale variations in the output. It was\n", + "first introduced in [*On the eigenvector bias of Fourier feature networks: From regression to solving\n", + "multi-scale PDEs with physics-informed neural networks*](\n", + "https://doi.org/10.1016/j.cma.2021.113938) showing great results for multiscale problems. The basic idea is to map the input $\\mathbf{x}$ into an embedding $\\tilde{\\mathbf{x}}$ where:\n", + "\n", + "$$ \\tilde{\\mathbf{x}} =\\left[\\cos\\left( \\mathbf{B} \\mathbf{x} \\right), \\sin\\left( \\mathbf{B} \\mathbf{x} \\right)\\right] $$\n", + "\n", + "and $\\mathbf{B}_{ij} \\sim \\mathcal{N}(0, \\sigma^2)$. This simple operation allow the network to learn on multiple scales! \n", + "\n", + "In PINA we already have implemented the feature as a `layer` called [`FourierFeatureEmbedding`](https://mathlab.github.io/PINA/_rst/layers/fourier_embedding.html). Below we will build the *Multi-scale Fourier Feature Architecture*. In this architecture multiple Fourier feature embeddings (initialized with different $\\sigma$)\n", + "are applied to input coordinates and then passed through the same fully-connected neural network, before the outputs are finally concatenated with a linear layer." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "MultiscaleFourierNet(\n", + " (embedding1): FourierFeatureEmbedding()\n", + " (embedding2): FourierFeatureEmbedding()\n", + " (layers): FeedForward(\n", + " (model): Sequential(\n", + " (0): Linear(in_features=100, out_features=100, bias=True)\n", + " (1): Tanh()\n", + " (2): Linear(in_features=100, out_features=100, bias=True)\n", + " )\n", + " )\n", + " (final_layer): Linear(in_features=200, out_features=1, bias=True)\n", + ")" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "class MultiscaleFourierNet(torch.nn.Module):\n", + " def __init__(self):\n", + " super().__init__()\n", + " self.embedding1 = FourierFeatureEmbedding(input_dimension=1, \n", + " output_dimension=100,\n", + " sigma=1)\n", + " self.embedding2 = FourierFeatureEmbedding(input_dimension=1, \n", + " output_dimension=100,\n", + " sigma=10)\n", + " self.layers = FeedForward(input_dimensions=100, output_dimensions=100, layers=[100])\n", + " self.final_layer = torch.nn.Linear(2*100, 1)\n", + "\n", + " def forward(self, x):\n", + " e1 = self.layers(self.embedding1(x))\n", + " e2 = self.layers(self.embedding2(x))\n", + " return self.final_layer(torch.cat([e1, e2], dim=-1))\n", + "\n", + "MultiscaleFourierNet()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will train the `MultiscaleFourierNet` with the `PINN` solver (and feel free to try also with our PINN variants (`SAPINN`, `GPINN`, `CompetitivePINN`, ...)." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: True (mps), used: False\n", + "TPU available: False, using: 0 TPU cores\n", + "IPU available: False, using: 0 IPUs\n", + "HPU available: False, using: 0 HPUs\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 4999: 100%|██████████| 1/1 [00:00<00:00, 94.64it/s, v_num=71, gamma0_loss=3.91e-5, gamma1_loss=3.91e-5, D_loss=0.000151, mean_loss=0.000113] " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "`Trainer.fit` stopped: `max_epochs=5000` reached.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 4999: 100%|██████████| 1/1 [00:00<00:00, 72.21it/s, v_num=71, gamma0_loss=3.91e-5, gamma1_loss=3.91e-5, D_loss=0.000151, mean_loss=0.000113]\n" + ] + } + ], + "source": [ + "multiscale_pinn = PINN(problem=problem,\n", + " model=MultiscaleFourierNet(),\n", + " scheduler=torch.optim.lr_scheduler.MultiStepLR,\n", + " scheduler_kwargs={'milestones' : [1000, 2000, 3000, 4000], 'gamma':0.9})\n", + "trainer = Trainer(multiscale_pinn, max_epochs=5000, accelerator='cpu', enable_model_summary=False) # we train on CPU and avoid model summary at beginning of training (optional)\n", + "trainer.train()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us now plot the solution and compute the relative $l_2$ again!" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxYAAAMsCAYAAADJXzRsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAADsvUlEQVR4nOzdeXhcZfn/8feZyWQm+2TfmqX7RhdaKBQoLQiWRQRR+SH76g6i4oIKFFBR+eIKiooKKioKKioge1naCi2lhe5r0mbf92Qyy/n9cZLQNNtMMulk+byuKxfNOc955p5pUuae8zz3bZimaSIiIiIiIjICtkgHICIiIiIi458SCxERERERGTElFiIiIiIiMmJKLEREREREZMSUWIiIiIiIyIgpsRARERERkRFTYiEiIiIiIiOmxEJEREREREZMiYWIiIiIiIyYEgsRGbFVq1axatWqsM5ZVFSEYRg88sgjYZ1Xegvl727VqlUcd9xxoxvQCBmGwZo1a4IaW1hYyDXXXDOq8Qxm7dq1GIbB2rVrIxZDOIXy2ovIxKTEQmQSeu+99/jYxz5GQUEBLpeL3Nxczj77bH72s58d81j+9Kc/8eMf//iYP+5grrnmGgzD6PlKTExk0aJF3H///Xg8np5xa9aswTAMampq+ly7cOFCTNPsM7dhGHz+85/v+b47gTIMgyeffLLP+P4eYzSVlZWxZs0atmzZEva5CwsLMQyDs846q9/zv/71r3tei02bNoXlMdevX8+aNWtoaGgIy3xjxSOPPNLrZ/TIr69//euRDi9supMvwzB4++23+5y/5ppriI+PH9bczzzzjBIhkTCLinQAInJsrV+/njPOOIP8/HxuvPFGsrKyOHz4MP/73//4yU9+wk033XRM4/nTn/7Etm3buOWWW3odLygooL29HYfDcUzj6eZ0Onn44YcBaGho4Mknn+TWW29l48aN/OUvfxny+vfee4+///3vfPSjHw36Me+++24uvvhiDMMYdtyhev7553t9X1ZWxl133UVhYSGLFy8O++O5XC5eeeUVKioqyMrK6nXusccew+Vy0dHREbbHW79+PXfddRfXXHMNbre717ndu3djs43vz9fuvvtupk6d2utYpO4qtbe3ExU1em8r1qxZw7///e+wzffMM8/w4IMPKrkQCSMlFiKTzHe+8x2SkpLYuHFjnzdaVVVVkQmqH4Zh4HK5Ivb4UVFRXHHFFT3ff/azn+Wkk07i8ccf54c//CE5OTkDXhsTE0NeXl5IicLixYvZsmUL//jHP7j44ovD8hyCER0dfcweC+DUU09l48aNPP7443zhC1/oOV5SUsLrr7/ORz7ykX7v3IwGp9N5TB5nNJ177rmccMIJEXv8QCBAZ2cnLpcrrL+vHR0dvX42Fy9ezH/+8x82b97MkiVLwvY4IhJe4/ujGhEJ2f79+5k/f36fpAIgIyOj1/c+n4977rmH6dOn43Q6KSws5Bvf+Eav5UD96V6mUVRU1Ov40WvKV61axdNPP01xcXHPcofCwkJg4D0WL7/8MitWrCAuLg63282FF17Izp07e43pXj60b9++nk+qk5KSuPbaa2lraxvyNeqPzWbr2Ytw9PPqb+y3vvUt3n33Xf7xj38ENf+ll17KrFmzuPvuu/tdQjWYd999F8Mw+Ne//tVz7O2338YwjD5vws4991xOOumknu+P3GOxdu1aTjzxRACuvfbanr+To/8OduzYwRlnnEFsbCy5ubn84Ac/CDpWl8vFxRdfzJ/+9Kdex//85z+TnJzM6tWr+1wz0D6Qa665pufnpT9r1qzhK1/5CgBTp07teT7df39H77Hwer3cddddzJw5E5fLRWpqKqeddhovvPBCr3l37drFJZdcQnp6OjExMcyePZtvfvObPeeLi4v57Gc/y+zZs4mJiSE1NZWPf/zjQ/7cdHvzzTc555xzSEpKIjY2lpUrV7Ju3bqgrj1aML8vA72O3b9HR+peyvfYY48xf/58nE4n//3vf3vOHf3pf2lpKddddx2ZmZk4nU7mz5/Pb3/7215juv9d+Mtf/sK3vvUtcnNziY2NpampqWfMTTfdRHJyctB3F5599tme552QkMD555/P9u3bez3nBx98sCfu7i8RGRndsRCZZAoKCtiwYQPbtm0bcsnEDTfcwKOPPsrHPvYxvvzlL/Pmm29y7733snPnzqDfMA/mm9/8Jo2NjZSUlPCjH/0IYND10i+++CLnnnsu06ZNY82aNbS3t/Ozn/2MU089lc2bN/d5c3TJJZcwdepU7r33XjZv3szDDz9MRkYG3//+94cV7/79+wFITU0dcuxll13GPffcw913381HPvKRId+02O12vvWtb3HVVVeFfNfiuOOOw+1289prr/HhD38YgNdffx2bzcbWrVtpamoiMTGRQCDA+vXr+eQnP9nvPHPnzuXuu+/mjjvu4JOf/CQrVqwA4JRTTukZU19fzznnnMPFF1/MJZdcwhNPPMHXvvY1FixYwLnnnhtUvJdddhkf/OAH2b9/P9OnTwesJXEf+9jHwrr07eKLL2bPnj38+c9/5kc/+hFpaWkApKen9zt+zZo13Hvvvdxwww0sW7aMpqYmNm3axObNmzn77LMBK4lbsWIFDoeDT37ykxQWFrJ//37+/e9/853vfAeAjRs3sn79ei699FKmTJlCUVERv/jFL1i1ahU7duwgNjZ2wJhffvllzj33XJYuXcqdd96JzWbjd7/7HWeeeSavv/46y5Yt6zW+sbGxz/6b7ucZ6u9LsF5++WX++te/8vnPf560tLQB56msrOTkk0/uSUbS09N59tlnuf7662lqauqz/PGee+4hOjqaW2+9FY/H0+uORWJiIl/84he54447hrxr8Yc//IGrr76a1atX8/3vf5+2tjZ+8YtfcNppp/HOO+9QWFjIpz71KcrKynjhhRf4wx/+MKzXQUT6YYrIpPL888+bdrvdtNvt5vLly82vfvWr5nPPPWd2dnb2GrdlyxYTMG+44YZex2+99VYTMF9++eWeYytXrjRXrlzZ8/3vfvc7EzAPHjzY69pXXnnFBMxXXnml59j5559vFhQU9Inz4MGDJmD+7ne/6zm2ePFiMyMjw6ytre05tnXrVtNms5lXXXVVz7E777zTBMzrrruu15wf+chHzNTU1IFemh5XX321GRcXZ1ZXV5vV1dXmvn37zO9+97umYRjmwoUL+zxOdXV1n2tN0zQfffRREzD//ve/95wHzM997nN9nud9991n+nw+c+bMmeaiRYvMQCAw4GP05/zzzzeXLVvW8/3FF19sXnzxxabdbjefffZZ0zRNc/PmzSZgPvXUUz3jjv6727hxY5/X/cixgPn73/++55jH4zGzsrLMj370o4PGZ5qmWVBQYJ5//vmmz+czs7KyzHvuucc0TdPcsWOHCZivvvpqz8/Oxo0bB4yx29VXX93nZwcw77zzzp7v77vvvn5/Frvjufrqq3u+X7RokXn++ecP+hxOP/10MyEhwSwuLu51vPvvyzRNs62trc91GzZs6PPaHf37EAgEzJkzZ5qrV6/uM9/UqVPNs88+u+dY9+vU31e3YH9f+nsdTfP9n70jAabNZjO3b9/eZ/zRr/31119vZmdnmzU1Nb3GXXrppWZSUlLP69T9OkybNq3Pa9d97m9/+5vZ0NBgJicnmx/+8Id7xd79+2aaptnc3Gy63W7zxhtv7DVPRUWFmZSU1Ov45z73uT7PT0RGRkuhRCaZs88+mw0bNvDhD3+YrVu38oMf/IDVq1eTm5vbaynNM888A8CXvvSlXtd/+ctfBuDpp58+dkED5eXlbNmyhWuuuYaUlJSe4wsXLuTss8/uifdIn/70p3t9v2LFCmpra3stsRhIa2sr6enppKenM2PGDL7xjW+wfPnykO7UXH755cycOTPo5U3ddy22bt3KP//5z6AfB6zntnnzZlpbWwF44403OO+881i8eDGvv/46YN3FMAyD0047LaS5jxQfH99r70l0dDTLli3jwIEDQc9ht9u55JJL+POf/wxYm7bz8vJ67pBEitvtZvv27ezdu7ff89XV1bz22mtcd9115Ofn9zp35B2pmJiYnj97vV5qa2uZMWMGbrebzZs3D/j4W7ZsYe/evVx22WXU1tZSU1NDTU0Nra2tfOADH+C1114jEAj0uubBBx/khRde6PUFw/t9CdbKlSuZN2/eoGNM0+TJJ5/kggsuwDTNnudSU1PD6tWraWxs7PNaXH311b1eu6MlJSVxyy238K9//Yt33nmn3zEvvPACDQ0NfOITn+j1mHa7nZNOOolXXnkl9CcsIkFTYiEyCZ144on8/e9/p76+nrfeeovbbruN5uZmPvaxj7Fjxw7AWidus9mYMWNGr2uzsrJwu90UFxcf05i7H2/27Nl9zs2dO7fnDdiRjn7zl5ycDFjLeYbicrl63qi99tprHD58mHXr1jFt2rSgY+5OFLZs2RJ0onD55ZczY8aMkPdarFixAp/Px4YNG9i9ezdVVVWsWLGC008/vVdiMW/evF5vNEM1ZcqUPsu6kpOTg3pNj3TZZZexY8cOtm7dyp/+9CcuvfTSiK9xv/vuu2loaGDWrFksWLCAr3zlK7z77rs957uTp6GWELa3t3PHHXeQl5eH0+kkLS2N9PR0GhoaaGxsHPC67oTm6quv7klqu78efvhhPB5Pn+uXLVvGWWed1esLhvf7Eqyjq1D1p7q6moaGBn71q1/1eS7XXnst0LdYRDDzfuELX8Dtdg+416L7NTzzzDP7PO7zzz8/pgpUiExE2mMhMolFR0dz4okncuKJJzJr1iyuvfZa/va3v3HnnXf2jBnOm72BrvH7/cOOdTjsdnu/x4O9ezBQv4VQXH755T17LS666KKgHvdb3/oW11xzDU899VTQj3PCCSfgcrl47bXXyM/PJyMjg1mzZrFixQp+/vOf4/F4eqoujcRIXtMjnXTSSUyfPp1bbrmFgwcPctlllw041jCMfucP98/T6aefzv79+3nqqad4/vnnefjhh/nRj37EQw89xA033BD0PDfddBO/+93vuOWWW1i+fDlJSUkYhsGll17a547DkbrP3XfffQOW+h1uz4bBhPr7OthdhW7dz+WKK67g6quv7nfMwoULQ563+67FmjVr+r1r0f24f/jDH/qUMwZGtRyuiCixEJEu3SUry8vLAWuTdyAQYO/evcydO7dnXGVlJQ0NDRQUFAw4V/edgaObkvV3lyPYxKX78Xbv3t3n3K5du0hLSyMuLi6ouY6l4SQKV1xxBd/+9re56667ejZjD6V7SdLrr79Ofn5+z7KiFStW4PF4eOyxx6isrOT0008fdJ5jedfgE5/4BN/+9reZO3fuoD0zkpOT+11qFcxds1CfT0pKCtdeey3XXnstLS0tnH766axZs4Ybbrih527Vtm3bBp3jiSee4Oqrr+b+++/vOdbR0TFkk77ujeyJiYkjTmpD+X1JTk7uN7aR3JVMT08nISEBv98flgT9SLfccgs//vGPueuuu/pUt+t+DTMyMoZ83EjfIROZiLQUSmSSeeWVV/r99Ld7zXX30onzzjsPoE9X7B/+8IcAnH/++QM+Rvf/3F977bWeY36/n1/96ld9xsbFxQ26PKRbdnY2ixcv5tFHH+31Jmjbtm08//zzPfGORVdccQUzZszgrrvuCmr8kUuojtz3MpQVK1bw5ptv8sorr/QkFmlpacydO7enEtZQ+xi632wei07VN9xwA3feeWevN+D9mT59Ort27aK6urrn2NatW4MqwRrK86mtre31fXx8PDNmzOgpr5yens7pp5/Ob3/7Ww4dOtRr7JG/U3a7vc/v2M9+9rMh77AsXbqU6dOn83//93+0tLT0OX/k8x9KKL8v06dPp7Gxsdeyr/Ly8hFVfrPb7Xz0ox/lySef7DcRC+W5HK37rsVTTz3Vp0P86tWrSUxM5Lvf/S5er3fQxz2WP+sik4XuWIhMMjfddBNtbW185CMfYc6cOXR2drJ+/Xoef/xxCgsLe9Y/L1q0iKuvvppf/epXNDQ0sHLlSt566y0effRRLrroIs4444wBH2P+/PmcfPLJ3HbbbdTV1ZGSksJf/vIXfD5fn7FLly7l8ccf50tf+hInnngi8fHxXHDBBf3Oe99993HuueeyfPlyrr/++p7ymUlJSWO6e67dbueb3/xmz2sbjO4lVEe/cRrMihUr+M53vsPhw4d7JRCnn346v/zlLyksLGTKlCmDzjF9+nTcbjcPPfQQCQkJxMXFcdJJJwW1/j1UBQUFQf29XXfddfzwhz9k9erVXH/99VRVVfHQQw8xf/78ITfiL126FLBKG1966aU4HA4uuOCCfu9uzZs3j1WrVrF06VJSUlLYtGkTTzzxBJ///Od7xvz0pz/ltNNOY8mSJXzyk59k6tSpFBUV8fTTT/f8XX3oQx/iD3/4A0lJScybN48NGzbw4osvDlmm2Gaz8fDDD3Puuecyf/58rr32WnJzcyktLeWVV14hMTExpM7Twf6+XHrppXzta1/jIx/5CDfffHNPedZZs2YNutl8KN/73vd45ZVXOOmkk7jxxhuZN28edXV1bN68mRdffJG6urphz/2FL3yBH/3oR2zdurXX32ViYiK/+MUvuPLKK1myZAmXXnop6enpHDp0iKeffppTTz2VBx54AHj/Z+Pmm29m9erV2O12Lr300mHHJCKozprIZPPss8+a1113nTlnzhwzPj7ejI6ONmfMmGHedNNNZmVlZa+xXq/XvOuuu8ypU6eaDofDzMvLM2+77Tazo6Oj17j+yoHu37/fPOuss0yn02lmZmaa3/jGN8wXXnihT7nZlpYW87LLLjPdbrcJ9JS97K/crGma5osvvmieeuqpZkxMjJmYmGhecMEF5o4dO3qNGahE60BlcI92dAnLgQxVbvZIXq/XnD59+qDlZo92ZEnRocrNmqZpNjU1mXa73UxISDB9Pl/P8T/+8Y8mYF555ZV9runv7+6pp54y582bZ0ZFRfX6O1i5cqU5f/78PnMMVK70aN3lZgfTX7nZ7ucwbdo0Mzo62ly8eLH53HPPBVVu1jRN85577jFzc3NNm83W6+//6HKz3/72t81ly5aZbrfbjImJMefMmWN+5zvf6VOKedu2beZHPvIR0+12my6Xy5w9e7Z5++2395yvr683r732WjMtLc2Mj483V69ebe7atavP4/VXftk0TfOdd94xL774YjM1NdV0Op1mQUGBeckll5gvvfTSkK/T0YL5fTFNqwz1cccdZ0ZHR5uzZ882//jHPw5YbvbIn9+jzx392ldWVpqf+9znzLy8PNPhcJhZWVnmBz7wAfNXv/pVn9fhb3/7W585BzvXHV9/v2+vvPKKuXr1ajMpKcl0uVzm9OnTzWuuucbctGlTzxifz2fedNNNZnp6umkYhkrPioSBYZoh7rgTERERERE5ivZYiIiIiIjIiCmxEBERERGREVNiISIiIiIiI6bEQkRERERERkyJhYiIiIiIjJgSCxERERERGbEJ1yAvEAhQVlZGQkIChmFEOhwRERERkXHLNE2am5vJycnBZhv8nsSESyzKysrIy8uLdBgiIiIiIhPG4cOHmTJlyqBjJlxikZCQAFhPPjExMcLRiIiIiIiMX01NTeTl5fW8xx7MhEssupc/JSYmKrEQEREREQmDYLYYaPO2iIiIiIiMmBILEREREREZMSUWIiIiIiIyYhNuj4WIiIhMTH6/H6/XG+kwRCYUh8OB3W4Py1xKLERERGRMM02TiooKGhoaIh2KyITkdrvJysoacQ84JRYiIiIypnUnFRkZGcTGxqoBrkiYmKZJW1sbVVVVAGRnZ49oPiUWIiIiMmb5/f6epCI1NTXS4YhMODExMQBUVVWRkZExomVR2rwtIiIiY1b3norY2NgIRyIycXX/fo10D5MSCxERERnztPxJZPSE6/dLiYWIiIiIiIyYEgsRERGRSWzVqlXccsstkQ5j1K1Zs4bFixcfs8d75JFHcLvdI55n7dq1GIYxLqqiKbEQERERGQXXXHMNhmHwve99r9fxf/7zn+NqadcjjzyCYRicc845vY43NDRgGAZr164Neq5rrrmGiy66KLwBTiD9JXmnnHIK5eXlJCUlRSaoECixEBERERklLpeL73//+9TX1x/zxw5nM8GoqChefPFFXnnllbDNeayYponP54t0GMMWHR0dlh4Tx4ISCxEREZFRctZZZ5GVlcW999476Lg33niDFStWEBMTQ15eHjfffDOtra095w3D4J///Geva9xuN4888ggARUVFGIbB448/zsqVK3G5XDz22GPU1tbyiU98gtzcXGJjY1mwYAF//vOfQ34ecXFxXHfddXz9618fdNzhw4e55JJLcLvdpKSkcOGFF1JUVARYS5EeffRRnnrqKQzD6Lnb8bGPfYzPf/7zPXPccsstGIbBrl27AOjs7CQuLo4XX3wRAI/Hw80330xGRgYul4vTTjuNjRs39lzfvXTo2WefZenSpTidTt54440+se7fv59p06bx+c9/HtM0+5w3TZM1a9aQn5+P0+kkJyeHm2++ued8fX09V111FcnJycTGxnLuueeyd+/eAV+b/u7W3HLLLaxatarn/KuvvspPfvKTntenqKio36VQTz75JPPnz8fpdFJYWMj999/fa97CwkK++93vct1115GQkEB+fj6/+tWvBowtXJRYiIiIyLhimiZtnb6IfPX3BnQwdrud7373u/zsZz+jpKSk3zH79+/nnHPO4aMf/Sjvvvsujz/+OG+88UavN9vB+vrXv84XvvAFdu7cyerVq+no6GDp0qU8/fTTbNu2jU9+8pNceeWVvPXWWyHPvWbNGt577z2eeOKJfs97vV5Wr15NQkICr7/+OuvWrSM+Pp5zzjmHzs5Obr31Vi655BLOOeccysvLKS8v55RTTmHlypW9llO9+uqrpKWl9RzbuHEjXq+XU045BYCvfvWrPPnkkzz66KNs3ryZGTNmsHr1aurq6vq8Ft/73vfYuXMnCxcu7HXu3Xff5bTTTuOyyy7jgQce6PduwJNPPsmPfvQjfvnLX7J3717++c9/smDBgp7z11xzDZs2beJf//oXGzZswDRNzjvvvGHfKfrJT37C8uXLufHGG3ten7y8vD7j3n77bS655BIuvfRS3nvvPdasWcPtt9/ek2R2u//++znhhBN45513+OxnP8tnPvMZdu/ePazYgqUGeSIiIjKutHv9zLvjuYg89o67VxMbHdrbp4985CMsXryYO++8k9/85jd9zt97771cfvnlPWvrZ86cyU9/+lNWrlzJL37xC1wuV9CPdcstt3DxxRf3Onbrrbf2/Pmmm27iueee469//SvLli0L6Xnk5OTwhS98gW9+85v97pN4/PHHCQQCPPzwwz1v1H/3u9/hdrtZu3YtH/zgB4mJicHj8ZCVldVz3apVq/jCF75AdXU1UVFR7Nixg9tvv521a9fy6U9/mrVr13LiiScSGxtLa2srv/jFL3jkkUc499xzAfj1r3/NCy+8wG9+8xu+8pWv9Mx79913c/bZZ/eJc/369XzoQx/im9/8Jl/+8pcHfL6HDh0iKyuLs846C4fDQX5+fs9rtnfvXv71r3+xbt26noTnscceIy8vj3/+8598/OMfD+m1BUhKSiI6OprY2Nher8/RfvjDH/KBD3yA22+/HYBZs2axY8cO7rvvPq655pqeceeddx6f/exnAfja177Gj370I1555RVmz54dcmzB0h0LERERkVH2/e9/n0cffZSdO3f2Obd161YeeeQR4uPje75Wr15NIBDg4MGDIT3OCSec0Ot7v9/PPffcw4IFC0hJSSE+Pp7nnnuOQ4cODet5fO1rX6O6uprf/va3/T6Pffv2kZCQ0PM8UlJS6OjoYP/+/QPOedxxx5GSksKrr77K66+/zvHHH8+HPvQhXn31VcC6g9G9XGj//v14vV5OPfXUnusdDgfLli3r89oe/VqAlSycffbZ3HHHHYMmFQAf//jHaW9vZ9q0adx444384x//6NmrsXPnTqKiojjppJN6xqempjJ79ux+/47DaefOnb2eP8Cpp57K3r178fv9PceOvEtjGAZZWVlUVVWNamy6YyEiIiLjSozDzo67V0fssYfj9NNPZ/Xq1dx22229PlUGaGlp4VOf+lSv9fvd8vPzAeuN4dHLsPpbchMXF9fr+/vuu4+f/OQn/PjHP2bBggXExcVxyy230NnZOazn4Xa7ue2227jrrrv40Ic+1Od5LF26lMcee6zPdenp6QPOaRgGp59+OmvXrsXpdLJq1SoWLlyIx+Nh27ZtrF+/vtddl2Ad/Vp0x5GTk8Of//xnrrvuOhITEwe8Pi8vj927d/Piiy/ywgsv8NnPfpb77ruvJ+EJlc1mC+rvMFwcDkev7w3DIBAIjNrjgRILERERGWcMwwh5OdJY8L3vfY/Fixf3WYqyZMkSduzYwYwZMwa8Nj09nfLy8p7v9+7dS1tb25CPuW7dOi688EKuuOIKAAKBAHv27GHevHnDfBbWcqqf/vSn/OQnP+l1fMmSJTz++ONkZGQM+IY9Ojq616fq3VauXMmvf/1rnE4n3/nOd7DZbJx++uncd999eDyenk/op0+fTnR0NOvWraOgoACw3pxv3LgxqF4cMTEx/Oc//+G8885j9erVPP/88yQkJAw6/oILLuCCCy7gc5/7HHPmzOG9995j7ty5+Hw+3nzzzZ6lULW1tezevXvA1zY9PZ1t27b1OrZly5ZeCcBAr8+R5s6dy7p163odW7duHbNmzcJuH17iGy5aCiUiIiJyDCxYsIDLL7+cn/70p72Of+1rX2P9+vV8/vOfZ8uWLezdu5ennnqq1+btM888kwceeIB33nmHTZs28elPf7rPJ9L9mTlzJi+88ALr169n586dfOpTn6KysnJEz8PlcnHXXXf1eR6XX345aWlpXHjhhbz++uscPHiQtWvXcvPNN/dsXC8sLOTdd99l9+7d1NTU9Hxiv2rVKnbs2MH27ds57bTTeo499thjnHDCCT13H+Li4vjMZz7DV77yFf773/+yY8cObrzxRtra2rj++uuDij8uLo6nn36aqKgozj33XFpaWvod98gjj/Cb3/yGbdu2ceDAAf74xz8SExNDQUEBM2fO5MILL+TGG2/kjTfeYOvWrVxxxRXk5uZy4YUX9jvfmWeeyaZNm/j973/P3r17ufPOO/skGoWFhbz55psUFRVRU1PT7x2GL3/5y7z00kvcc8897Nmzh0cffZQHHnhgWHd1wk2JhYiIiMgxcvfdd/d5s7hw4UJeffVV9uzZw4oVKzj++OO54447yMnJ6Rlz//33k5eXx4oVK7jsssu49dZbiY2NHfLxvvWtb7FkyRJWr17NqlWryMrKCkuDuquvvppp06b1OhYbG8trr71Gfn4+F198MXPnzuX666+no6Oj5w7GjTfeyOzZsznhhBNIT0/v+eR9wYIFuN1uFi9eTHx8PGAlFn6/v2d/Rbfvfe97fPSjH+XKK69kyZIl7Nu3j+eee47k5OSg44+Pj+fZZ5/FNE3OP//8XqV9u7ndbn79619z6qmnsnDhQl588UX+/e9/k5qaClgb05cuXcqHPvQhli9fjmmaPPPMMwMmfKtXr+b222/nq1/9KieeeCLNzc1cddVVvcbceuut2O125s2bR3p6er97YZYsWcJf//pX/vKXv3Dcccdxxx13cPfdd/dZYhcJhhlq3bQxrqmpiaSkJBobGwddNyciIiJjX0dHBwcPHmTq1KkhVUcSkeAN9nsWyntr3bEQEREREZERU2IhIiIiIiIjpsRCRERERERGTImFiIiIiIiMmBILEREREREZMSUWIiIiIiIyYkosRERERERkxJRYiEwS/oBJh9cf6TBERERkglJiITIJtHh8XPHzF7no23+iorEj0uGIiIjIBKTEQmSC6/QF+Pqjz/ODqs/wL77A6//7X6RDEhGRcWLt2rUYhkFDQ8OI5ikqKsIwDLZs2RKWuGRsUmIhMoGZpskdf93AZ0q+Tp6tmmjDT2Db3yMdlojIhGcYxqBfa9asiXSIo+aaa67hoosu6nUsLy+P8vJyjjvuuMgEJcdEVKQDEJHR89Tmg5y/86vMtxdjYmBgMrvxDRrbvCTFOiIdnojIhFVeXt7z58cff5w77riD3bt39xyLj4/v+bNpmvj9fqKiJu7bMrvdTlZWVqTDkFGmOxYiE5h/0x9ZYd9Gpy0G47LHAVhs28/6rdsjHJmIyMSWlZXV85WUlIRhGD3f79q1i4SEBJ599lmWLl2K0+nkjTfe6PeT/ltuuYVVq1b1fB8IBLj33nuZOnUqMTExLFq0iCeeeGLQWH7+858zc+ZMXC4XmZmZfOxjH+s55/F4uPnmm8nIyMDlcnHaaaexcePGAedas2YNixcv7nXsxz/+MYWFhT3nH330UZ566qmeuzNr167tdynUq6++yrJly3A6nWRnZ/P1r38dn8/Xc37VqlXcfPPNfPWrXyUlJYWsrKwJfadnIpi4qbGIkFz7NgCHZl/PjFmrKYs/jpyWbdS/8xQsXxzZ4EREhss0wdsWmcd2xIJhhGWqr3/96/zf//0f06ZNIzk5Oahr7r33Xv74xz/y0EMPMXPmTF577TWuuOIK0tPTWblyZZ/xmzZt4uabb+YPf/gDp5xyCnV1dbz++us957/61a/y5JNP8uijj1JQUMAPfvADVq9ezb59+0hJSQn5Od16663s3LmTpqYmfve73wGQkpJCWVlZr3GlpaWcd955XHPNNfz+979n165d3Hjjjbhcrl7Jw6OPPsqXvvQl3nzzTTZs2MA111zDqaeeytlnnx1ybDL6lFiITFAdXj/5nr1ggHvWydbB2efC29vIrVxLp+92oqN001JExiFvG3w3JzKP/Y0yiI4Ly1R33313SG+QPR4P3/3ud3nxxRdZvnw5ANOmTeONN97gl7/8Zb+JxaFDh4iLi+NDH/oQCQkJFBQUcPzxxwPQ2trKL37xCx555BHOPfdcAH7961/zwgsv8Jvf/IavfOUrIT+n+Ph4YmJi8Hg8gy59+vnPf05eXh4PPPAAhmEwZ84cysrK+NrXvsYdd9yBzWb9/2nhwoXceeedAMycOZMHHniAl156SYnFGKV3FSIT1N6SSqZhfUKUOuNEALJOvBiAk3mPt/YcjlhsIiICJ5xwQkjj9+3bR1tbG2effTbx8fE9X7///e/Zv39/v9ecffbZFBQUMG3aNK688koee+wx2tqsuz379+/H6/Vy6qmn9ox3OBwsW7aMnTt3Dv+JBWHnzp0sX74c44i7P6eeeiotLS2UlJT0HFu4cGGv67Kzs6mqqhrV2GT4dMdCZIIq372JBYZJvS2F5ATrUyNb5lxqo3NI7Szj8Mb/wLzPRThKEZFhcMRadw4i9dhhEhfX+86HzWbDNM1ex7xeb8+fW1paAHj66afJzc3tNc7pdPb7GAkJCWzevJm1a9fy/PPPc8cdd7BmzZpB91EMZqgYw83h6F1oxDAMAoHAqD2ejIzuWIhE2Lp9Ndz33C46feH9h7Lj8GYAahPnvn/QMGgp+CAAqSUvhvXxuq3dXcW/t0bof/giMjkYhrUcKRJfYdpf0Z/09PRe1aSAXpud582bh9Pp5NChQ8yYMaPXV15e3oDzRkVFcdZZZ/GDH/yAd999l6KiIl5++WWmT59OdHQ069at6xnr9XrZuHEj8+bNGzDGioqKXsnF0b0poqOj8fv9gz7XuXPnsmHDhl7zrFu3joSEBKZMmTLotTJ2KbEQiaCntpTywO8ewfH693lqc1FY546t2QaAmbWo9/H55wAwu3M7Pn94k5l1e6s4+IfP433iRvaU14d1bhGRie7MM89k06ZN/P73v2fv3r3ceeedbNu2red8QkICt956K1/84hd59NFH2b9/P5s3b+ZnP/sZjz76aL9z/uc//+GnP/0pW7Zsobi4mN///vcEAgFmz55NXFwcn/nMZ/jKV77Cf//7X3bs2MGNN95IW1sb119/fb/zrVq1iurqan7wgx+wf/9+HnzwQZ599tleYwoLC3n33XfZvXs3NTU1/d7R+OxnP8vhw4e56aab2LVrF0899RR33nknX/rSl3r2V8j4o785kQj5y1uHeOFvv+D3Ud/llqi/07Lxz2Gb2+sPkNuxB4Ck6b3X8KZOXQzAFKo4XNMQtscsbWhny59u59qo57jY/gbb1z0dtrlFRCaD1atXc/vtt/PVr36VE088kebmZq666qpeY+655x5uv/127r33XubOncs555zD008/zdSpU/ud0+128/e//50zzzyTuXPn8tBDD/HnP/+Z+fPnA/C9732Pj370o1x55ZUsWbKEffv28dxzzw1YpWru3Ln8/Oc/58EHH2TRokW89dZb3Hrrrb3G3HjjjcyePZsTTjiB9PT0XndEuuXm5vLMM8/w1ltvsWjRIj796U9z/fXX861vfWs4L52MEYZ59EK5ca6pqYmkpCQaGxtJTEyMdDgi/Xq7uI6//Opevhf1a+yG9Sv4vLmM07/1X1wO+4jn33moihm/mYPD8GPesg3DfcQtctOk7a5sYmnnf+c8w8knnzrwREHq8Pr53s9+xh2Na7B1PZ//OM/nQ7f9acRzi8jk1tHRwcGDB5k6dSoulyvS4YhMSIP9noXy3lp3LEQiYM+ml7nP8Svshok57QwATmUrb+4Jz96Ekj1v4zD8NNmSMJKOWqtqGFQ5CwBoKglPo7wnXlzPLY0/wGaYtKceB8AJHes5XNsSlvlFRERk7FNiIRIBcYfWAnA47XSMK/5OU1QqcYaHg5v+G5b5O4qtxnjV8XP63WjYlmjdMg9U7w3L46Vvfxi30Up14nxibnyWNiOWLKOed/73cljmFxERkbFPiYVIBCQ37QDAnH4G2Gy05J8FQHzxi33K+A2Hs2vjtj9zQb/njbSZALga+697HgrTNMluse58tC35JLgSqchYAUBgx79HPL+IiIiMD0osRI6xquYOZgYOAJAx6yQA0pZeCMBy/0a2lzaOaH5/wCS7bTcACVP7b74Ul2OVoE3tODSixwIorWtmllkEQNYcqxOse8lHAFjY/Do1zR0jfgwREREZ+5RYiBxje/YfIMuoJ4CBa4pVCjZ65hl0Gk5yjVq2bHpjRPOX1TYxCyth6E5cjpY21bqTUWCW0tDqGdHjFe3cjMvw0kYMzgzrTkjKovPxEsU0WzlvvbVhRPOLiABhuZsrIv0L1++XEguRY6xun9XttDp6CjjjrYPRsVSnW5/2m7tHts+i8vBenIaPDqKxpxT2OyY2cyYBDBKNNooPF4/o8ZoOWM+nPG4OdNcedyVSmmIlNZ3b/zWi+UVkcuvuvNzW1hbhSEQmru7fr6M7nYcqKhzBiEjwAmVbAWhOnk/mEcdjF5wPL61lQet6vP4ADvvw8v6mMmsZVI0jhykDNRlyuKi2Z5HpL6eueBvMmTWsxwKIrrKejyej934O34xz4K115DduGvbcIiJ2ux23201VVRUAsbGxGKPY/VpkMjFNk7a2NqqqqnC73djtIyt5r8RC5BhLarQ2bkflHt/ruHv+2fASzDOKKK5uZEZW/82JhuKttvZvtMTmDTquMa6QzKZyPOW7hvU4YP2DlNFiXR9f2Hs/R9LUJfAWZPtK8PkDRA0zURIRycrKAuhJLkQkvNxud8/v2UgosRA5hhrbvEzz7gcbpM06sdc5w11AB05chofygzuYkTW8xnX2hoMA+JIKBx3ndU+Hpg3Y6/cN63EASmqarI3bBmTNXd7rXGr+PACyjTqKq2opyE4f9uOIyORmGAbZ2dlkZGTg9XojHY7IhOJwOEZ8p6KbEguRY2jXwUOcZLM+cYsvWNL7pM1GtauQvI7dNB3aDsuHl1jEtx4GwJE+fdBx0Vlz4BAkthQN63EAinZtJs/w0mrEEpc2o9c5W1wKjUYCSWYzlUU7KMheOezHEREBa1lUuN4AiUj4aW2CyDFU1bVxuyYqC2L6LnVqS7KSgUD17mHNb5omaV6re3dizuD7JtzddxR8h/H6A8N6vOaD1vOpiJ39/sbtI9Q6reVYzWXDX24lIiIi44MSC5FjyFdibXRudM/r97wtYw4AcU3DW55U3dzOFCoBSM2bM+jY1PzjAJhCNSVVdcN6PEfluwB4Mhb1e74tIbwdvkVERGTsUmIhcgzF11sdqm05i/s9n5hnvdnP9BThD4ReU7r88EFchhcfdqJTCwYda0vIoMWIw2aYlBftDPmxTNMks9W6EzFQIz5SreVRzsaDIc8vIiIi44sSC5FjxOsPUNhp3YlInt7/G/G0qdYn/9Moo6SuJeTHqC/ZA0CNPQPsQ2yhMgyqnfkAtJXuCPmxSmqamN3VcTtzzvJ+x8RkzwYgpWNkvTJERERk7FNiIXKMlNU1M9UoByCpcHG/Y+wphXQSRYzRScnB0PdZeKqsxKUpZvBSs93a4gsBCNTuD/mxyg9uw2l4aSWW6AE2iqd37ePIC5TS5lElFxERkYlsVBOL1157jQsuuICcnBwMw+Cf//znkNesXbuWJUuW4HQ6mTFjBo888shohihyzFSVHCDKCNCJAyMhu/9B9iiqo627CI2HtoX8GLauUrOdSYMvg+pmJhcCEN0U+h2F5hJr+VSVMx8GaFaVmGvdsUgy2jhcWhryY4iIiMj4MaqJRWtrK4sWLeLBBx8MavzBgwc5//zzOeOMM9iyZQu33HILN9xwA88999xohilyTDSXW3cTaqOy+q2g1K010fr0318ZeiWlmJZDAESlTgtqvDPD2gOR2B76m35/tbXsqi2hcOBB0bFU2az+FbXF20N+DBERERk/RrWPxbnnnsu5554b9PiHHnqIqVOncv/99wMwd+5c3njjDX70ox+xevXq0QpT5Jjw1Fh3E1picgcfmDEHal4gtjH0SkopHitBiM2aGdR4d65VkjbTXx5yd2xXo9Xh20wd/LHqY/LJaK2mrXw3cH7Q84uIiMj4Mqb2WGzYsIGzzjqr17HVq1ezYcOGAa/xeDw0NTX1+hIZi4wGa7mRN3Hw/Q8JU+YDkNZRhGkGXxmqsa2TKWaFdW3+3KCuSZ1iLVXKppby2sagHwsgud26OxLbtUF7IJ7ErrsntcPv8C0iIiJj35hKLCoqKsjMzOx1LDMzk6amJtrb2/u95t577yUpKannKy8vuE2rIsdaTGsJALaUwkHHpU1dCMA0Silv6P/nvj+lZWUkGm0AxGYO3nW7my0hg3Zc2AyTqsPB3yFp6/QxJWDdHUkrnD/oWHu6dUcjdgQdvkVERGTsG1OJxXDcdtttNDY29nwdPnw40iGJ9MvtsTpix2YMvv/BkT4TPzYSjHYOFQf/KX9dibUno9aWCo6Y4C4yDGoc1kby5rI9QT/WoZISkg2rHG5izuCN+BK6zqd7DgU9v4iIiIw/YyqxyMrKorKystexyspKEhMTiYnp/42S0+kkMTGx15fIWNPW6SPbrAIgecoQ+x+ioqlyTAGgofi94B+jwrrj0OCaElJsLbHWXb7OmgNBX1NTZG3ErralQ3TsoGPTp1olZ/PNCupbOkKKTURERMaPMZVYLF++nJdeeqnXsRdeeIHly/tvviUyXpRW15FhNACQEMQypeYEa4wvhMpQZp21ObwjPj+k2HxJhQDYG4qCvqa93IqrPmbosrYxaVPxEoXT8FJSHPxdERERERlfRjWxaGlpYcuWLWzZsgWwyslu2bKFQ4esJRG33XYbV111Vc/4T3/60xw4cICvfvWr7Nq1i5///Of89a9/5Ytf/OJohiky6mpKrLsJrUYsxCQPOT7QVWnJ2RD8UihnVy8KW+rUkGKLSrOWZsW3Bb+M0OjaiO1JCuKx7FFURVnLrRpLQi+hKyIiIuPDqCYWmzZt4vjjj+f4448H4Etf+hLHH388d9xxBwDl5eU9SQbA1KlTefrpp3nhhRdYtGgR999/Pw8//LBKzUpEbNhfy3ee3kFTx8g7RreUW52t6xzZAzaTO1JMtlXVKbk9+MZ1yR1WYhA3RJWmoyXmWElMamdZ0FWo4lqsuyNR6bOCGt/kskrsertK7obDK7uqWLevJmzziYiIyMiMah+LVatWDfpGpb+u2qtWreKdd94ZxahEBuf1B/jhC3v416tvsszYyWOuq/nMB4Ir3zoQX10RAG2xQ/Sw6JI6dT68BvmBUpo6vCS6HIOOb+rwMsUsAwNSC+aFFFtanpWITKGS+lYPKfGuQcebpkmapwQMSJgy+Mbtbp74KdACZkN4iiu8seMQUX/+BG2Gi5qv/Ie0hCA3q4uIiMioGVN7LEQircPr5xO/+h+HXnuMZ6O/xo+if4Gx5Y8jntfeaN2Z8ycFt/8hvuuORYbRQFFp+ZDjD5eUkmo0AxCXFdxdhG7OtEJ82HAZXkpLioYcX93URj5Wv4z0wuOCegyb23rerq6SuyPR0NZJ2RNfZYV9G2fbNrHpjRdGPKeIiIiMnBILkSO8vLOSi0r/jwejf0qiYfWQmNv4GrUtnhHNG9tm9XyICnb/gyuROlsKALVF24YcXntoh/VfWxo440MLzu6g1p4BQEPJ7iGHlxbtwWl48eDAmTr05m0AZ3ohAAkdFaHFdhTTNPnjY7/lksCzPccC2/4+ojlFREQkPJRYiByhafvzXBH1EgEMOP4KAE42dvD69qJhz2maJimd1l2H+KzgGtcBNHRVXOquwDSYtgqr2lJ9TGgVobo1dpWo7ajaP3Rch3cCUO3IBZs9qPnd2TMASPdXEggE3038aM9t3MHHS+4FoNFtLfk6vuVVqprahj2niIiIhIcSC5EjOMrfBqA45zz48AM0OHNxGj4qtzw7xJUDa2z3kovVnyV1qB4WR/C4rTfj3RWYBlVrJQSdXaVjQ+VJ6EpI6obeXO2ttO5qNMcFd7cCICXXSqgyqKemsTn0ALu9dh+ZRgO1MYUkfeoZWo1Yso06Nr/x3PDnFBERkbBQYiHSxTRNUpqsT+Od+UvBMPDOsCqSpZetpdMXGNa8peUVJBnWJ+rO1MKgr4vKtPZKxDcP3bgutrkIAFta8InLkbpL1Ma0DN0dO6rBisefHPzdF0diJh6isRkmVaXBN+I7kmmaTG3ZDEDLKV+DmGTKMs8AILDtH8OaU0RERMJHiYVIl9KGdmab1if/abNOAiD1+A8DsILNbDw4vNKm9WVWD4tGIymk/Q/uKdZSn0zvYfyDLB+yqjRZ1ZYSc4Or0nS0mEzr7ojbUzrk2MRW666GKyuEsraGQU3XPo6miuElFocqaphuWs8ze/4KAJJP/H8ALG19lapGLYcSERGJJCUWIl327D9AjlFHAIPo3EUA2ApPpcMWS7rRyM63Xx3WvG2VVrJS78wJ6bqUropLBVRQUts04LiaZg8FlAGQVhhaqdlu6V0lZ7MDFbR4fAOOa+7wUui3emtkTD8+pMdoclnP31M9vF4Wh3b8jygjQJ0thehka09I2qJzaDXiyDQaePuN/w5rXhEREQkPJRYiXer2bQKgJjoPnAnWwahoGrKtT8cd+58f1ry+OuuNeHtccD0sutnd+XiIxmn4KC/aM+C40pIi4gwPfmxEp04bVowJOVZikWo0s7+oaMBxB4oOkGY0EcAgMX9BSI/R2fX8zYahl1v1p61oIwCVCfPebzIY5eRw5pkAOPc+Pax5RUREJDyUWIh0Mcu3ANCaOr/XcXfXcqgTPG8Oq+yso8lavmMmBb/ZGQCbjepo65P5xpIdAw6r7yo1WxOVBVHRIccHgDOeyijrjkL1/s0DDqvZvwWAqqgciI4N7TG6ellEtwy93Ko/sdVbAQhk9b5TEsg/FYDkliA2uYuIiMioUWIhQtfG7UbrDXr0lCW9zrnmWBu459uK2XeoLOS549utN9LR6UH2sDhCa4J1B8JXNXB/iY5K625GY+zwSs12a0iwNn53lrw34JjO0vd6jQ2FM81KrBI7Qn8Nff4A+e1W2d3kmSf1OpfU1f0701uCaQ6/lK2IiIiMjBILEaCiqYNZAWtTcfqsZb1PxqdTb08DoPrAlpDmDQRM0nxWU7jErBkhx2WmWtc4Gwbe8Gyvs/Zw+NzDWwbVLZBh7c+IqR+4b4ar65yZHvpejsRsq4pUqq8q5ARg/+ESCgzrdcyac0qvc+kF1h2mLGqpqmsIOS4REREJDyUWIsCu/UXk2aoBiJ6yuM/5hkSr9Gtn2cCf5venurmDXKx5k0PoYdEtNmcuACntRQOOiW+1zjkyZoU8/5ES8hcDkN6+v983/qZpktFuJTHxBYtDnj8l10qSMqmlvqU9pGvLd6wHoNKejS0+tde56MR0monFZpiUH9wZclwiIiISHkosRIDa/d0bt3Mhxt3nfPcn9K66obtgH6m87BCxhocABo7k0JcqpXVVhso3S6lv7exzPhAwyfBaS626lwQNV8bMpQDMMA9RVt/a53x5fWtPudfMmaFVhAJwuXPoJIooI0BlSWglZz2HrMaFtUnz+540DKqj8wBoLht4yZiIiIiMLiUWIoBZtgWAluR+3rgC8flW+dmM9n2D9pQ4WkOZtaG4zp42rI3VsdlWspBmNPHenv19zpfVt5CPtUQoNX94pWa7RadNowMnLsPL4X1978wc2rcNl+GlAyfRacE3x+ths73fy6K873MZTGLtu9Yfcpf0e76lqwu4t2rg6lkiIiIyupRYiAApjdYSGvuU/j+JT51uvaGdxWGKa1qCnrejyvpkvjHEHhY9nPFUOq03zVU7X+9z+sC+XUQbfjpxYHfnDe8xutnsVLqsDeYNRVv6nO4+VumaCjb7sB6iyZkFQHt1UdDXdHj9TO20Eoa0WSf3OyaQYiU6jsbh9cgQERGRkVNiIZOe1x9gqs9KABIK+/9E3J4+Cx92Eo02ig8G/6m4WW/1sPDED/9Nf2vmiQA4Sv7X51zFLutYrasAbCP/dW5zW3dIzMp+yttWbrficYfQcfsonjirfG4ovSz27d9HllGHH1vfjfVdnJnW/pKktuJhxyYiIiIjo8RCJr2KhjZyDWuDdWLu3P4HRUVT3XXnoL9P8wcS3WLtSTCSQ+xhcYSEWacDkN/yLh1ef69zMaXrAOjIXT7s+Y9kz7H2dCQ29t2rkNBkJVRR2ccNe34zyUqwHM2Hg76mbp/VGK88Kg+ju3HhUZLzrIQo21ca0lI1ERERCR8lFjLpVZQV4zR8+LFhSxq4O3Zrctfm6K5P7oPR3bPBNYweFt3S5lmJxXHGAbYVVfQcr272MLfDahqXtuCsYc9/pNRp1lKwPO9BPL73k5hOX4ApndYyo+Spi4c9f3RaIQBxHeVBX9NZbt09aUgYuFxveoG1vyTdaKS8smrY8YmIiMjwKbGQSa97I3GdPR3sUQOOc2R3f5of3FIorz9Aht9KBJJyQi81281ILqQ+Kg2H4efwtvf3WbyzfSczbGUEMEiYvXLY8x8pZaqVWOQbVRwoeT+JOVheSYFRCUDatNArQnVLzLL2QqR5K4LuZeGst+6eBNIGXoJlj3VTbyQBUFU8cJdyERERGT1KLGTS89QUAdDsyh50XPLU7k/zD9Dq8Q05b3ldKznUAuDOHkYVpW6GQX2qVQo2ULSh53D9jpcAqIidBTHJw5//yIeKS6XOZvWJqNj7Ts/xXVvfsh7TlowRnz7s+dPzrb0Q2dRQ3dAc1DVp7dadkrgpgy/BqnF2lZwtDa0ksIiIiISHEguRemsjsSd+yqDDEguskrPTjHL2ltUMOW1V6QEchh8vUdiShlkVqotr+mkAZDW+07OHIL7MahrXmXfaiOY+Wm2cdXel/qCVWAQCJq1b/wlAa+qCEc3tTJ5CO06ijADlRUP3nGhs81AQKAEgY/rgd0ra4guteGv2jShGERERGR4lFjLpRbdab1yNocq1JubQYkuw3hTvf3fIeZvKrTe4tVEZwy7P2i1jvrXUaZG5m91l9ZQ3tnNcpxVDxsLw7K/oFtvVsyOp5GUO1baxbncp53Q+D0Da6TeMbHLDoMph7WNpDOLOwqEDO4k1PHQSRUL24J3FzVTrrlC0Ss6KiIhEhBILmfQSujYSD7nB2jCojbM2ELcfHjqx8NRYJWxbYgbeEB6sqOzjaDXiiDc62Ll1PVvefY8CWxV+bMTOWDHi+Y+Uu+p6Atj4gG0zf//3P9jz0u9JMVpodGTimnf+iOfvbmbXWbV3yLF1B63XucKRP+j+F4DYLCvxSO4IvpStiIiIhI8SC5nUfP4A6X5rU3L3xuLBeFOtcrRRNUNvEDa6ejV0JoywcR2AzU6127qTULT+H7z2/BMAVMTPgwFKsA5b+mwaZn0cgJMP/IylVdZj+ZZcM+Sb+2D4kqcB4Gg4MORYb4X1OjclDP130915PNdfSudRZXlFRERk9CmxkEmtorGNXKz9EsFssI7JWwhAWuu+Iasaubp6WNhSCkcWZJfUeasA+LLjCb5t+xUAZmF471Z0SznvdryGg5NtO1ls248XB6krbgzL3M4Maw9HYuvQdxac9dZdjUDanCHHpuRZVaOSjDZKykpHEKGIiIgMhxILmdQqy0twGl6rh4V78M3bAGldG4inm8VUNnkGHev2WEusYtOnjTxQIGH5dTDvQkxHHHbDSmqmnHhhWObuw51H68Jre76tzj8HRlANqtfUU6wkIcNXSmCIZnZpbdZdjfi8oZvyGdFxVBtpADSoMpSIiMgxp8RCJrXGrh4W9fZUsDuGHO/s6mWRaTSwv2jgTcLtnX6yTGuJVfKU4few6CU+HS75PcbXDsJVT8EVT0JBeDpu98f9wa/jjYoHIOusm8M2b1rBfAByjRrK6+oHHNfY6qHQtDbWZ84IrndGfXQmAG3VxSOMUkREREKlxEImNU+1lRw0OYMsB+uMp9phja09uGXAYcWVtWQZ1pvm+MwR9LDoT5QTpq2CGeGtBtVHXCqO65+By/6KLX9Z2KaNSkinhTgAqop2DjiueP8OYoxOPEQTlzlw1+0jtcdkAeCvOzzyQEVERCQkSixkUgt09bDojA++z0RzolV9yFe2bcAxhw9Ym47bjRiMuLQRRBhh2Ytg1urwzmkYVEVby84aSwfuZVFXtBWACkde0OV6/QnWvEaz9liIiIgca0osZFKLbrGW2uDOD/6iTGspT1zDwG+Km4utN8U1sdPBMIYd30TVGm+VnPUPUnLWV2HdzWhODO5uBYDNbZX2dbWVjyA6ERERGQ4lFjKpJXSUAeBMG6KHxRGSChcDkNVxAK8/0O+YqCrrboYndf7IApygzO6Ss4M0s3PV77HGpg9dEarnmtRCABI7K4cfnIiIiAyLEguZtPwBk7SuHhYJQfSw6JYyzdpIPMs4zIHKpj7nTdMktcW6mxHT1cVaenNmdZWGbeu/5GwgYJLebm2sT8xfEPS8SVmFAKT6q4csBywiIiLhpcRCJq3KxvaeHhbJOcEnFkbKNDw4iTE6OXxge5/z5Y0dzDKLAEibcUJYYp1okvOsuxDZ/lJ8/dz1OVBWyQzTSjpy550S9LwpOdadp3SjkbrG5jBEKiIiIsFSYiGTVkV5CTFGJwEM7EH0sOhhs1MdY72B7d5LcaT9B/aTbjTix4YzJ/hP2yeTtHyrg3mG0UBZVXWf84fefR27YVJtzySqa99EMJwJ6XQQDUBt+cDLrERERCT8lFjIpNVYvg+AeluqVcI1BB0p1htjW1XfOxZ1+98GoCZ6CkTHjjDKickWm0yDkQRAZdGOPuc7izYAUOMOcSmZYVBrtxr5NVYUjShGERERCY0SC5m0OqqLAGhyZYd8bXSudSfC3bynz7lAxbsANLvnDj+4SaDGad0lau6n5Ky7dgsA9oLQ+2c0RVu9LDpq1CRPRETkWFJiIZOW2WCt4e+IDb6HRbfUaYsBKPAV09jm7XUusasMbVTOwpEFOMF53da+lvbDvZeT1bV0MMe3C4Cs+atCnrcj1kosAo0lIwtQREREQqLEQiYtR4tVatZMCmF/RZe4PGuJTqGtkvW7inqON3d4KfBa1YxSZywdeZATWMKclQAUNmygw+vvOb57+9u4jVY6iCaxq7RvKMxEa0+GvbksLHGKiIhIcJRYyKQV21EBQHRKCM3xusWl0RSdAcDet57rObzncCXTDKs5W0LBkpEHOYHlLr0AgPnGQbbs2NVzvHH3OgBKY+eB3RHyvFHJ1t9nbLua5ImIiBxLSixkUjJNk2Sv1cMiLqNgWHP4Z50PQEHZMz3LoSr2bsZmmDTakiEhMzzBTlBGQiaHY6x9KJVv/6fneHTFJgA82cMr1RubbiUWSd6qEUYoIiIioVBiIZNSU4ePTGoBSM4OvofFkZJPuhyAs4xNPL/FWv7UfngLAHUJs0ce5CTgKfwAAO7SVwDw+gPkt1pdy92zTx3WnO5sq6t3RqAaf0BN8kRERI4VJRYyKVXU1JFqWA3UXKl5w5tkygk0unKJMzyUb/wnbxfX01myBQCbNm4HJWfZhQAs8W3hQEUdew8eZoZRCkDWvNOHNWdyltVjJMFop7qmb48MERERGR1KLGRSqutqntZGDLjcw5vEMGDBxwGYV/McP/jDP7jI9gYA+QtOC0eYE15swQk02twkGO38b+0zPPPUYwBURE3BFp82rDntrniaiAegtuxA2GIVERGRwSmxkHGlxePjt28c5HN/2szhurbhz1Nl9ThocKRbCcIwJS27DICVtq3c2/l9Yg0PvsLTMeZ8aNhzTio2G5WZKwCYueMn3NT0QwCiZp01omnroqyN9S2VRSOaxx8w+e1/1vL0/94d0TwiIiKTgRILGRdM0+SHL+xh+b0v8fB/XsO/7SkeemXX0BcOwFdnJRatw2iO10v6bOoSZuMw/EyzVeCNyybq478Dm31k804iSQvOA+BE2x6chpfWqR8k7aLvjmjOFqe1cd5Td2hE8zzzwnNcvvFjzH/249Q1t49oLhERkYlOiYWMC++WNPLSyy/wHf+PeM11Cw9F/5gp23+FaQ5zc26TtY7fFx96c7yjJS77BAABIwrHpb+HuOEt4ZmsMo8/D68RDUDH0k8Sd+VfIDpuRHN2dv+9jqBJXlVTG/nrv4XT8FJoVLDp5b+PKCYREZGJLirSAYgEY++enTwV/S2ijEDPsdN8G9he1sRxuUkhz+dstZqnGe7Qm+MdLerE66F6J7bZ50HeshHPN+nEuHFc+QR0tuCac3545kzMhUqIahl+k7yX/3Q/lxp7e753bv8LXHh5OKITERGZkHTHQsaFjgNvEGUEqHflwZX/JIDBAlsRb27dPqz54j1WDwtn6vB6WPTiSoSLfwXzLxr5XJPVtJUQrqSC95sexnc1QQzVW9v3sLr8IQAqCq3KVSd5NrC3ePh3QERERCY6JRYyLsRUW5tnW/JWwfQzqE86DoD2Hc+GPJc/YJLqt8qQJmQWhitEGUMSs6xeFsm+4TXJq3/mHpKNFspd08m68reUOgpxGV72vvKHcIYpIiIyoSixkDGvxeMjv8PaqJ003Vpq5Jxvbfid1biO6mZPSPPVNHeQ3dUcz93V80AmltQpMwDIMmtobusI6Vp/wGR+ywbrz2fcDvYomudYZYWnFP8Dnz8w2OUiIiKTlhILGfPeO1TLcUYRAInTTwIg/jgrsTjVto3XdhwOab6KynJiDSsZiQrDHgsZe+JSp+DFjsPwU1lWFNK1+w8eYIpRTcA0yF54JgDTzrwOPwYLzd1s2rxxFCIWEREZ/5RYyJhXsmczMUYn7UYspM60DmYvosWRRpzhoXTLiyHN11RRBECDzQ0OV3iDlbHBZqfaZvWyaCjdF9KlFTusJodljjzsMVZhgOjkHPYlWElt+ztPhDFQERGRiUOJhYx5nuK3AahLmgu2rh9Zw8Az1WqillL2Cp2+4JentFUXAdDkyAhrnDK2NDqtkrPtVaF13/Ydsu5I1CUv7HW8NWc5ADENe8IQnYiIyMSjxELGvLhaa+O2mbOk1/HkxVZ369PNt9lT0RT0fP4Gq7JPe+wIm+PJmNYRlwtAoL44pOuS66yfN3t+79LBMdmzrfMdI2u6JyIiMlEpsZAxrbbFw3Sv9QlxyoyTep2zTT8DH3bybdUUHQi+C7e92Uos/Am54QtUxhzTbZWcjWoOvkRsS7uHGT7r5y173mm9zqXlzwcg11+G1+cPU5QiIiIThxILGdPeO1TFHMP6hDh26om9TzrjqYmxyoq2FG0Oek5Xu9XbICo5LzxBypgUnVoIQHx78E3y9u54mwSjnXacpBQu6nUuLW8WftMg3uigrCS0uyAiIiKTgRILGdMqdm8i2vDTYk8Ed99mdh1p1qfI9sptQc+Z1NUcz5WaH54gZUxKzJoOQKov+CZ59XusMrMlMbPBHtXrnOFwUWXPBKCmeEeYohQREZk4lFjImOYrsTZuN7gXgGH0OR+TfzwAqS27CQTMIefr8PpJN63meEnZ08IYqYw1qXnv97JoamsP6hp7mfXz1pZ+fL/n61xWMtpWHvzSOxERkclCiYWMaWmN2wEwc/p/o5c6fSkAsznI4fq2Iecrrm4ik3oAEtV1e0KLS7F6WUQZASpLDg453jRNsputn7e4aSf1O8aTZDVUNGv3hy9QERGRCUKJhYxZpmkyxVsEgDOv/8QiKscqCZpr1LL34NDr3suL9xJlBOjEgRGfGbZYZQyy2ai2WX/HjWVDJwLlNbVMN62fodwFp/c7xki17oLENA+dqIiIiEw2SixkzKpp6SSHKgCSc2f2P8iVRK3D6ldQf+DtIedsLt1pze2cAjZ7eAKVMavRaZUUbq8eupdF8XvrsRsmNUYqMan9b+yPz50DQFpHaN3eRUREJgMlFjJmlVfXkmK0AOBI6btxu1tLyjwAAuXvDTmnv2YvAG3xhSMPUMa8jvjuXhZD955o72rEWJkwb8AxGYVdJWfNclrbPWGIUEREZOJQYiFjVn3X8pVWIw5i3AOOi8qxyoImNe4cck5no/XJtZk6wB0QmVDMrkpiUU1D32FwVluVxbzpxw04JilzKh4cRBt+Sot3hydIERGRCUKJhYxZbdXWOvaG6KxBx6XMOAGAqb4D1LYM/ilySntXT4yuLsoysTm7e1l0DN3LIrPNaowXX7h04EE2G5V2a+ldwyFVhhIRETmSEgsZs7x11kbatticQcfFdG3snm6Usetw1YDj6ls7mWJabzBTC+aHKUoZyxKyrV4WaUP0sqiqq6fQtDp0585dNujYhlir5GxHpe5YiIiIHEmJhYxZUY3W8pVA4pTBByZk0Wx3W2VF970z4LCi8mpyjVoAXFm6YzEZpOVaVZwyzVoaWwfuZXFo19tEGQEajERihmic6HVb/U9sdSo5KyIiciQlFjJmxbaXAxCVPESHbMOgPtGq1uMp2TLgsJpD1h6MZlsCxKaEJUYZ22JTcukkiigjQFXJwJWhmg9uBqAiZla/jRiP5MiYBUB8S1HY4hQREZkIlFjImOXutJavxGZOHXKsLdvqZxFTu23AMW3l1tKVetfAFaZkgrHZqLZlANBQtm/AYfaqdwHoSBt6iVxiV8nZDG9JGAIUERGZOJRYyJjU2O4li2oAkrvWyQ8mdaa1Ln5a5x6qm/vfwG3UWqVmu7sny+TQ7LL26DSX7xlwTGqzlXS6BmjEeKTMqVbVqCyzhvrGpjBEKCIiMjEosZAxqbSmgQwaAHClDZ0IxEw9GYC5xiHePVje75jY5iIAbOmzwhKjjA+dqXMBsFW82+/5prYOpvmLAMiec9KQ88W4M2khBpthUl2yN2xxioiIjHdKLGRMqi07iM0w8eCEuLShL0iaQmNUGg7DT8WuDX1OBwImaZ3WZvDupSwyOcQUWuWI05v773NStGsLMUYnbbhICuZnwzCos6cD0FxVHLY4RURExjslFjImtVZaG23rHRlDbqYFwDBoSlts/fnwxj6nS+vbmIpVajYlf+DOyjLx5Mw/FYAZgYNUNzT3OV+3fxMAZc7pYAvun8TmaGvfRkft0I33REREJgslFjImdfewaI0ZvIfFkVxdy6Eymt7F5w/0OldSepgko40ABva0ofdsyMQRlzmDJuJxGj4O7uibdFJuLZFqSQ4+4fTEZgMQaNAGbhERkW5KLGRMMhqtN2y+hCF6WBwhdfZpACxiL7srem+qbTi8A4C6qAxwxIQpShkXDIPyOGuJU9OBt/qcTmqyOmg7piwKespAgpVY2Fv6388jIiIyGSmxkDEppq0UANtQPSyOYMtdjA87GUYDe/b0Xk/fUWFVBGqKKwxbjDJ+eNKtcsSOii29jtc0tTLda23Azpo99MbtbnZ3HgAx7YN39BYREZlMlFjImJTosd6wxaSHUBrWEUNNvNVRu2Xf+xu4AwGTljLrU2lb2ozwBSnjRtxUqxxxVssuTNPsOf7eumdJNNpoNBJJnb406Pli06zEIrGzKryBioiIjGNKLGTMaev0kRmw3rC5c6aFdK0vx3pzGFu1uefYpuJ6FnitdfS5s4J/8ygTR+5xpwAwzTxERV19z3H/jv8AUJqxEmz2oOdLzCwEIC1Q0ytRERERmcyUWMiYU1bXQrZRB0B8RmjN7NyzrH0W0z07qG/tBOD1N//HYtt+/NhxzL8gvMHKuOBKyafecOMw/BRts/ZZtHZ4mdP0OgBJiy8Kab7UHOvnMslopa6+LqyxioiIjFdKLGTMqSorxmH48WGHrk2ywYqfblWGmmcU8ZcNe+j0BYjd/Q8AmrJPgfiMsMcr44BhUBFvNcprPWhVhnpn4+tMMWroIJqcpeeGNF10nJsWrCIAteVFYQ1VRERkvFJiIWNOa+VBAOqj0kNangKAu4AOZyrRhp9tr/yNn7+yl9X+1wBIOunycIcq44g306r65KzaCkDL1n8BUOw+GSM6LuT51CRPRESkNyUWMuZ097BodoZ2twIAw8C59AoA1kT9ji2vPME0WwVemxPb3A+FM0wZZxKnW1Wf8lvf5c+vb6eg5hUAHPOG93PR3STPU3soPAGKiIiMc0osZMwxm6wO2Z1xWcO63jjjG/hSZ5NuNPILx48BaC1cDc6EcIUo41DegtPxGE4KjEpWvfgh5lKEHxsFyy8e1nzdTfL8DaXhDFNERGTcUmIhY46j1Wo6ZiYE33W79wQuoj72awJGFDGGtYE76aTLwhWejFP2+DSirvgbTTFTeooDHIpdgD0hfVjzqUmeiIhIb0osZMyJ6bBKzTqSc4c/SfYibGd8HYBATCrGjLPCEZqMc/bpK0n84kaaln6eFlc2med/ffhzqUmeiIhIL1GRDkDkaG5fNQCxacF33e7XqV+E6HhsWQvB7ghDZDIhRMeSeMF34ILvjGgaNckTERHpTYmFjCltnT7SzDowIClzhImFPQpO/kx4AhM5ytFN8gzDiGxAIiIiEaalUDKmVNS3kIHVGTkudYSJhcgoUpM8ERGR3pRYyJhSV1mC3TDxY1MzOxnT1CRPRESkNyUWMqY0V1s9ARrsKaE3xxM5xtQkT0RE5H1KLGRM6agtAd5vPiYylqlJnoiIyPuUWMiYEmiymo15YjIjHInI0DpirSaOapInIiKixELGGHuz1WwsED/M5ngix1B3E8eolrIIRyIiIhJ5SixkTHF1VAJgd4+gOZ7IMdLdJM/VXhnhSERERCJPiYWMKQmdVnM8V8qUCEciMrTuJnlJnUosRERElFjImOH1B0jx1wCQMNLmeCLHQHeTvNRALaZpRjYYERGRCFNiIWNGdVMHWYbVHC8pvSDC0YgMTU3yRERE3qfEQsaMqupKYoxOAGxJ2rwtY5/VJC8WUJM8ERERJRYyZnQ3GWsyEsHhinA0IsGps6cBapInIiKixELGjPaawwA0OdIjHIlI8JqirZ4rapInIiKTnRILGTO8XU3G2tUcT8YRT6z186omeSIiMtkpsZAxw9ZsNRnzxWVFOBKR4KlJnoiIiEWJhYwZ0W1WLwBDG7dlHFGTPBEREUtUpAOQ8e+/2yp4u7iOFo8Pn9/kUyunMyMjPuR54jxVADiT1RxPxo9wNMnr6PTxrz//gozpi1h12unhCk1EROSYUmIhI1LV1MFnH9tEnNlOPO3YjQCtHi8/v+KEkOYJBEzc/howID5dzfFk/Di6SZ5hGCHP8do/HuKSg9+i/EAqjYu3kRQfG+YoRURERp+WQsmIvH2win87vsF7rhvY4LqJN5xfYPq+3+H1B0Kap6rZQxa1ACRnqTmejB8jbZLX2NzG7J0/AyDbqGXjM78La3wiIiLHihILGZHynf9jvs2q328adgDODbzO5uL6kOYprazEbbQCEJWsOxYyfoy0Sd6Gv/+UAip6vs/d+Rt8Pn+4whMRETlmlFjIiJiH3wKgPHMlxq17CWAwz1bMxve2hzRPQ9k+AJqNBHAlhj1OkdHU0ySvMrQmeVV1DSw+8EsA9s7+FB1EM9fcz5uvPh32GEVEREabEgsZtg6vn5zmdwGImXYqxKXSkLwQAN+u50Kaq73qAAANTlWEkvGnp0leXWhN8jY/+X9kGXVU29KZ8bG72JN5PgD2N38e9hhFRERGmxILGbZtpY0sNvYCkDTrFABi5p0LwJyWNylraA96Ln9dEQAd8aoIJePPcJrkmabJvNK/AVB3wi0YjhimnHsrAMs8/2P7tnfCH6iIiMgoUmIhw7Zr906yjTr82DBylwAQM/8cAE61beO1ncE3DItuPgyA6db+Chl/Agm5QGhN8g4dPkQ+FQRMg8LTLwcgpfA4dsSeiM0wqXv7H6MSq4iIyGhRYiHD1n5gPQB1CbMhOs46mLWINkcKCUY7pe++HPRc8e3WGzJn2rSwxyky2qLc1p22UJrklb73KgAlUfk445N7jremH2/NWbc3jBGKiIiMPiUWMiymaRJXZS3VCOSe+P4Jmw1P4ZkAJJe9iieI6jY+f4B0n1UVJzF7RviDFRllw2mS5yv+HwC1XfuSukVnzQEgsTW0jeAiIiKRpsRChuVwXTvz/DsBSJ59Wq9zSQutDainmZt5r6RxyLnKG9qZYlRb12ZPD3OkIqPv6CZ5wUiu2wqAPf+k3sfz5wGQ7T0U9FwiIiJjgRILGZZ3DpYx37A+UY0uPLnXOduMMwhgY5atlH37dg05V3l5KfFGh3VtsprjyfgTapO81vYOZnj3AJB93Om9zmVNPQ6AFKOZ6qryMEcqIiIyepRYyLBU7/ofDsNPc1QqHL3hOiaZ6nhrOUf7gf8NOVdjudXDot6eAg5X2GMVGW2hNsnb997/iDE6aSKO9MIFveeKTaDSsPpiVB54L+yxioiIjBYlFjIssZWbAWhKOx4Mo895X/ZiAGKqtw45V3v1QWsuZ274AhQ5xrqb5DWWHxxybMMeq/BBSew8sPX9Z7jGaSXrzaVD3/ETEREZK5RYyLBkt1n7K/y5S/s9nzTdWjde6NlNY7t38MnqrSVVngT1sJDxqzHG2sDdXrF7yLHR5ZsA6Mjq//enPdGqjhaoHnouERGRsUKJhYTMHzBJ81prv+Ny5vU7Jn6qVSnqOOMg7x0afM25s8XqYWG4C8MXpMgx1plsVTSz1QyeDJimyZTWbQAkzjyl3zFG2kwAYpqGvvshIiIyViixkJBVNXeQY9QAkJQ1tf9BabPxGC7ijQ4O7R18OVRih9XDwpVRGM4wRY4pR5aVZCe2HBh03KHDh8ijkoBpkL/g9H7HxOVac6V1qOSsiIiMH0osJGRlVbWkGs0ARKUMUMXJHkVdorWB21O8ccC5Orx+MvxW7f+k7JnhDVTkGErOt6o5ZXsPEQgMXCb2yMZ40Uc0xjtSZldlqJxABe3tHWGOVEREZHQosZCQNZTtB6DViIMY98ADc5YAkFA7cGWbkrrWnh4WCVnqui3jV9Z0q7pTutFIeWXZgOO8Rd2N8RYNOMadVUA7ThyGn9KDO8MbqIiIyChRYiEha6u2lno0OLMHHZc80+pvMcO3h6rm/j91rSorxmn48GPDSMoLb6Aix5AjNomq7jKx+98dcFxKvbU0MKrgpAHHGDY7ZVFWMYP6Q9vDGKWIiMjoUWIhIfPXHwKgIzZn0HGughMAmGsUs624ut8xTRXW3Y+6qAywR4UxSpFjr8ZVCEBrSf/JQEtb+4CN8Y7WFGvN5alQyVkRERkflFhIyKKaSgAIJA5xhyFlGm22BJyGj7K9m/sd0l5p3f1oiRk8SREZDzrcVmUoBigTu/+IxnhpBccNOpc3xZorqn5fWGMUEREZLUosJGSx7db68ajUATZudzMMGpLnA+A7tKnfIW1V1h0LW/IQc4mMA7ZMq2BBXHP/laEa9lqN8Q7Hzu+3Md6RojNnA5DYWhS+AEVEREaREgsJSSBgkuKtACAhc+jN1o48azlUQt17eHz+XudaPT4yWqyNqe6CBWGOVOTYS8qzEumsziJMs29lqOjytwHwDNAY70gp+VbJ2Rzv4X7nEhERGWuUWEhIalo95NDVwyJn+pDj02YvB2CxuYu3i+p7nXunuI4TDGvJSNLslWGOVOTYy56xGIAcaqip690YsndjvOVDzpU51Uos3EYLDfW14Q1URERkFCixkJCUVteTYTQA4EgpHHK8MXUFfuxMt5Wz5b3ejfL273ybZKMFj+GC7IFLb4qMF66kDOpJAqDsqMpQwTTGO5IzNolmYgGoLS8Ke6wiIiLhpsRCQlJfZq0d7zBcENN/c69eXEnUpy4GwLfnxV6nvAes9eb1KQvB7ghrnCKRUuW09gs1H97W63gwjfGOVmezyte2VB8KY4QiIiKjQ4mFhKS16iAA9dHZYBhBXRM7bzUAc1repLLJ6mfR6QuQUW9VinIUnjIKkYpERmuitUQwUNW7MlQwjfGO1hxtJRYddSVhik5ERGT0KLGQkPjqigFoD6E8bOxcK7E4xbad13dZFaW2lTWyxLDq86fMWxXeIEUiyMiwqjnFNO7vdTyYxnhH64jJAsDfUBqm6EREREaPEgsJib2rh4U/cUrwF2UtpNWRQrzRQcm7awHYuXM7U4waq+P2lBNHIVKRyEjMs/pTTGnfTWOrdYfucHll0I3xjuSPt7rb21rKwxyliIhI+CmxkJDEtlufnEalhNB3wmajI38VAIkla/EHTNr2vQFAbcJccMaHO0yRiJm6aCXNxJFt1LLuX78FYNs//48Yo5OyqLwhG+MdyZ5k3Rl0tVeOSqwiIiLhpMRCgmaaJu5O6w1OXBA9LI7kXnAOACcHtvDRX6wnoXKjdSJ/6LKbIuOJLSaR0jnXAjBz98/ZXVzGSRV/AsBzypeHbIx3JGdKLgDxndXhD1RERCTMlFhI0OpaO8mhCgB3TmiJhX3mBwhgMM9WTH7p0yzDqpij/RUyEc284FZaiGUmh2l85OOkGC1UROUwdeWVIc0Tn54PQLK/ZjTCFBERCSslFhK0stpGMrGa3EWnTg3t4rg0jJzjAfhp9INMs1ndu6MKdcdCJh57XDIlM68AYJlpJdFtJ30R7FEhzZOaZf2epZhNdHS0hzdIERGRMFNiIUGrKy/Gbph4iIa49JCvN879Acy7CHJPgIQcWHI1xKWFP1CRMWDGh79GGy4AquyZTDvz2pDnSEjNpNO0YzNMqsvUy0JERMa20D4+k0mto6arh4Ujg6wge1j0knci5D0a5qhExqaohDRKFn+ewi3/h++MO4bVBNKw2amzpZBlVtNYVUzetNmjEKmIiEh4KLGQoPm6aum3OTMjHInI+FB44bfgnJvJcSUNe47GqHSyvNW01x4OY2QiIiLhp6VQEjSz2doX0RmXFeFIRMYJw4ARJBUAba4MALz1apInIiJjmxILCVpUa1ct/QQlFiLHirc7kW9WkzwRERnblFhI0GI8VqlZR1fTLhE5BhKs3zdHa0WEAxERERmcEgsJWqLXqqUfm5ob4UhEJo/oZOv3Ldaj7tsiIjK2HZPE4sEHH6SwsBCXy8VJJ53EW2+9NeDYRx55BMMwen25XK5jEaYMosPrJy1QB0BCRkGEoxGZPGLS8gBwe9UkT0RExrZRTywef/xxvvSlL3HnnXeyefNmFi1axOrVq6mqqhrwmsTERMrLy3u+iouLRztMGUJVYwcZhtUcL053LESOGXemlcinmXUE/IEIRyMiIjKwUU8sfvjDH3LjjTdy7bXXMm/ePB566CFiY2P57W9/O+A1hmGQlZXV85WZqfKmkVZTXYHT8AFgaPO2yDGTkpUPgNPwUlurfRYiIjJ2jWpi0dnZydtvv81ZZ531/gPabJx11lls2LBhwOtaWlooKCggLy+PCy+8kO3btw841uPx0NTU1OtLwq+p2qqh32RLgihnhKMRmTwczljqSQSgoVzdt0VEZOwa1cSipqYGv9/f545DZmYmFRX9f/I2e/Zsfvvb3/LUU0/xxz/+kUAgwCmnnEJJSUm/4++9916SkpJ6vvLy8sL+PAQ66roSC0dahCMRmXzq7akANNcosRARkbFrzFWFWr58OVdddRWLFy9m5cqV/P3vfyc9PZ1f/vKX/Y6/7bbbaGxs7Pk6fFjdaUeDr9Gqod/hzIhwJCKTT0u09XvnUfdtEREZw6JGc/K0tDTsdjuVlb3LJFZWVpKVFdw6fYfDwfHHH8++ffv6Pe90OnE6tTRntBldzbl8cdrvInKseWIzoR0CTWWRDkVERGRAo3rHIjo6mqVLl/LSSy/1HAsEArz00kssX748qDn8fj/vvfce2dnZoxWmBMHRZlXxMhL19yByrAXird87e4s2b4uIyNg1qncsAL70pS9x9dVXc8IJJ7Bs2TJ+/OMf09rayrXXXgvAVVddRW5uLvfeey8Ad999NyeffDIzZsygoaGB++67j+LiYm644YbRDlUGEdfVdTvara7bIsdalDsXisHVoSZ5IiIydo16YvH//t//o7q6mjvuuIOKigoWL17Mf//7354N3YcOHcJme//GSX19PTfeeCMVFRUkJyezdOlS1q9fz7x580Y7VBmAaZok+mrAgNg0bY4XOdZcqVMASOisjnAkIiIiAzNM0zQjHUQ4NTU1kZSURGNjI4mJiZEOZ0Jo7vDSeu9Msox62q99iZiCEyIdksikcmjnRvIfP4sGMx73XaWRDkdERCaRUN5bj7mqUDL2VDa0kU4DADEpUyIbjMgklJJdCIDbaKGlpTmywYiIiAxAiYUMqb6qBLth4scGcemRDkdk0olPSqPdjAagprw4wtGIiIj0T4mFDKm5xqqd32hPAZs9wtGITEKGQW13k7wqNckTEZGxSYmFDMlTZ9XOb1HXbZGIaY6y7ha2qUmeiIiMUUosZEj+Riux6IhR122RSGl3Wb9/vgZt3hYRkbFJiYUMydZqdd0OqOu2SMR4u5rk2ZrVfVtERMYmJRYypOiurtu2pNwIRyIyedm6ut472tQkT0RExiYlFjKkuK6mXNHJ6rotEinRKVZzyjhPVYQjERER6Z8SCxmUP2Di9tUCkJieH+FoRCavuK6u925fTYQjERER6Z8SCxlUdbOHbMNKLJIylViIRIq76/cvzazH5/NFOBoREZG+lFjIoMqra3EbrQDY3XkRjkZk8krJyMNvGjgMP7VV2sAtIiJjjxILGVRD5UEA2oxYcCVGOBqRycvmiKbOcANQX1EU0VhERET6o8RCBtVeVQxAg0OlZkUirTHKalLZWq0meSIiMvYosZBBeeutNzDtMVkRjkREWp1WkzxPfUmEIxEREelLiYUMyt5svYHxJ6jUrEikdcZadw7NJu2xEBGRsUeJhQzK1VYBgM2tilAikRboSvCjWisiHImIiEhfSixkUAmdVpdfV6oqQolEmsOdC0BMu7pvi4jI2BMV6QBkdJimyef+tJldFc1ctiyf/3diHgkuR0hzeHx+0vzVYIOkrKmjFKmIBCsmdQoAid7qYc/R7vHhjLJhs+tzJRERCS/9n2WCOlTXxjvvbcdZs4NvP72DU+59mVd2V4U0R0VDOzldzfHiMwpHIUoRCUVihrUkMTVQi2maIV+/65038H93Cut+/slwhyYiIqLEYqLasLeCfzjv4Fnnbfw3dg2rvK/xw//uCGmOyqpyYoxOAIyk3NEIU0RCkJpdCECC0U5TY0PI17e88H3ijXZW1P6NreufC29wIiIy6SmxmKBKd2wgy6gHYE5gLz+LfoBzq39DTYsn6DmauppwNdrcEOUchShFJBSueDfNxABQW34wpGsP7d/B8a2v93wf++LX6Oz0hjU+ERGZ3JRYTECmaRJT8gYAjTkrYPnnAfio/TXe2BP82uyOWqs5XlO0eliIjBW1dquXRWPZ/pCuO/zfH2M3TPY45tJIPDMDB3nrb/eNRogiIjJJKbGYgPZWtbDI+y4AcQs/DB+4g06bi0yjgb3vvRn0PP6uJlwdsUosRMaKRpe1gbu9al/Q1zTU17Ko6l8A+FZ8hf3H3QLAgj0PUF1ZGvYYRURkclJiMQG9ubuUE2x7AIiavgqinLRmnwxAdPErBALBbfqMarHecAQStb9CZKzwJBZYf6gLfinUtv88QLzRziFbHnNP+wiLL/oixfZ8koxWDrzxxChFKiIik40SiwmoaufrOA0vrdFpkDYTgIT55wCw1LuZnRVNQc0T22414XIkq4eFyFhhS7FKP7taDgU13jRNCg/8CYCa467DsNmwRUVRkXISAP6qXaMTqIiITDpKLCYYf8Akvnw9AJ68U8EwAIiadRYAJ9p2s37n4aDmSuy0ytPGpheMQqQiMhyxWTMASPYEt4SprHgvU8wKfKaNeauv7zluZM4BIK5xb/iDFBGRSUmJxQSzo6yJJYFtACTN/cD7J1Jn0OLKwWn4qNv+8pDzNHd4yaTGmidTzfFExoqUPCshyPJX4PcHhhxf+t5aAIoc03DFJfUcT8o7DoCMjqJwhygiIpOUEosJ5q3dh1hsWNVi7NNXvn/CMAhMPxOArOp1tHp8g85TXt9KFnUAxKTlj06wIhKy9NwZ+EwbMUYnFaVFQ473F/0PgLqUJb2OZ8883vov1TQ31Yc9ThERmXyUWEww3oPrcBh+mlw5kFzY61zC/A8CcJqxlbeK6gadp7riEFFGAD82SFBVKJGxwu6IpsqWDkBdye4hx6fVvwNA9NTlvY4npmRSixuA0r1bwxukiIhMSkosJpiMurcBaMg8uc85Y9oq/NiZbitn3+7tg87TWlkEQL09DWz2sMcpIsNX57QqtbWUD74/orGhjml+q3pU3qIz+5yvcBYC0FT8XngDFBGRSUmJxQST3G41tbNnL+x70pVEnXsBAP6Dbww6T1NXYtHm0t0KkbGmPc6q1BaoPTDouINbX8VumFQY6aTmFPY535JobQT3V+4Ie4wiIjL5KLGYQDq8fjL8VonYxJyZ/Y6xFVh3MpLrtuAbZONnZ431KaeZNCXMUYrISJnJVkGF6KbiQce17rUqxJUlLOr3vJExF4CYxuCb7YmIiAxEicUEUtrQzhSjGoD4zGn9jnHPPhWAheZudlc29zvGNE2Smq0Ge66c+aMQqYiMhDNjOgCJ7SWDjouv3gRAYMqyfs8n5luVoTI7gm+2JyIiMhAlFhNIeWUlSUYbAEZy/70n7HlWU6zZRgnv7eu/wVZ5YwczAkUAJE9bGv5ARWRE3LmzAcjwlWOaZr9jvF4v0zt2ApA+f2W/Y3JmqDKUiIiEjxKLCaSxzNrI2WRzQ3Rc/4MSMmlw5WIzTOr3/q/fIbtLqplulAEQndvPXg0RiajMAiuxSDaaqa+t7nfMge0biTfaaSGGvNkn9DsmMfX9ylBlqgwlIiIjpMRiAumotpYzNLlyBh3nybLuQjgrNvV7vnL/VqKMAK22REgcfC4ROfZc8W7qsJrdVR7a1e+Y2p2vAVDkmoctKmrAuSqc1t3NhkPbwhyliIhMNkosJpJ6ayNnZ0LeoMMSZ50GwIyO7VQ1d/Q531lqfXLZkDgLDCPMQYpIOFQ7rKS/uWxPv+cdJRsAaMvq/25Ft5ZEq9BDQJWhRERkhJRYTCDOlsPWHwbYX9EtpqtR1mLbPjb30ygvtr7rE9Cs48Ian4iET0us9QGCt7pvyVmfz8f0FqunTcr8swedR5WhREQkXJRYTCCJHeUAuNKmDj4wYx4eWwyJRjuHd2/udarV4yPXs9+ar3DJqMQpIiPnT7I+QLA3FvU5t2/bW6QYzbThZOri0wedJyHPqvyWocpQIiIyQkosJohWj4/MQCUA7twZgw+2R9GYYm3K9hX33sC9q7yJuYa1pCqhYHHY4xSR8IhKt0rOJrQW9TlX894LAByIWYjd4Rx0nvR8645FRqAGn9cb3iBFRGRSUWIxQZTUtZHX1cMitqvG/WBc06zlUOkNWyltaO85XnxwD26jFR92SJ8zOsGKyIjlzLN+h2d07qa+vveSxrjSdQB05K0Ycp7kjCn4TBtRRoC6qtLwByoiIpOGEosJoqK8lFjDQwADguiWnTjT2sB9sm0HT256v59Fa/E7ANTFFELU4J90ikjkZE1bRJktG6fhY/e6p3qOd3R0MKvdKsCQsfCDQ85jj4qixkgBoL5Cy6FERGT4lFhMEE0VVg+LRntqcAlBwal4o+KYYtSwd+PzBAJWky179XYAPKlzRy1WEQkDw6As02p8Z+7+b8/hPVteI87ooJF48ub133H7aA2OdABaq/tvmikiIhIMJRYThKe6CICWmNzgLoiOxTjuYgBWtj3PW0V11LZ4SGmxSle68haPQpQiEk5Jiz8MwOymdXR2Wvsjmra/CMDBhCUYNntQ87Q5MwDorCsZhShFRGSyUGIxQRiNXT0sEgfvYXGkqCVXAnCe7U3+8sYOrntkI7NMa56UaaoIJTLWTV9yNs3EkmI0s2PTywAkVVj9K/z5g1eDOlJnXDYAZpP2WIiIyPApsZggXC3WJ432IXpY9JK3jI6kacQaHqJ3P0V62ctMs1VY82QvHI0wRSSMbI5o9idZm7ibt/6bndvfZVan1egud+nq4CdKtJrtOVorwh6jiIhMHkosJgDTNHF7rB4WMRnTgr/QMHCecBUAn7H/iwccP7WOL70W4tPDHaaIjALbnPMAmFH5LGl/vQCn4aPIMZ2sqQuCnsORbBV8iO2oHJUYRURkclBiMQE0tfvIMqsASM6dGdK1xqJLMbEx1VaJy/DCzNVw3v+NRpgiMgpmnHIRPtNGNjWkGw0cckwl49P/AsMIeo64tHwA3L7q0QpTREQmASUWE0BJfQtTunpYRA/VdftoidkYM8+2/py7FD7+O7BHhTlCERktsUlp7I1dDMB+5zwyb36J2NShS04fyZ1VCEBaoJaAPxDmCEVEZLLQO8gJoKHyME7Dhx8b9oSc0Cc4//9g23JYcjVEx4U/QBEZVTlX/JI97zzN9LNuxO6KD/n61Kx8AqZBtOGjtrac1Iwgq8uJiIgcQYnFBNBWbVVyqrenkTacuw3ufDjti2GOSkSOlaTcWSTlzhr29Y5oJzVGEmk0UF9epMRCRESGRUuhJgBPvbVxu7WrFr2ISKjqo6yCDc1qkiciIsOkxGICCDSXAdAZo8RCRIanJbqrSV7t4QhHIiIi45USiwnA3mKViAzEZ0U4EhEZrzpjrX8/AmqSJyIiw6TEYgJwdlilZu2JSixEZHgCida+iqiW8ghHIiIi45USiwkgvtMqNetM1oZLERkeh9v69yNGTfJERGSYlFiMc/6ASbK/DoD49LwIRyMi41VMV5O8pM6qCEciIiLjlRKLca62xUO6UQ9AohILERkmd1YBAKmBWsyAmuSJiEjolFiMc1X1TaQYLYD2WIjI8KVmFwIQa3hoaqiNbDAiIjIuKbEY5xqrrdKQnTggJjnC0YjIeOWKiaOeBADqyg9EOBoRERmPlFiMc601VmnIxqhUMIwIRyMi41mdPQ2A5io1yRMRkdApsRjnOuutxKI1Oj3CkYjIeNfdJK+jriTCkYiIyHikxGKcM5utmvOdsZkRjkRExruOriZ5/gYlFiIiEjolFuOcrdWqOW/GK7EQkZEJxFmJhb1VvSxERCR0SizGOWd7V9ftpOwIRyIi4133vyPd/66IiIiEQonFOJfgrQHApa7bIjJCzuQcAOI6ayIciYiIjEdKLMYxnz9Ast+qNx+fpuZ4IjIycalTAHD71cdCRERCp8RiHKtp6SRTXbdFJEySMq1/R1LMRnzezghHIyIi440Si3Gsqq6BJKMNAJu6bovICKWk5+IzbdgMk/rqskiHIyIi44wSi3Gsscrquu3BCa6kCEcjIuOd3W6nznAD0FCpJnkiIhIaJRbjWGtXEyt13RaRcGmIsrpvt9aol4WIiIRGicU45uvqut3mVNdtEQmP1mgrsfA0aCmUiIiERonFOGY2VQDgjcmIcCQiMlF0dv17YjaVRzgSEREZb5RYjGP2Nqs7biBBXbdFJDwCcda/JzZ13xYRkRApsRjHXD1dt3MiHImITBTqvi0iIsOlxGIci/dWAxCboq7bIhIe6r4tIiLDpcRinOrw+kkN1AGQmJ4f4WhEZKJQ920RERkuJRbjVGVjO1mGlVjEKbEQkTBR920RERkuJRbjVHVNNXGGBwAjUXssRCQ8enXfriqNdDgiIjKOKLEYp5qqigFoMeIhOjbC0YjIRNGr+3bV4cgGIyIi44oSi3GqvdbqitvsSItwJCIy0aj7toiIDIcSi3HK12AtUWiPyYpwJCIy0aj7toiIDIcSi3HKaLG64vrilFiISHh1d98OqPu2iIiEQInFOBXd1XXbpo3bIhJmga4PLOytFRGORERExhMlFuNUvMfqihut5ngiEmb2JCuxcLZXRzgSEREZT5RYjEOBgEmyz+qKqx4WIhJu6r4tIiLDocRiHKpp9ZDR1RwvMaMgwtGIyETT3X07Wd23RUQkBEosxqGqumbSjSYAHG4thRKR8Oruvp2s7tsiIhICJRbjUH3VIQC8REFsaoSjEZGJJiU9F69px2aY1FaqSZ6IiARHicU41Fpj/Y++ISodDCPC0YjIRGO326m2WR9a1Jftj3A0IiIyXiixGIc666xuuK3O9AhHIiITVb0jE4CWyoMRjkRERMYLJRYR0OH1U9c6/HXLZlfTKm+smuOJyOhojbH2b3nriiMciYiIjBdKLCLg8offZPm9L/H63uHViHe0WomFmZAdzrBERHr4E63KUPZG7bEQEZHgKLE4xvZXt3Co+CAF/mI+9Ye3eedQfchzxHRYzfEcyVPCHZ6ICABRyVaPHFdb2bCu9zTXgGmGMyQRERnjlFgcY89tK+dP0d/heefXOM//Mtc+spE9lc0hzZHote50xKQqsRCR0RGTXghAUmdFyNduf+XPOO+fzns/uhB/Z0eYIxMRkbFKicUxtnfrembaSgH4vuPXnNyxjm/9c1vQ17d4fKSbVtOqxEw1xxOR0ZGcOwOADH8VZiAQ2sVv/hKABU2vsufH5+NtD+3DExERGZ+UWBxDFY0dTK15GYCAIxY7AX7q+BnOQ6/R3OENbo6GdjINa/lUbIruWIjI6EjPnU7ANIgxOqmrDn45VE3pfua2bwGgzXQyt20TRT85l4Aa7YmITHhKLI6h53dUcI5tIwC28++H+R8h2vDzDfsfeetgXVBz1FaX4TR81jfavC0ioyTa6aLGSAagtjT4XhYHXvoNNsNkm2MBO856lBYzhpkd77Frw79GK1QRERkjlFgcQ1u3bGKWrZSAEQWzz4Pz7gdgru0QW3buDWqOxgqr63ajzQ1R0aMVqogIdQ6rpHVL5YGgxpuBANlF/wSgec7HOWHFuexMWG7NUfTOqMQoIiJjhxKLY6ShrZOM0hcB8OSdCjFuiEulMWkuAN59rwQ3T5VVU77VmTEqcYqIdGtxWXdFO2uLghp/YOtr5AVKaTejmfeBK61r0+YD4KjePioxiojI2KHE4hh5eVcVq21vARCz4MKe49EzVwFQ2LSJmhbPkPP4aqwuuL6E3PAHKSJyBG/XvzNGQ3C9LOrWPQLAe4mnk+ROASCu4HgA0lt3hz9AEREZU5RYHCPFB/ex2LYfEwPmnN9zPGb2BwA4zb6NDftqhpwnttla62ykzRqdQEVEutiSrcpzziB6Wfh9XmbVvABA9NLLe47nzD7R+q+/nI6WhvAHKSIiY4YSi2MkrcyqBlXtXgQJWe+fyF+O34hiilHDrp3vDjqH1x8g3WN9cpgwZe6oxSoiAhCTVghAYkf5kGOLtv+PJFpoMmM57tQLeo6nZ+dRTTI2w6Rk96bRClVERMYAJRbHSFKTtTnbk3NS7xPOeJrTFlt/PvjqoHMU17YxzbA+OUzKmx/uEEVEeknKng5Aur9yyLG1O14D4EDMcUQ5HD3HDcOg1DUTgIYDm0chShERGSuUWBwDgYCJ22M1xYvN6ruEqXs51Nz2dzhc1zbgPEVlFWQbVllaI23mKEQqIvK+jDyrSV6C0U5j/eBLNR2lbwLQlnVin3OtyV13WCveC2+AIiIypiixOAYqmzvIpwKApCmz+5x3zjwDgOW27WzYVz3gPPWHdwLQbE+GmORRiFRE5H0xcQnUkQhAdckgJbFNk7yWrQAkzFrR57QjdxEASY27wh+kiIiMGUosjoHi6iZyDevTvqjUaX0H5C6l0xZDqtHMoV0bB5yns8L6n3JT3NRRiVNE5Gi1UZkANJcP3CSv4tBu0mig07QzfdFpfc6nzzwBgDzvQQI+7+gEKiIiEafE4hioLd2Pw/DTiaP/btlR0bRkLgMg+vAbA87jqLf+x+5PmT4qcYqIHK25q5eFp7Z4wDFlW63iFPsdM4mNS+hzPm/6fFpNJy7DS/mBbaMTqIiIRJwSi2OgtcJaQtDgzAVb/y953OyVAMzueI/ShvY+503TJKmtCABn9pzRCVRE5CidcVYvC3OQXhb+4g0A1Kcu7fd8VFQUhxzW3drqvQPflRURkfFNicUxEKg9AEB7Qv6AY5zTTwdgmW0Xb+7vu8+itrWT/IC1ATw5/7hRiFJEpC8j2fp3y9V8aMAxGfXvAOCcduqAY+oTrQ3c3pKtYYxORETGEiUWx4CzqWsJQfIgeyNyFtNpiyHZaKF419t9Tu+vaGSqYdWSj85UczwROTYSuzpn57btxAwE+pxvrq+kIGDdzchfvGrgibIXABBXvz3sMYqIyNigxOIYSOwoAcCVOWPgQXYHzelLALAVr+9zurJkHy7DixcHuAtGJU4RkaNNXXQaXtNOBnWUH+pbGar4nVes/xpTSM/MHXCepHwrsUjxlIxOoCIiEnFKLEZZQ1snOQGr1Kw7d/A7DXGzrOVQ09u3UtXU0etcS6lVarbelQc2+yhEKiLSlys2gYMOq2BE2ba+TTzb970OQHnSokHnSc6y7timBWoJ+HxhjlJERMYCJRajrLimlQKjCgBnxuBN7VwzrMTiJNsu3jxQ2/tkjfVJYUdSP+VqRURGUV3KYgB8Rf/rcy6j0kosKOzbv+JI6TkF+EwbUUaA+irdtRARmYiUWIyyivJiYg0PAWyQlDf44Nyl+Ixo0o1G9u/a0utUbLO1AdyW0bfBnojIaIouXA5AWv2WXscri3ZS4C/Ga9qZedrFg87hcDioNlIAqK84MCpxiohIZCmxGGUtZV2lZh0ZEBU9+OAoJ02piwEIHHwD0zQBeLu4jkyPtTkyOX/eqMUqItKf3IVWOexC30Famxt6jh/a8DcAdjoXkJqWOeQ89VEZADRXDdwTQ0RExi8lFqPMW2M1tWuNG7jU7JFiu/ZZTG3byks7rSVUD7+6l1k2K7GIy5k7ClGKiAwsc8p0KkgjyghwcOvrPccTip4DoKngg0HN0+qykg9v7cCla0VEZPxSYjHKohqsT+Z87sKgxnfvszjFtp0fPPMueyubse/+D6lGMz5XCmTMH61QRUQGVJpgVXVq3rsOgKbaCmZ2WKVjC5Z/LKg5vHE51h+atMdCRGQiUmIxyhLarU/motOnB3dB3kkE4jLINBo4pf5fXPPbt7jB/h8Aok76JDhcoxWqiMiAvDknAhBbZfXZ2ffGE9gNk322qeRNC3LvV5JVjtbRWj4qMYqISGQpsRhFHV4/mT7rf6BDlZrt4XBhO+MbAHwh6u/MbV7HYtsBAnYnnHjDaIUqIjKo1DlW1afC9u0E/H7se54FoCLnrKDncKZYS0LjOyrDH6CIiEScEotRVN7YQb5h/Q80LmvwUrO9HH8lZtocko0WHnD8FABj0ScgPn00whQRGVLh/JNoN6NJopWie09kTsubAKQtvSjoOeIyrOaeyb6q0QhRREQiTInFKKqpqSbFaLG+SZ4a/IX2KIwP3gOAy/ACYJzy+XCHJyISNEe0k53xJwEwzbcfp+HlsJHNrIWnBD1HSo7172CK2Yivs2OI0SIiMt5ERTqAiay7pGKLEU+8Mz60i2eeDdNWwYG1MPs8SAvhjoeIyCg47uYn2bH1DZrrKmhvqiF34ZnY7MF/PpWanovHdOA0vFSXF5FZMGcUoxURkWNNicUoaq8rBaDZkUaIaQUYBlz4c/jfz+Hkz4Q9NhGRUEU7ncxb9oFhX2+32yi3pTLFrKCh4qASCxGRCUZLoUaRr6EMgA5XxvAmSMqF1d+BpClhjEpEJHIaHNa/h63V6mUhIjLRKLEYTS0VAHjjhu5IKyIyGbS5sgDw1h2OcCQiIhJuSixGUXSbVRHKSMyJcCQiImODNz4bAKOpNMKRiIhIuCmxGEWxHqukYrRbiYWICICta2mns01N8kREJholFqPENE0SfbUAxKVpj4SICIArzeplkeBRkzwRkYlGicUoaWr3kU49AAnpeRGORkRkbIjPKAQgxV8d2UBERCTslFiMksqmNjK6Egtncm6EoxERGRvScqYB4KYZT3tzhKMREZFwUmIxSmqryok2/NY38aoKJSIC4E5OpdV0AVBbWhTZYEREJKyUWIyS5hqrlGKjzQ12R2SDEREZIwybjWpbGgANlQcjHI2IiISTEotR4qmzmuO1RKdHOBIRkbGlKdq6i9teUxzhSEREJJyUWIwSf6NVo90z3K7bIiITVHuM9e+ir6EswpGIiEg4KbEYJUZX122/um6LiPTii7W6bxstKjkrIjKRKLEYJc52qzmekaTmeCIiR7IlWB+4ONqqIhyJiIiEkxKLURLXadVoV6lZEZHeot3WBy6xnTURjkRERMJJicUoCARM3F1dt+PVdVtEpJeYVOsDl0SfEgsRkYlEicUoqGn1kGGo67aISH8Su/5dTA3UYwYCEY5GRETCRYnFKKhqaCWNRgCitMdCRKSX1EwrsYg2fDQ36q6FiMhEocRiFDRUlWA3TPzYIC4t0uGIiIwpMbGxNBAPQEPl4QhHIyIi4aLEYhQ015QA0GhPAZs9wtGIiIw99bYUAJqrlViIiEwUxySxePDBByksLMTlcnHSSSfx1ltvDTr+b3/7G3PmzMHlcrFgwQKeeeaZYxFm2HTWW02fWtV1W0SkX80O626up15N8kREJopRTywef/xxvvSlL3HnnXeyefNmFi1axOrVq6mq6r9++fr16/nEJz7B9ddfzzvvvMNFF13ERRddxLZt20Y71LAJNFn/o+yMUddtEZH+dDitD168jeURjkRERMJl1BOLH/7wh9x4441ce+21zJs3j4ceeojY2Fh++9vf9jv+Jz/5Ceeccw5f+cpXmDt3Lvfccw9LlizhgQceGO1Qw8beanWTDcRnRTgSEZGxyRfX9cFLc0VkAxERGct8nkhHEJJRTSw6Ozt5++23Oeuss95/QJuNs846iw0bNvR7zYYNG3qNB1i9evWA4z0eD01NTb2+Iu3sPKt8Ynbe1AhHIiIyNhldH7xEt6v7tohIv3we+HYmfH8qtDdEOpqgjGpiUVNTg9/vJzMzs9fxzMxMKir6/5SqoqIipPH33nsvSUlJPV95eZHvGxHTYXXdjk+LfCwiImNRlDsbgBhPdYQjEREZo5orABOzswVcSZGOJijjvirUbbfd9v/b++/4yK/y7v9/TR+NyqiNurRaba9ed9Y2tgGDg8FASIDcENqDQAiQcAN3KIHQEwg3yTff8CWBkAL5hcQJCRATHANuGPe69treXW+TtOpdoz7t/P44krzyqsxoZjQa6f18PPaB/Pmcz5lr7WF3rjnnXBejo6Pzv86dWwcVRt7yz/Dhp2D3a3IdiYjIulRQbrtvF0cHcxyJiMj6NDPSCUBHLMjodCzH0STHnc3JKysrcblc9Pb2Lrje29tLTc3i5w9qampSGu/z+fD5fJkJOFM8BVDWnOsoRETWrZJQAwBliWEwBhyOHEckIrK+hPs6CAH9lNHgz+pH9ozJ6oqF1+vl0ksv5c4775y/lkgkuPPOOzl8+PCizxw+fHjBeIBf/OIXS44XEZH8U17TBEDAMcPk2HCOoxERWX8mB+0unLC7EkeefPmS9a1QH/3oR/nOd77D9773PY4dO8bv/d7vMTExwbvf/W4A3vGOd/CpT31qfvyHP/xhbr/9dv78z/+c48eP8/nPf57HHnuMD33oQ9kOVURE1khRUQlhEwBguLc9x9GIiKw/833RfPnTviDr6ypvectb6O/v57Of/Sw9PT0cOnSI22+/ff6Adnt7O07nC/nNVVddxb/8y7/wmc98hj/6oz9ix44d/PjHP2b//v3ZDlVERNbQsLOcEjNJuL+D+h2Hch2OiMj6Mmb7/EQDSiwW+NCHPrTkisM999xzwbU3velNvOlNb8pyVCIikktjngqIdDA1pO7bIiIv5p6YrYhaXJvbQFKQ91WhREQkP035KgGIjiqxEBF5sbly3J5gXY4jSZ4SCxERyYloYLZnkbpvi4hcoCQ6AIC/oj7HkSRPiYWIiOTGbPdt96S6b4uILDAzTsBMAhAM5U/DZSUWIiKSE55Sm1io+7aIyEJmdiV3wviorKjMcTTJU2IhIiI54S9T920RkcVMDnUA0GPKqQ4W5Dia5CmxEBGRnCieXd4vSwzlOBIRkfUl3Geb4w06yynwunIcTfKUWIiISE6UzXbfLmKKqbGR3AYjIrKOTA/aFYsxd/5sgwIlFiIikiMlJaWMmkIABrrO5DgaEZH1Y64M93RBKMeRpEaJhYiI5ITD4WDQZb+NC/e25jYYEZF1xDF7eDsWqMlxJKlRYiEiIjkT9tpeFlMDbTmORERk/fBM9gLgKFZiISIikpTpAvuXZnykM8eRiIisH4HZMtze8vxpjgdKLEREJIfixfYvTdeYEgsREQCMIRizZbgLyvOnOR4osRARkRxylzUA4J/qyXEkIiLrxPQoPmYACFY15DiY1CixEBGRnPFX2pKzwUhvjiMREVkfErMVoUZMIdUVpbkNJkVKLEREJGdKa5oBqIgPgDG5DUZEZB0I99vmeL2mjMoiX46jSY0SCxERyZnKuhYAAo4Zxkb6chyNiEjujQ/YxGLYVYHHlV8f1fMrWhER2VAKC4sYogSAoa6zOY5GRCRDnrsVeo6u6tHpIVvMYtybX123QYmFiIjk2KDLdpYN96aYWCTimM4n7V/e4S6Ix7IQnYhIik7dAf/+dvjua2FyKOXH4+FuAGb8VZmOLOuUWIiISE6NzTbJmx48l9JzJ/7razi+cz186xr4iz0MfnUf8emxLEQoIpK8xH1/ZX+YHoFf/XnKz7vGbGIRL8qv5nigxEJERHJsJlALgBnpSOk533P/AUDYFJAwDiqiPZx+7BcZj09EJGndT+Ns/SUJ4wDAPPxtGEptNbZwsh2ARLA509FlnRILERHJKVMy2yRvvCvpZ8K9Z2mOniJhHBz7zXu4r/AGAMZP3Z+VGEVEkmEe+AYAP0kc5t74ARyJKNzx+RQmMJTP2DMW3tC2LESYXUosREQkp+aa5AVSaJLXev8PAHjWvYcrD+yGxivsHL2PZz5AEZFkjHZgnvkhAP/suJmvJH6buHHAcz+Gc48mN8d4Lz4zQ9w4qGjYnr1Ys0SJhYiI5FQgtAWAYDT5crOeU7cDMFD/CgDKd78UgKapY5h4NMMRiogk4eFv4TQxHozv5dLDL+fyK67hx4mrAUgc/UFSU8QGTgPQZSppqirNVqRZo8RCRERyqrRmKwCViQFMIr7i+JnxIbZPHAGg+vI3ArB932WMmQICTNNz8omsxSoispTpZ38KwD+bG3n31c18+BU7eMB1OQBjJ36Z1Bwjnc8DcI5qqov92Qk0i5RYiIhIToXqtpAwDryOOKP9K5+zOH3/D/E44pyhgd37LgbA7/Vw0rsXgN5nk/sLXEQkY+JRPKNtANTuvYrqEj8VRT62XvJKAIpHT8DU8IrTTPScAmDIV4/T6chevFmixEJERHLK5/Mz4CgDYLB75eopsefst4LtVS9b8BdvOGSTDEfHI1mIUkRkGcOtuIgzYXy86iWXzF8+tGcXpxO1ODGYtgdXnCYxaLdCTRc1ZS3UbFJiISIiOTfktk3yxvtalx2XiM6wbdT+5Vx80esW3CtouQqA6tGnMx+giMgyprqPAXDW1LKzpmT++iVbSnnE2NXUZLZDecN21SNRtjULUWafEgsREcm5CZ9tkjcztHyTvPZn7qOQKQZMkP1XvGzBva0XXUvcOKhJ9DIxkFqzPRGRdIy0PwtAh6uB0oB3/nrA66a3zK5gxM78asV5glO2n4+/Ov8qQoESCxERWQdmCuvsDys0yRt6zn7jdzZwAJ/Hs+BeVSjEGaetMHXuqXsyHqOIyFIivScAGC28cKXBu81WrSsdPQYzY0tPMj1KUSJsx9bvyHyQa0CJhYiI5JyZXfYvCJ9edpy3y56fmKq5fNH7PcGL7P0zD2QwOhGR5XmG7aHrePmFKw17d++hPRHCSQLaH15yDjN0BoB+U0JDdVV2As0yJRYiIpJzJc324HXN1MmlByUSNE4cBSC469rFx9RfCkDBwDMZjU9EZEnGEJxoBcBfs+uC25c1l593zuKeJacJd9lSs+2mmoayQMbDXAtKLEREJOcadl9OwjgImSHGBhcvOdt79mmCjDNpfGw/eHjRMcF6+5d6aST5Lt4iImmZHKQwYbc4VTTtveB2kc9NZ9B+eRJZ5pzFWJf9YqXPXY/XnZ8f0fMzahER2VDKyso556wFoPPY4uViu4/eDcAp7y4KAwWLz1NntyFUJgbUgVtE1kS83640dJhKttaGFh3jabHnLILDz0BkYtEx0QG7FWqisDELUa4NJRYiIrIu9AXsYcXxtsU7Z5v2hwAYqbx0yTmq6rcQMS7cjgQjve2ZD1JE5EXmKkKdMfXUly3+pcfOXfvpMJW4TQzaF+9n4R5pBSBe2pyNMNeEEgsREVkXpiv2AeDqe3bR+zUjRwDwb7t6yTl8Hg99jkoABjtOZTZAEZFFTHTaHhaD/iZcS3TLvrylggcS9s+4ieN3LTqmaNKWyfaGWrIQ5dpQYiEiIutCQeMhACrGTlxwb2zgHLWJHuLGwdaLrl92niFPDQDjfSt38RYRSdugPRsxHVw6IQgWeGgP2mp2kZN3XzggOk0w1g9ASd2FB8DzhRILERFZF2p3XwFAfbyDyNT4gnvtR+xfxGdczYRCi+9hnjNRYHtixAbbshCliMhCgbA9G+GqWj4h8O6wTT2Do8dgcmjhzZE2nBjGTAE1tfVZiXMtKLEQEZF1oa5+C4MmiMth6Dzx+IJ706fvB6B3trLKcmLFDQA4wuq+LSJZFpuhLGIr2ZXUX1gR6nyH9uziRKIBJwZz9t4F96bO2jNkp00dWyqLshPrGlBiISIi64LD6eScbxsAw6fPSywSCep77YqFo/mqFedxlTcBUDDRmfkgRUTON3QWFwnGTAH1jRd23T7fZc1lPGT2AzB27M4F96LP3ArAQ67LKPK5sxPrGlBiISIi68Z4mf3GL9Hz9Py1jqfvpCbRy7gpYNe1v7niHAUh+5d7iXpZiEiWTXQdB+CMqWVr1fIrDQGvm57KK+0/nPnlCzdmxgh02BWM1qqXZyXOtaLEQkRE1g1X3UEASkaOz18bvP97ADxZfB2VZWUrzlFaaw9QhhL9kEhkIUoREWt4vqldbVIrDSW7XkbcOCiZbIPRDnvx1B24ExHOJqrZe9GV2Qw365RYiIjIulGx/TIAGqNnMPEY8ZkJtvffAYDnkrclNUd1Qwtx48BHlPCgtkOJSPZMDtizXDOBmqTGX7Z7C08Zu+UzcfoeAKaf/i8Afpa4glfuS26e9UqJhYiIrBtbdhxgyngpYIazd/wtJ+/5VwqZooMqLn7pq5OaI1BQQJ+jAoDBjtPZDFdENruwPbhtimqTGn5RQymPOA4AELnvr2C8D9epnwNwuuJ6aoOLN9jLF0osRERk3fB5vfyq9PUAtDz4KSof/lMATla/Bp/Hk/Q8Q+5qAMZ6z2Q+SBGRWd7J2bNcJXXJjXc7OVH/m/SZUvxDJ+Db1+GJT9BrSmm+6NosRro2lFiIiMi6cs0H/prbi94AQGViEIDqa9+d0hxjfvvtYWSgNZOhiYgsUBixTe285Q1JP7N/7z7eHvkkoxTCmF3x+Fn8cm7cn9yqx3qmxEJERNaVgM/L9X/w9/wk+FYAHnddxJ69B1OaY66XBaPqZSEiWWIMpbEBAIoqG5N+7H9d0Yi/4SDvmPkE48YP2OIU26uKsxLmWsrfQrkiIrJh+b1ubvz9b/I/97yRXbv24nA4UnreUdoI3eBTLwsRyZbJQTzEACirTj6xCHjd/OO7LudN34ryhoEvst3RRfOVr8xWlGtKKxYiIrIued1OXn3DK2lprE/5Wd9sL4vgTHemwxIRASA6bMvF9psSqstKUnq2vNDLP73nSiZKtvMzcwU3X5T/26BAKxYiIrIBBWtsL4vKeB8YAymueIiIrGS0t41KoJcK9hV6U36+vrSA//nwS+kenWZPbWqJyXqlFQsREdlwqhq3AxBgmsnR/hxHIyIb0cRsD4sRV2XK2zXnlAa8GyapACUWIiKyAQWLi+k3pQAMdpzMbTAisiHNzG6FmvCFchzJ+qHEQkRENqSB2V4Woz1ncxyJiGxEZtSWio0k2XV7M1BiISIiG9Lct4gzw6oMJSKZ556wzfFMcXLN8TYDJRYiIrIhRQqqAEiEVRlKRDKvYLoXAE9p6pXrNiolFiIisiElCu1WKOd4b44jEZGNKBi1hSH8Fcl33d7olFiIiMiG5Cyx2xN806oKJSIZFpmg0EwAEKxuynEw64cSCxER2ZB85XZ7QlFEiYWIZJYJ24Pb48ZPqEJVoeYosRARkQ2pqMImFsH4UI4jEZGNZqzf9rDoNWVUBwtyHM36ocRCREQ2pNLZ7QllhElEpnMcjYhsJGO9bQAMOivwuvVxeo7+TYiIyIZUUVnNjHEDMNzfkeNoRGQjmR6yKxZjXm2DOp8SCxER2ZDcbheDjjIARvvO5TgaEdlIYrPN8aYK1BzvfEosRERkwxp1VwAwMaAVCxHJHOeY7Y+TKFJicT4lFiIismFNeCsBiIx05TgSEdlI/FO2P46zRM3xzqfEQkRENix13xaRbCiM9AEvlLUWS4mFiIhsWPHZbQrqvi0iGZOIE4wPA1AUUnO88ymxEBGRDctVXAuo+7aIZNBEPy4SxI2D8qqGXEezriixEBGRDUvdt0Uk02aGOwEYIEhNaWGOo1lflFiIiMiGpe7bIpJp4dny1f2UU1LgznE064sSCxER2bDUfVtEMm1i0JavHnVX4HA4chzN+qLEQkRENix13xaRTIvMboWaUNftCyixEBGRDUvdt0Uk08xYDwCRQFWOI1l/lFiIiMiGpu7bIpJJrglbvlpdty+kxEJERDa08dntCpGRzhxHIiIbgX/KNsdzl9TmOJL1R4mFiIhsaNECm1gkwj05jkRENoKi6AAAfnXdvoASCxER2dDUfVtEMiYepSQxAkBxZWNuY1mHlFiIiMiGpu7bIpIx4304McSMk7KqulxHs+4osRARkQ1N3bdFJFOmZ0vN9lFKVbAgx9GsP0osRERkQyuqbACgLD6Q40hEJN+Nntd1u9inrtsvpsRCREQ2tPKaZgCCjBObnshtMCKS1yZnu26H1XV7UUosRERkQyuvCDFpfAAM97bnOBoRyWfRkS4AJn3qur0YJRYiIrKhuVxOBpy2Sd5IT2tugxGRvGbC3QBE1XV7UUosRERkwxtx228XJwfP5TgSEclnrknbHE9dtxenxEJERDa8SX81ANGhjhxHIiL5zD8923U7qK7bi1FiISIiG16scPZDQLgzt4GISF4rnu26XVDekONI1iclFiIisuE5graRlWeyJ8eRiEjeikUIJkYBKFLX7UUpsRARkQ3PU24/BBRO9+Y4EhHJW+P2z4+IcVER0hmLxSixEBGRDa8o1ARAWUxN8kRkdSZnz2j1Uaau20tQYiEiIhte2WyTvDIzQiI6k9tgRCQvhfttYjFAGUXqur0oJRYiIrLhVVbVMWPcOB2GkT6VnBWR1E3Nd92uzHEk65cSCxER2fA8bhf9DjXJE5HVm++67VfX7aUosRARkU1hdPZbxvH+9tVP0vuc/SUi+antQeh9dlWPOkZtuepooDqTEW0oSixERGRTmJhtkhcZXl2TvLFHvk/8b65m+lsvIzE5nMnQRGQtPHUL/OOvwT+8GmbGU37cP2G3UUaLmzId2YahxEJERDaFaMA2yTOjXSk/O3z3/0fxbR/ARQK/mabtkVszHZ6IZNPpuzD/9UH788woPPdfKU9RNGX/7PBUNmcwsI1FiYWIiGwKZq5J3kR3Ss/13vv3lP3y0wB0GLudauqZn2Y2OBHJnu6nMf/2dhyJGH2mFICpR7+X2hyxGYLxQQBKanZkOMCNQ4mFiIhsCt6yBgACKTbJG3/g7wH4D98beOySPwOgcfA+iEczG6CIZIW568s4IuPcH9/Hb0Q+R9w4KOh6GIbOJD/JyDmcGCaNj5ra+uwFm+eUWIiIyKYQqLT7ooOx/qSfSUyFaZo+DsCu1/0frnv5axg0xRSbCfqf+2VW4hSRzJpsexyA/yfxZq6/8gruSxwAIPHE95OeY6LfJiHnTIiG8kDmg9wglFiIiMimUFbdDEBFYggTjyX1TPuRO/AQ55ypZs/ufZQVF3C04EoA+h77UbZCFZFMGe+nMDJAwji4+ZWv5I9fu5f/cb8CgMjj/wyJeFLTjHaeBKDXWU2hmuMtSYmFiIhsChU1DcSME7cjQXgguQPc4efuBOBM8aW4XfavzMi2GwGo7LwLjMlOsCKSEfHupwFoNdVct78Zr9tJ0aHXMWoC+Kd64Mw9Sc0z3X8WgLC/NluhbghKLEREZFPw+7z0O8oBGO45m9QzwZ4HAIhveen8tW2HX8eMcVMd62KiUz0tRNazoTNPAHDSsYWm2S1Mb7x8O7fGrwJg5ukfJzWPGW6z44sbMx/kBqLEQkRENo1hl63qNJZEk7xIuJ8tUbuvuuHSX5u/3lJfzVNuu0f73EM/zEKUIpIp0+eeAmCwaCdOpwOAvXUltAavAGDyzANJzeMbn+1/U7ol80FuIEosRERk05jwVQEQGVq5SV77E7cDcJImtjdvnb/ucDgYqbsWgHj7Q1mIUkQyxTdoVxXjVfsWXG+66HoAguOnYXp0xXlKpu32SX9o6wojNzclFiIismnMFNpeFmZo5a1Qk8fvAuBc6eXz33TOKW7YY/93cnVdvEVkDcRmKJ9qBaBoy8ULbu3ftYO2RBVODKbjseXniUxQkhgBIFinHhbLUWIhIiKbhqncBUBg9NSKYyv7HwbA2XLdBfdK6+08oVi3DnCLrFf9J3ATZ9QE2LJ154Jb++qCHMFeG33+vmWnmTtfMWoC1FVXZyfWDUKJhYiIbBrFTfsBqJpefsViaqCNungnceNg66WvuuB+7ZadtskWM0wNJ1dhSkTW1ljbkwAcM1vYXVuy4J7f46Kn5CAAM2eX39I41nMagA4Toq60IAuRbhxKLEREZNOo2263Q1SaIWbGh5Yc1/6ELTP7vLOFprqaC+6XFhfR47AHwfvbjmchUhFJ12irTSw6fdsIeC/sPeFssj1pgoNPLdvPIjybWPS5avB7XFmIdONQYiEiIptGqLKSHioA6Dl1ZMlx02fvB6C39GIcDseiYwbc9rxGuOv5zAYpIhnh6DkKwGTZnkXvN+66lHHjx5+YgP6lvyCYme1hMVZQn/kgNxglFiIismk4HA66vc0ADLc+veS40gFb+56mlyw5ZqywAYBI/+mMxSciGWIMpWGb9HvqDi465OKtIY4ktgEwffbBJadyjNgzFrHihgwHufEosRARkU1lvNh+kIj3Hlv0fnxqlIaI/Yaydv+1S84TC9qyk67R1swGKCLpC3dRmAgTM06qth1adEh1iZ9T3r0AjD5//5JT+SY6AXCUqYfFSpRYiIjI5lJlt0UUjJxc9HbH0XtxOQwdJsT2bTsXHQPgqWwBoHDiXOZjFJG0RHqeAeCsqWVXY2jJcVM1lwHg7V665GzpbA+LgqptGYxwY1JiISIim0pRg22UFZpuXfT+yAlberKt8AAu5+LnKwCKam3SURlRVSiR9ab/nC0p3emsoS7oX3JccMdhAMqm2mG8/8IBUyMUmnEASutaMh/oBqPEQkRENpW6HbYyVMgMLloZyt/9KADTNZcvO0/Vlt0AlBImNjmS2SBFJC2TffZcxHRB7ZIFGAAObG/mWKIJgMSZX15wP9HzLAC9ppT6qqVXPsRSYiEiIptKVShErykHoOfUUwtvxmM0TtoPEqW7X7rsPNWVlQwaWxu/v/1E5gMVkVUzox0ARItqlx23u7aYB7gIgPCzt19wf+L5ewB4LLGb2mVWPsRSYiEiIpuKw+Ggy9cMwEjbwspQg2efJMA0Y6aAnfuXX7FwOh30uu2HlpFOJRYi64lnohsAU9K4/DiXk4Gaa+zPZ+8GYxbcj5y8G4BThZfgdulj80r0b0hERDaducpQsZ6FlaG6j94DwPOe3RQHVv52ctRvy09O9arkrMh6UjRtEwtfxfKJBUD1vuuZMl4KIwPQ++wLN6JTBAePAOBouS4bYW44SixERGTzCdnzERdUhmp/GICRykuSmiZSYstPOobPZi42EUlPIkFpzB7ELgytXCL2mj31PJSw1eKiz//ihRvnHsZtonSZcnbvvSgroW40SixERGTTKWo8AEBo+oWEwEyH2Tpsa9l7ty3dv+J8znLby6JgvD3DEYrIqk0O4CFGwjgoq105sdgWKuIp36UAjD378/nr48fvAuChxF6u3FaZnVg3GCUWIiKy6dTuOATMVobqt8lF6x3fppBJTps6Dlz1a0nNU1izA4Cy6c6sxCkiqZsZtBWh+iilvrxkxfEOh4N4yysAKOl7FCITAERO3gNAe/AyggWe7AS7wSixEBGRTac6VMXjjv0AnPu3j0EiTtGRvwPg2aa3UVqYXPWX8sZdAFQm+jGxmewEKyIpGelpBaCXiqQTgr37L6HDVOI2UWi9H2bGCA7bJnue7TpfkSwlFiIisuk4HA5Gr/sSMeNk+8CddN/yB4RiPQybIg7e9LtJz1Nb38SE8eFyGIY7dYBbZD2Y7G8FYNhTvWwPi/NdtSPErxL2HMXUQ9+B5/4LF3HaElXs33sgW6FuOEosRERkU3rZdS/jZ4GbAah9/p8BeKD0dTTXJt8Ey+dx0+OsBmCg8+QKo0VkLUSHzgEw6a9J+plggYfnK+x2qIIzP4f/+iAAD5l9XN5clvkgNyglFiIisik5HA62vunLDMw2uYsYFzWv/P2U5wl7bCIyNXAuo/GJyOo4wvbMU2yF5ngvVrr/Vbw38lGOOnbOXztXcRUBrzuj8W1kSixERGTT2tvSxB1bPgrAL/w3csm+PSnPMeWvAiA20pXR2ERkdXyTtoeFo3TlHhbne/PlDTxTfA03T32eX5/5Ah+M/AHOva/PRogbllIwERHZ1G5+2+/zj3ddwUsv3pv0fuzzxQtrIAyOcSUWIutB8UwPAP6KppSeqw0WcPf/uZ5bj3TxD/cXc+/IFB85VJ+NEDcsJRYiIrKpFfrcvPvVV69+gmA9dINnojdzQYnI6sSjBONDABRXb035cb/HxZsvb+TNl6e22iGWtkKJiIikwVtmv9EsnOnLcSQiwlg3Tgwzxk2oRqsNa02JhYiISBoKK+12i9JYf44jEZGJ2VKzPaacutLC3AazCSmxEBERSUNZtU0syhlVkzyRHBvtOQtAnzNEgdeV42g2HyUWIiIiaaisrmPG2COL4b6OHEcjsrlNDbQDEPZW5TiSzUmJhYiISBp8HjcDjnIAhnvbchyNyOYWH7b9ZKYLUuthIZmhxEJERCRNw+5KAMbVJE8kp5xjtuxzrFgHt3NBiYWIiEiaJma3XUSGtBVKJJf8s83x3GUqF5sLSixERETSFAlUA5AY7cxxJCKbW0nUVmcLVCqxyAUlFiIiImkyxXY/t3uiJ8eRiGxisRlKEqMABKu25DiYzUmJhYiISJrcpXY/d8G0muSJ5IoZs9ugZoyHUFVNjqPZnJRYiIiIpKmgogGA4qia5InkysSA3YrYa0oJlfhzHM3mpMRCREQkTSVVzQBUJAbBmNwGI7JJjfbZHhaDznL8HjXHywUlFiIiImmqrLX7uX1EmQ5r1UIkF6aG7IrFmKcyx5FsXkosRERE0lRSFGDQlAAw1N2a22BENqnYiE0spvzqup0rSixERETS5HA4GHJVABCe3Y4hImvLMWarskUDOridK0osREREMiDsCQEwrSZ5IjnhnuwFwDFb/lnWnhILERGRDJgusE3y4iNqkieSC4EZe77JU1aX40g2LyUWIiIiGRAvtN+SOmZr6YvI2iqJDQAQqKjPcSSblxILERGRDHAG7bekvqneHEcisgnNjFNoJgEIhppyHMzmldXEYmhoiLe97W2UlJRQWlrKe97zHsbHx5d95vrrr8fhcCz49f73vz+bYYqIiKTNV2a/JS2cUfdtkbUWD9uVwjFTQKhS5WZzxZ3Nyd/2trfR3d3NL37xC6LRKO9+97t53/vex7/8y78s+9x73/tevvjFL87/cyAQyGaYIiIiaSusst+SlsUHchyJyOYT7m+nDOgzpWwp8uY6nE0ra4nFsWPHuP3223n00Ue57LLLAPjGN77BTTfdxNe//nXq6pY+WBMIBKipUakwERHJH2XVtklekHESM5M4ffpSTGStjPd3UAYMuyrY5tJO/1zJ2r/5Bx98kNLS0vmkAuCGG27A6XTy8MMPL/vs97//fSorK9m/fz+f+tSnmJycXHLszMwM4XB4wS8REZG1VllZxaTxATCsXhYia2quzLO6budW1lYsenp6qKpa2PnQ7XZTXl5OT0/Pks+99a1vZcuWLdTV1fH000/ziU98ghMnTvDDH/5w0fFf+cpX+MIXvpDR2EVERFLlcbvocpSzhW5Ge9uoaNyd65BENo3YaBfwQtlnyY2UE4tPfvKT/Nmf/dmyY44dO7bqgN73vvfN/3zgwAFqa2t5xStewenTp9m2bdsF4z/1qU/x0Y9+dP6fw+EwjY2Nq359ERGR1Rr1VEK0m4n+c7kORWRTcc523Y4XKrHIpZQTi4997GO8613vWnZMS0sLNTU19PUtrIwRi8UYGhpK6fzElVdeCcCpU6cWTSx8Ph8+ny/p+URERLJl0lcFUYiMqPu2yFryTtnPnM4SNcfLpZQTi1AoRCgUWnHc4cOHGRkZ4fHHH+fSSy8F4K677iKRSMwnC8k4cuQIALW1as8uIiLrWzRQA+PAqJrkiaylwohNLHzqup1TWTu8vWfPHn7t136N9773vTzyyCPcf//9fOhDH+K3fuu35itCdXZ2snv3bh555BEATp8+zZe+9CUef/xxWltbufXWW3nHO97Btddey8GDB7MVqoiISGYU2y/B3JNLnyUUkQwzhtLYIACBSm2Hz6Ws1uP6/ve/z+7du3nFK17BTTfdxDXXXMPf/u3fzt+PRqOcOHFivuqT1+vljjvu4FWvehW7d+/mYx/7GL/xG7/BT37yk2yGKSIikhGusgYAAtPqvi2yZqaG8RIFoLRKiUUuZbVBXnl5+bLN8JqbmzHGzP9zY2Mjv/zlL7MZkoiISNYEKuyHmmC0P8eRiGwe0ZEuPMCQKaK6PJjrcDY1dRARERHJkGC1TSzKzDAkEjmORmRzGJ3tG9NHGWUBT46j2dyUWIiIiGRIqHYLcePAQ5zJYR3gFlkL4wO2vPOwqxKHw5HjaDY3JRYiIiIZUlTgZ5BSAAZ72lY3yXSY8W9czdh33wznbRcWkcVFhjoBmPCuXLVUskuJhYiISAYNuSoBGO9bXWLRc8c3KBp8huLWnzF+9KeZDE1kfWl/GL53M9zyNrjt43Dif1Y3z6jdCjUVUKnZXFNiISIikkFjs9+azgytoknezDiFT3z7hbl+/qdatZANK3bvn8PZe+H4f8Mj38bc8lYYS71Us2fM/n8tXtKQ6RAlRUosREREMmimoBqA+GhXys/23PXXFCdGOZcIMWW81I4/y8RzP890iCK5l0gQPfsAAN+MvY7WRDUOkyD6/C9SniowZc8zeSqaMxmhrIISCxERkQyKF9UA4BxP8fB2ZJLAY38NwC9r381tvlcDEL79y1q1kI2n/zgF8TEmjI9/L3oH/22uBmDk6RS3QyUSlEftKkdR9dZMRykpUmIhIiKSQe5gPQC+qdSa5PXe821K4sOcMyGueP3vUfSKjzJjPNSOPc3kibuyEapIzkyc/BUATya28+Pfvw6z7RUAFHX8ChLxFCbqw0OMuHFQUduchUglFUosREREMshXbvd5F0dSa5I3/eS/A3B/1VvZWVfODZdfxM+8Lweg7b5/zWyQIjkWPnEvAKcDBykr9NJ80bWMmgAF8TB0PpH0PDP9ZwHopoLGCjXHyzUlFiIiIhlUXNUEQHl8IPmHotPUTT0PwI6rfx0Al9NB4Ta7PcQ1eDKzQYrkkjEU9jwCQLT+JQBcs7OG+xIHABh/9vakpxruPgNADyFKCtwZDlRSpcRCREQkg8prmgEoZIrY5GhSzwycfBgPMfpNkD179s9fL27cB0BoujXTYYrkzkg7JdE+osZF9Z5rACgr9HI6eBiAmePJFyyY7LOJxYi3Rs3x1gElFiIiIhlUXl7OmCkAYLi3Paln+o7dB8BJ7x4CPs/89dqWiwAoMyPExwczHKlIbsycse/3Z8xWLt7+Qu8J/+5XAlA2chQmh5KaKzZk+8Woh8X6oMRCREQkg1xOBwPOCgBGk2yS5+h4FICxyksWXK+rrqTT2IZ7fWeeymCUIrkzfMyer3jOs4+GssD89UsP7OVYohEnhsSp5AoWuMO2h0Ui2Jj5QCVlSixEREQybNRtk4HJ/nMrDzaGqtGnASjY9pIFt1xOB90ee2ZjuO2ZzAYpkiOezocBmKy5fMH1ixpKech5MQDDR5MrOxuYsv1i3OVbMhihrJYSCxERkQwbL7AlZ+ODZ1YcOzPUTkVikKhx0Xzg6gvujxW3ABDtPZ7ZIEVyYWKQiilbyalk17ULbrldTqZqrwTAdDy+8lzGUBaxPSwKq1syG6esihILERGRDIuWbQPANXRqxbGdT/8SgOcdzTRWVVxwP1GxCwDfsCpDSf6L9diVt9ZENYd2XpgM1Oy5CoDyqVaYGVt+sslBfMzY8bVqjrceKLEQERHJMG/1bgCCE2dXHDt55kEAekoOLFrVJlC/F4DyqZXnElnvettOANDprGFHVdEF93dv306XKbfnLDqPLDtXZND+f6LHlFFfWZrpUGUVlFiIiIhkWGmTTQaqY52QSCw7trDPNgNL1F+26P2qloP2fxP9mJW+wRVZ56b6bDIw7q/D6bwwkd5RXcQzxq74DZ16eNm5RrrsVsNuKikv9GY4UlkNJRYiIiIZ1rB1NzPGjZ8I433LrDREp2mYsdulKne/dNEhjfUNDJgSAAZbdYBb8psZbgVgpmjxKk4el5O+YpuYT7c+uuxcE702sRj21KqHxTqhxEJERCTDgoUFdDhqAOhbJhk4vzHert37Fh3jdTvpcNvKUAOtRzMfrMga8o7b8rCULV3FKVFryy4XDjy97FxzPSwm1cNi3VBiISIikgUDfvvBabzjuSXH9D33KwBOvagx3ouNFNpDrjPdxzIYocjaK5nuBMAXWrqKU/nOKwAoi3TBxNKNIZ1hW845VtKQwQglHUosREREsmBytkxson/pak7zjfFClyw5BiBWvgMAz5AqQ0kei05TFreJQrB225LD9mxt4kzCrvjFlyk7WzBpe1i4lln9kLWlxEJERCQLHCGbDBSEl+hlYQzV4dnGeC0vWXzMrILaPQCUTqzcF0NkvTIj7QBMGB+1tfVLjttaUcgxx3YABk8+tMRkhtK5HhZVKjW7XiixEBERyYLiepsMVEy3LXp/erCN8sTQbGO8a5adq2KrrQxVHe+G2ExmAxVZI6PdpwHoMFXUlQWWHOd0OhgM2jNH0fYlViwmBgiYSQBK65Ze/ZC1pcRCREQkC6q2HgCg0gwRnxq94H7X0Rca4zVUlS87V9OWFsZMAS4SjHQ+n/lgRdbAaLetgNbvrsHjWuEjaIPdHlg8dBSMueB27NwjAJxM1NMQWv7/P7J2lFiIiIhkQV1NDf0mCEB/67MX3J84bbd49C7RGO98AZ+HPmclAIPdrZkNVGSNRAZs6eWwf+UqTlU7riBmnJTEBiHcdcH94RP3AXDUsZPKIl9mA5VVU2IhIiKSBS6ngy63rdU/1H5hYlHUP9cY7/Kk5ht1VwEw2b/41iqRdW/YvnejxYv3sDjfvi01HDe2zHLkzK8uuB9vsysWQ+WHFm20J7mhxEJERCRLwoXNAMz0nFhw3USnzmuMt/z5ijmTBdUARIc7MhegyBryT9j3rrN85SpODWUFPOK6GICxo/+z8GY8StmI7Q/jaV6+8IGsLSUWIiIiWRIts5Vt3EOnFlwfOPnIeY3x9ic1V6zQbh9xjF24LUQkH5TO2PduwTI9LOY4HA6G666149vvgUT8hZu9z+Az04yaAM27L85GqLJKSixERESyxFezC4DgROuC6y80xttLgc+d1FzOoE0sfJPdmQtQZK3MjFGcCANQWr8jqUeaDl5P2AQIxEag68n562OnHgTgSbODQ006uL2eKLEQERHJkrImuxpRHeuAmbH56y80xkv+21Zvud1vXjTTl8EIRdZGbLAVgGFTRH1NVVLPXLunjnsTtrra5LO3zV8fO3U/AG0F+wgWLN2xXtaeEgsREZEsadq2hzOmFh9ROu7+O3txZozG0ceAlRvjna+42iYWZTElFpJ/hrvsdsBOQlQX+5N6prrEz8mSwwDMHLt9/nqg1/a2iNYlV/hA1o4SCxERkSwp8nt4vPZ/AeB//NuQiNN5+59TbMY5a2rYfunLk56rrNbuSy9mksRUOCvximTLeI9tjjforkmpipNv96sAKBt5Fsb7YKyH0pluEsZBxc7DWYlVVk+JhYiISBbtu+l3GTZFVEa7Gb7/Hyg78m0AHmx6P7VlxUnPE6qoYMwUADDc25qNUEWyJjpoe1iMB+pTeu7Kg3s4mmgGIP78HUTbHgbghGnk4PaVy9bK2lJiISIikkV7m2q4p+RmAEru/DgBM8kxs4Xr3/i+lObxuJzzTfJGe9TLQvKLc6QdgFhxU0rPHWos40HnpQCYn/0Rjp98GIBnnLtoqSzMbJCSNiUWIiIiWRZ6+QeJGBcuEgAc2fH71JWl/qForknehJrkSZ4pmLSlZl0VK/ewOJ/L6WB4y6+RMA7cM8O4Z4YB6Ky6bsWO9bL2kqtxJyIiIqt21UX7+flPr+PXYnfxpNnJq17/9lXNM1lQDVGIqUme5JniiC06UBRKLbEA2HHRVdz8/Jcpd4wxbgroNWW8bc/VmQ5RMkCJhYiISJY5nQ4cr/oS37o1QOlLf5eLk6yK82KxwloIg2OsM8MRimRRdJoSM9vDoqY55cdfvb+WXzx3mMHxCOV+N3uDft56RWpbqmRtKLEQERFZAzdesZ+Ji75HYZIN8RbjCDZAN3gnezIYmUh2JcLdOIFp4yEUqk75+QKvi7/57UszH5hknM5YiIiIrJF0kgoAX7mtgqMmeZJPwn32TFAP5VSVrG61TvKDEgsREZE8UVxt96erSZ7kk7E+WxFq0FmJx6WPnhuZ/uuKiIjkibLarYCa5El+mRo8B8CYN5TjSCTblFiIiIjkiVBFBWETANQkT/JHfNQWG5j2p36+QvKLEgsREZE84XE56XdWAGqSJ/nDOdYNQLyoNseRSLYpsRAREckjapIn+cY31QuAM1if40gk25RYiIiI5JHJArudRE3yJF8UzTbH81c05DgSyTYlFiIiInkkVmi3k6hJnuSFRJyy+CAAxZWNOQ5Gsk2JhYiISB5xBO23vmqSJ3lhoh8XCeLGQVmNEouNTomFiIhIHnmhSV5vjiMRWdnEgO1h0U8pNaVFOY5Gsk2JhYiISB4pqpprktef40hEVjbaa4sM9Dkq0u48L+ufEgsREZE8Ul6nJnmSPyYHbHO8sLsyx5HIWlBiISIikkfOb5I30quSs7K+RWerl02qOd6moMRCREQkj5zfJG+kpzW3wYiswDHbHC9WWJPjSGQtKLEQERHJMyOzTfImB7RiIeubZ7Z6maOkLseRyFpQYiEiIpJnpmab5EWH1CRP1rfCadscz1OmUrObgRILERGRPBMttN/+qkmeZEV0Cp7+d5gZS28eYwjGBgAoDKnr9magxEJERCTPOIM2sUirSV5kkti/vZPEbX8IU8MZikw2hF/+GfzwvfBvbwdjVj/P9CgFTANQWt2cmdhkXVNiISIikmd85U1Aek3yBh/9d9zHfozzkb8l8peXwtH/yFR4ks8ScaYe+xf785m74dG/W/VUkRG7VW/EFFJdUZaJ6GSdU2IhIiKSZzLRJG/0yR8DMG08eGcG4T/fQ+SZWzMRnuSztvspmO4lYRwAJH72GRg4uaqpRntscYEeKigLeDIWoqxfSixERETyTNpN8qJT1A08AMAXyv+MW+NXAXDm/v/MWIySn8KPfB+Af4tfz33xfTjj0yR++D5IxFOea7y/HYARVyUOhyOjccr6pMRCREQkz6TbJG/k2Z/jZ4ZOU8GH3/lW3AffCEDh4NGMxil5JjqN7/mfAHC86tV8zf9hxo0fZ9cT0PlEytNFBu17c8yvHhabhRILERGRPLOwSd7ZlJ8ffOzHADxZcJia0gKqdx0GoDZyFiKTGYtT8ot5/nZ88Qk6TQUXX3MTf/jml/NQYg8AwyfuS33C0XMATBfWZzJMWceUWIiIiOShF5rktaf2YCJOZdddAMR2vBqAnTt20mdKcZNgtDX1b6ZlYxh9xB7a/h9zNa/cV8tLd4ToDR4EYPzMQynP550th+wIqofFZqHEQkREJA9N+Web5A2n1iRv6uxDBBMjhE2AvYdvAqC4wMtp9w4Aeo8/mNlAJT/MjFPUbhPOwZbXU+hzA2DqLweguD/1hLNophsAb2VzZmKUdU+JhYiISB6KFs02yQun1iSv+2F7QPth92XsqH2hBOho2X4A4h1asdiMYn3HcZsofaaUKw5fO389tPswceOgNNoH4a7kJ4zH5quWFddszXS4sk4psRAREclDq22S52+7G4CxLa9cUKnH2XAJAMHhZzIUoeSTgVb7372VOq7ZXjl//aKWBk4Y2zdl+mzy26HMWBdu4kSNi1DNlswGK+uWEgsREZE85K1YRZO86BRVM60ANF30sgW3qnZdCUBN9BzMjGUkRskfE10nABgqaMLjeuHjYU3Qz3H3bnvvxANJzzfea4sKdJkKGiqKMhiprGdKLERERPJQcSj1Jnnhtqdxk2DQFLNr564F93Zu20aXqcCJYejUoxmNVdY/M9sEb7r4wm1L46FD9oeOR5Keb6T7DAB9rir8Hlfa8Ul+UGIhIiKSh8pqm4HUmuT1Pm8/GJ5xtVBc4F1wL+B1c8a7E4D+EzrAvdkUjLUC4AztvOCev8WWI64cOwaxSFLzTQ/Y+cJe9bDYTJRYiIiI5KGqysqUm+RFOo4AMBzcs+j9cNkBAEznk+kHKPnDGCqmbdniorpdF9zetusihk0RXhPB9CTXRDExbOebLqzLXJyy7imxEBERyUMel5N+h22SN9rTmtQzhUPPAmBqDi5639toD3CXj+oA96YS7sLPDFHjomrLhYnF/oYgTxlbjnj4+eTOWbjDtgxyokQ9LDYTJRYiIiJ5atBbC8Bk76mVByfi1EyfBiDYcumiQ2r22C0vVbFuzPRoZoKUdW+86zgA7aaKrVWlF9z3uV10FtlyxBOnk9smVzhtS9N6K1QRajNRYiEiIpKnJgqbAYj1n1xx7FT3MfxEmDA+WnYtvmKxfUsjw8ZW8BnuOpOxOGV9G263K1ldrvr5xngvZuptMlow8PTKExpDWbQPgKLqlswEKXlBiYWIiEieipdvA8A7unIS0HPCVno65WymqiSw6Bi/x0WvswqAke7TGYpS1rvpnucBGC1cenUhtMN24C6f6YCZ8eUnnOjHR4SEcVBep+Z4m4kSCxERkTxVUGMr+AQn21ccO9luO2r3F124h/58I/Pbq5RYbBauYfvfOla69OrCzpatdJtynBhi3csf4J4esD0seimjvjKYuUBl3VNiISIikqfKmvYCUBXvhnh02bG+fnsgOxY6sOy4qcIGAOJDyVWakvxXNNEKgLvqwlKzc7aUBzhBMwBDpx9bdr65bXQ9jhAlfk9GYpT8oMRCREQkTzU0tTBpfLhJML7cAW5jqJ60212Kmi9Zds5E0FbxcY+dy1icso7FIlREewAoa9y75DCn08HA7GrXZNvy5Ygnem1iMeKpzlCQki+UWIiIiOSpkgIv5xy2T8BA63NLjosOtVFsxokaF427l08sPBXNABROdmUsTlm/EoNncJFgzBRQ39C87NhY1T4AfAPPLj9utofFVKA+IzFK/lBiISIikscG/XaFYa5k6GJ6Tsx23KaBxsqyZecrrrH77Mtnv8WWjW244xgAraaGhvLFD/XPmVvtqpw8vezWu7keFnH1sNh0lFiIiIjksaniZgASA0tvhRo7YytCdQV24XQ6lp2vot42QithHDM1kpEYZf0Kn7MrXb3eRtyu5T8WbmnZS9gU4CGK6T+x5LiC2dUud3lT5gKVvKDEQkREJI85KrcD4A+fXXKMt8dWhJqqOrTifDWhSgZNMQDD3eplsdHN9UCZLF65LOyOmhKOG1uSduTM44sPMoayaDcAgSqVmt1slFiIiIjksUCtPVBbPr1EydlEgtoJ+6108bbDK87ndTvpm+1lMdyVREdvyWvu0dnqX2UrJwF+j4suv13RCrc+sfig4bMEzBQzxk1Z/dJVpmRjUmIhIiKSxyq32Eo+lYlBzMzYBfenu49RaCaZND627b88qTnnellM9S29CiIbQ2DanqUJVDUnNX6q0h7gdvYu3sti8qzddnfMNNFUVZp2fJJflFiIiIjksYa6eoZMEQDDHRfue+969j4ATjhbqC0rSmrOafWy2BwSCcpi/QCUVCe3bcnXcAiA8rETYMwF94dOPQzAWe8uSgPezMQpeUOJhYiISB7ze1x0umxZz6H2C0vOTrfaD3p9wQM4HMsf3J4z18vCE165o7fksckBvERJGAflNVuSeqRu+yEixkVhYhxGLnx/OLpsj4vxioMZDVXygxILERGRPDfit9V3provXLEoHnjK/lCf3DYoAO9cL4sp9bLYyMb7WwHopYy6iuKkntnTUMlJY1e0Jlpf1IE7EacibJNb/5bLMhan5A8lFiIiInluJji7jWXo9MIbkQlqI7ayU2j3VUnPV6ReFpvCaLc9Q9PnqCDgdSf1TDDg4VnPAQDGn7194c2B5/GbaSaMj8adhzIZquQJJRYiIiJ5zhWylXoKx1oXXB88+QhuEvSYMnbt3J30fJUNtppPMROYqeGMxSnry+TsisWopyal53prrgOgsO0uSCTmr4dP2213z5qt7G8sz0yQkleUWIiIiOS5ogZbqadu5jScVxmq//j9AJz27qbQl9w30gA1oXIGTAkAw13qZbFRxYZth+ypgtQSi/qLbmDC+CiKDkDPU/PXR0/bDu/t/l0UpfB+k41DiYWIiEie27L7Es4mqvETYeDRH7xwo8PugQ9XXJTSfB6XellsBs6wTSxixfUpPXft3np+lbCHs8ee/un8dXfPEQCmQocyEp/kHyUWIiIiea6qpIDHyl4NwNQj/2wvJuKERm2vAX/zlSnPOeqzvSwm1ctiw/JP2jM0rtKGlJ6rLPJxKmjP7ESO/Y+9GItQOf48AIUtyRcKkI1FiYWIiMgGELzyt0kYB43hx0kMniX8wN9TkRggbApo2H91yvNNFdpvsRPD6mWxURVHbGLhDyVXavZ8/n02ka0YfQbGejG9z+IhyrApomXH/ozGKflDiYWIiMgGcO3ll/AI9gNd78//HNddXwTglqJ3sL2+KuX5zGwvC3f4XOaClPUjFqE0YQ/mB6ubU378JQf38nTCViOLHvspY0/+JwDPmBb21JVkLEzJL0osRERENgC/x0Vb0xsAqD3x/6MwMcaziS285C0fT7ox3vm85bY3RmA6gyVnJ4fgzC8X7dgsSZgcgrv+BPov7FeSqsRoJ04MM8ZDVU1qW6EA9tWV8LDbbnly3/ZRSh77BgDthQfwuV1pxyf5SYmFiIjIBrHzuv/FuPHP//Ovdn2Kg02Vq5qrcHZ7TGm0LyOx0fMMsb++Cv7pdcSf++/MzLmZJOIkfvAuuPdrRG/932lPN9rbCkC3Kae6xL/84EU4HA6mW15lf8YwRDH/b+yNPL/tXWnHJvlLiYWIiMgGcWhbHXd7bY+BHzpu4H/9+m+ueq7SWtskr8yMQnQ6vcBO3UHs716Fe7wbgI4Hbklvvs3o7j/FefaXALjOPQijHWlNF+61h/IHXCHcrtV9HNx18Uv5cOQDfCzyfg5Pf4MfBd/BW65Kvl+KbDxKLERERDYIh8OBeeWX+Kj5CIW//hcEA55Vz1VTXcOk8QEwNpDGAe7e50h8/824YxOcTthKU+Xdv4JEfPVzbjYnbodffR2AflOCE8PUkz9Y4aHlTQ+0AxD2pdbD4nzX7gwR3vHr9La8kf/vHVdx58euZ6/OV2xqSixEREQ2kNddsYu/+MLnufFg6pV+zhfweeh1VAAw3LX6krMdD/8Qp4nzcGI3X2n8FmEToDgxSqT90bTi2zTiMWI/+gAA3429ir9KvBmA6Sf+La1pEyP2UP5MoHbVc/g9Lv7x3Vfwz79zJa/cW43LmfpZHtlYlFiIiIjIoobd1QBM9LWueo6Zsw8C0F71cv72PdfxsPMQAD2P/STd8DYFM3gS9/QgE8bH/ds+wpZrfouocVEWPpbWIW7XeJedvyS15ngiy1FiISIiIoua8NvEIjK0ypKzxlA1+jQAJTuvwel0MFRnz4C4z/wiIzFudIOnnwDghGni/77lMm68fB+/nO16Pf7Yv6563sCUrfblKWtMP0iRWUosREREZFHRwjr7wyoPCsf6T1KcCDNtPGzd/xIAQhe/FoC6yRMwlsFSthtU+KxNLLoLdlAa8NJYHuBoma3GlHj6B6su3Vsa7QWgoKo5I3GKgBILERERWYKj1PY38E50rer5nmfvBeBZxza215QDcMWB3TyV2AZA/xMqO7sSZ98zAEyV752/Vn35G5gwPkqmOqD7qdQnnQ5TZCYAKK/ZmpE4RUCJhYiIiCzBV2Gb5BXN9K7q+cnTDwDQU3wQ5+zB3iKfm1OlVwEw/sxtGYhyAzOG8vBxAHyNF81fftXF23jc7AJg4OQjKU8bGbYVoUZNgOrQ6vqciCxGiYWIiIgsqmh2m0x5bHVN8or67DYe03DFguuuXTcCUDXwkLpwL2e8l5LECHHjoGb7JfOXK4t8jBTtAGC09cmUpx3ubgWgh0rKC70ZCVUElFiIiIjIEirq7DaZQqZITI6k9vD0KDWRVgCq9r50wa39lxwmbhwUmgkSY6tbDdkMxtts0nDW1LKrqXrBvWjIbo3yDBxLed6J3jMADLircThUIlYyR4mFiIiILKqqopxhUwTASE9qvSyGnn8QJ4ZWU83endsX3NtaXUEXdgvOQPtzmQl2Axo8/TgArZ4WSvwLmx0WNNjKUOUTp1Je9YkMtgIwXlCXfpAi51FiISIiIovyuJz0OUNA6onF4DF7cPu0by9FPveCey6ngx637Z8w0nE8A5FuTPEuW6p3NLj7gns12w4SM06KEmMQTu1wvWO2OV6sqCH9IEXOo8RCREREljTqqQJgaqAtpeecnbaz9kTVpYveHwvYzuCR3ufTiG5jKxq225yctQcvuLezvpLTxq44jLUfSWle30SnnbesKb0ARV5EiYWIiIgsaaqgBoBoKk3yjKF6zG5xKt72kkWHxErt+Q3ncGorIZtGZILKiP13XtZyYXJW5HNzztMMwNCZIylNHZyxKxz+KpWalcxSYiEiIiJLihfbLUvOsc7knxntosiMEzNOtu5dfMXCU22rGhVPpLYSsllEu57BiaHPlLK9pWXRMeESW3I21n00hYmnKUsMA1Bauy3tOEXOp8RCREREluScbZLnn+xO+pm+00cAaKOGplDZomOC9fbcQFW0ExKJ9ILcgPpPPQbA845m6ksLFh9UvQ+AwMiJpOeNzfawmDA+amp0eFsyS4mFiIiILMlfac9ClKTQJG+kzX6D3uNrnm+M92K1zbuIGhc+IkRHOtIPdIOZ7LAHtweLdi5ZEjbYfAiA0HQbxCJJzTvSfRqATkJUlSyRsIiskhILERERWVKwuhmA8sRA0isLiV57vmK8ZMeSY6qDRXRgD4YPtKfei2FZE4PQ/VRm51xrQ7NnTyq2LzmkuWUnYRPATZxEf3KrFmM9NrEYcNXgWiLpE1ktJRYiIiKypMraZhLGgZcYkXByqxaB0ZMAOKr2LDnG6XTQ57HnN0Y7MphYGEP0n94I374WTt2RuXkXMzEIPUchEc/41EWT9kxLoGrx8xUAzZVFPE8jAINJHuCema3uNV5Qm16AIotQYiEiIiJLqigppA97TmK468zKDxhD1XQrACVNB5YdOl5ot1lF+06lFeOCl297AE/vEQDCP/l09s5vGEPiu6+Fb12D+b/b4T9/xyYZmZBIUB7rAaC4dukVC5fTQa/f3h9rO5Lc3CP2jEVUPSwkC5RYiIiIyJKcTgc9Lvvtdrhr5e02seFzFDJJ1Lio37Z/+bFltiqRZySJhCVJA3d/c/7nktHjJJ75z4zNvcDQGZz9dsuXY2oIjv6A6R/9QUamNmPdeIkRM06q6pcvCTtVbg/BO/ufTWpu/4Q9z+Io25JekCKLUGIhIiIiyxotsNttpntWbmbXd8aebWijlvqK4LJjfbMlZ0smM1RydqyH8rbbAfhJ3PbPmLz980kfbE7F0LN3AvBYYifvivwhAO7epyAykfbco912BaebCuoripcd662zyVswfDKpuUumbXUvf6h59QGKLEGJhYiIiCwrErT7/J3Dp1ccO9pmqxktVxFqTlmj/bY9FOuBeCzNKCF8/9/hIs5jiZ08dOAL9JsgRZMdRB/7Xtpzv9j48bsAOFl4Gb/+5nfTaSpwEyfS9kjac4902cSi11mNz+1admzVtosBKIsPwOTQ8hPHZihN2DHBmqXPboislhILERERWZY7ZPfxF46vvLKQ6LUHsSeCS1eEmlO/ZQczxoOHGDODrWnFSDyK4/HvAvBg+a/zx79+Od91v9nGcu83l3lwFYyhtPdhABxbr+V1F9XxjNMeVO975p60p5/ut1vDwv6V+0xsb6qjPRGyz3Uuf8YjPtKBE8OU8VJT15h2nCIvpsRCREREllU828yucqYDjFl2bOHslhxn9dIVoeZUFPlppwaA/rbn0ooxevx2iqP99JsSdl7/NvweF9uufxsAJZOtGdmiNMf0H6ckPsS08bDlomtxOBwMV9oO46btwfTnH7IJ3HTRyh/+K4t8nHU1AzBw+ollx86thHQSorrEn16QIotQYiEiIiLLqm7eQ8I4KGKC+Hj/0gONoWrafiheqSIUgMPhYMBrqxONdSbfPXox7U/dA8CvXC/h5QfsB/LrL9lHvwnab+k7kzvcnIzBZ+z5iifMLi5usYmRf9s1AIRGn0p7W5dv/Jz9oTS5A9bDRXZ1aGaFFYuxHrsS0u+qxu3SR0DJPL2rREREZFl1lWV0UQHAwDIrC9GhNgJMETEuGlaoCDVnosh+eI71p1dy1vTaxMFdfxDP7Ifm8kIvp53NAPSt8G1+KiZP2PMV7cHL8HvsGYjt+y9n1ATwm2ni3U+nNX/JdBcA/tDyFaHmxEN2dcg3eHzZcTMDrQCM+9XDQrJDiYWIiIgsy+V00Ou2zexGzi3dzK7v9BEAWqmjrnz5akZzHKVN9jXGOtKKsWzcbsHy1x9ccH24yJ4PmT6X3of9eYkE5f2PAvZ8xZw9daUcwW4Z63/2ntXPH4/ag9hAsG7lcyoARU2HAKicOr1s3w4zYleTIuphIVmixEJERERWFJ5tZhfpW7qsabjdbsXp9W/F4Vi+ItQcT6Wdt3Cqa/XBTQ1TMfthvGr7oQW34pV7AfAOpneGY47pPUpRIsy48bPt0DXz111OB72ltkLT9On7Vz1/fPgcLhJMGw819cltharfto9p48FvpjHDrUuO843bbt6OsqZVxyeyHCUWIiIisqJYqW1m51qm5Kyz+wgAY6W7k563qMqWPa2I9q46tnCb7Z3RYSrZ3li/4F6g6SIAKidOrXjwPBn9R+02qCfYzcGm0IJ7zi2HASgffHzVrzXcZRO3TkLUBAuSemZ7TSknjf19j7YeWXJc6bRdFfJVJrfFSiRVSixERERkRZ4qu6WoeGLpkrNlo88A4G68LOl5K+rtvEVMYKaGVxXbXDWkNlczRT73gnu12y4iZpwUmzHMWPeq5j/fSKtNYgaC+/G6F36Math/NTPGQ0l8GDO4cs+PxYRnKzf1u2twrdAHZI7f46LT2zIb35OLDxrrpSwxRMI4KGxM7vyLSKqUWIiIiMiKgg32gHAo2rnoPn4zMUBVrAeA2t0vSXremqoKBo09jzHSfWZVsUW7bEIzWnLhmYSWugrOGntYeejMEh+6U+AetTH6q3decO+i5mqOGvsBf+jE6rZDzQzY+cf89SuMXGi8zK4SJXoWr3411W6Tr9Omju0NNauKTWQlSixERERkRXXNu4gaF34iRIYvPGg9cOIhAM6YWnY2J3842Od20eesAmCka3WJhX/IlqpNVO1bdP5On/2wP3w2/cSibKodgEDthdu9Crwu+gN2y9hg2zOrmt8xYuePlqTWwM5dbX/vRaOLl+0dPGkb+p1yb6eyyLeq2ERWosRCREREVlQVLKQDmwAMtF94EHpo9oNrm28XPrcrpblHvPYb9Mn+VSQWiQRV03bbUVHTwUWHjAd32aHdq/uwP286TFnCbteq2LJ4A8B4mU0sGFhd+dyCcZu0OcqaU3qutOUSACojnYs2A4x1HgEgXLp3VXGJJEOJhYiIiKzI4XDQP9vMLtxxYb8EZ7fdajNRufiH++VMBey2n/hQe8rPJobbKDBzvTMWf21Hjf02v3AkvSZ8Uz3PA9BvgjTVLd4LwlVlk5ii8dWtvgQjtjpWoLolpee2NTfTb0pwYoj1XlgSODhst0g56y9eVVwiyVBiISIiIkkZmy05G+1/UclZYwiF7QdX/5bLU543HrTbftzhcyk/2z97buI0DTRXBRcdU7bVfptfFWmHWCTl15gz0G4/sJ9z1BEs8Cw6JthoVzIqIx2QiKf2ApEJShMjAJQl2cNiTkNZAaew/30GTz268ObEAGWxPgCqdiZ/sF4kVUosREREJCmJMvstumdk4bfxiZEOShPDxIyThj1Xpjyvp9z2VQisopfFXHnVbl8LbtfiH2u2bttJ2ATwECPSt/pVi4luu1Iz7F/6/ENd006mjQcvMRJDS1fQWkxk8CwAYROgrja17tgOh4NzRQcAiJ28a8G96XOzB7cTtezZktqhcJFUKLEQERGRpHhr7P782vHnFnwb33v8AQBO0sj2+tCizy6ncLaXRVm0J/Wgeu1KyWTpriWH1AQLOOWwyUv/ycdTf405A/Ysx3TJ0n0gGiqKaMUmBYPti1doWspQh10J6qCKikJvyuGNNLwcgIqe+xaszAyefASAU64Wqkr8Kc8rkiwlFiIiIpKU6v3XMmIKCSZGmDp17/z18Gn7wbUjsGfJVYPlVNTbA89BM4aZGUvp2eJRe+7BVbt0bwaHw8FgwCYv4Y7Vd+AOjNkVBUdo+5Jj3C4nvR67ohE+l1piMdZjV4KGPDVJdy4/3+5LrqXPlOJPTGLaXih3Gz1nt4uNlF5YNUskk5RYiIiISFJ21ZVzv8d2l+598F/nr3t6jwAwHTq0qnlrqqsZNQEAxntbk38wNkNV1FZRKm+5aPmhwWb7w9DZVUQIGEPFjD0DUly3fGfx8WKbxMRS3HYVG2wFYCKQfLne8125rZJ7sYezB5+4df568dzB7bpDq5pXJFlKLERERCQpDoeDyR03A1De9jOIxyCRoHrcHmouakn94DZAwOum22FL2Q51nVxh9Atm+k7hIsG48bO1efnDzq4Ku33JP5H6AXGwDQALzQQJ46Bqy/KJhamwKxrekdQqQzlHbVWseEnTqmL0uV301V4PgPv0z8AYmByiImo7jldsX91/H5FkKbEQERGRpO29+rUMmSJKEiNMnbyHyAN/Q6GZIGwKaN6z+opD870sepNfURhos9ua2hx1hFY4O1BYYxOP8pnOVcU31mkPbndRwZbqimXHFtTaylDlU60pvUZg0q6+uCqaU45vTs2hVzNj3JROd8LA80Q6jgDQlqhiT0tqTfdEUqXEQkRERJK2t76CBzxXATB+5//FcefnAfi25x1LlntNxmSgDoBoCpWUxjvtSsmAr3HFMwmVjfZwd9CEYTqccnxD52wS0+Wqx+9ZvgFgZbM9yxBMjMDUcNKvURaxKwuFNdtSjm/OS/c182DCvv7kvX9F/LZPAHDCtZ0aHdyWLFNiISIiIklzOBxM7HwdAKH+h/CYCPfEL+Ilb/4/qzpwPCdebM8VuMIdyT8z2916qnjlZnL1NVUMmBIAxnqS3241Z6rbnpcYKVh5m1JzXTXdphyAia4Lmwku/gLDFBnbMbuibunD4SsJFfs4EbSJX+DoP1Mw8jz9Jsi91e9I67+PSDKUWIiIiEhKDlz1mvkP6cOmiMcOfYmX7qxKa05XeTMAgcnktyoVjM6eYahY+Rv+Ip+bLofdbjV8LvVeFq5hW2o2Wrp0qdk5wQIP7U7bL2KoLbnKUFN99vfSb0poWGGr1Uq8e26a//ne+AFuinyVq6++Pq05RZKhxEJERERSsqe+jJ/4XsOMcfP/BP6AD73umrTnLKyyH9hLI8n3siifttumAitUaZoz4rPbrSZ6T6cYHRSO24PV7tDO5F6rwHbBnuw+ltT4oU67itLtqKbYv3hX72RdcfFFfDTyfj4Z/R0+7v8s/+/vvIpXH0it4Z7IarhzHYCIiIjkF4fDQei1n+Xtv/otvvDGS1Y8c5CM0jq76lBmRiA6BZ6CZcebySF7XgIINS/dw+J8U8VNMAOJwdSqNZFIUBmxW7RK6pNLYiKl22ESnIOnkho/MdvDYtibfgKwt7YE32W/zUwszm2v2Uv5KprtiayGEgsRERFJ2WsP1vHag3UZm6+2ppYxU0CxY4rJvtME6pdPFsKdxwkCPaaM5trktmGZsq0wAN5w8gfEARKjHfiIEDUuarYkt2LhrtoFXVA0nlyVq/hsf42pwtX1sDifw+HgK288kPY8IqnK2laoP/mTP+Gqq64iEAhQWlqa1DPGGD772c9SW1tLQUEBN9xwAydPpn7ASkRERPJLSYGXdof9tn6wfeXtQ3NnFzqd9RR4k1sx8YdmO3xPJ39AHGC4057J6CBEQ0VxUs8Em/YCUBnphHh0xfHusO2vkQiuroeFyHqQtcQiEonwpje9id/7vd9L+pmvfe1r/NVf/RXf+ta3ePjhhyksLOTGG29keno6W2GKiIjIOjHos30WJjpXrqQ0X6UpsCXp+csabMnZing/xCJJPzfSYb/k7HPX4XEl99GpoWkH48aPhxjxJLZeFU3ZQ+ueypUPh4usV1lLLL7whS/wkY98hAMHkluKM8bwl3/5l3zmM5/h9a9/PQcPHuSf/umf6Orq4sc//nG2whQREZF1YqrYfqhODKy8W8E5ZM8uREpXLjU7p7ZhC1PGi4sEkRT6ZUT6bTzhguQbzNWXBziDrQw1ePbp5QcbQ3nUHlovSqOHhUiurZuqUGfPnqWnp4cbbrhh/lowGOTKK6/kwQcfXPK5mZkZwuHwgl8iIiKShyps/wZ/eOVzCUUTrUDyVZoAQsV+OrDnMQZTKDnrGLavFS1JfnXE5XTQ52sGIHzumWXHmrEefESIGweh+tX3sBDJtXWTWPT02Ey9urp6wfXq6ur5e4v5yle+QjAYnP/V2Kh29SIiIvkoUGe3KpVNn1t+YCJBKGK3DpU07kl6fofDwYDHriKMdSd/hjMwYeNxVya/OgIwGbSrD6Zv+a1dYz22/G03FTRUlqT0GiLrSUqJxSc/+UkcDseyv44fT7LDZIZ86lOfYnR0dP7XuXMr/GEkIiIi61LlFpsklCWGYXp0yXHxkXP4iBAxLuq27ErpNcZnqy5F+5PsZWHMfKnZorrkV0cAnFW2NG1BePmSs8OzPSx6ndUZKd0rkisplZv92Mc+xrve9a5lx7S0pJbNz6mpsd0we3t7qa19oYZzb28vhw4dWvI5n8+Hz+db1WuKiIjI+tFUW0u/CRJyjDLWeYLibVcsOm6g7RmqgXNU01yeXJWmObFgM4yCezS5MxZmYoCAmSJhHFQ1ppZYFDcegGchNN0OiTg4F08apvrt4e5RX+bK94rkQkqJRSgUIhQKZSWQrVu3UlNTw5133jmfSITDYR5++OGUKkuJiIhIfir0uTnhrCdkRhlsf27JxGL03DGqgV5PI9ucjpRew1PZAu1QOJHcDodw90nbL4MyGqrKU3qt+uZdTBsPfkeExFAbziW2UpnZg+QzRen3sBDJpaydsWhvb+fIkSO0t7cTj8c5cuQIR44cYXx8fH7M7t27+dGPfgTYfY//+3//b7785S9z6623cvToUd7xjndQV1fHG97whmyFKSIiIuvISIHt4zBXTnYxsT57b7yoOeX5i2t3AFAZ7QJjVhw/fM5u8e521qW8TWlLqJiz2FWIobalK0N5x22SY0qTPxwush5lrfP2Zz/7Wb73ve/N//PFF18MwN133831118PwIkTJxgdfWEP5cc//nEmJiZ43/vex8jICNdccw233347fr8/W2GKiIjIOjITbIFJYGjpcwmFQ88BEKncm/L8VU07iRknfscMZqwbR8ny24+mem0co/76lF/L43LS7d3Cnmgbo+1Hqbz0DRcOMobQpD3v4alO7byIyHqTtRWL7373uxhjLvg1l1SA7V1x/pkNh8PBF7/4RXp6epienuaOO+5g587U9jOKiIhI/nKFbLnVwFjr4gPiMWom7WHnwq2XpTx/Q2WQc7MlZ4dnu3cva8iWvp1JodTs+SZK7O8n3rtEcZtwJyWJUWLGSdnWi1f1GiLrxbopNysiIiJSXG8rKYVmzi26VSnaewwfM4wbP9t2HUp5fo/LSY/blqYfbl85sfCP2/MPjorVFacxIbsKUTC6eBWq0TOPA3DSNLC7MTvnWEXWihILERERWTeqt+wmbhwEmMKM915wv/fEwwAcd2ylsaJwVa8xOns2I9K7cpO8shnbLyNQvbrGdcX1+wConD67aKI0fPpRANq82ynyZW2HusiaUGIhIiIi60ZjqIwO7Df3Q+3PXXB/ovUxAPqL9uBwpFYRak683B7g9gwv31+CmTFKEyMAVDTuXtVr1bbsJWpcFJhpzOiFlahM91MAjJfvW9X8IuuJEgsRERFZNzwuJ91zW5XOXZhY+PuPAhCtObTq1/DX2O1Jwcnle1nMHdweNMU01Nas6rW2Vpdy1thnR9ueueB+6aj9PXoaDq1qfpH1RImFiIiIrCtjAXtQOtL7/MIb8RjVswe3gy2pH9yeU7FlPwCheC9EJpccN9But0p1OmoIFnhW9Vo+t4suj/39DL+45Ox4P2WxARLGQfWO1f9+RNYLJRYiIiKyrkTL7EFp7+DCxCLSeww/M4yZAlp2XbTq+Zsamxg2RQBM955cctzk7L1hX+qlZs83XGK3UbnaH1hwfaLtCQDOmhr2bEnvNUTWAyUWIiIisq4kGq4EoGnscYhMzF/vPf4QACccW2koX93BbYDyQi9tDvtBvr916cZ1iQFbyWmyKL3GdWNNLwegZvAhiE7NXx84+QgAZzzbCQZWtyIisp4osRAREZF1ZfdFL6E9EcJrIkwe+/n89cnZg9t9aRzcnjPotx2+J7qW6C8B+OdKxJavrtTsnP2XXE2nqcBrZoieunv+erzzCADh4J605hdZL5RYiIiIyLqyvbqEh31XATD46H/MX587uB2vXf02qDnTwW32h4EltkIlEtRO2a1Y7jQPVh9qLON+pz1DMfj4f81fLx6xB7dd9enNL7JeKLEQERGRdSe68yYAKrruhljEHtyeslWagi2Xpz2/K7QTgMLw2UXvJwZO4jfTTBkvW3YeSuu1nE4H4cYb7Ou13QGJBEyNEIp2AVCxI/3fj8h6oMRCRERE1p39V76SflNCIDFB5PQviRz5N/zMEDYFbNud/opFccNeAEIzbfaD/ov0z55/OM4WWqpK0n69pktvZML4KI4OYLqPMN1qz4ucS4TYvTW9Mxwi64USCxEREVl3DjSW84DLHuIeu/PPcfz0IwDc4ryZutJA2vPXNO8malz4mSEx2nnB/bGz9jxHd2AXblf6H5eu3l3P/eYgAON3fh3Xj98PwFPufYSKfWnPL7IeKLEQERGRdcfhcDDe8msAVPQ9iCcxwy/jByl99R+lfXAboCkUpJ1qAIYWacTn7rXnOWZCB9J+LYBCn5v20LUAFJ/5KZ6ZYY4kWrin+X9nZH6R9UCJhYiIiKxL26+8iTFTANgtQ3fv+wpvvmJrRub2uJx0e2yH79H2ZxfeNIbQuK0WVdh0aUZeDyB48LUkjE2KHk7s5lNFX+Yjr3tJxuYXyTUlFiIiIrIuXbatlu87b6YtUcX/LfsMn/yNwxmdf7ywGYBoz7EF181wK4Vmghnjpn73xRl7vasv2sOfxN7KP8VeyZdLv8T33v8K6ksLMja/SK65cx2AiIiIyGJcTgelr/5jPv307/CVNx7A73FldP7Jqotg9N8I9d0PxsDsFquBk48SAp43TeyqKc/Y69WVFuA4/CHuHZzke795kPJCb8bmFlkPlFiIiIjIuvVbVzTxW1c0ZWXuoj2vYub5z1IR6cT0H8dRZRvVhc88QgjoDOzkgDuzmzs+89q9GZ1PZD3RVigRERHZlK7at5WHzH4ABh//8fx1Z8/TAExV7M9FWCJ5S4mFiIiIbEpFPjetlbZSU+zYT+1FY6gYswe3/U2X5Co0kbykxEJEREQ2raKDNwNQFX4Gxnoxox2UJEaJGSf1OzNXEUpkM1BiISIiIpvW1Rcf5KlEC04M4af/i+n//gQAx80WdjaEchydSH5RYiEiIiKbVk3QzzNFVwFQcNdnKTj1U2aMm++Xvi/jVahENjolFiIiIrKpOXa/BgBPfAqAT8Q/wOte/5ZchiSSl5RYiIiIyKZ28WVXczpRC8CXor/NK970exzeVpHjqETyj/pYiIiIyKa2u7aEtxV/ATPcxite/ZvcfFFdrkMSyUtKLERERGRTczgc/Nl7bubc8CRXbavMdTgieUuJhYiIiGx6jeUBGssDuQ5DJK/pjIWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKRNiYWIiIiIiKTNnesAMs0YA0A4HM5xJCIiIiIi+W3uM/XcZ+zlbLjEYmxsDIDGxsYcRyIiIiIisjGMjY0RDAaXHeMwyaQfeSSRSNDV1UVxcTEOhyMnMYTDYRobGzl37hwlJSU5iUHWD70f5MX0npDz6f0g59P7Qc63Ht4PxhjGxsaoq6vD6Vz+FMWGW7FwOp00NDTkOgwASkpK9IeCzNP7QV5M7wk5n94Pcj69H+R8uX4/rLRSMUeHt0VEREREJG1KLEREREREJG1KLLLA5/Pxuc99Dp/Pl+tQZB3Q+0FeTO8JOZ/eD3I+vR/kfPn2fthwh7dFRERERGTtacVCRERERETSpsRCRERERETSpsRCRERERETSpsRCRERERETSpsRilb75zW/S3NyM3+/nyiuv5JFHHll2/A9+8AN2796N3+/nwIED3HbbbWsUqayFVN4P3/nOd3jpS19KWVkZZWVl3HDDDSu+fyT/pPpnxJxbbrkFh8PBG97whuwGKGsq1ffDyMgIH/zgB6mtrcXn87Fz5079vbGBpPp++Mu//Et27dpFQUEBjY2NfOQjH2F6enqNopVsuvfee7n55pupq6vD4XDw4x//eMVn7rnnHi655BJ8Ph/bt2/nu9/9btbjTJqRlN1yyy3G6/Waf/iHfzDPPvusee9732tKS0tNb2/vouPvv/9+43K5zNe+9jXz3HPPmc985jPG4/GYo0ePrnHkkg2pvh/e+ta3mm9+85vmySefNMeOHTPvete7TDAYNB0dHWscuWRLqu+JOWfPnjX19fXmpS99qXn961+/NsFK1qX6fpiZmTGXXXaZuemmm8x9991nzp49a+655x5z5MiRNY5csiHV98P3v/994/P5zPe//31z9uxZ87Of/czU1taaj3zkI2scuWTDbbfdZj796U+bH/7whwYwP/rRj5Ydf+bMGRMIBMxHP/pR89xzz5lvfOMbxuVymdtvv31tAl6BEotVuOKKK8wHP/jB+X+Ox+Omrq7OfOUrX1l0/Jvf/Gbzmte8ZsG1K6+80vzu7/5uVuOUtZHq++HFYrGYKS4uNt/73veyFaKssdW8J2KxmLnqqqvM3/3d35l3vvOdSiw2kFTfD3/zN39jWlpaTCQSWasQZQ2l+n744Ac/aF7+8pcvuPbRj37UXH311VmNU9ZeMonFxz/+cbNv374F197ylreYG2+8MYuRJU9boVIUiUR4/PHHueGGG+avOZ1ObrjhBh588MFFn3nwwQcXjAe48cYblxwv+WM174cXm5ycJBqNUl5enq0wZQ2t9j3xxS9+kaqqKt7znvesRZiyRlbzfrj11ls5fPgwH/zgB6murmb//v386Z/+KfF4fK3ClixZzfvhqquu4vHHH5/fLnXmzBluu+02brrppjWJWdaX9f6Z0p3rAPLNwMAA8Xic6urqBderq6s5fvz4os/09PQsOr6npydrccraWM374cU+8YlPUFdXd8EfFJKfVvOeuO+++/j7v/97jhw5sgYRylpazfvhzJkz3HXXXbztbW/jtttu49SpU3zgAx8gGo3yuc99bi3ClixZzfvhrW99KwMDA1xzzTUYY4jFYrz//e/nj/7oj9YiZFlnlvpMGQ6HmZqaoqCgIEeRWVqxEMmhr371q9xyyy386Ec/wu/35zocyYGxsTHe/va3853vfIfKyspchyPrQCKRoKqqir/927/l0ksv5S1veQuf/vSn+da3vpXr0CQH7rnnHv70T/+Uv/7rv+aJJ57ghz/8IT/96U/50pe+lOvQRC6gFYsUVVZW4nK56O3tXXC9t7eXmpqaRZ+pqalJabzkj9W8H+Z8/etf56tf/Sp33HEHBw8ezGaYsoZSfU+cPn2a1tZWbr755vlriUQCALfbzYkTJ9i2bVt2g5asWc2fEbW1tXg8Hlwu1/y1PXv20NPTQyQSwev1ZjVmyZ7VvB/++I//mLe//e38zu/8DgAHDhxgYmKC973vfXz605/G6dR3xJvJUp8pS0pKcr5aAVqxSJnX6+XSSy/lzjvvnL+WSCS48847OXz48KLPHD58eMF4gF/84hdLjpf8sZr3A8DXvvY1vvSlL3H77bdz2WWXrUWoskZSfU/s3r2bo0ePcuTIkflfr3vd63jZy17GkSNHaGxsXMvwJcNW82fE1VdfzalTp+YTTIDnn3+e2tpaJRV5bjXvh8nJyQuSh7mk0xiTvWBlXVr3nylzfXo8H91yyy3G5/OZ7373u+a5554z73vf+0xpaanp6ekxxhjz9re/3Xzyk5+cH3///fcbt9ttvv71r5tjx46Zz33ucyo3u4Gk+n746le/arxer/mP//gP093dPf9rbGwsV78FybBU3xMvpqpQG0uq74f29nZTXFxsPvShD5kTJ06Y//7v/zZVVVXmy1/+cq5+C5JBqb4fPve5z5ni4mLzr//6r+bMmTPm5z//udm2bZt585vfnKvfgmTQ2NiYefLJJ82TTz5pAPMXf/EX5sknnzRtbW3GGGM++clPmre//e3z4+fKzf7hH/6hOXbsmPnmN7+pcrMbwTe+8Q3T1NRkvF6vueKKK8xDDz00f++6664z73znOxeM//d//3ezc+dO4/V6zb59+8xPf/rTNY5YsimV98OWLVsMcMGvz33uc2sfuGRNqn9GnE+JxcaT6vvhgQceMFdeeaXx+XympaXF/Mmf/ImJxWJrHLVkSyrvh2g0aj7/+c+bbdu2Gb/fbxobG80HPvABMzw8vPaBS8bdfffdi34mmHsPvPOd7zTXXXfdBc8cOnTIeL1e09LSYv7xH/9xzeNeisMYraOJiIiIiEh6dMZCRERERETSpsRCRERERETSpsRCRERERETSpsRCRERERETSpsRCRERERETSpsRCRERERETSpsRCRERERETSpsRCRERERETSpsRCRERERETSpsRCRERERETSpsRCRERERETSpsRCRERERETS9v8HfCGH4BCCrR8AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Relative l2 error PINN with MultiscaleFourierNet 2.72%\n" + ] + } + ], + "source": [ + "# plot the solution\n", + "pl.plot(multiscale_pinn, title='Solution PINN with MultiscaleFourierNet')\n", + "\n", + "# sample new test points\n", + "pts = pts = problem.spatial_domain.sample(100, 'grid')\n", + "print(f'Relative l2 error PINN with MultiscaleFourierNet {l2_loss(multiscale_pinn(pts), problem.truth_solution(pts)).item():.2%}')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It is pretty clear that the network has learned the correct solution, with also a very law error. Obviously a longer training and a more expressive neural network could improve the results!\n", + "\n", + "## What's next?\n", + "\n", + "Congratulations on completing the one dimensional Poisson tutorial of **PINA** using `FourierFeatureEmbedding`! There are multiple directions you can go now:\n", + "\n", + "1. Train the network for longer or with different layer sizes and assert the finaly accuracy\n", + "\n", + "2. Understand the role of `sigma` in `FourierFeatureEmbedding` (see original paper for a nice reference)\n", + "\n", + "3. Code the *Spatio-temporal multi-scale Fourier feature architecture* for a more complex time dependent PDE (section 3 of the original reference)\n", + "\n", + "4. Many more..." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "pina", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.16" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/tutorials/tutorial13/tutorial.py b/tutorials/tutorial13/tutorial.py new file mode 100644 index 0000000..46abf21 --- /dev/null +++ b/tutorials/tutorial13/tutorial.py @@ -0,0 +1,205 @@ +#!/usr/bin/env python +# coding: utf-8 + +# # Tutorial: Multiscale PDE learning with Fourier Feature Network +# This tutorial presents how to solve with Physics-Informed Neural Networks (PINNs) +# a PDE characterized by multiscale behaviour, as +# presented in [*On the eigenvector bias of Fourier feature networks: From regression to solving +# multi-scale PDEs with physics-informed neural networks*]( +# https://doi.org/10.1016/j.cma.2021.113938). +# +# First of all, some useful imports. + +# In[1]: + + +import torch + +from pina import Condition, Plotter, Trainer, Plotter +from pina.problem import SpatialProblem +from pina.operators import laplacian +from pina.solvers import PINN, SAPINN +from pina.model.layers import FourierFeatureEmbedding +from pina.loss import LpLoss +from pina.geometry import CartesianDomain +from pina.equation import Equation, FixedValue +from pina.model import FeedForward + + +# ## Multiscale Problem +# +# We begin by presenting the problem which also can be found in Section 2 of [*On the eigenvector bias of Fourier feature networks: From regression to solving +# multi-scale PDEs with physics-informed neural networks*]( +# https://doi.org/10.1016/j.cma.2021.113938). The one-dimensional Poisson problem we aim to solve is mathematically written as: +# +# \begin{equation} +# \begin{cases} +# \Delta u (x) + f(x) = 0 \quad x \in [0,1], \\ +# u(x) = 0 \quad x \in \partial[0,1], \\ +# \end{cases} +# \end{equation} +# +# We impose the solution as $u(x) = \sin(2\pi x) + 0.1 \sin(50\pi x)$ and obtain the force term $f(x) = (2\pi)^2 \sin(2\pi x) + 0.1 (50 \pi)^2 \sin(50\pi x)$. +# Though this example is simple and pedagogical, it is worth noting that +# the solution exhibits low frequency in the macro-scale and high frequency in the micro-scale, which resembles many +# practical scenarios. +# +# +# In **PINA** this problem is written, as always, as a class [see here for a tutorial on the Problem class](https://mathlab.github.io/PINA/_rst/tutorials/tutorial1/tutorial.html). Below you can find the `Poisson` problem which is mathmatically described above. + +# In[2]: + + +class Poisson(SpatialProblem): + output_variables = ['u'] + spatial_domain = CartesianDomain({'x': [0, 1]}) + + def poisson_equation(input_, output_): + x = input_.extract('x') + u_xx = laplacian(output_, input_, components=['u'], d=['x']) + f = ((2*torch.pi)**2)*torch.sin(2*torch.pi*x) + 0.1*((50*torch.pi)**2)*torch.sin(50*torch.pi*x) + return u_xx + f + + # here we write the problem conditions + conditions = { + 'gamma0' : Condition(location=CartesianDomain({'x': 0}), + equation=FixedValue(0)), + 'gamma1' : Condition(location=CartesianDomain({'x': 1}), + equation=FixedValue(0)), + 'D': Condition(location=spatial_domain, + equation=Equation(poisson_equation)), + } + + def truth_solution(self, x): + return torch.sin(2*torch.pi*x) + 0.1*torch.sin(50*torch.pi*x) + +problem = Poisson() + +# let's discretise the domain +problem.discretise_domain(128, 'grid') + + +# A standard PINN approach would be to fit this model using a Feed Forward (fully connected) Neural Network. For a conventional fully-connected neural network is easy to +# approximate a function $u$, given sufficient data inside the computational domain. However solving high-frequency or multi-scale problems presents great challenges to PINNs especially when the number of data cannot capture the different scales. +# +# Below we run a simulation using the `PINN` solver and the self adaptive `SAPINN` solver, using a [`FeedForward`](https://mathlab.github.io/PINA/_modules/pina/model/feed_forward.html#FeedForward) model. We used a `MultiStepLR` scheduler to decrease the learning rate slowly during training (it takes around 2 minutes to run on CPU). + +# In[19]: + + +# training with PINN and visualize results +pinn = PINN(problem=problem, + model=FeedForward(input_dimensions=1, output_dimensions=1, layers=[100, 100, 100]), + scheduler=torch.optim.lr_scheduler.MultiStepLR, + scheduler_kwargs={'milestones' : [1000, 2000, 3000, 4000], 'gamma':0.9}) +trainer = Trainer(pinn, max_epochs=5000, accelerator='cpu', enable_model_summary=False) +trainer.train() + +# training with PINN and visualize results +sapinn = SAPINN(problem=problem, + model=FeedForward(input_dimensions=1, output_dimensions=1, layers=[100, 100, 100]), + scheduler_model=torch.optim.lr_scheduler.MultiStepLR, + scheduler_model_kwargs={'milestones' : [1000, 2000, 3000, 4000], 'gamma':0.9}) +trainer_sapinn = Trainer(sapinn, max_epochs=5000, accelerator='cpu', enable_model_summary=False) +trainer_sapinn.train() + +# plot results +pl = Plotter() +pl.plot(pinn, title='PINN Solution') +pl.plot(sapinn, title='Self Adaptive PINN Solution') + + +# We can clearly see that the solution has not been learned by the two different solvers. Indeed the big problem is not in the optimization strategy (i.e. the solver), but in the model used to solve the problem. A simple `FeedForward` network can hardly handle multiscales if not enough collocation points are used! +# +# We can also compute the $l_2$ relative error for the `PINN` and `SAPINN` solutions: + +# In[20]: + + +# l2 loss from PINA losses +l2_loss = LpLoss(p=2, relative=True) + +# sample new test points +pts = pts = problem.spatial_domain.sample(100, 'grid') +print(f'Relative l2 error PINN {l2_loss(pinn(pts), problem.truth_solution(pts)).item():.2%}') +print(f'Relative l2 error SAPINN {l2_loss(sapinn(pts), problem.truth_solution(pts)).item():.2%}') + + +# Which is indeed very high! + +# ## Fourier Feature Embedding in PINA + +# Fourier Feature Embedding is a way to transform the input features, to help the network in learning multiscale variations in the output. It was +# first introduced in [*On the eigenvector bias of Fourier feature networks: From regression to solving +# multi-scale PDEs with physics-informed neural networks*]( +# https://doi.org/10.1016/j.cma.2021.113938) showing great results for multiscale problems. The basic idea is to map the input $\mathbf{x}$ into an embedding $\tilde{\mathbf{x}}$ where: +# +# $$ \tilde{\mathbf{x}} =\left[\cos\left( \mathbf{B} \mathbf{x} \right), \sin\left( \mathbf{B} \mathbf{x} \right)\right] $$ +# +# and $\mathbf{B}_{ij} \sim \mathcal{N}(0, \sigma^2)$. This simple operation allow the network to learn on multiple scales! +# +# In PINA we already have implemented the feature as a `layer` called [`FourierFeatureEmbedding`](https://mathlab.github.io/PINA/_rst/layers/fourier_embedding.html). Below we will build the *Multi-scale Fourier Feature Architecture*. In this architecture multiple Fourier feature embeddings (initialized with different $\sigma$) +# are applied to input coordinates and then passed through the same fully-connected neural network, before the outputs are finally concatenated with a linear layer. + +# In[21]: + + +class MultiscaleFourierNet(torch.nn.Module): + def __init__(self): + super().__init__() + self.embedding1 = FourierFeatureEmbedding(input_dimension=1, + output_dimension=100, + sigma=1) + self.embedding2 = FourierFeatureEmbedding(input_dimension=1, + output_dimension=100, + sigma=10) + self.layers = FeedForward(input_dimensions=100, output_dimensions=100, layers=[100]) + self.final_layer = torch.nn.Linear(2*100, 1) + + def forward(self, x): + e1 = self.layers(self.embedding1(x)) + e2 = self.layers(self.embedding2(x)) + return self.final_layer(torch.cat([e1, e2], dim=-1)) + +MultiscaleFourierNet() + + +# We will train the `MultiscaleFourierNet` with the `PINN` solver (and feel free to try also with our PINN variants (`SAPINN`, `GPINN`, `CompetitivePINN`, ...). + +# In[22]: + + +multiscale_pinn = PINN(problem=problem, + model=MultiscaleFourierNet(), + scheduler=torch.optim.lr_scheduler.MultiStepLR, + scheduler_kwargs={'milestones' : [1000, 2000, 3000, 4000], 'gamma':0.9}) +trainer = Trainer(multiscale_pinn, max_epochs=5000, accelerator='cpu', enable_model_summary=False) # we train on CPU and avoid model summary at beginning of training (optional) +trainer.train() + + +# Let us now plot the solution and compute the relative $l_2$ again! + +# In[24]: + + +# plot the solution +pl.plot(multiscale_pinn, title='Solution PINN with MultiscaleFourierNet') + +# sample new test points +pts = pts = problem.spatial_domain.sample(100, 'grid') +print(f'Relative l2 error PINN with MultiscaleFourierNet {l2_loss(multiscale_pinn(pts), problem.truth_solution(pts)).item():.2%}') + + +# It is pretty clear that the network has learned the correct solution, with also a very law error. Obviously a longer training and a more expressive neural network could improve the results! +# +# ## What's next? +# +# Congratulations on completing the one dimensional Poisson tutorial of **PINA** using `FourierFeatureEmbedding`! There are multiple directions you can go now: +# +# 1. Train the network for longer or with different layer sizes and assert the finaly accuracy +# +# 2. Understand the role of `sigma` in `FourierFeatureEmbedding` (see original paper for a nice reference) +# +# 3. Code the *Spatio-temporal multi-scale Fourier feature architecture* for a more complex time dependent PDE (section 3 of the original reference) +# +# 4. Many more...