{ "cells": [ { "cell_type": "markdown", "id": "59c61afc-6244-4003-809f-19be36210389", "metadata": {}, "source": [ "# Optimisation\n", "\n", "The following tutorial demonstrates how one may calibrate a simulation model via optimisation using `calisim`. We will first import our required dependencies." ] }, { "cell_type": "code", "execution_count": 102, "id": "6de47f05-d1ac-4e93-bece-c2e61e198271", "metadata": {}, "outputs": [], "source": [ "from calisim.data_model import (\n", "\tDistributionModel,\n", "\tParameterDataType,\n", "\tParameterSpecification,\n", ")\n", "from calisim.example_models import SirOdesModel\n", "from calisim.optimisation import OptimisationMethod, OptimisationMethodModel\n", "from calisim.statistics import MeanSquaredError\n", "import numpy as np\n", "import pandas as pd\n", "from scipy.integrate import solve_ivp\n", "\n", "import warnings\n", "warnings.filterwarnings(\"ignore\")" ] }, { "cell_type": "markdown", "id": "5bcc3a3c-1801-4031-b81c-bcb031a30ee0", "metadata": {}, "source": [ "## SIR Model Parameters and Initial Conditions\n", "\n", "We next define our forward model. We will use an SIR (susceptible, infected, and recovered) compartmental model, combined with SciPy's solver for ordinary differential equations. The SIR model is expressed as a system of ordinary differential equations where:\n", "\n", "| Parameter | Value | Description |\n", "|-----------|-------|-------------|\n", "| β (beta) | 0.4 | Infection rate: probability of transmission per contact per time unit |\n", "| γ (gamma) | 0.1 | Recovery rate: fraction of infected recovering per time unit |\n", "| | | **Average infectious period = 1 / γ = 10 time units** |\n", "\n", "With the following compartments:\n", "\n", "| Compartment | Symbol | Initial Value | Description |\n", "|------------|--------|---------------|-------------|\n", "| Susceptible | S0 | 999 | Individuals who can catch the disease (N - I0 - R0) |\n", "| Infected | I0 | 1.0 | Individuals currently infected and can spread the disease |\n", "| Recovered | R0 | 0 | Individuals recovered or removed; no longer infectious |" ] }, { "cell_type": "code", "execution_count": 103, "id": "0de1d6a9-c2d0-48fa-ba60-7bc029c3434b", "metadata": {}, "outputs": [], "source": [ "def sir_simulate(parameters: dict) -> np.ndarray | pd.DataFrame:\n", " def dX_dt(_: np.ndarray, X: np.ndarray) -> np.ndarray:\n", " S, I, _ = X \n", " dotS = -parameters[\"beta\"] * S * I / parameters[\"N\"]\n", " dotI = (\n", " parameters[\"beta\"] * S * I / parameters[\"N\"] - parameters[\"gamma\"] * I\n", " )\n", " dotR = parameters[\"gamma\"] * I\n", " return np.array([dotS, dotI, dotR])\n", "\n", " X0 = [parameters[\"S0\"], parameters[\"I0\"], parameters[\"R0\"]]\n", " t = (parameters[\"t\"].min(), parameters[\"t\"].max())\n", " x_y = solve_ivp(\n", " fun=dX_dt, y0=X0, t_span=t, t_eval=parameters[\"t\"].values.flatten()\n", " ).y\n", "\n", " df = pd.DataFrame(dict(dotS=x_y[0, :], dotI=x_y[1, :], dotR=x_y[2, :]))\n", " return df" ] }, { "cell_type": "markdown", "id": "505e399b-e7d4-4f2e-9e0a-0d81ff8a3488", "metadata": {}, "source": [ "We will perform a simulation study with the following ground-truth parameters:" ] }, { "cell_type": "code", "execution_count": 104, "id": "137169dd-d35e-499a-9917-a6fe6c253215", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
betagammaNI0R0S0
00.40.110001.00999.0
\n", "
" ], "text/plain": [ " beta gamma N I0 R0 S0\n", "0 0.4 0.1 1000 1.0 0 999.0" ] }, "execution_count": 104, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model = SirOdesModel()\n", "pd.DataFrame(model.GROUND_TRUTH, index=[0]) " ] }, { "cell_type": "markdown", "id": "f78777eb-fff5-4d7a-86c9-ad796c442319", "metadata": {}, "source": [ "When supplied to our forward model, these ground-truth parameters will generate the observed data below:" ] }, { "cell_type": "code", "execution_count": 105, "id": "5967ef99-3a70-4da2-9d41-4cf49af165d1", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
dotSdotIdotRday
0999.0000001.0000000.0000000
1998.5342081.3492010.1165921
2997.9061051.8199950.2738992
3997.0598132.4541800.4860073
4995.9199263.3080980.7719764
5994.3852634.4572121.1575245
\n", "
" ], "text/plain": [ " dotS dotI dotR day\n", "0 999.000000 1.000000 0.000000 0\n", "1 998.534208 1.349201 0.116592 1\n", "2 997.906105 1.819995 0.273899 2\n", "3 997.059813 2.454180 0.486007 3\n", "4 995.919926 3.308098 0.771976 4\n", "5 994.385263 4.457212 1.157524 5" ] }, "execution_count": 105, "metadata": {}, "output_type": "execute_result" } ], "source": [ "observed_data = model.get_observed_data()\n", "observed_data.head(6)" ] }, { "cell_type": "markdown", "id": "8151d66c-e478-40c3-858e-a48b542e41b9", "metadata": {}, "source": [ "Let's view the trajectory of infected individuals over time in days." ] }, { "cell_type": "code", "execution_count": 106, "id": "7e6e0791-4e30-44a6-9deb-4b7312c860d4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 106, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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kZGKjIzUY489pjlz5sjpdOrIkSP62c9+pqSkJKWnp0uSrrnmGs2YMUMLFizQunXrdPbsWS1ZskR33303K7cAAIAPm2Fc9LjeXrRr1y7dfPPN32jPyMjQ2rVrdeedd+rAgQOqq6tTfHy8pk+frscff1xxcXHefWtra7VkyRK9/vrr6tevn+bMmaPnnntOERER7a7D4/HI4XCovr6eoS4AAAJER/9+mxp6/AWhBwCAwNPRv98BNacHAACgswg9AADAEgg9AADAEgg9AADAEgg9AADAEgg9AADAEgg9AADAEgg9AADAEvz6KesA0JcddTfoeG2ThkeFKzE63OxygD6P0AMAvayuqUXL8otVWOL2tqUlxyhv7ng5woJNrAzo2xjeAoBetiy/WLtLq33adpdWa2n+AZMqAqyB0AMAveiou0GFJW61XvTYw1bDUGGJW2XVjSZVBvR9hB4A6EXHa5va3H6shtAD9BRCDwD0omGRYW1uHx7FhGagpxB6AKAXjYiJUFpyjIJsNp/2IJtNackxrOICehChBwB6Wd7c8ZqcFO3TNjkpWnlzx5tUEWANLFkHgF7mCAvWxsyJKqtu1LGaRu7TA/QSQg8AmCQxmrAD9CaGtwAAgCUQegAAgCUQegAAgCUQegAAgCUQegAAgCUQegAAgCUQegAAgCUQegAAgCUQegAAgCUQegAAgCUQegAAgCUQegAAgCXwwFEA6KSj7gYdr23iKelAgDC1p6ewsFC333674uPjZbPZ9Oqrr/psNwxDjzzyiAYPHqyrrrpK06ZNU0lJic8+tbW1uvfee2W32zVo0CBlZmaqoaGhF48CgNXUNbVo3ot7dctvCzR//Ye6+aldmvfiXtU3nTW7NABtMDX0NDY2aty4cXr++ecvuX3NmjV67rnntG7dOu3Zs0fh4eFKT0/XmTNnvPvce++9OnTokLZv365t27apsLBQCxcu7K1DAGBBy/KLtbu02qdtd2m1luYfMKkiAO1hMwzDMLsISbLZbNq6davuvPNOSV/18sTHx+unP/2pHnroIUlSfX294uLitGHDBt1999367LPPlJKSog8//FA33HCDJOmtt97Srbfeqi+++ELx8fGX/K3m5mY1Nzd733s8HiUkJKi+vl52u71nDxRAQDvqbtAtvy247PadD01hqAvoJR6PRw6Ho91/v/12InNZWZkqKio0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UwAAuLyO/v0O+J4eScrOzlZGRoZuuOEGTZw4Uc8++6waGxs1f/58U+vqao8HPSYAAHSfPhF67rrrLrndbj3yyCOqqKjQ9ddfr7feeusbk5sBAIB19Ynhra7qqeEtAADQczr699uSq7cAAID1EHoAAIAlEHoAAIAlEHoAAIAlEHoAAIAlEHoAAIAlEHoAAIAlEHoAAIAl9Ik7MnfVhfszejwekysBAADtdeHvdnvvs0zokXT69GlJUkJCgsmVAACAjjp9+rQcDscV9+MxFPrqqewnT57UwIEDZbPZuu17PR6PEhISdOLECR5v0QGct87hvHUc56xzOG+dw3nrnLbOm2EYOn36tOLj49Wv35Vn7NDTI6lfv34aMmRIj32/3W7nAu8EzlvncN46jnPWOZy3zuG8dc7lzlt7enguYCIzAACwBEIPAACwBEJPDwoNDdWjjz6q0NBQs0sJKJy3zuG8dRznrHM4b53Deeuc7jxvTGQGAACWQE8PAACwBEIPAACwBEIPAACwBEIPAACwBEJPD3r++ec1fPhwDRgwQKmpqdq7d6/ZJfm1X/3qV7LZbD6v0aNHm12WXyksLNTtt9+u+Ph42Ww2vfrqqz7bDcPQI488osGDB+uqq67StGnTVFJSYk6xfuRK5+3+++//xrU3Y8YMc4r1E7m5ubrxxhs1cOBAxcbG6s4779Thw4d99jlz5oyysrIUFRWliIgIzZkzR5WVlSZV7B/ac96mTJnyjett0aJFJlXsH9auXauxY8d6b0Docrn05ptverd317VG6Okhf/jDH5Sdna1HH31U+/fv17hx45Senq6qqiqzS/Nr1157rU6dOuV9/fnPfza7JL/S2NiocePG6fnnn7/k9jVr1ui5557TunXrtGfPHoWHhys9PV1nzpzp5Ur9y5XOmyTNmDHD59rLz8/vxQr9T0FBgbKysvTBBx9o+/btOnv2rKZPn67GxkbvPsuXL9frr7+uLVu2qKCgQCdPntTs2bNNrNp87TlvkrRgwQKf623NmjUmVewfhgwZotWrV2vfvn366KOPdMstt+iOO+7QoUOHJHXjtWagR0ycONHIysryvm9tbTXi4+ON3NxcE6vyb48++qgxbtw4s8sIGJKMrVu3et+fP3/ecDqdxpNPPultq6urM0JDQ438/HwTKvRPF583wzCMjIwM44477jClnkBRVVVl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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "observed_data.plot.scatter(\"day\", \"dotI\")" ] }, { "cell_type": "markdown", "id": "07d848d7-ef0e-483f-ba31-10d713116864", "metadata": {}, "source": [ "## Black-Box Optimisation via Bayesian Optimisation\n", "\n", "Next, let's use `calisim` to perform calibration via black-box optimisation using the simulated and observed number of infections. We will apply the `mean squared error` as our loss function, with the aim of minimising the discrepancy between simulated and observed data.\n", "\n", "To start with, we'll need to define our `ParameterSpecification` parameter specification:" ] }, { "cell_type": "code", "execution_count": 107, "id": "ea51de89-24d7-415f-a7ef-1a8c9c1493ef", "metadata": {}, "outputs": [], "source": [ "parameter_spec = ParameterSpecification(\n", "\tparameters=[\n", "\t\tDistributionModel(\n", "\t\t\tname=\"beta\",\n", "\t\t\tdistribution_name=\"uniform\",\n", "\t\t\tdistribution_args=[0.3, 0.5],\n", "\t\t\tdata_type=ParameterDataType.CONTINUOUS,\n", "\t\t),\n", "\t\tDistributionModel(\n", "\t\t\tname=\"gamma\",\n", "\t\t\tdistribution_name=\"uniform\",\n", "\t\t\tdistribution_args=[0.05, 0.15],\n", "\t\t\tdata_type=ParameterDataType.CONTINUOUS,\n", "\t\t),\n", "\t]\n", ")" ] }, { "cell_type": "markdown", "id": "c97665b1-9667-46b5-851d-785b202fd7ab", "metadata": {}, "source": [ "This contains information concerning the various parameter names, probability distributions, ranges, distribution parameters, and data types.\n", "\n", "We next need to define the objective function around our forward model to ensure there's compatibility with the `calisim` API." ] }, { "cell_type": "code", "execution_count": 108, "id": "eb19efc9-4b8e-4305-91da-24a49f402931", "metadata": {}, "outputs": [], "source": [ "def objective(\n", "\tparameters: dict, simulation_id: str, observed_data: np.ndarray | None, t: pd.Series\n", ") -> float | list[float]:\n", " simulation_parameters = model.GROUND_TRUTH.copy()\n", " simulation_parameters[\"t\"] = t\n", " \n", " for k in [\"beta\", \"gamma\"]:\n", " simulation_parameters[k] = parameters[k]\n", " \n", " simulated_data = sir_simulate(simulation_parameters).dotI.values\n", " metric = MeanSquaredError()\n", " discrepancy = metric.calculate(observed_data, simulated_data)\n", " return discrepancy" ] }, { "cell_type": "markdown", "id": "dd242206-8cfd-4fb9-a2fd-1d22fb4b9b55", "metadata": {}, "source": [ "The last step is to create an `OptimisationMethodModel` specification for the calibration procedure itself, which we then supply to an `OptimisationMethod` calibrator. We'll use the `Bayesian Optimisation` method with the `expected improvement` acquisition function via the [Emukit engine](https://emukit.github.io/)." ] }, { "cell_type": "code", "execution_count": 109, "id": "87556257-9750-489c-a758-52b9707a846f", "metadata": {}, "outputs": [], "source": [ "specification = OptimisationMethodModel(\n", "\texperiment_name=\"emukit_optimisation\",\n", "\tparameter_spec=parameter_spec,\n", "\tobserved_data=observed_data.dotI.values,\n", "\tacquisition_func=\"ei\",\n", "\tn_init=20,\n", "\tn_iterations=25,\n", "\tn_samples=100,\n", "\tdirections=[\"minimize\"],\n", "\toutput_labels=[\"Number of Infected\"],\n", "\tmethod_kwargs=dict(noise_var=1e-4),\n", " calibration_func_kwargs=dict(t=observed_data.day),\n", ")\n", "\n", "calibrator = OptimisationMethod(\n", "\tcalibration_func=objective, specification=specification, engine=\"emukit\"\n", ")" ] }, { "cell_type": "markdown", "id": "75479309-257a-4ab1-8e3e-74d3032593c9", "metadata": {}, "source": [ "Finally, we'll run the calibration procedure. This is composed of 3 steps:\n", "\n", "1. **Specify**: Define your calibration problem: Parameter distributions, observed data, objective/discrepancy function, and calibration settings (like algorithm, directions, iterations)\n", "2. **Execute**: Run the actual calibration process (simulation + optimization/inference)\n", "3. **Analyze**: Process, summarize, and optionally save plots/metrics of the calibration results\n", "\n", "Or **SEA**." ] }, { "cell_type": "code", "execution_count": 110, "id": "58cbdf66-9aee-4e95-af09-3b1e4699daed", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 110, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAASmCAYAAAD/KRjlAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABrn0lEQVR4nOzdeZRcZZ0//k91V3dV9gDdSYiGEBFZFDdw+DKyyBBlE1xwMBoQRiRucUEHFX/K4qgMi4igIzIuoEaH0S8yyoxgFDUuTFicyHcQEZFNnYTEkDQJdKc7Xb8/um91miQMS1XdW/e+XufUOem6t6ueajyn+7x9P5+nVKvVagEAAAAALdSR9gIAAAAAKB6hFAAAAAAtJ5QCAAAAoOWEUgAAAAC0nFAKAAAAgJYTSgEAAADQckIpAAAAAFpOKAUAAABAywmlAAAAAGg5oRQA0PauuOKKKJVKce+99zbsNc8+++wolUoNe72sv++9994bpVIpLrzwwv/13rTWCADki1AKAGi422+/PU444YR4xjOeEZVKJWbPnh0LFy6M22+//Wm97ic/+cm45pprGrPIFD3yyCNx9tlnx09+8pO0l9Iyf/7zn+Pss8+OFStWpL0UACAjSrVarZb2IgCA/Lj66qvjDW94Q+y4445xyimnxLx58+Lee++NL33pS/GXv/wl/uVf/iVe85rXPKXXnjx5crzuda+LK664YtzzmzdvjsHBwahUKg1r8AwNDcXQ0FBUq9WGvN6W1qxZE729vXHWWWfF2Wef3bL3fTz33ntvzJs3Ly644IL4+7//+8e996ms8ZZbbomXvOQl8ZWvfCVOPvnkp7laACAPymkvAADIj7vvvjtOPPHEeNaznhXLli2L3t7e+rX3vOc9cdBBB8WJJ54Yt912WzzrWc9q2Pt2dnZGZ2dnw14vIqJcLke53Po/ldJ63ycjS2vcuHFjTJo0Ke1lAABPge17AEDDXHDBBfHII4/E5ZdfPi6Qiojo6emJL3zhC7Fx48Y4//zz688n84l++9vfxvHHHx9Tp06NnXbaKd7znvdEf39//b5SqRQbN26MK6+8MkqlUpRKpXrjZlszpXbdddd45StfGT/5yU9iv/32iwkTJsQ+++xT3zJ39dVXxz777BPVajX23Xff+K//+q9x693W3KSlS5fGgQceGNOnT4/JkyfHHnvsER/+8Ifr1zdt2hRnnnlm7LvvvjFt2rSYNGlSHHTQQfHjH/+4fs+9995b/9mcc8459c+SNKa29b5DQ0PxD//wD7HbbrtFpVKJXXfdNT784Q/HwMDAuPuSz/zzn/88/uqv/iqq1Wo861nPiq9+9avb+0+2TZdffnn9vV7ykpfEzTff/LR+Nj/5yU/iJS95SURE/N3f/V39M2/ZePvWt74V++67b0yYMCF6enrihBNOiD/96U/j3uPkk0+OyZMnx9133x1HHXVUTJkyJRYuXBhnnXVWdHV1xerVq7f6LIsWLYrp06eP+98SAJANQikAoGG+973vxa677hoHHXTQNq8ffPDBseuuu8a///u/b3Xt+OOPj/7+/jj33HPjqKOOiksuuSQWLVpUv/61r30tKpVKHHTQQfG1r30tvva1r8Vb3/rWx13P73//+3jjG98YxxxzTJx77rnx0EMPxTHHHBNLliyJ0047LU444YQ455xz4u67747jjz8+hoeHt/tat99+e7zyla+MgYGB+NjHPhaf+tSn4thjj41f/OIX9Xv6+vrii1/8YrzsZS+L8847L84+++xYvXp1HH744fVZSr29vfH5z38+IiJe85rX1D/La1/72u2+91ve8pY488wz48UvfnF8+tOfjkMOOSTOPffcWLBgwTY/8+te97p4+ctfHp/61Kdihx12iJNPPvkJz/P6xje+ERdccEG89a1vjY9//ONx7733xmtf+9oYHBx8yj+bvfbaKz72sY9FxEhIlHzmgw8+OCJGQsXjjz8+Ojs749xzz41TTz01rr766jjwwANj3bp1495raGgoDj/88JgxY0ZceOGFcdxxx8WJJ54YQ0NDcdVVV427d9OmTfHtb387jjvuuJZvhwQAnoAaAEADrFu3rhYRtVe96lWPe9+xxx5bi4haX19frVar1c4666xaRNSOPfbYcfe94x3vqEVE7de//nX9uUmTJtVOOumkrV7zK1/5Si0iavfcc0/9ublz59YiovbLX/6y/tz1119fi4jahAkTavfdd1/9+S984Qu1iKj9+Mc/rj+XrCvx6U9/uhYRtdWrV2/3sw0NDdUGBgbGPffQQw/VZs6cWXvzm99cf2716tW1iKidddZZW73GY993xYoVtYioveUtbxl339///d/XIqJ2ww03bPWZly1bVn/uwQcfrFUqldr73//+7a67VqvV7rnnnlpE1Hbaaafa2rVr68//27/9Wy0iat/73ve2u8Yn8rO5+eabaxFR+8pXvjLu+U2bNtVmzJhRe97znld79NFH689fe+21tYionXnmmfXnTjrppFpE1D70oQ9t9foHHHBAbf/99x/33NVXX73Vf1cAIDs0pQCAhnj44YcjImLKlCmPe19yva+vb9zz73znO8d9/a53vSsiIv7jP/7jKa9p7733jgMOOKD+9f777x8REX/zN38Tu+yyy1bP/+EPf9jua02fPj0iIv7t3/5tu42qzs7O6O7ujoiI4eHhWLt2bQwNDcV+++0Xv/rVr57SZ0g+//ve975xz7///e+PiNiqdbb33nuPa6r19vbGHnvs8bifbUuvf/3rY4cddqh/nbzW0/3ZbM8tt9wSDz74YLzjHe8Y12Y6+uijY88999xmq+7tb3/7Vs+96U1viuXLl8fdd99df27JkiUxZ86cOOSQQ57UmgCA1hBKAQANkYRNSTi1PdsLr3bfffdxX++2227R0dExbk7Uk7Vl8BQRMW3atIiImDNnzjaff+ihh7b7Wq9//evjpS99abzlLW+JmTNnxoIFC+Jf//Vftwphrrzyynj+858f1Wo1dtppp+jt7Y1///d/j/Xr1z+lz3DfffdFR0dHPPvZzx73/KxZs2L69Olx3333jXv+sZ85ImKHHXZ43M/2eN+fBFSN+NlsS7L+PfbYY6tre+6551afr1wuxzOf+cxtrqFSqcSSJUsiImL9+vVx7bXXxsKFCxt2IiMA0FhCKQCgIaZNmxY777xz3HbbbY9732233RbPeMYzYurUqY97XyOChO2dyLe952u12nZfa8KECbFs2bL44Q9/WD9B8PWvf328/OUvj82bN0dExNe//vU4+eSTY7fddosvfelLcd1118XSpUvjb/7mb550g+ixnujP46l8tqf7/U/kZ9MolUolOjq2/hN2hx12iFe+8pX1UOrb3/52DAwMxAknnNDQ9wcAGkcoBQA0zCtf+cq455574uc///k2r//sZz+Le++9N175yldude2uu+4a9/Xvf//7GB4ejl133bX+XNqNl46OjjjssMPioosuit/85jfxiU98Im644Yb66Xrf/va341nPelZcffXVceKJJ8bhhx8e8+fP3+rktyfzOebOnRvDw8Nb/XxWrVoV69ati7lz5z79D9YA/9vPZnufOVn/nXfeudW1O++880l9vje96U3xu9/9Lm6++eZYsmRJvOhFL4rnPve5T+HTAACtIJQCABrm9NNPjwkTJsRb3/rW+Mtf/jLu2tq1a+Ntb3tbTJw4MU4//fStvvdzn/vcuK8vvfTSiIg48sgj689NmjRpq9PYWmXt2rVbPffCF74wIiIGBgYiYqxltGWraPny5XHjjTeO+76JEydGRDyhz3LUUUdFRMTFF1887vmLLrooIkZmL6XtifxsJk2aFBFbf+b99tsvZsyYEZdddln93oiI73//+3HHHXc8qc935JFHRk9PT5x33nnx05/+VEsKADKunPYCAID82H333ePKK6+MhQsXxj777BOnnHJKzJs3L+6999740pe+FGvWrIlvfvObsdtuu231vffcc08ce+yxccQRR8SNN94YX//61+ONb3xjvOAFL6jfs++++8YPf/jDuOiii2L27Nkxb968+pDyZvvYxz4Wy5Yti6OPPjrmzp0bDz74YPzTP/1TPPOZz4wDDzwwIkaaYldffXW85jWviaOPPjruueeeuOyyy2LvvfeODRs21F9rwoQJsffee8dVV10Vz3nOc2LHHXeM5z3vefG85z1vq/d9wQteECeddFJcfvnlsW7dujjkkEPipptuiiuvvDJe/epXx6GHHtqSz/94nsjPZrfddovp06fHZZddFlOmTIlJkybF/vvvH/PmzYvzzjsv/u7v/i4OOeSQeMMb3hCrVq2Kz3zmM7HrrrvGaaed9oTX0dXVFQsWLIjPfvaz0dnZGW94wxua9ZEBgAYQSgEADfW3f/u3seeee8a5555bD6J22mmnOPTQQ+PDH/7wNoOXiIirrroqzjzzzPjQhz4U5XI5Fi9eHBdccMG4ey666KJYtGhRfOQjH4lHH300TjrppJaFUscee2zce++98eUvfznWrFkTPT09ccghh8Q555xTH5R+8sknx8qVK+MLX/hCXH/99bH33nvH17/+9fjWt74VP/nJT8a93he/+MV417veFaeddlps2rQpzjrrrO3+bL74xS/Gs571rLjiiiviO9/5TsyaNSvOOOOMOOuss5r9sZ+QJ/Kz6erqiiuvvDLOOOOMeNvb3hZDQ0Pxla98JebNmxcnn3xyTJw4Mf7xH/8xPvjBD8akSZPiNa95TZx33nn1k/2eqDe96U3x2c9+Ng477LDYeeedm/BpAYBG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AACtIpQidT227wEAAEDhCKVIXe9koRQAAAAUjVCK1PVOGTl9z0wpAAAAKA6hFKnr2aIpVavVUl4NAAAA0ApCKVKXhFL9g8OxcdPmlFcDAAAAtIJQitRNqpRjYndnRESssYUPAAAACkEoRSYkbanVhp0DAABAIQilyISeySPDzjWlAAAAoBiEUmRC75SxYecAAABA/gmlyIT69j1NKQAAACgEoRSZMDZTalPKKwEAAABaQShFJti+BwAAAMUilCITkqaUUAoAAACKQShFJvROGTl9z0wpAAAAKAahFJmwZVOqVqulvBoAAACg2YRSZEISSvUPDsfGTZtTXg0AAADQbEIpMmFSpRwTuzsjwhY+AAAAKAKhFJlh2DkAAAAUh1CKzOidMhpKaUoBAABA7gmlyIyeySMn8GlKAQAAQP4JpciMZPuemVIAAACQf0IpMqMeSm3YlPJKAAAAgGYTSpEZ9ZlStu8BAABA7j3pUGrZsmVxzDHHxOzZs6NUKsU111xTvzY4OBgf/OAHY5999olJkybF7Nmz401velP8+c9/Hvcaa9eujYULF8bUqVNj+vTpccopp8SGDRvG3XPbbbfFQQcdFNVqNebMmRPnn3/+U/uEtA3b9wAAAKA4nnQotXHjxnjBC14Qn/vc57a69sgjj8SvfvWr+OhHPxq/+tWv4uqrr44777wzjj322HH3LVy4MG6//fZYunRpXHvttbFs2bJYtGhR/XpfX1+84hWviLlz58att94aF1xwQZx99tlx+eWXP4WPSLvonWLQOQAAABRFqVar1Z7yN5dK8Z3vfCde/epXb/eem2++Of7qr/4q7rvvvthll13ijjvuiL333jtuvvnm2G+//SIi4rrrroujjjoq/vjHP8bs2bPj85//fPx//9//FytXrozu7pGg4kMf+lBcc8018dvf/vYJra2vry+mTZsW69evj6lTpz7Vj0gL3f+XR+LgC34c1a6OuONjR0SpVEp7SQAAAMCT9EQzmabPlFq/fn2USqWYPn16RETceOONMX369HogFRExf/786OjoiOXLl9fvOfjgg+uBVETE4YcfHnfeeWc89NBDzV4yKekZbUr1Dw7Hxk2bU14NAAAA0ExNDaX6+/vjgx/8YLzhDW+oJ2MrV66MGTNmjLuvXC7HjjvuGCtXrqzfM3PmzHH3JF8n9zzWwMBA9PX1jXvQ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/drXlgIAIG1CKQAoiOpoUypCKAUAQPqEUgBQEF2dpSiVRv49YNg5AAApE0oBQEGUSqV6W0pTCgCAtDU8lNq8eXN89KMfjXnz5sWECRNit912i3/4h38YN1C1VqvFmWeeGTvvvHNMmDAh5s+fH3fddde411m7dm0sXLgwpk6dGtOnT49TTjklNmzY0OjlAkChVOon8GlKAQCQroaHUuedd158/vOfj89+9rNxxx13xHnnnRfnn39+XHrppfV7zj///Ljkkkvisssui+XLl8ekSZPi8MMPj/7+/vo9CxcujNtvvz2WLl0a1157bSxbtiwWLVrU6OUCQKFUyiO/+vsHNaUAAEhXudEv+Mtf/jJe9apXxdFHHx0REbvuumt885vfjJtuuikiRlpSF198cXzkIx+JV73qVRER8dWvfjVmzpwZ11xzTSxYsCDuuOOOuO666+Lmm2+O/fbbLyIiLr300jjqqKPiwgsvjNmzZzd62QBQCNWuZPuephQAAOlqeFPqr//6r+NHP/pR/O53v4uIiF//+tfx85//PI488siIiLjnnnti5cqVMX/+/Pr3TJs2Lfbff/+48cYbIyLixhtvjOnTp9cDqYiI+fPnR0dHRyxfvrzRSwaAwtCUAgAgKxrelPrQhz4UfX19seeee0ZnZ2ds3rw5PvGJT8TChQsjImLlypURETFz5sxx3zdz5sz6tZUrV8aMGTPGL7Rcjh133LF+z2MNDAzEwMBA/eu+vr6GfSYAyAtNKQAAsqLhTal//dd/jSVLlsQ3vvGN+NWvfhVXXnllXHjhhXHllVc2+q3GOffcc2PatGn1x5w5c5r6fgDQjpKm1ICmFAAAKWt4KHX66afHhz70oViwYEHss88+ceKJJ8Zpp50W5557bkREzJo1KyIiVq1aNe77Vq1aVb82a9asePDBB8ddHxoairVr19bveawzzjgj1q9fX3888MADjf5oAND2KuWRplS/phQAAClreCj1yCOPREfH+Jft7OyM4eGR/0d23rx5MWvWrPjRj35Uv97X1xfLly+PAw44ICIiDjjggFi3bl3ceuut9XtuuOGGGB4ejv3333+b71upVGLq1KnjHgDAeNUuTSkAALKh4TOljjnmmPjEJz4Ru+yySzz3uc+N//qv/4qLLroo3vzmN0dERKlUive+973x8Y9/PHbfffeYN29efPSjH43Z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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "calibrator.specify().execute().analyze()" ] }, { "cell_type": "code", "execution_count": 111, "id": "7677a4e5-684a-4137-b17b-380b7979617d", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
parameterestimateground truth
0beta0.3980690.4
1gamma0.1081880.1
\n", "
" ], "text/plain": [ " parameter estimate ground truth\n", "0 beta 0.398069 0.4\n", "1 gamma 0.108188 0.1" ] }, "execution_count": 111, "metadata": {}, "output_type": "execute_result" } ], "source": [ "emukit_results = pd.DataFrame([\n", " { \"parameter\": estimate.name, \"estimate\": estimate.estimate, \"ground truth\": model.GROUND_TRUTH[estimate.name] }\n", " for estimate in calibrator.get_parameter_estimates().estimates\n", "])\n", "emukit_results" ] }, { "cell_type": "markdown", "id": "c2e84822-792a-47d6-99b5-b9ed02846d70", "metadata": {}, "source": [ "The optimiser is able to retrieve the ground-truth parameter values from our simulation study.\n", "\n", "## Black-Box Optimisation via Efficient Global Optimisation\n", "\n", "Again, let's use `calisim` to perform calibration via black-box optimisation using the simulated and observed number of infections. Rather than performing using Bayesian optimisation via a Gaussian process surrogate model using `EmuKit`, let's perform Efficient Global Optimisation using a Kriging surrogate via `OpenTurns`. \n", "\n", "We can reuse the parameter specification and objective function, but we'll need to create a new `OptimisationMethodModel` specification and `OptimisationMethod` calibrator:" ] }, { "cell_type": "code", "execution_count": 112, "id": "0203f7f8-8e6e-4566-b622-d92f39386c19", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 112, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/YAAARTCAYAAADBbriHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACJGElEQVR4nOzde3TcZZ0/8HcymUlngFBubUFKKZcVqiAXV4kXRIWWq6jsegEBFS9gUYEVXfanCLiKiyLeEF1FirvgAgruCgotRUSgCIIVAZcVFhYVCiKXAuklbfL7oyQSCjRp08x8Z16vc3rIfOebmc/kyTmcd57P8zxt/f39/QEAAAAKqb3eBQAAAACrT7AHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHgDUwa9astLW15d57722Z9z7ppJPS1tY2pu85oK2tLUcfffQq76vnuADAWBPsAWgqt99+e971rnflRS96UTo7O7PZZpvlkEMOye23375Gr/u5z30uP/rRj0anSBpST09PTjrppFx99dX1LgUARkSwB6BpXHzxxdlll10yd+7cvOc978k3vvGNHHHEEfnZz36WXXbZJZdccslqv/bzBftDDz00ixYtypQpU9agckbb6oxLT09PTj75ZMEegMLpqHcBADAa7r777hx66KHZaqutcs0112STTTYZfO6jH/1oXvva1+bQQw/Nrbfemq222mrU3rdUKqVUKo3a6zE6Gmlcnnrqqayzzjr1LgOAJmbGHoCm8IUvfCE9PT3513/91yGhPkk23njjfOtb38pTTz2V0047bfD6wFrx//7v/87b3va2dHV1ZaONNspHP/rRLF68ePC+tra2PPXUUzn33HPT1taWtra2vPvd707y3Gu5t9xyy+y///65+uqr8/KXvzzVajU77LDD4EzwxRdfnB122CHjxo3Lrrvuml//+tdD6r311lvz7ne/O1tttVXGjRuXSZMm5b3vfW/+8pe/jPjn8sUvfjFtbW35v//7v5WeO+GEE1KpVPLoo48mSX7xi1/k7//+77PFFluks7MzkydPzrHHHptFixa94Hvce++9aWtry6xZs1Z6rq2tLSeddNKQa3/605/y3ve+NxMnTkxnZ2de8pKX5Lvf/e6IPtePfvSjvPSlLx38/ssvv3zI8881Lr/61a8yY8aMbLzxxqlWq5k6dWre+973Dn6Ggd+bk08+eXCcn1n7VVddlde+9rVZZ511Mn78+Bx44IH53e9+N+R9B36n7rjjjhx88MHZYIMN8prXvCbnnHNO2traVhrrZEU3SKlUyp/+9KcR/QwAYIAZewCawo9//ONsueWWee1rX/ucz+++++7Zcsstc9lll6303Nve9rZsueWWOfXUU3PDDTfkq1/9ah599NF873vfS5L827/9W973vvflFa94RT7wgQ8kSbbeeusXrOeuu+7KwQcfnA9+8IN517velS9+8Ys54IAD8s1vfjP/9E//lA996ENJklNPPTVve9vbcuedd6a9fcXf2+fMmZP//d//zXve855MmjQpt99+e/71X/81t99+e2644YYRbVz3tre9LR//+Mdz4YUX5vjjjx/y3IUXXpjp06dngw02SJJcdNFF6enpyVFHHZWNNtooN954Y772ta/lj3/8Yy666KJhv+cLefDBB7PbbrsNboK3ySab5Kc//WmOOOKILFy4MMccc8wqX+Paa6/NxRdfnA996ENZb7318tWvfjUHHXRQ7rvvvmy00UbP+T0PPfRQpk+fnk022ST/+I//mPHjx+fee+/NxRdfnCTZZJNNctZZZ+Woo47KW97ylrz1rW9Nkuy4445JkiuvvDL77LNPttpqq5x00klZtGhRvva1r+XVr351brnllmy55ZZD3u/v//7vs+222+Zzn/tc+vv783d/93eZOXNmzjvvvOy8885D7j3vvPOyxx575EUvetEIf5oA8LR+ACi4xx57rD9J/4EHHviC973pTW/qT9K/cOHC/v7+/v5Pf/rT/Un63/SmNw2570Mf+lB/kv7f/OY3g9fWWWed/sMPP3yl1zznnHP6k/Tfc889g9emTJnSn6T/+uuvH7x2xRVX9Cfpr1ar/f/3f/83eP1b3/pWf5L+n/3sZ4PXenp6Vnqf73//+/1J+q+55poXfO/n0t3d3b/rrrsOuXbjjTf2J+n/3ve+94Lve+qpp/a3tbUNqXng5zbgnnvu6U/Sf84556z0/Un6P/3pTw8+PuKII/o33XTT/ocffnjIfe94xzv6119//ees4dmvV6lU+u+6667Ba7/5zW/6k/R/7WtfG7z27J/NJZdc0p+k/6abbnre1/7zn/+8Ur0Ddtppp/4JEyb0/+Uvfxnyvu3t7f2HHXbY4LWBn8073/nOlV7jne98Z/9mm23Wv3z58sFrt9xyy/P+7ABguLTiA1B4TzzxRJJkvfXWe8H7Bp5fuHDhkOszZ84c8vjDH/5wkuQnP/nJatc0bdq0dHd3Dz5+5StfmSR5wxvekC222GKl6//7v/87eK1arQ5+vXjx4jz88MPZbbfdkiS33HLLiGt5+9vfnptvvjl333334LULLrggnZ2dOfDAA5/zfZ966qk8/PDDedWrXpX+/v7nbCEfqf7+/vzwhz/MAQcckP7+/jz88MOD/2bMmJHHH398WJ9vzz33HNIxseOOO6arq2vIz/DZxo8fnyS59NJL09vbO6K6H3jggcyfPz/vfve7s+GGGw5537322us5f0+OPPLIla4ddthhuf/++/Ozn/1s8Np5552XarWagw46aEQ1AcAzCfYAFN5AYB8I+M/n+f4AsO222w55vPXWW6e9vX2NzkB/ZnhPkvXXXz9JMnny5Oe8PrDOPUkeeeSRfPSjH83EiRNTrVazySabZOrUqUmSxx9/fMS1/P3f/33a29tzwQUXJFkRsC+66KLss88+6erqGrzvvvvuGwyv6667bjbZZJO87nWvW+33fbY///nPeeyxxwb3QXjmv/e85z1JVrTMr8qzf7ZJssEGGwz5GT7b6173uhx00EE5+eSTs/HGG+fAAw/MOeeckyVLlqzy/Qb2J3jxi1+80nPbb799Hn744Tz11FNDrg+M1zPttdde2XTTTXPeeeclSfr6+vL9738/Bx544Cr/KAUAL8QaewAKb/3118+mm26aW2+99QXvu/XWW/OiF71oSJh9LiNZw/58nm9H9ue73t/fP/j12972tlx//fU5/vjjs9NOO2XddddNX19f9t577/T19Y24ls022yyvfe1rc+GFF+af/umfcsMNN+S+++7Lv/zLvwzes3z58uy111555JFH8olPfCLbbbdd1llnnfzpT3/Ku9/97hd83+f7eS1fvnzI44HXeNe73pXDDz/8Ob9nYE37CxnOz/C5avzBD36QG264IT/+8Y9zxRVX5L3vfW9OP/303HDDDVl33XVX+b4j8czuhwGlUikHH3xwvv3tb+cb3/hGrrvuutx///1517veNarvDUDrEewBaAr7779/vv3tb+faa6/Na17zmpWe/8UvfpF77703H/zgB1d67ve///2QGda77rorfX19QzZEG42wPxyPPvpo5s6dm5NPPjknnnjikBrXxNvf/vZ86EMfyp133pkLLrggtVotBxxwwODzv/3tb/M///M/Offcc3PYYYcNXp8zZ84qX3tg873HHntsyPVn78S/ySabZL311svy5cuz5557rsGnWX277bZbdtttt3z2s5/N+eefn0MOOST/8R//kfe9733PO8ZTpkxJktx5550rPfff//3f2XjjjYd9nN1hhx2W008/PT/+8Y/z05/+NJtssklmzJix+h8IAKIVH4Amcfzxx6dareaDH/zgSsfCPfLIIznyyCNTq9VW2hk+Sc4888whj7/2ta8lSfbZZ5/Ba+uss85KwXVtGJiNfvbs85e//OU1et2DDjoopVIp3//+93PRRRdl//33HxJGn+t9+/v785WvfGWVr93V1ZWNN94411xzzZDr3/jGN4Y8LpVKOeigg/LDH/4wt91220qv8+c//3lEn2kkHn300ZV+pjvttFOSDLbj12q1JCv/gWLTTTfNTjvtlHPPPXfIc7fddltmz56dfffdd9h17Ljjjtlxxx3zne98Jz/84Q/zjne8Ix0d5lkAWDP+TwJAU9h2221z7rnn5pBDDskOO+yQI444IlOnTs29996bs88+Ow8//HC+//3vP+cxdffcc0/e9KY3Ze+99868efPy7//+7zn44IPzspe9bPCeXXfdNVdeeWW+9KUvZbPNNsvUqVMHN74bTV1dXdl9991z2mmnpbe3Ny960Ysye/bs3HPPPWv0uhMmTMjrX//6fOlLX8oTTzyRt7/97UOe32677bL11lvnYx/7WP70pz+lq6srP/zhD19w3fozve9978vnP//5vO9978vLX/7yXHPNNfmf//mfle77/Oc/n5/97Gd55Stfmfe///2ZNm1aHnnkkdxyyy258sor88gjj6zR53w+5557br7xjW/kLW95S7beeus88cQT+fa3v52urq7BYF6tVjNt2rRccMEF+Zu/+ZtsuOGGeelLX5qXvvSl+cIXvpB99tkn3d3dOeKIIwaPu1t//fWHnHU/HIcddlg+9rGPJYk2fABGhRl7AJrG3//93+fmm2/OHnvskbPPPjtHHnlkvv3tb+d1r3tdbr755sGzyZ9tYIf4f/zHf8xll12Wo48+OmefffaQe770pS9l1113zSc/+cm8853vzFlnnbXWPsf555+fGTNm5Mwzz8wJJ5yQcrmcn/70p2v8um9/+9vzxBNPZL311ltplrlcLufHP/5xdtppp5x66qk5+eSTs+222+Z73/vesF77xBNPzBFHHJEf/OAH+fjHP57ly5c/Z80TJ07MjTfemPe85z25+OKLc/TRR+crX/lKHnnkkSFr/kfb6173urz85S/Pf/zHf+QjH/lITjvttGy77ba56qqrhizD+M53vpMXvehFOfbYY/POd74zP/jBD5Ks2In/8ssvz0YbbZQTTzwxX/ziF7Pbbrvluuuue86N8l7IIYccklKplL/5m7/JK17xilH9nAC0prb+F9ppBgCa2EknnZSTTz45f/7zn7PxxhvXuxxaxMMPP5xNN900J554Yj71qU/VuxwAmoAZewCAMTRr1qwsX748hx56aL1LAaBJWGMPADAGrrrqqtxxxx357Gc/mze/+c1DTl0AgDUh2AMAjIFTTjkl119/fV796lcPnrwAAKPBGnsAAAAoMGvsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAhPsAQAAoMAEewAAACgwwR4AAAAKTLAHAACAAuuodwFF0NfXl/vvvz/rrbde2tra6l0OAAAATa6/vz9PPPFENttss7S3v/CcvGA/DPfff38mT55c7zIAAABoMX/4wx+y+eabv+A9gv0wrLfeeklW/EC7urrqXM0L6+3tzezZszN9+vSUy+V6l8NzMEbFYJyKwTg1PmNUDMapGIxT4zNGxVCUcVq4cGEmT548mEdfiGA/DAPt911dXYUI9rVaLV1dXQ39S9rKjFExGKdiME6NzxgVg3EqBuPU+IxRMRRtnIazHNzmeQAAAFBggj0AAAAUmGAPAAAABWaNPQAAwBro7+9Pb29vFi9enHK5nJ6enkKs3W5Vvb29DTNOnZ2dKZVKa/w6gj0AAMBqWrJkSe699948+eSTSZKJEyfmrrvuqnNVrEqjjFNbW1u22WabNd6kXbAHAABYDX19fbnjjjvS0dGRqVOnprOzc1g7mEOy4vfngQceyF133ZVtt90266677mr//gj2AAAAq2Hx4sXp6+vL1KlTs+6669a7HApo0003zcKFC/PDH/4wL3vZy7LTTjutVri3eR4AAMAaaG8Xq1g9A787vb29ueqqq3Lbbbet3uuMZlEAAADAyGy44YZZvnx5fv/736/W9wv2AAAAjJott9wyX/7yl5viffbYY48cc8wxa/U9BnR2duaJJ55Yre8V7AEAABixWbNmZfz48Stdv+mmm/KBD3xg7AtqYTbPAwAAYNRssskm9S6h5ZixBwAAaDFLlizJRz7ykUyYMCHjxo3La17zmtx0002Dz1999dVpa2vLZZddlh133DHjxo3LbrvtNri529VXX533vOc9efzxx9PW1pa2tracdNJJSVZukW9ra8u3vvWt7L///qnVatl+++0zb9683HXXXdljjz2yzjrr5FWvelXuvvvuwe+5++67c+CBB2bixIlZd91187d/+7e58sorh/35Zs+enXHjxuWxxx4bcv2jH/1o3vCGNyRJ/vKXv+Sd73xnXvSiF6VWq2WHHXbI97///Rd83ba2tvzoRz8acm38+PGZNWvW4OM//OEPedvb3pbx48dnww03zIEHHph777132LWvDsEeAACgxXz84x/PD3/4w5x77rm55ZZbss0222TGjBl55JFHhtx3/PHH5/TTT89NN92UTTbZJAcccEB6e3vzqle9Kl/+8pfT1dWVBx54IA888EA+9rGPPe/7feYzn8lhhx2W+fPnZ7vttsvBBx+cD37wgznhhBPyq1/9Kv39/Tn66KMH73/yySez7777Zu7cufn1r3+dvffeOwcccEDuu+++YX2+N77xjRk/fnx++MMfDl5bvnx5LrjgghxyyCFJVhxXuOuuu+ayyy7Lbbfdlg984AM59NBDc+ONN47kRzlEb29vZsyYkfXWWy+/+MUvct1112XdddfN3nvvnaVLl672666KVnwAAIBRtGjp8tz95yfH/H233mTdVCulVd731FNP5ayzzsqsWbOyzz77JEm+/e1vZ86cOTn77LNz/PHHD9776U9/OnvttVeS5Nxzz83mm2+eSy65JG9729uy/vrrp62tLZMmTVrle77nPe/J2972tiTJJz7xiXR3d+dTn/pUZsyYkWTFTPp73vOewftf9rKX5WUve9ng48985jO55JJL8l//9V9D/gDwfEqlUt7xjnfk/PPPzxFHHJEkmTt3bh577LEcdNBBSZIXvehFQ/4Y8eEPfzhXXHFFLrzwwrziFa9Y5Xs8lwsuuCB9fX35zne+M3ge/TnnnJPx48fn6quvzvTp01frdVdFsAcAABhFd//5yez/tWvH/H0v/fBr8tIXrb/K++6+++709vbm1a9+9eC1crmcV7ziFfnd73435N7u7u7BrzfccMO8+MUvXume4dhxxx0Hv544cWKSZIcddhhybfHixVm4cGG6urry5JNP5qSTTspll12WBx54IMuWLcuiRYuGPWOfJIccckh222233H///dlss81y3nnnZb/99hvc8G/58uX53Oc+lwsvvDB/+tOfsnTp0ixZsiS1Wm3En2/Ab37zm9x1111Zb731hlxfvHjxkKUGo02wBwAAGEVbb7JuLv3wa+ryvo2qXC4Pfj0wk/1c1/r6+pIkH/vYxzJnzpx88YtfzDbbbJNqtZq/+7u/G1E7+9/+7d9m6623zn/8x3/kqKOOyiWXXDJkLfwXvvCFfOUrX8mXv/zl7LDDDllnnXVyzDHHvOB7tLW1pb+/f8i13t7ewa+ffPLJ7LrrrjnvvPNW+t61uamgYA8AADCKqpXSsGbO62XrrbdOpVLJddddlylTpiRZEU5vuummlc5sv+GGG7LFFlskSR599NH8z//8T7bffvskSaVSyfLly9dKjdddd13e/e535y1veUuSFYF5dTagO+SQQ3Leeedl8803T3t7e/bbb78h73HggQfmXe96V5IVf1T4n//5n0ybNu15X2+TTTbJAw88MPj497//fXp6egYf77LLLrngggsyYcKEdHV1jbje1WXzPAAAgBayzjrr5Kijjsrxxx+fyy+/PHfccUfe//73p6enZ3A9+oBTTjklc+fOzW233ZZ3v/vd2XjjjfPmN785yYrd75988snMnTs3Dz/88JCAu6a23XbbXHzxxZk/f35+85vf5OCDDx6czR+JQw45JLfccks++9nP5u/+7u/S2dk55D3mzJmT66+/Pr/73e/ywQ9+MA8++OALvt4b3vCGfP3rX8+vf/3r/OpXv8qRRx45pPPgkEMOycYbb5wDDzwwv/jFL3LPPffk6quvzkc+8pH88Y9/HHH9wyXYAwAAtJjPf/7zOeigg3LooYdml112yV133ZUrrrgiG2ywwUr3ffSjH82uu+6aBQsW5Mc//nEqlUqS5FWvelWOPPLIvP3tb88mm2yS0047bdTq+9KXvpQNNtggr3rVq3LAAQdkxowZ2WWXXUb8Ottss01e8YpX5NZbbx3cDX/AJz/5yeyyyy6ZMWNG9thjj0yaNGnwjxbP5/TTT8/kyZPz2te+NgcffHA+9rGPDVmTX6vVcs0112SLLbbIW9/61my//fY54ogjsnjx4rU6g68VHwAAoMWMGzcuX/3qV/PVr371Be97zWteM3h2/XM566yzctZZZw259uyW+WevSd9yyy1XurbHHnsMubblllvmqquuGnLPzJkzX/B9ns8vf/nL57y+4YYbrnQm/bNdffXVQx5vttlmueKKK4Zce+yxx4Y8njRpUs4999xh1TZazNgDAABAgQn2AAAAUGBa8QEAABji2a3xNDYz9gAAAFBggj0AAAAUmGAPAACwBlbnfHVIVj4xYHUJ9gAAAKth4Dz3J598ss6VUFRLlixJkixbtmyNXsfmeQAAAKuho6MjG2+8cf70pz8lSdZdd920t5s7ZXj6+vryhz/8IT09PVm+fPkavZZgDwAAsJq22GKLJBkM9zASfX19WbBgQZIVs/frrbfear2OYA8AALCa2traMmXKlNRqtcyePTu///3vs80226SjQ9RqVH19ffnTn/6UF73oRXXtsOjv78+SJUvS19eXhQsXplQqZdttt12t1/LbBgAAsIY22WST7LHHHrnjjjvy0EMPOQO+gfX19eX+++9PkoZYOtHW1pZx48alu7s7L33pS1frNQR7AACAUTBhwoTsuuuuefWrX13vUngBy5Yty89+9rO8/vWvb4jOivb29qyzzjqpVqtpa2tbrdeo/6cAAABoEqVSKRtuuGHK5XK9S+F59Pb2Zr311suECROaZpzq33cAAAAArDbBHgAAAApMsAcAAIACE+wBAACgwAT7JrJk2fK85OQrc9OfV28nRQAAAIpHsG8ilVJ7li3vy9K+elcCAADAWBHsm0hbW1uq5VKWLq93JQAAAIwVwb7JVCslM/YAAAAtRLBvMitm7K2xBwAAaBWCfZOpmbEHAABoKYJ9kxlXLmWJNfYAAAAtQ7BvMrVKKb1m7AEAAFpGXYP9WWedlR133DFdXV3p6upKd3d3fvrTnw4+v8cee6StrW3IvyOPPHLIa9x3333Zb7/9UqvVMmHChBx//PFZtmzZkHuuvvrq7LLLLuns7Mw222yTWbNmjcXHq4tqWSs+AABAK+mo55tvvvnm+fznP59tt902/f39Offcc3PggQfm17/+dV7ykpckSd7//vfnlFNOGfyeWq02+PXy5cuz3377ZdKkSbn++uvzwAMP5LDDDku5XM7nPve5JMk999yT/fbbL0ceeWTOO++8zJ07N+973/uy6aabZsaMGWP7gcdAtaIVHwAAoJXUNdgfcMABQx5/9rOfzVlnnZUbbrhhMNjXarVMmjTpOb9/9uzZueOOO3LllVdm4sSJ2WmnnfKZz3wmn/jEJ3LSSSelUqnkm9/8ZqZOnZrTTz89SbL99tvn2muvzRlnnNGcwb5cytI+u+IDAAC0iroG+2davnx5Lrroojz11FPp7u4evH7eeefl3//93zNp0qQccMAB+dSnPjU4az9v3rzssMMOmThx4uD9M2bMyFFHHZXbb789O++8c+bNm5c999xzyHvNmDEjxxxzzPPWsmTJkixZsmTw8cKFC5Mkvb296e3tHY2Pu9Z0diRL+9LwdbaygbExRo3NOBWDcWp8xqgYjFMxGKfGZ4yKoSjjNJL66h7sf/vb36a7uzuLFy/Ouuuum0suuSTTpk1Lkhx88MGZMmVKNttss9x66635xCc+kTvvvDMXX3xxkmTBggVDQn2SwccLFix4wXsWLlyYRYsWpVqtrlTTqaeempNPPnml67Nnzx6yFKARPfjH9ixd3pY5c+bUuxRWwRgVg3EqBuPU+IxRMRinYjBOjc8YFUOjj1NPT8+w7617sH/xi1+c+fPn5/HHH88PfvCDHH744fn5z3+eadOm5QMf+MDgfTvssEM23XTTvPGNb8zdd9+drbfeeq3VdMIJJ+S4444bfLxw4cJMnjw506dPT1dX11p739Fw19zf55fX/W/22muvlMvlepfDc+jt7c2cOXOMUYMzTsVgnBqfMSoG41QMxqnxGaNiKMo4DXSOD0fdg32lUsk222yTJNl1111z00035Stf+Uq+9a1vrXTvK1/5yiTJXXfdla233jqTJk3KjTfeOOSeBx98MEkG1+VPmjRp8Noz7+nq6nrO2fok6ezsTGdn50rXy+VyQw98kqw7rpyly4tRa6szRsVgnIrBODU+Y1QMxqkYjFPjM0bF0OjjNJLaGu4c+76+viHr259p/vz5SZJNN900SdLd3Z3f/va3eeihhwbvmTNnTrq6ugbb+bu7uzN37twhrzNnzpwh6/ibSbWy4ri7/v7+epcCAADAGKjrjP0JJ5yQffbZJ1tssUWeeOKJnH/++bn66qtzxRVX5O67787555+ffffdNxtttFFuvfXWHHvssdl9992z4447JkmmT5+eadOm5dBDD81pp52WBQsW5JOf/GRmzpw5OON+5JFH5utf/3o+/vGP573vfW+uuuqqXHjhhbnsssvq+dHXmlq5lP60ZemyvlQq9a4GAACAta2uwf6hhx7KYYcdlgceeCDrr79+dtxxx1xxxRXZa6+98oc//CFXXnllvvzlL+epp57K5MmTc9BBB+WTn/zk4PeXSqVceumlOeqoo9Ld3Z111lknhx9++JBz76dOnZrLLrssxx57bL7yla9k8803z3e+852mPOouScaVS0mSnt7lWbfOtQAAALD21TXYn3322c/73OTJk/Pzn/98la8xZcqU/OQnP3nBe/bYY4/8+te/HnF9RVSrrAj2i5Yur3MlAAAAjIWGW2PPmqkOBPvevjpXAgAAwFgQ7JtM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fbniiivG7LM2mhWt+I67AwAAKLqOer755ZdfPuTxrFmzMmHChNx8883ZfffdB6/XarVMmjTpOV9j9uzZueOOO3LllVdm4sSJ2WmnnfKZz3wmn/jEJ3LSSSelUqnkm9/8ZqZOnZrTTz89SbL99tvn2muvzRlnnJEZM2asvQ/YwGqVUp5cItgDAAAUXV2D/bM9/vjjSZINN9xwyPXzzjsv//7v/55JkyblgAMOyKc+9anUarUkybx587LDDjtk4sSJg/fPmDEjRx11VG6//fbsvPPOmTdvXvbcc88hrzljxowcc8wxz1nHkiVLsmTJksHHCxcuTJL09vamt7d3jT/n2jRQ36rqHNfRlj8/sazhP08zGu4YUV/GqRiMU+MzRsVgnIrBODU+Y1QMRRmnkdTXMMG+r68vxxxzTF796lfnpS996eD1gw8+OFOmTMlmm22WW2+9NZ/4xCdy55135uKLL06SLFiwYEioTzL4eMGCBS94z8KFC7No0aJUq9Uhz5166qk5+eSTV6px9uzZg39QaHRz5sx5wecfeqA9C55sy09+8pMxqohnW9UY0RiMUzEYp8ZnjIrBOBWDcWp8xqgYGn2cenp6hn1vwwT7mTNn5rbbbsu111475PoHPvCBwa932GGHbLrppnnjG9+Yu+++O1tvvfVaqeWEE07IcccdN/h44cKFmTx5cqZPn56urq618p6jpbe3N3PmzMlee+2Vcrn8vPfdevmduf+//5x9933NGFZHMvwxor6MUzEYp8ZnjIrBOBWDcWp8xqgYijJOA53jw9EQwf7oo4/OpZdemmuuuSabb775C977yle+Mkly1113Zeutt86kSZNy4403DrnnwQcfTJLBdfmTJk0avPbMe7q6ulaarU+Szs7OdHZ2rnS9XC439MA/06pqXWdcJYt6+wrzeZpRkX6fWplxKgbj1PiMUTEYp2IwTo3PGBVDo4/TSGqr6674/f39Ofroo3PJJZfkqquuytSpU1f5PfPnz0+SbLrppkmS7u7u/Pa3v81DDz00eM+cOXPS1dWVadOmDd4zd+7cIa8zZ86cdHd3j9InKZ5apeQcewAAgCZQ12A/c+bM/Pu//3vOP//8rLfeelmwYEEWLFiQRYsWJUnuvvvufOYzn8nNN9+ce++9N//1X/+Vww47LLvvvnt23HHHJMn06dMzbdq0HHroofnNb36T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zElXV1emTZs2eM8zX2PgnoHXYIVapZTFvX31LgMAAIARqOuM/cyZM3P++efnP//zP7PeeusNrolff/31U61Ws/766+eII47Icccdlw033DBdXV358Ic/nO7u7uy224p28enTp2fatGk59NBDc9ppp2XBggX55Cc/mZkzZw7Ouh955JH5+te/no9//ON573vfm6uuuioXXnhhLrvssrp99kY0rlxKz9Jl9S4DAACAEajrjP1ZZ52Vxx9/PHvssUc23XTTwX8XXHDB4D1nnHFG9t9//xx00EHZfffdM2nSpFx88cWDz5dKpVx66aUplUrp7u7Ou971rhx22GE55ZRTBu+ZOnVqLrvsssyZMycve9nLcvrpp+c73/mOo+6exTn2AAAAxVPXGfv+/v5V3jNu3LiceeaZOfPMM5/3nilTpqxyJ/c99tgjv/71r0dcYyupVUpZsqwvy/v6U2pvq3c5AAAADMNqzdj/4he/yLve9a50d3fnT3/6U5Lk3/7t3xpiR3tWX7Wy4u88i3vN2gMAABTFiIP9D3/4w8yYMSPVajW//vWvs2TJkiTJ448/ns997nOjXiBjp1ouJYl2fAAAgAIZcbD/53/+53zzm9/Mt7/97SHb77/61a/OLbfcMqrFMbZqlRXBfpFgDwAAUBgjDvZ33nlndt9995Wur7/++nnsscdGoybqpPp0sO/ptTM+AABAUYw42E+aNCl33XXXStevvfbabLXVVqNSFPUx0Ipvxh4AAKA4Rhzs3//+9+ejH/1ofvnLX6atrS33339/zjvvvHzsYx/LUUcdtTZqZIxoxQcAACieER9394//+I/p6+vLG9/4xvT09GT33XdPZ2dnPvaxj+XDH/7w2qiRMTLYii/YAwAAFMaIg31bW1v+3//7fzn++ONz11135cknn8y0adOy7rrrro36GEO1p4+763HcHQAAQGGMONgPqFQqmTZt2mjWQp0NrLFfbMYeAACgMEYc7F//+tenra3teZ+/6qqr1qgg6qfU3pZKR3t6ltoVHwAAoChGHOx32mmnIY97e3szf/783HbbbTn88MNHqy7qpFYpacUHAAAokBEH+zPOOOM5r5900kl58skn17gg6qtWLtkVHwAAoEBGfNzd83nXu96V7373u6P1ctTJuIpgDwAAUCSjFuznzZuXcePGjdbLUSda8QEAAIplxK34b33rW4c87u/vzwMPPJBf/epX+dSnPjVqhVEftXKHGXsAAIACGXGwX3/99Yc8bm9vz4tf/OKccsopmT59+qgVRn1UteIDAAAUyoiD/TnnnLM26qBBVMta8QEAAIpk1NbY0xxqlVIWOcceAACgMIY1Y7/BBhukra1tWC/4yCOPrFFB1Fe1UkqPVnwAAIDCGFaw//KXv7yWy6BR1CqlLNKKDwAAUBjDCvaHH3742q6DBlEt2zwPAACgSEa8ed4zLV68OEuXLh1yraura40Kor6qlQ6t+AAAAAUy4s3znnrqqRx99NGZMGFC1llnnWywwQZD/lFsNcfdAQAAFMqIg/3HP/7xXHXVVTnrrLPS2dmZ73znOzn55JOz2Wab5Xvf+97aqJExVK2UsnR5X5Yt76t3KQAAAAzDiFvxf/zjH+d73/te9thjj7znPe/Ja1/72myzzTaZMmVKzjvvvBxyyCFro07GSLVcSpIs6l2e9UpOQwQAAGh0I05ujzzySLbaaqskK9bTDxxv95rXvCbXXHPN6FbHmKtVng722vEBAAAKYcTBfquttso999yTJNluu+1y4YUXJlkxkz9+/PhRLY6xV3062NtADwAAoBhGHOzf85735De/+U2S5B//8R9z5plnZty4cTn22GNz/PHHj3qBjK1ntuIDAADQ+Ea8xv7YY48d/HrPPffMf//3f+fmm2/ONttskx133HFUi2Ps1SorfiXM2AMAABTDiIP9H/7wh0yePHnw8ZQpUzJlypRRLYr6scYeAACgWEbcir/lllvmda97Xb797W/n0UcfXRs1UUd/XWO/rM6VAAAAMBwjDva/+tWv8opXvCKnnHJKNt1007z5zW/OD37wgyxZsmRt1McYs8YeAACgWEYc7Hfeeed84QtfyH333Zef/vSn2WSTTfKBD3wgEydOzHvf+961USNjaDDYa8UHAAAohBEH+wFtbW15/etfn29/+9u58sorM3Xq1Jx77rmjWRt10N7elnHldpvnAQAAFMRqB/s//vGPOe2007LTTjvlFa94RdZdd92ceeaZo1kbdVKrdGjFBwAAKIgR74r/rW99K+eff36uu+66bLfddjnkkEPyn//5n3bGbyLVckkrPgAAQEGMONj/8z//c975znfmq1/9al72spetjZqos2qlpBUfAACgIEYc7O+77760tbWtjVpoELVKKYt6HXcHAABQBCNeYy/UNz+t+AAAAMWx2pvn0by04gMAABSHYM9KVrTiC/YAAABFINizkmq5w4w9AABAQQj2rKRWscYeAACgKIa1K/7OO+887E3zbrnlljUqiPqrasUHAAAojGEF+ze/+c1ruQwaSbVcSs9Sx90BAAAUwbCC/ac//em1XQcNpGZXfAAAgMKwxp6VVCulLNaKDwAAUAjDmrF/puXLl+eMM87IhRdemPvuuy9Lly4d8vwjjzwyasVRH9VyKb3L+9O7vC/lkr/9AAAANLIRp7aTTz45X/rSl/L2t789jz/+eI477ri89a1vTXt7e0466aS1UCJjrVZZ8fce7fgAAACNb8TB/rzzzsu3v/3t/MM//EM6Ojryzne+M9/5zndy4okn5oYbblgbNTLGapVSkjjyDgAAoABGHOwXLFiQHXbYIUmy7rrr5vHHH0+S7L///rnssstGtzrqYlz56WBvnT0AAEDDG3Gw33zzzfPAAw8kSbbeeuvMnj07SXLTTTels7NzdKujLgZm7B15BwAA0PhGHOzf8pa3ZO7cuUmSD3/4w/nUpz6VbbfdNocddlje+973jnqBjD2t+AAAAMUx4l3xP//5zw9+/fa3vz1bbLFF5s2bl2233TYHHHDAqBZHfVQHZ+wFewAAgEY34mD/bN3d3enu7h6NWmgQVWvsAQAACmO1gv3999+fa6+9Ng899FD6+vqGPPeRj3xkVAqjfgaOu9OKDwAA0PhGHOxnzZqVD37wg6lUKtloo43S1tY2+FxbW5tg3wTGldvT1qYVHwAAoAhGHOw/9alP5cQTT8wJJ5yQ9vYR771HAbS1taVaLtkVHwAAoABGnMx7enryjne8Q6hvctVyKYutsQcAAGh4I07nRxxxRC666KK1UQsNpFopacUHAAAogBG34p966qnZf//9c/nll2eHHXZIuVwe8vyXvvSlUSuO+qkJ9gAAAIWwWsH+iiuuyItf/OIkWWnzPJpDtdKhFR8AAKAARhzsTz/99Hz3u9/Nu9/97rVQDo2iWm43Yw8AAFAAI15j39nZmVe/+tVroxYaSK3SIdgDAAAUwIiD/Uc/+tF87WtfWxu10ECqlVIW9TruDgAAoNGNuBX/xhtvzFVXXZVLL700L3nJS1baPO/iiy8eteKon2q5lAfM2AMAADS8EQf78ePH561vfevaqIUGYld8AACAYhhxsD/nnHPWRh00mBWt+II9AABAoxvxGntaQ61s8zwAAIAiGNaM/S677JK5c+dmgw02yM477/yC59Xfcssto1Yc9VOttGexYA8AANDwhhXsDzzwwHR2dg5+/ULBnuZQrXSkp3d5+vv7jTcAAEADG1aw//SnPz349UknnbS2aqGB1MqlLO/rz9LlfensKNW7HAAAAJ7HiNfYb7XVVvnLX/6y0vXHHnssW2211agURf3VKivC/CLt+AAAAA1txMH+3nvvzfLlK4e9JUuW5I9//OOoFEX9jRsI9nbGBwAAaGjDPu7uv/7rvwa/vuKKK7L++usPPl6+fHnmzp2bqVOnjm511E2tvCLY2xkfAACgsQ072L/5zW9OkrS1teXwww8f8ly5XM6WW26Z008/fVSLo35qlRW/GlrxAQAAGtuwg31fX1+SZOrUqbnpppuy8cYbr7WiqL9qxYw9AABAEQw72A+455571kYdNJiqNfYAAACFMOLN85Jk7ty52X///bP11ltn6623zv77758rr7xytGujjgbW2C9auqzOlQAAAPBCRhzsv/GNb2TvvffOeuutl49+9KP56Ec/mq6uruy7774588wz10aN1IFWfAAAgGIYcSv+5z73uZxxxhk5+uijB6995CMfyatf/ep87nOfy8yZM0e1QOqjs6M97W1a8QEAABrdiGfsH3vssey9994rXZ8+fXoef/zxUSmK+mtra0u1XLIrPgAAQIMbcbB/05velEsuuWSl6//5n/+Z/ffff1SKojFUKx1a8QEAABrciFvxp02bls9+9rO5+uqr093dnSS54YYbct111+Uf/uEf8tWvfnXw3o985COjVyljrlYpCfYAAAANbsTB/uyzz84GG2yQO+64I3fcccfg9fHjx+fss88efNzW1ibYF1y1XMpia+wBAAAamnPseV7VSik9jrsDAABoaKt1jn2SPPzww3n44YdHsxYajFZ8AACAxjeiYP/YY49l5syZ2XjjjTNx4sRMnDgxG2+8cY4++ug89thja6lE6qVWsSs+AABAoxt2K/4jjzyS7u7u/OlPf8ohhxyS7bffPklyxx13ZNasWZk7d26uv/76bLDBBmutWMbWuHIpjzy1tN5lAAAA8AKGHexPOeWUVCqV3H333Zk4ceJKz02fPj2nnHJKzjjjjFEvkvqoVUr546Nm7AEAABrZsFvxf/SjH+WLX/ziSqE+SSZNmpTTTjvtOc+3p7hqlQ6t+AAAAA1u2MH+gQceyEte8pLnff6lL31pFixYMCpF0RiqlVJ6eu2KDwAA0MiGHew33njj3Hvvvc/7/D333JMNN9xwNGqiQVTLpSxa2lfvMgAAAHgBww72M2bMyP/7f/8vS5euvJnakiVL8qlPfSp77733qBZHfa3YFd+MPQAAQCMb0eZ5L3/5y7Pttttm5syZ2W677dLf35/f/e53+cY3vpElS5bk3/7t39ZmrYyxFa34y9Pf35+2trZ6lwMAAMBzGHaw33zzzTNv3rx86EMfygknnJD+/v4kSVtbW/baa698/etfz+TJk9daoYy9WqWU/v5kybK+jCuX6l0OAAAAz2HYwT5Jpk6dmp/+9Kd59NFH8/vf/z5Jss0221hb36SqT4f5RUuXC/YAAAANakTBfsAGG2yQV7ziFaNdCw2mWlnx69HTuzwb1LkWAAAAntuwN8+j9dQqAzP2NtADAABoVII9z2ugFb9n6fI6VwIAAMDzEex5XtXKX9fYAwAA0JgEe57XQCt+T69gDwAA0KgEe55Xrbxi8zwz9gAAAI1LsOd5jaus+PUQ7AEAABqXYM/zqpTaU2pv04oPAADQwAR7nldbW1tq5ZLj7gAAABqYYM8LqlZKjrsDAABoYII9L6haKWWRVnwAAICGVddgf8011+SAAw7IZpttlra2tvzoRz8a8vy73/3utLW1Dfm39957D7nnkUceySGHHJKurq6MHz8+RxxxRJ588skh99x666157Wtfm3HjxmXy5Mk57bTT1vZHaxrVcsnmeQAAAA2srsH+qaeeyste9rKceeaZz3vP3nvvnQceeGDw3/e///0hzx9yyCG5/fbbM2fOnFx66aW55ppr8oEPfGDw+YULF2b69OmZMmVKbr755nzhC1/ISSedlH/9139da5+rmdS04gMAADS0jnq++T777JN99tnnBe/p7OzMpEmTnvO53/3ud7n88stz00035eUvf3mS5Gtf+1r23XfffPGLX8xmm22W8847L0uXLs13v/vdVCqVvOQlL8n8+fPzpS99acgfAHhutUqHGXsAAIAGVtdgPxxXX311JkyYkA022CBveMMb8s///M/ZaKONkiTz5s3L+PHjB0N9kuy5555pb2/PL3/5y7zlLW/JvHnzsvvuu6dSqQzeM2PGjPzLv/xLHn300WywwQYrveeSJUuyZMmSwccLFy5MkvT29qa3t3dtfdRRMVDfaNXZ2dGWp5Y0/ucuktEeI9YO41QMxqnxGaNiME7FYJwanzEqhqKM00jqa+hgv/fee+etb31rpk6dmrvvvjv/9E//lH322Sfz5s1LqVTKggULMmHChCHf09HRkQ033DALFixIkixYsCBTp04dcs/EiRMHn3uuYH/qqafm5JNPXun67NmzU6vVRuvjrVVz5swZldd59M/tWdib/OQnPxmV1+OvRmuMWLuMUzEYp8ZnjIrBOBWDcWp8xqgYGn2cenp6hn1vQwf7d7zjHYNf77DDDtlxxx2z9dZb5+qrr84b3/jGtfa+J5xwQo477rjBxwsXLszkyZMzffr0dHV1rbX3HQ29vb2ZM2dO9tprr5TL5TV+veuW3p7/XvBE9t13t1GojmT0x4i1wzgVg3FqfMaoGIxTMRinxmeMiqEo4zTQOT4cDR3sn22rrbbKxhtvnLvuuitvfOMbM2nSpDz00END7lm2bFkeeeSRwXX5kyZNyoMPPjjknoHHz7d2v7OzM52dnStdL5fLDT3wzzRata4zrpxFvX2F+dxFUqTfp1ZmnIrBODU+Y1QMxqkYjFPjM0bF0OjjNJLaCnWO/R//+Mf85S9/yaabbpok6e7uzmOPPZabb7558J6rrroqfX19eeUrXzl4zzXXXDNkfcKcOXPy4he/+Dnb8BmqWnaOPQAAQCOra7B/8sknM3/+/MyfPz9Jcs8992T+/Pm577778uSTT+b444/PDTfckHvvvTdz587NgQcemG222SYzZsxIkmy//fbZe++98/73vz833nhjrrvuuhx99NF5xzvekc022yxJcvDBB6dSqeSII47I7bffngsuuCBf+cpXhrTa8/xqFefYAwAANLK6Bvtf/epX2XnnnbPzzjsnSY477rjsvPPOOfHEE1MqlXLrrbfmTW96U/7mb/4mRxxxRHbdddf84he/GNImf95552W77bbLG9/4xuy77755zWteM+SM+vXXXz+zZ8/OPffck1133TX/8A//kBNPPNFRd8NUrXQ4xx4AAKCB1XWN/R577JH+/v7nff6KK65Y5WtsuOGGOf/881/wnh133DG/+MUvRlwfT8/Y9y5PX19/2tvb6l0OAAAAz1KoNfaMvWq5lCRZsqyvzpUAAADwXAR7XlC1siLY9yxdVudKAAAAeC6CPS+oNhjsrbMHAABoRII9L2igFd+RdwAAAI1JsOcFDbTiO/IOAACgMQn2vKBaZcXBCVrxAQAAGpNgzwsaWGO/qNfmeQAAAI1IsOcFjRtYY7/UcXcAAACNSLDnBdUcdwcAANDQBHteULnUnnKpza74AAAADUqwZ5Wq5ZLN8wAAABqUYM8qVSslx90BAAA0KMGeVapVOrTiAwAANCjBnlVa0Ypv8zwAAIBGJNizSrWKNfYAAACNSrBnlaqVUhZrxQcAAGhIgj2rZFd8AACAxiXYs0pa8QEAABqXYM8qVSsdjrsDAABoUII9q1Qtlxx3BwAA0KAEe1apVimZsQcAAGhQgj2rVK04xx4AAKBRCfaskl3xAQAAGpdgzyrVKqUsWdaXvr7+epcCAADAswj2rFK1UkoSG+gBAAA0IMGeVapVOpJEOz4AAEADEuxZpWp5xYz9YjP2AAAADUewZ5UGWvHN2AMAADQewZ5Vqg0Ge0feAQAANBrBnlUaCPaLzNgDAAA0HMGeVRpYY29XfAAAgMYj2LNK1tgDAAA0LsGeVRo47k4rPgAAQOMR7FmlUntbKh3tNs8DAABoQII9w1Itl7Kot6/eZQAAAPAsgj3DUquUssiMPQAAQMMR7BmWaqVk8zwAAIAGJNgzLLVKKT2OuwMAAGg4gj3DUi2XstiMPQAAQMMR7BmWaqVDKz4AAEADEuwZllpZKz4AAEAjEuwZlqpd8QEAABqSYM+wVCulLDJjDwAA0HAEe4alVnbcHQAAQCMS7BmWWqWURYI9AABAwxHsGZZxFTP2AAAAjUiwZ1hqZWvsAQAAGpFgz7DUKh1Zuqwvy/v6610KAAAAzyDYMyzVSilJ0uPIOwAAgIYi2DMs1fKKYK8dHwAAoLEI9gxL7ekZezvjAwAANBbBnmH5ayu+YA8AANBIBHuGpVbpSCLYAwAANBrBnmEZWGO/2Bp7AACAhiLYMyxa8QEAABqTYM+w1Bx3BwAA0JAEe4Zl8Lg7M/YAAAANRbBnWNrb29LZ0e4cewAAgAYj2DNstUrJGnsAAIAGI9gzbLVKh1Z8AACABiPYM2zjyu1m7AEAABqMYM+w1Sod1tgDAAA0GMGeYatWSlnkuDsAAICGItgzbDbPAwAAaDyCPcNWLZe04gMAADQYwZ5hW9GKL9gDAAA0EsGeYdOKDwAA0HgEe4bNrvgAAACNR7Bn2MaVS+mxKz4AAEBDEewZtpo19gAAAA1HsGfYahW74gMAADQawZ5hq5ZL6V3en97lffUuBQAAgKcJ9gxbtVJKErP2AAAADUSwZ9hqA8HeOnsAAICGIdgzbNVyR5I4yx4AAKCBCPYM28CMvSPvAAAAGodgz7ANrLFfbI09AABAwxDsGbZqeWDGXrAHAABoFII9w/bXVnzBHgAAoFEI9gxb1a74AAAADUewZ9jGdTjHHgAAoNEI9gxbe3tbquWSVnwAAIAGItgzIrVKKYscdwcAANAwBHtGZJwZewAAgIYi2DMitUrJGnsAAIAGItgzIita8QV7AACARiHYMyLVilZ8AACARiLYMyJ2xQcAAGgsgj0jUqt0ZLE19gAAAA1DsGdEVrTiO+4OAACgUQj2jEjNGnsAAICGItgzItVySSs+AABAAxHsGRG74gMAADQWwZ4RcY49AABAYxHsGZFqpSM9vcvT399f71IAAACIYM8IVculLO/rT+9ywR4AAKARCPaMSK1SShLt+AAAAA1CsGdEqk8H+55eZ9kDAAA0AsGeEamVnw72ZuwBAAAagmDPiFS14gMAADQUwZ4RGVxj3yvYAwAANALBnhGpVjqSaMUHAABoFII9I1ItD7Ti2zwPAACgEQj2jIhWfAAAgMYi2DMinR3taWvTig8AANAoBHtGpK2tLbVyya74AAAADUKwZ8SqlZIZewAAgAZR12B/zTXX5IADDshmm22Wtra2/OhHPxryfH9/f0488cRsuummqVar2XPPPfP73/9+yD2PPPJIDjnkkHR1dWX8+PE54ogj8uSTTw6559Zbb81rX/vajBs3LpMnT85pp522tj9aU6tWStbYAwAANIi6BvunnnoqL3vZy3LmmWc+5/OnnXZavvrVr+ab3/xmfvnLX2adddbJjBkzsnjx4sF7DjnkkNx+++2ZM2dOLr300lxzzTX5wAc+MPj8woULM3369EyZMiU333xzvvCFL+Skk07Kv/7rv671z9esauUOrfgAAAANoqOeb77PPvtkn332ec7n+vv78+Uvfzmf/OQnc+CBByZJvve972XixIn50Y9+lHe84x353e9+l8svvzw33XRTXv7ylydJvva1r2XffffNF7/4xWy22WY577zzsnTp0nz3u99NpVLJS17yksyfPz9f+tKXhvwBgOFb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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABDMAAARTCAYAAAB2w2jhAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACN5klEQVR4nOz9e5hXZb0//j8HhpOCKAooZ1FKUEEUJFMOjihizg7LcqMlqOln789QKZnZLgWt0NrpVgO1XQrq1qCDaF9FlIPiIUxFMREiJdTaIohnIBWY+f3hz/k4MsAMh3Dp43Fd7+uada/7vtdrva+lXu+na92rpKqqqioAAAAABdFgRxcAAAAAUB/CDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAAUCjCDADgE23QoEE54IADNtvvueeeS0lJSSZNmrT9iwIANkmYAQBsE5MmTUpJSclGPw8//PCOLnGHuPrqqwUgALCNle7oAgCAj5eLL744e++99wbt++677w6oZtvp3Llz/vGPf6RRo0b1Gnf11Vdnjz32yMiRI7dPYQDwCSTMAAC2qaFDh6ZPnz71GrNu3bpUVlamcePGG+xbvXp1dt555y2up6qqKm+//XaaNWu2xXMkSUlJSZo2bbpVc2wrb7/9dho3bpwGDdxkC8Ank/8CAgD/VO+vPfHTn/40V1xxRfbZZ580adIkCxcuzNixY1NSUpKFCxfm5JNPzm677ZYjjjgiyXuBxw9+8IPq/l26dMl//Md/5J133qkxf5cuXXL88cfn7rvvTp8+fdKsWbP8/Oc/32xdCxcuzJFHHpmddtop7du3z09+8pNa6/7gIyMvvfRSTjvttHTo0CFNmjTJXnvtlc9//vN57rnnqmt5+umnM2fOnOrHbQYNGlQ9/q9//Wu+9KUvpVWrVtlpp53ymc98JnfeeWeN4953330pKSnJ5MmT8/3vfz/t27fPTjvtlPnz56ekpCT/9V//tcG5/OEPf0hJSUl+9atfbfa8AaCI3JkBAGxTb7zxRlauXFmjraSkJLvvvnuNtokTJ+btt9/OWWedlSZNmqRVq1bV+770pS+lW7duGTduXKqqqpIkX/va13LDDTfkxBNPzLe+9a388Y9/zCWXXJJFixZl6tSpNeZevHhxhg8fnv/zf/5PzjzzzHz605/eZM2vvfZajj322HzhC1/Il7/85fz2t7/Nd77znRx44IEZOnToRsd98YtfzNNPP52vf/3r6dKlS1asWJEZM2bkhRdeSJcuXXLFFVfk61//epo3b57vfe97SZK2bdsmSZYvX57PfvazWbNmTb7xjW9k9913zw033JB/+Zd/yW9/+9uccMIJNY71gx/8II0bN865556bd955J/vtt18OP/zw3HzzzTnnnHNq9L355pvTokWLfP7zn9/keQNAYVUBAGwDEydOrEpS66dJkybV/ZYuXVqVpGqXXXapWrFiRY05xowZU5Wkavjw4TXa58+fX5Wk6mtf+1qN9nPPPbcqSdXs2bOr2zp37lyVpGr69Ol1qnvgwIFVSapuvPHG6rZ33nmnas8996z64he/uEHdEydOrKqqqqp67bXXqpJU/ed//ucm599///2rBg4cuEH72WefXZWk6oEHHqhue+utt6r23nvvqi5dulStX7++qqqqquree++tSlLVtWvXqjVr1tSY4+c//3lVkqpFixZVt7377rtVe+yxR9WIESPqdP4AUEQeMwEAtqkJEyZkxowZNT533XXXBv2++MUvpnXr1rXO8W//9m81tqdNm5YkGT16dI32b33rW0mywaMZe++9d4YMGVLnmps3b56vfOUr1duNGzfOoYcemr/+9a8bHdOsWbM0btw49913X1577bU6H+t906ZNy6GHHlr9GM37dZx11ll57rnnsnDhwhr9R4wYscG6H1/+8pfTtGnT3HzzzdVtd999d1auXFnjfADg40aYAQBsU4ceemgGDx5c43PkkUdu0K+2N55sbN/zzz+fBg0abPBGlD333DO77rprnn/++TrPXZsOHTqkpKSkRttuu+22yZCiSZMm+fGPf5y77rorbdu2zYABA/KTn/wkL730Up2O+fzzz9f6+Ev37t2r939Qbee06667pry8PLfcckt1280335z27dunrKysTnUAQBEJMwCAHWJTbxfZ2L4PBw5bMndtGjZsWGt71f9/vY6NOfvss/OXv/wll1xySZo2bZoLLrgg3bt3zxNPPFGv49fFxs7p1FNPzV//+tf84Q9/yFtvvZXf//73GT58uDedAPCx5r9yAMBHXufOnVNZWZlnnnmmRvvy5cvz+uuvp3PnzjuosmSfffbJt771rdxzzz1ZsGBB3n333Vx22WXV+zcWwHTu3DmLFy/eoP3Pf/5z9f66OPbYY9O6devcfPPNmTp1atasWZOvfvWrW3AmAFAcwgwA4CPvuOOOS5JcccUVNdovv/zyJMnnPve5f3ZJWbNmTd5+++0abfvss09atGhR43WxO++8c15//fUNxh933HF55JFHMnfu3Oq21atX57//+7/TpUuX9OjRo051lJaWZvjw4fn1r3+dSZMm5cADD0zPnj237KQAoCC8mhUA2Kbuuuuu6rsLPuizn/1sunbtukVz9urVKyNGjMh///d/5/XXX8/AgQPzyCOP5IYbbsiwYcNqXZNje/vLX/6So446Kl/+8pfTo0ePlJaWZurUqVm+fHn+9V//tbrfIYcckmuuuSY//OEPs++++6ZNmzYpKyvL+eefn1/96lcZOnRovvGNb6RVq1a54YYbsnTp0vzud7+r12Mip556aq666qrce++9+fGPf7w9ThcAPlKEGQDANnXhhRfW2j5x4sQtDjOS5Je//GW6du2aSZMmZerUqdlzzz3z3e9+N2PGjNniObdGx44dM3z48MyaNSs33XRTSktLs99+++XXv/51vvjFL1b3u/DCC/P888/nJz/5Sd56660MHDgwZWVladu2bf7whz/kO9/5Tn72s5/l7bffTs+ePfP//X//X73vNDnkkEOy//77Z9GiRTnllFO29akCwEdOSdXmVrYCAOAjr3fv3mnVqlVmzZq1o0sBgO3OmhkAAAX32GOPZf78+Tn11FN3dCkA8E/hzgwAgIJasGBB5s2bl8suuywrV67MX//61zRt2nRHlwUA2507MwAACuq3v/1tTjvttKxduza/+tWvBBkAfGK4MwMAAAAoFHdmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACiU0h1dAB8tlZWVefHFF9OiRYuUlJTs6HIAAAD4mKuqqspbb72Vdu3apUGDut1zIcyghhdffDEdO3bc0WUAAADwCfO3v/0tHTp0qFNfYQY1tGjRIsl7F9Euu+yyg6vZtLVr1+aee+7JMccck0aNGu3ocqBeXL8UmeuXInP9UmSuX4psU9fvm2++mY4dO1b/Hq0LYQY1vP9oyS677FKIMGOnnXbKLrvs4l/mFI7rlyJz/VJkrl+KzPVLkdXl+q3PUgcWAAUAAAAKRZgBAAAAFIowAwAAACgUa2YAAAB8AlVVVWXt2rVZt27dji6FT4C6vnK1roQZAAAAnzDvvPNOnnvuuaxatWpHl8InRElJSZo0abLN5hNmAAAAfIJUVlZm4cKFKS0tzd57750mTZrU6y0SUF+VlZVZtmxZKisr8+abb6ZVq1Zbfc0JMwAAAD5B3n777VRWVmbvvfdO8+bNd3Q5fELstddeefPNN3P77bfnoIMOSu/evbcq0LAAKAAAwCfQtl7DADbl/ett/fr1uffee/OnP/1p6+bbFkUBAAAAbM5uu+2WysrKPPPMM1s1jzADAACAj4XnnnsuJSUlmT9//nY7xsiRIzNs2LDtNv8nQZMmTfLmm29u1RzCDAAAANiOSkpKctttt+3oMj5WhBkAAADwMbV27doN2t59990tmmtLx20PwgwAAAAKYfr06TniiCOy6667Zvfdd8/xxx+fJUuWbNDvz3/+cz772c+madOmOeCAAzJnzpzqfa+99lpOOeWUtG7dOs2aNUu3bt0yceLE6v1PPfVUysrK0qxZs+y+++4566yzsmrVqo3W1KVLl1xxxRU12g466KCMHTu2en+SnHDCCSkpKaneTpLbb789Bx98cJo2bZquXbvmoosuyrp16zb5Hfzyl79M9+7d07Rp0+y33365+uqrq/e9/5jNlClTMnDgwDRt2jQ333xz9aMxP/rRj9KuXbt8+tOfrtO5bmzcR4FXswIAAFAIq1evzujRo9OzZ8+sWrUqF154YU444YTMnz+/xttZvv3tb+eKK65Ijx49cvnll6e8vDxLly7N7rvvngsuuCALFy7MXXfdlT322CPPPvts/vGPf1TPP2TIkBx22GF59NFHs2LFinzta1/LqFGjMmnSpC2q+dFHH02bNm0yceLEHHvssWnYsGGS5IEHHsipp56aq666Kv3798+SJUty1llnJUnGjBlT61w333xzLrzwwowfPz69e/fOE088kTPPPDM777xzRowYUd3v/PPPz2WXXZbevXunadOmue+++zJr1qzssssumTFjRr3O9cPjPiqEGQAAAOQf767Pkpc3fgfC9rJP6+Zp1rhhnfp+8YtfrLF9/fXXp3Xr1lm4cGEOOOCA6vZRo0ZV973mmmsyffr0XHfddTnvvPPywgsvpHfv3unTp0+S1LhT4pZbbsnbb7+dG2+8MTvvvHOSZPz48SkvL8+Pf/zjtG3btt7n17p16yTJrrvumj333LO6/aKLLsr5559fHUJ07do1P/jBD3LeeedtNMwYM2ZMLrvssnzhC19Ikuy9995ZuHBhfv7zn9cIM84+++zqPu/beeed88tf/jKNGzdOkvziF7+o07l+eNxHhTADAACALHl5VY7/2YP/9OPe8fUjckD7lnXq+8wzz+TCCy/MH//4x6xcuTKVlZVJkhdeeKFGmHHYYYdV/11aWpo+ffpk0aJFSZJ///d/zxe/+MU8/vjjOeaYYzJs2LB89rOfTZIsWrQovXr1qv5xnySHH354Kisrs3jx4i0KMzbmySefzEMPPZQf/ehH1W3r16/P22+/nTVr1mSnnXaq0X/16tVZsmRJzjjjjJx55pnV7evWrUvLljW/v/eDmg868MADawQSdT3XD4/7qBBmfEyccMIJue+++3LUUUflt7/9bXX70qVLc/rpp2f58uVp2LBhHn744RoXKwAAQPLeHRJ3fP2IHXLcuiovL0/nzp3zi1/8Iu3atUtlZWUOOOCAei1MOXTo0Dz//POZNm1aZsyYkaOOOioVFRX56U9/uiXlp0GDBqmqqqrRVtuimx+2atWqXHTRRRvcQZEkTZs2rbV/8t4dFf369aux7/1HV95X22++Lf0d+FH9/SjM+Jj45je/mdNPPz033HBDjfaRI0fmhz/8Yfr3759XX301TZo02UEVAgAAH2XNGjes8x0SO8Irr7ySxYsX5xe/+EX69++fJHnwwdrvJHn44YczYMCAJO/duTBv3ryMGjWqen/r1q0zYsSIjBgxIv3798+3v/3t/PSnP0337t0zadKkrF69uvpH/EMPPZQGDRpsdPHL1q1bZ9myZdXbb775ZpYuXVqjT6NGjbJ+/foabQcffHAWL16cfffdt07n37Zt27Rr1y5//etfc8opp9RpzKZsybl+lHibycfEoEGD0qJFixptTz/9dBo1alT9D3qrVq1SWiq/AgAAime33XbL7rvvnv/+7//Os88+m9mzZ2f06NG19p0wYUKmTp2aP//5z6moqMhrr72W008/PUly4YUX5vbbb8+zzz6bp59+OnfccUe6d++eJDnllFPStGnTjBgxIgsWLMi9996br3/96/nqV7+60UdMysrKctNNN+WBBx7IU089lREjRmxwp0SXLl0ya9asvPTSS3nttdeq67jxxhtz0UUX5emnn86iRYsyefLkfP/739/od3DRRRflkksuyVVXXZW//OUveeqppzJx4sRcfvnl9f4+t+RcP0p2eJhxySWXpG/fvmnRokXatGmTYcOGZfHixZscc80116Rnz57ZZZddsssuu+Swww7LXXfdVa95x44dm5KSkhqf/fbbb5uf3/3335/y8vK0a9cuJSUlue2222rtN2HChHTp0iVNmzZNv3798sgjj2z1sZ955pk0b9485eXlOfjggzNu3LitnhMAAGBHaNCgQSZPnpx58+blgAMOyDnnnJP//M//rLXvpZdemksvvTS9evXKgw8+mN///vfZY489kiSNGzfOd7/73fTs2TMDBgxIw4YNM3ny5CTJTjvtlLvvvjuvvvpq+vbtmxNPPDFHHXVUxo8fv9G6vvvd72bgwIE5/vjj87nPfS7Dhg3LPvvsU6PPZZddlhkzZqRjx47p3bt3kmTIkCG54447cs8996Rv3775zGc+k//6r/9K586dN3qsr33ta/nlL3+ZiRMn5sADD8zAgQMzadKk7L333vX6Lrf0XD9Kdvj/pp8zZ04qKirSt2/frFu3Lv/xH/+RY445JgsXLtzoszkdOnTIpZdemm7duqWqqio33HBDPv/5z+eJJ57I/vvvX+d5999//8ycObN63s3dtfDQQw/l0EMPTaNGjWq0L1y4MLvvvnut6dXq1avTq1evnH766bU+C5UkU6ZMyejRo3PttdemX79+ueKKKzJkyJAsXrw4bdq0SfLee4pre9/wPffck3bt2tU677p16/LAAw9k/vz5adOmTY499tj07ds3Rx999CbPEwAA4KNo8ODBWbhwYY22D65X0aVLl+rt4cOH1zrH97///U3e/XDggQdm9uzZG93/4Ve07rLLLtVhyPs++GaR5L21PsrLyzeYa8iQIRkyZMhGj1Wbk08+OSeffHKt+z54/puq+X31PdePkh0eZkyfPr3G9qRJk9KmTZvMmzev+hmnD/vwRfCjH/0o11xzTR5++OHqMKMu85aWltZ4Nc6mVFZWpqKiIt26dcvkyZOrbxtavHhxysrKMnr06Jx33nkbjBs6dGiGDh26ybkvv/zynHnmmTnttNOSJNdee23uvPPOXH/99Tn//POTJPPnz69TnR/Uvn379OnTJx07dkySHHfccZk/f74wAwAAgELb4Y+ZfNgbb7yR5L31Hepi/fr1mTx5clavXl3j9Tt1mfeZZ55Ju3bt0rVr15xyyil54YUXNjq+QYMGmTZtWp544omceuqpqayszJIlS1JWVpZhw4bVGmTUxbvvvpt58+Zl8ODBNY41ePDgzJ07d4vmfF/fvn2zYsWKvPbaa6msrMz9999f/SzYh02YMCE9evRI3759t+qYAAAAsL3t8DszPqiysjJnn312Dj/88BrvCK7NU089lcMOOyxvv/12mjdvnqlTp6ZHjx51nrdfv36ZNGlSPv3pT2fZsmW56KKL0r9//yxYsGCDhTTf165du8yePTv9+/fPySefnLlz52bw4MG55pprtvicV65cmfXr12/wiErbtm3z5z//uc7zDB48OE8++WRWr16dDh065De/+U0OO+ywjBs3LgMGDEhVVVWOOeaYHH/88bWOr6ioSEVFRd58880N3lEMAAAAHyUfqTCjoqIiCxYs2OjrdT7o05/+dObPn5833ngjv/3tbzNixIjMmTOn1kCjtnk/+OhHz549069fv3Tu3Dm//vWvc8YZZ2z0uJ06dcpNN92UgQMHpmvXrrnuuutSUlJSzzPd9j649scH1eUxFwAAACiSj8xjJqNGjcodd9yRe++9Nx06dNhs/8aNG2fffffNIYcckksuuSS9evXKlVdeucXz7rrrrvnUpz6VZ599dpPHXb58ec4666yUl5dnzZo1OeecczZ/cpuwxx57pGHDhlm+fPkGx6nreh4AAADwSbLDw4yqqqqMGjUqU6dOzezZs7folTLJe4+SvPPOO1s876pVq7JkyZLstddeG+2zcuXKHHXUUenevXtuvfXWzJo1K1OmTMm55567RTUn74UyhxxySGbNmlXjXGbNmrXJNUAAAADgk2qHP2ZSUVGRW265JbfffntatGiRl156KUnSsmXLNGvWLOPHj8/UqVNr/Nj/7ne/m6FDh6ZTp0556623csstt+S+++7L3XffXed5zz333JSXl6dz58558cUXM2bMmDRs2HCjr++prKzM0KFD07lz50yZMiWlpaXp0aNHZsyYkbKysrRv377WuzRWrVpV426PpUuXZv78+WnVqlU6deqUJBk9enRGjBiRPn365NBDD80VV1yR1atXV7/dBAAAAPh/dniY8f7imYMGDarRPnHixIwcOTIrV67MkiVLauxbsWJFTj311CxbtiwtW7ZMz549c/fdd9d45ejm5v373/+e4cOH55VXXknr1q1zxBFH5OGHH07r1q1rrbNBgwYZN25c+vfvn8aNG1e39+rVKzNnztzouMceeyxHHnlk9fbo0aOTvPfe4fff2XvSSSfl5ZdfzoUXXpiXXnopBx10UKZPn77BoqAAAADARyDMqKqq2uT+sWPHZuzYsTXarrvuuq2ed/LkyZud48M+GJZ8UO/evTc6ZtCgQZutJXlvbY9Ro0bVuyYAAAD4pNnha2YAAADA9jRo0KCcffbZH5l52Ho7/M4MAAAA+Ci57777cuSRR+a1117LrrvuWt1+6623plGjRjuuMKq5MwMAAIBCevfdd/+px2vVqlVatGjxTz3m5lRVVWXdunUbtG/pd/PP/k63lDADAACAQhg0aFBGjRqVs88+O3vssUeGDBmSJFmwYEGGDh2a5s2bp23btvnqV7+alStXbnSem266KX369EmLFi2y55575uSTT86KFSuSJM8991z1Sxx22223lJSUZOTIkdXHf/8xk//4j/9Iv379Npi7V69eufjii6u3f/nLX6Z79+5p2rRp9ttvv1x99dWbPMfKyspccskl2XvvvdOsWbP06tUrv/3tb6v333fffSkpKcldd92VQw45JE2aNMmDDz640e9mzpw5OfTQQ9OkSZPstddeOf/882uEHxsb91EnzAAAAKAwbrjhhjRu3DgPPfRQrr322rz++uspKytL796989hjj2X69OlZvnx5vvzlL290jrVr1+YHP/hBnnzyydx222157rnnqgOLjh075ne/+12SZPHixVm2bFmuvPLKDeY45ZRT8sgjj9R4++bTTz+dP/3pTzn55JOTJDfffHMuvPDC/OhHP8qiRYsybty4XHDBBbnhhhs2Wtsll1ySG2+8Mddee22efvrpnHPOOfnKV76SOXPm1Oh3/vnn59JLL82iRYvSs2fPWr+b//3f/81xxx2Xvn375sknn8w111yT6667Lj/84Q83+Z0WgTUzAAAASN5dk6z8yz//uHt8Kmm8U527d+vWLT/5yU+qt3/4wx+md+/eGTduXHXb9ddfn44dO+Yvf/lLPvWpT20wx+mnn179d9euXXPVVVelb9++WbVqVZo3b55WrVolSdq0aVNjzYwP2n///dOrV6/ccsstueCCC5K8F17069cv++67b5JkzJgxueyyy/KFL3whSbL33ntn4cKF+fnPf54RI0ZsMOc777yTcePGZebMmTnssMOq63vwwQfz85//PAMHDqzue/HFF2/wxs0Pfzff+9730rFjx4wfPz4lJSXZb7/98uKLL+Y73/lOLrzwwjRo0KDWcUUgzAAAAOC9IOO/B26+37Z21pyk3UF17n7IIYfU2H7yySdz7733pnnz5hv0XbJkSa1hxrx58zJ27Ng8+eSTee2111JZWZkkeeGFF9KjR48613LKKafk+uuvzwUXXJCqqqr86le/yujRo5Mkq1evzpIlS3LGGWfkzDPPrB6zbt26tGzZstb5nn322axZs2aDkOLdd99N7969a7T16dNng/Ef/m4WLVqUww47LCUlJdVthx9+eFatWpW///3v6dSpU63jikCYAQAAwHt3SJw1Z/P9tsdx62HnnXeusb1q1aqUl5fnxz/+8QZ999prrw3aVq9enSFDhmTIkCG5+eab07p167zwwgsZMmRIvRe/HD58eL7zne/k8ccfzz/+8Y/87W9/y0knnVRdV5L84he/2GBtjYYNG9Y63/tj7rzzzrRv377GviZNmtTY/vD3sLG2utjScTuSMAMAAID3HvWoxx0SHxUHH3xwfve736VLly4pLd38T9w///nPeeWVV3LppZemY8eOSZLHHnusRp/GjRsnSdavX7/JuTp06JCBAwfm5ptvzj/+8Y8cffTRadOmTZKkbdu2adeuXf7617/mlFNOqdO59OjRI02aNMkLL7xQ45GSLdW9e/f87ne/S1VVVfXdGQ899FBatGiRDh06bPX8O5IFQAEAACisioqKvPrqqxk+fHgeffTRLFmyJHfffXdOO+20WsOITp06pXHjxvnZz36Wv/71r/n973+fH/zgBzX6dO7cOSUlJbnjjjvy8ssvV98xUZtTTjklkydPzm9+85sNQouLLrool1xySa666qr85S9/yVNPPZWJEyfm8ssvr3WuFi1a5Nxzz80555yTG264IUuWLMnjjz+en/3sZ5tcNHRj/u///b/529/+lq9//ev585//nNtvvz1jxozJ6NGjq9fLKKpiVw8AAMAnWrt27fLQQw9l/fr1OeaYY3LggQfm7LPPzq677lrrD/bWrVtn0qRJ+c1vfpMePXrk0ksvzU9/+tMafdq3b5+LLroo559/ftq2bZtRo0Zt9PgnnnhiXnnllaxZsybDhg2rse9rX/tafvnLX2bixIk58MADM3DgwEyaNCl77733Ruf7wQ9+kAsuuCCXXHJJunfvnmOPPTZ33nnnJsdsTPv27TNt2rQ88sgj6dWrV/7t3/4tZ5xxRr7//e/Xe66PmpKqqqqqHV0EHx1vvvlmWrZsmTfeeCO77LLLji5nk9auXZtp06bluOOOS6NGjXZ0OVAvrl+KzPVLkbl+KbJtdf2uWbMmixYtSvfu3bPTTnV/iwhsjfevu6VLl+bFF19M8+bNq98qsyW/Q92ZAQAAABSKMAMAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAIBPrJEjR2bYsGGb7DNo0KCcffbZ2/S4Y8eOzUEHHbRN5/wkKd3RBQAAAMCOcuWVV6aqqmpHl0E9uTMDAACAQnr33Xe3eo6WLVtm11133fpiPgJq+z6qqqqybt26es+1peP+WYQZAAAAFMKgQYMyatSonH322dljjz0yZMiQJMmCBQsydOjQNG/ePG3bts1Xv/rVrFy5snrcb3/72xx44IFp1qxZdt999wwePDirV69OsuFjJqtXr86pp56a5s2bZ6+99spll122QR0lJSW57bbbarTtuuuumTRpUvX2d77znXzqU5/KTjvtlK5du+aCCy7I2rVr63W+mzuv2r6P++67LyUlJbnrrrtyyCGHpEmTJnnwwQfzzjvv5Bvf+EbatGmTpk2b5ogjjsijjz5aPdfGxn1UCTMAAAAojBtuuCGNGzfOQw89lGuvvTavv/56ysrK0rt37zz22GOZPn16li9fni9/+ctJkmXLlmX48OE5/fTTs2jRotx33335whe+sNFHS7797W9nzpw5uf3223PPPffkvvvuy+OPP17vOlu0aJFJkyZl4cKFufLKK/OLX/wi//Vf/1Xn8Zs7r419H+87//zzc+mll2bRokXp2bNnzjvvvPzud7/LDTfckMcffzz77rtvhgwZkldffbXGfB8e91FlzQwAAADyj3X/yNI3lv7Tj7t3y73TrLRZnft369YtP/nJT6q3f/jDH6Z3794ZN25cddv111+fjh075i9/+UtWrVqVdevW5Qtf+EI6d+6cJDnwwANrnXvVqlW57rrr8j//8z856qijkrwXFnTo0KHe5/X973+/+u8uXbrk3HPPzeTJk3PeeefVafz48eM3eV6f+tSnkmz4fSxbtixJcvHFF+foo49O8t7dJtdcc00mTZqUoUOHJkl+8YtfZMaMGbnuuuvy7W9/u3r8B8d9lAkzAAAAyNI3luakO076px93yvFT0mP3HnXuf8ghh9TYfvLJJ3PvvfemefPmG/RdsmRJjjnmmBx11FE58MADM2TIkBxzzDE58cQTs9tuu9Xa/913302/fv2q21q1apVPf/rT9Tij90yZMiVXXXVVlixZUh2o7LLLLnUev7nzej/M+PD38b4+ffrU6L927docfvjh1W2NGjXKoYcemkWLFm103EeZMAMAAIDs3XLvTDl+yg45bn3svPPONbZXrVqV8vLy/PjHP96g71577ZWGDRtmxowZ+cMf/pB77rknP/vZz/K9730vf/zjH7P33vU79vtKSko2eEzlg+thzJ07N6ecckouuuiiDBkyJC1btszkyZNrXX9jYzZ3Xu/78PexufbN2dJx/2zCDAAAANKstFm97pD4qDj44IPzu9/9Ll26dElpae0/cUtKSnL44Yfn8MMPz4UXXpjOnTtn6tSpGT16dI1+++yzTxo1apQ//vGP6dSpU5Lktddey1/+8pcMHDiwul/r1q2rH+dIkmeeeSZr1qyp3v7DH/6Qzp0753vf+1512/PPP7/Nz6uu9tlnn+p1Nd5/1Gbt2rV59NFHc/bZZ2/V3DuKBUABAAAorIqKirz66qsZPnx4Hn300SxZsiR33313TjvttKxfvz5//OMfM27cuDz22GN54YUXcuutt+bll19O9+7dN5irefPmOeOMM/Ltb387s2fPzoIFCzJy5Mg0aFDzp3NZWVnGjx+fJ554Io899lj+7d/+LY0aNare361bt7zwwguZPHlylixZkquuuipTp07dpudVHzvvvHP+/d//Pd/+9rczffr0LFy4MGeeeWbWrFmTM844o15zfVS4MwMAAIDCateuXR566KF85zvfyTHHHJN33nknnTt3zrHHHpsGDRpkl112yf33358rrrgib775Zjp37pzLLruseiHMD/vP//zP6kc8WrRokW9961t54403avS57LLLctppp6V///5p165drrzyysybN696/7/8y7/knHPOyahRo/LOO+/kc5/7XC644IKMHTt2m51XfV166aWprKzMV7/61bz11lvp06dP7r777lrXDimCkqqNvY+GT6Q333wzLVu2zBtvvFGvxWl2hLVr12batGk57rjjaqSgUASuX4rM9UuRuX4psm11/a5ZsyaLFi1K9+7ds9NOO23DCmHj3r/uli5dmhdffDHNmzfP6aefnmTLfod6zAQAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAA7ABdunTJFVdcsaPLKCRhBgAAANTBoEGDcvbZZ2+z+R599NGcddZZde5/3333paSkJK+//vo2q6GohBkAAACwjVRVVWXdunV16tu6devstNNO27miunn33Xc3aFu/fn0qKyvrPdeWjqsPYQYAAACFUFlZmZ/85CfZd99906RJk3Tq1Ck/+tGPqvc/9dRTKSsrS7NmzbL77rvnrLPOyqpVq6r3jxw5MsOGDctPf/rT7LXXXtl9991TUVGRtWvXVve5+uqr061btzRt2jRt27bNiSeeWD12zpw5ufLKK1NSUpKSkpI899xz1XdL3HXXXTnkkEPSpEmTPPjgg1myZEk+//nPp23btmnevHn69u2bmTNn1jifDz9mUlJSkl/+8pc54YQTstNOO6Vbt275/e9/nyR57rnncuSRRyZJdtttt5SUlGTkyJEb/a4efPDB9O/fP82aNUvHjh3zjW98I6tXr65x7B/84Ac59dRTs8suu+Sss87KpEmTsuuuu+b3v/99evTokSZNmuSFF17Ia6+9llNPPTW77bZbdtpppwwdOjTPPPNM9VwbG7c9CTMAAAAohO9+97u59NJLc8EFF2ThwoW55ZZb0rZt2yTJ6tWrM2TIkOy222559NFH85vf/CYzZ87MqFGjasxx7733ZsmSJbn33ntzww03ZNKkSZk0aVKS5LHHHss3vvGNXHzxxVm8eHGmT5+eAQMGJEmuvPLKHHbYYTnzzDOzbNmyLFu2LB07dqye9/zzz8+ll16aRYsWpWfPnlm1alWOO+64zJo1K0888USOPfbYlJeXb/ZH/kUXXZQvf/nL+dOf/pTjjjsup5xySl599dV07Ngxv/vd75IkixcvzrJly3LllVfWOseSJUty7LHH5otf/GL+9Kc/ZcqUKXnwwQc3+C5++tOfplevXnniiSdywQUXJEnWrFmTH//4x/nlL3+Zp59+Om3atMnIkSPz2GOP5fe//33mzp2bqqqqHHfccTVCoNrGbU+l23V2AAAACqHyH//IO3/96z/9uE26dk2DZs022++tt97KlVdemfHjx2fEiBFJkn322SdHHHFEkuSWW27J22+/nRtvvDE777xzkmT8+PEpLy/Pj3/84+rQY7fddsv48ePTsGHD7Lfffvnc5z6XWbNm5cwzz8wLL7yQnXfeOccff3xatGiRzp07p3fv3kmSli1bpnHjxtlpp52y5557blDfxRdfnKOPPrp6u1WrVunVq1f19g9+8INMnTo1v//97zcIFT5o5MiRGT58eJJk3Lhxueqqq/LII4/k2GOPTatWrZIkbdq0ya677rrROS655JKccsop1et7dOvWLVdddVUGDhyYa665Jk2bNk2SlJWV5Vvf+lb1uAceeCBr167N1VdfXV37M888k9///vd56KGH8tnPfjZJcvPNN6djx4657bbb8qUvfSlJNhi3vQkzAAAAyDt//Wue++KJ//Tjdvndb9Ns//0322/RokV55513ctRRR210f69evaqDjCQ5/PDDU1lZmcWLF1eHGfvvv38aNmxY3WevvfbKU089lSQ5+uij07lz53Tt2jXHHntsjj322OpHPjanT58+NbZXrVqVsWPH5s4778yyZcuybt26/OMf/9jsnRk9e/as/nvnnXfOLrvskhUrVmz2+B/05JNP5k9/+lNuvvnm6raqqqpUVlZm6dKl6d69e601J0njxo1r1LBo0aKUlpamX79+1W277757Pv3pT2fRokUbHbe9CTMAAABIk65d0+V3v90hx62LZnW4e6MuGjVqVGO7pKSkerHKFi1a5PHHH899992Xe+65JxdeeGHGjh2bRx99dJN3QiSpEaIkybnnnpsZM2bkpz/9afbdd980a9YsJ554Yq0Lbda1vrpatWpV/s//+T/5xje+scG+Tp06bbTm5L3vuaSkpF7H25pxW0qYAQAAQBo0a1anOyR2lG7duqVZs2aZNWtWvva1r22wv3v37pk0aVJWr15d/SP9oYceSoMGDfLpT3+6zscpLS3N4MGDM3jw4IwZMya77rprZs+enS984Qtp3Lhx1q9fX6d5HnrooYwcOTInnHBCkvcChueee67OddSmcePGSbLZGg4++OAsXLgw++6771YdL3nve123bl3++Mc/Vj9m8sorr2Tx4sXp0aPHVs+/pSwACgAAwEde06ZN853vfCfnnXdebrzxxixZsiQPP/xwrrvuuiTJKaeckqZNm2bEiBFZsGBB7r333nz961/PV7/61epHTDbnjjvuyFVXXZX58+fn+eefz4033pjKysrqMKRLly754x//mOeeey4rV67c5B0T3bp1y6233pr58+fnySefzMknn7zVryvt3LlzSkpKcscdd+Tll1+u8aaWD/rOd76TP/zhDxk1alTmz5+fZ555Jrfffvsm1+rY1Hl8/vOfz5lnnpkHH3wwTz75ZL7yla+kffv2+fznP79V57M1hBkAAAAUwgUXXJBvfetbufDCC9O9e/ecdNJJ1etJ7LTTTrn77rvz6quvpm/fvjnxxBNz1FFHZfz48XWef9ddd82tt96asrKydO/ePddee21+9atfZf///x0r5557bho2bJgePXqkdevWm1z/4vLLL89uu+2Wz372sykvL8+QIUNy8MEHb9X5t2/fPhdddFHOP//8tG3bdqPhRM+ePTNnzpz85S9/Sf/+/dO7d+9ceOGFadeu3RYdd+LEiTnkkENy/PHH57DDDktVVVWmTZu2wSMx/0wlVVVVVTvs6HzkvPnmm2nZsmXeeOON7LLLLju6nE1au3Ztpk2bluOOO26H/kMEW8L1S5G5fiky1y9Ftq2u3zVr1mTRokXp3r17nRa2hG3h/etu6dKlefHFF9O8efOcfvrpSbbsd6g7MwAAAIBCEWYAAAAAhSLMAAAAAApFmAEAAAAUijADAAAAKBRhBgAAwCdQZWXlji6BT5D3X6S6rV6oKswAAAD4BGncuHGSZNWqVTu4Ej5J3nnnnSTJ+vXrt8l8pdtkFgAAAAqhtLQ0e+yxR/73f/83SdK8efM0aOD/c7P9VFZW5m9/+1teeeWVrFu3Lkm2+poTZgAAAHzCdOrUKUmqAw3Y3iorK/PEE0+kXbt2WbNmTTp27LhV8wkzAAAAPmFKSkrSuXPn7Lbbbpk9e3b+9re/pXnz5mnYsOGOLo2PoaqqqqxZsyavvPJKkvfuBurZs+dWzSnMAAAA+ITaZZddMnjw4MycOTPLli2zKCjbTWVlZaqqqtKmTZv0798/++yzz1bNJ8wAAAD4BGvevHmGDRuWdevWVa9nANva2rVrc88996S8vLx6EdqtIcwAAAAgpaWlKS31E5Hto2HDhiktLU1JSck2mc+StQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizPiYOOGEE7LbbrvlxBNPrNG+dOnSHHnkkenRo0cOPPDArF69egdVCAAAANuGMONj4pvf/GZuvPHGDdpHjhyZiy++OAsXLsycOXPSpEmTHVAdAAAAbDvCjI+JQYMGpUWLFjXann766TRq1Cj9+/dPkrRq1SqlpaU7ojwAAADYZj4WYcYll1ySvn37pkWLFmnTpk2GDRuWxYsXb3LMNddck549e2aXXXbJLrvsksMOOyx33XXXNq/t/vvvT3l5edq1a5eSkpLcdtttG/SZMGFCunTpkqZNm6Zfv3555JFHtsmxn3nmmTRv3jzl5eU5+OCDM27cuG0yLwAAAOxIH4swY86cOamoqMjDDz+cGTNmZO3atTnmmGM2uT5Ehw4dcumll2bevHl57LHHUlZWls9//vN5+umna+3/0EMPZe3atRu0L1y4MMuXL9/ocVavXp1evXplwoQJte6fMmVKRo8enTFjxuTxxx9Pr169MmTIkKxYsaK6z0EHHZQDDjhgg8+LL7640eMmybp16/LAAw/k6quvzty5czNjxozMmDFjk2MAAADgo+5j8czB9OnTa2xPmjQpbdq0ybx58zJgwIBax5SXl9fY/tGPfpRrrrkmDz/8cPbff/8a+yorK1NRUZFu3bpl8uTJadiwYZJk8eLFKSsry+jRo3PeeefVepyhQ4dm6NChG6398ssvz5lnnpnTTjstSXLttdfmzjvvzPXXX5/zzz8/STJ//vyNn/wmtG/fPn369EnHjh2TJMcdd1zmz5+fo48+eovmAwAAgI+Cj8WdGR/2xhtvJHlvjYi6WL9+fSZPnpzVq1fnsMMO22B/gwYNMm3atDzxxBM59dRTU1lZmSVLlqSsrCzDhg3baJCxOe+++27mzZuXwYMH1zjW4MGDM3fu3C2a84P69u2bFStW5LXXXktlZWXuv//+dO/evda+EyZMSI8ePdK3b9+tPi4AAABsTx+LOzM+qLKyMmeffXYOP/zwHHDAAZvs+9RTT+Wwww7L22+/nebNm2fq1Knp0aNHrX3btWuX2bNnp3///jn55JMzd+7cDB48ONdcc80W17py5cqsX78+bdu2rdHetm3b/PnPf67XXIMHD86TTz6Z1atXp0OHDvnNb36Tww47LOPGjcuAAQNSVVWVY445Jscff3yt4ysqKlJRUZE333wzLVu23OJzAgAAgO3tYxdmVFRUZMGCBXnwwQc32/fTn/505s+fnzfeeCO//e1vM2LEiMyZM2ejgUanTp1y0003ZeDAgenatWuuu+66lJSUbOtT2CIzZ86stX1zj7kAAABA0XysHjMZNWpU7rjjjtx7773p0KHDZvs3btw4++67bw455JBccskl6dWrV6688sqN9l++fHnOOuuslJeXZ82aNTnnnHO2qt499tgjDRs23GAB0eXLl2fPPffcqrkBAADg4+pjEWZUVVVl1KhRmTp1ambPnp299957i+aprKzMO++8U+u+lStX5qijjkr37t1z6623ZtasWZkyZUrOPffcLa67cePGOeSQQzJr1qwaNcyaNavWtTsAAACAj8ljJhUVFbnlllty++23p0WLFnnppZeSJC1btkyzZs0yfvz4TJ06tUZo8N3vfjdDhw5Np06d8tZbb+WWW27Jfffdl7vvvnuD+SsrKzN06NB07tw5U6ZMSWlpaXr06JEZM2akrKws7du33+hdGqtWrcqzzz5bvb106dLMnz8/rVq1SqdOnTJ69OiMGDEiffr0yaGHHporrrgiq1evrn67CQAAAFDTxyLMeH8RzkGDBtVonzhxYkaOHJmVK1dmyZIlNfatWLEip556apYtW5aWLVumZ8+eufvuu2t9bWmDBg0ybty49O/fP40bN65u79WrV2bOnJnWrVtvtLbHHnssRx55ZPX26NGjkyQjRozIpEmTctJJJ+Xll1/OhRdemJdeeikHHXRQpk+fvsGioAAAAMB7PhZhRlVV1Sb3jx07NmPHjq3Rdt1119XrGLWFHEnSu3fvTY4bNGjQZusbNWpURo0aVa96AAAA4JPqY7FmBgAAAPDJIcwAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzAAAAgEIRZgAAAACFIswAAAAACkWYAQAAABSKMAMAAAAoFGEGAAAAUCjCDAAAAKBQhBkAAABAoQgzPgZOOOGE7LbbbjnxxBM32Ld06dIceeSR6dGjRw488MCsXr16B1QIAAAA244w42Pgm9/8Zm688cZa940cOTIXX3xxFi5cmDlz5qRJkyb/5OoAAABg2xJmfAwMGjQoLVq02KD96aefTqNGjdK/f/8kSatWrVJaWvrPLg8AAAC2qR0eZlxyySXp27dvWrRokTZt2mTYsGFZvHjxVvXv0qVLSkpKNvhUVFRU9xk7duwG+/fbb79tfn73339/ysvL065du5SUlOS2227boM+ECRPSpUuXNG3aNP369csjjzyyTY79zDPPpHnz5ikvL8/BBx+ccePGbZN5AQAAYEfa4WHGnDlzUlFRkYcffjgzZszI2rVrc8wxx2x0bYe69H/00UezbNmy6s+MGTOSJF/60pdqzLX//vvX6Pfggw9utM6HHnooa9eu3aB94cKFWb58+UbHrV69Or169cqECRNq3T9lypSMHj06Y8aMyeOPP55evXplyJAhWbFiRXWfgw46KAcccMAGnxdffHGjx02SdevW5YEHHsjVV1+duXPnZsaMGdXfBQAAABTVDn/mYPr06TW2J02alDZt2mTevHkZMGDAFvVv3bp1jT6XXnpp9tlnnwwcOLBGe2lpafbcc8/N1lhZWZmKiop069YtkydPTsOGDZMkixcvTllZWUaPHp3zzjuv1rFDhw7N0KFDNzr35ZdfnjPPPDOnnXZakuTaa6/NnXfemeuvvz7nn39+kmT+/PmbrbE27du3T58+fdKxY8ckyXHHHZf58+fn6KOP3qL5AAAA4KNgh9+Z8WFvvPFGkvfWd9gW/d999938z//8T04//fSUlJTU2PfMM8+kXbt26dq1a0455ZS88MILtc7RoEGDTJs2LU888UROPfXUVFZWZsmSJSkrK8uwYcM2GmRszrvvvpt58+Zl8ODBNY41ePDgzJ07d4vm/KC+fftmxYoVee2111JZWZn7778/3bt3r7XvhAkT0qNHj/Tt23erjwsAAADb00cqzKisrMzZZ5+dww8/PAcccMA26X/bbbfl9ddfz8iRI2u09+vXL5MmTcr06dNzzTXXZOnSpenfv3/eeuutWudp165dZs+enQcffDAnn3xyysrKMnjw4FxzzTX1Ps/3rVy5MuvXr0/btm1rtLdt2zYvvfRSnecZPHhwvvSlL2XatGnp0KFDdRBSWlqacePGZcCAAenZs2e6deuW448/vtY5KioqsnDhwjz66KNbfD4AAADwz7DDHzP5oIqKiixYsGCTa1fUt/91112XoUOHpl27djXaP/joR8+ePdOvX7907tw5v/71r3PGGWfUOlenTp1y0003ZeDAgenatWuuu+66De722BFmzpy50X2be8wFAAAAiuYjc2fGqFGjcscdd+Tee+9Nhw4dtkn/559/PjNnzszXvva1zc6366675lOf+lSeffbZjfZZvnx5zjrrrJSXl2fNmjU555xzNjvvpuyxxx5p2LDhBguILl++vE5reQAAAMAn0Q4PM6qqqjJq1KhMnTo1s2fPzt57773N+k+cODFt2rTJ5z73uc3WsWrVqixZsiR77bVXrftXrlyZo446Kt27d8+tt96aWbNmZcqUKTn33HM3O/fGNG7cOIccckhmzZpV3VZZWZlZs2blsMMO2+J5AQAA4ONshz9mUlFRkVtuuSW33357WrRoUb1WRMuWLdOsWbOMHz8+U6dOrf7Bv7n+76usrMzEiRMzYsSIlJZueJrnnntuysvL07lz57z44osZM2ZMGjZsmOHDh2/Qt7KyMkOHDk3nzp0zZcqUlJaWpkePHpkxY0bKysrSvn37jd6lsWrVqhp3eyxdujTz589Pq1at0qlTp4wePTojRoxInz59cuihh+aKK67I6tWrq99uAgAAANS0w8OM9xfQHDRoUI32iRMnZuTIkVm5cmWWLFlS5/7vmzlzZl544YWcfvrptR7373//e4YPH55XXnklrVu3zhFHHJGHH354g9e6Ju+9YWTcuHHp379/GjduXN3eq1evzJw5s9Yx73vsscdy5JFHVm+PHj06STJixIhMmjQpJ510Ul5++eVceOGFeemll3LQQQdl+vTpGywKCgAA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QhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKRZgBAAAAFIowAwAAACgUYQYAAABQKMIMAAAAoFCEGQAAAEChCDMAAACAQhFmAAAAAIUizAAAAAAKZYvCjCVLluT73/9+hg8fnhUrViRJ7rrrrjz99NPbtDjq5oQTTshuu+2WE088cYN9S5cuzZFHHpkePXrkwAMPzOrVq3dAhQAAALDt1DvMmDNnTg488MD88Y9/zK233ppVq1YlSZ588smMGTNmmxfI5n3zm9/MjTfeWOu+kSNH5uKLL87ChQszZ86cNGnS5J9cHQAAAGxb9Q4zzj///Pzwhz/MjBkz0rhx4+r2srKyPPzww9u0OOpm0KBBadGixQbtTz/9dBo1apT+/fsnSVq1apXS0tJ/dnkAAACwTdU7zHjqqadywgknbNDepk2brFy5st4FXHLJJenbt29atGiRNm3aZNiwYVm8ePFW9a9Ln7Fjx6akpKTGZ7/99qt3/Ztz//33p7y8PO3atUtJSUluu+22DfpMmDAhXbp0SdOmTdOvX7888sgj2+TYzzzzTJo3b57y8vIcfPDBGTdu3DaZFwAAAHakeocZu+66a5YtW7ZB+xNPPJH27dvXu4A5c+akoqIiDz/8cGbMmJG1a9fmmGOO2ejaDnXpX9c5999//yxbtqz68+CDD260zoceeihr167doH3hwoVZvnz5RsetXr06vXr1yoQJE2rdP2XKlIwePTpjxozJ448/nl69emXIkCHVa5EkyUEHHZQDDjhgg8+LL7640eMmybp16/LAAw/k6quvzty5czNjxozMmDFjk2MAAADgo67ezxz867/+a77zne/kN7/5TUpKSlJZWZmHHnoo5557bk499dR6FzB9+vQa25MmTUqbNm0yb968DBgwYIv613XO0tLS7LnnnputsbKyMhUVFenWrVsmT56chg0bJkkWL16csrKyjB49Ouedd16tY4cOHZqhQ4dudO7LL788Z555Zk477bQkybXXXps777wz119/fc4///wkyfz58zdbY23at2+fPn36pGPHjkmS4447LvPnz8/RRx+9RfMBAADAR0G978wYN25c9ttvv3Ts2DGrVq1Kjx49MmDAgHz2s5/N97///a0u6I033kjy3voO26r/xvo888wzadeuXbp27ZpTTjklL7zwQq3jGzRokGnTpuWJJ57IqaeemsrKyixZsiRlZWUZNmzYRoOMzXn33Xczb968DB48uMaxBg8enLlz527RnB/Ut2/frFixIq+99loqKytz//33p3v37rX2nTBhQnr06JG+fftu9XEBAABge6r3nRmNGzfOL37xi1xwwQVZsGBBVq1ald69e6dbt25bXUxlZWXOPvvsHH744TnggAO2Sf+N9enXr18mTZqUT3/601m2bFkuuuii9O/fPwsWLKh1Mc127dpl9uzZ6d+/f04++eTMnTs3gwcPzjXXXLPF57ty5cqsX78+bdu2rdHetm3b/PnPf67zPIMHD86TTz6Z1atXp0OHDvnNb36Tww47LKWlpRk3blwGDBiQqqqqHHPMMTn++ONrnaOioiIVFRV5880307Jlyy0+JwAAANjetvjVFp06dUqnTp22ZS2pqKjIggULNrl2RX37b6zPBx/96NmzZ/r165fOnTvn17/+dc4444xa5+rUqVNuuummDBw4MF27ds11112XkpKSOtW6Pc2cOXOj+zb3mAsAAAAUTb3DjNNPP32T+6+//votKmTUqFG54447cv/996dDhw7bpH995tx1113zqU99Ks8+++xG+yxfvjxnnXVWysvL8+ijj+acc87Jz372s83WujF77LFHGjZsuMECosuXL6/TWh4AAADwSVTvNTNee+21Gp8VK1Zk9uzZufXWW/P666/Xu4CqqqqMGjUqU6dOzezZs7P33ntvdf/6zpkkq1atypIlS7LXXnvVun/lypU56qij0r1799x6662ZNWtWpkyZknPPPbduJ1qLxo0b55BDDsmsWbOq2yorKzNr1qwcdthhWzwvAAAAfJzV+86MqVOnbtBWWVmZf//3f88+++xT7wIqKipyyy235Pbbb0+LFi3y0ksvJUlatmyZZs2aZfz48Zk6dWr1D/7N9a9rn3PPPTfl5eXp3LlzXnzxxYwZMyYNGzbM8OHDaz2/oUOHpnPnzpkyZUpKS0vTo0ePzJgxI2VlZWnfvn3OOeecWs9v1apVNe72WLp0aebPn59WrVqlU6dOGT16dEaMGJE+ffrk0EMPzRVXXJHVq1dXv90EAAAAqGmL18z4oAYNGmT06NEZNGhQvd/s8f4CmoMGDarRPnHixIwcOTIrV67MkiVL6ty/rn3+/ve/Z/jw4XnllVfSunXrHHHEEXn44YfTunXrWs9v3Lhx6d+/fxo3blzd3qtXr8ycObPWMe977LHHcuSRR1Zvjx49OkkyYsSITJo0KSeddFJefvnlXHjhhXnppZdy0EEHZfr06RssCgoAAAC8Z5uEGUmyZMmSrFu3rt7jqqqqNrl/7NixGTt2bJ3717XP5MmTN9vng44++uha23v37r3JcYMGDdpsPaNGjcqoUaPqVQ8AAAB8UtU7zHj/zoL3VVVVZdmyZbnzzjszYsSIbVYYAAAAQG3qHWY88cQTNbYbNGiQ1q1b57LLLtvsm04AAAAAtla9w4x77713e9QBAAAAUCf1fjUrAAAAwI5UpzszevfunZKSkjpN+Pjjj29VQQAAAACbUqcwY9iwYdu5DAAAAIC6qVOYMWbMmO1dBwAAAECdWDMDAAAAKJR6v81k/fr1+a//+q/8+te/zgsvvJB33323xv5XX311mxUHAAAA8GH1vjPjoosuyuWXX56TTjopb7zxRkaPHp0vfOELadCgQcaOHbsdSgQAAAD4f+p9Z8bNN9+cX/ziF/nc5z6XsWPHZvjw4dlnn33Ss2fPPPzww/nGN76xPeqEDby6/G9Z+fSM3L/qLylp4IkpiqWqsjIrn3/e9UshuX4pMtcvReb6ZUsdVPbltGrbcUeXsU3VO8x46aWXcuCBByZJmjdvnjfeeCNJcvzxx+eCCy7YttXBJiyY87t89sZZO7oM2GLtdnQBsBVcvxSZ65cic/2yJeYnKRv+rR1dxjZV7zCjQ4cOWbZsWTp16pR99tkn99xzTw4++OA8+uijadKkyfaoEWp1wMAv5o7nn0+Xzp0l0xROVWVlnnP9UlCuX4rM9UuRuX7ZUgeVfXlHl7DN1TvMOOGEEzJr1qz069cvX//61/OVr3wl1113XV544YWcc84526NGqFWrth2zx/5HZ8Bxx6VRo0Y7uhyol7Vr12bVtGmuXwrJ9UuRuX4pMtcv/D/1DjMuvfTS6r9POumkdO7cOX/4wx/SrVu3lJeXb9PiAAAAAD6s3mHG22+/naZNm1Zvf+Yzn8lnPvOZbVoUAAAAwMbU+0GrNm3aZMSIEZkxY0YqKyu3R00AAAAAG1XvMOOGG27ImjVr8vnPfz7t27fP2Wefnccee2x71AYAAACwgXqHGSeccEJ+85vfZPny5Rk3blwWLlyYz3zmM/nUpz6Viy++eHvUCAAAAFBti9/n06JFi5x22mm555578qc//Sk777xzLrroom1ZGwAAAMAGtjjMePvtt/PrX/86w4YNy8EHH5xXX3013/72t7dlbQAAAAAbqPfbTO6+++7ccsstue2221JaWpoTTzwx99xzTwYMGLA96gMAAACood5hxgknnJDjjz8+N954Y4477rg0atRoe9QFAAAAUKt6hxnLly9PixYttkctAAAAAJtV7zUzBBkAAADAjrTFC4ACAAAA7AjCDAAAAKBQhBkAAABAodQrzFi7dm1KS0uzYMGC7VUPAAAAwCbVK8xo1KhROnXqlPXr12+vegAAAAA2qd6PmXzve9/Lf/zHf+TVV1/dHvUAAAAAbFJpfQeMHz8+zz77bNq1a5fOnTtn5513rrH/8ccf32bFAQAAAHxYvcOMYcOGbYcyAAAAAOqm3mHGmDFjtkcdAAAAAHVS7zDjffPmzcuiRYuSJPvvv3969+69zYoCAAAA2Jh6hxkrVqzIv/7rv+a+++7LrrvumiR5/fXXc+SRR2by5Mlp3br1tq4RAAAAoFq932by9a9/PW+99VaefvrpvPrqq3n11VezYMGCvPnmm/nGN76xPWoEAAAAqFbvOzOmT5+emTNnpnv37tVtPXr0yIQJE3LMMcds0+IAAAAAPqzed2ZUVlamUaNGG7Q3atQolZWV26QoAAAAgI2pd5hRVlaWb37zm3nxxRer2/73f/8355xzTo466qhtWhwAAADAh9U7zBg/fnzefPPNdOnSJfvss0/22Wef7L333nnzzTfzs5/9bHvUCAAAAFCt3mtmdOzYMY8//nhmzpyZP//5z0mS7t27Z/Dgwdu8OAAAAIAPq1eYsXbt2jRr1izz58/P0UcfnaOPPnp71QUAAABQq3o9ZtKoUaN06tQp69ev3171AAAAAGxSvdfM+N73vpf/+I//yKuvvro96gEAAADYpHqvmTF+/Pg8++yzadeuXTp37pydd965xv7HH398mxUHAAAA8GH1DjOGDRu2HcoAAAAAqJt6hRnr1q1LSUlJTj/99HTo0GF71QQAAACwUfVaM6O0tDT/+Z//mXXr1m2vegAAAAA2qd4LgJaVlWXOnDnboxYAAACAzar3mhlDhw7N+eefn6eeeiqHHHLIBguA/su//Ms2Kw4AAADgw+odZvzf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7fPoo49m2bJl1Z8ZM2YkSb70pS9V99l///1r9HnwwQc3WetDDz2UtWvXbtC+cOHCLF++fItrnTJlSkaPHp0xY8bk8ccfT69evTJkyJCsWLGius9BBx2UAw44YIPPiy++uNF5161blwceeCBXX3115s6dmxkzZlR/DwAAAFBUO/yZg+nTp9fYnjRpUtq0aZN58+ZlwIABtY4ZOnRohg4dusl5W7duXWP70ksvzT777JOBAwdWt5WWlmbPPfesU52VlZWpqKhIt27dMnny5DRs2DBJsnjx4pSVlWX06NE577zztqjWyy+/PGeeeWZOO+20JMm1116bO++8M9dff33OP//8JMn8+fPrVOcHtW/fPn369EnHjh2TJMcdd1zmz5+fo48+ut5zAQAAwEfFDr8z48PeeOONJO+t77CtvPvuu/mf//mfnH766SkpKaluf+aZZ9KuXbt07do1p5xySl544YWNztGgQYNMmzYtTzzxRE499dRUVlZmyZIlKSsry7Bhw2oNMupa27x58zJ48OAaxxo8eHDmzp27RXO+r2/fvlmxYkVee+21VFZW5v7770/37t1r7TthwoT06NEjffv23apjAgAAwPb2kQozKisrc/bZZ+fwww/PAQccsM3mve222/L6669n5MiR1W39+vXLpEmTMn369FxzzTVZunRp+vfvn7feemuj87Rr1y6zZ8/Ogw8+mJNPPjllZWUZPHhwrrnmmi2ubeXKlVm/fn3atm1bo71t27Z56aWX6jzP4MGD86UvfSnTpk1Lhw4dMnfu3JSWlmbcuHEZMGBAevbsmW7duuX444+vdXxFRUUWLlyYRx99dIvPBQAAAP4ZdvhjJh9UUVGRBQsWbHbtivq67rrrMnTo0LRr16667YOPfvTs2TP9+vVL586d8+tf/zpnnHHGRufq1KlTbrrppgwcODBdu3bNddddV+Nujx1l5syZtbbX5TEXAAAAKJKPzJ0Zo0aNyh133JF77703HTp02GbzPv/885k5c2a+9rWvbbLfrrvumk996lN59tlnN9lv+fLlOeuss1JeXp41a9bknHPO2ar69thjjzRs2HCDBUSXL19e5/U8AAAA4JNkh4cZVVVVGTVqVKZOnZrZs2dn77333qbzT5w4MW3atMnnPve5TfZbtWpVlixZkr322mujfVauXJmjjjoq3bt3z6233ppZs2Zl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6tUrF154YVatWlXv65o0aZLHH388r776asaPH5/q6upUVVVl5MiRGTt2bL0hoyG2b9+exYsXp6Kios6xKioqsmjRor3a5ycNHjw469evz5///OdUV1fn6aefTp8+fep97cyZM9O3b98MHjz4Cx8XAAAAvkyFihnV1dWZPHlyTjzxxPTr1+8L7au8vDyzZ8/O3LlzM2vWrKxcuTLDhg3L5s2b6319aWlpFixYkGeffTYXXHBBRo4cmYqKisyaNWuvZ9iwYUN27tyZzp0711neuXPnrF27tsH7qaioyLnnnpvHH3883bp1qw0hzZo1y4wZMzJ8+PAMGDAgvXv3zplnnlnvPiorK7Ns2bK89NJLe/1+AAAA4Kuw33/M5JMqKyuzdOnS3T7boqE++fGPAQMGpLy8PGVlZXnggQdyySWX1LtNjx49cu+99+akk05Kr1698qtf/SolJSVfeJYv6oknnvjMdQ39yA0AAAAURWHuzJg0aVIeffTRPPnkk+nWrds+33+7du1y5JFH5s033/zM16xbty6XXXZZxowZk23btuXqq6/+Qsfs0KFDmjZtussDRNetW9egZ3kAAADAN9F+HzNqamoyadKkPPTQQ1mwYEEOO+ywL+U4W7ZsSVVVVbp27Vrv+g0bNuSUU05Jnz598uCDD2b+/PmZM2dOpk6dutfHbNGiRY4//vjMnz+/dll1dXXmz5+foUOH7vV+AQAA4Otsv/+YSWVlZe6777488sgjadOmTe2zJNq2bZsDDjggt99+ex566KE6QWDLli117rBYuXJllixZkvbt26dHjx5JkqlTp2bMmDEpKyvL6tWrM23atDRt2jTjxo3bZYbq6uqMHj06ZWVlmTNnTpo1a5a+fftm3rx5GTlyZA499NB679JoyBxTpkzJhAkTMmjQoAwZMiS33XZbtm7dWvvXTQAAAIC69vuY8fEDNkeMGFFn+d13352JEydmw4YNqaqqqrPu5Zdfzsknn1z785QpU5IkEyZMyOzZs5Mk77zzTsaNG5f33nsvHTt2zHe/+908//zz6dix4y4zNGnSJDNmzMiwYcPSokWL2uUDBw7ME088Ue82DZ3jvPPOy7vvvpvrr78+a9euzTHHHJO5c+fu8lBQAAAA4CP7fcyoqanZ7frp06dn+vTpdZaNGDHic7e7//7792iOU089td7lxx577Gdu05A5ko+eBzJp0qQ9mgcAAAC+qfb7Z2YAAAAAfJKYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqYAQAAABSKmAEAAAAUipgBAAAAFIqY8TVx1lln5ZBDDsk555xTZ/nKlStz8sknp2/fvunfv3+2bt3aSBMCAADAviFmfE1cddVVueeee3ZZPnHixNx4441ZtmxZFi5cmJYtWzbCdAAAALDviBlfEyNGjEibNm3qLHvttdfSvHnzDBs2LEnSvn37NGvWrDHGAwAAgH2m0WPGzTffnMGDB6dNmzbp1KlTxo4dm+XLl+92m6effjpjxoxJaWlpSkpK8vDDD+/xfqdPn56SkpI6X0cdddS+fnsNmjVJZs6cmZ49e6ZVq1YpLy/Piy+++IWPvWLFirRu3TpjxozJcccdlxkzZnzhfQIAAEBja/SYsXDhwlRWVub555/PvHnzsmPHjpx22mm7fbbD1q1bM3DgwMycOfML7ffoo4/OmjVrar+effbZ3c763HPPZceOHbssX7ZsWdatW7fXs86ZMydTpkzJtGnT8sorr2TgwIEZNWpU1q9fX/uaY445Jv369dvla/Xq1Z+53w8//DDPPPNM7rjjjixatCjz5s3LvHnzdvseAQAAYH/X6J85mDt3bp2fZ8+enU6dOmXx4sUZPnx4vduMHj06o0eP/sL7bdasWbp06dKgOaurq1NZWZnevXvn/vvvT9OmTZMky5cvz8iRIzNlypRcc801ezXrrbfemksvvTQXX3xxkuTOO+/MY489lrvuuivXXXddkmTJkiUNmvOTDj300AwaNCjdu3dPkpxxxhlZsmRJTj311D3eFwAAAOwvGv3OjE/btGlTko+e7/Bl73fFihUpLS1Nr169cuGFF2bVqlWfuX2TJk3y+OOP59VXX8348eNTXV2dqqqqjBw5MmPHjq03ZDTE9u3bs3jx4lRUVNQ5VkVFRRYtWrRX+/zY4MGDs379+vz5z39OdXV1nn766fTp06fe186cOTN9+/bN4MGDv9AxAQAA4Mu2X8WM6urqTJ48OSeeeGL69ev3pe63vLw8s2fPzty5czNr1qysXLkyw4YNy+bNmz9zP6WlpVmwYEGeffbZXHDBBRk5cmQqKioya9asvZ5tw4YN2blzZzp37lxneefOnbN27doG76eioiLnnntuHn/88XTr1i2LFi1Ks2bNMmPGjAwfPjwDBgxI7969c+aZZ9a7fWVlZZYtW5aXXnppr98LAAAAfBUa/WMmn1RZWZmlS5d+7rMr9sV+P/nRjwEDBqS8vDxlZWV54IEHcskll3zmvnr06JF77703J510Unr16pVf/epXKSkp2afz7o0nnnii3uUN+ZgLAAAAFMl+c2fGpEmT8uijj+bJJ59Mt27dvvL9tmvXLkceeWTefPPN3e5v3bp1ueyyyzJmzJhs27YtV1999Rear0OHDmnatOkuDxBdt25dg5/nAQAAAN8kjR4zampqMmnSpDz00ENZsGBBDjvssEbZ75YtW1JVVZWuXbt+5ms2bNiQU045JX369MmDDz6Y+fPnZ86cOZk6depez9miRYscf/zxmT9/fu2y6urqzJ8/P0OHDt3r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45rOnTvXtGzZsuaUU06pWb58eeMODf/f7s7fbdu21Zx22mk1HTt2rGnevHlNWVlZzaWXXlqzdu3axh4b6j1vk9Tcfffdta/53//935of/ehHNYccckjNgQceWHPWWWfVrFmzpvGGhk/4vHN41apVNcOHD69p3759TcuWLWuOOOKImr/927+t2bRp0x4dp+T/HwwAAACgEDwzAwAAACgUMQMAAAAoFDEDAAAAKBQxAwAAACgUMQMAAAAoFDEDAAAAKBQxAwAAACgUMQMA+Ebr2bNnbrvttsYe40sze/bstGvXrrHHAIB9SswAAL4SEydOzNixY2t/HjFiRCZPnvyVHf+zfql/6aWXctlll31lcwAAX5yYAQAU2vbt27/Q9h07dsyBBx64j6b55tixY0djjwDAN5iYAQB85SZOnJiFCxfm5z//eUpKSlJSUpK33norSbJ06dKMHj06rVu3TufOnXPRRRdlw4YNtduOGDEikyZNyuTJk9OhQ4eMGjUqSXLrrbemf//+Oeigg9K9e/f86Ec/ypYtW5IkTz31VC6++OJs2rSp9njTp09PsuvHTFatWpXvfe97ad26dQ4++OD84Ac/yLp162rXT58+Pcccc0zuvffe9OzZM23bts3555+fzZs3f+b7/fiukN/+9rfp06dPWrdundNPPz1r1qyp874+fafK2LFjM3HixNqfe/bsmZ/85CcZP358WrdunbKysvznf/5n3n333dqZBwwYkJdffnmXGR5++OH07t07rVq1yqhRo/L222/XWf/II4/kuOOOS6tWrdKrV6/ccMMN+fDDD2vXl5SUZNasWfnLv/zLHHTQQbnppps+8/0CwJdNzAAAvnI///nPM3To0Fx66aVZs2ZN1qxZk+7du2fjxo0ZOXJkjj322Lz88suZO3du1q1blx/84Ad1tv/1r3+dFi1a5Lnnnsudd96ZJGnSpEl+8Ytf5LXXXsuvf/3rLFiwINdcc02S5Dvf+U5uu+22HHzwwbXHmzp16i5zVVdX53vf+17+9Kc/ZeHChZk3b17++Mc/5rzzzqvzuqqqqjz88MN59NFH8+ijj2bhwoX5p3/6p92+523btuWf//mfc++99+bpp5/OqlWr6p3h8/zsZz/LiSeemFdffTV/8Rd/kYsuuijjx4/PX/3VX+WVV17J4YcfnvHjx6empqbOsW+66abcc889ee6557Jx48acf/75teufeeaZjB8/PldddVWWLVuWf/3Xf83s2bN3CRbTp0/PWWedlT/84Q/54Q9/uMezA8C+0qyxBwAAvnnatm2bFi1a5MADD0yXLl1ql99+++059thjM2PGjNpld911V7p3757/+Z//yZFHHpkk6d27d2655ZY6+/zkXQ0f38Fw+eWX54477kiLFi3Stm3blJSU1Dnep82fPz9/+MMfsnLlynTv3j1Jcs899+Too4/OSy+9lMGDByf5KHrMnj07bdq0SZJcdNFFmT9//m7vVtixY0fuvPPOHH744UmSSZMm5cYbb2zIP1cdZ5xxRv76r/86SXL99ddn1qxZGTx4cM4999wkybXXXpuhQ4dm3bp1te91x44duf3221NeXp7koxjUp0+fvPjiixkyZEhuuOGGXHfddZkwYUKSpFevXvnHf/zHXHPNNZk2bVrtsS+44IJcfPHFezwzAOxrYgYAsN/43e9+lyeffDKtW7feZV1VVVVtzDj++ON3Wf/EE0/k5ptvzhtvvJH3338/H374YT744INs27atwc/EeP3119O9e/fakJEkffv2Tbt27fL666/XxoyePXvWhowk6dq1a9avX7/bfR944IG1IaOh29RnwIABtd937tw5SdK/f/9dlq1fv742ZjRr1qx29iQ56qijat/TkCFD8rvf/S7PPfdcnRizc+fOXf79Bg0atMfzAsCXQcwAAPYbW7ZsyZgxY/LTn/50l3Vdu3at/f6ggw6qs+6tt97KmWeemSuuuCI33XRT2rdvn2effTaXXHJJtm/fvs8f8Nm8efM6P5eUlKS6unqPt/nkR0GaNGlS5+ek/odsfnI/JSUln7ns8+b5pC1btuSGG27I2Wefvcu6Vq1a1X7/6X93AGgsYgYA0ChatGiRnTt31ll23HHH5T/+4z/Ss2fPNGvW8P9MWbx4caqrq/Mv//IvadLko0eCPfDAA597vE/r06dP3n777bz99tu1d2csW7YsGzduTN++fRs8z97o2LFjnQeC7ty5M0uXLs3JJ5/8hff94Ycf5uWXX86QIUOSJMuXL8/GjRvTp0+fJB/9uy9fvjxHHHHEFz4WAHwVPAAUAGgUPXv2zAsvvJC33norGzZsSHV1dSorK/OnP/0p48aNy0svvZSqqqr89re/zcUXX7zbEHHEEUdkx44d+eUvf5k//vGPuffee2sfDPrJ423ZsiXz58/Phg0bsm3btl32U1FRkf79++fCCy/MK6+8khdffDHjx4/PSSed9KV/xGLkyJF57LHH8thjj+WNN97IFVdckY0bN+6TfTdv3jxXXnllXnjhhSxevDgTJ07MCSecUBs3rr/++txzzz254YYb8tprr+X111/P/fffn3/4h3/YJ8cHgH1NzAAAGsXUqVPTtGnT9O3bNx07dsyqVatSWlqa5557Ljt37sxpp52W/v37Z/LkyWnXrl3tHRf1GThwYG699db89Kc/Tb9+/fKb3/wmN998c53XfOc738nll1+e8847Lx07dtzlAaLJRx/ReOSRR3LIIYdk+PDhqaioSK9evTJnzpx9/v4/7Yc//GEmTJhQG0969eq1T+7KSD56Xse1116bCy64ICeeeGJat25d5z2NGjUqjz76aP77v/87gwcPzgknnJCf/exnKSsr2yfHB4B9raTm0x/OBAAAANiPuTMDAAAAKBQxAwAAACgUMQMAAAAoFDEDAAAAKBQxAwAAACgUMQMAAAAoFDEDAAAAKBQxAwAAACgUMQMAAAAoFDEDAAAAKBQxAwAAACgUMQMAAAAolP8Hfbmgrqw8FxYAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "specification = OptimisationMethodModel(\n", "\texperiment_name=\"openturns_optimisation\",\n", "\tparameter_spec=parameter_spec,\n", "\tobserved_data=observed_data.dotI.values,\n", "\tmethod=\"kriging\",\n", "\tn_init=20,\n", "\tn_iterations=25,\n", "\tn_out=1,\n", "\tdirections=[\"minimize\"],\n", "\toutput_labels=[\"Number of Infected\"],\n", " calibration_func_kwargs=dict(t=observed_data.day),\n", ")\n", "\n", "calibrator = OptimisationMethod(\n", "\tcalibration_func=objective, specification=specification, engine=\"openturns\"\n", ")\n", "\n", "calibrator.specify().execute().analyze()" ] }, { "cell_type": "code", "execution_count": 113, "id": "4819e025-13fd-4126-8e45-b14639c06037", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
parameterestimateground truth
0beta0.3999790.4
1gamma0.0999780.1
\n", "
" ], "text/plain": [ " parameter estimate ground truth\n", "0 beta 0.399979 0.4\n", "1 gamma 0.099978 0.1" ] }, "execution_count": 113, "metadata": {}, "output_type": "execute_result" } ], "source": [ "openturns_results = pd.DataFrame([\n", " { \"parameter\": estimate.name, \"estimate\": estimate.estimate, \"ground truth\": model.GROUND_TRUTH[estimate.name] }\n", " for estimate in calibrator.get_parameter_estimates().estimates\n", "])\n", "openturns_results" ] }, { "cell_type": "markdown", "id": "cff479f8-8a6e-45e1-86a7-bec717da14a5", "metadata": {}, "source": [ "We can see that OpenTurns is also able to recover the ground truth parameters." ] } ], "metadata": { "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.10.19" } }, "nbformat": 4, "nbformat_minor": 5 }