{ "cells": [ { "attachments": {}, "cell_type": "markdown", "id": "262a5ec8-2553-4237-ab62-319b6ca22089", "metadata": {}, "source": [ "# Example-36: Orbit (ORM optics correction)" ] }, { "cell_type": "code", "execution_count": 1, "id": "0b99cc66-1890-496a-aff9-d3f4ab45e4a6", "metadata": {}, "outputs": [], "source": [ "# In this example ORM base optics correction is explored\n", "# Note, effects due to dispersion are not included\n", "\n", "# Focusing error are added to quadrupoles and correcponding ORM is computed (observed ORM)\n", "# The goal is to adjust quadrupole settings in the model to match observer ORM\n", "# Once, parameters are fitted, they can be applied (possible with some weight) and ORM can be measured again\n", "\n", "# In this example the derivative of ORM is computed with respect to quadrupole strength deviations\n", "# Given a model response, procedure similar to the closed orbit correction can be performed\n", "# Specific ORM blocks can be targeted in correction, e.g. coupling correction\n", "# ML correction loop are also demonstraited including mini-batch version\n", "# Response matrix can be also used with sparse solvers" ] }, { "cell_type": "code", "execution_count": 2, "id": "efecbe8e-dcfe-4a34-89b7-40eaa7f00d0c", "metadata": {}, "outputs": [], "source": [ "# Import\n", "\n", "from pprint import pprint\n", "\n", "import torch\n", "from torch.utils.data import TensorDataset\n", "from torch.utils.data import DataLoader\n", "\n", "from sklearn.linear_model import Lasso\n", "from sklearn.linear_model import OrthogonalMatchingPursuit\n", "from sklearn.linear_model import Lars\n", "\n", "from pathlib import Path\n", "\n", "import matplotlib\n", "from matplotlib import pyplot as plt\n", "from matplotlib.patches import Rectangle\n", "matplotlib.rcParams['text.usetex'] = True\n", "\n", "from twiss import twiss\n", "from twiss import propagate\n", "from twiss import wolski_to_cs\n", "\n", "from model.library.corrector import Corrector\n", "from model.library.line import Line\n", "\n", "from model.command.util import chop\n", "from model.command.util import select\n", "\n", "from model.command.external import load_sdds\n", "from model.command.external import load_lattice\n", "\n", "from model.command.build import build\n", "\n", "from model.command.wrapper import group\n", "from model.command.wrapper import forward\n", "from model.command.wrapper import inverse\n", "from model.command.wrapper import normalize\n", "from model.command.wrapper import Wrapper\n", "\n", "from model.command.orbit import orbit\n", "from model.command.orbit import ORM\n", "from model.command.orbit import ORM_IJ\n", "\n", "from model.command.layout import Layout" ] }, { "cell_type": "code", "execution_count": 3, "id": "282bb0bf-859e-40ba-ac64-37cfa25884d2", "metadata": {}, "outputs": [], "source": [ "# Load ELEGANT twiss\n", "\n", "path = Path('ic.twiss')\n", "parameters, columns = load_sdds(path)\n", "\n", "nu_qx:float = parameters['nux'] % 1\n", "nu_qy:float = parameters['nuy'] % 1\n", "\n", "# Set twiss parameters at BPMs\n", "\n", "kinds = select(columns, 'ElementType', keep=False)\n", "\n", "a_qx = select(columns, 'alphax', keep=False)\n", "b_qx = select(columns, 'betax' , keep=False)\n", "a_qy = select(columns, 'alphay', keep=False)\n", "b_qy = select(columns, 'betay' , keep=False)\n", "\n", "a_qx = {key: value for (key, value), kind in zip(a_qx.items(), kinds.values()) if kind == 'MONI'}\n", "b_qx = {key: value for (key, value), kind in zip(b_qx.items(), kinds.values()) if kind == 'MONI'}\n", "a_qy = {key: value for (key, value), kind in zip(a_qy.items(), kinds.values()) if kind == 'MONI'}\n", "b_qy = {key: value for (key, value), kind in zip(b_qy.items(), kinds.values()) if kind == 'MONI'}\n", "\n", "positions = select(columns, 's', keep=False).items()\n", "positions = [value for (key, value), kind in zip(positions, kinds.values()) if kind == 'MONI']" ] }, { "cell_type": "code", "execution_count": 4, "id": "0f10b648-5d4f-4fb4-9b88-8d665c27438a", "metadata": {}, "outputs": [], "source": [ "# Build and setup lattice\n", "\n", "# Quadrupoles are splitted into 2**2 parts, Dipoles -- 2**4 part\n", "# Correctors are inserted between parts\n", "\n", "path = Path('ic.lte')\n", "data = load_lattice(path)\n", "\n", "ring:Line = build('RING', 'ELEGANT', data)\n", "ring.flatten()\n", "ring.merge()\n", "ring.split((None, ['BPM'], None, None))\n", "ring.roll(1)\n", "\n", "n_q = 2**2\n", "n_d = 2**4\n", "\n", "for name in [name for name, kind, *_ in ring.layout() if kind == 'Quadrupole']:\n", " corrector = Corrector(f'{name}_CXY', factor=1/(n_q - 1))\n", " ring.split((n_q, None, [name], None), paste=[corrector]) \n", " \n", "for name in [name for name, kind, *_ in ring.layout() if kind == 'Dipole']:\n", " corrector = Corrector(f'{name}_CXY', factor=1/(n_d - 1))\n", " ring.split((n_d, None, [name], None), paste=[corrector])\n", "\n", "for element in ring:\n", " if element.__class__.__name__ == 'Dipole':\n", " element.linear = True\n", " \n", "ring.splice()" ] }, { "cell_type": "code", "execution_count": 5, "id": "3b7b4ee8-25b3-4160-bb1e-2e3446607168", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor(1.4433e-15, dtype=torch.float64)\n", "tensor(-9.9920e-16, dtype=torch.float64)\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Compare linear tunes\n", "\n", "state = torch.tensor(4*[0.0], dtype=torch.float64)\n", "matrix = torch.func.jacrev(ring)(state)\n", "(nuqx, nuqy), _, w = twiss(matrix)\n", "\n", "print(nu_qx - nuqx)\n", "print(nu_qy - nuqy)\n", "\n", "# Compute twiss parameters at bpms\n", "\n", "ring.propagate = False\n", "ring.matrix = True\n", "\n", "state = torch.tensor(4*[0.0], dtype=torch.float64)\n", "ring(state)\n", "\n", "# Propagate twiss parametes\n", "\n", "ws = [w]\n", "*ms, _ = ring.container_matrix\n", "for m in ms:\n", " w = propagate(w, m)\n", " ws.append(w)\n", "ws = torch.stack(ws)\n", "\n", "# Remove matrix flag\n", "\n", "ring.matrix = False\n", "\n", "# Convert to CS and plot beta functions\n", "\n", "ax, bx, ay, by = torch.vmap(wolski_to_cs)(ws).T\n", "\n", "layout = Layout(ring)\n", "_, _, lengths, *_ = layout.slicing_table()\n", "rectangles = layout.profile_1d(scale=0.75, shift=0.0, text=False, exclude=['BPM', 'Corrector'])\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.plot(positions, b_qx.values(), color='red', alpha=0.75, marker='o', label=r'$\\beta_x$')\n", "plt.errorbar(ring.locations().cpu().numpy(), bx.cpu().numpy(), fmt=' ', ms=8, color='black', alpha=0.75, marker='x')\n", "plt.plot(positions, b_qy.values(), color='blue', alpha=0.75, marker='o', label=r'$\\beta_y$')\n", "plt.errorbar(ring.locations().cpu().numpy(), by.cpu().numpy(), fmt=' ', ms=8, color='black', alpha=0.75, marker='x')\n", "plt.xticks(ticks=positions, labels=b_qx.keys())\n", "plt.legend()\n", "for rectangle in rectangles:\n", " plt.gca().add_patch(Rectangle(**rectangle))\n", "plt.ylim(-1.0, 5.0)\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 6, "id": "adcbd592-0e93-4521-ba8f-2632337f900a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor([0., 0., 0., 0.], dtype=torch.float64)\n" ] } ], "source": [ "# Compute closed orbit\n", "\n", "fp = 1.0E-3*torch.randn(4, dtype=torch.float64)\n", "fp, *_ = orbit(ring, fp, [], alignment=False, limit=8, epsilon=1.0E-12)\n", "\n", "# Chop small values\n", "\n", "fp = [fp]\n", "chop(fp)\n", "fp, *_ = fp\n", "\n", "print(fp)" ] }, { "cell_type": "code", "execution_count": 7, "id": "d3bf1899-b910-459f-84e5-828e1abe6545", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "torch.Size([32, 72])\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Compute ORM (without errors)\n", "\n", "orm = ORM(ring, fp, [], limit=1, start=0, epsilon=None)\n", "print(orm.shape)\n", "\n", "data = orm.clone()\n", "data[data==0.0] = torch.nan\n", "\n", "plt.figure(figsize=(34/4, 72/4))\n", "img = plt.imshow(data.cpu().numpy(), cmap='magma', interpolation='nearest')\n", "cax = plt.gcf().add_axes([plt.gca().get_position().x1 + 0.01, plt.gca().get_position().y0, 0.02, plt.gca().get_position().height])\n", "plt.colorbar(img, cax=cax)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 8, "id": "b6c8e264-ec67-4433-aa2d-e241a5162b23", "metadata": {}, "outputs": [], "source": [ "# Set lattice with focusing errors\n", "\n", "error:Line = ring.clone()\n", "\n", "nq = error.describe['Quadrupole']\n", "\n", "error_kn = 0.05*torch.randn(nq, dtype=torch.float64)\n", "error_ks = 0.05*torch.randn(nq, dtype=torch.float64)\n", "\n", "index = 0\n", "label = ''\n", "\n", "for line in error.sequence:\n", " for element in line:\n", " if element.__class__.__name__ == 'Quadrupole':\n", " if label != element.name:\n", " index +=1\n", " label = element.name\n", " element.kn = (element.kn + error_kn[index - 1]).item()\n", " element.ks = (element.ks + error_ks[index - 1]).item()" ] }, { "cell_type": "code", "execution_count": 9, "id": "416329ba-9e88-4b93-98c1-d2d988da55bc", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor(0.0045, dtype=torch.float64)\n", "tensor(0.0089, dtype=torch.float64)\n", "\n", "tensor(0.7893, dtype=torch.float64)\n", "tensor(0.4524, dtype=torch.float64)\n", "tensor(0.2795, dtype=torch.float64)\n", "tensor(0.1634, dtype=torch.float64)\n", "\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABjYAAAC+CAYAAACWEzYrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB3yUlEQVR4nO3deXhU5fk+8HuSkEA2EsK+k4AEZF8UlLiwqXWpVXDXWq1E22qtVqm1i/bb1h+odV8StVasa7DWihskahtcgbAoiCJBdggEspBlkpk5vz9uD2cme0KSc2bm/lzXXMnMZDlzzsxZ3ud9nsdlGIYBERERERERERERERGRIBBh9wKIiIiIiIiIiIiIiIi0lAIbIiIiIiIiIiIiIiISNBTYEBERERERERERERGRoKHAhoiIiIiIiIiIiIiIBA0FNkREREREREREREREJGgosCEiIiIiIiIiIiIiIkFDgQ0REREREREREREREQkaCmyIiIiIiIiIiIiIiEjQUGBDRERERERERERERESCxjEFNgoKCjB58uR6jxcWFmLx4sVYunQpFi9ejJKSkmP5NyIiIiIiIiIiIiIiIgAAl2EYRlt+cenSpUhNTcXkyZNR909MnjwZa9asAcAgx8KFC5GTk3PsSysiIiIiIiIiIiIiImGtzYGNo3/A5QoIbBQWFmL+/PlHAxsAkJycjMOHDx/LvxEREREREREREREREUFUe//B3Nxc9OjRI+CxHj16oKCgAJMmTWr2930+H/bs2YOEhAS4XK72XjwREREREREREREREXEYwzBQXl6O/v37IyKi6S4a7R7YaKyfxqFDhxp83O12w+12H72/e/dujB49ur0XS0REREREREREREREHG7nzp0YOHBgkz/T7oGNxjQW8Ljnnntw991313t8586dSExM7OClEhERERERERERERERu5WVlWHQoEFISEho9mfbPbCRlJRULzvj0KFDSEpKavDn77jjDtxyyy1H75sLn5iYqMCGiIiIiIgEB58P2LABKC4GUlKAceOAZtLnRURERESkvpa0qGj3wMbs2bORlZVV7/EpU6Y0+PMxMTGIiYlp78UQERERERHpHPn5wP33A5s3A243EBMDpKcDt94KZGTYvXQiIiIiIiGnXaYQ+ZeZSk1NDXiusLAQU6ZMaTRjQ0REREREJGjl5wM33gisWwckJgKDBvHr+vV8PD/f7iUUEREREQk5bc7YyM3NxYoVKwCwT8bUqVMxb948AEBOTg4WLlyIqVOnYtWqVcjJyWmfpRUREREREXEKn4+ZGiUlwNChgMvFx+LigNhYYPt24G9/A04+WWWpRERERETakcswDMPuhfBXVlaG7t27o7S0VD02RERERETEudatAy65hIEMt5v9NaqrgQEDgF69gIoKoKwMePllYMIEu5dWRERERMTRWhMbaPceGyIiIiIiIiHPMIDPPgP276//3O7d7LMRFwccPMiAh4iIiIiItBsFNkRERERERFrq8GHgvfeAt94CvvqKmRpRUUB8PJCSAlRWAocOAd99x34b0dF8XERERERE2o0CGyIiIiIiIk3x+YDVq4Fly4CPPwa8Xj7eqxeQmsoeG8OHs8eGYTDYceQI8O23wMyZwLhxti6+iIiIiEioUWBDRERERESkIQcOAO+8A7z9dmDJqVGjgHPOAU4/nQGPG29ko/BevYCuXYHevZnZ4XIB3bvzq4iIiIiItBsFNkRERERERExeL/Dpp8zO+OwzZmAALDU1dy5w9tnM0jBlZACPPALcfz+weTN7akRHA9OnA6WlwK5dwD/+AfzkJ7a8HBERERGRUKTAhoiIiIiIyN697Jvx7ruBzb7HjWN2ximnsCF4QzIygJNPBjZs4O+mpPD3cnOBe+4BlixhqaqMjM55LSIiIiIiIU6BDRERERERCU+1tcBHHzE7Y80a6/GkJOCMM5idMWhQy/5WRAQwYULgY3PnAlu2AEuXAn/9K/DYY4HZHiIiIiIi0iYKbIiIiIiISHjZsYPBjOXLWS4KYB+MyZOZnXHyyUBUO10qXX89UFgIFBQAv/sdkJUFJCS0z98WEREREQlTLsMwi8Y6Q1lZGbp3747S0lIkJibavTgiIiIiIhIK3G7gv/9lQOOLL6zHU1KAH/wAOOssoF+/jvnfZWUMcOzdy+DJokVAZGTH/C8RERERkSDVmtiAMjZERERERCR0bd3KYMaKFUBFBR9zudjc++yzgRNP7PggQ2Ii8Oc/Az/7GUteZWXxexERERERaRMFNkREREREJLRUVgLvv89m4Js3W4/37WtlZ/Ts2bnLlJoK3HEHcNddQE4Om4nPndu5yyAiIiIiEiIU2BARERERkeBnGMDXXzM7Iy8PqK7m41FRwIwZzM6YPJnZGnY59VTgiiuAf/4TuO8+YMgQYORI+5ZHRERERCRIKbAhIiIiIiLBq7ycZabeeotNuk0DB7IR+BlnAElJti1ePddcw/JYn3wC/P73LEuVnGz3UomIiIiIBBU1DxcRERERkeBiGGwAvmwZG4LX1PDx6GhmRZxzDjB2rL3ZGU2pqABuuAHYuRMYMwZ44AFmloiIiIiIhDE1DxcRERERkdBTUgK89x6zM3butB5PTWWpqTlzgIQE2xavxeLigL/8Bbj+euDLL4GHHwZuucXupRIRERERCRoKbIiIiIiIiHMZBrBmDYMZK1cCHg8f79oVmDWLAY30dOdmZzRm0CDgD39gQ/E33wRGjADOPdfupRIRERERCQoKbIiIiIiIiPMcPAi8+y7w9tvA3r3W4+npDGbMnAnExtq3fO3hxBOBa68Fnn4aeOghYOhQltASEREREZEmKbAhIiIiIiLO4PUCn33G7IxPPmG2BsDSTXPmsHdGWpq9y9jeLrsM+PZb4MMPmcGRlQX07m33UomIiIiIOJoCGyIiIiIiYq99+5iZ8c47zNQwjR3LYMappwIxMfYtX0dyuYCFC9kzZOtW4Pe/Z8+NUH29IiIiIiLtwGUY5jQoZ2hN53MREREREQlSHg/w0UfAsmXsoWFeliQmAmecwXJTQ4bYu4ydad8+IDMTKCtjdsoddwRf3xARERERkWPQmtiAMjZERERERKTz7NrFUlPvvguUlFiPT57MYMaMGUCXLrYtnm369gXuugv49a+BFSvYTHz+fLuXSkTs5PMBGzYAxcVASgowbhwQEWH3UomIiDiCAhsiIiIiItKx3G4gP5/ZGevXW4+npABnnsmARr9+9i2fU0ycCPz858AjjwBPPAEMGwZMmWL3UomIHfLzgfvvBzZv5j40JgZITwduvRXIyLB76URERGynUlQiIiIiItIxCguZnbFiBVBezsdcLuDEE9k7Y9o0IDLS3mV0GsMAFi9mRktCAvDkk0D//nYvlYh0pvx84MYbmdXWuzfQtStQXQ0cOAB0787gp4IbIiISgloTG1BgQ0RERERE2k9VFfDBB8zO+Oor6/HevZmZceaZ/F4aV1MD/PKXnKk9bBjw2GNAt252L5WIdAafD7jgAmDdOmDo0MBeO4YBbN8OTJgAvPaaylKJiEjIUY8NERERERHpPIYBfPMNgxl5eQxuAMzGOOkkZmdMmaJBuJaKjgb+/GdgwQJg2zbgnnuAu+9WM3GRcLBhA4OaZgD4wAFmvPXoASQlAb16MWi8YQMDHCIiImFKgQ0REREREWmbigogN5cBjW+/tR4fMIDBjDPOAJKT7Vu+YJaSAvzpT8DNN7MszfPPA1ddZfdSiUhHKy5mTw2vF/j6a5agAoCyMpak6t2bzxcX27ucIiIiNlNgQ0REREREWs4wgC+/ZO+MDz/kABsAdOkCnHIKAxrjxyu7oD0cfzxwyy3sufHss8Dw4cyAEZHQ5XIxQ6O4mFlvkZHM1Dh8mEGObdv4M4WFwOmnKxNORETClgIbIiIiItJyPh/LXxQXc0b5uHEaVAkXpaXA8uUMaGzfbj0+dCiDGXPmAOqR1/7OOgvYsgV4/XXgL38BHn8cGDLE7qUSkfbmdgOvvAK88ALv19YyO6N/fwY3+vcHioqAHTuA2Fj+3EcfMZPrtNN0LBYRkbCj5uEiIiIi0jL5+cD997P2t9sNxMQA6enArbcCGRl2L510BMMA1q5lqan8fMDj4eMxMcDMmWwGPnq0sjM6mscD3HYbmwkPHAg88QQQH2/3UolIezAMBigeewzYt4+PpaQAGzcyQ6NXL5agqq5mv42EBODccznJ4MgR/vyQIcCVVyqDQ0REgl5rYgMdFtgoKCgAAEyaNAmFhYUoKSnBpEmTmv09BTZERETEaZSkAA5q33gjUFLCGaT+gyzduwOPPKLgRigpLgbefZfZGXv3Wo+PGMHsjNmzOWNYOk9JCXD99cD+/cAJJ7CheNjtiERCzI4dPH6uXs37PXsCN9zAAMXKldZkgpoaIDoaGDWK5ekyMtjj6LXXgJwcK8AxeDAzOBTgEBGRIOWIwEZmZiays7MBALNnz0ZOTg6SkpKa/T0FNkRERMRJlKQARnYuuICzxYcODZydbxgsSzRhAgdYNJASvHw+YNUqZmd8/DHvAwxgzJnD7IwRI+xdxnD37bfAL37BndGllwILFti9RCLSFpWVwHPP8bjp9QJRUcDFFwOXXw5062b9XEtmVlRUAP/6FwMc5eV8bNAgBjhmztRxWUREgoojAhvZ2dm46KKLAKBFAQ2TAhsiIiLiFEpS+N66dcAll7B/gmEAu3bx8YgI1v32eFgL/Mor2dy4WzeurK5dre+7dQv83v9rlNq+2aqoiJkZ77zDN7fp+OOZnXHaadxO4gwffAD86U/8/ve/58CliAQHw2CvoqwsNgMHgOnTgZ//HBgw4Nj+dmUlAxyvvhoY4LjySu4nIiOP7e+LiIh0gtbEBjr0KrI1AQ0RERERJ/H5mKlRUhKYpBAXxwns27cDf/sbcPLJYTAZsriYM8SjotjE2OyzYDIMPv/+++zH0FpRUfWDHf7BkNYGSsznoqPDt/dDc7N8PR7gk0+YnbFqFbchwNrtZ5zB7IyhQ21ZdGnG6afzc/jSS8DixRy4VCaNiPN9/TXw8MPApk28P3AgM7BOPLF9/n5sLHDFFcywfP11NiLfuRP461+BJUsY4Jg1SwEOEREJGR2WsbF48WKkpqYCAFatWoXMzMyj9/253W643e6j98vKyjBo0CBlbIiIiIit/JMUKiuBgwdZhqp7d97cbqCsDHj5ZVZhCmnr1rFERnk5UFXF4MGAARw89/m4gioqWP+/Tx/+THV14NeGHvN6O3a5XS4rINIegRL/x5w8MNRU/bTUVGZnvPuuNVsYACZOZDAjI4MBIXE2nw/47W+Bzz5jOllWFqBJZSLOVFICPP008PbbDCJ368YyUfPmdWzGYmWlFeAwMzgGDlSAQ0REHM0RpahKSkqOZmwUFBRg/vz52Lp1a72fu+uuu3D33XfXe1yBDREREbFTXh5w9dUce6+qqv98t26c9P7wwwyAhDSfj6Uy1q/nC09Pt0oTHUuPDY8nMOjRkmBIY8/5P+43aabDmFkm7RUoMb8/1iyThuqnVVVx1q7Xy0EtcwA8ORk480wGNI61BIp0viNH2GR41y5m5Nx/v8q6iTiJ1wu88Qbw978z+A+wX1FmJjPpOktlJfDvfzPAUVbGxwYMYIBj9mwFOERExFEcEdgoKCjApEmTADDIkZycjK1bt9bL2lDGhoiIiDiNx8MKL3/5C6/3u3QB+vXj+H5pKccIvF7+3OjRwJgxwIwZvI0cGYLVjwoLgYsuYgZAXBwwZIizG44YRvsGSvyfMxtqdxSX69hKb/3xjyxTNGgQ/97hw8ChQ3yzVlez1NQ117B3xvTpGggPdtu3Az/7GXdK558P/PKXdi+RiAAsy/jII8C2bbw/fDg/n2PG2LdMlZUMtLz8shXg6N+fAY45cxTgEBERR7A9sFFQUIBZs2bh8Pfp7WZg4/Dhw8323VDz8EY0VydZRERE2sXWrcCiRcA33wBffsme2Mcfz2o+ppoa4NtvWaZq8ODAse6ePa0gx/jxITBu7HZzdun27ZztX17OAEdNDQfSR40CbrnFOUGNjmQYVoCgPQIl/s+3R5ZJeTlrt0dF1R+g6tIFiI/n+ePSpWFQPy2MfPwxcOed/P6224Af/MDe5REJZ0VFwBNPAB9+yPsJCcB11zEzzinX71VVVoCjtJSP9e/P/hxz5oTAiYuISBDQOG+jbA9slJSU4NVXX8WCBQsAAEuXLsUrr7yCnJycZn9XgY0GNFUnORwGEURERDqBxwM8/zzwwgvMxkhIAE49lY+VlgK9ejWcpDBxIsvcr1wJfPopnzfFxwPTpvFwPXUqJ9UHnQcf5ABIjx7AM88wmqOT8Pbn89UPdjQXDKkbQNmyBcjNZQNZw+DfjI/ndkpM5Bt71y7gqadYX11Cx5IlwLPPckDywQcZjRWRzlNTw0DBiy/ymt3lAs47D7j2Wp5QOFFDAY5+/awMDgU4REQ6hsZ5m2R7YANg1kZubi6SkpKwdetWLFq0qEW/p8BGHQ3VSXZq2QcREZEgtXkzS0+ZFSMyMoCbb+ZYvv95Z3NJCjU1QEEBgxwffcTDt6lLF2DKFGZynHRSkPT5/egj4He/4/f33ssXIM7l3/E+Lq7+8xUVYdTxPswYBsuQ5edzx5WVxfQxEelYhsFj5eOPA3v38rFx44CbbgLS0uxdtpaqrrYCHOaJS79+zOCYO1cBDhGR9qRx3mY5IrDRVgps+PH5gAsu4EXqgAEcLYmL4+yPY2nUKSIiIgA4QeYf/2A/TcNgsOGXv2Smhn+fjLZkCvt8rAq0ciXPX/fssZ5zuQL7cvTv3xGv7hgdPMheDOXlwMUXA9dfb/cSSXPMc8f169kHxf9NrHPH0FdVBfz854zQpqcDDz3ESKyIdIwdOzgAtXo17/fsCdxwA3D66cHZbKu6GvjPf4CXXrICHH37MsBxxhkKcIiIHCv/cd6hQ3l+XlPD4IbO1Y9SYCNU+M+6q6jgiEhkJCN43bvzTX7kiGbdiYiItMEXXzBLY9cu3p89G/jFL3iIbW+GAXz3HYMcK1eyf4e/YcM4MWfGDPYXtX08xDCYCr12LTBiBGeiakAjOJizwJqqnxbms8BC2p49DEKWlwNnngncfrsDdigiIaayEnjuOQ48eb08Pl58MXD55UFac7IOt5sBjhdfDAxwXH459ys6HxARaZt163i8iIjg+XlpqVWGClB29fcU2AgVeXnAT38KDBrEKaJFRSwAXtdvfgP87GfOrd0pIiLiIFVVwNNPA6+/zvH7lBSWlTrppM5bhqIiVq5YuZLnt/7Nx3v3tjI5xo61afzg5ZdZyiYmhv0YBg2yYSGkzVpTP03ajWN6QK5ZwybihsEg1wUX2LAQIiHIMIAVK3h8PHSIj02fzkypAQPsXbaOYAY4XnoJOHyYj/XpwwwOBThERFrO6+WEsexs4J//5Lm5OfEkOhoYOZIT2dUPD4ACG6Gjbp1kw2D0rrSUt6oqBjpGj+YMvAkTrJGQXr3sXnoRERHHKShgq4h9+3j/Bz9g1Yj4ePuWqbwc+OQTBjk+/5zjCKaEBI6ZzJjB5uNdu3bCAn39NQdpvF4Ojv7gB53wT6XdOWaUPTw4rgdkTg4zrSIigPvuAyZOtGEhRELIN98ADz8MbNzI+wMHMs3zxBPtXa7O4HYDb77JAIcZ0OndmwGOs85SgENEpCGGwWPG++8DH3zADLjyctYq7tqV5QuTk4HYWOt3lLEBQIGN0NFcneRvv+UJxYQJVrdT08iRVk2LwYOVgi4iImGtogJ48klg2TLe792bY/ZO64XtdnOy9cqVwMcfcx6DKTraaj4+fXoHNR+vqgKuuw7YvZuNRv74R51DiDTDkT0gDQO45x7OLk9M5A6wX79OXgiREFBSAjzzDPDWW/xcde0KXHUVMG8e0KWL3UvXudxunki9+GJggOPyyxngCLf1Ic6iCR3iBOZY7fvv81ZUZD2XmMgTwrfeYo1i9cNrlAIboaSldZL37GFNi/x84Msv+YEwDRzIUZCMDJYh0ACFiIiEkU8/5Uzqgwd5//zzOXbvPznGiXw+HtLNvhx791rPuVwsU5WRAZx8cjuOVy5eDLzzDgcqnn5aZS5FmlG3ByTA8vtRURzj27HDxutTtxv45S+ZhZWaCjz2WCelfYmEAK8XeOMN4O9/5+wIgM24rr+eg6bhzO3mwNyLL3IQGeBYxeWXM8tTAQ7pbI5Lm5Sws3Mn2wm8/z6/N8XGcjx25kxg8mSeIKofXrMU2Ag1ra2TfPgwp3nm53Pap39fjpQUjoBkZPAqS2mjIiISosrLgUcfBZYv5/0BA9hHd9w4e5erLQyDyZlmkGPLlsDn09KsapRpaW2cw/DBB8Cf/sRffvDB4FxRIp3Mv3JsTQ0DkDU11vMuFz+/V1zB69l+/axbz56dMN+oqAjIzOSs89NOA/7wB01yEmnO2rUcWDKrIgwfDtx0E2cUiEUBDnECR6ZNSlgoKrIyM/wvzqKjmV4/cybLFcbE1P9d9cNrkgIboaitaXWVlSzYnZ/PKauVldZzcXHAtGn80JxwAtCtW8ctv4iISCfKzwceeICxfpcLmD8fuOaahs8rg9H+/VaQY/36wETNPn2sRM0xY9iHrkV/8NprOSv1yiu5skSkWXl5rErj83EcBeBnzjD4mGFw7G/kSJZR9hcVBfTtGxjs8L+1W8LUF1/wQtnjAX76Uw46ikh9RUXAE08AH37I+wkJTPE8++ywLgnSrJoaBjheeMEKcPTsaQU4oqPtXT4JXXXTJr1ePhYdrbI+0jEOH+YxIi/P6rkE8ORvyhQ2/D755JaVBlD5tEYpsCENq63l7JP8fJatOnzYeq5LF34IMzI6sHC3iIhIxyopAR56yBqTGDKEWRqjR9u5VB2rtJRzF1auBFatCmw+npgInHQSAx1TpjQS2PF6gZtvZt2r0aO5ApXRKdKs775jktPLL1ulp/r04YTliAjGEUpKeLvhBn7+9uxhVkdRET96TYmLazzo0bdvK8cK33wT+NvfGOn96185uUlEqKYGeOUVDsy73fycnHceA/4qydhyNTXA229zPZr1P1NSGOA4+2wFOKT9ffQRcOml/MzW1FgzDOLieDCOimIKd5g3YpZjdOQIx1Hz8oCCAmtGmcsFjB/PYEZGBjOEpF0osCHNMwxg0yaOguTns0moySzcbU737NvXvuUUERFpAcNgFvDDDwNlZRxUvOwyzqQOp0oIbjewejUP7x99xGs5U0wMMHWq1Xz86GnWkiXAs89yZtHTT6vBsEgziov5kXn7bU6227iRQYrRowP3N01NFvV6WSVj715g3z4r4GF+7z//qDEpKY0HPnr2bGDS39/+xgBHbCybiQ8a1B6rQyR4GQZLOD/2mNXIatw4lp1KS7N32YJZba0V4DhwgI+lpPDE7JxzFOCQtqus5Az3ggJO2l21in2kYmIaLrPYpQsff+YZvvfCiJIBjlF1NY8PeXmsguNf4j89ncGM007jCZe0OwU2pHUMg1POzCBH3cLdw4dbQY5hw1SXV0REHOXgQZad+vhj3k9LAxYuBEaMsHe57Ob1sgKNWbJq/37ruYgITjCaMXgHTl76K/Tpcgj47W+BOXPsW2ARh6uq4qTPV16xMqMyMjhY8Oc/t28PSLe74YCH+b1/ddmGREUxeyQg4NHbi37/uAf9vvsECUNT4HryCc5qFQlHO3awEdeqVbzfsycbg8+cqevd9mIGOF58kWlqgBXgOPvs0KkPKh2nupoZxWvXMpjxzTccsTeVl3P8KikJ6NEDiI/n+NbBg7zV1HBAetIk4OKLWbZqwADbXk5nUS/1Nqqt5TEhL48zxPzT4IcNYzDj9NOB/v3tW8YwocCGHJuiIivIUbdwd79+VpDj+OMV8hUJYprFIcHOMIB33+VEy4oKDuRddRUz0lVJKZBhAFu3Wof3wkIw8vE1G9aNGA7MuHEiZsxofg6D9h0Sbrxejs09+6yVSTF6NMdAzV7CndkD0jCYmdZYtsf+/U2UufLUAl9/jVjvEfQbFIl+50xBv/6uemWuNN4oIauykpmKS5fygxIVxQHPyy9Xz8mOUlsLvPMOMzjMAEePHlYGh3Y4YqqtZWURMyPjq68CZ8oDHFSeNInpkOPGsQ/O+vWsP+t/Auv1Wtkcqal8zuVi2vL8+ZzhE4JBTPVSbyWvlz1a8vK48o4csZ7r14/BjJkzeYEknUaBDWk/paXAJ59YhbtraqznkpLYFCcjA5g4USmlIkFEszgk2O3fD9x3H8suAXz/LlzIvoHSvL17DKy85V9YuRL4ojYdxsj0o13GzTkMM2aw+bh/0EL7DgknhsHT4KwsTu4GOJ6yYAFwyin1x0OcEvTz+ThRtbFsj+KdlZzhavi+T+uoP/OwR4/Gy1yZPUREgophACtW8AN96BAfmz4d+PnPw2IGtyPU1nJGyj//GRjguPRS4NxzFeAIRx4Pgw9r1/L25ZeBY04AR+cnTGAwY+JE3vdnjuQ3ljb58MMswbh0KfDZZ9bvpaUB8+Zx4DpE6tbW7aXuf56iXup+zNL8eXnABx8wCmRKSWEgY+ZMYOTIkAx+BQMFNqRjVFczuLFyJet9+Ecyu3UDTjyRoyDTpimtXcTBNItDgplhAP/5D8clqqoYU7/mGl6XfD8uLy2xfDlwzz1ARARK/vwoPikZhZUrGSjyv57s3t1qPl5VxQCG9h0SDjZvBp54goEKgD1pfvxj9hMO9owwtxvYl5OPfQ+8hL3uHtgz58fYlzACe/cyANJcmavIyAbKXPndEhM1DiAO8803HNzcuJH3Bw4EfvELXr9K5/N4rACHWSczOZkBjvPOU4AjlPl8wLffMiNj3ToeZKuqAn8mOZkBDPPWv3/zB5WWpk3u2AH86198/5llhpKSgPPP53svObkdX2znW7cOuOQSxnF8Ph7PIyO5Orp04UevqoolNcOul7ph8L33/vu8mcFVgCcup57KINfYsWEe9XEGBTak43k8TPczC3cfPGg9FxXFaPqMGczo6NHDvuUUkQD+szj69+eJTbduvH7QLA5xut27gcWLrYHGsWOB22/n+IS0wp49wE9/yh3ANdcAV1559Cn/OQyffGI1HzcMVgNwu5np3727FUjSvkNCyd69wFNPcQIfwIGAefNYMSU+3t5la3ePPw7k5PAk4PHHgdRUGAbnLplBjn37Ar/ft69+VZC6unVrPOjRty+DoiKdoqSETYPfeosHq65dWbNy3ryQmaEd1BTgCH2GAWzbZmVkrF8fOEEWABISAjMyBg9uW3S8NWmT5eXAsmUMcphjWVFR7DV34YXM5ggipaW8vn/lFeD553mO3tAqNAyey59wAitx9e3LiQp9+1q33r1DbPe4cycDGXl5/N7UrRuDXjNnApMnB/+slRCjwIZ0LsNg+qBZuNvM1Qe4Nx092urLoTRfEVsYBgeF//Uv4P/+j6Uk/ff+yck8qfF6Wbf75ZfDcBaHOJbPx+zxv/+dJ+Ndu7IUzPnna1Zwq3k8TNnavJkXfA880OhFn8djNR9/801+jYqyAhrdu/O6MTGRPU6075BgVl7OwYDXX+d73+Xi+Ma119avehEyvF7gN79hqla/fsCTT/ID3QSzzFXdgIf5fXFx8/82KYmTK8xAh//3vXsr+07agdcLvPEGG+OYg6izZ7MxTkqKvcsm9Xk8wHvvMcCxbx8fS0qyAhyKhgYPwwB27bIyMtau5ai7v9hYjqqbGRlpafad0Hs8wP/+xyD/5s3W4xMnMgA6fbojLzaOHGEMx2xFUljIx8vLWWEpKoqTMeLjedyuqWEluMpKfh09mvGkhrhc3E02FPQwH3N84KOoyMrM2LLFerxLF27TWbOYsafgqWMpsCH22rHDyuT46qvA54YOZYBjxgxgxAhHHiREQoFh8KO4bh0nxpiTVw4ftnqoRUTwa3W19XuJiTz5+cc/eLwXsdv27cCiRdbhZPJk4Ne/5om1tMHTT7N5Z3w8Z7G2cMQ2Nxe4+mpei5aXB+43oqMZHK2qYvBJ+w4JJjU1DPq/8II1/jl5MpCZyVPVkFdezhe7dy8Hcu6995giCzU1nHjdULbHnj0MgjYlIsIaSGko+NG9+7FfPjilF4p0kHXrWHZq2zbeHz4cuOkmpnmKs3k8LJX5z39y5wEwwHHJJcAPf6gAh1Pt3WtlZKxdWz/CHRPDz5+ZkTFihDMj2Bs3cibV//7HAwXAibkXXgiceSZn+NukqoqTjcxV/M03gZMUAfa2Hj+eL2HHDt5vqMfG8cczA76oyMrE9L+ZFbqaYgY+Ggp69OljU/vdw4eB//6XmRlffmk9HhkJTJnCzIwZM3gxI46nwIY4x8GDwEcfMcixdi1nz5h697a6k44b58yDm0iQMLN8/QMZ/j2wAM7c6NWL5TV69AB69uSFfGUlByFKS/kR9XhYcuO229gvS8QOHg9n/z/3HL+PjWV/z7POUky8zdatY61hwwDuuou1ZFvxq5dcwuBnXBwDG8XF7L/q9Vq3Sy8FrrsOmDpVA4XibIbBa9+nn7YqoKSmckL3lClhtp/Ztg342c/4wZ43jzvbDlJe3ni2R0vKXHXtGljWyj/40a9f8+NO/mXY3W6Ot6Wns3+QegQFuaIiNsb58EPeT0hg2cVzztEBKdh4PGz0/vzzgQGOiy9muq4CHPY6cIBjO+vWMWXAPIiaunTh6LmZkTFqVHCV+SkqYvrmm29a0fi4OO5LfvQjjtx3MLebmRdmRsbmzYFDaQBL8ZqxogkT+BEBmu+l3lRPPMPg7/kHOvbvD7zvP7mpMT16NBz0ML+2W6LEkSN8we+/D6xZY0V7XC6OMc6aBZxyCl+4BBUFNsSZysuBTz9lkOOzzwJDwQkJ7E6akcGrSaWEiTTJ5wO2bmUQw+y7ZtbCN0VH85xy/HjeRo3ieeYFF/D3hgwJHLiprOTsj6go/p7LxfqbV13F+yKd5dtvmaXx7be8P20ax+N79bJ3uYJaeTn7aRw8CPzgB4xctoLZn6fuvsPnYxB12zbuc8aM4XO9ewNnn81AlLabOM3atRz/NKsTpKSw5NQZZ4Tx+Gd+PvCHP/D7O+4A5s7t9EUwDAZMGwp47N3L3VdzV65JSY1ne3z9NXDzzdxn9e7dusEecbCaGhaWf+EFXl+6XCxfdM01zZZWE4drKMDRvbuVwWHjDPqwUlISmJGxa1fg85GRjBCbo+yjR4fGeE5VFUukvfaa9ZpdLg6Uz5/P19lOsyA8HgYyzFjRxo31A/19+wb2VO/Zs/G/19Je6q1lGCw921DAw7zV7QXfkOTk+gEP/1uTb5/qauDjjxnM+OyzwBWVns7MjNNPb3oFieMpsCHO53YzorpyJTM6ysqs52JiOJo6Ywbr3zVW/E8kjHi9HIBZv97KyKhbzsHM8jUDGenpDde/bG4Wx+9+x/+Vm2tl4U6cyP7CEyaE2SxW6VS1taw+8MILfM8nJLB6xKxZet8dE8MA/vhHfvgHDgSys9s0GNDcvuPOO/n9u+9agVaXi4fyc85hKduwHTQWR/juO7aR+Owz3o+NZYbivHmhMQZzzJ59FliyhCcPDz/MEwkHqa3lQMrevQ3f6k7w8GcYHCiqrOSASkwM92Hx8fy6YwfPcV57TfupoGEYHNx67DFr0HvcOB6ohg+3d9mkfXk8vDB5/nlGOwGeeJgZHApwtK/yco6wm6Ps330X+LzLBRx3nDXCPnZsaG8Dw+AE3aVLuT5M6ek8gTj11FZnpHi9nFBoxoq++KJ+CaiUlMCMjH79WrfYdpRdNAwmUTQU8DBvlZXN/x1zksLRW08P+h7ahL5f/xd91i9HV49fA/qhQ3mxOHMmZzJISFBgQ4KL18saePn5vBUVWc9FRHAvbpas0rRPCRMeD2cWmoGML7+sfxIQGxsYyDjuuJafU7VkFseePcCLL3KiijkRYswYBjimTtVAs7Svr75ilsb27bx/6qnAL3/JASg5RsuW8QMfFcUBoOOOa/Ofasm+o6aGP/ef//CCytSrF5NFfvCDEG7GLI5UXMwx+7ff5kV3ZCRw7rnAj39slW4QcOX87nccLO7ZE8jKYj2JIFFR0XjQ45tveD4VFVW/+m1EhFUP/MEHOU6qQJfD7dgBPPoosGoV7/fsyTpyM2fqBDWUeb1WgGP3bj6WmGgFOFQ7v20qKzmybtY9+vbb+ulxqanWKPu4cYwKh6PCQgY4cnMZbQcYNfjRj3hi0cgYpmFwtZqxog0b6l/bJyVx6GviRK7qAQNCb3fWWODDzP7Yu9d/vRhA+RH2zigtCajF1T3Oi75pceg7oS/6jkqul/0RynG2cKHAhgQvc49vNh8vLAx8Pj3dCnIMGWLPMop0gNpaDuz6BzLqztqIj+d5pBnIGD782FrT+Dw+bHhtC4p3VCBlcBzGXTgCEVH1p3EUFTHA8fbb1vlbejoDHNOnh94Jl3Qut5sDjq++ykNAUhJLhbSi/YM0ZccOYMECrujrr+fF/zFqzQywHTsYV3nvPSs50+Vi9sa55/KrWmxJR6msZIWaV16xjqkZGfxIDBxo77I5VmUl+22YHUYfeKDh9M8gk5vLcmO9enGyhtvNl1pRwbESw+BjI0fyZ0aO5LnWuHGc1BEXZ/crEADcaEuWcGDR62Wk6uKLgcsv10hWOPF62STp+eetEkEJCXwv/OhHCnA0x+1mIGPdOquBg5mmbxo82MrIGD9eswDqKinhDJ5//5sD7wAj4nPnAhdeCGPwEGzfbmVkrFtXP6swPt4KZEycyMSDsL+uNgwcWb0Z+95chX0fbsa+4i7YX9sD+2qSsc/VH/vi03Aktvf3n/HGV1ZiYsP9PcybdhHOp8CGhI7du60gx8aNgTMHBg1igCMjg6OsYX8UkGBiNgQzAxmbNnGWs7/ERCuIMX48J8q0W/poG7pnFhdzcOg//7EGiNLSgCuu4CC0PoLSWhs2APfea12TzpkD/OIXKondbmprOUD57bfA5Mlc2TZ9UM0sjmXLeHFn6tmTGRxnn60sDmk/Xi/w1lsMmpaU8LHjj2dsb8wYWxctOOzaBdxwA6dVnn02zw2C/CC/bh3L8icm1g9SVFXxHOfwYQ4y1W3Q6nLxfGfcOOumbMJOZhjstZCVBRw6xMemT2ej+wED7F02sY8CHC1jzqAzMzI2barfwKFfPytVYMIEzlyR5tXWAh98AOPVHOzeWIK1R0bw1mUqShIHf19WncfPbt14/DATX9LSVPoQAPfvW7fys/zBB4HN6BMSONAwa9bRmVRHjvBHGuvx0VRZSv8/W7evhwIfzqLAhoSmQ4eYGr9yJftz+B+MU1KsTI4JE1pd41Cko1VXMwvDDGR89VX980kz/dQMZHTYrA2zUH4bu2eWlAA5OcDrr1vNwYYMYYDj9NM1+1qaV1UFPPUU30MAd+G33soxCmlHjz/OD2v37sAzzzjmInXXLgY43n2X/ToA7utOOIFZHNOmaT8ibWOW3M/KAnbu5GMDBjBDIyMj6MfmO9fnnwO/+Q1X6s03s1FvEPP5gAsu4DnYkCGB7wXDYILKhAlMBNi/n4F382ZWvPE3cKCVRTtuHGeD6v3VQb75hj1fNm7k/QEDeB574on2Lpc4h9fLRsJLlgQGOC66iB/8cBul9HpZ09hMF2ioFECvXoGdqPv0sWdZg9j+/YwVsbyUgYPfVQAHio6e3Ma4ajGmXzEmntUXE684HseNidYwlb9duxjMeP99pnibunXjSdvMmZyY1cqVVlnZeH+P/fsD2/s2JiGh4abmZvZHe1Vis6MPSrBQYENCX2UlOz/m5/Orf4HCuDiOjs2YwVESpSWLDcxSpWYg4+uv688ATEnhBbEZzBg0qBMuis0r+3Xr2FyrvJwlJhIS+M/NK/sWdM8sL+cAwGuvWY3MBwxgNYA5cxRflIatWQPcdx9PLgFOBr7++vAt1dthVq0Cbr+d3//lL8BJJ9m7PA2oreVchTff5HW3KSXF6sXRt699yyfB5auv2Bjc7OuSmMgeGuedp+NRm738MqNEkZHA3/7GK+4gZs7rKC3lmF5L53UUF1vndBs2ANu21S8/36tXYEZH3eCJtEFJCYPyb73FFd61K3DVVWzWGwLl0VpKA1+t4PNZAQ4zup2QAMyfz+ufUK0p5/NxxruZkbFhgzX7zJSUFJiREYoNHDpYcbEVK1q7lv0g/EVFAaNHA5OGHcbE/e9i1NoX0cX9fZPrxETO3jn/fKYrh6uiIn5G338f2LLFerxLF47hzZzJGU4d2OiqsrJ+tof/fXPSVVPi4hoPevTty+va5j5ebSigEVYU2JDwUlvLg7hZssqsOQBwBzl1KoMc06erNqR0mCNHrIvedes4uazu3rV378DSUracT37yCU/uzQLTJpeLR+joaC74a6/x5LcFKipYXvTVV60ZEH36AJddBpx1Vlhde0oTKiqAJ57g+ATA98ivfw1MmWLvcoWkkhLgmmtYV+X889mF3eF27eJ74913rcO4y8VD+Dnn8BCuwWlpyN69QHY28OGHvB8dzcPcpZeG7hhWpzEMBkbz8ngOnZUV9DXj/AcSamr4fhk1CrjllpYPJJSXcwK0mdHR0OSVxERg7Fie740dC4wYoUy0FvN6gTfeYC25I98PCs6axVkQYTYgqIGvNvL5WNJmyRJrJnh8PA8OF14Y/AcHwwC++y6wgYP5WTElJAQ2cFC0tdVKSrhqzYbfZqzMFBHBz6O5iseMqTMeX1HBJpX/+pc1oysyEjjtNAZo09M75XXYrqSEJ2l5eTx4miIieKI/cybH6xySWVVVFRjoqBsE8R9ubExsbNOlrtauBW66qc0FNMKCAhsSvnw+1ozMz+fNP4zucvHKIiODO05NA5VjUFbGi1kzI+Pbb+sHMvr1Cwxk9O1r0/mkxwOsXg0sX84GGRs38qzLDGbU1loNPszumVOmcCr91Kn8vnv3Zv9NVRX//CuvWD3UUlI4uHTOOR068UIc7pNPONn34EHe/9GPgOuuU0JdhzAM4I47mM04dCinsAfRh8/j4RyFZcuY3WPq0YOB0rPP5r5VpKyMZdX//W++b1wu9uy85pqgH3t3FrebaQ5btnB0/pFHgmqf0pD2ngFfXc2MITOjY9Om+lVfunVjnxczoyM9PehXY8dYt47vscJC3h8+nKM/Y8faulh2OMbKsQJYAY7nn2dWOsAAx7x5DHAES7qwYbAmnpmRsW5d/dHV2FirgcOECfzsKJDRKkeOcD9uxovM3ZDJ5eJqNXtkjB3bwrF4nw/46COWOjDTSgFGQubN49hUqEW+jxzhTuz993lCbw6UuFx8n86aBZxySovGGJymurrx/h4tCXwYBs8ZKip4fRMTw0kWvXsHlsZsQQGNkKbAhgjAvcK2bVYmh3+qG8CjkhnkGDZMB35pUkmJFcRYv77+iQ7Aesv+gQxbB1YMg+/55cs5O8I8wpaX8/FevThlPjqaj7vdfO7gQY4WjRr1fbMz8LMxciRLu51wAq/Gmzj5crs58/qll6yB7KQk9vH74Q81mB1OysqARx9lv0+AWUq33x701Uyc7V//4mhHly4MaqSm2r1EbbZnD/clb78dmMUxeTKz+U86SVkc4aimhm/zf/7TKoM4ZQonc6el2btsIWv/fiAzk/UZZs0C7rxT581N8HiYuWtmdHzxRf3J1FFRPJ0yMzrGjAn+SeTHpKiIaZ1m6lVCAvDTn3JmTBiO7PhXjq3bc08DX23g8/G9tWSJFeCIi+Og8rx5zgxw7NtnjbAXFDAS6y8mhjsPM13guONCb3C8lVobtDZLR5sZGVu21J+omJpqJb6MH29dHrfZN98wwPHBB1bDzT59+IE/++zgPhC43Wx0lpfHCVb+DUXT05mZcfrpIZ9553Y3HvjYv5+7oE2beB5gfmQjI634fUUFr6FffpnvvXClwIZIQ/btY6Q8P59HPP+3fr9+VpDj+ON1higoLg4MZJjnwP6GDAkMZDiiL29REZCby4CG/0InJXEwYs4cYOHCprtnjhsH/OEPzPL4/PP6UZz4eI4iTZ3KW69eDS5KbS3w3nvACy9Y2bfhUOZW6H//Ax54gAPSLhf7N/7kJ5qh2qEKCzm6W1vLGa4/+pHdS9QuPB5eJ735JndLpuRkK4ujf3/7lk86h2Hw8Pb00zzUARxwuOEGlbTrFOvXs/6N18sgxyWX2L1EQcOca2Vm+n7xRf0xSnMmsH+fjrCooFtTw1TfF17gaJDLxcY411zDel4hyDA447esjLFC86v/7euvuVoiI7lKPB7+XkQEH/P5+FGcN4+JVPHxPMc2b+b9xER+Hx+viQAAuOL++1/guecCAxwXXsiVecyj1sfg4MHABg7mxZMpKorjFGZGxqhRqvfrpyVl29xuFi4wV/HmzfXLCA4aZMWKJkzowP1wcTFL7r3xhlXLuVs3nthecAFngwUDj4fjBe+/z7G26mrruaFDOf5w+unB83o6wTvv8DSqZ8/A6uDmtYzXyxK9Tz3F1ReuHBHYKCwsxNKlS5GamorCwkIsWLAASS3YKyiwIZ2itJSjJCtXssFqba31XFISAxwzZvDEQScMYaGoKDCQsWtX/Z9JTQ0MZDjmgrOykqPIy5dzyom5W4+OBk4+GTjjDE5xNq9oWts98+BBfk4+/5yppOXlgf9/2DBmckydyivxOp8Zj4eDUS+8YK3XuDies82bF7LXrWHr8GHgwQf5lgQYP1u4kNdf0oHcbgY1vvuOTff++teQnFG9d6+VxWGWvAO4izvnHB66NXgTegoKmIBkJt/26gVcey1j9ZqL0on+/W/goYe4b1m0iMd9aTXDYEaamdGxYQPv1zVokJXRMX48J/WGDMPgtdhjj1mlg8eN4/np8OH2LlsrGAZLsZoBiYaCFXUDF2VlgZeeDTl8mMENs3JsQ//X7WZCdXJyy5a1W7fAoEdDt8YCJCGXCGAYVoDju+/4WGyslcHRGQEOs4GDmZFR9+IzIoInz+Yo+/HHa3ZQIxor21ZUxFV24YW8XN64MTCJAOD81gkTrHhRpycTuN28UF661HovulxsLjdvHhfKaefzPh/fu3l5vODzT0ns14+ZGTNnBnXWeEdat45zQxITG57oqYwNckRgY/LkyVjzfXHkwsJCLFy4EDk5Oc3+ngIb0umqqjhom5/PQvBmXQOAZ4AnnshB3mnTmi+i2N5Fe6XD7NvHg4oZyPBvxwLw/CEtjReSEyZwUzpql+T1MsiwfDkDdP7FnMePZzDjlFMaT4toa/dMn4+/8/nnvG3eHJj9FBPDk28z0OHXIb2hMrfdurE81cUXOyhQJG1izqZ+5BHGviIj2UD+yisVH+4UDz3EQcfkZODvfw/5D5THw0P2smU8hJu7oaQk4MwzGeTQ5LDgt20b+1V/9hnvx8ZyvzJvnsZ3bGEYwH33MbIYH89okz5o7aK4ODCjo6GSp717B2Z0DB7svPGuFtm5kycLq1bxfkoKU69mzrT1BRmGNaDUWCZF3efKyuoPlLZUly6cT5SYyK/mLTEROHSIh3UzwBAVxUtKr5e3I0d4rnXLLQz0mvfN25EjXLbycg7oHqvY2MaDHk0FSOLjHR4UMQMcS5bwgAPwxV54IVPM6wY4juVav7zcauCwbl3DDRxGjLBG2FvcwCF8GAYvW2tqGLhwuzmUc/317FlgBn/dbuszUVXF9+GYMVzFPXtasaKJEx3UdtUweG2/dKl10gNwQGLePO4fzRLSdi3fpk3MzPjgg8DZRSkpzMqYNYvR1qA8MHUes9RgUwU0VGrQAYGNwsJCzJ8//2hgAwCSk5Nx2P/N3wgFNsRWHg9PNMy+HP554lFRPNHIyGBh7x49An+3JfmPYgtzZpwZxFi3zipjYXK5WJrUzMYYO9bebORGbd3K+k55ebzqMQ0axK6ps2e3/AytPQJxZWU8Cfv8c16g1q2t0K+f1ZtjwgQgNhaGwY/L88+z6TrAj8u55zLAEeJlN0PSgQNsDv7pp7w/YgR7aQTRpMvg9vHHrHkPAIsXh90s6n37mMXxzjuBu6BJk7hfURZH8Dl4EHj2WW5Tw+DA2A9/yEBpiMfsnK+2FvjVrzj1dcgQ4PHHNfjWAcrLGeAwMzq++aZ+yZTu3XnqZmZ0pKU5fBC5spIDyEuX8sVERbFO5RVXtHsDNsPgwGZrMinKy+uv45aKiQkMUtT9Wjdw0b1749kYQPsOfHm9DNj4Bz38gyB1AyL+99szKJKY2HRWSEPBkU4b1DMMzjxfssQKOMTGciNcdBEXKD8fvvv+hg3rDRRXxyGlawXGjXch4teNTAozGziYGRnfftt4A4dJk/hhduTFZ/O8Xg5/+AcczK/m9/7P1X2+oZ9v7Lm6ysvr9yuoKzIS+P3vGa/ym3PnXDt2sJnYu+9aLzopiSdCP/xhy9O0jpVh8POQl8eAxv791nMJCcCppzKYocm8rdbaAhrhyPbARnZ2NnJycrDC7BYKIC0tDTk5OZg0aVKTv6vAhjiGYTBIsXIl9zw7d1rPuVzA6NEcLcnI4A6/ofxH7ZlsYRjcXP6BjLrj7ZGRnFDgH8hw7HV5cTG7L69YETi7p3t3zt6YO9cZsyPMItJmNscXXwROY4uK4oqeOhU44QQYw1Lx6WcuLFnCj5r5I2efDVx6aYiVXAhRhsGJu48/zuu3qCjg6qsZoNJAcicpLmYt8rIyzi782c/sXiLbeDwMri1bxl1Q3SyOs88GBg60dRGlGZWVTL1/9VXrWv6UU4DrrtO2c5TiYhaILi5mycv/+z/7z0FCXHU1B+/MjI6NGzlQ6K9bN85KNjM60tNbNsG3wxPODYPnsFlZ1qScadOAn/+8RR9sn4+Dl63NpGjrKEfXro1nUtR93D9I0d6cMPDlnx3SUFaIuV0aeq69giJ1gx3NBUjM8i5teg8bBq/9//GPwADH8ccjf+l+3L/vMmw2RsJtRCPGVYN019e4tf/LyHj2Gk7i2riRQYx165hC4PMF/v1Oa+DAl+LxNB9AaCzg0JpgRFuzlo5FVBQ/d6WljB2Z2UEREXwuLo7vhy5dgrhfQXk5T2r/9S/O+AD44mbPZhZHWlrH/N9duxjIyMtjkMXUrRvHv2bNCixzLW3S1gIa4cL2wMbixYuxYsWKeoGNrKwszJ49u8nfVWBDHGvHDu59Vq60RmEBazC3ooIHF//RceWSdQrDYElK/x4ZdRPEoqJ4oDADGWPG8ALBsaqq+H5bsYIZEeauOiqKgwhz5/IE2sknFFVVPNM0Ax11632lpABTp8KYMhVrIk/Akn/F44sv+FRkJF/i5ZeryoVT7dvHiiRmcuaoUeylMWSIvcsVVgwDuO02boThwxlhUt0vAJxU9vbbzOTwD2xPnMgyVRkZWlVO4vFwW/3jH5wjArCc+A038Ks40FdfATfdxI334x8zqi2dxuNhDwYzo+OLLwKr6QI8RRw92sroOP74+pN4OjzhfMsW1lTauBEA4O03EOU/uQmlx01tcSbFkSNtD1LExrYukyIx0d5qL3UF88CXf1CkqawQ/7JZ/uWDjpU5sN3aviJxcUCE6/sAx3PPAd9+i/y18bix/K8oieyB3l3L0DWyBtXeGByoSUR372E80ufPyBh1sH7KTwMNHMz+KK0JOLQ1+6Fjis43LSaGt65d+X7t2jXwMfP7uvfr/nxTz8XEWNkZYdGvwONhRlFOTuA41MSJDHBMn97w5ILWRK2LilhiKi/PamgG8GR52jQGM6ZNUx3QdqZK9o1zbGBj0aJFmDdvXsDPut1uuP1yysrKyjBo0CAFNurQG95hDhwAPvrIyub44gsr/7FLF26klBR+HxJHU2cxDFZk8g9klJUF/kx0NC/mzEDG6NFBcBz2+TjLZ8UKnrxUV1vPjR3Lkf5TTw3aNGXs3m0FOdauDcwndrmA9HSs7zMXS7bNQMH2FAAuuFyclHL55RowdwrDYCuH7Gy+RaOjgZ/+lOndOi51sldeYY37mBhukMGD7V4ix/F6War4zTf51TzrTUy0enEMGmTvMoYzw+DpVHa2lRg7cCCwYAEnBSoJwOHefZdNxAHgT39y/khrCPP5OM/KzOhoaJKPWcLfzOgoLwd++9u2J5x7PDz/bjCTYl8VSvNWo2zjTpR64lBmJKC070gcSewHuNp2shAX17JMCv/nnTz/p6XCcRzA42GQo7mskIbKaflfPrWFy8WAWGIiEB9nIH77RrydF40iXy/0dB1ElMuHiAhuF6/hwkEjBf1de3FJ3w/hSeqF6l6D4O7RD+6k3qiOiKsXcGiucXxHiIgIDBi0JoDQmmBEdHTnH7fDrl/Bpk0McPzvf1ZG0IABXAlnnWWV9WtJ1LqkhD1m8vJwdHYhwBU1ZQqDGTNmOLishYQy2wMb2dnZyMrKqtdjIycnp17Gxl133YW777673t9QYMOi1g0O9+abrJEQHV1/SlFyMm+HDgFPPx2E+Y/O4PWyLKkZxNiwgavaX0wMszDMQMaoUUE0G7ew0Co15T+1eMAABjPmzOGMn1BSW8sTKDPQYTbs+95GjMbztZfis/JRQEICXNHROPVU1ldPTbVpmQW7drGFg3nuO24cEwZUIsYG33zDMh4eD08IzjnH7iVyvKIiK4vDzOgHeMw491yeUzlppm6o27SJcTlzf9K9Oyf9n3NOaAxGho1HHmGZjG7dmDU2dKjdSyTg5cju3VZGx4YNgYmzhgF8+SUHWvv04ZyZ2FiOk3k8PN4PHcrqhuXlDWdSNFhqyDCA4oP8Z+bs9eRkoH9/oIu1g01IaFkmhXnfbKAt0hwzKNJcVkhDAZKGgiLle8qwaUsXRMGLSHgBBA6feY1IeBCJ0alVSBjcA0DLR/ajo1seQGhpcKGhnw/1z44TyrZ1uqIi4PXXWarKHBiJi2Pd1f79gT/+seGodXw8syz37+eESjM44nLxwm7mTE6k7N7dtpcmAjggsNFY8/Bt27YhqU4dQWVsNM3cSat1g4P55z9268azpgMHrHxwr5dR73vu4bTmoBltt4/HwzE7M5DxxRf1L566dbNS68ePZ4uJoDppO3SIsyOWL7c6aAO8cjP7ZowaFT7TVQ8cAFavZpBj9eqjJ2jfVA7E8/vnYKX7BCAxAUhIxMlzYnHl1ZEYOdLmZQ4jPh8nB/3970x/79oVuP564Lzzwuct6ihVVZzSvmsXTwLuvlsbohW8Xu5qli0DPvnEmo+QkGD14lCGWMfZs4e1rj/8kPejo9ke5rLLNCkwKHk8wO23MxOzf39Gq4I1szTEHThgla16/30gN7fxhrteLzft6NFNb06Xyy9IUXMA3b/6DN2P7Eb3qAokDkhA93lzkDhuaL0ghaObnEvY8njqBz3++9Ju3P9oDJKijsCIiITX64JhMPEoIgKA14cSbzwyr67BlHP6tioYoVO39hPMZduOSVUVxxOWLuV1gWGw9F9tLVP04uN5IVdWxvGHoiIGQMaMOVoxATNnAqedxqiQiEPYHtgAgMmTJx8NbBQWFiIzMzOgNFVj1GPDYqbVrVvH6wSvl4O5LleIptUFq8byH6uqeODYu9c6eCQncyTwvPOYSxzCWpM2XVvLkxAzkGHOIPMXG8u/MX483/cjRgThRZHbzfJly5cDq1YF9s2YPp2ZGdOmKfjl9fIN8fnnXE+bN6Owsi/+uX8OPiwZD8MVCSTE44RJXlx1Y3ccP1NdxjvSd9+x0ohZ0nXKFCYI9O1r62KFt3vvZepBz56MNmkQsc0OHADeeYdZHEVF1uPjxjFz4JRTgqCMYZAoLQWefx544w0OHrlcwBlnANdco2vpoFdaymj3vn08SPy//xeEJ2nhJS8PuPZa9i6urOR8rKoqbjazAW9lJXDRRdykjWVSxMcDEQeLgCeesKKVCQn84+eeq4tUCXrrCny45NQ9SKw5iLhuRmBChgFUVLlQFt0TL/+3PyZM0vvdTuFYtu0ow2DN1cce4wChGbXu2pWRHjMzw+vlCdhttwE/+YmaWYpjOSKwUVhYiKysLEydOhWrVq3CHXfcUS9boyEKbFj8EwGOHOH4uMvF4EZsLHfSHg+DsxMn2r20Ya6p/Mf4eOD88zkqaNa+iIxkVPyCC0JyVn5z5dNqathzcv16vs83buRj/hISAgMZaWlBemJiGHyRy5ezFqZ/6snxxzOYcfrp/KBLw8rKjmZz7PjvNrzw9RTkHp4M3/dXFhP77MWV5xzGhB8Ng2vSRKu2qBwTjwd46SVgyRJ+HxfHykdnnhlyu6zg8uGHVobG3/6m3k3txOdjHPXNN5nFYV7/JSQwge7cc5XF0VZuNysVvfCClcw6dSrHwVVaMIRs3cqDhNsNXHwxN7A4Vrs03K2pAV59FfjnP7ndXS5O3rrmGp3XSsjw+YALTj2I9Z+5MSRiB1zRXWA22TBqarHdNxgTpsXgtQ97Bue1qoSWvDzW9YyK4tiUOdwbHc1JtgkJHJNSmXRxOEcENtpKgQ1LXh4rFw0axH3PgQMcXDIZBs8hx41jT59Rozh4PGpUyCcDOFNz+Y8eD2fr/+tfgc2Z0tOBH/2Ig9shMFO/ofJplZUsPREVBZxwAi+U6jZOS0oKDGQMGxbkg6fbtzOYkZsbOA24Xz8GM+bMUWOCtjAMoLAQe977Ai++HIH3Ng6Ax8eriDFx23BV/zxMOTkGrhNP4Jst6N9I9tiyhb00zCpp06dzV9azp73LFfaKijgL9sgR4PLLeZIg7e7gQWZxLFsWuPseM4YBjlNPVRZHSxgGW0c984y1HtPSON49ZYq9yyYdxAy8AsCddwJ1eiuKcxxTw13DYAT40Uetxh1jxwI33QQMH95ZL0Gk0+TnAzf+5AhK91Sgl28/uqIK1eiGA5F90L1fHB55Nj60yx1J8PCPWsfEcOCla1er1meLotYi9lNgI0Q0NJOmpsZKFy4t5djGqFH1q1D07BkY6Bg5UnWLO0VL8x+3bGGzp9xca4Q/KSnoy1T5l0/r2ZPvzyNH+J71+ZjEEh/PwaGUFKs/xoQJwODBITD+XFJi9c345hvr8fh4ZujMnWvVs5R2UfRdJV58YD/efjcCtSVHgJoapMfuwJV9VmB64ka4eqZwavAJJ3AkTSV7mlRbywyNF1/kZzYxkeMUM2fqbWs7nw/41a94jElPZ5OtoGosFHzMLI5ly4CPP7ayOOLjuTs/5xzGTqW+NWvYasEMjvbqxTjc7NlBmn0pLff000zPiY7mfuq44+xeImlEmxru7tzJgMbnn/N+Sgpwww06UZCQxzmMBjavc6PGbSA6xoVRE2Jwy60uBTXEOY4pai3iHApshIiW7JPGj2ep7a+/ZqLAV18B27ZZGWcml4sDx2agY9Qopv9rTMRmJSUs7P3vfwd9maqyMg6G/v73HBytu9hduvAaF+Dszblzg+alNc3t5qy1997jRZ458hUZCZx4Il/o9OnWi5cOUVwMvPKygf/kuOE+WA6UlyHNuwVX9noXp3Rfz/ea2SDthO+zOdLTdULn56uv2Etj+3beP+004Je/ZMxVHOD559lPo1s3Dhz272/3EoWV4mKrF8e+fdbjxx/PLI7TTlMWBwAUFgJZWdaYZ2wsk4suvFDrJ2z4fMBvf8ta37178w2hA4ljtbjhbmUlj0NLlzILPSqKDTiuuEIlQCVshHUPBwkebYpaiziLAhshpC37pKoqJgR89ZUV7Ni/v/7f7tKFDZjNYEd6OnsHhcRgc7AJwjJVhsEg2iefAJ9+yj4Zhw4xyBYTw+udxEROkI+P54WS1wvs2gU89VSQl3Q0DG6n5cuBDz4I7JuRns5gxumn60LeBiUlQE4OE6KqKn3AkQoM6bIHV3R/E6dXv4NIl8/64YQEYPJkK9ARpJlSx8rt5nh5Tg7f2snJwM03s2myOMTGjUyd8fmAO+7gPkZsYRhs+fPmm8zi8Hr5eFyclcURjn0jDh7kfuTdd7mOIiOBH/4QuOoqnq9KmKmoYM2xXbs48nf//ZpN5WA+jw8bXtuC4h0VSBkch3EXjkBE1PejtWZNuawsnugDwLRp7KeikqoiIs7U4qi1iDMpsBFi2mOfdPgwf98MdGzeDJSX1/+5hASWrfIvY5Wc3L6vR5qxZQsDHHl5jitT5XYDa9dawQz/2uMABy8+/ZRBuIZq8Qd9ScdduxjMWL48MFrYuzdHtObMYWqU2K68nJMKX3vNalY7IKUal4/7AnM87yBq7SrWSfOXmmoFOcaMcVwwsSNs2MBeGrt38/7cuRyr0OHXQSoqWMNn3z5GhO+8UzMQHKK4mAP5b71llZkHgNGjGeA4/XROSAlllZXASy8xMOp287FTTwWuu46TZSSM7djBEkWVlYxy3Xyz3UskDfG/0HS7OTspPR249Vagb1/goYcYXAf4of7FLxjYEBERZ1OKkQQxBTZCUHvvkwyDzZz9Ax3ffFO/oTPAMVv/QMdxxynjuFM4pExVUZEVyCgoYHDNFB0NTJrESkvTpjGYEXIlHUtLmZXx3nv8oJhiY62+GePGaaDRoSoq+BF69VUG1QCgTx/gsku8OGvoZnRZ+zlrpnz9dWANv65dgYkTrUBHiJX9qawEsrOBN97g/Z49OYahsQoH+stf2I+pb1+WoDKbboljGAZ7SixbxuRLM4sjNpbx7nPPZdPsUOLx8PU+9xxPVwCW5brhBn4VAcATyDvv5Ifk1lsZ8RPnMEsDlJTwgs8sDbB/Py8K+/blrKWuXYErrwTmzw+LSR8iIiJiLwU2pE08HpYW8i9htX17w/06hg4NLGE1bJgyzDtMJ5ep8vmATZusYEZhYeDzvXtbgYyJE+vXzA6Jko61tVbfjM8+s0apIiI4yD13LnDSSSoYHkSqqoD//Ad45RVmsAEMEl96KcdZYqpLOTL5+feBDvOHTP37W0GOCROCOrq7ejV7M5kZV+ecw4ohGi93oBUrgL/+lfuehx/WiHEQOHyYWRzLlnECiSk9nQGO008P6t0HDIOnJNnZTGIEWI1mwQJgxgzF+KUB//wnm6tFRQEPPMCMSLGf2cxx3Tpe2Llc/IAXF3PnVVHBWrI33QT87GcNp2KLiIiIdAAFNqTdVFYyk8M/s6Nu+SGAM/dHjAjM7OjXTxe47a6DylSVl3Ms99NPOY7vX6bM5eJYmhnMGDas+e0alCUdDYOp9u+9B3z4YWCZohEjgDPOAGbOVG22IOd2MxHqpZesRKikJODii1kpo1s38L2wdSuwahU/GF98YQW3AA7OjB1rBTpa8qFwgCNHgMcfZwNkgBMxb7uNWVfiQHv3sgRVZSXwk5+wWYEEDcNg6cY332QgwOPh47GxwOzZDCiOGGHvMrbWpk3AE08AX37J+0lJwNVXA2efrckt0gTDAO6+G/jvf3kOlZXFmS9ir3XrgEsuYe3JuDgGMnbu5GwkgB/q+Hg2LQvK+rEiIiISrBTYkA5VXMyqLV99ZQU7zBr2/hITAwMdI0eql3K7OcYyVWZZKDMr48svOXHLFB8PnHgiAxknnNC2evtBU9Jxzx6rb4Z/kfRevVhDZO5c1tWSkFJbyxjWCy+wdQHAHkPz5/MjFJC9UFnJAQAzm8P/fQLwDW4GOSZP5h9ymI8/Bv72N34eXS4me/30p8E9czykeTycJfvVV9x5PvCAQ3eg0hIlJVYWh9nPBuB50TnnMGYeG2vb4jVr927gqac4Lg0wWXH+fGa8OXm5xUGqqtibobCQFwYPPcRZL2KfvDyeCAwYwNJT/tcT/foxCLVrFz/8s2bZu6wiIiISVhTYkE5lGDzv9S9h9e231uxEf/36BZawOu44VfM5Jq0oU1VTw9mjn37KgIZ/72uAWehmVsbxx/O6JmSVl7NvxvLlVkNEgKO8p5zC7Izx4zWQGAY8HrYveOEFq6xKXBxw4YXAvHkNxCgMg6N8ZpBj3TqrYy7AqMGoUVagY+TIlr2POigSWFrK8m95ebw/cCBw++1MOBEH+/vfgeef55vx739nDUAJeobBXcayZcD//medJ3XrxnHDc8/leZFTlJYCS5awjJ/Hw93bmWcygUgT7qXV9u4FMjN5DjZ3LvCb3wRFtmPIWreOqarl5Vbd4R49GOiIjOSstbIy4OWXlbEhIiIinUqBDbFdbS0rufiXsNqxo/7PRUSwiot/ZseQISE+qN5RGihTdaDbYHw64kp8GnkS1myKDRh/7dKFJWimTeOtb1+blruzeDyM6ixfzsiOOaLkcgFTpjCYcfLJbAoiYcfnY6zr+eeZzQRwsPGHP2SZqkazzWpqGFQ0Ax3ffRf4fEIC318nnABMndpwuTj/2m1uN6O96elstNrG2m2GwdnVDz3E2eIuF1/H1VcrmOx469cDv/oVN+If/8hMPAk5JSU8HL35phVUBVie6txzGeiwKxvC7QZee40B38pKPnbCCRyTTk21Z5kkRBQUsAaizwf8/OecQSCdr6SEfZsefph1KhMTgcGDrdkcZmr3hAncGWiij4iIiHQiBTbEkSoqrBJWZsCjuLj+z8XEcJKzf2ZHnz6a1NUSPh/w1Wdl+PTvm/BJbgW2lvT4/hkXkJyEniN6YPrcBEyb7sKkSWEwhm8YfKMtXw68/35g85C0NKtvRht7k0joMQzGGZ5/nplnAPdJ557LUtTNvlUOHLB6c6xeXb9OX2qqlc0xdiyDbDfeyEGG3r35oayu5t/p3p3pFq0Mbhw6BDz4IF8HwGyshQu5LxWHKy8Hrr2W2/+ss5heIyHNMJis9eabDEaaMfeuXa1eHMcd1znnQIbBfvXPPGP1Uxs+HLj+elbZE2kXS5cCjz3GN/W99+rN1ZkMg2mqjz7KbIzSUn7Yo6La7RxERERE5FgpsCFB4+DBwEDH119bswP9JSUFBjrS09vW9yEUHTnCcVSz8Xdp6fdPGD64ykox2vMFptXmY3r3TUjtugeuUfXLVIWcvXs5OrNiReBU2JQUjhTNnatpp9Ikw+BnaskS7p8AXveffTbryvfp04I/4vXyl81sjq+/tso9AIyYbNsGHD7MQJt/pLENsyXNQclHH+X4eGQkcPnlwBVXhO5HPaT4N9gdOBDIzlYTlDBTWmplcezcaT0+YgQDHLNnd1wWx+rVwJNPMtsW4Bjntdey1ZQmlki7Mgxg0SI2ukpIYDPxfv3sXqrQt38/m219/jnvp6Yye+bAAStrtKaGvU9GjQJuuUVBDREREbGFAhsStAyDJav8S1ht3dpwv47+/QNLWA0fHh4lVsx1ZPbK+OKLwMbfcXGcDG42/k5KQoNlqpCUBJx3Hm+hkLFw5Ajw4Ycc2d2wwXo8JoZ9M+bOZe0tpdNLKxgGsGYNAxxmG5vISCb7XHYZS1G3WGkpRw8//5zRyB07gE2bGDGJjOR7NTGRsyTj41tV39ocl/jsM94fMYJZGmlpbXrZYoe33+bs5chIzmYeOdLuJRKbGAb3N2YWh3nYjomxenGMHNk+AYfCQgY0Vq3i/bg4BkN/9KPwOKcSm9TUAL/8JU/0hw3jPk+B3I7h8wH//jebgFdXc6bDj3/M+pRRUdbPdECfLxEREZG2UGBDQkpNDYMb/pkd/pPwTZGRnHzkH+wYPDg0zstralh23Qxm7N0b+PyQIQxkTJ/Oxt/mdUo9JSXAW2/xAufgQT4WGcka7hdcwJUWTFMzPR4OEq9YAXz0kTX643IxiDF3Lmeb6WJZ2sH69QxwFBTwvsvFGdSXX87PYKsYButd/frXnB1Zt2RVVBSDG243m0efeWajf+att4AnnmC2W1QU+2j4j1dIENi5E7juOm7vzEzWPRMBY5vLl7PhuNn/B2DQ8txzuQ+Ki2v4d5saqzxwAHj2WeDdd7kfiYpiT6Err2RsVaTDHTzI/d2hQ5yActddwXUOGgy++44B802beH/sWGZpDBpk62KJiIiINEWBDQl55eWB/To2beKYfV3dutXv19GrV3BcNxUXW4GMNWs4ycoUFcUJ3NOn89bqDH6PB1i5klkc5jR0gCvI6WWqDIMbf8UK9s3w3/DDhjGYMWsWN7RIB9i4kTEJMzvC5QJOPZUDgq2qcLZuHQewExO5syov5/u5rIxlrLxeflYnTmQ9mIwMRjC/H8Xcu5fjFWvX8s+NHs2WDK0Osoi9amvZRHfLFm7r++8PjoOUdCrDAL78kgGODz4IzOKYOZOlqvznJuTnW9Vl3G7+XHo632rbt7PNgdvNnz3tNMbV+ve35aVJONu4Ebj5Zh7rrrmGB1I5dh4P8MILwD//ye9jY4EFC5ilreOLiIiIOJwCGxJ2DIOzD+v26/APBph69AgMdIwcyRK/djMMLrsZzNiyJfD5lBQrK2PSpHZMQgiWMlVFRQxmLF/OEj6m5GSrb0Zami7YpNN88w0DHCtXWo+dfDLHZVpURcjnY6bU+vWMRpjvXcNgabVt29h3Y8QI67moKBjjJ+D1Lhch+/PxcPuiERPDWvgXXhgaGWph58kngVdeYYDrmWeAnj3tXiJxuPJyHg7/85/ALI7UVAY4YmNZiq6kxOoHXFXFQ2d1NX8uKYmTt2+4gedDIrZ56y3gvvv4/V/+Apx0kr3LE+w2beKsh+++4/2TTmLwSBN+REREJEgosCECjhlu316/X4d/PwrTwIGBJazS0lgdpi3/szUlaisqWHL/k084+9s/+cDl4vKYwYzhwzt4zN6JZaoqK1lgfPlyzm43xcQAM2YwmDF5MpdTxCaFhZwU+eGHVm/wE04ArrqKpeGalJ8P3Hgj+2/06sURyOpqRmq7dwcefpidyvPzgZUrsevrCizaeSm+rBgGABg/+DBuyyzHgPMmc0cmwWX1apYFAYA//5mRMZEWMgyOYb75JrM4amr42Fdf8fvhw1nRrrQU2LOHu5bqau5qXniBSWCaCyCO8OCDwBtvMCr3+ONKPWyLqirg6aeB11/njiApCbjpJp7H64MuIiIiQUSBDZFGuN3At98GZnbs2VP/56KiGNzwz+wYPLjp64LGyj7ceisHD0y7djGQ8cknDIJ4vdZzsbHA1KkMZJx44veNvzub3WWqvF4O9i1fzuWoqbGeM0vynHoqV5aIg+zYwcHC3FwrgDpxIgMc48c3sf/w33nU1DCqOmoUcMstR3ceXi+QkwM8+0QVag6WoduRA8hMfBnnpXxk/d0hQ/jzGRmBWR7iTCUlTLU5dIjNDW6+2e4lkiBWXs59zz/+wWyOqCjG/KOieFgH+H1SEidcvPIKS1qKOILHwxPmDRsYpH/iCUblpGU+/5znEUVFvD93LuvO6VpaREREgpACGyKtUFrKslVmoOOrr/hYXbGxLC9jBjpGj7aqNJmTrv3LPpiTrhMT+Vx1NctM7d4d+HcHDrR6ZYwd67CGv51VpsowGHFavpz/6/Bh67khQxjMmDOHK1fE4fbsAV58EXjvPWtAcexYlqiaMqWReEMT6V6FhcDixdxPAfwbv/410CeqmMG/lSvZaMM/Stq7N7OaZszg31JWk7MYBnDnnYxwDxkCZGUxGi5yjHJzgauv5vyD0lK+1Vwu7hL69OH9XbuAp55iOyoRxygpYTPxoiLO7vnrX1VfsTmlpcBjjzGaCQB9+zJANGWKvcslIiIicgwU2BA5BoYB7N9vBTk2b2YtfbPJpr+ePRnkeOcdDmampVmzI8vKeI124ACDImPGcHAhKoqzt6dPZ5mpAQM6/SW2XlvKVLWkLteBAxyFWb7cqgUMMHgycyZnnB13nGaeS1AqKmKA4+23rbhgejoDHNOnB76tG/q4+Hz8/eef5z4lLo4TMM88s4GPxJEjjJzm57Ounf8OKyGBNbYzMjjYoQF0+/3738BDD3H0+cknW9l1XqRx69YBl1zCSRVdu7LkZbduVqJlRQXPT15+WRkb4kBbtnA2kNsNXHYZu9pLfYYBvP8+8OijPEd3udho65pr2rEJn4iIiIg9FNgQaWdeL8fd/UtYbdvG64rycta4Nss+dOliDWKav2sYVnPfyZODuIqSWabqtdeAL7+0Hq9bpqqpulyTJ/P55cs5y9zcBXXpwvryc+eyHpejUldE2q64mGVf/vMfK96QlsYAxymn8CNV9+MycCC/Vlby5086iZWpWpQk5XYDa9bwD3/0EUcxTTExbAAyYwajKwkJ7f56pRnbtnFWcm0tB/AuuMDuJZIQ4vPxLbV+PZOB/IOghsHeYxMm8DCuyfDiSHl57DkEAH/4A88txVJUBDzwACczAMCwYezVNGqUvcslIiIi0k4U2BDpBNXVzOTIyeGEqboBjdhYzpiMi+PA5tNPh1jZh8bKVKWns5PpkSOBdbl27eKoyuDBgZGdceMYzDj1VNVTlpBWUsL9xeuvs8cnwI/HN98wANq7N+MOu3YB+/YxUDphAvCnP3Fcp02JS14vg5D5+byZ9bcBjmpOmMBMjhkzmIImHcvtBm64gcGNE08E7rlHGWnS7szymKWlbBTuXx6ze3fgkUcCe3+JOE5WFtOKYmJ4kj18uN1LZD/DYIP17GyeRERFcYbEZZdpMpCIiIiEFAU2RDqRf9mHmBgOHnTtal1jhHzZB/8yVQcOcBC1ooJ1fpOTGeAoKWFT5OpqBi/OPBM44wz2zejb1+YXINK5ysuBpUt5++wzfkS6d2dcobiYY99mXfyTT2amR7vMrDZ72axcyZHPbdsCn09PZ4AjI4MBSGl/Dz/MyFZyMvD3vzMYLNIB/BMna2qA6GhO6L7lFgU1JAj4fMBvfgOsWsXmME8+Gd77yx07gHvvtbKljz+eWRpDhti7XCIiIiIdQIENkU6ksg/f83iAf/yDF1peb/1mxZGRzNSIjGSmx8SJtiymiFN88gnL01VWBu43oqKAQYP4tUODort3W0GOTZussnAAFyAjg7eRI5VV0B4+/RS44w5+v2gRS4KJdKCWtLoScazycma47d7Ng+C994ZfZoLHA7z0ErBkCb/v1g1YsAD44Q91XBYREZGQ1ZrYQJidHYq0v4gIto648UYGMRoq+3DLLWEwmBAVxTq/SUlcCcXFvCiNjQV69GBKi8/HOjuHDtm9tCK2q6xklldqKnD4MD8ycXHAgAGM/3m9wMGDfLxDDBgAXHwxb4cOAR9/zCBHQQGwcyc7l7/4IlNJTj6ZQY7x48NvYKk9FBcD/+//8fv58xXUkE5hVpsTCUoJCey18bOfMT36iSd4sh0uNm9mMKewkPdPPJEXFL1727tcIiIiIg6i0QmRdpCRwZrVZtmHgwdZ9mHChDAr+5CSwpFaoOFSNtXVXDEt6oAsEtrMj0tNDccp6o5VdOrHpUcP4JxzeKusZHZBfj5rZR08yLreb7zBUnLTp3OnNnUqo7jSNMNgUKO0lF3jr7vO7iUSEQkOQ4cCd94J/O53zPYdPhw46yy7l6pjVVezVOHSpTx+dO/OgM7MmcrSEBEREalDpahE2lHYl31QXS6RFguKj0tNDbB2LYMcH33Efjmm6GhgyhQGOU46iVlZUl9ODvD444xiZWWpJrqISGs99xzLnUZFAQ89BIwebfcSdYzVq4G//Q3Yu5f358wBfv5zBjdEREREwoR6bIiIffLzObOstLThulyPPBJGKSwiTQuqj4vPB2zcyIVeudIaeAEYeRk3jgs7Y4ZKZZi2bGEZFY+HNQvPOcfuJRIRCT6GAfzhDzz2pKQwSBxK2b/l5cBjjwHvvcf7vXsz5fvEE+1dLhEREREbKLAhIvbKz7fqctXUcGb3qFFhVpdLpGWC8uNiGKz7bTYf37o18PkRI6zm43XTUcJFdTWbvO7cyfVw993huR5ERNpDZSWzF777jhkbDz4IdOli91IdG8MA/vtfZqGUlPAY8aMfAddeyx51IiIiImHI9sBGQUEBAGDSpEkoLCxESUkJJk2a1KLfVWBDJESEfV0ukZYL+o/L3r0McqxcCXzxBQdrTAMHMotjxgwORoXL4P799wPLlrH5+jPPqFSXiMix2r0buP564MgR9tq47bbgPaYcPAg88ADw8ce8P2QIX8/xx9u7XCIiIiI2sz2wkZmZiezsbADA7NmzkZOTg6SkpBb9rgIbIiIiQaykhAM1+fmsF+7xWM/16AGcfDIzGCZOZL30UPS//wF//CMH3O6/n69VRESO3erVwO23M4B+003McAgmhgG8+SbLaVVW8jh4+eW8BXsGioiIiEg7sD2wkZ2djYsuuggAWhzQMCmwISIiEiIqK4HPP2cmxyef8L4pNhaYPp2ZHCeeCHTrZt9ytqeiIuCnP2XN9Msv5/ciItJ+XnkFePJJpjbefz8wYYLdS9QyO3cC993HFE2AdSdvvx0YOtTWxRIRERFxktbEBjpsqmRrAxoiIiISYmJjgdNO483jAdauZSbHRx8Bhw4BeXm8dekCTJ7MTI6TTgKC9RzC5wP++lcGNdLTgauvtnuJRERCz0UXAd9+C+TmAnfdxeyHPn3sXqrGeTwMxjz3HFBbC3TtClx3HXD++UFWd1JERETEWTokY2Px4sVITU0FAKxatQqZmZlH7zdHGRsiIiIhzjCATZus5uO7d1vPuVzA2LFWX45+/exbztZ64QXg6aeZffLUU8CAAXYvkYhIaHK7gRtvBLZsAYYPBx59FIiJsXup6vv6a+Dee4GtW3l/6lTglluAvn3tXS4RERERh7K9FFVJScnRjI2CggLMnz8fW82TuTrcbjfcbvfR+2VlZRg0aJACGyIiIuHAMIDvvrOCHFu2BD6flsZMjowMYNgw5zaK/eor4Be/YNbGb34DnHGG3UskIhLaioqAzEz2djr9dOD3v3fOMcLtBp59Fnj1VR7nEhN5jJg92znLKCIiIuJAHRLYyM7ObjQ4AQBz5szB7NmzATCYMWnSJAAMciQnJ2Pr1q0NZm3cdddduPvuu+s9rsCGiIhIGCoqsoIc69dzQMjUrx+zODIygOOPd04Jj8pK9tLYuxeYORP43e80cCUi0hk2bGAGhNcLLFgAXHqp3UvEsov33stjAgDMmsWgRrCWWRQRERHpRLZmbBQUFGDWrFk4fPgwACuwcfjw4Qb7bihjQ0RERBpUWsqm4/n5wOrVQE2N9VxSEnDyyQxyTJrEPh12ueceYPly1nh/+mkgPt6+ZRERCTdvvAE8+CADyvfcA5x4oj3LUV7OpuZvv837vXoBv/oVMH26PcsjIiIiEoRsbR6empqKRYsWHb2fm5uLefPmNdpMPCYmBjFOrIcqIiIi9ureHTjzTN6qq4FVqxjk+OQTlh556y3eunXjQFZGBjBtGpuWd5bcXAY1XC5maiioISLSuc47j83Ely0D/u//GFwYOLBzl+F//wMeegg4dIj3zz+fDcI783gkIiIiEmY6pMdGQUEBcnNzkZSUhK1btwYEOpqj5uEiIiLSJI8HWLeOJatWrgSKi63noqKYwZGRwYyO5OSOW469e1mCqrISuPpq4Mc/7rj/JSIijfN4gJtvBjZuBAYPBp54onOCCsXFDGjk5/P+4MHAbbcBY8Z0/P8WERERCUG2Nw8/FgpsiIiISIsZBrB5s9WXY+dO6zmXCxg92mo+3r9/+/1frxe46SZg0yYOYD34IBAZ2X5/X0REWufQITYTP3gQOOkk4M9/7rh+R4bBjMEnnwQqKrj/v+wy4IorgOjojvmfIiIiImFAgQ0REREJT9u3W5kcmzcHPjdsGAMcM2YAw4cf24DXs88CS5YAcXHAM8+wv4aIiNhr82YGnWtrgSuvBK65pv3/x+7dwH33MXMQANLTmaWRmtr+/0tEREQkzCiwISIiInLgAPDRR8zkWLcO8Pms5/r0YYAjIwMYOxaIiGj6b/l8wIYNLDtSXMwyJwDw+98DM2d22EsQEZFWWr6cTcQB4O67gVNOaZ+/6/UCr74K/OMfQE0NEBMDXHstcOGFzR9DRERERKRFFNgQERER8VdezqbjK1cCn38OuN3Wc927s2zJjBnA5MkcrPKXnw/cfz9nAldXs9xJdDQwbx7LkIiIiLM89hiwdCnQtSu/P9Zsii1bgHvv5VeAx4pbbwX69Tv2ZRURERGRoxTYEBEREWmM2w2sWsUgx8cfM+hh6toVOOEEZnJMmwasXQvceCNQUgL07g3s3w8cPswMjtRUDphlZNj2UkREpAFeL3D77UBBAYMPTz4JtOXa0u0GnnsOeOUV7vcTEoCf/Qw444yO698hIiIiEsYU2BARERFpCa+XJabM5uMHDljPRUQAO3YApaXAiBHAkSO8D/D+gQPAhAnAa6+pDImIiNOUlQHXXw/s3QtMmgQsXswm3y21bh17aezezfunncb+HcnJHbG0IiIiIgIFNkRERERazzCAb75hgGPlSuDLL4FNm4CoqMDBsP79mb1RUcGBs5dfZoBDREScpbCQGRZuNzB/Pr9vzpEjQFYWsGwZ76ekALfcwpKFIiIiItKhWhMb0PRCEREREYBlRUaOBH76UzaH/fWvgfh43kzx8QxqACxbVVPDZuIiIuI8qanAb3/L73Ny2Fjc52M2Rl4ev/p81s+vXAlcfbUV1DjvPJaiUlBDRERExHGi7F4AEREREUdKTwd69GBd9uhooLKS9dVN1dV8PCXFvmUUEZGmnXIKcOWVwPPPA3feCSxaxPJSbjcQE8N9/XXXsffSf//L3xk4ELjtNmDcOHuXXUREREQapcCGiIiISEPGjeOA1/r1wJAhQPfu1nOGYfXY0MCXiIiz/eQnwAcfAK+/zv13ejqz76qrgU8/Bd5/H0hLYzD70kuBq65i4FpEREREHEulqEREREQaEhEB3HorAxrbt7OnhtfLr9u38/FbblHjcBERpzMMoKSE33fpAuzfD9TWsrF4dTXLCpaUAE8+yXKECmqIiIiIOJ6uxEVEREQak5EBPPIIMH48G4Xv2sWvEybw8YwMu5dQRESas2EDsGULMHw4EBnJAPXmzWwUHhEBDBjAYEZFhd1LKiIiIiItpFJUIiIiIk3JyABOPpkDY8XF7KkxbpwyNUREgkVxMXtq9O4NDB0KFBby8fh4YNAgICqKgeviYlsXU0RERERaToENERERkeZERDBLQ0REgk9KChuFV1cDiYnsp+HzWb2TKiqYsZGSYu9yioiIiEiLaaqhiIiIiIiIhK5x49gw/MAB9ttISLCCGobBx0eN4s+JiIiISFBQYENERERERERCV0QEcOutDGZs384MDa+XX7dv5+O33KISgyIiIiJBRGduIiIiIiIiEtoyMoBHHgHGjwfKythTo6yMZQYfeYTPi4iIiEjQUI8NERERERERCX0ZGcDJJwMbNrBReEoKy08pU0NEREQk6DgusGEYBgCgrKzM5iURERERERGRkJOayhsAHDli77KIiIiIyFFmTMCMETTFcYGN8vJyAMCgQYNsXhIREREREREREREREelM5eXl6N69e5M/4zJaEv7oRD6fD3v27EFCQgJcLpfdi+MoZWVlGDRoEHbu3InExES7F0caoe1k0bpwPm0j59C2cD5tI4vWRXDQdup8WufBQdspkNaHs2n7OIe2hbNp+wTS+nA+baOGGYaB8vJy9O/fHxHNlAt1XMZGREQEBg4caPdiOFpiYqLe8EFA28mideF82kbOoW3hfNpGFq2L4KDt1Pm0zoODtlMgrQ9n0/ZxDm0LZ9P2CaT14XzaRvU1l6lhUpc0EREREREREREREREJGgpsiIiIiIiIiIiIiIhI0FBgI4jExMTgj3/8I2JiYuxeFGmCtpNF68L5tI2cQ9vC+bSNLFoXwUHbqfNpnQcHbadAWh/Opu3jHNoWzqbtE0jrw/m0jY6d45qHi4iIiIiIiIiIiIiINEYZGyIiIiIiIiIiIiIiEjQU2BARERERERERERERkaChwEYHmT9/PpKTkzF58mSkpaUhLS0NCxcubPRnzJ+r+zOZmZlwuVwoLCys9z9KSkrgcrkwf/78Dn0toUzbyaJ14XzaRs6hbeF82kYWrYvgoO3U+bTOg4O2UyCtD2fT9nEObQtn0/YJpPXhfNpGzqTARge64447sGbNGmzduhVr1qxBSUkJ5syZE/AzCxYswJo1a47+XGFhITIzMwN+JjU1FUuXLq3397Ozs5GamhrwWGFhIebMmYO0tLR6H4Tk5OSAmz4o5KTtlJ2dDZfLVe+Wm5vbjq+4cU5aFwBQUFBw9GAwZ86cBnf84cZp28j/uTlz5qCkpKR9XmgQsGNbAPxcNLSum9pO4cpp26i55zqS09ZFbm4u0tLSkJycHHb7jqY4bTuZj4fycdhp69z/9xq76A1HTttOdl9XOW19AMDixYsbHcQJN07aPnZfX9rNaddOgH3ngk7ktO1j9/mp09ZHOJwHtpbTtpH/74XreaMCG50kKSkJixYtavYEYtGiRXj11VcDHps3bx6ysrLq/ewrr7yCefPmBTw2Z84cLFy4EFu3bsWcOXPqfcC2bduGw4cP4/Dhw8jJyWnjqwlddm+nBQsWwDCMo7fDhw9j9uzZmD179jG+staze10AwKxZs/DUU09h69atWLhwYb33c7izexuVlJRg8uTJWLRoEbZu3Yr58+fjuuuuO8ZXFZw6a1tkZmbinnvuafD/NLf/D3dO2EZNPdeZ7F4XJSUlR/cbhw8fxqRJkzBr1qw2vprQ5YTtdN111yEnJ+fofiXUg6Z2r3NTSUkJsrKykJSU1LoXECacsp2ccl3lhPWRmZmJ4uLio4M4ixYtasMrCU12bx8nXV/aze5rJ8A554JOZPf2cdr5qRPWR7idB7aW3dvIFO7njQpsdBJzp3D77bc3+3N1paSkIDU1FQUFBUcfM6NwaWlpRx8znzdPUhYsWIDVq1drJkArOG07zZo1q8GdXWewe10UFhaiR48emDRp0tGfOXTo0DG9plBj9zbKzc1Famrq0W20YMECLF26NCz3OZ2xLQAgKyurwcET7f+bZ/c2au65zmT3uigsLAyYzbto0SIUFBSE5Qyjpti9nZKSkpCXl3f0Iik1NTXk9yl2r3PTwoULkZmZiR49erRi6cOHU7aTU9i9PgoLC/Hqq68iJSXlaMaG/98Ld3Zvn7rsvL60m93XTkDw7FfsYPf2cdr5qd3rIxzPA1vL7m1kCvfzRgU2OtA999xzNI3NTGVravZKQUEB5s+fjzvuuKPec/Pnzw84AcnKyqqXylRYWFgvZSk1NTVgRzx//vywLBnTFCduJ4CpZFOmTGkwzbijOGldpKamIikpCdnZ2SgpKcHixYvDcmZRXU7aRgAaPHiGy+BkZ2+LprR0vxJunLSN7OakdTFp0qSA/bn5Pu3M451TOWk7ATh6MVtYWIh77rknJMvLOG2dFxYWIjc3FwsWLGjV74U6p20n8+/YdV3lpPVRUFCAkpISpKamYs2aNVi4cGHYz+p10vbxZ8f1pd2cdu0kgZy0fZxwfuqk9QGEx3lgazltG+m8UYGNDnXHHXccTWNbs2YNcnJy6r1Js7OzjzaVWbhwIRYtWtRgtG/BggUBqUvZ2dm46KKLAn7m0KFDDaYembPcU1NTkZmZebRkjMo+kNO2k2nhwoWdfuBw2rrIy8vDwoULMWzYMGRlZeGpp55qh1cZ3Jy0jWbPno3c3NyjB9Xs7Oyjz4WDzt4WTWnpfiXcOGkb2c3J66Kx/xOOnLidMjMzkZaWhh49eoTkRZPT1nlmZqbK+DTAadvJ7usqJ60P8xzELJ2xYMECHDp0KKwHcp20ffzZcX1pNyddO0l9Tt4+dpyfOnF9hPp5YGs5bRvpvBGIsnsBwsWkSZOwYsUKJCcnIzMzM6B0S0vfhOYgovl93Td3jx496s0WMsv5AMCaNWuOPn7RRRchMzPzaIqZkBO2E8CmVT169LB1No3d68Ls37BmzRqkpqYiNzcXkydPxtatW4/5tYUKu7dRUlISsrKyMHnyZEyZMuXo7LwpU6Yc2wsLQp2xLZrSkv1KuLN7GzmJk9bF4sWLj9anlUBO2U5ZWVnIyso6epHmfz4Zauxe52YTybq1lSWQ3dsJcNZ1ld3ro6Frlh49ejQ4yzQc2b19TE64vrSb3ddO0jQnbR8nnJ86ZX2E03lga9m9jXTeSMrY6GTHkoaYmZl5tCbjxRdf3KK/baYF16UZA02zezvl5OQ4Zudk17ow+zeY68VMC1WjtfrsfL8uWLAAhw8fxooVK46mtgfrYG976Mht0dr/29j+P9zZtY2cyO51kZmZaftFYzCwezuZFixYgIKCgrA4Dtu1zletWoXCwkKkpaUhLS0NhYWFmDNnztGMSAnklM+GU66r7FofkyZNqvd/Dx06pHOQOux+vzrp+tJudl/rS9Ps3j5OOz+1e32Ywuk8sLXs2kY6byQFNjpRdnY2CgsL29wnYPbs2Ud3JA2dlJjRQTNql52dfTTil5ubG5B2mpWVFdSzTTuSndvJtHr16noN4exg57qYNGkSVq9efXQnXlBQgEOHDoVlNkBT7H6/mtvHbJzllBNAO3T0tmhKS/YrYu82chq710VmZibmzJmjlPZm2LmdcnNzAy6MsrOzkZSUFPLHYTvX+aJFi7B169ajNwBYsWKFPicNsPuz4bTrKjvXR2pqKqZMmXJ0f5GdnR0wOUnsP+YCzrm+tJvd107SNLu3j9POT+0eQwzH88DWsnMb6byRVIqqA91zzz145ZVXAHDQb9KkSVizZs0xHdQWLlzYZHO6FStWIDMzEwsXLsSkSZOQk5MDwPqwTJ48+eiymM+FOydtJ5NdszqctC5SU1ORk5OD+fPnH03tz8vLC/uTQidtI4CDMLm5uUhKSsIdd9wR9IO9rWHHtli4cOHRWTKTJ08O2B7N7VfCkdO2UVPPdTQnrQvzQqnubKI1a9YcPXkPV07aTrNnz0Z2dvbRgbBQPQ47aZ1L45y0nZxwXeWk9QHg6Dn7okWLkJqairy8vDYvRyhw2vYxlyMcg01Ou3bS/j+Qk7aPE85PnbQ+wuU8sLWctI2EXIZhGHYvhIiIiIiIiIiIiIiISEuoFJWIiIiIiIiIiIiIiAQNBTZERERERERERERERCRoKLAhIiIiIiIiIiIiIiJBQ4ENEREREREREREREREJGgpsiIiIiIiIiIiIiIhI0FBgQ0REREREREREREREgoYCGyIiIiIiIiIiIiIiEjQU2BARERERERERERERkaChwIaIiIiIiIiIiIiIiAQNBTZERERERERERERERCRoKLAhIiIiIiIiIiIiIiJBQ4ENEREREREREREREREJGv8fBDbQNPkrk7IAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Setup twiss computation\n", "\n", "def task(line):\n", "\n", " line:Line = line.clone()\n", "\n", " state = torch.tensor(4*[0.0], dtype=torch.float64)\n", " matrix = torch.func.jacrev(line)(state)\n", " (nux, nuy), _, w = twiss(matrix)\n", "\n", " line.propagate = False\n", " line.matrix = True\n", "\n", " state = torch.tensor(4*[0.0], dtype=torch.float64)\n", " line(state)\n", " \n", " ws = [w]\n", " *ms, _ = line.container_matrix\n", " for m in ms:\n", " w = propagate(w, m)\n", " ws.append(w)\n", " ws = torch.stack(ws)\n", "\n", " ax, bx, ay, by = torch.vmap(wolski_to_cs)(ws).T\n", "\n", " return (nux, nuy), (ax, bx, ay, by)\n", "\n", "# Unperturbed twiss\n", "\n", "(nux_model, nuy_model), (ax_model, bx_model, ay_model, by_model) = task(ring)\n", "\n", "# Perturbed twiss\n", "\n", "(nux_error, nuy_error), (ax_error, bx_error, ay_error, by_error) = task(error)\n", "\n", "# Compare twiss\n", "\n", "print((nux_model - nux_error).norm())\n", "print((nuy_model - nuy_error).norm())\n", "print()\n", "\n", "print((ax_model - ax_error).norm())\n", "print((bx_model - bx_error).norm())\n", "print((ay_model - ay_error).norm())\n", "print((by_model - by_error).norm())\n", "print()\n", "\n", "# Plot beta beating\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.plot(ring.locations().cpu().numpy(), 100*((bx_model - bx_error)/bx_model).cpu().numpy(), color='red', alpha=0.75, marker='o')\n", "plt.plot(ring.locations().cpu().numpy(), 100*((by_model - by_error)/by_model).cpu().numpy(), color='blue', alpha=0.75, marker='o')\n", "plt.xticks(ticks=positions, labels=['BPM05', 'BPM07', 'BPM08', 'BPM09', 'BPM10', 'BPM11', 'BPM12', 'BPM13', 'BPM14', 'BPM15', 'BPM16', 'BPM17', 'BPM01', 'BPM02', 'BPM03', 'BPM04'])\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 10, "id": "f99d2036-a91a-4524-b904-8d8ae0430e4c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "torch.Size([32, 72])\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAvMAAAFPCAYAAADA5UFEAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABFpklEQVR4nO3de3hcZ3nv/Z+O46M0HtuJ40SxPc45HMJYDoeU02u5bLqBvmwkQqHdLW0tt/TqpkCxanYp5eVqdVl9SzkWYpeyWw7FlgqFFgrVUCgpSYiiCTQHctI4iRzjJLY0kiPrPGv/ITSxEkn3rdEaeaT5fnLNFUu6Z601z1ozevTMM8+vLAiCQAAAAACWnfILfQAAAAAA8kNnHgAAAFim6MwDAAAAyxSdeQAAAGCZojMPAAAALFN05gEAAIBlis48AAAAsEzRmQcAAACWqcoLfQCSlM1mdfLkSa1fv15lZWUX+nAAAACwTARBoLNnz2rr1q0qL597nHpkZERjY2OL2ld1dbVWrVq1qG2ELbTOfDqdVkdHh+LxuNLptJqbmxWNRl33PXnypOrq6sI6FAAAAJSY3t5eXXbZZbP+bGRkRDt2XKpTp/oWtY8tW7bo+PHjRdWhD60z39TUpO7ubklTHft9+/apvb3ddd/169dLkt5+0XtUXR6Zs+7DrzlubqvmNVGz5p4v+mYXffKnNWZNvNbeVoVjX5sigVnz0s39Zs1FG54xa57qX+c4Iml0wr48/vVndht9u++kWbN7zSVmzQdvesys2XDz7E/i51ljPwmf+cqDZs1nb9tp1jyYyZo1l6+3r6PaKrNEey/xvUhd9aqzZs3ZhyfNmgcevcisGZm0nwE/GVht1vz90/b5kKTPXHOpWXPj79vX9sgPnjBrPt5pn/87Tw+bNT3lD5s1H95+nVkjSVn7pUTZwH4HdNKxHY8Jx74q3W/I2gdV7tiWZ3eV5fa+PG3tOZ6JbHjvSId13jyt5Hn8nnb07S28c1JRZhdNOq5b3/MovHM7bv8qUVVIk6fLHW3kaUdvXbDI6214clTvuvcTuf7kbMbGxnTqVJ8ePf4V1dSsMfc3m8HBc9q+420aGxtbeZ35dDo94+t4PK5kMum+//TUmuryiKrL526cmupqc1s1q+f+Y2Daukrf1V41zx8W0yLldkfF84tqdYX9LF1XaR/P+ir77aNzju1IUpXj8ojMc76mVZTZ522+8z6tpspx/tf4HpvW2vsrd1xvqyrs7VSV251iz3W0yvFX4bpK+5glqWaVXVdWbR/3Wse1VFHmeWye68jx14zzmGrW2Nd2dcTen+e4K8vs53a547GtqfBd28XWmR8PsTNftlI78yFOLw3rvC22czWtqsQ7854/Zr08z5OwOvOeNiqmzvw0z1TtmnWrVLPOHkCa/SAcf1FdAKGc9mQyqVgsNuN7sVhMqVQqjM0DAAAAmEUoI/OZTGbW7/f1zf6W/+joqEZHR3NfDw4OhnEYAAAAwNyy2fxH2FfyyPxc5urkt7a2qra2Nnfjw68AAAAouCBY3K0IhdKZj0ajzxuF7+vrm3M1m4MHD2pgYCB36+3tDeMwAAAAgLllg2dH5xd8W8Gd+YaGhlm/X19fP+v3I5GIampqZtwAAACAgsq7I7+I6TkFFsqc+Xg8PuPrdDqt+vp69zrzAAAAQMGtwDnzoa0z397erpaWFu3evVtdXV3uNebP96GbHtP6eZYf/MC/22s6d33jlFnz7u322tiS9MV/tJed+8f3nDNrPv2Ivc50rWNpxs+dsJedfHTyXrPmfVvfYNZI0vv3PW7WTPyTvQxU3ZqtZs3ZCft4fi+5zay549t32xuSdE1wvVnz8s1XmjXvf/1DZs2q19jrnt/+UfsF4rfus9c9D3SNWSNJJ/95rVmzptI+Kddvf8qsWXe1fY1s+b797lxF2bVmjSR986S9v08228tuXhe9yqx5z6vs9eE/+I6rzRoN2Oftyx/2LXEX1tKM3iUFze04lpP0LPEneVaZD+9d8LEJR4aIY8m9sM7H1Lbs/XnOm2cZwAlPn8Vx4OGtey+NOM6JZ/nGsJav9Jzb6vLwOn9rK+1jGndkFnieb57TNpb1Te6Y8Czh6tjOfNf2gtbzpzM/t3g8rkOHDkmSGhsbw9osAAAAEI5gEZ35oDg78wVdzQYAAABA4YQ2Mg8AAAAUs7Igq7I8R9jzvV+h0ZkHAABAaWDOPAAAALBMZYP8PylfpOvM05kHAABAaWBkHgAAAFim6MwDAAAAy1QQ5L/EZMA0G9M/3r9NqyvmDk9qe/0j5jbW1K83a5J/a4cvSVL9m540az52nR12892PjZo1Ew/Z+xo7bZaoKmYH1HR8x5HQJGnjh35k1nzmqjebNb/xprRZM/SoHfjwkvQl9r6ydhiUJN2dWW3WeAJB9h+1g8xO/d2IWfPbO+3QsPv/z3az5ksfssOQJOlPHnjGrNlUZj+XBu7daNY8/s0HzJr3bN1h1vzBu06aNZL0H1/eYNZEKtaYNZ6wm5bvXGHWPNJx1qy5ttYO8box5nveenh+HS0ohGUe4WzFv62KkHboCQ1ayhAryXdOxhwrTpc5jjyssKuwzsfUtkJqTMcxhXXawnoeSVJ2Mpywp7B4z4cnyGuxz6UFPc9W4Mg868wDAAAAy1RRjcwDAAAABcNqNgAAAMAytQKn2dCZBwAAQGkIFtGZJwEWAAAAuHDKslmV5dmZz/d+hUZnHgAAAKUhCPJfYnKB90smk5KkTCajrq4u3XzzzUokEvntex6sZgMAAIDSMD1nPt/bAjQ1NSkWi6mxsVE7d+5UU1NTQR4SnXkAAAAgZO3t7TNG4qPRaEH2U1TTbDJjZRqZJ2Fi3z/FzW2cPGaH4fyvKypcx3PXt+z9feF3h+z9vSdj1lxZYYfmvCBmny5POMMrN9ltJEl9//8vmDUf+4Tdlts+9bhZs6vsFWbNH10/bta85Ao7fEuS9rywyqzp77L/An/kZ3Zo0sik3UZ39dvHc91v9Jg1R6671KyRpNtviZg1Ew88YdaMnbJDqqo2bzJr2v/Z3k7NHybNGkn63HXvMGs+8OvHzZpzPXZI010P2O3tO/9miarKfW/vZh0hNUu5uJonfCtMnrAjD89mPDWe8+Y5Z37hNLgvWMyu8Z4PT1m5I6TI05ZhbacYQ8PCCtYKKzRMkipdzwF7O/MFkFUtZPrLEq5m09DQkPt3e3u79u/fn99+DUXVmQcAAAAKJoR15gcHB2d8OxKJKBKZfZAslUrp6NGj2rt3r5qbm/Pbr4FpNgAAACgNIcyZr6urU21tbe7W2to65+4SiYQOHjyonp4edXR0FOQhMTIPAACA0pANFjHNZmpkvre3VzU1NblvzzUqPy0ajaqpqUl79+5Vf39/6HPnGZkHAABAaZhemjLfm6SampoZt9k688lkUhs2bMh9HY9PfQ4znU6H/pAYmQcAAEBpWKIPwMZisRkfgE2lUopGowVZZ57OPAAAAEpDsIgPwC5g1ZxEIqGbb75Zhw8fliR1dnaqu7s7v/0a6MwDAAAAIWtsbMz9u1Ar2Uh05gEAAFAqlnCd+aVCZx4AAAClgc58Yb32okGtrRyd8+e3PmmnZN6fvdWsefTcf3cdT3DfY2bNjrVrzZqmiy4zayYc07B+csZOQH0wsNNWL1u93d6ZpF9IbDFrdqztM2uu026zZn2VfW6TT64ya/7l5HqzRpJ23z9mH1OlnUp600t6zZpV160xa878XbVZ03P2382aR4d86XI33mcnoE6csV+0Ipfb563i+kvMmvj3zpk129fYKcGS9Og5+2Wt8xv2Ma2vsp9vN2w/ZdZEX7XarHlVyk5l/pe77JRorzDzRi1hJbJ6hZm4afE8tjDTXT3Jpb5jsms8aaNh7ctrIrAX4Ctz5LKG9dg85kstXfi2li7dN8ztjE6G0wjzteWCnmchhEYVm6LqzAMAAAAFE2SnbvnetwjRmQcAAEBpYGQeAAAAWKaYMw8AAAAsUytwZN7+NAkAAACAosTIPAAAAEpDNljENJviHJmnMw8AAIDSwDSbuaVSKaVSKUlSOp3O/RsAAAAoDtlnl6dc6E0r/AOwt9xyiw4fPixJamhoUHt7+4K3kRmr1nh27vCcr/zyE+Y21l5xnVnztX+acB3Phnd/36z59FWNZs173/iwWTOesY8nstUORai8eqNZc9tn7IAeSXrJ606YNa1XXWzWdP75WbNmKGWH73zlzp1mTc8zvr9Pv5C2a7att8N+vv/0VWbN5Hfsfe25aNisGfnMW8yaT3/M9/iv/lTGrLk8e6VZs6bMDrs6pdNmzbu32SFO935uq1kjSV/9MzsQ7JaH7XbatMoOhNvxtB1SNnKnWaIbovYxTzoHhJYypMmzK0/QTZjBSmGF9IQ1/uY9b75thfPgPNdIWGck3OsxnMYs0sFVU2W5feATWbvBPafE00RL3Y7zPZcW9DxbgSPzoXXmd+3apf7+fklSNBoNa7MAAABAOOjMz49OPAAAAIoW68zPLZPJqKOjQ5LU1dWl/fv3Kx6Ph7V5AAAAYHEYmZ9bc3NzbmQ+Ho9r79696unpmbV2dHRUo6Ojua8HBwfDOgwAAACgZIS2mk06/ewnCuPxuNLp9Izvna+1tVW1tbW5W11dXViHAQAAAMxuemQ+31sRCqUzn0qltGfPnud9PxaLzVp/8OBBDQwM5G69vb1hHAYAAAAwt+k58/neilAo02zi8bgOHTqU+zqZTKqxsXHOD8RGIhFFIpEwdg0AAAD4BMHULd/7FqFQOvPRaFT19fVqa2tTNBpVT09PXuvMAwAAAAXDB2DnlkgklEgkFrWN9scjqi6fe8T+vkE7NGjd3XZDv6B2yHU8Zz5wo1nz0S9WmDU7/saeRrRTN5g1myvWmTWDk6Nmze9escqskaS72y83a778/kmz5tUfWGPWJGrtQKA/fulxs2bTW+zQLEnSajvsKNPxiFnzmR9dYdY8OGC/LffDM3ZA1f1/ZZ+3117cb9ZIUvMbas2awXSffUxPbDZrRibtc/JfA/bzqP43B8waSfr49XaQ01c/Pm7WnLv1jFnzV9+3g7V+0mc/J7/a97hZ88HtO8waKcywI0/4jCPEJrBnc3qCpbzCyigKK+wqrBArKbwgH09NWGFP3s2UO9rbc048163nnIQV0DURYiDa8Li9rWpHsFRYoWGRCt/zNqzzNl8g1oKeZ3TmAQAAgGUqWMTc92AFz5kHAAAAit4KHJkPbWlKAAAAAEuLkXkAAACUhqwWMTIf6pGEhs48AAAASsMKnGZDZx4AAAAlIcgGCvLslOd7v0KjMw8AAIDSQGgUAAAAsEwxzaawWl/9mGqq5g7zed/3tpvbuG30AbOmceg61/Fs+P6IWfPfttrBMr9y5VVmzZMD9sJCt52usrczYoch3ePL3tG//bp90f7uVWfNmv9os0NzMt9PmzUHvr/drEkm7zJrJOkFwYvMmpdfZAdC/eEvP2zWVDfYYWe3f8Rux7fe+2OzZiz7SrNGkoZ+aF9L1eV2INiu639m1qx+oR2IddnX7UCs4Uk7WEySvmUfkj77h/Zje8GGmFnzvr0PmTWrf90Rpnfafv4f/WN7M1J4oUmrKuxPes0X4vIs+3UkzF+PkyFtbCnDrrznzLO/KscadZ7+SFihSd7z4dnfyBKek7CClarLw/vE5GpHSNN41m4jTwt5ztvEpG9BxAnHtiodjVkZVrgcnXkAAABgmaIzDwAAAMCSSqWUTCYlSV1dXTpy5Iii0Wjo+6EzDwAAgNKwhCPzyWRSBw4ckCS1tbVpz5496u7uzm/f8yABFgAAACUhCILc8pQLvi1gNZtUKqXW1tbc142NjUqlUkqn7c8ILhQj8wAAACgNSzQyn0gkdOTIkdzXmUxGkhSL2YsrLBSdeQAAAJSGJZxm09jYmPv30aNH1dDQwJx5AAAAIG8hdOYHBwdnfDsSiSgSicx5t0wmo46OjoLMl5eYMw8AAIBSMZ0Am+9NUl1dnWpra3O38+fGz6alpUWdnZ0FGZWXimxkvjIyqcrqucNcrqyx//aYHLjarPGEQUjSt57YZNbsvaTPrNmSsEOT1j40ZtaMTFaYNWNZu6a7f41ZI0m3Ddsf0vi1sYvtDa21S6prBs2aHevt83/DyA32ziQ9XPaYWXP5OTs0avhJ+2KqOtVv1qyutB/bq6teYdacmzBLJEnff2q9WbM5YoedrOqxd3hxxg7EmgzsYKnXbfGlnX3jiVqz5r4xO1lq/TOXmjUj/fZL6OrT9vlXteel2A66ClORLqe8ZMpCjbKan3dPWVeQk70133ZWrsAV97Q8nwDljmAlz/n39JPCCmjzmm93CzmUIDt1y+sYfn6/3t5e1dTU5L4/36h8W1ubWlpaFI/Hc/Pmw+7UMzIPAAAAONXU1My4zdWZ7+joUCKRyHXkjx07xpx5AAAAIG9L9AHYdDqtpqamGd+LRqNqbm7Ob9/zoDMPAACA0rBEnfl4PL6gdekXg848AAAASkIYc+aLDZ15AAAAlIZgESPzSzTSvlB05gEAAFAasj+/5XvfIkRnHgAAACUhyAYK8hyZz/d+hUZnHgAAAKWBkfnC+uvbd2pVxao5f/6Hr3vI3Mbq12w1a374V76/rH7zfjtYaDJ4gVlz5t/mfkzTVlXYgTAv2PmkWbPuGjs0alOyxqyRpPHsTrPm26fs7fzN++yr/9roBrPm3a9+2KxZ+45r7QOSpLPbzJK+Lx03aw4k7Ta64xuPmjXv3Xa5WfPFr9vpW1/9fTt8S5I+9ciIWVNbbl+3h3vHzZr05D1mzfsueZNZc+A3HzVrJEnftEuuWHeJWTPgCOD6vaR9Hd3+bTu++/rgRWbNO3faz21JmsiGEwg0HtJ2Jh0BNRWOoBuvipDykCrLPeE79nY84Tvec+ZppbGsHR8TViCWJ3zJe249LeD5Pem73uzfSZ7teMKXwnoeSdJIYJ9bbyimxXPeKp3ndnWF3d6ea2m+51uYryHLUVF15gEAAICCCZR/wG+R/s1AZx4AAAAlgTnzAAAAwHLFnHkAAABgeSI0CgAAAFiuGJkHAAAAlidG5gEAAIDlKlD+I+zF+flX2YuWAgAAAChKC+rMp1Ip7dq163nfT6fTamtrU0dHh9ra2pTJZMI6PgAAACAUQbC4WzFyT7Pp6OhQPB5XKpV63s+amprU3T2VcphOp7Vv3z61t7cv+GCqy6duc2k+ZqdtnvrCsFnzO1fYyZaS9OCx682aL73fTqR770/7zZrNgZ2AmrlnvVnz+Nf/y6z5o0sbzBpJ+qODT5s1tx5ZbdZ876l1Zs2QI23zvd+8wqy5/9hT9oYkXb/Wbu8XbNhh1nzsf9iptKtfcZFZ871Pjpo1L/6lx82aT1632ayRpO9+wk5unXjAThweO23vq3qTncr7j9+2L4BNH+mydybps1e92ax5xxvtdN+hR+1Ewhel7STZ38i+0Kzp7rdfk85N2K81ki8B0pMA6tuOLeJIfwxz6WZPKqdnd6OT4URpepItvYmsnnPiTeUMQ7kjSdVzPqTw0m0919KYYxwzrJRcL8+5LXecW09re7bjPW8envPmMV8q7/gC9lHSc+YbGxtn/X46nZ7xdTweVzKZXNxRAQAAAGFbgavZLPrPpWQyqVgsNuN7sVhs1hF8AAAA4EKZHpnP91aMFr2azVzz4/v6+ua8z+joqEZHn51WMDg4uNjDAAAAAOa1mLnvxTpnvmCr2cz3IdjW1lbV1tbmbnV1dYU6DAAAAGBKtmxxtyK06M58NBp93ih8X1+fotHonPc5ePCgBgYGcrfe3t7FHgYAAAAwr5U4zWbRnfmGhtlXRqmvr5/zPpFIRDU1NTNuAAAAABYmr878+VNo4vH4jJ+l02nV19fPOzIPAAAALLUgKFvUrRi5PwCbTCbV2dkpaWrO++7du3PLVba3t6ulpUW7d+9WV1dXXmvMAwAAAIW0EteZLwuCC//Z3MHBQdXW1ir95rdrfVX1nHUPndxkbuvcRIVZk8qscR3X5598wKw5ct2lZs1N77H/kpu43w47Gn/KDtap2mg//mNf32bWSNJv3fe3Zs3nX/CbZk3TW+zPRJzrsR9b9wNbzRpvOMWdfXbYVYXjD/B7+u0gn5Njz5g1v3+FfU2+5S/tY/7SH9jhU5L0ieN22tPOavv59uKYfb1Vl9svMbs3DJk1r3irHb4mSR/9rP2B+r/8WadZU1/2SrPmgy+02/v6a+zn9uprI2bN175kB1RJ4QYwWeYLcZm2lMez1DyvEcuV57Qt9bn1BHBVhBSs5OEJXwqTJ1hqwvEBzcmQDttzPiTfdeI5b1Xz/C45Nzmqd/7kLzQwMDDn1O3pvuajb32baubpa85ncHxM2499Zd79XAiLXpoSAAAAWA4WM11m2U+zAQAAAJa1bJmCfJeYLNKlKenMAwAAoCSsxNAoOvMAAAAoCStxmk3BEmABAAAAFBYj8wAAACgJwSLmzOc9177A6MwDAACgJKzEOfNMswEAAEBJWMoE2FQqpV27dhXokTyrqEbm7378Yq2tnDs85aYXnTC3sfpqO3yl78u+8JXjz/zArHl06LfMmhvvPm7WjJ+xY8Uil1WZNRXXbzFrdnx32KyRpB3rXmXWPHbOvoS++8/2Ma2ttEOjboifMmtqf8EXCPbKe+wgq/vuvdis+cGT9jm5N/sfZk166E1mTfaex8ya+DpfiMXbL73IrBmZtF+0fnzGPm8PT9ihSbFqu61/4fq1Zo0kXbFuzKzZ5QiE2hixQ0W+c2qVWfO1E7Vmze6UfcyeUJUp4QQ5ZUMKhBp3bKcyxHeuyxxxR57wHX97L347nvAtyXdOwho4DCsQzNuOnnPiO7d2TZjnxOI5Z5LvvI2HlD7qeWy+8C3fua0Oadh4vmvEc/1My2bLlM1zusxC7tfR0aF4PK5UKpXXvhaiqDrzAAAAQKEs1TSbxsbG/HaSBzrzAAAAKAkrcWlKOvMAAAAoCWF05gcHB2d8PxKJKBKxp3kXCh+ABQAAAJzq6upUW1ubu7W2tl7Q42FkHgAAACUhG5S5P5g8230lqbe3VzU1zy44cSFH5SU68wAAACgRYYRG1dTUzOjMX2hMswEAAEBJmF7NJt9bPjKZTKiP4bkYmQcAAEBJyGoR02wcOR7TksmkOjs7JUmtra3avXt3wZarLKrO/HdORVRdPncIy3+evtLeyL/bJa/efM51POc+9gaz5lOftt/cuPqvM2bN5Vn7sa0ps0NsnlK/WfPubXZAjyTd/7fbzJp/+jM77OYzD1WYNZtW2fPNdjy906wZucMskSS9OLrJrFlbMWnW/MOb7CCzdTuvN2u+/s/jZs1FH+g2az6+87+bNZLU/P88bNaMDtjX9pot9jBF1VX2W5G3/R/7OfnKRruNJOlPrllt1nzjI31mzVDKPqYvdl1h1jwyZr/4f77HToN523Y7oMzLG/Zi8QS1rCm3H5v3F6snECjfX9LPFVZo0Hieb+fnayHhOfOpdLR1efnSnQ8vz3lb6nOylDznvyqk56Tn+ejl2d/oPEGG8/3suZZqacqGhgY1NDTo0KFDee1rIYqqMw8AAAAUSrCID8CyzjwAAABwAa3E0Cg+AAsAAAAsU4zMAwAAoCRkf37L977FiM48AAAASsJKnGZDZx4AAAAlIRvkv8pSNrwFfEJFZx4AAAAlgZF5AAAAYJmaGpnP/77FqKg683/86uOqqZ47GOkTP7QDWu7P2EE/0hrX8fz0r+3wmddsscNnfueXa82awR57O/ed2GzWnJuImTX3DNohTpKUeOcZs+aT19uP7asft8N+zt1q7+uj37eDte4+M2LWSNKxvrRZ89Lqq82ah5+xg6zW/8T+yMzVNXZA0an32uFTf/kV37nd+QU77GqnbjBrtlbagVBnJ+3z/9s77eO+9dhas0aS/u6A/Wr78j+2X/puXG+/3nzk1fZ1FH375WaNKu1AuC+3+D565QmN8YwtLWVAk5dnf57ftZ5fyIGjlZYyfMur2MYNvS20lOfEs52KkAKRqhzBWl6eYworEMtz1GNZ34KIE46NebYU1jlhZB4AAABYprIqUzbPP3vzvV+hsc48AAAAsEwxMg8AAICSEARTt3zvW4zozAMAAKAkZIOyRSxNWZzTbOjMAwAAoCQEi5gz7/nw9IVAZx4AAAAlgWk2AAAAwDLFNBsAAABgmQpUlvd0mRUxzSaVSmnfvn3q7u5+3vclKZFIKJ1OK5PJKJFILPhgPntHXKsqVs358/e/4SFzG5HX2AEtP2yzA3ok6Vfv/6lZMzx5o1kz+AM7ECZSYQfCJK79mVmz5vqIWVP3L77QrJHJy8yab9mHpM8dsB/btVE77Op9e+zzv+Z/vsg+IEkauMos6f/7x8ya931vu1lz2+iDZk3jhuvMmppbR82aN1x62qyRpF+/zg67OtVvv2j959N22NNTI/bLzI8zZom+8T99oUnvu97e2B3vqzJrBpM9Zs0fdsbNms5v3mnWvMAR0PWbO30rCU86Ro48NZ7wGc8vtgnHdiqdvx89gUAVjm15aqrK7QBCTzt6AqE8bSR5g3zCOSaPrGNf3tCksM6JLxDKfi3xXP+eUdqRyfBWAB/1tPcShl1Vl/tek9c6tuV5Ls17/wUEuK3EBFj3VdbR0SHp2Y77+W655Rbt2rVLZWVl2r9/v+Jx+xccAAAAgMVxj8w3NjbO+bNdu3apv79fkhSNRhd9UAAAAEDYmDM/DzrxAAAAKGYlP2d+LplMJjcNp6ury5xqMzo6qtHRZ+f/Dg4OhnEYAAAAwJxW4pz5UDrzzc3NuZH5eDyuvXv3qqdn7g+Ptba26sMf/nAYuwYAAABcVuLIfCgfs06n07l/x+NxpdPpGd97roMHD2pgYCB36+3tDeMwAAAAgDlNj8zneytGix6ZT6VS2rNnT+4DsNNisbmXGoxEIopE7CUUAQAAgLCsxA/A5jUyn8lkcv+Ox+M6dOhQ7utkMqnGxkY+EAsAAICiEizyVozKgiBwHVsymVRnZ6fa2tp04MAB7d69O7dcZSqVUjKZVDQaVU9Pz4zOvcfg4KBqa2v1+Re/X2sq5h6x94QKeN4C8QZmeLblCbood4Q4LOVfe96L0dPeFY7HVpx/x9o87eR5/J7rzRNQ4qnxB7SE85K0lI9/LOsbe/AEC3l4jtvz+D01nnmYTd2t9gFJ+h+xg2bNrk12aNYN0RGz5vrNZ8yayw/auSNDX7jHrJGkMsc5+dFP7LC7x4bsd4b/zRGIV+24SP51+DtmzVvW/zd7Z5I2ROz9/cIm+7ytr5wwa276tbNmTfY33mzWlN3SbtZI0un/tAOhRobt6/ZLD19q1vz5418wa14a+X/NmjNlfWbNiyL29ShJV9bYAXzX1YyZNS+5yH5O7vjf282ac1+0n5MVq80SSdLwafu1+6fHLzZr3n3vM3P+bDIY090Df6uBgQHV1NTMWjPd1+zY9V6trcxvdsjQxKgauz86734uBPc0m4aGBjU0NMzaUU8kEnklvgIAAABLJVD+02yK9QOwoa0zDwAAABSz7M9v+d63GNGZBwAAQEkIgjIF+Y7MF+kHYOnMAwAAoCQwMg8AAAAsUyTAAgAAAMvUUibAptNpdXR05AJVm5ubC7J0O515AAAAlISlHJlvampSd3e3pKmO/b59+9Te7luudSHyCo0CAAAAMLt0Oj3j63g8rmQyWZB90ZkHAABASZieZpPvzSuZTCoWi834XiwWUyqVCvshFdc0m8mgbN7UUU8TehJZve+SeBIgPdvyJKl6hLUgknc7YaWEToaUyus5bk/arpcnVMJzbj2P36MY03bDevxhPUek8K4lD9/jD2dv/9+Vf+Kqe3LYbvCT5+ya256y9/UrY3Zq4xs/d69ZM5TxpTHWXDxq1iSuPGnWbH96rVnzqq32eft2r/34HzxRb9acm/C9SBx/Ztis+Vbf02bNy9debtZs/uo5s2b7Q39v1kzYm5EklZfZ6a6X3mQnoL6yf+6U0Gktwa+ZNcN2IK2eGLKvo/6xcXtDktJn7evth0/Zyb1vm7jIrIl++qdmzfCQHe+6cad9PUpS9Je3mDUv/Fc7cvldg3OnSQ9Pjur3BlyHE8o0m8HBwRnfj0QiikRmvo5lMplZt9HXZycHLxQj8wAAACgJ0535fG+SVFdXp9ra2tyttbXVvf+5OvmLUVQj8wAAAEChhLGaTW9vr2pqanLff+6ovCRFo9HnjcL39fUVZDUbRuYBAABQEoJFjMoHPx+Zr6mpmXGbrTPf0NAw6/7r6+2pdwvFyDwAAABKwlIlwMbjM+f4p9Np1dfXs848AAAAkK8gKFOQ58IEC71fe3u7WlpatHv3bnV1dRVkjXmJzjwAAAAQung8rkOHDkmSGhsbC7YfOvMAAAAoCUs1zWYp0ZkHAABASQhjnfliU1SdeauBPYFQntAgTxiQFF7Y0XLleWhhXdeeJ4jn/C+1sJ7YnusozMfvfQ5YlvJ1rcy5t7DCxTxt5Dn/niXQPI+tcZsdBiRJP3o6ZtacGbMXMntq2P718MSIXdP9wFazJhqxw4AkKQjOmjXrN9rBUmtW2/uLbrO3s+3MBrPmJes2mTWVznXlTo/ahT/LPmDWnBq+xKy5+7R9HZ24fZ1Zc9l6O8RJkirK7THP6NiQWRNbPWLWNFxs7+uBQTsQal1lhVnz4IAdhiVJVY5fAk+W2WFDJ4cvM2vu6LGfk5tX2dd/9Qk7xEqSqofsbZU5ngOJjXOnQj0zYe9jWqD8f3cVaV++uDrzAAAAQKFMDRznN6DFyDwAAABwATEyDwAAACxTzJkHAAAAlqmVuJqN82M3AAAAAIoNI/MAAAAoCUEwdcv3vsWIzjwAAABKQqAyZV2LGM9+32JEZx4AAAAlgZH5C8zThmGF4Ui+kB7fMS36UCSFF1Dl3YwnWGcypPb2PDZPM3qPZyn/tvb9JW8/uspyu2YiG14gmofnsfkCweyiKsfjn9pfcY2c+J7/9jFf8zurXfuL/yht1vQ9Um3WNL/CDlb6RvcOs+avHrB/zVy+do1ZI0kV5Y6Qpg2TZs1FkXF7O8GTZs3VsX6zZs9Ng2bNT+/ebNZIUmYsYtZ097/OrPFckl88bocv3Tn572bNq6vt45Gkq2vtcKXax+ztvGKjHSz2sjeeMWuu6LZrqlbb19qJE1GzRpJODtkhVTcMXWrWPHHO3tcHHrKv7Vesu9ysCXpq7J1Juuhu+/XtstX2c/ttN/bM+bPBsTHpVtfhrMgPwC6rzjwAAACQL5amBAAAAJYpQqMAAACAZWoljsyzzjwAAACwTDEyDwAAgJLAajYAAADAMsVqNgAAAMAytRLnzNOZBwAAQEko+dVsUqmUksmkJKmrq0tHjhxRNBqVJKXTaXV0dCgejyudTqu5uTn3M6+KsvmDmjxBN54QG09AjbfOE1ATVtjTUodPeQKYPJvyhP142jGs8y9JZY6npKedPMFi5WX2G3Oexz/uDIQKi+86cYRdhXb9+zbkeZqE1Zae8x+p8Jx/ezsf/aAdKiNJiehWsyYasQOhro2fNmtetsWu2RMfNWtSJy42ayTpqVE7WKi7z17XYTKww5c++dBFZs07ttvhWxdvtUOMLonZwVKSdP1V9nl77csuM2uGvnXCrKm5fadZ88KhN5g1p0d8ExNOj9hPgn/qf8SsGRi70qy5/0v2cym+1g7NunTdkFlz+TY7WEySLhm2r4E99XaX7fav2eFLayq3mTVn7Vw1PZCxr0dJ+ofM182al1fZ11L/+NzndmTSPl/TSn5kPplM6sCBA5KktrY27dmzR93d3ZKkpqam3L/T6bT27dun9vb2kA8XAAAAyE+gMvfA32z3LUbupSlTqZRaW1tzXzc2NiqVSimdTiudnhkfHo/HcyP4AAAAQDEI9Ozo/EJvRTow7+/MJxIJHTlyJPd1JpORJMViMSWTScVisRn1sVhMqVQqnKMEAAAA8DwLmmbT2NiY+/fRo0fV0NCgaDSa69g/V19f36zfHx0d1ejos/MoBwd98wUBAACAfK3EOfN5JcBmMhl1dHSYc+Ln6uS3traqtrY2d6urq8vnMAAAAAC3YJG3YpRXZ76lpUWdnZ251Wqi0ejzRuH7+vrmXM3m4MGDGhgYyN16e3vzOQwAAADALd/58osZ0S+0BXfm29ra1NLSong8rkwmo0wmo4aGhllr6+vrZ/1+JBJRTU3NjBsAAABQSMEi/ytGC+rMd3R0KJFI5Dryx44dUzQaVTwen1GXTqdVX1+/4HXmAQAAgEJZiSPz7g/AptNpNTU1zfheNBpVc3OzJKm9vV0tLS3avXu3urq68lpjvrwsUPk8QU2e9T2zQXgtHVZoUlirknoCasK8zjwXrSdYyBv2E8a+lnpG23zX67M19nY8be25Hv2BaK4yU6UjEMxjwhHi5AkNC5PnvHnOvy+gzN7ZX5z0Lfdb/7NXmjU7a+xgmbGHo2bN67faoTF7r3nMrHlJ8KRZI0lrau0kmz1nVpk1Tw/aoUGZMTtYqru/wqz53X+JmzW7N/vG1TYfnzRrbvyxHeQ1PB4za96+u8esWfey9WbNk9+2Q8Mk6fjT9jH94rAddvSAndGlI7329Va/dotZM561r7Vrn9hkH5CkiyN2uNZ1P7MXC9mwym7v97/llFmTvqvWrBmbtK9/SXr07JvMmsyY3R39Wu/crzfjgSPl6udKOgE2Ho8rmKejHI/HdejQIUkzV70BAAAAigGr2QAAAAAoGnTmAQAAUBKCYHG3QkmlUtq1a1de96UzDwAAgJKQXeStEDo6OiRNdejzsaAEWAAAAGC5KsY584v9rCmdeQAAAJSGxUyXKdIPwNKZBwAAQElYzHSZ6fsNDs5cJjQSiSgSsZezLRTmzAMAAKAkhPEB2Lq6OtXW1uZura2tF/QxFdXIfDYomzdgyJNzE2awkmdulGd/nmCZsIKVPKFBnvChYhTmUYf1TpnvvNl7K9J37kxhBYuFKayQLo+wnrcel5Rd66qbCOwxp8yoXfPgyBmz5gXn7ECcEz+tMWu818iqdXYwzIYtw2ZNZaUdvnRlzA7EejK1w6y5bdJu656zvnG1HtkhPY+es8OOLl1tP/7t2/rMmrINdvhWtM4OOpKky8btuisvsc/J4IOXmzUbAzsQadSRUtc/NmHW3Nfv62b1rbHP7YlhO+ztpo3PmDXla+1j2lB7zqzxhLhJ0hUR+7Xk+IN2aNjtpzfO+bOxrH1NTwtjZL63t1c1Nc++ts02Kn/48GH19MwdvrZ37141NDTkeSQzFVVnHgAAAChmNTU1Mzrzs2lubl6io2GaDQAAAEpEEASLuhVaJpNZ8H0YmQcAAEBJKMalKZPJpDo7OyVJra2t2r1794KWq6QzDwAAgJIQKP/PqRVqXL6hoUENDQ06dOhQXvenMw8AAICSUIwj84tFZx4AAAAlgc48AAAAsExNTbPJr1depH15OvMAAAAoDStxZJ6lKQEAAIBlqqhG5q1PGFeV238SlTneBBnP+v6GCRyZo563asJKifQkyS5l+qWXI0jPddyedFtvkqSnDTznzfPYJgL7evM8tkpHzVLzpAl72sjDe27DSor28Dy2Mcfrjef8/9lVdtqqJP3g6VVmzcCYvb+e7I/MmjtP/5JZc+uT9nG/bqvvhGwbsNNkX/riE2ZNzcWjZs2adybMmps+8qBZE6u2ky3vzlSbNZLU9bSduPmpXjtWvj66z6y5tuYis+a675wya6o3+c7tpsuHzJrVv/ois+bVHzlub6dis1nzgCOVd3TATm29c9Q+HknaPGwfU9fo182aP9avmTXxO/vNmuqInW675oY1Zo0kBftvNmuu/Vy7WfP2L8x9jQxNjOpvf+Y6HAXB1C0fS7DMfF6KqjMPAAAAFEqgQNm858wXZ2+ezjwAAABKAiPzAAAAwDKV/fkt3/sWIzrzAAAAKAlBECjIc4g93/sVGp15AAAAlISVuDQlnXkAAACUhOwiPgCb7/0KjXXmAQAAgGWKkXkAAACUhECLWM0m1CMJT1F15q15TBNZT/hESGkw8gW5eIQVmrSUAT2SL1jHsztv2I9lqR9/sal0hKb5niPhtZMnWM0zx9DzXAsr6EnyBbB5QsM8j9/Dc23/4m2/6NrW6z7zD2ZN/61jZs2fjL/QrPnCT+03dz/ymH08Tz72RrNGks6UnTFrXvjITrPmilo77OeqOzJmzcu22Nv5xb+wg65e+ZX7zBpJqlhrXyfjmV8xax54cLVZ879+YocG3XGrHfTz1k0HzBpJ2rXJ7o7survPrLly06RZc/On15k1Q5+/x6zx+OF/Xeaqe+xcxKyJPfE2s+b+jP34E9+/36xpqrFfbzakfK9/r/3yv5k1qyvWmjU3vXPu0KjB4THpTtfhrMhpNkXVmQcAAAAKJQjyH2Ev0sVs6MwDAACgNDAyDwAAACxT2WARnfkiHZqnMw8AAICSEPz8v3zvW4xYmhIAAABYphiZBwAAQEkIJGUXcd9iRGceAAAAJaHkPwCbSqWUTCYlSV1dXTpy5Iii0WjuZ5KUSCSUTqeVyWSUSCTCPVoAAAAgT0GwiDnzK+EDsMlkUgcOTAVAtLW1ac+ePeru7pYk3XLLLTp8+LAkqaGhQe3tdpjEc1WUzR8M4wm68YS4eMOgwsqoCSvsZqkDkTxhT56H5gno8Rh3BCKFFeIjSWWOJ7vn3JaX2W/oeQKKPI9/qS1l2JP3OvIEMIXVlpWOYyp3hH15jL/3b1x1k6N2TRBUmTWbX25v5xVPnTVrPqh3mDUDdoaVJOnkOTvs58zouFnz6Fn7/P/g6XNmzUj2IrNm3SceNmvGRteYNZK0+Qr7mNa+4XKz5pryx82adw3a4VtvHvmAWXPCPmRJ0uND9vPk1iftkK63brvErHnDZ+81a84N2iFONZvtJ9uNVz1h1kjSFU/b1/aeS+3tfOfExWZNune3WTM0YZ+PnmdG7AOS9K0zGbPmpevs8xY9Ond7PzPh/wjoShyZdz/6VCql1tbW3NeNjY1KpVJKp9OSpF27dqm/v1/9/f3q7OzMjdgDAAAAxWC6M5/vrRi5R+YTiYSOHDmS+zqTyUiSYrFY7nt04AEAAFCsprvl+d63GC1omk1jY2Pu30ePHlVDQ0OuA5/JZNTR0SFpaj79/v37FY/HwztSAAAAYBFW4jSbvFazme64T8+Xl6Tm5uZcxz4ej2vv3r3q6emZ9f6jo6MaHX127tPg4GA+hwEAAACUtLxCo1paWp43L3567rw01ZlPp9Mzvne+1tZW1dbW5m51dXX5HAYAAADgthLnzC+4M9/W1qaWlhbF43FlMhllMhmlUint2bPnebXnz6c/38GDBzUwMJC79fb2LvzIAQAAgAXILvK/YrSgznxHR4cSiUSuI3/s2DFFo1HF43EdOnQoV5dMJtXY2DjnB2IjkYhqampm3AAAAIBCCsoCBWXZPG/FOTLvnjOfTqfV1NQ043vRaDQ3V76+vl5tbW2KRqPq6enJa515AAAAoFCCRUyXyTdsqtDcnfl4PD5v8lUikVh04mt5WTBvMMxEYL+RkHW0szcupsoR9uIJ+1muPG3pC00KZ18eYW1H8j42R2hQSI8/zMfmEVZoWFi8zzVPO3nCxTyhYZ7z7w2ps3Tevs1Vt23dkFlTXTFp1tQ4gl6iETs0p+HiCbPm/gHfu7OxiP074MGBarPG89we0rBZc3LYPu5bj9tJP1tW+cJ3Ko7bb/FvuSZj1mTH7Aa4IdZv1rwiYgd0/ejUZrNGkp4ctQOh+kftLsuJYXs7tz1wmVmz0XFtbxl/xqyp3WhfR5K0ZrW9vw3b7ZrtfVGzpr529inQ56t0PEcyY3ZbS9KT2dkXQznf6WE7gK3r6bmPe9iTlvdzWWVVlud0mUJNs0mlUkomk5KmVoQ8cuTIgpZ7z2s1GwAAAGC5KcZ15pPJpA4cOCBp6rOpe/bsmbFipCWv1WwAAACA5SZbll3ULWypVEqtra25rxsbG5VKpeZcEXI2dOYBAACACyCRSOjIkSO5rzOZjKS5V4ScDdNsAAAAUBLCmDP/3LDTSCSiSCSS9zE1Njbm/n306FE1NDQsaM48I/MAAAAoCWGsM19XVzcj/PT8aTKLkclk1NHRseAVIRmZBwAAQEkI4wOwvb29MzKSZhuVP3z4sHp65l7JZ+/evWpoaJjxvZaWFnV2di5oVF6iMw8AAIASkdWkymQvzzvXfSW5Ak+bm5sXtO22tja1tLTkglkluTv1TLMBAABASQhysVH53AoT+NLR0aFEIpHryB87dmzlrjPvCV/xxMp4wnCk4guE8h73UvJc1hPZcA7c8/g9IT6SL1io2NrbE3TkDSgK66GFFZrluUYmQ3wN9QVChbc/i+fcvvOBb7u29Zqq15s1V0erzJrVj9lhP6/abIfm3PRLT5s1dT/JmDWSVLXaHk174omoWfOzoTVmTWLIfvwnHHlAf9bzpFnz8nV2sJQkTR5fZ9Zs+Il9LV2+9mKz5u0JO+in5hc3mjWX3OVbXq8vvdqs+fVddjDQN+/ZYdYcftgex6xbZweCVZTVmjX1Md8I8MZqO4ArUXHKrLlyQ8asee3LBs2a+35shzhlxuyANkm6q/+VrjrL0cfmDlcbD+z2m5Yty6oszyUmCxEalU6n1dTUNON70Wh0QSP7y6ozDwAAAORrappNfhNTsnlOz5lPPB5XECxutIppNgAAAMAyxcg8AAAASkT+q9moANNswkBnHgAAACUhG0wq34kpU/ctPnTmAQAAUBLCWGe+2NCZBwAAQEkINKkgz5H5oAAfgA0DnXkAAACUhKnlJYtnacow0JkHAABASZgOjcr3vsWoqDrz49lyjZXN/dZHdbnd+FWOd048gUGSNOkIjfJsyxMIE1aITZg5N5Xl9jGNTtp7HHe0Y6XjwD3n3xv042lvz/kfd4QdhXX+wwpNk3zn1nNte9rIE/YU1vNIkiod7VTluJY8j20sa7/gTIT02v+ui97kqntq2N5h/6hd8/Vzj5g1w5NXmjX3/sNas+bKdXOHwZxv69ohs6bu8oxZs2XEDs157cvsYK0fdUTNmnWVl5k1mTGzRJL0QMYOxvlK5qtmzcur3mjW9I9dYR/QHXbJS2MRu0hSLGIHQl13pX2dvOKSp8ya119jp33ddfwSs+bpUTs0qauvwqyRpvo/lo8/aAc5vX273d5vutgOe9sas58jL7zSPmeStOflW82aZ7550qyJ3blzzp8NTwbqHHAdjoJg0v37ZLb7FiPWmQcAAACWqaIamQcAAAAKhTnzAAAAwDI1tZpNntNsWM0GAAAAuHCCYBHrzAeMzAMAAAAXDNNsAAAAgGVqJa5mQ2ceAAAAJYF15gEAAIBlamrOfL4j88U5zYZ15gEAAIBlalmNzGcdiYxyvAXi246PJ3E0Gyzd2zKePXkfvSeV0/P4q0J6W8pz3rzpvr7zFmae7vw8x+NJgPUesye51sOTkurhScD1JLt6+dKdl/D8O2o+/AE72VKSnvqmnW55/KkNZs3rRy83a+51JC7+3Qn7uF+y1k62lKTxrJ1uec3JTWbNRRF73uu1T9gpmTXVdgLmu998yqxJ31Vr1kjSpCMltPkZOyn49Kidbvu1Xjtt9o5JOwK26+mXmjWSFK9ZY9aMp6Nmzeu22HG6e65+zKx50ah93a5eb7fRq/pWmzWS9OTgOrOmz5E4+5MBO3H29/51h1mze7N9rV38mG/++EvvfdqsOTdqvyb9yo09c/5scGxMf3C/63AkTS6iV8KceQAAAOCCmZoqs7Km2dCZBwAAQEmgMw8AAAAsU1llVZZ3AiydeQAAAOCCYWQeAAAAWKYWE/xEaBQAAABwAU0FP62s0CjWmQcAAACWqQWNzCeTSUlSJpNRV1eXbr75ZiUSCUlSOp1WR0eH4vG40um0mpubFY1GQz9gAAAAIB+Lmfe+IubMNzU16bvf/a4aGhrU19enpqYm9fT05H7W3d0taapjv2/fPrW3ty/oYMrLgnmDcTxvboQVYhMmTyDQUvK+SeRpS89Dqwjp8XuO2xsalW+U83Mtx9Awyd9OFk/Yk6etPe1Y7gyN8oQ9LWXYVVVI139ZrR2qI0nRbRmz5vIJO+3p6rV2IE7m/m1mzcayGrNm3HlB9o1OmDX39du/1jJr7WCd3nN2kNOrNtvBUmWr7X1tqD1n1kjS2o12INLONX1mzeP32Y/t9tN2kNfWs1eZNePO6Qz9o3bdw8MZs+aaGjt8qPd++/GXOV5vVq2xr8cNF/vObWWlPRf7yhr7/J/+r+1mze2Tdlsff8a+bh99xteF7B2+xKzZusp+/Nt39s/5s7IFzDMp+c58e3t7biReUm7kPZ1Oz6iLx+O5UXwAAACgGCxmecliXZpyQXPmGxoacv9ub2/X/v37JU1Nv4nFYjNqY7GYUqlUCIcIAAAALF4QZBd1K0YLXs0mlUrp6NGj2rt3r5qbmyVNzaGfTV/f7G/3jY6OanR0NPf14ODgQg8DAAAAWJCVOM1mwavZJBIJHTx4UD09Pero6Ji3dq5Ofmtrq2pra3O3urq6hR4GAAAAsEDZRd6KT17rzEejUTU1NWnv3r3q7+9XNBp93ih8X1/fnKvZHDx4UO9973tzXw8ODtKhBwAAQEEV48j8fKtFerhH5pPJpDZsePZT4vF4XNLUh1/Pn0t/vvr6+lm/H4lEVFNTM+MGAAAAlJqmpibFYjE1NjZq586dampqWtD93SPzsVhsRqc9lUopGo3O+pdDOp1WfX0968wDAACgaBTjajZzrRbp5e7MJxIJ3XzzzTp8+LAkqbOzM7eu/PSBtLS0aPfu3erq6lrwGvMAAABAIQVBoHznvgcFyo2Za7VIr7KgUEe2AIODg6qtrdXnX/x+ramIzFk3lrVnBU04Hk2VM3zGE3bkDbIJgyfoJqwwIMkX9lPpePyRCvtJ43lsI5PhnH+vSsf5ry63H5svWMquCfP8e86tJxAprEAwj8py34MbnbQPatzRlp7zv8pxbc8XhLcQr73ucVfdqs32/rLDds3qX7vBrHn0I4+YNT9+apNZc+9AtVkjSQ8P2sEyPx6122ljsNGsuWP4mFnzgW2/bdb86pUnzZrVq+yALkna/Bo7yCd419vNmvLP24NtXX+/yqwZmqgya773lC/s7MyofU22D3zTrHn9mtebNUPj9vP2dZfabb19zahZ84obes0ar7W/cYNZc+LPHzJrHj4dM2u6++3z1vW0HZolSe1nDpk1L61tNmv+6oVz9w+HJka1945PaWBgYM6p29N9zfLyGpWV5ffLKwgCZbOD8+4nX9OrRW7cuFEHDhxY0H0XvJoNAAAAsByFsc784ODgjNv5y63nayGrRT5XXqvZAAAAAMtPVnK8Oz27qXeQnrsC44c+9CH96Z/+6YzvHT58WD09PXNuae/evc9bQGa21SI96MwDAACgNASL6Mz/fGZ6b2/vjGk2kcjzpwBNB6taksmkmpqa1N/fL2nmapHe5SnpzAMAAKAkBI7Pg1n3DXNZ9YWsFjkXOvMAAADABWCtFulBZx4AAAAlYvFz5sPW2NiY+7d3es756MwDAACgRASL6JNf8NXcZ1UUnfnppe6HJ+df2mc8pHXmx1ln3snen2cN7UlHOIPnsY0W4TrzE8HyXGfeNypRZOvMOyMxPOvMT4S0znzWcW2Htc784NiYq27MsV531rGp8aERs+bsuL2hc8bruiSNTPoCXMayntcS+5gmAvuYAsdze2QynDaaqPCtMx8ZdqwzPzhk1pQP28c0NGE/AYYm7DYadfzelqQxx4tXNrBzBsay9rkdd5zb4Um7rYcm7H0NjvnOrcdkSM9Jz3F7cl3Gs/b5mGKf2wnH83ZonmXthyam7u+LTgoWNW++GBVFaNSJEyeet8wPAAAA4NXb26vLLrts1p+NjIxox44dOnXq1KL2sWXLFh0/flyrVtnBakulKDrz2WxWJ0+e1Pr161VWVqbBwUHV1dU9b+kfFAbtvXRo66VFey8d2npp0d5Lh7ZeWvm0dxAEOnv2rLZu3ary8rnfVRgZGdGY813OuVRXVxdVR14qkmk25eXls/4lFebSP7DR3kuHtl5atPfSoa2XFu29dGjrpbXQ9q6trTVrVq1aVXQd8TD4JrMBAAAAKDp05gEAAIBlqig785FIRB/60IdmjcdF+GjvpUNbLy3ae+nQ1kuL9l46tPXSor0Xrig+AAsAAABg4YpyZB4AAACAjc48AAAAsEwVxdKU50un0+ro6FA8Hlc6nVZzc7Oi0eiFPqwVI5VKad++feru7p7xfdo9fKlUSslkUpLU1dWlI0eO5NqU9g7fdFtnMhl1dXXp5ptvViKRkER7F1JLS4sOHjzItV1AqVRKkpRIJJROp5XJZLi2CyiZTCqdTisej0uSGhoaJNHWhdDR0ZFr3+e2Je29AEGRSSQSuX/39PQEjY2NF/BoVpb29vagu7s7mO200+7hO3To0Ix/n9/GtHf4otFo0N3dHQRBENxyyy1BPB7P/Yz2Lozp15P+/v7c92jr8DU3NweSAklBQ0MD7V1AnZ2dQXNzcxAEU+3J60hhTV/X59+mf3fS3n5FNc0mnU7P+Doej+dG27B4jY2NudGc89Hu4UulUmptbc193djYqFQqpXQ6TXsXSHt7+4zr+/yR4vPR3uE5f/Ry+uvz0dbh2LVrl/r7+9Xf36/Ozk6u7QLav3+/Dh06JGmqPTs7OyXR1oWQyWTU3t6uIAhyt0OHDunAgQO09wIVVWc+mUwqFovN+F4sFsu9xYjCoN3Dl0gkdOTIkdzXmUxG0lS70t6FMf1WrTTVsd+/f78kru9C6ejoUGNj44zv0daFE41GnzfFgPYOVzqdVl9fn6LRqFKplDKZTO6PVdq6MM5/DTn/NYX2XpiimjM/3eF5rr6+vqU9kBJDuxfG+S9SR48eVUNDg6LRKO1dQKlUSkePHtXevXvV3Nwsieu7EDKZzKxzV2nrwshkMuro6JA09fmb/fv3Kx6P094hS6VSisViuXnchw8fVjweV2NjI21dAOe/hmQyGfX19eX+eKK9F6aoOvNzmeukorBo93BM/yJ+7oeOZ6vD4iQSCcXjcbW0tMw6cnw+2jt/x44dy/2x5EFbL875H/yLx+Pau3evenp65qynvfPT19endDqdG3hpbm7Whg0bFMwTx0Nbh6OlpSU3vWk+tPfsimqaTTQafd5fXdNveaFwaPfCamlpmTHPlfYurGg0qqamJjU1NeVGkGnv8CSTSb31rW+d9We0dWGcP394emWPdDpNe4csHo/PmM40/f9UKkVbF1Amk1EymZzRlrT3whRVZ/78Oa/nq6+vX+IjKS20e+G0tbWppaUl95Z4JpOhvQsgmUxqw4YNua+n36qdHmWbDe2dv2PHjunw4cM6fPiw0um0WltblUqlaOsCSKVS2rNnz/O+H4vFaO+Qnf9h7ueirQvnrrvuel4nnfZemKKaZvPcJ1I6nVZ9fT1/iRXA+XNeaffC6OjoyE37yGQyuakJs62lS3svznM7NtMjaXOt3kR75++5v2T379+fm8P9XLT14sXj8RnTD5LJpBobG2f9QCztvTjxeFz19fW534/TqzXxOlJY059VOB/9koUpqs68NLUKRUtLi3bv3q2uri61t7df6ENaMZLJZG6ZrdbWVu3evTs3p5h2D1c6nVZTU9OM703PwZRo77AlEgndfPPNOnz4sCSps7NzxmcUaO/wZTKZXHsfOnRI+/fvVyKRoK1DFo1GVV9fr7a2NkWjUfX09MxoU9o7XNPtuWvXLnV3d+d+Z57/M9o6fLMNBtDefmXBfJ/sAAAAAFC0imrOPAAAAAA/OvMAAADAMkVnHgAAAFim6MwDAAAAyxSdeQAAAGCZojMPAAAALFN05gEAAIBlis48AAAAsEzRmQcAAACWKTrzAAAAwDJFZx4AAABYpujMAwAAAMvU/wWV+vfxy2EcGAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Compute (measure) ORM for lattice with errors\n", "\n", "orm_error = ORM(error, fp, [], limit=1, start=0, epsilon=None)\n", "print(orm_error.shape)\n", "\n", "data = orm_error.clone()\n", "data[data==0.0] = torch.nan\n", "\n", "plt.figure(figsize=(34/4, 72/4))\n", "img = plt.imshow(data.cpu().numpy(), cmap='magma', interpolation='nearest')\n", "cax = plt.gcf().add_axes([plt.gca().get_position().x1 + 0.01, plt.gca().get_position().y0, 0.02, plt.gca().get_position().height])\n", "plt.colorbar(img, cax=cax)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 11, "id": "499f40e2-033b-46d6-84c7-eb07aaa02505", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot difference of model and observer ORMs\n", "\n", "data = (orm - orm_error).clone()\n", "data[data==0.0] = torch.nan\n", "\n", "plt.figure(figsize=(34/4, 72/4))\n", "img = plt.imshow(data.cpu().numpy(), cmap='magma', interpolation='nearest')\n", "cax = plt.gcf().add_axes([plt.gca().get_position().x1 + 0.01, plt.gca().get_position().y0, 0.02, plt.gca().get_position().height])\n", "plt.colorbar(img, cax=cax)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 12, "id": "92d3b9b0-723a-4e2c-8cbe-2d7980aa1ec2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True\n" ] } ], "source": [ "# Define parametric ORM\n", "\n", "def ORM_knks(knks):\n", " kn, ks = knks.reshape(1 + 1, -1)\n", " return ORM(ring, fp, [kn, ks], ('kn', ['Quadrupole'], None, None), ('ks', ['Quadrupole'], None, None), limit=1, start=0, epsilon=None)\n", "\n", "# Test correction with exact error values\n", "\n", "print(torch.allclose(orm_error, ORM_knks(torch.cat([error_kn, error_ks]))))" ] }, { "cell_type": "code", "execution_count": 13, "id": "aeecefd7-016c-432e-a7b6-62b7d07bead7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "torch.Size([32, 72])\n", "torch.Size([32, 72, 56])\n" ] } ], "source": [ "# Parametric ORM is differentiable with respect to deviation groups\n", "\n", "# Set deviation tensors\n", "\n", "kn = torch.zeros_like(error_kn)\n", "ks = torch.zeros_like(error_ks)\n", "\n", "knks = torch.cat([kn, ks])\n", "\n", "# Compute derivative of model ORM with respect to kn and ks deviations\n", "\n", "response = torch.func.jacrev(ORM_knks)(knks)\n", "\n", "print(orm.shape)\n", "print(response.shape)" ] }, { "cell_type": "code", "execution_count": 14, "id": "c49a9fbc-e118-44e1-8afe-584170fa056d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor(3.1476, dtype=torch.float64)\n", "tensor(0.1936, dtype=torch.float64)\n" ] } ], "source": [ "# Test ORM response\n", "\n", "error_knks = torch.cat([error_kn, error_ks])\n", "\n", "matrix = response.reshape(-1, *knks.shape)\n", "\n", "print((orm_error - (orm + (matrix @ (0*error_knks)).reshape_as(orm))).norm())\n", "print((orm_error - (orm + (matrix @ (1*error_knks)).reshape_as(orm))).norm())" ] }, { "cell_type": "code", "execution_count": 15, "id": "5f7ca0c6-29fb-4b77-9de5-d2b66c47c675", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor(3.1476, dtype=torch.float64)\n", "tensor(1.5975, dtype=torch.float64)\n", "tensor(0.8304, dtype=torch.float64)\n", "tensor(0.4394, dtype=torch.float64)\n", "tensor(0.2358, dtype=torch.float64)\n", "tensor(0.1279, dtype=torch.float64)\n", "tensor(0.0700, dtype=torch.float64)\n", "tensor(0.0385, dtype=torch.float64)\n", "tensor(0.0213, dtype=torch.float64)\n", "tensor(0.0118, dtype=torch.float64)\n", "tensor(0.0066, dtype=torch.float64)\n", "tensor(0.0037, dtype=torch.float64)\n", "tensor(0.0020, dtype=torch.float64)\n", "tensor(0.0011, dtype=torch.float64)\n", "tensor(0.0006, dtype=torch.float64)\n", "tensor(0.0004, dtype=torch.float64)\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Perform correction (model to experiment)\n", "\n", "lr = 0.5\n", "\n", "kn = torch.zeros_like(error_kn)\n", "ks = torch.zeros_like(error_ks)\n", "\n", "for _ in range(16):\n", " orm_fit = ORM_knks(torch.cat([kn, ks]))\n", " dkn, dks = - lr*torch.linalg.lstsq(matrix, (orm_fit - orm_error).flatten(), driver='gelsd').solution.reshape(1 + 1, -1)\n", " kn += dkn\n", " ks += dks\n", " print((orm_fit - orm_error).norm())\n", "\n", "# Plot final quadrupole settings\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.bar(range(len(error_kn)), error_kn.cpu().numpy(), color='red', alpha=0.75, width=1)\n", "plt.bar(range(len(kn)), +kn.cpu().numpy(), color='blue', alpha=0.75, width=0.75)\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.bar(range(len(error_ks)), error_ks.cpu().numpy(), color='red', alpha=0.75, width=1)\n", "plt.bar(range(len(ks)), +ks.cpu().numpy(), color='blue', alpha=0.75, width=0.75)\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 16, "id": "fb98a53a-cdb5-489f-935e-a81533b1c1d8", "metadata": {}, "outputs": [], "source": [ "# Apply corrections\n", "\n", "lattice:Line = error.clone()\n", "\n", "index = 0\n", "label = ''\n", "\n", "for line in lattice.sequence:\n", " for element in line:\n", " if element.__class__.__name__ == 'Quadrupole':\n", " if label != element.name:\n", " index +=1\n", " label = element.name\n", " element.kn = (element.kn - kn[index - 1]).item()\n", " element.ks = (element.ks - ks[index - 1]).item()" ] }, { "cell_type": "code", "execution_count": 17, "id": "bddcdb7d-aee7-4c75-bd53-ad116293d9aa", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Compare ORM with model before and after correction\n", "\n", "orm_lattice = ORM(lattice, fp, [], limit=1, start=0, epsilon=None)\n", "\n", "data = (orm - orm_error).clone()\n", "data[data==0.0] = torch.nan\n", "plt.figure(figsize=(34/4, 72/4))\n", "img = plt.imshow(data.cpu().numpy(), cmap='magma', interpolation='nearest')\n", "cax = plt.gcf().add_axes([plt.gca().get_position().x1 + 0.01, plt.gca().get_position().y0, 0.02, plt.gca().get_position().height])\n", "plt.colorbar(img, cax=cax)\n", "plt.show()\n", "\n", "data = (orm - orm_lattice).clone()\n", "data[data==0.0] = torch.nan\n", "plt.figure(figsize=(34/4, 72/4))\n", "img = plt.imshow(data.cpu().numpy(), cmap='magma', interpolation='nearest')\n", "cax = plt.gcf().add_axes([plt.gca().get_position().x1 + 0.01, plt.gca().get_position().y0, 0.02, plt.gca().get_position().height])\n", "plt.colorbar(img, cax=cax)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 18, "id": "c3f6a96b-b7be-4139-b0ea-993b2fe710ae", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABjYAAAC+CAYAAACWEzYrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB3yUlEQVR4nO3deXhU5fk+8HuSkEA2EsK+k4AEZF8UlLiwqXWpVXDXWq1E22qtVqm1i/bb1h+odV8StVasa7DWihskahtcgbAoiCJBdggEspBlkpk5vz9uD2cme0KSc2bm/lzXXMnMZDlzzsxZ3ud9nsdlGIYBERERERERERERERGRIBBh9wKIiIiIiIiIiIiIiIi0lAIbIiIiIiIiIiIiIiISNBTYEBERERERERERERGRoKHAhoiIiIiIiIiIiIiIBA0FNkREREREREREREREJGgosCEiIiIiIiIiIiIiIkFDgQ0REREREREREREREQkaCmyIiIiIiIiIiIiIiEjQUGBDRERERERERERERESCxjEFNgoKCjB58uR6jxcWFmLx4sVYunQpFi9ejJKSkmP5NyIiIiIiIiIiIiIiIgAAl2EYRlt+cenSpUhNTcXkyZNR909MnjwZa9asAcAgx8KFC5GTk3PsSysiIiIiIiIiIiIiImGtzYGNo3/A5QoIbBQWFmL+/PlHAxsAkJycjMOHDx/LvxEREREREREREREREUFUe//B3Nxc9OjRI+CxHj16oKCgAJMmTWr2930+H/bs2YOEhAS4XK72XjwREREREREREREREXEYwzBQXl6O/v37IyKi6S4a7R7YaKyfxqFDhxp83O12w+12H72/e/dujB49ur0XS0REREREREREREREHG7nzp0YOHBgkz/T7oGNxjQW8Ljnnntw991313t8586dSExM7OClEhERERERERERERERu5WVlWHQoEFISEho9mfbPbCRlJRULzvj0KFDSEpKavDn77jjDtxyyy1H75sLn5iYqMCGiIiIiIgEB58P2LABKC4GUlKAceOAZtLnRURERESkvpa0qGj3wMbs2bORlZVV7/EpU6Y0+PMxMTGIiYlp78UQERERERHpHPn5wP33A5s3A243EBMDpKcDt94KZGTYvXQiIiIiIiGnXaYQ+ZeZSk1NDXiusLAQU6ZMaTRjQ0REREREJGjl5wM33gisWwckJgKD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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABjUAAAC+CAYAAAB9JI0oAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB12ElEQVR4nO3deXhU5fk+8HuSQCBAEhIW2UQGkU2QVdSC2gpubd0KLl2sK2nrUsVKpFq3ogh111qBurcugFt/UlsJX21RFiERgwgUGWTfs5J9Muf3x+3JzCSTZDLMzDkzc3+ua65klmTOzJk5y/u8z/M4DMMwICIiIiIiIiIiIiIiYnNJVi+AiIiIiIiIiIiIiIhIMBTUEBERERERERERERGRmKCghoiIiIiIiIiIiIiIxAQFNUREREREREREREREJCYoqCEiIiIiIiIiIiIiIjFBQQ0REREREREREREREYkJCmqIiIiIiIiIiIiIiEhMUFBDRERERERERERERERiQorVC2A3Ho8He/fuRZcuXeBwOKxeHBERERERERERERGRuGcYBsrLy9G7d28kJTWfj6GgRiN79+5Fv379rF4MEREREREREREREZGEs2vXLvTt27fZ+xXUaKRLly4A+Malp6dbvDQiIiIiIiIiIiIiIvGvrKwM/fr1axijb46CGo2YJafS09MV1BAREZGI8HiAwkLgyBEgOxsYORJoIbNWREREREREJGG01hZCQQ0RERGRKFqxAnjsMWDzZqCmBkhNBYYMAe64A5g0yeqlExEREREREbE3zQkUERERiZIVK4BbbgHWrwfS04F+/fjzyy95+4oVVi+hiIiIiIiIiL0pqCEiIiISBR4PMzRKSoATTgCSk3l7p05A//5AaSnw+ON8nIiIiIiIiIgEpqCGiIiISBQUFrLkVI8e7KWxeTOwaRNQXQ04HED37rxeWGj1koqIiIiIiIjYl4IaIiIiIlFw5Ah7aFRXA7t38za3G/jmG97WoQNQW8vHiYiIiIiIiEhgCmqIiIiIREF2NktLffstr2dlAR07egMbpaVA+/Z8nIiIiIiIiIgEpqCGiIiISBQYBlBVxWyMzEzg+OOBE09kYKOuDti6lbeNHGn1koqIiIiIiIjYl4IaIiIiIhG2ZQtwzz1Anz5ARgYDHBUVvK9XL6C+HkhKAiorge3brV1WERERERERETtT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UUJlA7TE6s+nuV7MBlxWH0haIdLroCXBbD8SmZXrxi6sfg9ycnIwZcqUhE6Bb4mV6ycvL8/vhGrBggXIzMyM6/2rle/33LlzsW3btoYLACxbtkzfDR9Wfx/sdE5k5XvhdDoxbty4hu3DggUL/CYYJSqr96eA9eeEVrP6vEcCs3q92OVY0+pxvUQ7pmsLK9dNoh//qfxUHJozZw7eeustABwIHDNmDPLz849pZ5mbm9tiM7tly5YhJycHubm5GDNmDBYvXgzA++UcO3Zsw7KY9yUqO60fU7RniNjpPXA6nVi8eDGmTZvWUAJg+fLlCXtwaad1A3CQJi8vD5mZmZg1a1bMDvy2hRXrIDc3t2GmzdixY/3WQ2vbj0Rit3XT0n2RYqf3wDzBajwTKT8/v+HgP9HYaf1MnjwZCxYsaBggi8f9q53eb2nKTuvH6nMiO70XABqOvefOnQun04nly5eHvByxym7rxFyORAou2e28R9t3stN6sfJY007vQyIc07WFndZNonMYhmFYvRAiIiIiIiIiIiIiIiKtUfkpERERERERERERERGJCQpqiIiIiIiIiIiIiIhITFBQQ0REREREREREREREYoKCGiIiIiIiIiIiIiIiEhMU1BARERERERERERERkZigoIaIiIiIiIiIiIiIiMQEBTVERERERERERERERCQmKKghIiIiIiIiIiIiIiIxQUENERERERERERERERGJCQpqiIiIiIiIiIiIiIhITFBQQ0REREREREREREREYoKCGiIiIiIiIiIiIiIiEhP+P+NnwBGIFtSTAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Compare twiss parameters with model before and after correction\n", "\n", "(nux_model, nuy_model), (ax_model, bx_model, ay_model, by_model) = task(ring)\n", "(nux_error, nuy_error), (ax_error, bx_error, ay_error, by_error) = task(error)\n", "(nux_lattice, nuy_lattice), (ax_lattice, bx_lattice, ay_lattice, by_lattice) = task(lattice)\n", "\n", "# Before\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.plot(ring.locations().cpu().numpy(), 100*((bx_model - bx_error)/bx_model).cpu().numpy(), color='red', alpha=0.75, marker='o')\n", "plt.plot(ring.locations().cpu().numpy(), 100*((by_model - by_error)/by_model).cpu().numpy(), color='blue', alpha=0.75, marker='o')\n", "plt.xticks(ticks=positions, labels=['BPM05', 'BPM07', 'BPM08', 'BPM09', 'BPM10', 'BPM11', 'BPM12', 'BPM13', 'BPM14', 'BPM15', 'BPM16', 'BPM17', 'BPM01', 'BPM02', 'BPM03', 'BPM04'])\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "# After\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.plot(ring.locations().cpu().numpy(), 100*((bx_model - bx_lattice)/bx_model).cpu().numpy(), color='red', alpha=0.75, marker='o')\n", "plt.plot(ring.locations().cpu().numpy(), 100*((by_model - by_lattice)/by_model).cpu().numpy(), color='blue', alpha=0.75, marker='o')\n", "plt.xticks(ticks=positions, labels=['BPM05', 'BPM07', 'BPM08', 'BPM09', 'BPM10', 'BPM11', 'BPM12', 'BPM13', 'BPM14', 'BPM15', 'BPM16', 'BPM17', 'BPM01', 'BPM02', 'BPM03', 'BPM04'])\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 19, "id": "7a461eda-ce17-45e7-84df-c3a890907dba", "metadata": {}, "outputs": [], "source": [ "# ORM function computes all blocks of the orbit response matrix [[Rxx, Rxy], [Ryx, Ryy]]\n", "# It might be usefull to compute block separately\n", "# This can be done directly with orbit function as follows\n", "\n", "def Rxx(knks):\n", " kn, ks = knks.reshape(1 + 1, -1) \n", " count = ring.describe['Corrector']\n", " cx = torch.tensor(count*[0.0], dtype=line.dtype, device=line.device)\n", " def task(cx):\n", " points, _ = orbit(ring, fp, [cx, kn, ks], ('cx', ['Corrector'], None, None), ('kn', ['Quadrupole'], None, None), ('ks', ['Quadrupole'], None, None), advance=True, full=False, alignment=False, limit=1, epsilon=None)\n", " qx, _, qy, _ = points.T\n", " return qx\n", " return torch.func.jacrev(task)(cx)\n", "\n", "\n", "def Rxy(knks):\n", " kn, ks = knks.reshape(1 + 1, -1) \n", " count = ring.describe['Corrector']\n", " cy = torch.tensor(count*[0.0], dtype=line.dtype, device=line.device)\n", " def task(cy):\n", " points, _ = orbit(ring, fp, [cy, kn, ks], ('cy', ['Corrector'], None, None), ('kn', ['Quadrupole'], None, None), ('ks', ['Quadrupole'], None, None), advance=True, full=False, alignment=False, limit=1, epsilon=None)\n", " qx, _, qy, _ = points.T\n", " return qx\n", " return torch.func.jacrev(task)(cy)\n", "\n", "\n", "def Ryx(knks):\n", " kn, ks = knks.reshape(1 + 1, -1) \n", " count = ring.describe['Corrector']\n", " cx = torch.tensor(count*[0.0], dtype=line.dtype, device=line.device)\n", " def task(cy):\n", " points, _ = orbit(ring, fp, [cx, kn, ks], ('cx', ['Corrector'], None, None), ('kn', ['Quadrupole'], None, None), ('ks', ['Quadrupole'], None, None), advance=True, full=False, alignment=False, limit=1, epsilon=None)\n", " qx, _, qy, _ = points.T\n", " return qy\n", " return torch.func.jacrev(task)(cx)\n", "\n", "\n", "def Ryy(knks):\n", " kn, ks = knks.reshape(1 + 1, -1) \n", " count = ring.describe['Corrector']\n", " cy = torch.tensor(count*[0.0], dtype=line.dtype, device=line.device)\n", " def task(cy):\n", " points, _ = orbit(ring, fp, [cy, kn, ks], ('cy', ['Corrector'], None, None), ('kn', ['Quadrupole'], None, None), ('ks', ['Quadrupole'], None, None), advance=True, full=False, alignment=False, limit=1, epsilon=None)\n", " qx, _, qy, _ = points.T\n", " return qy\n", " return torch.func.jacrev(task)(cy)" ] }, { "cell_type": "code", "execution_count": 20, "id": "7b118635-0d9a-427a-beec-1652dae8a564", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Compute blocks\n", "\n", "kn = torch.zeros_like(error_kn)\n", "ks = torch.zeros_like(error_ks)\n", "knks = torch.cat([kn, ks])\n", "\n", "rxx = Rxx(knks)\n", "rxy = Rxy(knks)\n", "ryx = Ryx(knks)\n", "ryy = Ryy(knks)\n", "\n", "torch.allclose(orm, torch.vstack([torch.hstack([rxx, rxy]), torch.hstack([rxy, ryy])]))" ] }, { "cell_type": "code", "execution_count": 21, "id": "3fb3aafc-5c91-4389-9f04-6e4b9f415186", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor(1.0791, dtype=torch.float64)\n", "tensor(0.5400, dtype=torch.float64)\n", "tensor(0.2708, dtype=torch.float64)\n", "tensor(0.1374, dtype=torch.float64)\n", "tensor(0.0729, dtype=torch.float64)\n", "tensor(0.0439, dtype=torch.float64)\n", "tensor(0.0330, dtype=torch.float64)\n", "tensor(0.0296, dtype=torch.float64)\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Blocks can be used for more targeted correction\n", "# For example, coupling correction can be performed using only rxy and ryx blocks\n", "\n", "def objective(kn, ks):\n", " knks = torch.cat([kn, ks])\n", " rxy = Rxy(knks)\n", " ryx = Ryx(knks)\n", " return torch.stack([rxy, ryx]).flatten()\n", "\n", "kn = torch.zeros_like(error_kn)\n", "ks = torch.zeros_like(error_ks)\n", "\n", "matrix = torch.func.jacrev(objective, 1)(kn, ks)\n", "vector_error = objective(error_kn, error_ks)\n", "\n", "lr = 0.5\n", "\n", "for _ in range(8):\n", " vector_fit = objective(kn, ks)\n", " dks = - lr*torch.linalg.lstsq(matrix, (vector_fit - vector_error), driver='gelsd').solution\n", " ks += dks\n", " print((vector_fit - vector_error).norm())\n", "\n", "# Plot fitted parameters\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.bar(range(len(error_ks)), error_ks.cpu().numpy(), color='red', alpha=0.75, width=1)\n", "plt.bar(range(len(ks)), +ks.cpu().numpy(), color='blue', alpha=0.75, width=0.75)\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 22, "id": "7957b4ea-24c6-44b0-abb4-dfdb623566f6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor(2.7973, dtype=torch.float64)\n", "tensor(1.4148, dtype=torch.float64)\n", "tensor(0.7288, dtype=torch.float64)\n", "tensor(0.3806, dtype=torch.float64)\n", "tensor(0.2011, dtype=torch.float64)\n", "tensor(0.1074, dtype=torch.float64)\n", "tensor(0.0578, dtype=torch.float64)\n", "tensor(0.0314, dtype=torch.float64)\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Use rxx and ryy blocks to fit kn values\n", "\n", "def objective(kn, ks):\n", " knks = torch.cat([kn, ks])\n", " rxx = Rxx(knks)\n", " ryy = Ryy(knks)\n", " return torch.stack([rxx, ryy]).flatten()\n", "\n", "matrix = torch.func.jacrev(objective, 0)(kn, ks)\n", "vector_error = objective(error_kn, error_ks)\n", "\n", "lr = 0.5\n", "\n", "for _ in range(8):\n", " vector_fit = objective(kn, ks)\n", " dkn = - lr*torch.linalg.lstsq(matrix, (vector_fit - vector_error), driver='gelsd').solution\n", " kn += dkn\n", " print((vector_fit - vector_error).norm())\n", "\n", "# Plot fitted parameters\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.bar(range(len(error_kn)), error_kn.cpu().numpy(), color='red', alpha=0.75, width=1)\n", "plt.bar(range(len(kn)), +kn.cpu().numpy(), color='blue', alpha=0.75, width=0.75)\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 23, "id": "b119c409-dcae-4760-ad3d-ed30a1582591", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor(0., dtype=torch.float64)\n", "tensor(2.6115e-13, dtype=torch.float64)\n", "tensor(3.1476, dtype=torch.float64)\n", "tensor(2.4511, dtype=torch.float64)\n", "tensor(2.1673, dtype=torch.float64)\n", "tensor(1.6036, dtype=torch.float64)\n", "tensor(1.2814, dtype=torch.float64)\n", "tensor(1.3156, dtype=torch.float64)\n", "tensor(1.2044, dtype=torch.float64)\n", "tensor(1.1573, dtype=torch.float64)\n", "tensor(1.2635, dtype=torch.float64)\n", "tensor(1.2003, dtype=torch.float64)\n", "tensor(0.9719, dtype=torch.float64)\n", "tensor(0.8235, dtype=torch.float64)\n", "tensor(0.7653, dtype=torch.float64)\n", "tensor(0.5897, dtype=torch.float64)\n", "tensor(0.5532, dtype=torch.float64)\n", "tensor(0.6488, dtype=torch.float64)\n", "tensor(0.6361, dtype=torch.float64)\n", "tensor(0.6368, dtype=torch.float64)\n", "tensor(0.5782, dtype=torch.float64)\n", "tensor(0.4452, dtype=torch.float64)\n", "tensor(0.4537, dtype=torch.float64)\n", "tensor(0.4271, dtype=torch.float64)\n", "tensor(0.4672, dtype=torch.float64)\n", "tensor(0.4747, dtype=torch.float64)\n", "tensor(0.4334, dtype=torch.float64)\n", "tensor(0.3978, dtype=torch.float64)\n", "tensor(0.2903, dtype=torch.float64)\n", "tensor(0.3264, dtype=torch.float64)\n", "tensor(0.3193, dtype=torch.float64)\n", "tensor(0.3527, dtype=torch.float64)\n", "tensor(0.2962, dtype=torch.float64)\n", "tensor(0.2854, dtype=torch.float64)\n", "tensor(0.2589, dtype=torch.float64)\n", "tensor(0.3143, dtype=torch.float64)\n", "tensor(0.2854, dtype=torch.float64)\n", "tensor(0.2890, dtype=torch.float64)\n", "tensor(0.2751, dtype=torch.float64)\n", "tensor(0.2480, dtype=torch.float64)\n", "tensor(0.2566, dtype=torch.float64)\n", "tensor(0.2515, dtype=torch.float64)\n", "tensor(0.2427, dtype=torch.float64)\n", "tensor(0.2202, dtype=torch.float64)\n", "tensor(0.2097, dtype=torch.float64)\n", "tensor(0.2235, dtype=torch.float64)\n", "tensor(0.2249, dtype=torch.float64)\n", "tensor(0.1987, dtype=torch.float64)\n", "tensor(0.1980, dtype=torch.float64)\n", "tensor(0.2068, dtype=torch.float64)\n", "tensor(0.1977, dtype=torch.float64)\n", "tensor(0.1842, dtype=torch.float64)\n", "tensor(0.1782, dtype=torch.float64)\n", "tensor(0.1792, dtype=torch.float64)\n", "tensor(0.1709, dtype=torch.float64)\n", "tensor(0.1703, dtype=torch.float64)\n", "tensor(0.1781, dtype=torch.float64)\n", "tensor(0.1855, dtype=torch.float64)\n", "tensor(0.1845, dtype=torch.float64)\n", "tensor(0.1834, dtype=torch.float64)\n", "tensor(0.1941, dtype=torch.float64)\n", "tensor(0.1998, dtype=torch.float64)\n", "tensor(0.1804, dtype=torch.float64)\n", "tensor(0.1682, dtype=torch.float64)\n", "tensor(0.1681, dtype=torch.float64)\n", "tensor(0.1829, dtype=torch.float64)\n" ] } ], "source": [ "# ML style correction (full ORM)\n", "\n", "# Set parametric ORM\n", "\n", "def ORM_knks(kn, ks):\n", " return ORM(ring, fp, [kn, ks], ('kn', ['Quadrupole'], None, None), ('ks', ['Quadrupole'], None, None), limit=1, start=0, epsilon=None)\n", "\n", "# Setup objective function\n", "\n", "def objective(kn, ks):\n", " orm = ORM_knks(kn, ks)\n", " return (orm - orm_error).norm()\n", "\n", "# Set initial values\n", "\n", "kn = torch.zeros_like(error_kn)\n", "ks = torch.zeros_like(error_ks)\n", "\n", "# Test objective function\n", "\n", "print(objective(error_kn, error_ks))\n", "\n", "# Setup normalized objective\n", "\n", "objective = normalize(objective, [(-0.5, 0.5), (-0.5, 0.5)])\n", "\n", "# Test normalized objective\n", "\n", "print(objective(*forward([error_kn, error_ks], [(-0.5, 0.5), (-0.5, 0.5)])))\n", "\n", "# Normalize initial corrector settings\n", "\n", "kn, ks, *_ = forward([kn, ks], [(-0.5, 0.5), (-0.5, 0.5)])\n", "\n", "# Set model (forward returns evaluated objective)\n", "\n", "model = Wrapper(objective, kn, ks)\n", "\n", "# Set optimizer\n", "\n", "optimizer = torch.optim.AdamW(model.parameters(), lr=0.01)\n", "\n", "# Perform optimization\n", "\n", "for epoch in range(64):\n", " value = model()\n", " value.backward()\n", " optimizer.step()\n", " optimizer.zero_grad()\n", " print(value.detach())" ] }, { "cell_type": "code", "execution_count": 24, "id": "af0d851c-3191-4e39-b215-7fbf5fec04bc", "metadata": {}, "outputs": [], "source": [ "# Apply corrections\n", "\n", "kn, ks = inverse([kn, ks], [(-0.5, 0.5), (-0.5, 0.5)])\n", "\n", "lattice:Line = error.clone()\n", "\n", "index = 0\n", "label = ''\n", "\n", "for line in lattice.sequence:\n", " for element in line:\n", " if element.__class__.__name__ == 'Quadrupole':\n", " if label != element.name:\n", " index +=1\n", " label = element.name\n", " element.kn = (element.kn - kn[index - 1]).item()\n", " element.ks = (element.ks - ks[index - 1]).item()" ] }, { "cell_type": "code", "execution_count": 25, "id": "8ec9d0a0-1c5f-4394-9429-7128fb5a32e3", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Compare ORM with model before and after correction\n", "\n", "orm_lattice = ORM(lattice, fp, [], limit=1, start=0, epsilon=None)\n", "\n", "data = (orm - orm_error).clone()\n", "data[data==0.0] = torch.nan\n", "plt.figure(figsize=(34/4, 72/4))\n", "img = plt.imshow(data.cpu().numpy(), cmap='magma', interpolation='nearest')\n", "cax = plt.gcf().add_axes([plt.gca().get_position().x1 + 0.01, plt.gca().get_position().y0, 0.02, plt.gca().get_position().height])\n", "plt.colorbar(img, cax=cax)\n", "plt.show()\n", "\n", "data = (orm - orm_lattice).clone()\n", "data[data==0.0] = torch.nan\n", "plt.figure(figsize=(34/4, 72/4))\n", "img = plt.imshow(data.cpu().numpy(), cmap='magma', interpolation='nearest')\n", "cax = plt.gcf().add_axes([plt.gca().get_position().x1 + 0.01, plt.gca().get_position().y0, 0.02, plt.gca().get_position().height])\n", "plt.colorbar(img, cax=cax)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 26, "id": "4b2f19e5-fdb0-46ac-a534-2c4b1135ddc3", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABjYAAAC+CAYAAACWEzYrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB3yUlEQVR4nO3deXhU5fk+8HuSkEA2EsK+k4AEZF8UlLiwqXWpVXDXWq1E22qtVqm1i/bb1h+odV8StVasa7DWihskahtcgbAoiCJBdggEspBlkpk5vz9uD2cme0KSc2bm/lzXXMnMZDlzzsxZ3ud9nsdlGIYBERERERERERERERGRIBBh9wKIiIiIiIiIiIiIiIi0lAIbIiIiIiIiIiIiIiISNBTYEBERERERERERERGRoKHAhoiIiIiIiIiIiIiIBA0FNkREREREREREREREJGgosCEiIiIiIiIiIiIiIkFDgQ0REREREREREREREQkaCmyIiIiIiIiIiIiIiEjQUGBDRERERERERERERESCxjEFNgoKCjB58uR6jxcWFmLx4sVYunQpFi9ejJKSkmP5NyIiIiIiIiIiIiIiIgAAl2EYRlt+cenSpUhNTcXkyZNR909MnjwZa9asAcAgx8KFC5GTk3PsSysiIiIiIiIiIiIiImGtzYGNo3/A5QoIbBQWFmL+/PlHAxsAkJycjMOHDx/LvxEREREREREREREREUFUe//B3Nxc9OjRI+CxHj16oKCgAJMmTWr2930+H/bs2YOEhAS4XK72XjwREREREREREREREXEYwzBQXl6O/v37IyKi6S4a7R7YaKyfxqFDhxp83O12w+12H72/e/dujB49ur0XS0REREREREREREREHG7nzp0YOHBgkz/T7oGNxjQW8Ljnnntw991313t8586dSExM7OClEhERERERERERERERu5WVlWHQoEFISEho9mfbPbCRlJRULzvj0KFDSEpKavDn77jjDtxyyy1H75sLn5iYqMCGiIiIiIgEB58P2LABKC4GUlKAceOAZtLnRURERESkvpa0qGj3wMbs2bORlZVV7/EpU6Y0+PMxMTGIiYlp78UQERERERHpHPn5wP33A5s3A243EBMDpKcDt94KZGTYvXQiIiIiIiGnXaYQ+ZeZSk1NDXiusLAQU6ZMaTRjQ0REREREJGjl5wM33gisWwckJgKD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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABjUAAAC+CAYAAAB9JI0oAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAByr0lEQVR4nO3deXhU5dkG8HuykBCSkBAJu2AAZZFFFgU1ggTU4laVqN20tkK0LrVaRWqtexFbrUtdAlq3tp8Kat2wSkKlcUMgLCqLyiD7GjJJyDLJZM73x92TmcmekMk5M3P/ritXMgvhZM7MOe95n/d5HodhGAZERERERERERERERERsLsrqDRAREREREREREREREWkNBTVERERERERERERERCQkKKghIiIiIiIiIiIiIiIhQUENEREREREREREREREJCQpqiIiIiIiIiIiIiIhISFBQQ0REREREREREREREQoKCGiIiIiIiIiIiIiIiEhIU1BARERERERERERERkZAQY/UGHA2v14s9e/YgKSkJDofD6s0REREREREREREREZF2MAwDZWVl6Nu3L6Kims7HCOmgxp49ezBgwACrN0NERERERERERERERDrAzp070b9//yYfD+mgRlJSEgD+kcnJyRZvjYiIiIiIiIiIiIiItEdpaSkGDBhQN+/flJAOapglp5KTkxXUEBERERERERGRoPJ6gQ0bgKIiIC0NGD0aaKZCioiItENLrSZCOqghIiIiIiIiIiLSGQoKgIcfBjZvBtxuIC4OGDYMuOUWIDPT6q0TEYkciiWLiIiIiIiIiIg0o6AAuOEGYN06IDkZGDCA39ev5/0FBVZvoYhI5FBQQ0REREREREREpAleLzM0XC5g4EDA4WDJqW7deLukBHjkET5PRESCT0ENERERERERERGRJmzYwJJTaWnA1q3AN98A33/PxxwOoGdPYNMmPk9ERIJPQQ0REREREREREZEmFBUBR44AO3YA5eW8r6QEOHiQP8fHA9XVfJ6IiASfghoiIiIiIiIiIiJN2LwZKC72NQfv1Yv3797NIEdVFdClCzM5REQk+GKs3gARERERERERERG78XiAp58GXn8d6NqVt48/HoiOZmZGcTGwbRuQkACMGweMHm31FouIRAZlaoiIiIiIiIiIiPhxuYDf/hZ44w32zZgzBxg0CNi5k9kZffsyuFFWBlRWAjfdxObhIiISfDrcioiIiIiIiIiI/M833wA5OcD69czCeOAB4I9/BJ54AhgzBigtBfbsAbp351e/fsC331q91SIikUPlp0RERERERERERAB8+CHw8MMsL9W/PwMaxx7LxzIzgdNOAzZsYFPwtDTg0CE+5x//AEaOBCZPtnb7RUQigYIaIiIiIiIiIiIS0WprgWeeAZYs4e3Jk4E77gC6dQt8XlQUMHZs4H0bNwJvvslsjoULgT59OmWTRUQilspPiYiIiIiIiIhIxCopAW691RfQuOIKZl/UD2g05Ve/AoYPB44cAe6+m1keIiISPApqiIiIiIiIiIhIRPr2W/bPWLsW6NoVuPde4Kqr2By8tWJiGMxITmY/jr/+NWibKyIiUFBDREREREREREQiUH4+cMMNwP79bPb99NPsm9Ee6enA73/PYMg777A3h4hIo7xeYN06HoTWreNtaRP11BARERERERERkYhRW8veF6+9xtunnMKARGLi0f3eiRNZuurFF4FHHgGGDAEyMo5+e0UkjBQUAA8/DGzeDLjdQFwcMGwYcMst7Y+qRiBlaoiIiIiIiIiISEQoLQXmzvUFNH7yEzb4PtqAhumKK4AJEzhXedddQEVFx/xeEQkDBQVMD1u3jvXqBgzg9/XreX9BgdVbGDKCFtRwOp146KGHsGTJEjz00ENwuVxNPrewsBCFhYV1/878WUREREREREREpCNs3Qpccw2wZg0QH88+GFdfDUR14OxYVBSzPnr2BHbtAh56CDCMjvv9IhKivF5maLhcwKBBQLduQGUlvw8cCJSUMMVLpahaJWhBjezsbNx2222YNWsWZs2ahdmzZzf53NzcXIwfPx4OhwM5OTnIUG6eiIiIiIiIiIh0kI8+Aq67Dti7F+jTB3jqKWDKlOD8X927M2ASEwOsWAG88UZw/h8RCSEbNrDkVHo6U7m2bgW++47BDIeDkdBNm/g8aVFQemo4nc6A2xkZGcjLy2vy+ePHj0dxcTEAICUlJRibJCIiIiIiIiIiEcbrBZ59Fvi//+PtCROAP/wBSEoK7v87YgRw7bXAE0+wAfmwYcDIkcH9P0XExoqKgKoqwOPhzwCDGdXV/Dk+Hjh0yPeYNCsomRp5eXno0aNHwH09evRotqxUSkqKAhoiIiIiIiIiItIhysqA22/3BTR+9CNgwYLgBzRMF10ETJ3KxuR3382qMyISgQyDWRhFRcCBA7wvOZnRzp49ebuqCujSBUhLs247Q0hQMjWa6p9x+PDhJp+/ZMkSAMCqVauaLEHldrvhdrvrbpeWlh79xoqIiIiIiIiISFhxOtnbYu9eIC6OzcHPPLNzt8HhAG69lduyYwdw//3ssdGRPTxExOY2bwYefxzYuJEHo6oqYMgQ1qkzGQZw8CAwdiwwerRlmxpKghLUaEpTwY45c+bUZWlkZGRgxowZ2Lp1a4PnzZ8/H/fcc08Qt1BERERERERERELZihXAgw9y7rB3bwYTBg+2ZlsSEoB77vE1KH/xReCqq6zZFhHpRC4XsGgR8P77DFokJADXXw+8+SZQXMymO/HxPFAdPMggx803K+rZSkF5lVJSUhpkZRw+fLjJ8lL+PTgyMjLgdDob9OUAgHnz5qGkpKTua+fOnR263SIiIiIiIiIiEprM/hl33815wvHjgdxc6wIapkGDmLEBAC+9BKxcaenmiEgw1dYCr78O/PSnwNKlDGjMmAG8/DIPTn/9KzBmDFBaCuzaxe9jx7IBT2am1VsfMoKSqTF9+nTk5uY2uH/ChAkN7issLERWVlZdo3BT/Z4cABAXF4e4uLiO21AREREREREREQl5R44wI8MMGFx2GTB7NhAdbe12mbKygC+/BN56C3jgAS7g7tXL6q0SkQ61di1LTX3/PW8PHQrceCNw4om+52RmAqedBmzYwB4baWksOaUMjTYJSlCjfj8Mp9OJCRMm1GVqFBYWIiUlBRkZGcjIyMCCBQvqnpuXl4dZs2apabiIiIiIiIiIiLTo++/ZP2P3bpasv/VWBhHs5rrrgC1bWGL/7rs59xkba/VWichRO3AAePpp4KOPeDs5Gbj6auDccxsPVkRFMTtD2s1hGIYRjF/sdDqRm5uLiRMnYtWqVZg3b15doCI7OxsTJ07EbbfdBoBBjry8PKSkpGDr1q0BQY7mlJaWonv37igpKUFycnIw/gwREREREREREbGpggJg/nygspKZD/fdx8XRdrV/PzNIysqACy8EbrrJ6i0SkXarrgZeeQX45z8BtxtwOIALLgB++UsgKcnqrQtJrZ3vD1pQozMoqCEiIiIiIiIiEnkMA3j+eZapB4CTTgLuuou9du1u5Urg9tv58+9/b8+skpDk9aqkj3QOwwA+/RR48klg717eN3o0S01Z3cQnxLV2vj8o5afEOjp+i4iIiIiIiEg4Ky9nX4rPPuPtWbOAa66xT/+MlpxyCvCznzEg86c/AUOGAAMHWr1VIa6gAHj4Ydb2crtZh2zYMOCWW9R8WTrWjh1s9r1qFW8fcwwPQNOmMVNDOoUyNcKIjt8iIiIiIiIiEs62b2d2w65dQJcunPM46yyrt6rtvF72/igsBI49luX4ExKs3qoQVVAA3HAD4HIB6elAfDxQVQUcPMjUnSee0MSYHL2KCuCll4AlS4DaWiAmBrjsMuAnPwG6drV668KGyk9FGB2/RURERERERCScffopMzQqKjj3cd99wPHHW71V7edysb/GoUPAmWcCd96phd5t5vUCF18MrFsHDBoU+AIaBqNgY8cCr7+uUibSPoYBLFsG5OYChw/zvkmTgOuvB/r1s3bbwpDKT0UQr5cZGi4Xj99eL1Muu3VjlH/7duCRR4DTTtPxW0RERERERERCi2EAL77ILwAYMwa4+24gJcXKrTp6KSn8O379a+A//wFGjQIuusjqrQoxGzYAmzZxEmznTk6OxcWxnld8PNCzJx/fsIHBDZG2+PZb4LHHgK+/5u1+/RjMmDTJ2u0SBTXCwYYNLDmVns7sp82beWLs25dBDB2/RUREJNjU10tERESCoaKC2RmffsrbF18MXHstK7+Eg5EjWY7/ySeBp54CTjgBGDHC6q0KAYYBbNwILFrEWmSxsb4sjcpKYMsWTkCnpjIVpqjI2u2V0FJSAjz7LPDee3yvxcezEU52Nt9rYrkwOQVEtqIi9tCIj+dnzuPh8bqsjHUZ4+N1/BYREZHgUV8vERERCYadO9k/Y8cOziPefDNwzjlWb1XHu+QS4KuvgBUrgHvuARYuZClxqccwAKcTyM8Hli8H9u/n5JdZWT8tjS/cwYO8f9cuToYlJvIxkZbU1gJvvw387W/AkSO8LyuLkcdjjrF22ySAghphIC2NkwdVVUCPHjzR79jBSYVvv2XWRpcuOn6LiIhIx2uqr9f69bxffb1ERESkPT77DLj/fmZqHHMM+2cMG2b1VgWHwwHcdhuwdSvn4e+/H1iwQFmvdXbv9gUytm/33d+1Kyecu3Xj/f3788VMTmZgY/du9kBwOHyBD5GmrF8PPP44A2cAMHgwcOONTEEX21Gj8DBg9kRav54lAx0OBhZ37eKxu6oK6N0byMsDhgyxemtFJFSolIyItER9GUVERKSjGQbw978Dzz/Pn0eNYvZCaqrVWxZ8Tifwq19xkerPfw5ceaXVW2ShoiIGMZYvZzqwKSYGmDwZmDaN3+PifKtsSkpYg91cZbNnD1BezoFqairLB11xBRvRipgOHgSeeYbvNQBISgJ++UvgvPP0XrFAa+f7FdQIE00dv3fu5KqGjAyubLjqKuCyy/SZFJHmqZSMiLTGJ58AP/0pjxEOB48X0dHM+k9M5BiktBR45RX19RIREZGWVVQADz7I6xEAuPBC9uQNl/4ZrfHhh8D8+RxbLVgATJxo9RZ1otJS4L//ZVbG+vW+7AqHAxg/nlkZmZnMzKjP/yK2upolS4YPB667DigsBN5/n88bOZI1zXr37ry/S+yppgZ47TXg5Zd5IeNwAOefz4BGhM8zW0lBjQjU1PF79mw21PrkEz5v5Ejg9tuZlSciUl9TpWQOHuREpUrJiESW8nJmf+7axQx+8+ddu1jucssWX1DDX3Q0AxvV1cBzzwE/+IE12y8iIiKhYdcuzjVv384gxm9+A8ycafVWWePhh4F33+W86qJFvC4LW5WVnLDKzwdWrWLpEdPIkQxkTJ3aulSd5soNLF/OF7aigkGR3/6Wv1ci02efAX/9K7N5AODEE1lqauhQa7dLFNSIVE0dvw2D0f7HH+fxOy6OPW4uvLDhJISIRK76pWRqa3n8iI1VKRmRcFZR0TBgsXs3v1yupv9dWRmDGt26MYARF8dFTiUlgMfDY4jHw+OGubBu8mRmdIuIiIiYVq5kz4zycs5l3HsvMGKE1VtlnepqZqh8+y0Xqz7+eJhlq9TUAF98wUDGp59yAGkaPJgDx2nTgF69Ovb/3buXDUs2buTtH/yAE9nx8R37/4h97drFYMbKlbydlgbk5ADTp2uC1CYU1JBGHTjA9MXCQt4eP57NqMI66i8irbZuHXD55ZycLCtjdoZhsHxd794ca6qUjEhoqqz0BS7MgIUZwCgubv7f9ujBDM9+/fjd/OrdG/jxjwP7epnKyoBt29i/ccgQ32NRUTx+nHEGcNppPL6IiIhIZDIM4J//ZFanYXBh/j33cJ4x0u3dC8yZAxw5woVnN9xg9RYdJa8XWLuWgYyCAv5hpn79fIGMgQODux0eD/Dii8A//sE33YABwJ13aoV+uKusZJmpxYv5HoiJAWbNYp+VhASrt078KKghTTIM4M03gYULOUHZrRsD0zNmKCgpEuk+/JDn9NrawKxfgMeHnj153HjuOY45RcRe3O6GAQsziFFU1Py/TUlpGLTo149fzY3zm+rrZZase/xxoG9fPq+ggIEOf8OHM4MjM1OlMUVERCJJZSUXXa5Ywdvnn8+5ibDKSDhKn30G/O53/PnOOznnH1IMg1kRy5cD//lP4EqatDT+QdOmASec0PkTUmvXAg88wEFyTAxX619yiSbGwo1h8P339NO+C6KTT2Yq1IAB1m6bNEpBDWnRrl3AH/8IbNrE26efzibAKSmWbpaIWGTVKqZ85+VxTJeQwInI6GiWmayo8JWjuvtuXnDExlq91SKRp7qan8nG+lwcOtT8v01ODgxY+P/cWL/F1mqqr9fNNzfswbN7N5//8cfA118HPjZwIDM4MjMDsztEREQkvOzZw/4Z27bx2uPXvwbOO8/qrbKnZ59lUkF8PPDMM8FPZOgQTiczMpYvB/bt892flARMmcIVcv79LqxSWgo89JCvCe0pp7AJrSbGwsN333GF1Zdf8nafPgxmTJ6sCw0bU1BDWqW2lmVkXniB2VcpKY1PQIhI+Pr+ey5a+OILBiw2b2Zm8PDhgWNMl4s1XePj2UOrTx/gl7/keFTjAYlUzfUiPBo1NbzY9y8XZQYuzLJwTUlKahiwML8Hs5dFe16LoiJeQxYUcLGcf4ZYr15ccJGZCYwaZf01r4iIiHQMczFVWRlLXN57L8tOSeNqa4Fbb+VYaeBAXrt17Wr1VjVizx4GMfLzeZFpio/noC4rC5gwwX6pOIYBvP028OSTHISnpjI9ZsIEq7dM2qu0FPjb37hfDYON/376U+DSS7n6SmxNQQ1pk61bmbXhdPL2WWexlERiorXbJSLB43IBzz8PvPMOz/MxMcBFF7Ev29y5jZeSSU5m/fxVq3yZm4MHM1N3wgQFNySy+GcnuN0cKw8bxqzH1iwO8Hi4cK1+mahdu4D9+5sPXCQkNCwTZf4cqkOisjLg88/5un7xRWC/yO7dgVNPZRbHuHG6FhEREQlFhgG8+ipLYRsGF1Hdd5/6Z7RGcTEwezavwbKygDvusMm1V1ERy0rl53NQbIqJASZN4sZOnsyBst05nXxDmgGZyy/nKj67BWGkaV4v8O67TG8qK+N9Z54JXHONmgmHEAU1pM1qapix8X//xwFGz55sIq7gtEh4qa4GXn8d+PvfWVIK4ARsTg4nRoGWS8m43cCSJWzqZ/6Ok05iI7thw6z5u0Q6k9lHwuXi+Lh+H4knnuBnpbbWF7io3+di/36Ou5vStWvjzbn79eP/YYsL2SBxu4HVq/k6f/qp75oE4Otyyil8fSdNUl8/ERGRUFBVxSo///kPb8+cCdx0k8rZtsWGDcBvfsPx4003ARdeaNGGlJWxEcry5cC6db6VOA4HMH48e2RkZobmKlm3m6kwb73F2yecwDppavxmf19+yVJT333H28cdx5rZY8daulnSdgpqRKoOqIPx9dfA/PmcfAF4orzmGk7YiEjoMgzgo4+A3FxOpgLA8ccD113HQ0V9rTmclJYyOPLmm1x1DgBTp3JBi8Z9Eq68XuDii3kNN2gQr9+qq3kNVFUF7N3Lz8zJJzOg4V9Sqb64uMaDFv37M/M9nAMXreXx8Fhk9uHw7xsSE8Nr58xM4LTTVP5YRETEjvbu5byw08l+fTfcAFxwgcY57fHaa5xzj4nhIppOW1BWVcWaofn5TNs3L/4A1g6bNo0r4lNTO2mDguzjjxmFKyvjipqbbgJmzNCb1o4OHeIkR14ebycmAlddxcnM6Ghrt03aRUGNSHS0dTD8VFXxmPCvf/F2v37AvHmqcykSqjZuBJ56yteU95hjmL7cUeOy/ftZsnLZMgZPoqPZ6O+KK1gnV45CsJo2SLutW8ds9KQkXs8dOODLWAIYxPB4gBEj+JwuXQL7WvgHMHr00LVRWxgGsGULhzz//S8zXkwOB3tvmH04eve2bjtFRESE1qwB7rmHc8MpKfy5sQVV0jqGAdx1F8dC6enAokVBLD1aU8MARn4+Axr+tUEzMlhaatq08B10HTwIPPAAsH49b2dlsXSB0oTtoaaG5SNeeomTmA4HcO65XGGplU4hTUGNSNPaOhhttGYNsGABf43DAfzoR8DPf64UUZFQsX8/B7r5+bwdF8eeGJdeGpzsK6eTNXJXruTt+Hj+X5ddprFfu3RgsFo6zjvvcKxsGIGL1OLjGcCIjQWOHAHuvpsZHT17KnARDIYB7NjBj0lBAfDNN4GPDxnCj0lmpi+jRkRERDqHYQCLFwPPPMOfhw1jQ/CePa3estBXXs7Swbt3syTn/PkdOM7xermCJz+fK0iOHPE91rcvJ/azstixPBJ4vcA//sFa7V4v0KcPcOedrM0s1lm5EvjrX30rnEaMYKmpE06wdrukQyioEUn862AceyxTr7p14wyiwwFs384acq+/3q7VvUeOMCby4Ye8nZEB/O53bA4sIvZUUcF+F6+9xgUMDgdwzjmciO2MRnzr1jHby+wVl5IC/OxnTDNXn7VWClKwWtpv1y6eSl97DVi7lu/luDhmPh1zjO+9XV7O0myvvKISrp3pwAFWCigo4II6/xFuv378uJx+Oq95FOAQEWmcEkSlI7jdwJ/+5FtYdc457AXRpYu12xVOtm4FfvUrlkD9xS94rdVuhgFs2sQd9tFHwOHDvsfS0piNMW0aJ4wjdRD19ddsIr5/P8sS/OIXXPUbqa+HVXbvBp58EvjsM95OTWW9fJUGCysKakQSsw5GcjJPRmZTHICTYLGxHJ3m5gI/+EG7R6UFBcAjj3B+LSaGGRuXX64SdSJ2UlsLvP8+8Nxz/KwCbOB97bXA0KGduy2GwePGokW+BRR9+jCwMm2axhzNaqxpg8kwjjpYLa1nGNwNS5Zw7GwY/Nq2jRfsJ5wQuAu0e+zB5eL+Kihgw/GaGt9jaWkMbpx+OveTAq0iIqQEUekI+/ezf8Z333EcdP31wA9/qLF/MPz736ys4XAwiDR+fBt/wbZtDGQsX87GJ6akJGDKFF60jRmjAa3pyBFOipnd7k86Cbjjjs5ZNRjpqqrYzPPVV5kqHx0NXHIJcOWVKgkRhhTUiCT5+cDVVwMDBnD0eeAAl4maV/CG4Zt56deP30eMYLrc8OFtKnjvcvEYXlDA28OHM2tDDYFFrLd6NftmbNvG2/37M5gxebK1FxEeDwfczz/vW/QzdCgwZw4wYYJ122Vr69axZldcHAMcZWU8jnft6svCq65myoBSAYKipoan1yVLuBLONGkSkJ3Na5obbwRKSlhGQYk09lVRAXzxBbM4PvsssP9JYiKPkZmZwMSJwSnLJyISCpQgKh1h7Vr2zCgpYab23XdzTlyC509/ApYu5ed00aJWlPfau5dBjPx834UjwA/9aaextNTEiVr10RTD4MXtY4/x+iw5Gbj9dg4opeMZBrOHnn6aJySAkwjXXx85JdAikIIakcQ/U6NbN9/9NTW8cj98mHUwhg9vPN+zVy8+NmIEv4YM4URaEwyDzYAfe4y/Pi6Ok5MXXaTVFyJW2L6d53izj0VSEjOp7FbqqaqKK9f/+U/fpOK4cawHe/zx1m6bLZhL/NeuBd54gy9Wly6NH1jNYPWZZwLTp/uO4cceqwPxUXK5gLffBv71L6C4mPfFxbFswiWXcP2AyX9Fa3U1d9fw4ewfqIkfe6qpAQoLGeD4+GNfRhvA/TxhAnDGGbwuTUqybDNFRDqVEkTlaBkG3x9PP8330/HHs1JPerrVWxb+3G7O7373HTByJPDoo41cAxYVcWI4P59lpkwxMWzKkZXFwY9Wd7Tezp1sEmNWSrn4Yl7YqsZax3E6gccf9zVq790buO46Bt90zRvWFNSIJOYodP16RiqbGoUuXsyOmhs38kS2aRPw/feBRacBpnENGeLL5Bgxghke9Q4aBw4ADz3EZuIAM+9uv10DF5HO4nKxX9k77/AwEB3NQ8HPfmbvybiSEvZae/NNX5PlM89kWap+/azdtk5lGKwJunat78ucYS0r47G6Sxcuu0pM5EVGZSUjQqWljBKNGBG4sxMSjiobL5I5nczKyMvzJToecww/U+ed1/RnSrXHQ5fXy/LIBQUMcPhXXYiK4tDJ7MNxzDGWbaaISNDVr2bscnGYkZjou0+9oqQpbjerOZg9OM86iws8mlknKR1s715g9mwW7Jg1i/O+KCvjICc/n9cZ5ryPw8GVZVlZHOTY+cLR7mpqmB6zeDFvZ2QAf/iDMgiOVlkZyzz8619833bpAvzkJ75KBhL2FNSINGa+cFvrYFRUAFu2cPLMDHaYS1P9JSUFBjmGDweSkmAYwFtvAc88w8FMQgI34+yzFTgVCZbqai7kf/llX8ZDZiYzpkKpFNy+fRyrLFvGsUp0NHD++cAVV7DfV1jaty8wiHHoUODjXboAo0YxT/+FF1j3qKklk8OHA7feCnzzDY/fW7bwQFxferrv+D18OIMeGgwC4Ev5xRe8DjED9ADrh8+axVLCdsp2kuAxDAa2/vtfBjiczsDHhw1jBkdmZmgdZ0VEWmIYHHLceiuHG+aCE3/R0QwE33knFyKrfLmYDhzg++Kbb7gg4Fe/4oIQzQV0vk8/Be6YVwuUlOKuE1/H1P2vBn6gR4xgIGPqVC166mgrVwIPPsiIcFwcU2fOPVcfhLbyellL7dlnObcJ8ILs2mtZYUYihoIakagj6mAYBkcmZoBj40aOUPw7bJr6968LcOxKHYUHXz0OX2/i8tRTTwV++9swnpgUsYBhACtWAAsX+lYUDx3Ki4dQXjW3dSsXuJjls+LjuQjj0kvD4KL50KHAIMa+fYGPx8TwODpuHNPdhg8HYmP5WFuD1bW1zL4zj92bNjH4Uf80HxXFVUT+geoIK1tVVQV88AHLJOzcyfscDk5aZ2fzJYmgl0MasXs3gxsFBfw4+X+MBg7kRy8zk8dgvVdEQlyEptw5nSyrv3y5b31ETAyHISkpHIOVlfGrpoZzoyNG8LHRo9ljatIklmXUcTAyrV/PnhkuFzN67r6bw1npZB4PV+ksX47c/0vGK3sy0TXKjdzjH8GAEUls9j1tGtCnj9VbGt4OHwbmz2ejS4AXFr/9rTJhWuvrr1lq6ptveHvgQDYwHDfO2u0SSyioEamCMSj3eDjr6D9RtmtXw/86Ng6v4HI8vzMLnvhEdO/dFTffHoczpmiUK3K0Nm0CnnyS53qAH+/Zs5neHS4XkmvXMmCzeTNvp6Qwa+P880NotbzLFRjEqH+sjIpiIGHsWA7QRo5sPmviaIPVZjaeWXJw0yaeH+qLkLJVhw6x7Nk773CSBuCfft557AvVu7e12yf2VFQEfPIJP45r1zJ+aEpP9wU4Ro2KiHlQkfDif551u3lOHjYMuOWWsGyOtGsX8J//MJDx/fe++7t0YZVil4u9EPyPZV4v8O23XF8xahSDvv769GEp/kmTmGiqcvLhzzBYFebJJ3lOHDKE/TM0jupEXi+jSvn5TDP938C21ojCLXt/i/WOMRg0KglPv5ykNhmdyTCA115jpoHHw4HiHXdwXk4ad/gwkJvrq1+XkAD84hfAhReG0CSAdDQFNSS4ysoCgxybNtWdSJ2VffDA9p/CWdUHiInB9JH7cONPDyNp/PGcNAv5pdcinefAAU705+fzdlwc8KMfMZMhHAeohsFx+bPP+uIBffoAV1/Nvhu2C+CUlbEQtRnE8J8hALjBQ4cygDF2LGcD2noM7MhgtWEw02PTJk7gREjZqs2b2S/jo498E9J9+rDE1Dnn6LQkrXfkCPD555wHXbky8KPTvTszVTMzgfHjNbEnYntmRqTLxXNea8v3hpgDB3yBDHMBLMC5okmTuIB78mRg1arWJYju3s3j4OefcwjkX90mLo7Hv0mT2HtYvRbDT3U18Je/AP/+N29nZbF0WYgOEUOLYXDcnp/PD7X/QqUePfhhzsrC4Z4nYPYcBw4f5gK422+34TVUuNuyhZG+3bv54l9xBRtfRkdbvWX24fEwbf6ll3w1tX/wA9bUTkmxdNPEegpqSOcyG97+L8jh+WozXvh4CP6570wYcOCY2BLcNuAVTOz+DevD+5c9GTRISxtF6qmoAP75T9b6r67mWOjss9lMOxIa1no8LKf5wgu+Nj9Dh7KO8/jxFm5YRQVXRZlBjK1bG5Z3yshg7v24cQxAJCZas62tFaZlq7xelg9avBj46ivf/WPGMJhx6qk69cjRcbtZYaCggHWszewfAOjalRN6mZmc3FPgTMRmvF4W/l+3runeVWPHcsIlBE8WxcUsWZqfH3gOjIriOGraNPYHrj9EaWuCaGUle1KtXAl89lnDZNCMDF8Wx/Dhms8LdQcPsgfy5s38yFxzDct22nQoGD6+/54f5uXLgT17fPcnJbHEUVYWB7h+x6r16/m59Xr5/fzzO3+zI15FBcspffABb48aBfz+94r2AhxAP/64rw7wsGHAr3/N7yJQUEPswO3Gxg92Yv6fY7FrpxeoqMAFSR/hmr5vo2t0te95Xbs2LHuSlmbddkvnidAaxs0xe2M99xwXDgK8pv7VrzipH2kqK7nC/pVXfAs4JkzgAo5OeT2qqoAvv/QFMbZsaTjZP3Agd9JJJ/F79+6dsGFBFsJlq8rL+Rl64w1fC5OYGE7gzJoVmZ8jCb7aWp7OCgr4deiQ77GYGE4inn46v7T4TMQG1q0DLr+cjQAMg4Mut5vnNbP+eVkZByAh0risrIzHn+XLgcJC33DF4eBcWlYW5z9bOga1d3huGFzrYWZx1O9HlJQEnHwyAxwnn8yXXkLHl18yoOFycV/edZfFC43C3d69vqY3Tqfv/rg4DiamTeMHqZnyPK+8wqo+MTEsFXb88Z2w3dJQfj7wyCO8vkpMZJ+NKVOs3ipr7N3LN+Mnn/B2Sgov7M85R9FRCaCghtiG283yOW+8AcBTg75dXZh32n9xYsknXOZRWdnwH6WnB06SHX+8clrDTYTVMG6N1auBp5/2jVv79+cKqFNP1Tne5QL+/nfgrbd8ZQ6yspi50qE976qr2bhk3TrOCGzeHFhXAQD69vWVkxo7NjKCsCFQtmrPHi6off9932klORm44ALghz+MjN1kOQWqAfiqQ5gBDnMRGuCbXDz9dJ7qVH9cxAJeL7BoEfC73/FD6d8ox+Rw8Hm/+Q0HG/362XIwVlnJTLHly9kn2H/IMmwY5z2nTmU5qc5WUsJtWrmS3/2z2RwOXuqZWRwZGbZ8eQU8p739NsuP1dZyX91/v3pOB0VxMctK5edzrG2KiWEAIyuLF4atrEFsGMCdd3L+uHdvzsmoZ7VF9u4F7r3X1zzyvPOA664Lz3rSjXG7WYbi//4PqKnh9cHFFwNXXmn/qgZiCQU1xHYKC4EFC1jX1eFgT4CrrvSiy97tgWVPtm1ruBI6OpojqBEjfMGO/v01+g1VEVLDuLW2b2cwY+VK3k5K4vldvbEa2rsX+NvfgLw83o6J4aT1z37WztXPHg+PO2vXMpDx1VccaPlLT/eVkxo7VinDJhuUrTIMrhxcvJgXbOZ/PXAgszJmzFA8vNMoUN2k7dtZCq2ggMEOf0OG8OU5/XTguOM0rBEJmtpanudXrPBFGzdu5ECiSxeOPxMSmO5XVsbjmMfDc1ZSEs/9EycyXXTcOEvTDKqrOWZcvpwln/zXF2RkMJAxbZq9Jp1ra/lym1kc/gvPAZZWnTSJX+PGMZFfrFdTAzz6KDNgAfa3u+22yJmH7RRHjvCYlJ/fMMVq7Fhg+nQOFNoZjThyhAvh9+7l5+uPf9RYwzIeD2sr//Of3M/HHsv0p8GDrd6y4DEbZj71FCcCAR7kb7yRF2wiTVBQQ2ypvBz46199jcUGDeIiqYByIPXLnmzcCBw+3PCXJSYGTpINH6485lAQ5jWM28Ll4rjmnXf4skRHAxddxD5iWkXTvG+/5SLLVat4u2tXVpHIzm7hQri2lv+4sJCBjC+/bJht0KMHgxhmIKN3b43+W6uTylZ5PJzMWbKEu9N08sl8D4wfr13WqRSobrUDB3wBjvXrA2OA/fr5AhwjRug9LHLUPB6e681ARmmp77HERM6sFxfzQsR/zGkYwHffMSqQmcmxgn8KhMPBc9iECfwaOTLoq1A8HvauWL6cxxCzJCfAY0dWFgMZoTJHdOAAgxsrV/Lv8h+KxcTwUsDM4ujb17LNjGhFRZxv3biRb/k5c7goUeemDuB2M8UqP58fAv/jy/Dh/EBPndphacbffsukgJoa4OqrgZ/8pEN+rbTX2rXAAw/wQxYTA1x7LScBwu3D9f337Juxdi1vp6fzjZiZGX5/q3Q4BTXE1j75BPjznzn/ER3NVek//nETzePMsifmSuCNG4FvvuEypfr69QsMcgwZoqXudlFbC+zfz5TauXN9O7umxrdKrksXzu673cDzz7PWZBie8GpqWI7t5ZcZ6AM4iZWTwwQkab3CQtaK/eYb3k5JAX7+c+Dcc//30TcnJtat44Bq/frAmQCAk65mT4yTTgIGDAjL950lOrhsVUkJg4D/+pcvVtKlC3DWWczMCJXJnLCiQHW7lZRwTuPjjxmg9U8SS0sDTjuN131jx2ooI9Jq5uz/ihX8cPnXPOrenR+qKVP4wfrsMwZkS0pYn6mpgKzbzfHD6tX82rYt8P+Mj+f4wQxydNA4wuvlf7t8ORe6+sdk0tN9GRlDhoT2sKW6mqcQM4tj797Ax/v39wU4Ro/W8bAzfP01AxqHDzP+94c/MFFJjoLHw+NHXh4nQ6qqfI8dd5wvMhmkFKulS4E//YnHiocf5iFLLFRSwjImn33G25MnMw0qHBqvHTnClZtvvskTWWws8KMfccJPKfTSSgpqiO25XOyXVFDA28OGAfPmMQuvRR4PLyg2bvQFO/yLVptiY7n6yn81sFZdB4/bzc68u3cHfu3Zw/u9Xq6I27KFJ7TG9oNh8PeccAIvMHv3bvqrR4+Q2pdm9mVuru+CbehQNgEPkR6UtmQYnLtYtAjYs8cAqqrQr8tBXD0wD1OK/wXHkbLAf5CYCIwZ4wtiqOZL52pH2artPU7Ckm/H4MPVqaiu5r5KS+OipvPOC4/e7CGnvJzH9hUrONsRHc19WF3NGacePYDUVB7PS0tDqtmuFSoruVjz4495fesfe+3WjSW0MzM5qaSyH6FH7WaCrKaGkcEVKzhZaK4YAXgcOuMMBjJGj264gsq/dF51NSPlw4cDN9/cdIZZUREDJ6tWcZLS5Qp8PD2dKYMTJzLjsw0nKcPgaXH5cuCjjwKTHVNSWP5n2jQmh4Tj0MUwgB07fFkcGzYEtjxJSOBLO3kyszPVL6vjvfsu8NhjvNw+7jj2z1C2TCNac2A3n5Ofz+OTf5C1Tx9+mLOy+EJ3goceYu+5lBReNx1zTKf8t9IUw+BKraef5nksLY1lTMaNs3rL2scw+AZbtMh3XszMZCaKneohSkhQUENCgmFwscJjj/H6o0sXprZefHE7BuplZbwgMSfKNm4MHDiYUlJ8QY4RIxhNSUjoiD8nMlRUNAxYmN8PHmz+33bpwmDGJ59wYjk5mfd5PLyQrK7mG6GigvulW7fmf19MTMgEPTZvBp58ki0bAI5Zrr6aK8w1sXEUDIPvv7Vr4Vm1Fu99GIsXtp4Ol4cNx07ouhM5x32IkzITfUGMIUP0ottNI2WrjENFWF12AhYfnIpVZSfweVHRGNq3HNkzXDjzwmTEjGpb2Sppo7KyhkFq88u8WGkuUO1wsJaeWUN4xozO/gtCksfDLLSCAp4ui4t9j8XFcSF4ZiYDHSpVaH9qNxMkbrcvkPHpp4GRwLQ0XyBj1KiWz/lHE3UyDGDrVl8Wx4YNgWlXDgdXsEycyNn4E0/koqt6v8Lp5Lznf/7DdUCmpCT+KdOmcT1Go1ntYay8nC+rmcVRP340dKgvi2PYMNsM+0NSTQ0rxbz7Lm9PmcLkevU3aURzB/bTT+e4aPlyfvlHJnv0YGQyK8uSN6zbzcV0TicPRX/5izKfbMHpZBPx7dv5nrj8cuAXvwitnbNpEw8gZiP0Y49lJuSECdZul4Qsy4MaTqcTS5YsQUZGBpxOJ+bMmYOUJlKp2vJcfwpqhI+DB7lyYPVq3j7pJA6ievU6il9qGJxoN1cCb9rEMjT+NSsBnjiOPTawCfmgQZF31WAyDKZD1g9YmBNZJSXN//uEBJYB8//q25ff09L4+y++mPn0Awc2XarktdeY87xvX+NfBw7wIrQ5Ngh6HDjAxQpmY+u4OI5TLr9cq23bbd8+lpIyvw4dCni4MiYJi2N+hFf2noHKLilAQldMPDkKc+YwniH25nYDyz40sOQfVdi+xQ1UlMNRUY7Tu6zCrB7LMaqbM/Bj24qyVdIEw2AWhXl837UrMHDR2MIAf6mpfK3z8hikNgPVFRW8iK+s5BJbj4cX+T/6EfCDH/D4K63i9bIMSEEBszj8y7JERfF0afbh0IpL+1G7mQ7mdnP5/ooVTGmqrPQ9dswxnIWdMoWzdVbNbrvd7MFhZnHU74gdF8cP7oQJ2NlvEpZv6Yfl/3Fgxw7fU+Lj+ZmeNo2xkFCa1womw+BcsZnFYc6dmVJSmL0xeTLn0RITLdnMkFRUBNx1F883Dgfwy1+yUoyCRI1o6sC+dy9fsGHDAgObiYmMTE6fzsikxQurdu/mItKKCuDSS7mIXmzA7WbzWTOqOGwYcOed9k+TKi7mZMf77/N2QgJrQV90kU5eclQsD2qMHz8ea9asAcCgxdy5c7F48eKjfq4/BTXCi2EAb7/N7Du3m8fD668HzjmnAwdU1dXslOXfhNx/OZQpPp4TY2Y2x4gR4ZXfbBicCG4s22L37oY9B+pLSWkYsDC/Jye3vMPMwWBLNYybU1vLv8GmQY+KCuD//o+xGbP9y9lnMztDE09tdOhQYBCj/mc2JoZ1GMxMjOHDgdhYuFzsW/L2275Y5vTpXPiiDFj7KSpiBvbbb/vqhnftCsycCVxyCdAnve1lq+q+6gdQI4lh8MK7qcCFf5mWxqSl8djev3/DYHVCgq+nRmOB6ooKLibo0oXnVIeDX+PGcceefjofk1YxV3MXFPCr/lzpsGE8dWZmsqR/Y1QGqWPV1vIc73b7Ek7N21VVwE03cRLWXKQTE8Ov6GgOuU46Se1mWmTWZjMDGf49mdLTfYGMESPseZw3S1X9L5Nj/37gP8Vjke8ah+8q+zFrIykJsamJmDStG7LOjcekSYrNt0ZxMd8an3/OGJL/5UtUFGNbZhZHJA8DWrJxI6tIFhUxSf7OO4FTTrF6q2zKv4/YwIG8wHC5uBCvspIH/sREZmWdfjozMiZObJCdZbWCAu5zgAkCCq7byH//y+YnR45wnP2b3/AC1m48HvbMeOEF38H37LMZMVMWvXQAS4MaTqcT2dnZdYEKAEhNTUWxf/58O55bn4Ia4Wn3bmD+fK4UATgY/e1vg3hsLC4OnCTbvLnxSf2ePQObkLd3NXBnzSh4PGzM3Vi2xZ49gStIGpOe3jBg4T+RdbTaU8O4LSwKeni9XKjw3HO+kiFjxjDV9/jjj/7PigjFxb7G3mvXchLWX3Q0Z+/MIMbIkc1+FvfsAf72N5Z1ALhbL7wQ+OlPw6MXW6j79ltgyRJm6JvBp169GMiYObOFKnSNlK0KSPM3JSTwmO3fXymcBtyGwQvqxoIWu3cHrmZuTHp6www783jfmpSylgLVjzzC5y1dysk9U1ISS1LNnAkMHtz+vz9C7dnjC3Bs3BgY3xs40BfgGDqUp6pwLYNkGA2DC/W/+wcb6t/f0nPqP+5/n3+t//rKyrhfzCBGfbW1/DrjDJZTT03lOamp7927R1AScUUFAxgrVnDW2lwdAnBVghnIMIOlNldUxD9leb6Br9dUAWWlQFkZosvLMKHbJkxLXYvTu3+JhGg3P7ATJnAitJFSVdI4j4cJMmYWx/btgY/36sXgxuTJTJQJ2aBRB19Hvvce8OijfP0GDmT/jP79O25zLWew115dwMH82bzd2P317/N/bN8+HpuiohoekB0OvrFiYjiwtXlk6OmnufguIYH9HsNqv4e6AweABx7gZx1gvepf/9o+JdMLC1lqyjzQHn88cOONvCYX6SCWBjUWLlyIxYsXY9myZXX3DR48GIsXL8a4ek1v2vLc+hTUCF9eL0+yzz3HQVZyMoPUU6d20n++Y0dgb45t2xpfDTx4sG+CbMQILo1s7uKqo2cU3G6muvoHLMyv/fubn7SPjubEfGPZFn36dM7qWSuXjAYh6LGmcgSe+mQMnEXdgS5d0G9QDK65xoHTTguJa27rlJUFBjG+/z7wcYeDgyUziDFqVLsK/H77LbBwoa/MXUICy4BlZ6sUWGfzelkCffFi33gd4PxNdjZw2mntnLwzDE6kmwHqjRsZ9PBf2WvqqLJVnXUcM/+2pnpcNPY3mhwOzuj4ByzMzIvevTtmdqe1gep9+xj5/fe/eZw1HX88gxtZWaoZ0g6HD7P/RkEBD6P+lTbT03laf/99vk2CVQbJMLheorkgQLCCDXboEBgb62sd1qUL98mnn3IMGxXFj2FtLV8jj4eHDrebh57U1Nb9H8nJDHA0F/wwvycmhtjYo7ycL9hHH3HZvf/im759eREwdSrrSIbAH1ZaygW3y5dziGO+Rx0OTqpPmwaccYobydu/9DUd37o18JfExXFlzIQJ/Bo0KCT+djvYu9fXh2Pt2sC3U1wch5OTJvHrqModd6YOvI70eFjp5q23eDszE7j9dovmTA2DG9SagEP9QEP9x+rf39zYqD0a6yOWmOg78AJcXLJoEcczNubxcIj25ZdMcH7qqRAO9oWj2lrgH/9gJoRhcMz++9/zM2+V/fvZJLSggLe7dwdmz+b4Xecm6WCWBjUeeughLFu2rEGgIjc3F9PrpU615blutxtuvxNTaWkpBgwYoKBGGHM6mbXx3Xe8nZXFIHWnN8asrAS++caXzbFxY+Orgbt1C8zmGD6cB3ug/YWVy8sbBi3M2/V6CTTQpUvj2Rb9+nEbImbJXzu0IeixvaoXntlzPj4vHQEASIyuxJW9PsAPe3+OmL7pvsBHr16BmR5paZE5ACgv5ySwGcTYurXhjNTgwb4gxujRHTrJuWYNVyR9+y1vp6YCV14JnHuuSn8GW0UF57Jff52HMYCHoalTgVmzgjROrw1i2aqODlR7vTy2NFYqqqUMu6goX6C6scBFZ6z2bUuAx+tlhHHpUs7Gm7PwXbrwDTFzJv99JB4jj9KRI5zIKyjgiuWqKuCrr3h/YiKHHElJvkn2/fs5V3rDDXyLNRZIaE1Awn8xvZXMoIL5Zd6u/70tz/G/3dRz6r9V161j4Dw5ufGMs7IyDgkXLOBHtLiYt83v5pd5u61XbDEx3NctBT/Mny2ZzCor8wUyVq8OjMb17+8LZGRkhMSxoKKCvW+WL+ef45/JM3IkAxlTpjRT0ba42BfgWL2akTF/aWm+AMf48a2PhkW4qiouLDaDHAcPBj4+aJAvi2PkSJteHnVgg57Dh4G77+ZktsMBXHUVs5db/IgZRvNZDEcTiGgu7a0jOBx8zcyvrl35Zf5c/7v5c/37t21jJKB7d55QzYi1qbycEc1XXmH00uaKijgnXVzMkt+33RYSh9rI8uWXTKE6cIAHp6uvBi67rHN3lNvN9/Q//8nBXlQU8MMfsndGp0/MSaSwZVBjwYIFmDVrVrufe/fdd+Oee+5p8P8pqBHePB7gpZeAv/+dY6m0NODWWy3O6PRfDWx+NbUauG9fLsN77z1OUA0ZEjjJYxgcIA0Zwj9s377ASayWGnN369YwYGEGMSJ10rwz1NaixFmEFxbV4O1l8fBWVSPa48YP+6/BFWnvIbl4e+syPeoHOsIx6FFVxQGZGcTYsqXh7MzAgb4gxpgxvmBgkBgG51AWLfI13u3fn40Rp0wJj5fdTvbtA954g4dBs7pfUhJw/vkcE/fs2ckb1BFlq9o7wWDOIjcWuNi7N3BSr77oaC65r3+879+fx5JQjcq5XMCyZQxw+Gdq9evHxuLnnBNefa06kdvN/k633sqARWPHNrOX+4gRHXdtalbhaE2goCODDTEx9jl+N9duxjAYWx07tnU9NbxeXxCkfvCjse8ttcppTHx8ywGQDimFVVrKmf8VKziB7z+ZOXAggxhTpoRMVoLbzYny/Hx+9489Dx3KQMbUqRzWtYlh8Hi4ejWDHBs2NLzOGDLEF+QYNUo9ilrBvOwyAxxffRU4JE1MZOWvSZPYdNwWZUr9+zjU/1zUP5g4HDygNxE82LzFgTufPRaHimOQEFON388sxOS+21sXiOjorIfGxMS0P+BQ/7n+9zcWeW6Pjjyw28TatVyLYxgs+X3uuVZvkTRQVsZFVCtW8PaECUytCvbY2DB4vn7qKV9Py7Fjef2TkRHc/1sinuXlp3Jzcxv0yVi8eHGD7Iu2PFeZGpFt0yZmbezcydvnncc+Be2oQhMcHg9Hyf6rgXfs4GP+hZXNwVpsrG+Jo1mLoKkZBf/G3PXLRbWmMbd0qJoaTtC+/LJv4uC004BrrvGrR1pby0nSpjI9WioPBlgf9GhvWZ3qajbFMYMYmzc3nKjt188XxBg71rL+Bh4P8O67wIsvcjII4EL7OXO4adJ+hsG3wZIlLMFhjjYGDGBWxlln2ajsV1vLVg0bxgn43bs5qeQ/u2dORA0bBtx1FwMV/oGLffuaX5EYE9N4f4tIyLAzDL7+S5dyhtDsBRIVxZUMM2dypilUgzcWyc/nwr7+/Tkv5XLxpTX7tgMcpmRncxjSWAChrQEJ7SJqqd1MR5T9akxNTcNMj6YCIMXFLbdZa0xycmCwo7mskESPC45P/hfIKCwMHP9kZPh6ZAwceLR/eqfweBhnWL6ciWb+bYsGDGBm+ZlnAsce24H/aXU1Z+BXrWIwyEw3NXXpwnHaxImc8DruOF0ftEJZGfDFFwxwfPEFY24mh4OncjOLIyiVzwyD+7aykhcVFRUNv77+GnjsMd/B1evlOMLr5Zd5PTl2LJ/TxPXF+0Un4y+7ZqHGiMGxcQdw/3HPYUD8wUaf2ywz66Gx4EFLAYeWAhGhMMax6sAeRP/4B/Dss5yeePJJBmTFZgyD4+MnnuDnPSWFgY1grfTdvp3/lzlP27MnJ9+0+k86iS0bhW/btg0p9ZY7tOW59amnRuRxu7my+vXXebtPHx7LR4+2druaVFbGibHFi1nvJjq68YGmWUv0nHM4cvYPXnRUY245aobBcewzz/hW9w8ZwvN7myfA7R70aEtZHY+Hk8FmEOPrrxvOkKSnA+PG+YIY6ent264gqajgx/SVV3hdAnCF3pw56l/cVh4P562WLOHbxzR+PCdNTz45RMbCzZWtqt8B2LwY93j4eamsbD5QbZYGNMtD+X/17Bkyq/uCqqqK6VTvvceJPFNqKnD22QxwDBhg2eaFkpbKIIVYtYyQ09p2M1YxK8q0NgukpKSVpbA8ZmSlBDHlLnSPLkdqbBlSYo4gtVccUkb2Q+qEwUgZnNYgCNLZpbBas4bD6+VnaflyBurLynyP9e7NjIxp0zqxUpbLxckmM5OjfrZhjx6BpaosWjwSSrxenurNLA6z/LEpLY3zh5NOMTB+VDUSUC/4UF7efHCiqee2NN5vrI+DP8NovEFPbCwQHw9PXDc8teNcvLlrIhAVhVMH7MId0z5DQnJM+zIfOirrIZTZ/cDeRoYB3HEHe6D36cMehGpvZlPbtwP33efrwXTJJUBOTseVma2oYB+PN97gtVBMDAeRP/mJjVajSSSwNKgBAOPHj68LVDidTuTk5NSVmCosLERKSgoy/pey1Nxzm6OgRuRauxZ48EGWFnQ4gEsvBX7xCxtnXfvPKMTE8GTh8fiWNno8vDrSjIJtbd7MzMsvv+TttDSufD3rrCDNP1oZ9GiprM6jj/LfFxbyw/jllw1XtKel+TIxTjqJzw+BC6DiYmbgvP02d4HDAUyfzuNLm0tHRJiyMma9vPmmr151bCwwYwbH22GRpWyWrVq8mAeE2NjGy0WZKy+nTOGq2frBi2OOCYnPg23s2OFrLm6mVAEstzJzJmu76EKrSWFYLSPktDfx0Y68XgbB/IMcdUGPXeVwfbkTxd8cgGufG8U1iSj3/u+z2TUBSE0Buqe0GLXo2rX1DdGPqhQWml/DcfrpjF/n5zPGWlzs+3dpaTz0TJvGuUxLD+nmB3n1an6tW9dwXJaR4cviGDWq+X0QTm9Yk3leNgMOzQUf/hdwOHQI+Py7Y/D5jr5Ys68vqqqjAW8tUOtFjMOD0d2cmJS8EZOTv0b/+Bb6HLZGQgLf/N268Wfzy+UCXnuNjyUk8A0fFcWv6Gju6/Jy4OmnuX/NAER0NFwuJo1u2MD/4uc/B664QkOQDhFmn5OyMi7m2rcPOPVUtnHQ+8Smqqu5YPaNN3h7yBDgzjuPLj3QMIAPPmBEyzzZnXoqcN11XIgl0sksD2o4nU7k5uZi4sSJWLVqFebNm1eXeZGdnY2JEyfitttua/G5zVFQI7KVlzM98v33eXvgQOB3vwOOP97a7WqUZhRC1oEDTMc146xxcYxPXXaZxaXPghX0SE9nxPC77wKXG1ZWcrS7axf/8GHDAt/HKSl8D5tBjP79Q3okvHs38Le/cUUmwJfqhz9kI8Ugt/sIOTt38tD173/75lBSU/l6XXCBTepRdzT/QHVsLCdB3G7+3KULP5/l5cCrrypQ3ZE8Hi6fXbqU380hbEICZxZnzmx4bBIAYVktQ+zi4EGmLqxY0bBBwfDhqDltKlxjpsAV16tVmSAdUQqr/nf/0liJib5DRFNrOPbs4XOGDg38c5KTGaueNs3m85c1NdwXZhZH/VJVsbHsXzZ+PAMd/uO9tmTqBpuZgdCabIeWMiMqKloeFzejxhuN9UcG4/PSEfi8dAR2Vx/DB6Kigego9EssxaR+OzDp2L0YM6gEsYlxPDd169Z4oKL+V9euTZ+72nkd+c03nOc8cID/xe9+x3K5Ik355hvOYXs8DHD86EdWb5E067PPgAULOLiLiwNuvJG96No6Dt6yBXj8cUbxAV7H33AD0+tFLGJ5UKMzKKghAPDpp8Cf/8wLoehorj758Y9tWM9ZMwohpbKSzVVffZWLIQBmZVx9tQVNjdujvUGP+v1fYmP5u8weAGZH2QkTeGVvBjFCpKFnW33zDRfCFBbydkICB/izZkX2wnDDYJLO4sWcWzZlZLDEVFZWx2VB25IC1dYrKmIk7f33GYU0DRrE4MZZZykCWU+YVcsQK+3f7wtkfP114GMjR/p6ZLSx1GTQSmH5iYnhoSElhZt/6BCT58x4tMvl65mcmMg5ncxMBjLGj7fh9UVruFwcyJiZHGY6pSklxbfC//nngSNHGs/Ubc21ihmIqB9waEVmRKOBio6eqnA4fBkPZsChNcGHes/ddTgBn62Nx+crHdiwITBpMz6e75VJk/h1zDEdsN1tvI788ENeH9fUcH7y/vtDpmWNWOzddzlWcDiARx7R2hzbKyoC/vhH38Xq1KkMQremfpjLxdru77/PY23XrpxMmzUrRE92Ek4U1JCIUlIC/OUvvDgBWFJ03jwbDt40o2B7Xi/nyZ57Djh8mPeNHs2+GSecYO22daimgh5ffMEXICYmcKI2KoqDo4QEXuz+7W+sKxQhVq9mNq652LFHD6bw/+AHkTXmq65mGY4lSwCnk/c5HGygOWsWL3zCMLbVOAWq7cEwWP5h6VIOAsx0oZgYLkmdOZOTdQouAQi7ahnSmfbu5WdsxYrAhkkOB8sZTZnCY14nrvyoXwqrpe8VFb5/W781kj9z3js6mrHpiRM77U8KPsNgST8zwLF2LY+bhsHsjiNHGOQwm/CYff/27+fs+M9/7gtANPXVGYGIVgYfGjw3Pr7DByoVFWxv8vnnwMqVDdubDBniC3AMH34Ux9xWXEd6POz9Z/afnDQJ+P3vG++nJNIYw2DS/ocfMsNt0SKOF8TGDINlzJ97jtf4vXrxg3/iiY0P/AwDeOstXs+Xl/N3zJjB3hza2WITCmpIxDEMlop59FGOx2NjgdmzOdFmq0k2zSjYVmEhS5qZk7V9+wLXXMOayrZ6DwWTWVYnKYkXS9XVfH+aafER3FHWPMY895yvUXz//jzOZGaG93ukuJhj37fe8rU0iI9nUOfii/k6RCQFqu2lvJxRt/feY5qVKT0dOOccvmHVHEek9Xbv9gUy/D9TDgfLF5mBjBCZBKkxe5e7OGF3332ctPN6ORlsGJzL796dP+/axQm9rCyrtzyIamqYbfPGGyw/4vU23qTEzNQdMYJjxJaYgYiWgg/m4809NwiBiGAxDFZw/ewzBjk2b25YwuzkkxlsOPnk1r2UAZq5jnS5gHvvZZwKAH72M+Cqq0LmpRMbcbuBa68Ftm3jW+yRR46ud5F0ks2beRDYu9e36uzrrwPLCfbpw+NtZSX/zdChLFt14onWbrtIPQpqSMQ6dAh46CGWkAV4zTV3Lo/fIo3ZsYOrmj77jLcTE5l5edFFkbUKH4DK6rSCx8NG4i+/7JvgHzaMAbAxYyzdtA7ndLLEVF6er7RCejo/G+ee246L8XCkQLU9bd3K7I1ly7gkG+DxbNw4Zm+cfjqDUCISaOdOBjE++oifI5PDwXKTZiAjNdWyTewI/q2RGlvFHnFrOPLzWWO1Tx9OdpWWchLMbEjtcPC+n/+c2W8tBSri4jSbDo4Tv/iCAY5Vq7jwzuRwcB7RzOI47riWX7KmhhzffsuF2QcOcBfMm6e1FXJ0du3iwv2KCh4rc3Ks3iJplYoKrvJdvJgHhqgoYPBgHpN37uTBIyaGJ7a5c3lBp+sWsSEFNSSiGQbrQT71FKuBdO3KplczZ2p8LT4lJcCLL3L1ubkw7cILgSuv5EVuxFJZnVapqABee419V6qqeN8pp7CxXkaGtdt2NAyDF9+LF/tW+wFcnJmdzV2v1VoSMqqrgY8/ZoBjzRrf/UlJTLWfOZMXeyKRbPt2XyBj2zbf/VFRDAROncpybikpFm1gx9MajnoU5Qm62loumjazOL7/PvDx9HSOIydN4seufu+2pnq4T53KyrFuN9CvH/tnDBrUSX+UhLUVK4C77+bP99+vRvMhw+vl4p1167iAJyaG9xkGv6KiuDPfeitCTnASihTUEAGwZw9rQn75JW9PmgT89rchkyUvQVJTA7z5JvDSS74ykqeeypX2AwZYu222obI6rVZczPfSO+/wgtXh4FzpL37BkqahoqqKF8Wvv87VWQDHuWecwWDGiBHWbp/IUdu3j80Q//1vLmc1HX88gxtZWa1rrCgS6gyDwQuztNT27b7HYmLY5XjKFE56hPE1ltZw+FGUp9Pt38/gxuefswRudbXvsdhYJkaZWRzffcf3qsvl6+FeWcmMWrebFWTOPhu44w5l0UrHeuopLnTq1o39Bfv2tXqLpEVmkDo+nic0s6FUt26sGWw2pFKQWmxMQQ2R//F6eSJ+9lmWT0lKAn7zG+DMM63eMulshsEL2Gee8fVEGDyYWTwnnWTtttmSyuq0ye7d7Lfxn//wdkwMyzT99Kf2nhM6cIBBvnff9ZVF6NYNOP98bn96urXbJ9LhvF42yF26FPjkE19ttS5duOR15kwe75TaKeHEMFhOyszIMKPXAE9YEyfy/T95ckTNimoNhx9FeSzjdnMe0szi2L/f95hhMHhRXs4SVYmJPI1t28bqilVVfM+uWhWBZXMl6Dwe4KabmGU0eDD7T8bFWb1V0iyznOCAAbx2N0tOmdmWtbUR0jRKQpmCGiL1bNsGzJ/P0oIAgxo33WTvyUbpOFu2cKXJhg283aMHz/Vnn615eulYW7YAubm+0k0JCcCPfwzMmmWvi4BNmxjwXbGCF8cAyxZccgl7Knftau32iXQKl4t9N5YuDawF0q8fG4ufc47SOyV0GQYHvh99xIP9nj2+x2Jj2anYDGQ0VnIoQmgNhx9FeSxnJsaYWRyffgp89RXnJKOjfW1OPB7G3s3FJ1p0LcFy6BAwezaHTDNnArfeavUWSbP8ygl6ExKx4UgGijzdkRZTgtGJTkRVHFGmhtieghoijfB42Nz373/nBUyPHsBtt7F+qYSngweZpfPhh7wdFwdcdhnP85q0lWAxDJbvz81lyQCAEyU//znnSa3qSVFby/mKJUu44sp00kkMukyerMXpEqEMg5N4S5dyhVtlJe93OFj7Y+ZMftcyWLE7w2B03Qxk7NvneywujoPeKVP4fk5IsGwzxcYU5bGVd9/lhHJcHLM1/JMLjzuO37XoWoKtsJBlvA2D8yc/+IHVWyRN+l85wYKVXfBwzQ3YXDEQbiMWcY4aDEvYjltin0DmpBqVExRbU1BDpBmbNzNrY8cO3j73XOBXv9K1XTiprOTig1dfZUo3AJx1FvDLX6qcjnQewwCWL2dgzZxXGjCAF6enn955AYQjR4D33gPeeMPXSiAmBpg+nZkZQ4Z0znaIhISqKk4IL13qa8oFAKmpTO+bOVMNmMReDAPYuNHXI8O/Z0xcHCPWU6YwoKEVHSIhpX4P94oKXuekpHCRjHq4S2d5+WXgb39jIO3JJ3X9YGcFf12PG26Nh6smAelxJYiPqUGVJxYH3d3RPbYCT/ypCpnXj7F6M0WapKCGSAvcbk40LlnC2717A7ffDozRsT2keb3ABx9w3x4+zPtGj2bQ6oQTrN02iVw1NWwk/tJLLFUNsPF2Tg7fn8GyezcDGUuXcp4W4EXwBRcAF17IbDURacbOnfwA/fvfrLtgOvFEBjfOPJN150U6m2Ew6LZiBfDf/7I+iKlrV+DUUxnIOPlke9U+FJE2UQ93sQvDAObNA1auZMPwhQsjunKhbZnHjHWfV2GQ51sYFVUwvAaiowwYCQnYHjsEYyd11TFDbE1BDZFWWrcOePBBNmRzOFiC5Ze/1PVfKFq7lqtGtm7l7b59gWuu6dwV8SLNqahg9pB/BtHkyczcOO64jvk/DIMXvosXs+GkeZY/7jge36ZP5worEWkDj4fFzZcu5Xfzg5WQAEybxgDHsGE62UhwmWWBVqxgLcGiIt9jCQnAaacxkDFxog70ImFEPdzFLsrKeN2yfz+vse+9V0Mfu/HP7qqqNLBrey0Mr4H4eKBbSgxiYhzweLi4V9ldYlcKaoi0QUUFJ8OXLuXtgQO5CkEr+0PDzp3AM8+wkR7AFSNXXgn88IfsgyliN4cPM2vjnXc4R+VwsDzaL37R/vJoNTXAf/7DYIbZxwNgtZHsbGDcOF10iHSIoiJmbrz/PtOhTIMGMbhx1lmcZRLpCLW1jFSbGRn+GUOJib5AxoQJGvSIhDH1cBe72LIFuP56rve45hr2qxT7yM/nIl2HI3DIYDIMLq475RRgxgxWDRg9Gjj2WF0rin0oqCHSDp99Bvz5z5xwjIoCfvpT4Gc/U19QuyotBV58EXjrLV7zR0UxkHHFFZpPktCwaxfw3HMs3w9wPuqii4Cf/ISra4CW+3W6XMDbb/NzYJZci4tj6f9LLuEAVUSCwDD44Vy6lBPOZvpVTAwnmmfO5ESzcvulrTweLrU0MzLMuoUAkJTE5bFTpzJarUGqSMRQD3exi7feAh59lO+/v/wluOV0pW2WLeOCNq+XfXf69mXJ4fJy9ll0ufjz8OEcUpiSk4FRo3xBjiFDNMQQ6yioIdJOpaU8MZuTjEOHAr/7HRdgij14PMCbb3Kl+5EjvO/UU9mfQBO4Eoo2bwZyczmHBTDb6Mc/Bnr1YkmBzZs5XxoXxwo3t9zCPsVLlnDgWl3Nf3fMMQyKnH9+4CBVRIKsvJxL4957D/jmG9/96enAOecAP/gBm3dJZGrNTKTHA6xZw0DGxx+zxoepe3cuxZ4yhbUiNMsgIiIWMgzgj38E8vJ4Wlu4UL367GDlSuD++7lYt6KCPRz9rwnNPjyjRgF33gl89RXbc23c6FubY4qL4783gxwjRqiNnHQeBTVEjtLy5Vx9UFbG1dNXX8169FoNYx3D4HX+M88Ae/bwvowM4LrruFhRJJQZBrBqFYMbTidX0WzbxgHlscey72tVFcut1dYC/fqx6TfAUnnZ2Zzv0lyXiMW2bmX2xrJlvolph4Mnqpkzucpe/Q4ih3/NmPrR6UmTgNWrGcj45BPfSg2AB/gzzmBGxujRXG4pIiJiE1VVwLXXAt9/z3j7n/+sU5VVDAN4+WXghRf4c/fuLEdcXt66PjweD9fkbNjAIMeXXwaurQC4b4cO9QU5Ro3yVRYQ6WgKaoh0gKIi4E9/YsQb4MH79tuBPn2s3a5I9M037HuyYQNv9+jBWpHnnKNAk4QXwwA+/JDv70OHOAiNj+d7/vBhDkirqrjq5tprgUsvBUaOVA1UEduprmYkfulSrsA3JSWxiPHMmcDgwdZtnwSf2d3X5WLWTnw8UFnJ2oMA04D9lz326OELZIwapQGOiIjY2o4d7KtRWcks89mzrd6iyFNWxqyZzz/n7fPP59Dj88/b34fHMBisMoMcGzYwIFLfwIG+IMfo0e3vDSlSn4IaIh3EMFhN4qmneLKOj2dmwLnnahKxMxw8CDz7LCd5AZ6ML7sMuPxyICHB2m0TCZZ16/g+r63lXFhtre+xqCj2ho2NZfmpsWMt2kgRab19+9hY/N//Bg4c8N1//PEMbmRl8YMt4cPrBS6+GFi7lqth3G72xigp4UG9qor7fOpUfk2ZApx4ogaXIiISUj76CLjnHv78wAMsCy2dY+tWlpHau5fXhr/5DSuemjqqD49hAPv3BwY5duxo+Lz09MAgh5qPS3spqCHSwfbuBR580JcpcMopwK238uQgHa+yEnjlFeDVV331HWfMYBkwrQCQcJefz/f6gAG8feAA66ImJ/OYYxhc6LtoEedCRSREeL0sN7R0KcsNeTy8v0sXTmrPnAmMGaMrwFBhGAxS7N8f+HXgAPD111yR4XA0rMcRG8uaglFRwBtvACedZM32i4iIdIAnnuDpLDGR/TVU2SL4li1jJobbzbZt997L8lCdxeViTw4z0PHNNxzm+jObj5sNyIcOValkaR0FNUSCwOvlyuhnnwVqalhB4te/BqZN0/xDezS2cgAAPvgAeO453g/wJPirX7EEtUgkWLeO2UjJyWwaXl95OVBaysCfMjVEQpTLxSvSpUuZ42/q25fBjXPO0coJq3k8TBltLGixbx+/V1c3/m+Li4EtW9hDIzqagavkZPbKSEhgtoai0yIiEgY8Hs6LbNzIieu//lXtw4LF42FZ7n/9i7dPPhm44w7r+1tUVnL/m0EONR+Xo6GghkgQbd/O1Mpvv+XtqVOBm25i0yVpncb6Zvbpw9UdZp/MPn1YozMzU0EjiSxm1ZL161mr1P/9bxg8Bo0dC7z+ukqui4Q8w+DJcOlSpmlVVvJ+h4ONpGfO5Hctbet45eUNAxb+QYvDh7l/muNwsBdGr16BXy4Xl02mpjY+06DotIiIhJEDB4A5c5jAeN55wC23WL1F4efQIeDuu5kMCgBXXAFceaU9rwfVfFyOhoIaIkHm8QB//zvw8sucgExNZTmqyZOt3jL7q9830+EAdu7k3EFMDE9oN90EXHQRKzSIRCLzc1JSAvTsyVUsVVVcNNy9O9O8W2ryJiIhpqqKxamXLuXVnyk1FTj7bAY4zLp00jyvlwOL5oIWFRUt/54uXThYqR+0SE9nvYeePRsPOCk6LSIiEWb1auC223iamzcPOOssq7cofKxbx94lLhcXgv7ud6E196Tm49IWCmqIdJItW4D583ltCrAx0/XXq4l1YwyDCxMvuYQnsp49OZ9w6JDv8ehonpzfflvX+CL+GU3V1ZxbGz4cuPlmBTREwt7OnQxu/PvfvII1nXgigxtnnhnZOftuN4MTTQUtDh709SxpTvfuzQctundvf7qootMiIhJhXnoJeP55VmJ46ikgI8PqLQpthgEsXgzk5nK9REYGcN99rFYayuo3H//yS9+cmj81H49MCmqIdCK3mz0glizhwblXL+D22yOrmkBlJXtgHDrE7/4/HzrExZKHDvE6fuNGLmr075uZnMwTc22tqjGI+Gus94wCfiIRxOMBPv+cAY7PP/eVQ0pIYFOvmTPZdCqcrvDMBtzNBS38Az1NiY5mMMEMUNQPXqSnBz8wpOi0iIhEEMMA5s4FVq0C+vfnZLwWfLZPRQXwpz8xiRcAZsxgWa+4OEs3K2ha23z8xBN9QQ41Hw9PCmqIWGD9euDBB1nRAGBGwuzZoX3SqaoKDFQ0FbgwS4C3pLiYJ6ekJF7Xx8ayFHVSEh9X30wREZEmFBUxc+P994Hdu333DxrE4MZZZ4VGgy+zAXdzQYv63SUbk5AQmFVRP2iRlmaPKLCi0yIiEkFKSthf48AB4Iwz2AcinNZedIYdO4A//IHZC9HRrAZy4YWR9Tqq+XjkUlBDxCIVFcDTTwPvvsvbAwaw3uGwYbxtl+tat7vpbAr/+1tTbtqUkMC/yfw65piGP+/axWZWyclAt24Nf4f6ZoqIiLTAMDiYWLoUWLHCd4UXEwOcdhoDHBMmNBxgdNYgpKKCKzyaCloUFbXcgBvgNjYXtOjWLbKu7kVERELEpk3AjTdyHcOvfgVkZ1u9RaGjoICLZSsqOBS65x5g5Eirt8p6aj4eORTUELHYypVMFSwq4nzBT37C+oePPsoKBG43o8rDhjGFsKMqELjdgcGJ+pkV5u3y8tb/zvh4X1DimGOYWeF/Oy2N97UmrVR9M0VERDpQeTmQnw+89x6v9Ezp6cA557DZV+/egWWQjmYQYhgcaDQXtGjNICM2tmH/Cv+gRc+efI6IiIiEpDffBB5/nBPNjz7KskHStNpa4NlnucATAMaMAe66C0hNtXa77Kp+8/Evv+TQtD41Hw89CmqI2EBpKfDYY8Dy5awPuGMH0LUre0e0tVdkdTUDEo1lU/j/fORI67cvLq7xbIr6tzu6Bqb6ZoqIiATB1q3M3li2zLd0zeHg1duqVVzi1qtX8yfe+g24DxwIDGC0tgF3cnLzQYuUFGVZiIiIhDHDAO6/n/MhaWmcsE9JsXqr7MnlAu69F1i7lrcvvZQlvPz7kErLzObjZqCjqebjo0b5ghz1F9uK9RTUELGR5cuBH/+YJyozqGFGh71eYNs2psjdeSeDFo0FLuqn1TWnS5emyz/5Z1okJFh38FbfTBERkSCprgY+/pgBjtWr2XXxyBGWa+rRgzMKtbUMYOzbxxUGU6a0vgF3VBT/TVNBi/R0DnhEREQkolVWAtdey8nlceNYzUIVGQJt2sSMjIMHue5k7lxg6lSrtyo8lJQwuKHm46FFQQ0RG1m3jjUky8t9DbVjY3kwra3ll8fDpkZmw+zGxMY2nU3h/3OolJi2S38RERGRsJWXB/zsZwxgNDbsb2wQ0rVrYO+K+kGLtDQtHRQREZFW2b4duOYaJon+9KfAL39p9RbZg2EA77zDhFmPh/1Y77uPmQMSHGo+HhpaO9+v2JNIJygq4klqyBAugNy9G6ip8T0eHc0J/n792E+iqb4ViYmhEaxoragoNQMXEREJKoeDV2JDh7LjZFERv8fEME0yJob1Mq+4gg3Ge/UKvwGHiIiIWGbgQOC3v2Upqr//nU2vJ02yequs5XYDf/kL8MEHvJ2ZCdx+e8eX/pZAXbsC48fzC2i6+fjatb5SYGo+bl/K1BDpBOvWAZdfzgNft248cFZW+uYTqqo4n/DKK5rkFxERkQ5UfxBSX3m5BiEiIiISdI89BvzrX0wMXbiQSaCRaO9e4A9/AL77jmtI5swBLrtM60nswDCYWeTfl6Ol5uOjRnFNkHQclZ8SsRGvF7j4YmD9+oZNiMyD5tixwOuvq/ySiIiIdCANQkRERMQGamqAG29kX80TTmDZpdhYq7eqc61cCTzwALMBUlIY3DjpJKu3SpoTrObjKsfeNAU1RGymoAC44QY2KurZk5UgqqrYDKp7d57Q1SBbREREOpwGISIiImID+/cDs2dzUv/CC4GbbrJ6izqHYQAvvwy88AJ/HjYMuOceToZLaGlN8/GkpMAgR/3m4wUFwMMPM8DndrOPx7BhwC23aEgOKKghYkv+B67qapaeGj4cuPlmHbhEREQkiDQIERERERv44gv2jzAM4I47gOnTrd6i4CorA/74R+Dzz3n7gguA66+PvCyVcNXW5uO1tSzFVlrKoJbWGjWkoIaITSnFTERERCyhQYiIiIjYwPPPAy+9xMneZ54BBg2yeouC47vvWGJq716uJ/nNb4BzzrF6qySYPB7g228DS1aVlfExwwC++oot7VJTgcRE31dUlKrCmhTUEBEREREREREREVvxeoG5c4HVq4EBAxjYSEiweqs61ocfMkm2uppN0e+9l2WIJLL4Nx//4AOWIQOA6Gjfc3r35ld5OTM4XnmFwY1I1dr5/giO+4iIiIiIiIiIiEhniopi6amePYGdO4E//YmTv+HA4wEefRSYP58BjZNPBhYuVEAjUjkczES64ALg4ouZLD1iBJuJp6Wx/FRiIp8bH8/3TFGRpZscMmJafkrbOZ1OLFmyBBkZGXA6nZgzZw5SUlIafW5hYSEAYNy4cXA6nXC5XBg3blwwNktEREREREREREQslpIC3HUX8OtfAx99xMbKF19s9VYdnUOH+Ddt3MjbV1wBXHllZJcSEp+0NJZc83pZfio1NfDxqiqWKUtLs2b7Qk1QPlbZ2dm47bbbMGvWLMyaNQuzZ89u8rm5ubkYP348HA4HcnJykJGREYxNEhEREREREREREZsYORK49lr+/NRTwNdfW7s9R2PdOmD2bAY0EhPZHPyqqxTQEJ/Ro4Fhw9gUvH5mkmHw/uHD+TxpWYd/tJxOZ8DtjIwM5OXlNfn88ePHo7i4GMXFxVi2bFmTGR0iIiIiIiIiIiISPi6+GJg6FaitBe65B3C5rN6itjEM4LXXgFtu4bYPHgzk5gKTJ1u9ZWI3UVF8n3Tvzj4b5eV835eX83b37sDNNysQ1lod/jLl5eWhR48eAff16NGjrsxUY1JSUhTMEBERERERERERiSAOB3DrrWwYfvAg8MADLM8TCioqGIh5+mlu81lnAU8+CfTta/WWiV1lZgJPPAGMGcOm4Lt28fvYsbw/M9PqLQwdHd5Tw9VESPXw4cNNPn/JkiUAgFWrVjVbgsrtdsPtdtfdLi0tPbqNFREREREREREREcskJAD33gtccw2wejXw4oss3WRnO3YAd97J7zExwPXXsxm0w2H1londZWYCp50GbNjApuBpaSw5pQyNtglKo/DGNBXs8G8inpGRgRkzZmDr1q2NPnf+/Pm45557grSFIiIiIiIiIiIi0tkGDWJpnj/+EXj5ZfbbOPlkq7eqcf/9L/Dgg0BlJSek77mH2yvSWlFRzM6Q9mt1UGPhwoVNBhsAYMaMGZg+fTpSUlIaZGUcPny4yfJSTqcT48aNA8CghtPphNPpbDRbY968ebj55pvrbpeWlmLAgAGt/RNERERERERERETEhmbMAL76Cnj7beD++4FnnwXS063eKp/aWm7TK6/w9pgxwF13Aamp1m6XSCRyGEb9futHx+l0Ijs7G2vWrKm7LzU1Fdu2bWsQ2CgsLERWVhaKi4sBMJsjNTUVxcXFreqxUVpaiu7du6OkpATJyckd+WeIiIiIiIiIiIhIJ6qpAW64AdiyBRg2DHj8cSA21uqtYhPwe+8F1q7l7UsvBebMAaKjLd0skbDT2vn+Dq/WVT/Dwul0YsKECXVBisLCQjidzrrnLliwoO65eXl5mDVrlpqGi4iIiIiIiIiIRJjYWODuu4GkJGDzZuCpp6zeImDTJgYw1q4F4uOZnXHttQpoiFipwzM1AAYycnNzMXHiRKxatQrz5s2rC1RkZ2dj4sSJuO222wAwyJGXl4eUlBRs3bo1IMjREmVqiIiIiIiIiIiIhJfPPwfmzePPv/89kJXV+dtgGMA77wBPPAF4PMCAAcB99wEDB3b+tohEitbO9wclqNFZFNQQEREREREREREJP889B/z978yOeOaZzg0muN3AX/4CfPABb59xBjB3LpCQ0HnbIBKJLCs/JSIiIiIiIiIiInI0rroKOOkkoKqKJZ8qKzvn/927F7j+egY0HA4gJ4clsRTQELEPBTVERERERERERETEVqKigD/8AUhLA7ZvB/78Z5aECqaVKxnE+O47ICUFePhh4PLLGdwQEftQUENERERERERERERsJyWFWRLR0cDy5cBbbwXn/zEM4MUX2cejrAwYNgzIzWWmiIjYj4IaIiIiIiIiIiIiYksnnsjsCQB48klg06aO/f1lZQxmvPACgxsXXAA8/jiQnt6x/4+IdBwFNURERERERERERMS2Zs1is26Ph5kbpaUd83u/+44Bk5UrgS5d2Az8N78BYmM75veLSHAoqCEiIiIiIiIiIiK25XAw4NC/P3DgAPDAA0ffX+PDD4HrrmNj8D59gL/+FTjnnI7ZXhEJLgU1RERERERERERExNYSEoB77gHi4oAvvgBefrl9v8fjAR59FJg/H6iuBk45hf0zhg7t0M0VkSBSUENERERERERERERsLyOD5aEA9sBYvbpt//7gQeDXv/Y1HL/ySgY3kpI6dDNFJMgU1BAREREREREREZGQcPbZwHnnsfzUffexHFVrrFsHzJkDbNwIJCYymPHzn7O0lYiEFgU1REREREREREREJGTccAPLRZWWsiSVx9P0cw0DePVV4JZbAJcLGDyY5aYmTeq0zRWRDqaghoiIiIiIiIiIiISMLl0YzEhMZObF008DXi+zMfLz+d3rBSoq+LxnnuHt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TJE27mstq/aPxocKatjSwoUL4XQ6290bYPr06XUHmsYGK2b00IzqLVy4sC4imJeXF5CGmpubG9KrToPFyn1kWr16dYOmcFaw8rUYN24cVq9eXXeQLywsxOHDhyMuE6A5Vr9XzX1jNtGyw6DQCsHeD81pzfEk0lm5f+zG6tciJycHM2bMiPjU9uZYuY/y8vICLpQWLlyIlJSUiDjvWvm6L1iwAFu3bq37AoBly5bpc+LH6s+F3a6frHw9MjIyMGHChLpjxcKFCwMWIUU6q8+zgH2uI61m9XWSNM3qfWOn8ajV84OROu5rLSv3j8aHKj9lC/Pnz8err74KgBN/48aNw5o1a47qZDd37txmG9QtW7YMOTk5mDt3LsaNG4fFixcD8H2gxo8fX7ct5mORzE77yGTVKg87vRYZGRlYvHgxsrOz61L88/PzI3qgaKf9A3AiJi8vDykpKZg3b17IT/i2lhX7Ye7cuXWrZsaPHx+wL1o6nkQau+2f5h4LNju9FuaFU/3VRWvWrKkb0EciO+2j6dOnY+HChXWTYeF83rXT6y4N2Wn/2OH6yU6vB4C68fmCBQuQkZGB/Pz8dm9HqLPbvjG3IxKDTHa7TtIx38dO+8bq8aidXotIGve1lp32jwAOwzAMqzdCRERERERERERERESkJSo/JSIiIiIiIiIiIiIiIUFBDRERERERERERERERCQkKaoiIiIiIiIiIiIiISEhQUENEREREREREREREREKCghoiIiIiIiIiIiIiIhISFNQQEREREREREREREZGQoKCGiIiIiIiIiIiIiIiEBAU1REREREREREREREQkJCioISIiIiIiIiIiIiIiIUFBDRERERERERERERERCQkKaoiIiIiIiIiIiIiISEhQUENERERERERERERERELC/wPKKscwj++6PwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Compare twiss parameters with model before and after correction\n", "\n", "(nux_model, nuy_model), (ax_model, bx_model, ay_model, by_model) = task(ring)\n", "(nux_error, nuy_error), (ax_error, bx_error, ay_error, by_error) = task(error)\n", "(nux_lattice, nuy_lattice), (ax_lattice, bx_lattice, ay_lattice, by_lattice) = task(lattice)\n", "\n", "# Before\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.plot(ring.locations().cpu().numpy(), 100*((bx_model - bx_error)/bx_model).cpu().numpy(), color='red', alpha=0.75, marker='o')\n", "plt.plot(ring.locations().cpu().numpy(), 100*((by_model - by_error)/by_model).cpu().numpy(), color='blue', alpha=0.75, marker='o')\n", "plt.xticks(ticks=positions, labels=['BPM05', 'BPM07', 'BPM08', 'BPM09', 'BPM10', 'BPM11', 'BPM12', 'BPM13', 'BPM14', 'BPM15', 'BPM16', 'BPM17', 'BPM01', 'BPM02', 'BPM03', 'BPM04'])\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "# After\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.plot(ring.locations().cpu().numpy(), 100*((bx_model - bx_lattice)/bx_model).cpu().numpy(), color='red', alpha=0.75, marker='o')\n", "plt.plot(ring.locations().cpu().numpy(), 100*((by_model - by_lattice)/by_model).cpu().numpy(), color='blue', alpha=0.75, marker='o')\n", "plt.xticks(ticks=positions, labels=['BPM05', 'BPM07', 'BPM08', 'BPM09', 'BPM10', 'BPM11', 'BPM12', 'BPM13', 'BPM14', 'BPM15', 'BPM16', 'BPM17', 'BPM01', 'BPM02', 'BPM03', 'BPM04'])\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 27, "id": "9e14cf7f-584a-4192-92b8-6fb2758e311a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor([[ 0.4677, 0.0016],\n", " [-0.0080, 0.3623]], dtype=torch.float64)\n", "\n", "tensor(0.4677, dtype=torch.float64)\n", "tensor(0.0016, dtype=torch.float64)\n", "tensor(-0.0080, dtype=torch.float64)\n", "tensor(0.3623, dtype=torch.float64)\n" ] } ], "source": [ "# ORM_IJ function can be used to compute derivatives of closed orbit at specified BPM (I) from specified corrector (J)\n", "# In this case the lattice shoud be flat\n", "# Is and Js should match BPM and Corrector locations (this if fact a requirement for correctors)\n", "\n", "# Set flat line\n", "\n", "line = error.clone()\n", "line.flatten()\n", "\n", "# Set locations\n", "# Note, index method returns a tensor, but ints are expected by ORM_IJ\n", "\n", "_, Is = line.index('BPM')\n", "_, Js = line.index('Corrector')\n", "\n", "# Compute ORM_IJ\n", "\n", "nb = line.describe['BPM']\n", "nc = line.describe['Corrector']\n", "\n", "index_i = 5\n", "index_j = 10\n", "\n", "I = Is[index_i]\n", "J = Js[index_j]\n", "\n", "print(ORM_IJ(line, fp, I.item(), J.item(), [], limit=1, epsilon=None))\n", "print()\n", "\n", "print(orm_error[index_i, index_j]) # d(qx)/d(cx)\n", "print(orm_error[index_i, index_j + nc]) # d(qx)/d(cy)\n", "print(orm_error[index_i + nb, index_j]) # d(qy)/d(cx)\n", "print(orm_error[index_i + nb, index_j + nc]) # d(qy)/d(cy)" ] }, { "cell_type": "code", "execution_count": 28, "id": "6946c5b6-ca82-483d-938f-102f32fee6d0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 0 35 tensor(0.0038, dtype=torch.float64)\n", "0 1 35 tensor(0.0035, dtype=torch.float64)\n", "0 2 35 tensor(0.0020, dtype=torch.float64)\n", "0 3 35 tensor(0.0017, dtype=torch.float64)\n", "0 4 35 tensor(0.0009, dtype=torch.float64)\n", "0 5 35 tensor(0.0008, dtype=torch.float64)\n", "0 6 35 tensor(0.0008, dtype=torch.float64)\n", "0 7 35 tensor(0.0010, dtype=torch.float64)\n", "0 8 35 tensor(0.0015, dtype=torch.float64)\n", "0 9 35 tensor(0.0006, dtype=torch.float64)\n", "0 10 35 tensor(0.0007, dtype=torch.float64)\n", "0 11 35 tensor(0.0009, dtype=torch.float64)\n", "0 12 35 tensor(0.0009, dtype=torch.float64)\n", "0 13 35 tensor(0.0007, dtype=torch.float64)\n", "0 14 35 tensor(0.0007, dtype=torch.float64)\n", "0 15 35 tensor(0.0007, dtype=torch.float64)\n", "0 16 35 tensor(0.0006, dtype=torch.float64)\n", "0 17 35 tensor(0.0003, dtype=torch.float64)\n", "0 18 35 tensor(0.0006, dtype=torch.float64)\n", "0 19 35 tensor(0.0004, dtype=torch.float64)\n", "0 20 35 tensor(0.0005, dtype=torch.float64)\n", "0 21 35 tensor(0.0004, dtype=torch.float64)\n", "0 22 35 tensor(0.0002, dtype=torch.float64)\n", "0 23 35 tensor(0.0003, dtype=torch.float64)\n", "0 24 35 tensor(0.0003, dtype=torch.float64)\n", "0 25 35 tensor(0.0003, dtype=torch.float64)\n", "0 26 35 tensor(0.0002, dtype=torch.float64)\n", "0 27 35 tensor(0.0001, dtype=torch.float64)\n", "0 28 35 tensor(0.0003, dtype=torch.float64)\n", "0 29 35 tensor(0.0003, dtype=torch.float64)\n", "0 30 35 tensor(0.0001, dtype=torch.float64)\n", "0 31 35 tensor(0.0003, dtype=torch.float64)\n", "0 32 35 tensor(0.0002, dtype=torch.float64)\n", "0 33 35 tensor(0.0001, dtype=torch.float64)\n", "0 34 35 tensor(0.0001, dtype=torch.float64)\n", "0 35 35 tensor(0.0002, dtype=torch.float64)\n" ] } ], "source": [ "# ML style correction (batched)\n", "\n", "# Set parametric ORM\n", "\n", "line = ring.clone()\n", "line.flatten()\n", "\n", "nb = line.describe['BPM']\n", "nc = line.describe['Corrector']\n", "\n", "_, Is = line.index('BPM')\n", "_, Js = line.index('Corrector')\n", "\n", "# Set batched funtion\n", "# This function is to slow to be of practical interest\n", "# As it is the case for orbit correction, evaluation of full ORM and selecting specific elements is now faster\n", "# Here, only several interations are performed for demonstration\n", "\n", "def ORM_knks(IJs, kn, ks):\n", " result = []\n", " for IJ in IJs:\n", " result.append(ORM_IJ(line, fp, *IJ.tolist(), [kn, ks], ('kn', ['Quadrupole'], None, None), ('ks', ['Quadrupole'], None, None), limit=1, epsilon=None))\n", " return torch.stack(result)\n", "\n", "kn = torch.zeros_like(error_kn)\n", "ks = torch.zeros_like(error_ks)\n", "\n", "# Normalize objective\n", "\n", "ORM_knks = normalize(ORM_knks, [(None, None), (-0.5, 0.5), (-0.5, 0.5)])\n", "\n", "# Normalize initial corrector settings\n", "\n", "kn, ks, *_ = forward([kn, ks], [(-0.5, 0.5), (-0.5, 0.5)])\n", "\n", "# Set model\n", "\n", "model = Wrapper(ORM_knks, kn, ks)\n", "\n", "# Set optimizer\n", "\n", "optimizer = torch.optim.AdamW(model.parameters(), lr=0.005)\n", "\n", "# Set features and labels \n", "\n", "X = []\n", "y = []\n", "for i in range(nb):\n", " for j in range(nc):\n", " X.append(torch.stack([Is[i], Js[j]]))\n", " y.append(torch.stack([orm_error[i, j], orm_error[i, j + nc], orm_error[i + nb, j], orm_error[i + nb, j + nc]]).reshape(2, 2))\n", "X = torch.stack(X)\n", "y = torch.stack(y)\n", "\n", "# Set dataset\n", "\n", "batch_size = 16\n", "dataset = TensorDataset(X.clone(), y.clone())\n", "dataloader = DataLoader(dataset, batch_size=batch_size, shuffle=True)\n", "\n", "# Set loss funtion\n", "\n", "lf = torch.nn.MSELoss()\n", "\n", "# Perfom optimization\n", "\n", "for epoch in range(1):\n", " for batch, (X, y) in enumerate(dataloader):\n", " y_hat = model(X)\n", " value = lf(y_hat, y)\n", " value.backward()\n", " optimizer.step()\n", " optimizer.zero_grad()\n", " with torch.no_grad():\n", " print(epoch, batch, len(dataloader) - 1, value.detach())" ] }, { "cell_type": "code", "execution_count": 29, "id": "c0639a85-fecb-40e6-8081-1934b688f1d9", "metadata": {}, "outputs": [], "source": [ "# Apply corrections\n", "\n", "kn, ks = inverse([kn, ks], [(-0.5, 0.5), (-0.5, 0.5)])\n", "\n", "lattice:Line = error.clone()\n", "\n", "index = 0\n", "label = ''\n", "\n", "for line in lattice.sequence:\n", " for element in line:\n", " if element.__class__.__name__ == 'Quadrupole':\n", " if label != element.name:\n", " index +=1\n", " label = element.name\n", " element.kn = (element.kn - kn[index - 1]).item()\n", " element.ks = (element.ks - ks[index - 1]).item()" ] }, { "cell_type": "code", "execution_count": 30, "id": "3293926f-9c14-4905-9326-1ca3cf69ae84", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Compare ORM with model before and after correction\n", "\n", "orm_lattice = ORM(lattice, fp, [], limit=1, start=0, epsilon=None)\n", "\n", "data = (orm - orm_error).clone()\n", "data[data==0.0] = torch.nan\n", "plt.figure(figsize=(34/4, 72/4))\n", "img = plt.imshow(data.cpu().numpy(), cmap='magma', interpolation='nearest')\n", "cax = plt.gcf().add_axes([plt.gca().get_position().x1 + 0.01, plt.gca().get_position().y0, 0.02, plt.gca().get_position().height])\n", "plt.colorbar(img, cax=cax)\n", "plt.show()\n", "\n", "data = (orm - orm_lattice).clone()\n", "data[data==0.0] = torch.nan\n", "plt.figure(figsize=(34/4, 72/4))\n", "img = plt.imshow(data.cpu().numpy(), cmap='magma', interpolation='nearest')\n", "cax = plt.gcf().add_axes([plt.gca().get_position().x1 + 0.01, plt.gca().get_position().y0, 0.02, plt.gca().get_position().height])\n", "plt.colorbar(img, cax=cax)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 31, "id": "19e1ddba-8ab0-4b26-a8b0-6dd8554f4bbc", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABjYAAAC+CAYAAACWEzYrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB3yUlEQVR4nO3deXhU5fk+8HuSkEA2EsK+k4AEZF8UlLiwqXWpVXDXWq1E22qtVqm1i/bb1h+odV8StVasa7DWihskahtcgbAoiCJBdggEspBlkpk5vz9uD2cme0KSc2bm/lzXXMnMZDlzzsxZ3ud9nsdlGIYBERERERERERERERGRIBBh9wKIiIiIiIiIiIiIiIi0lAIbIiIiIiIiIiIiIiISNBTYEBERERERERERERGRoKHAhoiIiIiIiIiIiIiIBA0FNkREREREREREREREJGgosCEiIiIiIiIiIiIiIkFDgQ0REREREREREREREQkaCmyIiIiIiIiIiIiIiEjQUGBDRERERERERERERESCxjEFNgoKCjB58uR6jxcWFmLx4sVYunQpFi9ejJKSkmP5NyIiIiIiIiIiIiIiIgAAl2EYRlt+cenSpUhNTcXkyZNR909MnjwZa9asAcAgx8KFC5GTk3PsSysiIiIiIiIiIiIiImGtzYGNo3/A5QoIbBQWFmL+/PlHAxsAkJycjMOHDx/LvxEREREREREREREREUFUe//B3Nxc9OjRI+CxHj16oKCgAJMmTWr2930+H/bs2YOEhAS4XK72XjwREREREREREREREXEYwzBQXl6O/v37IyKi6S4a7R7YaKyfxqFDhxp83O12w+12H72/e/dujB49ur0XS0REREREREREREREHG7nzp0YOHBgkz/T7oGNxjQW8Ljnnntw991313t8586dSExM7OClEhERERERERERERERu5WVlWHQoEFISEho9mfbPbCRlJRULzvj0KFDSEpKavDn77jjDtxyyy1H75sLn5iYqMCGiIiIiIgEB58P2LABKC4GUlKAceOAZtLnRURERESkvpa0qGj3wMbs2bORlZVV7/EpU6Y0+PMxMTGIiYlp78UQERERERHpHPn5wP33A5s3A243EBMDpKcDt94KZGTYvXQiIiIiIiGnXaYQ+ZeZSk1NDXiusLAQU6ZMaTRjQ0REREREJGjl5wM33gisWwckJgKD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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABjYAAAC+CAYAAACWEzYrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAACCDklEQVR4nO3deXhU5dkG8HtCSAiQEAggWwATWWUHBRUqAgEVW1srbrUurRL3WrUirrgVwR2tFtz9aguCbW1FwSQoBUWEQEA2BQKByJKQnYQskznfH7eHmclGApk5Z2bu33XlIpOE5GTO5Jz3fZ/nfR6HYRgGREREREREREREREREAkCY1QcgIiIiIiIiIiIiIiLSWApsiIiIiIiIiIiIiIhIwFBgQ0REREREREREREREAoYCGyIiIiIiIiIiIiIiEjAU2BARERERERERERERkYChwIaIiIiIiIiIiIiIiAQMBTZERERERERERERERCRgKLAhIiIiIiIiIiIiIiIBI9zqA6jJ5XLhwIEDiI6OhsPhsPpwRERERERERERERETExwzDQElJCbp164awsIb3ZNgusHHgwAHEx8dbfRgiIiIiIiIiIiIiIuJn+/fvR48ePRr8GtsFNqKjowHw4GNiYiw+GhERERERERERERER8bXi4mLEx8cfjxE0xHaBDbP8VExMjAIbIiIiIiIiIiIiIhI8XC5g82YgLw+IiwOGDAFOUHYp1DSmRYXtAhsiIiIiIiIiIiIiIkFn1Srg+eeBHTuAigogMhLo3x+4915g3Dirjy6gKBQkIiIiIiIiIiIiIuJLq1YBd94JZGQAMTFAfDz/3bSJH1+1yuojDCgKbIiIiIiIiIiIiIiI+IrLxZ0ahYVA797crVFZCbRpA/TqBRQVAS+8wK+TRlFgQ0RERERERERERETEVzZvZvmpzp0Z3Ni3D9i5k8ENhwPo1AnYvp1fJ42iwIaIiIiIiIiIiIiIiK/k5bl3aWRl8WMdOgAREXy/VSt+Li/PumMMMApsiIiIiIiIiIiIiIj4Slwcy0zt2cPHHToAPXq4P19eziBHXJw1xxeAFNgQEREREREREREREfGV6mrg2DHu2mjXDujZ0/05wwByc4EBA4AhQ6w7xgATbvUBiIiIiIiIiIiIiIgEpa1bgYcfBrp3Zz8NACgtZfmp8nIGNdq1A+65BwjTPoTG8llgY8OGDUhNTQUArFu3Dm+88QZiY2N99eNEREREREREREREROzjhx+A++9nAGPSJOCii4B589hI/MgRlp8aNoxBjXHjrD7agOKzwEZqairuv/9+AMDcuXMxceJEpKen++rHiYiIiIiIiIiIiIjYw549wH33AWVlLDH11FNAZCQwfjyweTMbhcfF8XPaqdFkDsMwjOb+phs2bMDEiRNRUFAAAMjMzERiYiJ2796NhISEBv9vcXEx2rVrh6KiIsTExDT3oYmIiIiIiIiIiIiI+E52NnDXXUBBAdC/P/D880Dr1lYfle01JTbgk1DQiBEj8MYbbxx/XFhYCADo0KGDL36ciIiIiIiIiIiIiIj1Dh1iaamCAuCMM4C5cxXU8AGflaK6/PLLj7+/aNEiTJo0qc4eGxUVFaioqDj+uLi42FeHJCIiIiIiIiIiIiLiG0eOMKiRmwv06gU8+ywQHW31UQUlnwU2TIWFhViyZEm9/TVmz56Nxx9/3NeHISIiIiLNwOVSOVgREREREZFaCgoY1Dh4EOjWjeWn6kj0l+bhkx4bnpKTkzFjxox6e2vUtWMjPj5ePTZEREREbGbVKo7Nd+wAKirY965/f+Dee4Fx46w+OhEREREREYuUlAB33w1kZgKdOwPz5gGnnWb1UQWcpvTY8GlgY+7cubj88suRkJBwvM9GXeWoPKl5uIiIiIj9rFoF3HknUFjIcXqrVkB5OXdYt2sHvPKKghsiIiIiIhKCysqY7bVjB9ChA/Dyy0CPHlYfVUCyvHk4ACxZsgQjRow4HtT48MMPTxjUEBERERH7cbm4UyM/H2jfHjh2jB9r04ZlY4uKgBde4MdERERERERCRnk58MADDGrExHDipKCGX/hkx0ZmZiYSExO9PhYbG4uCgoIT/l/t2BARERGxlmFwJ8YPP/Bt1SpgyRLA4QBatODXtGgB9OzJ3RqlpUBxMbBwITBsmKWHLiIiIiIi4h+VlcCDDwLp6cz6evFFoE8fq48qoDUlNuCT5uEJCQnwcesOEREREWkGZhDj++/dgYwffmDJKVNBAeB0sqdGq1b8PxUVwJ49QMeOQJcuHNPn5Vn2a4iIiIiIiPiP0wnMmsWgRlQUMHeughp+5pPAhoiIiIjYj2EAOTkMXHgGMoqKan9tWBhw+ulA375Ay5bsfRcXB0RH8/scOMCAyJEjDILExPDzIiIiIiIiQa26Gnj6aWDNGiAiApg9Gxg40OqjCjkKbIiIiIgEIcMADh3y3oXxww8sGVVTixbuIEbfvkC/fkBCAsfoAHtnrFwJbNoEtG3LklTduzPIkZUFlJQwEPLjj8DQofy8iIiIiIhI0DEM7s748ksgPBx48klOgsTvFNgQERERCXBmEKNmOamSktpf26IFgxZmEKNvX+8gRl3CwoB77wXuvJOBjE6dWJKqRQugdWt+vls34LnngI0bgT/+kSVmRUREREREgoZhAC+9BHz+OSdBjz0GnH221UcVsnzSPPxUqHm4iIiISP0MAzh40Luc1M6ddQcxwsO5E6NfP+8gRsuWJ/ezV60Cnn8e2LGDPTUiIoABA4C77ways4G33+bujq5dgUcfBfr3P6VfVURERERExB4MA3j9dWDxYm5Rf+ghYOJEq48q6DQlNqDAhoiIiIhNmb0szB0Y33/PIMbRo7W/NjzcvRPDDGScfvrJBzHq43IBmzezUXhcHDBkCJOVAGDrVu7EPnyYuzluugm48kqVphIRERERkQD3zjvA++/z/fvvBy66yNrjCVIKbIiIiIgEGMNgj4qaPTFKS2t/bXg4kJjo3RPj9NP5casdPcpdHV9+ycejRgEzZwIdOlh6WCIiIiIiIifn738H3niD7991F/CrX1l7PEFMgQ0RERERGzODGDV7YpSV1f7ali29gxjmTgw7BDHqYxjA0qXAq68CFRVAbCzw4IPAWWdZfWQiIiIiIiJN8M9/Aq+8wveTk4GrrrL2eIKcAhsiIiIizaih8ksnYhjsP1GzJ0ZDQQzPnhi9e9s7iNGQrCzgiSeAzEw+vvJKlqcK1N9HRERERERCyNKlwHPP8f3rrgNuvNHa4wkBCmwEo1NZUREREZGT5tkwu6ICiIxkU+x77wXGjfP+WsMA9u/37omxa1fdQYyICPdODDOQ0atX8C36V1Swx97HH/Nxv37AI48A3btbe1wiIiIiIiL1Sk0F/vxnTvKuuAK45RY1D/QDBTaCTVNWVEREGksBU5ETWrUKuPNOoLAQ6NwZaNUKKC8HcnOBmBjg4YdZZskMZOzcCRw7Vvv7REQAZ5zh3ROjZ8/gC2I0ZPVqYO5coKQEiIoC7rkHmDTJ6qMSERERERGpYdUqYNYsrptceinwhz8oqOEnCmwEk4ZWVNq1Y403BTdEpKkUMBU5IZcLuOwyICOD5aAqK9nI+9gx/ltQALRuDQwa5D3GjYz0DmKYOzFatLDqN7GPnBzg6acZUwWAyZOBu+9moENERERERMRya9cyg83pBC68ELj/fgU1/EiBjWDhuaLSpQtQVAR06MC0T8Ng4ephw4CPPlKWtYg0ngKmIo2SkcG+cDExvAXn5Hh/vrqab5dcAowd6w5i9OypIEZDqquBv/0NeO89Dmd69AAefRTo08fqIxMRERERkZC2cSPwwAPMahs/njV0tebqV02JDYRQAYQAtHkzs6k7d2ZaaE4OcOgQ0KYN0L4937Zv59cNG2b10YpIIHC5uFOjsJCrr0VFXGWMjmZKeVYW8MILwHnn6eYtIS8vjxuacnL4pwLwFhwVxZ0akZGMB06fDkycaO2xBpIWLYDrrweGDweeeoqN1W+7DUhOBn79ayVDiYiIiIiIBbZuBR58kEGNc88FHnpI6yI2p7NjZ+aKSqtWXEmJjubHS0u5CpCZyUBHWhq/TkTkRMyAaevW/HffPl5LvvuOQY3ISN7MzToxIiGsbVuguBjIz+fjnj25q6BHD26gBPgnExdn3TEGsiFDgDffZBzV6QT+8hdg5kzGXUVERERERPxm506WnCovB0aNAh57LLQaIgYoBTbsLC6OKybl5SwPk5gInHkm0L0700VdLkYR//EP4Fe/Ap55Bli/nh8XEalLVhZw+DBw4ABQVQW0bMk3l4uriYcOAfv3swj+v//NdHSREFRczFJJDgf/VE4/3R3MAFhCKTcXGDCAC/RycmJigCefZJ+Nli1Zzvamm7gDXERERERExOf27AHuuw8oK+Pk7qmn2AZAbE89NuzM7LGxaRNLxHjWZjAMYPduoFMnFvQ+fNj9ubg4YMIEICmJ3UtV00FEDANITWXA4ttvmXnQpQvQtSu3VpaVsdbOkSN8f+BA9y6x/v3ZQGDsWKas65oiQS4nB/jTn7ihqbLSvYGyUye1pPGlzEzgiScYf3U4gGuuAW64QYlSIiISwlwu7qTOy+M8f8gQlUUREWlO2dnAXXexBUD//izd3bq11UcV0tQ8PJiYTX6LiupfURk7lqVjUlKAL74ASkrc/79XL2DSJBb/7trVut9DRKxz6BD7ZqxbxwDHnj2s+9KnT+2AaVYW0K8fC+B//TWvLZ63iR493EGOgQMV5JCgk5XFoEZuLm+7zz7LAMfzz7N6W2Ulk3cGDADuuSdEgxo+XGQpL2dJqk8+4eOBA9mvr0uXZvn2IiIigWPVKvcApKKC1Rz69wfuvTdEByAiIs3s0CEGNXJzWSXnxRfdCZ5iGQU2go3ngOZEKypOJ7OxU1K4KFlZ6f7c4MEMcowfz9oPIhLcXC7go4+At97iZKhlSwYsundn3ZeGAqbmtSU/n9eS1auB9HReY0zt27M4/tixwIgR/P4iAWzrVvZ4KCnh5qRnnwU6d+bnlDD5Ez8tsnz5JfDcc2wr1qYNd4aPH99s315ERMTezATHwkIORrRlVESkeR05wqDGwYOc/L38MhAba/VRCRTYCE4ns6JSWgr8738sP7NxozvrOjwcOPtslqo65xwuSohIcMnM5Krsjh18PHQoVwZ79ODjpgRMTWVlDJyuXg2sWcPHptateV0ZNw4YPZorkSIB5JtvgFmzuFY/YADbVmkYUoOfF1kOHWL/jW3b+PiSS4A77tCwRUREgpxZkjojA+jdm/P4igrO41u04FbSYcOYwBSSWRYiIqeosBD4wx94Pe3aFZg3D+jY0eqjkp8osCG1HTkCrFjBnRy7drk/3ro1cP753MkxbJgGRiKBrrISeP99YOFCoLqaAYZbbgGmTq1dNupUUtCdTk62Vq/mW16e+3Ph4cDw4dzJcd55/N4iNrZ8OTB3Lv8kRo9mgKNVK6uPymY8F1l69WJ39agoRhnMMnY+WGRxOoF33wX+/nf+mF69gEcfBRISmu1HiIiI2Mvq1cBvfsP3nU7vZCKTywVceil3TXbo4P0WF8d/27ZV2VgRkZpKSljBIjOTyVovv6y6tzajwIY0bO9e7uJITa3ddHzSJL4lJmoQJBJoNm1i7ZbsbD4eN45ZCL4OLBgG8P33zOZevZpZD54GDnT35YiP9+2xiDTRwoXA/Pl8f/Jk9tdQs+o6ZGQAV13FbSxHjrC5HsAIULt2LEVXWQksWsQARzPbsAH4858ZQ23ZErj9duAXv9BQRUREgsCRI0w2Mt82bODYOjLSfaNr0YJJS4B7B0e/fiwNW5/w8NpBj/retB1SREJBWRlL6O7YwWvfyy+7q1qIbSiwIY1jGMB333EXx8qV3k3He/d2BzlOO82yQxSRRjh6lCuzZrfduDgGNKyqu7tvH/DVVwxymDVkTD17uoMc/ftrVVIsYxjAX/8KfPghH19xBTc36SVZj7Q04KabGMTIyqr9ecMAqqqA664Dfvc77tpq5ghRYSFLhK1dy8fjxjEQpf5+IiISMAwDOHDAHcTYtIn13T2VlAA7d/Ke26EDd2BHRPBzTid3TRYVATNmMLCRn1/7zXNu3xitW3vv9qjvLTZWVR5EJDCVl/O6uXkzk7Vefplrn2I7tghsbNiwATfffDPS09Ob9P8U2LBIVRVXClJT2Si4qsr9uSFD2I/j/PO1eiBiN6tW8YZsloK65BIgOZlbz+0gL88d5Ni40bv5eFycO8gxbJjS5MVvnE62oPn8cz6+5RbgyiutPSbby8gApk1jVinApIfOnd2LK/n5HDsMHMixQuvWrOt13nnAmDHN1nfHMFjtav58nsdOnYCHH+ZQRURExHYMA9izhwEMM5iRn+/9NQ4H0KcPe+INHgyceSaTBDZtYg1Gz6yLxpZ/rKri7sq6gh6eb3l53HHZWA4Hgyn1BT48AyNRUcoYERF7qKwEHnwQSE/nvOTFF3ndFVuyPLCxZMkSJCQkYOTIkWjqt1dgwwaOHuViaUoKFzI8m46PGcMgx5gx7qwREfG/vDwGNFat4uMePZi6bOfVvdJSBlBXr+a/NZuPn3MOgxxnn83HIj5QXs4eGmvXci1gxgyWoJITqK5m0CIri9manjuuDINlLnv3Zj+fb77xXrQJD+cCzHnn8a1Tp1M+nJ07gSeeYOU9hwO4/nrgt79VEqlY7FR6V4lIcHA6gR9+cAcxvvuO82tP4eG8pw4ezGDGmWfWHvuuWgXceSeTBzp1YunH8nIgN5c7OV55pXl2ZxsGx+T1BT08HxcWutcGGiMysvGlsJTgJKdK92Cpj9MJPPYYk7hbtWL57jPPtPqopAGWBzaOf3OHQ4GNQJeby/ITKSlsrGNq04Y7OJKSOBhTJoaIfxgGsHQpa+iUlrLe7tVXc0UvkIKNVVWsH7x6NXd0mPX6AU5sRo50Nx9vqHawSBMUFwMPPABs38659qxZjNNLI6SlAffdB+zaxQWVbt3qX2QxDD7J5m6tmn13+vZ1/32ffvpJjyHKyoB589j8HeD89aGHuJFExO9WrQKef541mysqeJHp3591nK0qDSkivldRwdKrZiBj61Z+zFNUFBfRhg7lzap//8aN2z2vK5WV/D8DBgD33GPNdaW62r1Ls67Ah+dbXQ3PGxIdXfeuj5pvMTHWrT1o4dy+dA+W+rhcwJNPAl9+yWvonDk+6QcozUuBDfGNzEyWqkpLA3Jy3B/v1AmYOJFBjoQE645PJNjt38/sgs2b+bh/f+7SCPS/O8PghHD1ar6Zzc8BTlzOPNNdsqp7d+uOUwJaTg7/XPbt49x59mwl6jRaXh5www3MOD33XC7aNGWRJTvb/fe9bZt3tmfXru4gx6BBDNY2UWoq8MILwLFjPLczZvDbifiNmVldWMjImq8yq0XEekePAlu2uAMZ33/vXWoV4OL7kCHutzPOOKn7G4DAXUyvqGhcGaz8fHdT9MYID2+4FJZnYKQ5G6Jr4dy+dA+W+hgGAxnLl/Pa8fTTrA4hthdQgY2KigpUeGQ0FBcXIz4+XoENOzMMDq5SUhj1LC11fy4hgQGOCROUMinSXJxOYNEi4L33uNMhMpJNfC+7LDAmNk1hGFx5NhdBd+zw/nzv3u4gR9++2i0mjbJ3L3D//ZzfdOrE/hq9ell9VAHCMICZM1m7q18/4NVXed052UWWggJgzRr+fa9f793TKybGXZJu1ChOTBvpxx+ZjPX993z8y18Ct94aWBvZJEC5XLwfZ2TwHuVw8GNhYY2vhS8i9pWf7y4ptWkTk/1qrnF07OjejTF0KNCzp8aojWUYbHTemFJYxcVN+95mQ/QTvcXGNhx40sK5fdV1DzbpHhzaDAN46SXgP//huZ81S3+nASSgAhuzZs3C448/XuvjCmwEiMpKLnakpHChwsxWcTg4qJs0iSWr7NLIWCTQ7NjBVVizFNxZZzEzuksXa4/LX3JzWQtz1SoOWD0zujp1cgc5hgxRbV6p09atXJcvKWEwY+5cxd2bZOlS7hRr2RJ4443mjQgdO8bgxurVHEOUlLg/FxHB4MbYsQx2xMae8Ns5ncCbbzIODDDX4tFHFcQSH8vIAKZN46JYZSWzuauqmFHcowcXv4qLgYULVfpAxO4MAzh0yB3E2LzZeyexqUcP7x0ZXbookOEPTmfthuj1lcOqWQ6sIQ4HAxR1lcKKjWWW986dLJ/pOd9o7MK5uSbmcvH9YPnXDsdw4ACf+8hIjlUBjiG7duV9ubRU9+BQZBgs3f3hh/z7fughVpmRgBFQgQ3t2AgiJSXAypWsCbFpk/vj4eFclDCbjps3HBGpX3k58PbbwJIlvDHHxAB33MFgYahOnEpKvJuPl5e7P9e2rXfz8SZkekvw+uYbJudUVLBH5+zZ/FOSRjp0CPjd7xiAuPVW4IorfPezqqu5kGT25Th0yP05h4Nlqszm4z16NPitvv2W57qwkPPcO+8ELr44dC+d4gOVlSxFs24d8PHHwBdf8MVW80XWsiVLKBYVMTCoSbWIvZg7hc0gxubNTKrx5HAwUj50KJt9DxnCBW+xL8Pg2OVEpbDMt4bWrEpKWEYzPJwL5Q6He3eHYTDY4nQCw4dzPlJfAEB8o6CA23Vr3oOjolgCDmBwUvfg0PLOO8D77/P9P/2JEwEJKAEV2KhJPTaCRE6Ou+n4nj3uj7dtC4wfzyDH4MFaZRCpy7p1LBhvLuwlJQG33daojOWQUVnJ5uOrVnFHR2Gh+3MnkektwWf5cu7OcLmA0aMZ4FC8qwkMg3WjN27k/fqll/y3hd8wOHYwS9Lt3On9+V693Lu1+vWrcyyRn8/gxvr1fDx+PH8dbSCVk2Jm5a5bxxfVpk3ubGBz0atNGy52RkfzNbl/P7+mupoXn48/5j1JRKxTXQ3s2uUOYmzeXLu8UYsW7J0weDCDGYMG6eYRzFwu74boNd82bgQ+/5zzi7rWtgyD1/p+/bhTrzk4HBxz2eFfOxxDQ//u2cOdxa1bM5hhGMDBgww2RUVxN1VZmXZshJJ//ANYsIDv33knS5VJwLFVYKOgoACxTVhUUmAjCGVmMsCRmgocOeL+eOfOzD6fNInbOkVCXVER8NprHDwDwGmnseyUGlw1zOVivaHVqxnoOHjQ/TmHgxNTcxG0a1frjlP8ZuFCYP58vj95MhN1VKmsif75T9aMjozk7rFu3aw7lpwc7uT46qvaJeni4tw7OYYP99oVahgsS/Xmm/wvXboADz+spvHSSIWFQHo6Axnr1rHciae4OAbRR4wAXn6ZwY1evdyBNpeLJTL27+ei6KRJ7Gw/fLjffxWRkFVZybKumzczILl1KzP5PUVGclun2SNj4MDmbTotgS0jA7jqKm75jYrignl1tftaf+wYA9yvv845R3MEEqTxzB4bmza578Hl5QxgVlXxfI0f7+6zIMHNnL8AwPTpwNVXW3s8ctIsD2ykpqYiJSUFc+fOxf3334+zzjoLl19+eaP+rwIbQczl4g0nJYUlq8rK3J9LTGRW+sSJbL4mEkoMgzucXn2VwQ2HA/j1r1kCJirK6qMLLIbBTtGrVtWd6Z2Q4A5ynHGGJg9BxrOcKsDKSbfcotPcZNnZwE03MQPx7ruBSy+1+ojcjh71LknnuUDVujUDwWPHcpvOTxm227ezsfjBg5zT/u53wDXX6HUhNVRVsbyUGcioef+IiODC51lnMaDh2aTUbCxbVMT+T56NZSMigPh4d0Dusss42dbCqUjzKytj8GLTJpY33LbN3QPS1Latu6TUkCFA377KfpD61bVwblJzanuo6x5cVMTghsPBhtEffKAScsHu00/ZmxQArrsOuPFGa49HTonlgY1TocBGiKisZKPQ1FQWQfdsOj5sGIMcP/sZt/WLBLPDh1l26ttv+TghAbjvPmDAAJ//aJeLCWx5eUw8HTIkCMfjOTnucjabNvGXNnXuzAXQceM4wTXr5UpAcjpZeiolhY9vuQW48kprjykguVzAXXdxYWjkSE4Q7BoBqKpiiYjVq1mSzjOjvkULjid+2s1R2qYzXngBWLGCnx4xAnjwQV77JESZtfXNQEZGRu1ms4mJ7kDG4MEMUtRn1Srg+eeZHV5Zya8dMIA7L0eOZNT1v//l1/boATzwgLYPiZyqwkIGMMxm3zt31i4X1KGDO4gxdCgrBdj1vib21FDwul07ZoiPG2f1UYa2uu7BvXvzPDkcTDB48UUN/IJVWhrw9NO8/k+bxt6Aus4HNAU2JLCYTcdTUrjKamrZEjj3XAY5Ro9WJo0EF5cL+Ne/WCOlvJyv7+uv51ZnP7zWPcd+FRVMHO3fnzXog3ZcXlLCgOrq1QwkeS5gRUfzejN2LBexlEkbUMrL2UNj7VoG52bMYAkqOQlmHa/Wrdl4r3Nnq4+ocQyDzSPNQGZWlvfn+/SBcd5YLKtOwssfdkFFhQPt2gEzZ3KIISGiqIj9mcxeGTWbBLdv7w5kjBzZ9OzOE2UMrF/PCGxuLifcV17JjMKGAiYi4paT4w5ibN5c+1oPsOyoGcQYPBjo3l0LXHLqGgpeB+3kKcDUdQ8+dAj44x957ejencGNTp2sPlJpTqtWcSLocgG/+AV3m+uaH/AU2JDAdfgwd3GkpHgPVKOj3U3HBw3ShUoCW2Yms6B37ODjIUMYUejZ0y8/3kw6KizkmmVIJh1VVLB2+urVrNvv2TgyMpILW2bzcd2LbK24mInP27fz1M2aBYwZY/VRBag9e1gix+lkdOjCC60+opOXnc2/7dWrufvEY7i7L2YQnsi9FburegJt2mDaFQ7cfLNXew4JFk4nz78ZyPjhB+9s7pYtufg5ahSv+/7I5D56lKUnly/n4169uH2ob1/f/lyRQGMYvJZ7Nvo+dKj21/Xu7Q5iDBmiRUvxnZDY7h6EzODGoUMMfL74IntZSuD79lvgoYc43psyhfMXrRUGBQU2JPAZBrB7NwMcaWne5SVOO40NGJOSOBkUCRSVlcDf/gb8/e+std26NevlXHKJ327AZpnYjAz2Ai4uZqnhqKgQLhNbXc266mamt+ekOSyMk5axY1nSpksX645TasnJYWPwffsY/549W5VdTprTCdx2G8t4nHMOt3MHy8SgsNC9W2v9eqCyEpWucMw/8HP8s2A8ENMOfQZF4NEX2qPHGa2sPlo5FeZCqBnI2LiRkXtPCQnuQMbgwdbt0Pv6a+C554CCAt5rrr0W+O1vtUNZQpfLxeQfs9H35s28fnsKC2MQcPBgdzBDawbiJ4prBLCcHGbyHzzI9aQXX2SQQwJXRgYDGZWVTIJ++GGVlg4iCmwEoZC+ibpcvGilptZuOt6nDwMcEyaoXqLY2+bNXMDYv5+Px44F/vAHoGNHvx7GmjUsO+l0uisxORwc13XuDJSWMtixcCEDHCHHMDipXr2aW1t27/b+fJ8+7ubjqtFsqb17gfvv506jTp24CUqx7lPw7rvAe+8xQvTOO8F7Ty0v56L3V18Ba9bg6/3xmLPvahRXt0arFk78MWkLJv/2NJami421+milMUpKuAPP7JWRk+P9+dhYdyBj5Eh7vbaLi4GXXgK++IKPzziD9dESEiw9LBG/cDpZQtAMYnz3nfc8D+CuqgEDGMQYMgQYOJCJQSJ+FpJlfINNbi5Lh2Vnc+L74ovM9JPAs3Ur+5KWlzMh64knlBgSZBTYCDK6iXqoqODKbEoKi6lXV/PjDgc7gSYl8UnRgFfsorSU9erNhqEdOjBbxI9/vIbBpNXly4F//pObEyIj+WcTGekOcLRty36mhw8Db7wBTJzot0O0r4MH3eVsNm/2LmHStas7yDFoUAhFm623dSvX/kpKGMyYOzdwWkHY0g8/sMmeywU8+ihwwQVWH5F//LRb68jydDz1VldsyuGOrKT26bg7/iO0HnIGd2qNHcuLo9iD0wls2+YOZHz/vfe1OTycC6Bmr4zERL/uijypRKQvv+QCS3Exj/+GG9hzS5mHEkzKy3kDN8tKbdvGTFtPrVtzTGU2++7fX3UCxXIq4xtE8vIY3Ni3jwmGL76oMV6g2bmTpcVKS5mw8uc/q1dZEFJgI4joJtqA4mJOBFNSuFJriojgQsSkScDZZytyK9ZZvZqZmGYptUsuAZKTGUHwg+xsBjM+/9ydwFpSwjXMTp1YVSkigoeXnc11IcPgjv7//CdEd2w0pKiIgdVVq46XszmuXTt38/GRI9V83Ie++YZ9NCoqmLg5e7aqUJySykpel/bu5Tbuxx6z+ogs4ao28LcXc/Hu29UwCovRrXo/Hu39Pvq1/mmXXa9e7iBH//7areVPhgH8+KM7kLFxI3DsmPfX9O7tDmQMHWrJNfiUE5EKCvgNvvqKj/v3ZwTXT/23RJpdSQl3YZiBjB9+cCelmdq1cwcxhg7lbiUF9MRGPMv49u7tffsP2TK+gS4/n8GNrCxmIbzwgu61gWLvXla9KC5mKcK5c7lIKkFHgY0g4XkT7d6daw/meqhuojUcPMheHCkpjL6bYmKYeZqUxBUwLUSIP+TlAfPmAf/7Hx/36MGVDT9ECo4eZbxv2TImxZnatOEOjKQklp/ctInrdOafREUF+wYXFPA6c//9wF13aZxQL7OczerVDHaUlLg/FxnJoOq4cexiHR1t3XEGmeXLOX51uYDRoxng0Gv0FM2fz9pz7duzBFW7dlYfkaW2bAGefBLIya5EeGkhbo5fjmll78Hh8liMi4tjIPO887hbVNnEza+khAEMs1dGzYbB7doxiGG++bmsY03NlohkGBzLzpvHTMSICOCmm4DLL9cYVuwvL8+70XdmZu2v6dzZHcQYPJiLiXpti41lZABXXMFcyaoqrqcaBqscxsUxVhfSZXwDVWEh5+eZmRwDv/ACI1diX9nZXKAoKGDyx/PPq1JLEFNgI0hkZHAXekwM5zYHDnDuHBvrLvusm2gNhgHs2uVuOp6f7/5c167cxTFpkiLy4huGAXz6KfD66/yjDQsDrr6azUB9mD3qcnHdZ/lyrrObGwkcDq6vX3gh1+DMHZrmAkxREXdumAswOTkcnHfqxIWYHj0YBOnXz2eHHhycTmYkms3HPeu7h4XxAm02H6+vXlJIN1JqnIULuQYPAJMns2m4NuSdoq1beTEwDDYLP/dcq4/IFkpK2LNl1So+PntYJR44fw3ab17JMpieNeCjohhlO+88/qtA5slxOoHt23kzW7+e79csLzV4sLtXxhln2GYx1CfZvLm5fBGuW8fHQ4awQaZqgYsvnMwYxDCYWGYGMTZt4mS1pvh4dxBj6FA27RUJAAcOcJfwokXcyW6W8a0pKop/Qm+/DVx8sf+PU05BURGDG7t3c4Ht+efV48quDh9mUCMnh+fopZc05g5yCmwEibQ0JmnFxwNHjrgXHU0tW3JM+cILwLXX2mZ+Zx8uF7BhA4Mcq1Z5ly3o29fddLxDB+uOUYJHdjYHQxkZfNyvH1deExN99iOzsrgzIyXFXe0K4MLKlCl8idfXI9WzZEZlJYMeAwZwV27btixVeeQIqwH8/vfAlVdqnb1RzOCqGeSoma3Yty/TdseOdW+ZUSOlBhkG8Ne/Ah9+yMdXXsnKSbrnnaLycg4yfvyRF4wHHrD6iGzFMIBPPgFefZXXyPbtgQcfBEYNreJ1fvVqlgzyvPi2aMGFuxMFMoVqlpeq2TS4Vy93IGPoUNtuz/JMRAoLY05NWRkPNzqa16qyspNIRDIMYOlS4LXXOIZt1Qq45RbgF7/QBVCaT2PHIIbBEiBmEMMMhHhyOBh0NIMYgwfz4ikSAKqq+LJeu5absbOz+fGSEraDiYriskFMDP8c8vO5Ll5dzdj8yJHAL38JTJ3KaaAu0wGipITXu507eXKff57XMbGPvDwmYh08yATll192Z3pL0FJgI0h4TpTatOENtKSEO6+KinjzdTpZYWnQIK7RT5ig3kd1qqjgAkRqKvDtt95Nx0eO5Arw2LHayiZN53RyxfXdd/lHGRnJSMBll/mkRnBJCbBiBQMaO3a4Px4dzc1IU6Zw7bwxg+mGEvRKSoDnnnNX0xo2jIt6nTo1+68U3H780d18fMsW7wzk7t2Zubh0KReZ1UipFqeTpadSUvj4llsY2JBmMG8e8K9/8Y/67bf91vsn0OzZAzzxBNfzAI7Lfv/7n3YLGQYbV5tBDvOLTH36uIMcCQla5Th6lAEMM5hx8KD356Oj3YGMkSMDJjC0ZAlw2228f1ZU1P68YXDYef31vH4NG9bEJMNDh4A5c9yJEyNHsl5kgDw/YmMN1VCLiWGCTsuWHCx+95132U2AF8J+/RjEGDIEOPNM3UskoOTmMpDxzTdAejpf/qYWLfiyPussTvN++MG7jC/AxIcffuCfTmKi+3MJCQxwJCUpqTwglJTwvrpjB0/Yc89xQi3WKyxkT419+1iBZd48y8uPin8osBEkzK3tNWvhA5wg/fADA5Xx8Vz8MfXtywDHBRdozlOnoiJ303HPJgSRkVyAmDSJE2vVOJET+f57lorYvZuPR43iloeuXZv1xzidXANavpxrZ+bfe4sWrHxy4YVs5dDcZd4NgwGUefM40I+OBu67D/jZz5r354SMwkLg66+5CGo2H9+yhYt9bdvygt6xI1PC1EgJ5eXsY/3tt/z1Z8xgCSppBhs38loF8Bo2apS1x2NzFRXAX/4C/Pe/fNy/P/Doo3Vc6s1A5ldfcRHQc4jdpYu7+fjgwaHRHLe6mosEZp+M7ds5uDW1aMHMHLPpd58+AXOtO3qUgX9zU/C2bRw2hodzPTgmhtewkhJWpjQTkcwdHGecwcv7iBFcODthXo1hMBC5YAFfkK1bA3fcwQFAqAfM5OTUVUPt6FH325EjzKwbNMj9GouM5GOz2feAAT4ttSrS3Kqreb3+5hu+1dxYHRfHudWYMYwhm9fm+sr4mnlI8+bxur90KbByJXPdAM7NfvYzBjmGDdPl2tZKSxnc2LaN177nnuOAT6xTUgL88Y9ca+nUiX9oXbpYfVTiJwpsBJET3URfeYWTotWrWboqPd17zjh4MBsGn3++dmvV6cAB7uJISXHvNwX45JpNxwcM0ChEvJWXM8N5yRIuNkRHc4EhKalZXyuZme5SU4WF7o+fcQZ3Zkya5J+/6+xs4KmnGMcBWD/2jju4/i4nqawM+PvfgZkzOfsxXzcOB1dLO3fmADtEGykVF7My0vbtXDN5/HFONKUZlJUBN97I+paXXgrcfbfVRxQw/vc/xoGOHuVix733MpGkToWFrGXhGcg0RUcD55zDIMdZZ9m2xNJJOXjQHcjYsIHXMU/x8e5AxtChAbVT1ulkZm9KCmPU5sKVYQD79/N10bevd16MYXDXT8+ewK9+xcT3rCzv7xsWxqT34cP5NmhQAy+J7GzgmWfciTnnnMMXYn11J0Xq41EawBUZhc07o5B3NBJxjnwMabEVYS4nJ5VXXcXx7dChHIAq8UsCTGEhk2S++Ya3p6NH3Z9zOBh0HjOG48yG2jc1VMbXc3N1SQmXF5Yudee+ARzeT53KeLQu2TZVVsZMqi1bOD6ZO5c70cT/yso4vtmxgyUN581TaZoQo8BGkGnsTRTgjXvlSpaq2bzZ/fGwMAZAJk7kPFq7hGswDG6BSUnhk1dQ4P5ct25cQU5K0sVUuFjz/PMsDQHwj+qOO5otwlBYyCDl8uUs9WmKjeVLcMoUn7btqJfTCbzzDvCPf/DPpUcP4KGHlMhySsxGSj16sH56bi5X9AFepHv0YKO0N97g6yxE5OSw+sW+fVz/nT1bc4pm9eyzwKefcob91luKUDbR4cMM9G7ZwscXXcRehg3GJsrLee/46iuuiJt/5wDTOUeN4m6Oc88NvHr0paXe5aVqNg+Ojmba66hRfAuwxsGGwRhCSgrwxRfelXh69eIuskmTGPg/USKSOWbPy+Oa8saNfKv5lIWHc5xvBjoGDuTY/ziXiyUw33qLN+foaJZpmDBBiTjSeD+NQVa1SsLzmb/EDmcfVCACkWFO9I/ai3u7LcS4ilTgzTdDagwigc+sEmmWmPr+e+8NlDExwNlnM5gxahSv0Y3VUBnfuo5j504GOFJT3W2kHA7GpKdOZTAlFDZwBpRjx5h4tmkTx8hz5jBbWPynooK7ZzZv5h/sSy8Bp59u9VGJnymwEYSachM15eay4lJamjvTGuCEacwYzn/OPVc7iGuprmaWYWoq0zM9i23278/V5QsuqHvx4WROlASG4mLWIvn8cz7u3JnRxWZII3c6mdi7fDkH4GYLmPBw/o1OmcIBuB2S5DIy2Fg8N5cD8d/9jsl8epmfhJqNlABeO7KzORsyDH7uP/8JmR0be/dyHJuby8XBZ5/l4qE0k2++4WTN4eAkYcgQq48oIFVXA++/D/zf//HPND6epaka1Wuyupor5atX882zz4SZOjp2LN/smExRXc1BpRnI2LatdnmpM89098ro2zcgbxD79nEYmJrqfYri4rjGm5TkXU8daFoikqecHHeQY+NGPvYUEcGn1Ax09O//03hgzx5Gfs0siPPP5w4sbdGWxsjIwKrJT+LOvFkoNGLQuUUeA3KOKORWxqJdWAle6fg4xv3nTyEzBpHAdfQob0vffMOAhudOd4CVDs1dGQMG+P+2VF7O5NOlS1mp0hQXxx0cF13E1ntiE+XlbC65cSMzFZ55hrvWxPcqK5k9uX49d828+KL6nYQoBTaklh9/5EaEtDTvLfCtWjFJcMIEzj+bu0Z/wCsvZ4ZlSgon8ObkPSyMk3az6XirVt4z2ooKRoz69+cWuhBu/hvwDIN/PK++ylGyw8F6Er///SmV0DAMYNculppKTfVO4O3Xj4PcCRO4rm03JSV8qa9cycfDhnGtVD19mqi+RkoVFVywKijgzo0//Ykp4UGeWb91K19HJSV8OubO1WuqWZWUADfcAOTnA9OmsduxnJKMDO7eyMvjQvOtt/L20OikecNgNO+rrxjk8MxCAVi/yGw+bmVZzEOH3IGMDRu863gADMCY5aWGDQuo8lKeCgp4u09J8T4VUVGskZ6UxMBCQwtip5rfYhgMpHgGOvLzvb+mVSsmj44YAQwb5ETf9X9H2N/eZ9ApNvbEkRSR6mq4Xp+Py+7pjYyqgegdcQCOqFbHrzGGC8gq7YhhnX/ER/vORlh44AUnJbiZZf7MXRlbtnjH2Fu35i1pzBgmh9mp9NO+fdw4u3y5dwBm+HDu4hg3rsYuPbFGRQXw8MMc/0RGMrNvxAirjyq4OZ1ssPj11xzsPPectu2HMAU2pEGZmZy4rVjhnYXWti0nbhMmnHjiFpIKC1mHICWFhd9NkZFM11y5khHmzp0brkEggSMnB3jhBY6aATZX/NOfmFF7kvLz+RJavpwDclNcnLvUVO/ep3TUflFXY/F772XCqDRBfY2UcnK4SNWpE68hPXpwcN2vn9VH7BPffAPMmsU5xMCBTELWEKCZPfUUsxt69mQDYm3XbBZFRQzCff01H597LncdNaW0xXG5ufxGq1czauJ0uj/XoQO/+dixHKT5ctWjrIw/3+yV4dmDDOCA0bO8VAA3ciwv59OdksJf1TN/5eyzeV8+7zzr/lwMg4tgnqWrPBMhAC7gDeuZj2E7FmLEsa+Q0OoAHJOTeG+JjrbkuMXGiouBJ55AxpeFuGrLw4hxFSAyrArFYbE4ZkQhApWIch2Fq0U4SjuejoX/aa0NG2ILx47xGrhmDadmubnen+/Vy70rY/Bge+x0b4jTyVv+0qW83ZqrctHRvPdcfLE15YfFQ2Ult+SuXctx19NPc9wjzc/l4lzliy/4XD/zDMe7ErIU2JBGMetPpqXx+pGX5/5c+/bA+PHcbj9woEr21pKdzSfObDq+ZQszGNu25ZPXsSMXKA2DW2SGDQM++kjRokDhcgH//jd7G5SXc2R83XXA1Vef1Ci5spID12XLvDf+tGzJNaoLL+QaUSDWWM3O5hhvxw4+vugirqUE+eaC5tVQ/ZK2bZkhdORI0Nb+Wr6cC8MuFyejs2YFVy9lW1i5kk9sWBhL6qk5TrMyDOBf/wJef50LFXFxjEOe0mJgaSkn0l99xcifWZwb4AX27LN5Axk9uv7F68ZuH3C52GfMDGRs3equiQjw/3iWl+rXL6CvQWbF0ZQUXn49K44OGOCuOGrHik5mlvKGDVzg27TJoz+74QIOHkJM/h4Ma7MLw7sewvAZk9Hz0uEaxwvt2gU88giMg4fw7pGpuD/7LrQMN3CsuAqodgEwADiAFmEwIiLhREv88pfsI5OYyHJ7XbpoXij+k53tLi9VM94fGcl1TzOYEcAxduTkcJ64dKl3OcJ+/biLY+LEgN0MGfiqqriLYM0aTt6ffLJZSlGLB8PgZHDZMq61PPWUnmNRYEOazpz7rljB9Q/PbLDOnbmLY8IEDmg1mPVgGFwAv+UWLkh6ionhk+dw8AlduFA1agPBnj0s7G/uyhk8GLjvPmY5N4FhcJ162TL+XXlW7jjzTO7MuOACrlsHOqcTePdd4O9/5+/dvTsX9bR22gQNLUDWrP01dCjrvgZ4nSbDABYtAubP5+PJk7khyu4ZdgGnoAC48UZuLfjtbxkcE5/YtQt44glg/37e+q+9Frj++mYIWjudXNFZvZqBjiNH3J9r0YLXC7Mvh3ldOFF5zJwcdyAjPd27KzbAC7kZyBg2zN0HKECZTVxTUpiXUlDg/ly3bgxmTJpkz7YmDXG5+Htt3MiXyKZNQHleKbAvi+cdQPsebTD8V70x/OwIDB/O31dj+dBT8t8vse6Jz7A27wx8WzUM+2MHY9vuVggPB1q0MBAV7kSbiCpUGi1wzBmB8nIHnE4muHnGTlu35nwwMdEd7OjdW5sApXlUVvI6ZgYzfvzR+/NduzKQMWYMh8PB9rpzuRi4XrqUt3wzkBMZyXnj1KmcR+oa7mdOJ/D44zwp4eF8/9xzrT6q4GAYwMsvAx9/zLnvrFmqdCIAFNiQU+R0co67YgXnxceOuT8XH88Ax8SJfF/AGfJNN3E2XFbGhcmiIvfnzdTj997jyp3YU1UV8Le/cXXe6eTMLTkZ+PnPmzR6zM3lwsmyZVzcMnXqxNM/ZUrw/u1s2sTNBTk5XGu78UZucgngxF77qFn7q21bLlCOH2/1kZ0Uw2B2++LFfHzllfxz00StmRkGt9CvXs0VqL/+VZEjHysv55/pZ5/x8aBBDPSedloz/QBzu+1XX/HNs6YhwFXGTp24heTYMXd5zLIyrhCFhfGgaiZjtGnD2tFmr4yuXZvpgK116BD7WKWksKSTKSaG49mkJGvblzQ3p5Mvj43fVmHj37Ziy8YqVBrhQMsIoFdPoG00OnVyNyIfPrwZX5tiK4YB7N4NrF3jwjdvbcHWTU4YcADRMUDvXohqG47MTFbaTUz0rm5n7gxKTGTu1p49DNzu3eudMW9yOJj/UzPg0aGDv35bCWQ5Oe5ARnr68ZgsAA5ZhgxxBzN69Aie6/WJFBby3rV0qXeP1J49GeCYPNmeOwuDltPJnQQrV/KF+eijWoA/VYbBDLdFi/iH/dBDXGgUgQIb0owqKjjIWLGCu+8858FnnMHrzgUXhPikKCODpWFiYtwZjRUVXOHOy+NN0OlkJuXNN3Mkor2k9vLdd2xOZa56nHsucPfdXBxqhIoKrhsuW8YBuXlVjYxk35opU0Knb01JCduSfPklHwfJ5gL7+PFHDqo9a3/dcUdAXVOcTu42Tknh41tuYWBDfODzz9mwJDycQQ0Va/abtDReC8vKGIf80594P2h2Bw64m49/9x3TPc3ymDExfKuoYL0il8sdGB08mGmfZiCjf//ArIdYh5IS3oNSUviUmCIi2C8jKYm/dijE+KrSN2Pbw3/Hxj2x2Hi0D7a1OQvOLt2BMPe57tqVY5QRI7g5x05NdqVpSks5Dv3mG+Dbb4G8w1XA3izgKHdknX5ma4z+TR+MPicMgwZxbldXm6/6WgQ6nRwq79rFoMnu3XzfM5/LU2ws54tmwOOMM5jcEySXGjlJTicrHprBjJrx+Y4d3eWlRowIqCGuTxgGsG0bAxwrVrgDP+HhvKdNncqSxqEwz7RcdTWz+Fas4IXskUfUYPJUvPsuk38BVsiYOtXSwxF7UWBDfKKsjHPntDRWLvAsv3zmmcx8u+ACtpgIKS4XcNllTFfv1cs7jcTp5AJky5ZA3778XOvWwC9+wf/TyIVz8ZGyMjbR/fhjPm7fHvjDH7j6dIJ0IMPg2tHy5exR41n+fMgQ9s04//zQHIwbBp+Xl18Ois0F9uN0chD4wQd8srt1Y0r4gAFWH9kJlZezTO2333ICNmOGNrL5TG4ut02VlnJX4W9+Y/URhZyDB1mayoxD/vznwO23+7B0RmEhrwuPPsrrRM1VjogI9w9fuDCoyihUVnKRLCWF/5pZ5Q4HF+2TknhrD8V7Mo4dY2DzP/9Bhaslvms9GhljbsHGnO7YscPd98sUH+8OcgwbpoxgOzMM7qJYu5Zv333nMT87VobIrB8wMmILxnTchdGPTkHnS8+p9T0aavPVmGRkwwDy8xngMAMeu3axN0JdqwwtW7J0lRnwOOMMICEhOEqzSv3y8zn2W7uWVRCP9wYCr9ODBjGQMWYMXw+hsiujqcrKuKa+dKl7bAEwgezii5nvpGQyH6uuZmPr1FSOsx5+mItg0jQLF7rrEd95J9fGRDwosCE+V1TEgfCKFdywYL6KzAnkxIkcDNfXzzLorFrVcMrTCy/w8YcfuveStmjBJ+qKK5RFa4WvvwZefNFdq/zii5k6foIX7eHDXLT//HPvuq9dunBnxpQpQVPB45TV3Fxw4YX8MwnJhSVf2LyZndtzcjiwvuEGLl7bNGWruBh44AG2r4mMZHla9YXzEcNg1GjdOmbiv/qqUmQt4nQCb78N/OMffNy7N+MOp5/uox9olsfs3p0rIEeP8g8uOpr/VldzxfGNNwJ+u79h8DKYksIdGp4LZYmJDGZMnMjsXwGzkubO5djU4QCuuAJlV/0O330fgY0bWdd9167ai9EJCQxwjBjBxI2QGdvb1LFj7KliZrt7NhoGGJgaHbMdo9f/BUMjd6Blz65sdtu7d73fs6E2XyerosJdwspzh4dniWNPp53mvbNDjcoDm8vFsnjffMO3H37w/ny7dhwDjh7NHXS6rjTd7t3Ap5/yHmi2yXI4+HxOncrchVDYmWgJl4v30+XL+aTPnMlBhzTOv/7Fuq0AK5pcc421xyO2ZIvARmZmJpYsWYKEhARkZmZi+vTpiG1Eyo8CG4EnL48Z6ytWuPstA7yRnn02d3Kcey4QFWXdMfpFY1KeDIOzkEWLGBEyjRrFWiwjR2oE72v5+dxbb9ZK6t6d2wmGD6/3vxw7Bvzvfxy7bNzo/nirVtyFcOGFnATq1NVW1+aCRx5RY/Fmc/QoA6dffMHHgwezPqnN6gPm5LAUz759nLzOns2dfuIjn3zC+1FEBBewe/a0+ohC3vr1rF5QUMDTcvvtTW7h1Dh1lcf0VFrKKOPChVytDkB793IhJzXVe1G3Y0c2AE9K4mK81OHoUeAvf2HtTIA7jR944PhNuaSEG5DNZuSZmd7/3eHggvOIERw2DR6sZAVfMwzGIs3yUhkZ3n0uIiJ4LkaPBkaPdKLbx68D//wnPzlmDMcENtkOYRjcyea5s2PXrtrBGVPr1vxb9gx4nH568DWMDhYlJcynMF+rNUuU9evn3pXRr59t83ACTmUllyGWLvWep8bGMuHu4os1DPQJw2Ap608/5c1xxgw+4dKwzz5jUAgAfvtb4He/s/Z4xLZsEdgYOXIk0tPTATDIMWPGDCw2u4Q2QIGNwHbwIAMcK1Z4T4YiI4FzzmHm3OjR3IYclJqS8vT999zB8eWX7joACQkMcEyYoBSL5mY2X37tNU7sw8K4+HPddXXOkAyDk8fly9kjrLycH3c4uBZ04YUsa2H2hpeG1dxccOONTM7QpKYZGAZX+V5+mRnabdowoDphgtVHBoCLkH/6EzdHdeoEPPss19LERw4e5CShvBy47TZg2jSrj0h+UlDAoN66dXz8s5+xpHCzZqo2VB7TMLhrdNgw4KOPAuoCnJfHseXnn3Mh1NS6Ncs+JiXx11KCQSN9/TUXZAoK+Dr4zW84Hqox9iws5Fho40a+7d/v/W3CwhgTMRuRDxqkRefmUFHB533tWi4SHzzo/fmuXd09CIYN++k5LyxkrcfNm/lF113HnZwB8EdRUsJ5o2fAY8+e+huVx8fX3ag8AH7VoHK8Qf1Pr9OtW713fLVuzSRHc2dGyJWrtsCBA1xnX7aM903ToEHcxTF+vOauzcowgJdeAv7zH16A7ruPkSSpW1oaFwQMg/OTW2/VhVvqZXlgIzMzE9OmTTse2ACA9u3bo6Cg4IT/V4GN4LF3rzvI4Vmyp00bbmCYOJGToJCvjnHoEBcYPvnEvXoeFwdcfjlwySW2ybIKaD/+yOxlM42lb1+utJ5xRq0vPXCAwYzly1l2ytS9O5MwJk+2XTJ8wKjZWHzIECYSqhZsMzl4kLW/tm3j48mT2TPGwnTarVu5O7ukhGusc+fqfPuUYQB3382FrSFDONnShMFWDANYvJgbaZxO/j08/DAz35vNicpj1uwIbFNlZeyJnpLChsjmjKVFCy6SJSUxaUYL6SepuJgB8RUr+DgxEXjwwQa3u+TluYMcGzfWXnAPDwcGDnQHOgYODOJkpmZ28KC7vNTGjczCNoWHA0OHurPde/SocWnfsYM17nJzec+fORMYO9bvv0NzcjoZSKvZqLywsO6vj411Bzk8G5UrT6x5lZXxemwGMzwXzwHuqDFfp2eeqeffKtXVPEdLl/I8mTmUrVtzDWbqVHf7TzlFhsFx1b/+xcd//CP7qYq31asZfHe5+PzcfbdegNIgywMbCxYswOLFi5GSknL8Y4mJiVi8eDFGjBjR4P9VYCP4GAbrappBDrOlAcBB6PnnM7F48OAQv7aVlDC48dFH7lFiVBSDG7/+tVbTT0Z1NXfFvPsuZ4iRkcxk/vWvvSJqZWWs5LN8ORsvmlq35mvzwgs5OQ/p12czMQxm3L78Mkt8tWnDSmDqudZMqquB//s/4P33+WR37crokQV1n9asYR+Nigr+/cyezeo44kNLlrDMTKtWbOyghj+29f33bCx+4ADvLTfcAFx7bTNuojjVjsAWcTq5aJaSwjlwRYX7c2eeyWDG+PGMz0gz+fJL9hwrLuYq5PXXA1df3ajMo8OHvQMdubnen4+IYKawGejo108LnaaqKsagzQXimrthOnd2Z7qPGNFASd9ly5g1UlXFiMdTTwXttkizUbkZ5DD/3b+/7kbl4eFcaPfc3ZGYqH4OTWEYfH7N1+nmzd47aSIjWUnZ3EGk5BX7ycvjZeLTTznmMCUmMsAxaZL+Jk6ZYbAqxJIlfHzXXcCvfmXtMdnJunVMnHA6mXj3wANaWJETsjywMXfuXKSkpNQKbMyfPx+TJk3y+tqKigpUeMxaiouLER8fr8BGkDIMLhyvWMF5lGftzU6duLg5cSLQp08IX+ucTm7TW7SI+7ABrnRccAEbjffta+3xBYqdO1nzZudOPh45kivoPy30uVxslLlsmffiicPBlicXXgicd54yQX3lwAHOvc2+PFOmcAyoWt3NZMsWbvU9dIjXj+uu46qpn7bILVvGPz+XixPdWbO09d3n9u9n0+jKSi5e//znVh+RnEBZGdeTU1P5eNgwxiGbrdm1LzoC+4BhMNCTksLxoWdGdo8eDGYkJSlO51MFBVwcX72aj/v358JDExbIDYP3djPIsWFD7ez6qCi+DIcNY6CjTx9bviR9JifHvUC8YYN7ozbA52HwYPcCce/eJ5gLOZ0MZP/733x87rlcOKqrt06Q82xUbu7u2L2b19i6dO7sblBu7u7o2jWE5541nKgUWvfufJ2OGcO/54gISw5Tmsgss7x0KXtHVlXx4y1bMtF06lTuDNPfwUkyDGDBAvYwA9hM7fLLrT0mO8jIYP+Rykpmpjz8sEq2SKPYNrAxZ84cXF7jj3vWrFl4/PHHa30PBTaCX3U1B/UrVvDm6jn47NGDmfITJgRt0tGJGQa7jS5axPRF0/Dh7MNx9tkaedSlogJ45x3u1DAMpqDcfjuzAxwO7N/PnRmff+6dWdirFxfXk5KacVFJGuR0cmPB3/7m3lzwyCNMKpZmUFrKrTHmvfjMM7lq6sPVQcPgJWv+fD6ePJlV35Sh62PV1Sw9tH07I7Nz5+r+EEA+/5wBjvJy3rIeeIBrlMHuwAEGdVJS2BzZFBvL8V9SEjP89VL2E7Nf07x5vH+0bMlg6eWXn1T0wTCAffvcQY6MDG5O9tSmDRfSzGbkp58eXOfb6WRJRrPElJmvZOrQwV22Z+TIJsQk8vOZMWBuM77hBiYwBNOTd4oMg7kdZoNyM9hx6FDdXx8V5W5UbgY8EhJCJ8Hp0CG+RtesqbsU2rBh7qBbjx6WHaY0k5IS3n8/+cS7L2r37mwRMWUK8yGkiQwDeOst4IMP+Dg5mT09Q9W2bUwsLS9n7dAnntCkUBrN8sDGggULMH/+/Fo9NhYvXqwdG1Knykrg22+5UWHNGu/SAwkJ7iBHyGbr7drFhfoVK7iABXAl/soruX9UBYwpPZ2lN8zUogkTgDvuQEl4++Olpsz2AwAXkMxSU1o8sU7NxuI33MA+pqGUxelTaWnMxC0r45aYu+/mimEzMwzg9dfZPwDg5Sk5WX9XfvHBB8Cbb3JV7J13uAVSAkp2Nud75ibDyy7j30+wZcIWFXHHbkoKF3xNkZFsCZCUxAVezXstdOQIt9x9+y0fDx7MaFu3bqf0bc1Gwxs3MsiRkVE7o75dO/dujuHD2SMh0O4heXl86r75hvlJnr+jw8HSjOYC8RlnnMTvt307s0Dy8nhPf+ih0IiENpOjR92Nys2Ax5497ux1Tw4HF/HNXR3mWzA0Knc6GRczd2VkZXl/vlMn966M4cMbKIUmAc0sGb50KacL5vUqLIzr0FOnMpdSCfZNYBgsg/3++3x8002c2IaanTvZb6S0lAO7P/85+Aa14lOWBzbqax6+Z88exMbGNvh/1WNDjh0Dvv6aa/jffutdx3PAAJaqGj8+RLMIcnKAf/4T+O9/3SOP9u3ZM+IXvwjdApnFxVxRXbaMjzt3RvVdf8T68DFYtgz46iv3hCUsjJPJKVM4D1RMyB6OHmXGstnDdPBgztXVWqaZHDrE6NGWLXw8cSIDHG3bNsu3dzq5ScDcHHLLLQxsiB9kZnIF3Olkw9jJk60+IjlJVVVsKm4GBxMT2Q+4Z09rj+tUVVQwaSUlhYtoZn6Gw8G5blISgxoqRWgjhsGVrtde48A8MhK49VaONZtpRbe6museZumqzZu9E5sALiCbQY7hw+1ZLqi6mrGGb77hvMUMTpratXP3yjjrrFMcqn/6KQdLTicvDE89xeiPnJLqalZzNHt2mG/1NSpv1652o/KePe0fkM3Lcwcy0tO9g25hYeyHYwbdgm33lJxYeTkTD5YudU8XAK65XHQRd3KEbJLpyXj/fSYbAcCNN3JXXajYu5fzzKIiTurnzlVNYmkyywMbADBy5MjjgY3MzEwkJyd7laaqjwIb4qmkhP0v09I46TFfrQ4HM7omTAB+9rMQbEhbWspRx5Il7npKkZFMq7j88tAZdRgGu36/8gpnHw4H9vzseizvcDVSVkYgP9/9pQkJ3JkxcSInymI/ZhWMl1/mZKtNG7YKmDDB6iMLEtXVzOx/7z3W3j/tNEaPBg8+pW9bXg489hgXdMLCWEZVa+t+4nQyirR7N5sCPfmkViKCwNq1wOzZnA9GRgJ/+APvX4F0al0uYNMmXtNXrvReQOvTh8GMCRNCNEklkBw6xAWJjRv5eMQIXuR90CHY6WSvezPQsWVL7Sz6zp29Ax1WNSouLOQ9b+1a9kT1LLHlcHAXsFliqll2BDudHOv+5z98PHYsA9mKBvpUXY3K9+2rv1F5797ejcrPOMPanDOXyx10W7u2dtAtNtb9Oh01qtlyXSQIZGUxjrp8uXdP1OHDudwwbpyS7xvF3FENMLBxww2BNZg7GdnZHLjm5/MG+MILulfJSbFFYCMzMxPz58/HWWedhXXr1mHmzJkn3K0BKLAh9cvPZxbBihXe5QtatOBgbOJEruuE1HXT6eSTsmgRR9sAb5bnn89G48HcrCAnB3jpJWDNGhQ52yAtfAqWd/oNfsh1Ry3atWOlrilTTnK7v1ji4EEmIZplwyZP5vgopP62fWnbNj7BBw/yj+LaaznYPolUw+JiVijZvp0LsI8/zkmy+Mk77zAjLCaG297bt7f6iKSZ5OVxk5W5njxhAgO9du8LnJnJYEZqKisamTp3djcBD9neaYHKMIB//YtNUSsqeDO+4w6fR9sqK3m7MgMd27d77+IGWB3LM9DR2MQVl4s7RPLyGFwbMqTh8pdmg3tzgfj7770Xt6OjuRtj9GiWbWnElLfx8vKYPbB1K5/vG2/kfVuDWktUVDAZ2bNvx65dDTcq99zdkZjIPgZNOX1Neb0WFTHYZu4gqivoZpaY6ttXLyNpmNPJygdLl7K0nnndi47m/XzqVCYPSgMWLQL++le+/5vfAL//ffD+4R0+DNx1F9dpEhK4VhOqFUXklNkisHGyFNiQxjh0iIn6K1a41/MBZg6ccw6DHGefHToN32AYnPUtWuSuiQxw5HvllXxSguUGahjAxx/D+dc38W1ObywrHIM1rSfA2bEL4AhDixb8dS+8kBNMu28Ll7o5ncD//R/fzMbiDz/M2tTSDMrK2CB2+XI+HjCAT3ATaqjn5LAx+L59HLPOns3+5OInO3YAt9/OFY9ZsxjQlqDicgH/+Afw9tt8v2tXlqbq39/qI/OWm8udtSkp3k1I27Zl6dCkJG4MC5ZhSMjKzgaeecadXTR6NG8Cftp2U17OXRxmM/KawQWAQTOzR8ewYUxwqWnVKrZj27GDi9SRkfybuvdeZiGbSko4pDbfapYl6tOHc40xY3gL9UkN+q1bGdTIy2NU8+GH+QPFVsxG5Z67O3bvdrf8q8mzUbkZ7EhIqLtSy4ler4bBn2kG3bZt8/67aNuWQbcxY3wQdJOQcvgw8NlnfMvJcX+8f38GOCZMUBJavZYsAf7yF77vxyaETQ3in5K8PAY1DhxgicR583TBkVOiwIaElH37GOBIS+Ocy9S6NXdqT5gQYo0oMzNZoDs11Z3a1qMHb6JJSYEd7dm7F7sefhfL1rZHWuEIFEaeBsT3BFq1Qp8+7lJTdU1kJTB99x2zlg8f5kDs+uuZqKjG4s3kiy84Yy4t5Uz7rru4xekEg+29e7medeQIG0w++6yysP2qooKToqws3uQeecTqIxIf2rqVVcYOH+bi6U038ZZuZaCgtBT43/8YzMjIcC+khYczuSApiQtp6mMVZFwu4MMPgbfe4hgzOppbKidM8PsLsqyMCzYbNvA1uGtX7UBHQgKDHCNGcEFn40bgzjsZpOjcmQvJ5eUMzrVrB9x/P3/Fb76pvUDcujV3iJsLxD6P53zyCWtzOp28wT71FMfzEjBKS713dezezWlafY3Ku3d3NyhPTOTr8pFHar9eDx/mtTUpiQvMnqV3Ab7uzV0ZAweq8bM0L5eLPVqWLuVuDnO5oVUr4IILGOQYOFDJDLX8619c7AdYOvy223z6JDU2iN8sCgvZUyMri1k48+YBHTs28w+RUKPAhoQkM2NlxQq+eWYSxMQwmXXiRE5sQuJGm5fHRuMff8yRNcCo+a9+BVx6aUCt/hfkVCH18dVY9u9yZJZ1AcJaAN26on2fjkhKcmDKFG2DDWZHj3Ina1oaHw8eDDz4INCli6WHFTxychg92ryZj8ePZ82berYOb93K0t4lJVxrmTvXujrnIev117m42KEDy1FpvBT0jh7lBPXLL/l41Cj+HfqzZ5TTycz1lBQuZnguzg0ZwkW2889X1YGQsHcvt+n98AMf/+xnwB//aGl2ZkkJAxwZGQx27N1b+2v27HHfu6KjOXcoKWH5nsOHGd8fNMg9Tzj9dHfj70GD/JQkVVXFRaFPPuHjn/2MfU2UCh0UqquZiGc2KDcDHzWDE4bBHUplZbzOt27N119JCd/Ky7kbY9Agvm5HjnQ3/u7UyZrfTUJPYSHw+ecMcuzb5/54r14McEyeHFBLDr733/+y5wTANZk77/TJwtSqVQ0H8V95pRmDGyUlvP/v3s2Lz8svh06/V/EpBTYk5BkGF99WrGBCsuf28bg4JpZNmNBMDf3srqyMe0YXL+asDWDNrosuYraATbO/qqqANWuAZf+Xi7Wf5MJVXgEACI+NxthpXTDlsrY46yxlIYWSlBQGOMrKOMG75x4GK6UZmDVv3nmHs+5OndhYfOhQry9bs4Z9NCoqmI01e7bW1P1u82ZmRRkG8Oc/Mz1eQoJhcPHg1Vf5NxgbyyDvWWf59mdu28br7xdfsK+OqVcvBjMmTQJOO813xyA25XQCf/87+/xUV/MFec89PkgFPTkFBQxyePbo2LaNi8N1jR2rq/l29dXM/xk92oKgfV4e681t28YJyu9/D1xzTQhMVqSgwL2zY9cuBpHT0vharev1an78xReBadO0O06sZa69LF3KsUIFp+0ID2cFjalTGXzTpQzsyv7cc3zSfv5zBgWa8YlxuYDLLuP9r3dv729tGNxUMWwY8NFHzVABoawMuO8+3mDbt2dQ3qZrSxJ4FNgQ8VBdzQt7WhrLJpibFwAGkydM4OLo6adbdoj+UV3NJ2DhQneGncPB0caVV9qiOL7ZnHH5ciDtcydKfjh4vPvogPaHMOV3PTDhrkGIjtGoKFQdPMjNBWaJ76QkrvEqkbGZ7NjBchc//sjrwzXXADfcAISHY9kylpxyubjgM2tW3fWgxYeOHeNC18GDDE7ff7/VRyQWyMoCnnjC3c/iyitZnqo5s8mzsxnMSEnxrhPfoQPHTElJLJeiRQrBzp2Mcu/Zw8eTJrGsoc227vzzn6z8ERXFtZjKSn48MpIB+rZtubj85psWJU1s2cJ+Gvn5PJhHHmHNKwlJaWm8rnfsyNdqWRljiW3a8PUaHs7r9BtvKMlH7KW0lMmlS5dyXm867TTg4otZOjrkd3ovXw7MmcPFj4svZnCgmQZUa9cyQB8RwW9ZWckARsuWfHM6uXvjb3/jLq+T/rEVFZyHbN7M+/3LL4fAgpr4kwIbIvWoqgLWrePNdvVqdzYBwIj2xIkMdDShf27gMQzegBYtYvq1aeBAro6MHev3BgZ5eVw8WbaMCzYoKgKy96MjjmBy+/WYclkb9HzwWttNksUa1dVsKv7+++7G4g89ZIvYXHA4dox7lD/7DABg9O2HRUOexvwlLCg+eTL7a4RM3yI7eekllhfs3Jm7axTRC1kVFaxI9vHHfNyvH9dBu3c/+e9ZWMjxUUoKY5ymVq1YDScpif0KtFNSaqmqAt57jzs4DIPbo//0J0bBbSIjA7jqKi4Kt2njDmxERPDf0lLuSFq4kNmsfmMYwH/+w/tudTUXhp56KsgnI3IiNV+vNVn2ehVpgl27uEEhJYUlNQEupJ99NndxnHNOCM8nUlO589ow2N/w/vsbvQZjGKwkvG8fsH+/+9/9+5m/+v33DNrXFbQwDI4h+/XjHLpjR++3uLjaj2vtCKuq4pbh9es5F3nxRaBv31N/TkQ8KLAh0gjl5VzXT0tjZNtsfAWwsdKECWyAFdR9j7KyWKJq+XL3E9CtG/c0X3jhKaVju1yMn+Tl8YY4ZIj3vbqigjW6ly9nsMkwADirEHEwC+OqV+LCDt9iRN+jCPvTvez6KFLDli3cvXHokLux+G9+o0W3ZrNyJYznnsfr30/A4iMXAD164MpbOyD5FoeytK2wfj0XCgE2W9B1UcAkjblzWeI4KoqVgCZN4udOdB8GeC9evZqLDuvW8f8A/LqzzmIw47zztDtLGmn7du7e2L+fjy++GLj9dlsEYc3yHJs2sYyaT8tzNFZlJQPWPyUSYPx4Lm5FRfnpAMSubPl6FTlJ5lhj6VKWBjTFxnLJ4eKLgfh4yw7POl98wUC2y8XB2wMPeE1ky8q8gxZmEOPHH70TdD2VlDA5pU0bbv6LjOS3r6riW1kZ18H69298zmi7dhxHduoExLWvRsdV/0bHrHR0bHMMHR+9DR3P6YPYWO3ilealwIZIEx09yiZLK1YA6ek/LbKDF+fBg7mT42c/s7Qnom/l5wP//jffSkr4seho4Je/ZGOr9u2b9O1WreK6244dvOlGRvLmec89vCkuW8b7uLssmIHBMVmYcuh9jI9cgzYtK4ErrmAJnMjIZvs1JfiUlnJNIDWVjwcN4u4NNRY/dU4nMPexUqS8fxA4WoJbuv0XV15eze3S2j3lX6WlwI03suvfL38J/OEPVh+R2EhODoO8mzfz8eTJDEq8+mrt+/C99zJQsWEDgxmrVnGTlql/fwYzLrigybd+EaqoAN56C1iyhAPqzp3Z/NoGwVizoWpRERdofNpQ9URyc9lPY8cOTjimT+fOaa0MyU9s9XoVaSY//shY7mefcQnCNGQId3Gcf35oTf+rV6zEoUdfw/6yOOzvcwH2jfo19v8Yhv37vZ+fmsLDuUs3Pt791rMnP3bDDScOin7wAb9/Xh4rf3u+eX6sqsrzpxrA3iygsIDfODERaMs5YYsWXOepuePDc+dHp06M2+s2J42hwIbIKSgsBFau5E6O775zfzwsDBg1ijs5xo6te1twY7Ijba28nFGHDz90F9Vu2ZKrJNOm8e54AuYgvLCQc9lWrRgryc7mQmnv3u4AUefOwIVjCjB5+zx03/klP9inD7OS+/TxwS8owSo1lbtgzcbif/yjO2tZmq68nKW+v/0WCAszMGP0Skz+9imWyejYkduPhw+3+jBDx5w5vDZ368YFQ6XPSw3V1ayX/N577BOwdy+vhd27uxfDDhzg19bsjdG1q7sJeEhmTIpvbN4MPPOMezz5y18CycmWX788k28qK1mKasAAP/c937yZN9nCQiYKPPooJxkiNdji9SriA9XVrJqxdCmraJirkq1bc0wydWpwLQcUF9cuG7V/PwM9zrxCDtwMA2gXC/TuBTi4iNShg3fgwny/S5f6qxQ0V1DUMLiOc+QIcCTXQN78Jchdswt51bE4cu4vcCSyO44c4bizsavKrVrVDnY0qvyVhBwFNkSaSU4OdxakpbE3oqllSzZbmjCBtSEjI+vfpXDvvQE48HS5uF904UKWFTCdcw6MK66Ec+AQVDkdqKx0b2usquIN87bb+F+6dmUgIz+fO2IMg59v1449JS+eUo1hOxfD8d67fMIiIpiRPG2aagnJSanZWHzSJDYWrysIKfUrKuJO6B07eB17/PGfyqT/8APw5JOMUjoczCz9/e9DuDiun3z9NbchORzAvHncliRSj4wMLgbk5TErrls33n8LCrgzo7ycpQnOOcfdBHzgQGXPiY8cOwbMn+9uBtOtGzBzpuXXMcsSkQyDu6P/8heu6iUksAxJ165++OESqAI+cU7kBI4cYXnqpUvdsXCAgY2pUzleadvWuuNrLKeTgYqapaP272dgoz4REUCPiBz03PYZ4lseRvzIzoifeS3iTw8/6XlsswZFDYPNwT/+mBefxx5jOZOfVFe7d3/k5nrv+PD8mNlnpTG8yl/VswtE5a+CmwIbIj6Qnc1SVWlpvEGZoqKYEfnll1zcN3cpNMdWYcPA8eCB04lagYSajxv6XGUlv0d9n6v7+xioPFKMqqwDqDpSjCqjBZxGC6ZSdO7MjAKPu0lJCbBtG9c5a8Ym2rblfzMM4MNnszBs6dPuaNGIEYwAqVGinCLPrGXDYDbLww+rsXhj5eSw0tT+/UwinT27xnNXXs4FmU8+4eM+ffgE9+xpyfEGveJi7icvKGAX0eRkq49IbC4jg/kBpaXeJaYA3q6joniP/ugjJYiLH61fz2Ywubl8IU6bxsC42bk7FFRUcGvp8uV8PHEib7jagSciAoBzt4wMBjhWrnS3AI2IYAuiiy9mYM/KxWwzWaRm4GL/fgZlzF5ldencuXbpqPh4ftzhALewPPIIF2LOOYfZZaewdaFZgqKGASxYwIRXh4O79k+yLEJ5ee3SV3UFQ7zLX9WvRQvuaKmr5JVnMKR1awVAApECGyI+ZBhAZiaDHCtW8Aa2ZQsj0G3aMHLcsiVvJC4Xo9ddu3IOV13dtIBEdbXVv62HinIgJ5e/kPHTHTsiAuFdOiL8tI5o2aoFCgtZt7tNG5avaeGqQnRkFTp0MBDRvg2qqwxk7ziKN+KfwMTYdK6c3noru4bpbiPNaOtWJkEeOsSX1nXXAb/9rTYDNWTvXlaBO3KEA8Jnn22g+tzq1fyC4mJu67j9duCSS/R33NyeeILbBnv14qQilBYB5aSkpQE33cSJckEBxyhRUZz4tWvHr8nOBt54g+uqIn5TWsrAuNkou1cvbg/s39/a4/KHnBwuVv3wA++Tt94KXH657pkiIvUoLmap4aVLufZi6tGDAY4pUzi28dScu5sqKrj7oq7m3WVl9f+/qKi6S0f16NHIOPb69dypXVnJLfNPPGHt+P+994B33+X7997L+Z4PeZW/qifwkZf305JUEJS/0o68+imwIeInhgH8858sv1RZWffXVFcz22DgwFPvtxsezvtay5but4gIftx8v+bnWras//95Pm70544VoeXyT9Dyk3+hZXEe52Rt2wK/+AUy+kzDVbfEIsZRjDZHsoDSMgZBHGFAZARKXVEormqNhQOfwLCfx7P4Y80RiUgzKS3lrtmUFD4+80yOE1XxobatW1kdpKSEa01z5zJ7qEF5edzSkZ7Ox+edx8iIuXoqp+aLLziZCQsDXnsN6NfP6iOSAJCRwc09MTF1l+ErLeViwcKFbB4p4ndr1gDPPcdVibAw4JprgOuvD96yhhkZwKxZrPMYE8MSHjZopC4iEggMA/j+ewY40tLcu1HDwoBzz2WpqrPOYuXWppYFNwwumtdVOionp/6Fc4eDVQE8AxdmIKNDh2aIWW/cyIlZRQW31z71lDUd1RcuZDlJALjjDuDXv/b/MdSjupoJPDUbn/ui/JXnx9q3b76chKAqZe8DCmyI+JFnduSxY5y3ALzghYXxhpifz+DHyJEnH3QID7dZYldFBfD552w0np0NAHC1aInLds3Fph87olfYfjgiWzKoUVEOo6IKWeiFYXH78dG/WyBs7LkW/wISKtLSgBdecDcWv/tu1pUXWrOGO50rKhiAnT2bay+NYhjA4sVM/3Y6OeJ74AHVuDlV+fksQVVSwu1GN95o9RFJgHC5gMsuAzZtYpDSc9xgGEBWFgMaH32kjDCxUHExewalpfFxYiIXcRITrT2u5mRmP732Gv8wzziDfaq6dLH6yEREAtKxYyz/vXSpu6ci4K6oYRhMYKtZFtzchV5X8+6Kivp/XnR03aWjunXzwyaKTZs4pyovB4YPB/78Z/+WLvz3v5khCHCx6ze/8d/Pbkb1lb+qGQzxd/krs8F7YWHzlrIPJgpsiPhRyGdHGgZTJBYtAjZvxqqNbXFnydMoCmuPTi2L0MpZgnIjErmujmgXVoxXRn+Acav+rBUV8atDh9hYfMsWPp44EfjjH9VYfNkyDvZdLu52njXrJMfMu3Yxmygri4+nTQNuvtmaPb2BzjDYt+Trr9nD5LXXgjeTWXzCnCwVFXGipcmS2NbKlew7UVTE69z11wNXXx34dSMrKpiGaW4ZnTSJ/TSsyLgVEQlCWVkMcCxfDnz1FTPzW7Ximkx0NC/D5eXM6o+KAgYNqnuhuUULBkM8d1+Y77drZ3Fi6XffATNmMKIzZAjwzDP8ZXzts8+4fR8Arr2WPbGCmGHw9VOz5FXNYEhzlb/q0IGndft2oHdvJSHVR4ENET9SdqSHjz4CkpOxqmwknq+6CztcfVGJlohwODEgej/u6fIPjDP+F8RRHrGz6mrggw9YKtTlAk47jevHgwZZfWT+ZxiMRZq7iydPZhWpU1o/r6gAXn8d+PhjPk5MZE3xeht1SJ2WL+fEJTycJyghweojkgDkub29spKZhQMGAPfco6CG2ExBAbdVrl7Nx/37M0s1UO8dhw4Bjz4K7NzJgf9tt3GiYKtt1yIiwWHdOlZIqqpiIKMmsyz46NHA4MG1gxddu9o8f2jrVuD++1l6YNAgYM4cbgfwlRUrmKxmGOwFddttun/9pL7yVzWDIScqf1VSAmzb5l25JSLCPeUL+sToRlJgQ8TPlB35E7MuV+fOcOUVYHN+D+S17YW4zi0wpG0mwlxOdS0Vy23dyt0bBw9ynPbb37LaT6AniDaWYTD+sHgxH195JZCc3Ixj1q+/ZpZPURFHabfdBvziFxoUN0ZODstOlZVxx8s111h9RBLA1JBQAoZhsEvsvHlcEWjZkuPJyy8PrBfthg2s7VhczAnArFmhvSohIuJjnmXBq6uZVV9ezg1ykZFcPM7LA956K4CXH3bsYAba0aOsGzx3rm/KDnz1FQPzLhfw85+zvIHmb01WUVF/4/MjR1hBYs0avj7Npzc83J1sWV2tJTNAgQ0RSyg7EqrLJQGjrIxlQz//nI8HDuTujWBvLO50MtEnNZWPb7mFgY1ml5/PXQfr1vHxOecw2yg21gc/LEgYBict6el8Qc6bFzrRNhERgDP+Z58Fvv2WjwcN4u6N7t2tPa4TMftN/fWvfL9vX/bT6NzZ6iMTEQlqIbP88MMPLGlYUsKdjXPnsuZWc1m3DnjwQU4WJ0/mvVdBDZ/IyOD8u21b5nE4nYwltWvHzwfNa/YUKbAhYpGQz45UXS4JMGlpLO9dWspdvX/4AxuLB+M4rrycSTjr1vHPb8YMjlt9xmyc+te/csTWvj0HyWef7cMfGsA+/hh46SWm77z5JtCjh9VHJCLif4YBfPop8Je/sK54ZCSj8Jdeas+bc0UFgzFmI/TJk5nVpH4aIiI+F1LLD7t2Affey1XvPn2YVdscwY1NmzgxrKgAzj+fpYSVXOUzIfWaPQUKbIiIdVSXSwLM4cMsTfXdd3w8cSJw993MoggWRUWMKezYwbWWxx9nrVm/yMxk5urevXx82WWsfRUR4acDCAAHDrAxX3k5r5+XXWb1EYmIWOvQIWakbtzIx8OHc+HltNOsPS5PBw9yAWj3bi4C3X478Mtf2jMAIyISpEJq+SEzk8GNwkL2M3z+eXeq/8nYto07QY4dA8aM4ZzN1k1HgkNIvWZPkgIbImIt1eWSAFNXY/GHHmKTuUCXk8Px6v79TOp55hlWOvKrigpgwQLu4ACA00/nYtDpp/v5QGzI5WIN282bmZ7zwgtaFBMRAZi6+K9/8f5RUcGtlbffDlx0kfXXyfXrgSeeYFmQ2FhmDAwZYu0xiYiEqJBafsjK4tyhoIAdp59//uTK/e7axe9z9CgwYgQwe7YSz/wopF6zJ0GBDRGxXsjX5ZJAtG0b8NRTwdNYfO9etm04coTZIM8+yy2vllm7lpGVwkIWFb3lFuBXv7J+gcpKixcDr70GREUBb78NdOli9RGJiNhLdjbvHVu38vHo0by5xcX5/1gMA1i0iMEWw2Ct88cfVz8NERGLhdTyw759XAHPy+Pk7oUXgA4dGv//s7JYg7moiP2snn2W2wbEr0LqNdtECmyIiIicpLIy9m1evpyPBw7k7o1u3aw9rqbasgWYOZNJOL16saKHLdZdCgrYwXztWj4++2zWyWrf3trjskJWFnDzzUBVFbeVX3KJ1UckImJPLhfw4YfAW2+xb1N0NHDXXawf6a/geHk5719ffsnHF13E2pXKcBUREX/LzuaOiyNHgPh4No5sTMD/xx8Z1MjLA/r147aBujqvi1ioKbEBn8WCNmzYgJEjR/rq24uIiPhE69ZcZ3/0UY7xtm0DbroJ+PxzJmcGgjVruE5+9CgDM/Pm2SSoATCAMXs2B9QREcC33wK/+x3wzTdWH5l/VVczA7mqisGdqVOtPiIREfsKCwOuugp44w2gb1+WgHr6aeCxx7gL0NcOHGAZrC+/5DbOu+/mrhEFNURExAo9egAvv8xJ3v79vC/l5jb8fw4fdu/0SEhg5puCGhLgfBLYWLJkCQAGN0RERALRBRcwMXTIEPZTmz2b/dSOHrX6yBq2bBnw8MOs1Tl6NJNwbLcB0uFgg9X58zmoLizk9pKXX2Yd9VDwj3+wqGrbtlwcC+VyXCIijdW7N/CXvwA33sgAw6pVwA03AP/7n+9+5rp1LJ2Ymcng/IsvApdequu2iIhYq1s34KWXWMo2O5uJYzk5dX9tXh4z33JyuMPjuedsOEkUaTqflqJyOBxo6rdXKSoREbETlwv4+9+Bd97h+507szSV3XqEGgawcCHLfgPA5MlcLw8Pt/a4TqiyEnjzTfaaAFg365FHgMREa4/Ll3btAm69leVUHnoImDTJ6iMSEQk8O3dy51tmJh9PnMhFnejo5vn+hsEg9Jtv8v0BA9gwvGPH5vn+IiIizSEnhzs2Dh5kkOPFFzlpNRs4RETwXrZvH9C1K5PJOnWy+qhF6mWbHhsKbIiISLDYvp2NxQ8cYJLmtdeysbgdAgeGAbz+ujs2cNVVwPTpAZZMum4dF6jy8/mkTp8OXH55gP0SjVBV5c78HTeOTWeD7XcUEfGXqirgvfeYgWAYrC9+333AmDGn9n2PHWM/jZUr+XjqVAZNWrY89WMWERFpbrm57Lnx44+cW0REAHv3sj9UYSHnV4MGMWDftavVRyvSoIAKbFRUVKDCo+xEcXEx4uPjFdgQERHbKSsDXnmF5Z4AJm8+/LC1jcWdTq69pKby8S23AFdead3xnJLCQuDZZ4Gvv+bjUaPY8KQxjfACxZtvAh98ALRrB7z7LhAba/URiYgEvu3bWTNy/34+vugi9sQ4mdrh2dncObh3LxeC/vAH4JJLmvVwRUREml1eHnDNNcBXXzHYn5jI5uJHj7K/X69eLAU8bpzVRyrSIFs0D2+s2bNno127dsff4uPjrT4kERGROrVuDcyY4W4svn07G4svW2ZNY/HycuDBBxnUaNGCbSoCNqgBcJH/qaeYbRQZCaxfz8biX31l9ZE1j+3bmVUMsMatghoiIs1jwAA2Fp82jZmqn33G+0d6etO+z9q1zBDYuxfo0IG1yxXUEBGRQNC+PSeFAHcY7t/PHYgREdytcewY8MILrK8sEiQavWNjwYIF2L17d72fT0pKwqQaNaK1Y0NERIJVTg7w9NMsXQoA48cD99zTfKW9T6SoiJsZduxgDODxx9ksPGhkZTHIsWsXH//858y+jYy09rhOVkUFcPPNnGBMmsTeGiIi0vw2b2Zpw4MH+fjSS4HkZCAqio9dLnfd8bg4Ns1yOLib7u23malw5pm8sQbTjkEREQluGRmsSdymDesnl5cDYWHAGWcwQ6+0FCguZmPGYcOsPlqRegVUKaqa1GNDREQChcvFMqXvvMPdvf5qLH74MBuD79/PQMozzwADB/r2Z1qiqgp46y1g0SI+jo9neZA+faw9rpPx2mtsghIXxxeMvyJgIiKh6Ngxltv4+GM+7tqV2QBFRcDzzzMroKKCwfI+fXhtzsri1/7iF8Cdd9qjiZaIiEhjpaWxnEB8PIP0R46w/K0Z2K+uZrnFN94AJk609lhFGmCrwEZBQQFim1BqQYENEREJNDt2AE8+6W4sfs01wA03+GZNZO9eBjWOHAE6dWJLil69mv/n2Ep6Omun5+XxSb3pJuCKKwKn6famTSyvZRiMQgXV1hoRERtLTwfmzuU2y6Ii/tuiBXDaaUCrVsxcNXcG9u/PXRpTp1p7zCIiIifD3LERE1N3jynt2JAAYXmPjdTUVMyYMQMAe2gsWbLEFz9GRETEFvr3Z+LLRRdx7fqDD5js+eOPzftztmzh9z1yhMGMV18NgaAGAIwcyfIg48axW/pf/8oeFUeOWH1kJ1ZWxu7uhsHFMgU1RET8x7x/TJkC7NvH+0Z5OQPjR49y62N4OK/RsbG8kYuIiASiIUM4Mc3Nrd0A0jD48QEDfF9eQMSPfLpj42Rox4aIiASyL79klYujR5kMetddwIUXnvrmgq+/ZiJpZSVLf8+eHYLVjAwD+PRT4JVXWEIkOprbV8aNs/rI6vfCC8B//8vs4LffZn1bERHxr4wM9tooLq79uTZtWEuyrExZrCIiEthWrWImXFERt/e3asWAfm4uy1K98oq9504isMGODRERkVA1fjzbQgwdyjHk3LnAE08AJSUn/z0/+4ytJSormfD//PMhGNQAGB2aOpXbY/r25ZP66KPAc8+xnrrdrFvHoAYAzJihoIaIiFXy8thAdeBAoH1798c7dmRT1bZteZPNy7PuGEVERE7VuHEMXgwdymB+djb/HTZMQQ0JStqxISIi4gM1G4t36sTG4kOHNv57GAaTRxcs4OPJk7lBQf1MwZJU77zDJ9kwgB49gIcfBvr1s/rI6OhR4MYbWfbkssuYOSUiItaoWXe8pIT3DnO+qbrjIiISTFwuYPNmBuzj4lh+Kky57RIYbNM8/GQosCEiIsFkxw7gqafYb6MpjcUNA3j9dWDxYj6+6ipg+vTA6ZftNxs3An/+MwMILVoAv/sdnyyrB+6zZwOff86Ay5tvApGR1h6PiEgoc7kYZN60ic2pPG+mhgFkZTGg8dFH1t8/REREREKYSlGJiIjYRF2Nxe+4g7uCTS4Xk0nT0vhvZSXX6s2gxi23AMnJCmrUafhw9q44/3xujXnjDeCee4CcHOuOafVqBjUcDuCBBxTUEBGxWlgYcO+9rC+elcUdGtXV/Dcrix+/5x4FNUREREQCiHZsiIiI+MnKleyPUVLibizepg37S+/YwX7YLVsyANK2LXcN338/S1DJCRgGsGwZMG8em5u0bctFrPHj/XschYUsQVVYCFx9NbfZiIiIPaxaxRvxjh3MIoiIAAYMYFBDdcdFRERELKdSVCIiIjaVk8MqRRkZXPs+eJAJ/aedxvJUu3axzHdEBPDss9ypIU3w44+s/bVjBx9fdBG3yPijcbdhAI8/zghW795sjtKype9/roiINJ7qjouIiIjYlkpRiYiI2FTnzkwW/f3vWY6qsBAoK2PiaGYmUFXFXRzR0dyA4HJZfcQBpnt34JVXgGuvZSmozz4Dbr4Z2L7d9z/7iy8Y1GjRAnjwQQU1RETsKCyM/TQmTuS/CmqIiIiIBCSN4kRERPwsLAwYNIjBi7ZtAaeTJb7NUlR9+3J9fvt2JpVKE4WHM3L00kuMJB04wF0b//d/vosU5eXx5wHAddcBffr45ueIiIiIiIiIiAIbIiIiVsjLY+Wi/v1ZCQNg340+ffhvq1bcxZGXZ+1xBrQhQ4C33gIuuIABjbffBu6+Gzh8uHl/jmEAzz3H5il9+wLXXNO8319EREREREREvCiwISIiYoG4OPbWqKwE4uPZu7RfP/bWANj/OiLCHfSQk9S2LfDII8DMmeyz8d133M2xYkXz/Yxly4BvvuFOkZkz+a+IiIiIiIiI+IwCGyIiIhYYMoS7NXJzmfAfGcmWEAAf5+Yy2DFkiLXHGRQcDmDyZODNN4GBA4HSUuDJJ9nFvazs1L734cPAq6/y/d//nk3DRURERERERMSnFNgQERGxQFgYcO+9QLt27K9RWgpUV/PfrCx+/J571NO0WXXtCsybB1x/PYMdn38O3HQTsHXryX0/wwDmzGFw5MwzgSuuaN7jFREREREREZE6ablERETEIuPGAa+8AgwdChQXA9nZ/HfYMH583DirjzAItWgB3HADAxxdugAHDwJ33QW89x4jS03x8cfAxo3cbjNzpqJQIiIiIiIiIn7iMAzDsPogPBUXF6Ndu3YoKipCTEyM1YcjIiLicy4XsHkzG4XHxbH8lNbI/aC0FHjpJSA1lY/PPBN46CHu7DiR7Gzu9qioYGDkV7/y6aGKiIiIiIiIBLumxAYU2BAREZHQlpoKvPgiS0q1bg3cfTeQlFT/17tcDGZs3QoMHw48/7y7QYqIiIiIiIiInJSmxAbC/XRMIiIiIvY0aRIwaBDw9NPAli3An/8MrF3LAEfbtvwaz20169bx69q0AWbMUFBDRERERERExM8U2BARERHp0oVlqT74gP020tIYvHjoIaCwkLsyduxg+ar8fCAqikGN006z+shFREREREREQo4qeIuIiIgAbCx+3XXs3N61K3D4MHD99cBvfgNkZADR0YDTya+rqmIQZNUqq49aREREREREJOQosCEiIiLiaeBA4M032Wdj3z4gJweorOTOjfJyICKCpauKioAXXmCZKhERERERERHxGwU2RERERGpq3Rq4+GL+26oVcOwYcOQIP9ejB4MbnToB27ez94aIiIiIiIiI+I0CGyIiIiJ1yctj2an+/dkoHABiY4H27fl+q1bcyZGXZ9khioiIiIiIiIQiNQ8XERERqUtcHBAZyVJTffpw10ZUlPvzZlmquDjrjlFEREREREQkBGnHhoiIiEhdhgzhbo3cXMAwvIMahsGPDxjArxMRERERERERv1FgQ0RERKQuYWHAvfcC7doBWVlAaSlQXc1/s7L48Xvu4deJiIiIiIiIiN9oJi4iIiJSn3HjgFdeAYYOBYqLgexs/jtsGD8+bpzVRygiIiIiIiISctRjQ0RERKQh48YB550HbN7MRuFxcSw/pZ0aIiIiIiIiIpawXWDDMAwAQHFxscVHIiIiIuIhIYFvAHD0qLXHIiIiIiIiIhJkzJiAGSNoiO0CGyUlJQCA+Ph4i49ERERERERERERERET8qaSkBO3atWvwaxxGY8IffuRyuXDgwAFER0fD4XBYfTi2UlxcjPj4eOzfvx8xMTFWH47UQ+fJTc+F/ekc2YfOhf3pHLnpuQgMOk/+p+c8MOg8edPzYW86P/ahc2FvOj/e9HzYn85R3QzDQElJCbp164awE5R/tt2OjbCwMPTo0cPqw7C1mJgYveADgM6Tm54L+9M5sg+dC/vTOXLTcxEYdJ78T895YNB58qbnw950fuxD58LedH686fmwP52j2k60U8OkrpciIiIiIiIiIiIiIhIwFNgQEREREREREREREZGAocBGAImMjMRjjz2GyMhIqw9FGqDz5Kbnwv50juxD58L+dI7c9FwEBp0n/9NzHhh0nrzp+bA3nR/70LmwN50fb3o+7E/n6NTZrnm4iIiIiIiIiIiIiIhIfbRjQ0REREREREREREREAoYCGyIiIiIiIiIiIiIiEjAU2PCRadOmoX379hg5ciQSExORmJiIGTNm1Ps15tfV/Jrk5GQ4HA5kZmbW+hmFhYVwOByYNm2aT3+XYKbz5Kbnwv50juxD58L+dI7c9FwEBp0n/9NzHhh0nrzp+bA3nR/70LmwN50fb3o+7E/nyJ4U2PChmTNnIj09Hbt370Z6ejoKCwuRlJTk9TXTp09Henr68a/LzMxEcnKy19ckJCRgyZIltb7/ggULkJCQ4PWxzMxMJCUlITExsdYfQvv27b3e9IdCdjpPCxYsgMPhqPWWmprajL9x/ez0XADAhg0bjt8MkpKS6rzwhxq7nSPPzyUlJaGwsLB5ftEAYMW5APh3Uddz3dB5ClV2O0cn+pwv2e25SE1NRWJiItq3bx9y146G2O08mR8P5vuw3Z5zz/9X36Q3FNntPFk9r7Lb8wEAc+fOrXcRJ9TY6fxYPb+0mt3mToB1Y0E7stv5sXp8arfnIxTGgU1lt3Pk+f9CddyowIafxMbGYs6cOSccQMyZMwcffvih18cuv/xyzJ8/v9bXLlq0CJdffrnXx5KSkjBjxgzs3r0bSUlJtf7A9uzZg4KCAhQUFGDx4sUn+dsEL6vP0/Tp02EYxvG3goICTJo0CZMmTTrF36zprH4uAGDixIl44403sHv3bsyYMaPW6znUWX2OCgsLMXLkSMyZMwe7d+/GtGnTcPPNN5/ibxWY/HUukpOTMXv27Dp/zomu/6HODueooc/5k9XPRWFh4fHrRkFBAUaMGIGJEyee5G8TvOxwnm6++WYsXrz4+HUl2IOmVj/npsLCQsyfPx+xsbFN+wVChF3Ok13mVXZ4PpKTk5GXl3d8EWfOnDkn8ZsEJ6vPj53ml1azeu4E2GcsaEdWnx+7jU/t8HyE2jiwqaw+R6ZQHzcqsOEn5kXh/vvvP+HX1RQXF4eEhARs2LDh+MfMKFxiYuLxj5mfNwcp06dPx/r165UJ0AR2O08TJ06s82LnD1Y/F5mZmejQoQNGjBhx/Gvy8/NP6XcKNlafo9TUVCQkJBw/R9OnT8eSJUtC8prjj3MBAPPnz69z8UTX/xOz+hyd6HP+ZPVzkZmZ6ZXNO2fOHGzYsCEkM4waYvV5io2NRVpa2vFJUkJCQtBfU6x+zk0zZsxAcnIyOnTo0ISjDx12OU92YfXzkZmZiQ8//BBxcXHHd2x4fr9QZ/X5qcnK+aXVrJ47AYFzXbGC1efHbuNTq5+PUBwHNpXV58gU6uNGBTZ8aPbs2ce3sZlb2RrKXtmwYQOmTZuGmTNn1vrctGnTvAYg8+fPr7WVKTMzs9aWpYSEBK8L8bRp00KyZExD7HieAG4lGzVqVJ3bjH3FTs9FQkICYmNjsWDBAhQWFmLu3LkhmVlUk53OEYA6b56hsjjp73PRkMZeV0KNnc6R1ez0XIwYMcLrem6+Tv15v7MrO50nAMcns5mZmZg9e3ZQlpex23OemZmJ1NRUTJ8+vUn/L9jZ7TyZ38eqeZWdno8NGzagsLAQCQkJSE9Px4wZM0I+q9dO58eTFfNLq9lt7iTe7HR+7DA+tdPzAYTGOLCp7HaONG5UYMOnZs6ceXwbW3p6OhYvXlzrRbpgwYLjTWVmzJiBOXPm1Bntmz59utfWpQULFuCKK67w+pr8/Pw6tx6ZWe4JCQlITk4+XjJGZR/IbufJNGPGDL/fOOz2XKSlpWHGjBk4/fTTMX/+fLzxxhvN8FsGNjudo0mTJiE1NfX4TXXBggXHPxcK/H0uGtLY60qosdM5spqdn4v6fk4osuN5Sk5ORmJiIjp06BCUkya7PefJyckq41MHu50nq+dVdno+zDGIWTpj+vTpyM/PD+mFXDudH09WzC+tZqe5k9Rm5/NjxfjUjs9HsI8Dm8pu50jjRiDc6gMIFSNGjEBKSgrat2+P5ORkr9ItjX0RmouI5vs1X9wdOnSolS1klvMBgPT09OMfv+KKK5CcnHx8i5mQHc4TwKZVHTp0sDSbxurnwuzfkJ6ejoSEBKSmpmLkyJHYvXv3Kf9uwcLqcxQbG4v58+dj5MiRGDVq1PHsvFGjRp3aLxaA/HEuGtKY60qos/oc2Ymdnou5c+cer08r3uxynubPn4/58+cfn6R5jieDjdXPudlEsmZtZfFm9XkC7DWvsvr5qGvO0qFDhzqzTEOR1efHZIf5pdWsnjtJw+x0fuwwPrXL8xFK48CmsvocadxI2rHhZ6eyDTE5Ofl4TcYrr7yyUd/b3BZckzIGGmb1eVq8eLFtLk5WPRdm/wbzeTG3harRWm1Wvl6nT5+OgoICpKSkHN/aHqiLvc3Bl+eiqT+3vut/qLPqHNmR1c9FcnKy5ZPGQGD1eTJNnz4dGzZsCIn7sFXP+bp165CZmYnExEQkJiYiMzMTSUlJx3dEije7/G3YZV5l1fMxYsSIWj83Pz9fY5AarH692ml+aTWr5/rSMKvPj93Gp1Y/H6ZQGgc2lVXnSONGUmDDjxYsWIDMzMyT7hMwadKk4xeSugYlZnTQjNotWLDgeMQvNTXVa9vp/PnzAzrb1JesPE+m9evX12oIZwUrn4sRI0Zg/fr1xy/iGzZsQH5+fkjuBmiI1a9X8/yYjbPsMgC0gq/PRUMac10Ra8+R3Vj9XCQnJyMpKUlb2k/AyvOUmprqNTFasGABYmNjg/4+bOVzPmfOHOzevfv4GwCkpKTo76QOVv9t2G1eZeXzkZCQgFGjRh2/XixYsMArOUmsv+cC9plfWs3quZM0zOrzY7fxqdVriKE4DmwqK8+Rxo2kUlQ+NHv2bCxatAgAF/1GjBiB9PT0U7qpzZgxo8HmdCkpKUhOTsaMGTMwYsQILF68GID7j2XkyJHHj8X8XKiz03kyWZXVYafnIiEhAYsXL8a0adOOb+1PS0sL+UGhnc4RwEWY1NRUxMbGYubMmQG/2NsUVpyLGTNmHM+SGTlypNf5ONF1JRTZ7Rw19Dlfs9NzYU6UamYTpaenHx+8hyo7nadJkyZhwYIFxxfCgvU+bKfnXOpnp/Nkh3mVnZ4PAMfH7HPmzEFCQgLS0tJO+jiCgd3Oj3kcoRhsstvcSdd/b3Y6P3YYn9rp+QiVcWBT2ekcCTkMwzCsPggREREREREREREREZHGUCkqEREREREREREREREJGApsiIiIiIiIiIiIiIhIwFBgQ0REREREREREREREAoYCGyIiIiIiIiIiIiIiEjAU2BARERERERERERERkYChwIaIiIiIiIiIiIiIiAQMBTZERERERERERERERCRgKLAhIiIiIiIiIiIiIiIBQ4ENEREREREREREREREJGApsiIiIiIiIiIiIiIhIwFBgQ0REREREREREREREAoYCGyIiIiIiIiIiIiIiEjD+H5dGcg2HcXabAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Compare twiss parameters with model before and after correction\n", "\n", "(nux_model, nuy_model), (ax_model, bx_model, ay_model, by_model) = task(ring)\n", "(nux_error, nuy_error), (ax_error, bx_error, ay_error, by_error) = task(error)\n", "(nux_lattice, nuy_lattice), (ax_lattice, bx_lattice, ay_lattice, by_lattice) = task(lattice)\n", "\n", "# Before\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.plot(ring.locations().cpu().numpy(), 100*((bx_model - bx_error)/bx_model).cpu().numpy(), color='red', alpha=0.75, marker='o')\n", "plt.plot(ring.locations().cpu().numpy(), 100*((by_model - by_error)/by_model).cpu().numpy(), color='blue', alpha=0.75, marker='o')\n", "plt.xticks(ticks=positions, labels=['BPM05', 'BPM07', 'BPM08', 'BPM09', 'BPM10', 'BPM11', 'BPM12', 'BPM13', 'BPM14', 'BPM15', 'BPM16', 'BPM17', 'BPM01', 'BPM02', 'BPM03', 'BPM04'])\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "# After\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.plot(ring.locations().cpu().numpy(), 100*((bx_model - bx_lattice)/bx_model).cpu().numpy(), color='red', alpha=0.75, marker='o')\n", "plt.plot(ring.locations().cpu().numpy(), 100*((by_model - by_lattice)/by_model).cpu().numpy(), color='blue', alpha=0.75, marker='o')\n", "plt.xticks(ticks=positions, labels=['BPM05', 'BPM07', 'BPM08', 'BPM09', 'BPM10', 'BPM11', 'BPM12', 'BPM13', 'BPM14', 'BPM15', 'BPM16', 'BPM17', 'BPM01', 'BPM02', 'BPM03', 'BPM04'])\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 32, "id": "242e0c4d-27c5-40bf-948f-22cff01d23e3", "metadata": {}, "outputs": [], "source": [ "# Set parametric ORM\n", "\n", "def ORM_knks(kn, ks):\n", " return ORM(ring, fp, [kn, ks], ('kn', ['Quadrupole'], None, None), ('ks', ['Quadrupole'], None, None), limit=1, start=0, epsilon=None)" ] }, { "cell_type": "code", "execution_count": 33, "id": "3cdca9d8-3eb9-4ac2-a8ac-ab452c83d75e", "metadata": {}, "outputs": [], "source": [ "# Convert data to numpy\n", "\n", "X = response.reshape(-1, *knks.shape).cpu().numpy()\n", "y = (orm_error - orm).flatten().cpu().numpy()" ] }, { "cell_type": "code", "execution_count": 34, "id": "ebb6a3c0-1ae1-4af1-a951-4cc09ba7f844", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor(3.1476, dtype=torch.float64)\n", "tensor(0.6863, dtype=torch.float64)\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Lasso\n", "\n", "lasso = Lasso(alpha=0.0005)\n", "lasso.fit(X, y)\n", "solution = lasso.coef_\n", "kn_out, ks_out = torch.tensor(solution, dtype=torch.float64).reshape(1 + 1, -1)\n", "\n", "# Check error\n", "\n", "print((orm_error - ORM_knks(0.0*kn_out, 0.0*ks_out)).norm())\n", "print((orm_error - ORM_knks(1.0*kn_out, 1.0*ks_out)).norm())\n", "\n", "# Plot kn and ks\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.bar(range(len(error_kn)), error_kn.cpu().numpy(), color='red', alpha=0.75, width=1)\n", "plt.bar(range(len(kn_out)), +kn_out.cpu().numpy(), color='blue', alpha=0.75, width=0.75)\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.bar(range(len(error_ks)), error_ks.cpu().numpy(), color='red', alpha=0.75, width=1)\n", "plt.bar(range(len(ks_out)), +ks_out.cpu().numpy(), color='blue', alpha=0.75, width=0.75)\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 35, "id": "69952f47-3f14-4e45-9d31-34b369953630", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor(3.1476, dtype=torch.float64)\n", "tensor(0.4987, dtype=torch.float64)\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# OMP\n", "\n", "omp = OrthogonalMatchingPursuit(n_nonzero_coefs=16)\n", "omp.fit(X, y)\n", "solution = omp.coef_\n", "kn_out, ks_out = torch.tensor(solution, dtype=torch.float64).reshape(1 + 1, -1)\n", "\n", "# Check error\n", "\n", "print((orm_error - ORM_knks(0.0*kn_out, 0.0*ks_out)).norm())\n", "print((orm_error - ORM_knks(1.0*kn_out, 1.0*ks_out)).norm())\n", "\n", "# Plot kn and ks\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.bar(range(len(error_kn)), error_kn.cpu().numpy(), color='red', alpha=0.75, width=1)\n", "plt.bar(range(len(kn_out)), +kn_out.cpu().numpy(), color='blue', alpha=0.75, width=0.75)\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.bar(range(len(error_ks)), error_ks.cpu().numpy(), color='red', alpha=0.75, width=1)\n", "plt.bar(range(len(ks_out)), +ks_out.cpu().numpy(), color='blue', alpha=0.75, width=0.75)\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 36, "id": "e2c1b33d-500e-4880-abed-9f39039f14de", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor(3.1476, dtype=torch.float64)\n", "tensor(1.8210, dtype=torch.float64)\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Lars\n", "\n", "lars = Lars(n_nonzero_coefs=16)\n", "lars.fit(X, y)\n", "solution = lars.coef_\n", "kn_out, ks_out = torch.tensor(solution, dtype=torch.float64).reshape(1 + 1, -1)\n", "\n", "# Check error\n", "\n", "print((orm_error - ORM_knks(0.0*kn_out, 0.0*ks_out)).norm())\n", "print((orm_error - ORM_knks(1.0*kn_out, 1.0*ks_out)).norm())\n", "\n", "# Plot kn and ks\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.bar(range(len(error_kn)), error_kn.cpu().numpy(), color='red', alpha=0.75, width=1)\n", "plt.bar(range(len(kn_out)), +kn_out.cpu().numpy(), color='blue', alpha=0.75, width=0.75)\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.bar(range(len(error_ks)), error_ks.cpu().numpy(), color='red', alpha=0.75, width=1)\n", "plt.bar(range(len(ks_out)), +ks_out.cpu().numpy(), color='blue', alpha=0.75, width=0.75)\n", "plt.tight_layout()\n", "plt.show()" ] } ], "metadata": { "colab": { "collapsed_sections": [ "myt0_gMIOq7b", "5d97819c" ], "name": "03_frequency.ipynb", "provenance": [] }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.12.1" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autoclose": false, "autocomplete": true, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 1, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false } }, "nbformat": 4, "nbformat_minor": 5 }