{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Exercise 11.1 - Solution\n", "## Air-shower reconstruction\n", "Follow the description of a cosmic-ray observatory in Example 11.2 and Fig. 11.2(b).\n", "The simulated data contain 9 × 9 detector stations which record traversing particles from the cosmic-ray induced air shower. \n", "Each station measures two quantities, which are stored in the form of a map (2D array) corresponding to the station positions in offset coordinates:\n", "- arrival time `T`: time point of detection in seconds\n", "- signal `S`: signal strength in arbitrary units\n", "\n", "The following shower properties need to be reconstructed:\n", "- `axis`: x, y, z unit vector of the shower arrival direction\n", "- `core`: position of the shower core in meters\n", "- `logE`: $\\log_{10} (E / \\mathrm{eV})$, energy of the cosmic ray\n", "\n", "Reconstruct the properties of the arriving cosmic rays by analyzing their\n", "air showers:\n", "\n", "### Tasks \n", "1. Set up a multi-task regression network for simultaneously predicting shower direction, shower core position, and energy. The network should consist of a common part to the three properties, followed by an individual subnetwork for each property. Combine the mean squared errors of the different properties using weights $w_j$. \n", "\n", "\n", "2. Train the model to the following precisions:\n", "- Better than $1.5^\\circ$ angular resolution\n", "- Better than $25$ m core position resolution\n", "- Better than $7\\%$ relative energy uncertainty $\\left(\\frac{E_\\mathrm{pred} - E_\\mathrm{true}}{E_\\mathrm{true}}\\right)$\n", "\n", " Estimate what these requirements mean in terms of the mean squared error loss and adjust the relative weights in the objective function accordingly. \n", "\n", "3. Plot and interpret the resulting training curves, both with and without the weights $w_j$ in the objective function.\n", "\n", "##### Hint: using a GPU for this task may be advantageous!" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "keras version 2.4.0\n" ] } ], "source": [ "from tensorflow import keras\n", "import numpy as np\n", "from matplotlib import pyplot as plt\n", "\n", "layers = keras.layers\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Download data" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import os\n", "import gdown\n", "url = \"https://drive.google.com/u/0/uc?export=download&confirm=HgGH&id=1nQDddS36y4AcJ87ocoMjyx46HGueiU6k\"\n", "output = 'airshowers.npz'\n", "\n", "if os.path.exists(output) == False:\n", " gdown.download(url, output, quiet=True)\n", "\n", "f = np.load(output)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Input 1: arrival times" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(200000, 9, 9)\n" ] } ], "source": [ "# time map\n", "T = f['time']\n", "T -= np.nanmean(T)\n", "T /= np.nanstd(T)\n", "T[np.isnan(T)] = 0\n", "\n", "print(T.shape)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Plot four example arrival time maps" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "nsamples=len(T)\n", "random_samples = np.random.choice(nsamples, 4)\n", "\n", "def rectangular_array(n=9):\n", " \"\"\" Return x,y coordinates for rectangular array with n^2 stations. \"\"\"\n", " n0 = (n - 1) / 2\n", " return (np.mgrid[0:n, 0:n].astype(float) - n0)\n", "\n", "\n", "for i,j in enumerate(random_samples):\n", " plt.subplot(2,2,i+1)\n", " footprint=T[j,...]\n", " xd, yd = rectangular_array()\n", " mask = footprint != 0\n", " mask[5, 5] = True\n", " marker_size = 50 * footprint[mask]\n", " plot = plt.scatter(xd, yd, c='grey', s=10, alpha=0.3, label=\"silent\")\n", " circles = plt.scatter(xd[mask], yd[mask], c=footprint[mask], \n", " cmap=\"viridis\", alpha=1, label=\"loud\")\n", " cbar = plt.colorbar(circles)\n", " cbar.set_label('normalized time [a.u.]')\n", " plt.grid(True)\n", "\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Input 2: signals" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(200000, 9, 9)\n" ] } ], "source": [ "# signal map\n", "S = f['signal']\n", "S = np.log10(1 + S)\n", "S -= np.nanmin(S)\n", "S /= np.nanmax(S)\n", "S[np.isnan(S)] = 0\n", "\n", "print(S.shape)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZoAAAEfCAYAAAB4ewAIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABVEElEQVR4nO2deZhcRdX/P6d7MjNJZhKWhAAChlVB5BUYEV4Wh/WNyOKKQRF4QSIoyo4ivoAgCggiuwZBUVFEFonIqjBsP0ESdggCsmNCJhCG6SQzPd19fn/U7U5PT9/ebt++1T31eZ5+0t23TtXpO/ebc6tu1SlRVRwOh8PhCItY1A44HA6Ho7VxgcbhcDgcoeICjcPhcDhCxQUah8PhcISKCzQOh8PhCBUXaBwOh8MRKi7QOBwOhyNUXKBxOBwOR6i0Re2AwxEGIvJ+uSLAIlXdrBH+OBzNSj205AKNo1X5t6puXaqAiDzeKGccjiYmsJbEpaBxtCIispGqvhy0jMMx3qmHllygcTgcDkeoRDJ0Nm3aNJ05c2aobSxfvpzJkyeH2obN7TfChwULFixV1el+x2eJ6NJCG7hTVWeF5lQFiMhcVZ0TpQ/1ImwtjYfr2Ib2S2mpmI6gubQUSaCZOXMm8+fPD7WNvr4+ent7Q23D5vYb4YOIvFbq+FJgvhTYKNNCc6hyfhG1A/UibC2Nh+vYhvZLaamYjqC5tFS36c0iEheRx0Xk1nrV6WgBYgUvC1DVBVH7UAqnJccYCnXUZFqqZ4/mGGAhMKVaw0QiQSKRoKuri66urpawSaVSOTvbfGuEDWAmPcYLvktXbl4PROReYMyDSFXdrbGeVIXTUp7NuNdSMR1BU2mpLoFGRNYDPg2cDRxfjW0ikWDhwoWICKrK5ptvXvYP0Aw2yWSShQsXWulb2DajiP7O68S8953A54FURL6UxWlprI3TEjboCAJoqV49mp8BJwPdfgVEZA4wB2DGjBn09fUBkEqlSCaTxONx0uk0AwMDtLWVdqsSm0QikWsjzHb8bFKpFP39/aG3Y+M5yCFELpAiXfuHROSfkThTGT/DIi0VXkNhtVPKJmotRXkOACt0BMG0FDjQiMg+wBJVXSAivX7lVHUuMBegp6dHsw/XwrozKHyA1+i7lv7+fqZPnx7p3VFU52AUEQtERNbI+xgDtgWmRuROSWzUUrEH4eNNS1GegxwWBJogWqpHj2ZHYD8R2RvTnZoiIr9T1YMqMe7q6mLzzTevatyyGWwGBgYqvpCa4ffU7RlN41mAGVcWTDf/FeDwSD3yx2mpiM2415IdOoIAWgocaFT1FOAUAO8u7MRKhZGl6v/AmsCmra2tKjvbf0+1NjmiHzrbMFoPKsdpqbiN0xKR6wiCackC9x0tjYVTMkVk7ah9cDiqwtLpzZVqqa7uqmqfqu5TzzodTUy2y5//soOronagHE5LjhzFdNRkWnLZmx3hYsmdVz6q+umofXA4qsJCHUHlWnKBxhEelkzLBBCRtTAP2AFQ1dcjdMfhqByLdAS1acki9x0tScTdfRHZT0RexMyQuQ94Fbi98Z44HAGwYOgsiJZcoHGER/ZOLNoHmGcB2wMveLNmdgcejsQTh6MWiumoybTkAo0jXKIXx4iqvgPERCSmqvcCPZF44nDUih2BpmYtWRFoEokEixcvJpFItIxNNhGgjb41wgaoedaZiMwSkX+JyEsi8t0ixzcQkXu9DMdPeQsc/XhPRLqA+4FrReQiYHl1P6R5sPmacFqqUUv2zDqrWUuRTwawOaGdSwTY+BQ0IhIHLgP2BN4EHhWRear6XF6x7wPXq+oVIrIFcBsw06fK/YGVwHHAVzApM86szqvmwOZrwmmp+VPQEEBLkbufSCQQEbq7uxGRiiJ9M9jE43FrfQvbJkdtz2i2A15S1ZdVNQlch7nA81FWpdCfCvzHrzJVXa6qGVVNqeo1qnqx1/1vOWy+JpyWAmjJkmc0QbQUeaDp6upCVRkcHERVK84ZZLtNOp221rewbUZRvTg+ALyR9/lN77t8zgAOEpE3Mb2ZbxVWIhVsGlZJmWbC5mvCaSmgliIMNPXQUuRDZzYntHOJAENJqjlNRObnfZ7rZSOuhgOBX6vqBSKyA/BbEdlSVTN5ZXYSkXllvNuiynatxuZrwmmpqZNqBtZS5IEG7E5o5xIB1j2p5lJVLTVT5S1g/bzP63nf5XM4MAtAVf8hIp3ANGBJXpnC4bZiJCso01TYfE04LTU2qaaIzAIuwoSpX6rqOQXHjwS+idmrMwHMKXgWmiWwlqwINI4WpnqBPApsKiIbYgLMbODLBWVex8zh/7WIbI5ZpdyfX0BV76vFXYfDSsKZVPN7Vf25V34/4Kd4N3D51ENLkT+jcbQwNUxvVtUUcDRwJ7AQM7vsWRE50xMDwAnAESLyJPAH4FBVHbOXucPREtQ2vbnspBpVfT/v42TMJJtQcD0aR7jUcCujqrdhHvLnf3da3vvnMJuEORzjg+p1VGxSzScKC4nIN4HjgXZgtxq9K4vr0TjCw44UNKvcEVldRLaK1guHo0r8pzdPE5H5ea851Vatqpep6sbAdzDr0ypzqUotuR6NI1wi3jdDRPqA/TDX+gJgiYg8pKrHR+qYw1ENxXVUamJNJZNq8rkOuKKUC0G0FPgeU0TW99KBPCciz4rIMUHrdLQIdvRopnpj0Z8DfqOqnwD2iMSTMjgtOYpS24LN3KQaEWnHTKoZNUVZRDbN+/hp4MUyddaspXr0aFLACar6mIh0AwtE5G6faXKO8Ub0g7NtIrIOcABwatTOlMFpyVGcKnWkqikRyU6qiQNXZyfVAPNVdR5wtIjsAYwAy4BDylRbs5YCBxpVXQQs8t4PishCzIOoisWRSCSqXsRku002EaCNvjXCBrBhoRmYXEx3Ag+q6qMishHl79wiwWmpuM2411KNOqpgUk21PeaatVTXZzQiMhPYGnikUhubE9q5RICNT6pZb1T1T8Cf8j6/DHw+Oo8qw2nJaWkU0Y8MBNJS3QKNmPTRNwLHFszPzh6fA8wBmDFjBn19fQCkUimSySTxeJx0Os3AwABtbaXdqsQmkUjk2gizHT+bVCpFf39/6O3YeA5yRLgFrYhcQol1Aar67Qa6UxU2aanwGgqrnVI2UWspynMARL6Vcz20VJdAIyITMMK4VlVv8nFmLjAXoKenR3t7e4Hw7gz6+vrIthFmO342/f39TJ8+PdK7o6jOwSiiGzqbX76IfdimpcJrKKx2StlEraUoz0GOaIegA2spcKAREQGuAhaq6k+rtbc5oV0Qm3GfCBAivRNT1Wuiabl2nJaK24x7LUXco6mHlurRo9kR+CrwtIg84X33Pe9BVEXYnNCuVhuXCNAj+kWa0zGL0bbA5EQDQFVDWwUdAKelIjZOS0SuIwimpXrMOnsQE3MdjrFEL5BrgT9i1gkciZnC2V/SIiKclhy+RK8jCKAlO9x3tCY1JNUMgTVV9SpgRFXvU9XDCDGnk8NRd2pLqhkGNWvJpaBxhEfEY8seI96/i0Tk05htn9eI0B+Hozrs0BEE0JILNI5wiV4gPxSRqZitBS4BpgDHReuSw1El0esIAmjJBRo/kq/D29+HgRtBkzBxG5jxQ+jeM2rPmocaVzSX2xnQK3MAcAZmfv+Tqlq4ORoAqprdy3wA2LV6bxyOiLEjw0YgLblAU4zka/DSNpAewOxyCqz8J7z2GVj3cljDJyWQKqQuhZHzIHMCDF8N7ReCrFmmwfeAXwPvY56zbVuXn2EFIewM6CUDPAXYUVWXichaJeqbDhwBzCTvevfGlx2NInMr6K3ANIh9C2RGSA09AtyBGdE5FOgOqZ0GY0GPJoiWrAg01uUZWnwypN8DMqO/1xWw6GhY7QCITRxrl/oZjHwfWAGk0dR1SOZJ6HwCxG8y0TJgK1T7MUOg5yByPbBP/X5PBDY5qhdIbmdAABHJ7gyYn+/rCOAyVV0GoKpLStR3C/AA8Ddydw2ti5XXRPpCUKML1TY0M5dY2zPgf38wqp3Kc539CTgE1WFgAqo/JRZ7ikqCjZXnLR8LAg0BtBR5oLEuz5AqvP9nxgSZHDFI/B2mFAkEI+digoxBZATN/BvJzIf4x33q+yWqSxBJep9XkskcTSxWOtBYd96KUVuXv5KdATcDEJGHvBbOUNU7fOqbpKrfqdqLJsTKa0IV9HvAEAAiKTSzjOGhS+iYeFZF7VSe6+zbwErvnm6YTGYRw8NX0tFRersUK89bPpYMnRFAS5HHyUQigYjQ3d2NiJBIJCK2SYOO+BwDUMgM+hwbk5YK1RiwtER97wDJgu/86l+FfefNhxB2BcTcIG0K9AIHAleKyGo+ZW8Vkb1raKPpsPOaSFN4fcdiKUZGSnVCR7cTj8cr9G20bmKxFMlk+WUedp63AqrfjyYMatZS5IGmq6sLVWVwcBBVrTiVQ2g20gbtm/lXpCMwcbvix2J7ojr61kMkBbGdSni2D7BqGC6d7iCVKv+3tO68FaP4xmdLVbUn7zW3wKqSnQHfBOap6oiqvgK8gAk8xTgGI5CVIvK+iAyKyNg7ghbAymtC2oDtUZ2Q+yqd6STeVn5oONtOOp2u0Le9Ue3Ifcpk2ojHP1VxO1adt3xq2/gsDGrWUuRDZ1bmGVr7h/DGIeaZTD7SAZN3hY6Ni9u1X4EM74RmlgIxVDuRjt+BlBoj3gmRq8lkjgVWkMnsQ3v7lfX9PQ22GUX1Xf7czoCYADMbKJxR9mdMT+ZXIjINM5T2crHKVLVFngaXx9prIn4Lkv4cqg+hOpGR9I+ZOGnfitupPNfZrxA5DNXbyWQmk0z+lEmTdqn/72mgTQ4Lhs6CaCnyQAMW5hma+gUz8+zt74NMAE0DCpN3hg3+6G8XWxc6X0QyD0DsPWTSIvAd0clnNrHYbFNFFXcq1p23QmpYaKaV7Qx4J7CXiDyHGZs5SVXfKeqCyDZFvh4AXlPVVHXe2Y+V14RMg7b7EVVEZFWSrArbqTzX2WTgj4hAPA4Ti8zXKdWOdectiyULNoNoyYpAYyXTT4A1vgaDt0FmBUzaETo/XN5O4hD7JHBfhUGmxalBIFp+Z0AFjvde5bgc2AZ42vv8UeAZYKqIHKWqd1XvoaMmfGdeOspiQaAhgJbscN9W4lNhtQNhjcPLB5l33oHzzoP11oMJE2DBAujqgoMPhiefbIy/tlH8GU2j+Q+wtapuq6rbAh/DDLPtCZwXiUcORzXY84ymZi25QBMUVTjrLBNgzjgD3noL0t4U8+XL4fe/h//+b9h5Z3j33UhdjYToEwFupqrPZj94Cz8/nF2n43A0BXYk1axZSy7QBOXb34ZzzoGhIVi5cuzxdBpWrIB//hN6emDZssb7GBV29GieFZErROST3uty4DkR6WBVkkCHbbz9ttHVl78Mr70Gf/3rqhu48UaNPRoRmSUi/xKRl0Tku0WOHy8iz4nIUyLydxH5YJkqa9aSCzRB+M1v4OqrTSApRzJpejuf+Uzx4yNvQPL5Mmt4mpDoA82hwEvAsd7rZe+7EVzus8aw7A245RS4cBf4+b7wxE2Q9nl2nMnASSfBzJnwgx/AH/4AS5fC7NmwwQbwxBON9Nweqgw0eamcPoXZqOxAEdmioNjjQI+qbgXcQPmh5EOpUUt1mQxQSRLEpkQVMg8D70FsZ5Cu0cdOP72yIJMlmYRHH4VnnoEttzTfDT8Jiw+GkReANrPuYM0zYerRzf/w1IIVzaq6ErjAexVS5erT8Gk5LT1+I/zmYDNzMzVsvnuxD6ZtDMfeDxOnjC5/8slwxRVmhCCfRMK8PvlJ8/xzk03829QMSAvdQ9emo7KpnFT13rzyDwMHlaowiJYC/zUqjJzNhy6B4S0guRckZ8PQ2pC+fdXxBx+E/ho2akwm4cILzfuR1+GNnSH5FOgQaAIy78HS78LA5XX5GZETUY9GTMI4RORpb2hg1KtxnlROy2npnVfhN1+FkRWrggzAcALefh6uPXx0+f/8By69tPTNWyIB3/te8WO6FFI7Q6odRrogfVngn2AN1Q+dFUvl9IES5Q8Hbi92oB5aqkePppIkiCWxMqFd8pugLwF5XfzkF6FzCcgkuP766nozWdJpuPFGuOoqWHaBCTCF6Ap45zSY+nVvZXUdfk+DbXJEd2N5jPdv+SXo9tBaWrr/Msj4PFdJDcMzt8LgEuj2kmtedVX5XnwmA3/5CwwMwNSpo4+l9wd9FLO0ajmaPgmRjSBWPjuAVeetGMV1NE1E5ud9nlsk00ZZROQgoAf4pE+RwFqqR6CpJAmiL9YmtMvczqggA6jGkczDEN8NFi0yw2e1kM1xtOJufJ+h6TCMvAbtxbMQWHve8olw6ExVF3lvlwIrVTUjIpsBH8bnzs0CWktLL/ZBujCPXx5tHfDWU/DhPcznxx8fO2RWjPZ2M0Fgq61Wfacp0IfJT4YrspLk8I20TywdaKw7b4X462ipqvb4WFWSygkR2QM4FfikmrTXY6iHlhq2YNNLnjgHYMaMGfT19QGQSqVIJpPE43HS6TQDAwO0tZV2qxKbRCKRa6OmdvRHjAkCGoPYMNAHn/407LCDr3livfXoO//84gdFoK8Pkt8GXe5Tg8CbrzD6/51VNOQc1GgziuiHyu8HdhaR1YG7MCluvgR8JVKvAtBILRVeQ1W1M/MIWGd2iR8Sg9eHYbFX/777wo47jik2RkuxmLnRK1wuoD/B7IO3ikxmLWLx0f4XEuo5CGiTo3odlU3lJCJbA78AZpXZaiNLzVqqR6CpKHJ6Xbq5AD09Pdrb2wuEd2fQ19dHto2a2hl5Gh05DREzPJbJTEBlS+ITF5hA8fDDZlaMzx1Y3/nn03viicXr3nhjeOklGHgF+k8cE2wUQTo+Dhv4L3xvyDmo0SaHHakzRFVXiMjhwOWqep6IPBG1Uz5Yp6XCa6iqdv75BvzxBPNMphiT14QfLYa499/Q0qVwzDEwODoL8xgtrbWWeZ4TL7jNTz+Kps9AZAUZjZNOd5FMP8rkLr98qw04BwFtgDBTOf0E6AL+JGbI8nVV3a+UJ7VqqR6BppIkiL5Ym9Cu7WiECWRGfgz6Pin2pX3ixavGkA891CzQrJbJk+HYY837KQfB4O9g6JFcsFE6kFgnzPhVfX9PA21GEX0yQBGRHTB3Xdmnz9F7VZzW0tLWX4Tbz4J3X4V0wejAhEmw/7mrggzA/vubYbFSTJoEJ544NsgAxE9CZFOSyRtJDk9B4seUDTJV/Z4IbHLUcMVWkMppjyqrrFlLgQONX+Sspg4rE9qJwIQjiU04EoAxl//aa8Oee5qFZNU8q8lkTFoaMAk7P3AnDP4BBn4BmUFk0ixY/RhoW7e+v6fBNoAtPZpjMNs+3+zd0W0E3FvGJhJaTksTOuGE/wfXHAQv3gdtnookBp85D/67YNbZhAnmQf+ee5qJNoW6mjgRtt8ejjvOv83YZ2jv/Azt1WTurPT3RGRjiY4ggJbq8oymWOQcF1xwAdx335iuvi+TJsHZZ8OUvLUD0gZTvmperUjEAlHV+zFjy9nPL2O2YrSSltNS1zT45h3w7uvmwX9HF2y8I8QnFC+/ww5mWPq734W//Q06O80zmWnTTIA56SSo5hlhq2BBoAmipXH4F6sjm20Gd90Fe+1l8ppl/LZ/xgSZY49dNWw2HrBgwabDEtbYwLwqYcst4dZbzTq1114z/y5eXHy4bDzQAjqyIE42Odtvb1Yq778/dHSM3gQjFjMBZost4Le/Nb2Z8UYNCzbL5WjKK/d5EVER8Zvi6Whmpk83+QEnThy/QSaLHdmba8b1aOrBppvCTTeZO6/f/haefx7WXNN087/4Rdh226g9jIYaxpbzVsfviVlH8qiIzPMyxeaX68aMGT9SF18d4ZNOQSze/KmVGo09z2hqxgWaejJ9Onx7Niy/AeZ3wuz9oKPYpnTjiOoFUunq+LOAc4GTilUiIpdQuKgiD1W19jlNS6EK/7wK7vkRLHsVYm3wkf1g1o9g+mZRe9c8RBho6qGlJo+TYZME/gr8EbPnTxkGLoY3NoZ3vwPpt2DRXrBoV8gU2T4gn/Q9MDQLVn4cRn4KWmI1dTORHVuubg+NsjmavC1l11fVv5aoZz6wAOjE7Ar4ovf6GEUmEToqRBVG/gLLD4OV/weZN0uXv+komHcsLHsFUMiMwDM3w8U9sPiZ0rapv8PwqaBvmzxm45ViOmrsSGJgLVnRo7Ezz9AK4L9R/Teqprcvcg/w8eLFh+fDu6eMzl2my80amXe/A9MuLm6XugGSh3jtgSafRdJ3Qecddf49jbXJMfZWJlB+JhGJAT/FpCf3RVWv8cofBeyU3dNcRH4OPFBpe81G6H/flcdA8mpgOartMHwR0r0A4kXWq/znCXjstyapZj6aMYs4b/w6fPOh4u0kL4DkaSgrQC8gs3wLYpOehNg69f09TWADRNolqIeWIg809uYZugTVfyEylBtSTqe/Qjz+QvHiA5cUT5DJEAxeDWteCFLkNmTkJLJBBkx+Jk0/gGSehthH6/h7IsgMAMUEUio/E5RfHd8NbAn0eauZ1wbmich+qpofwLKsDkwBsvlKurzvWo7Q/76ZxZC8EjDXuUiSjKZIJf6PCVOvG1v+kSsh5Ze7TOGtx+D9RTClIHjoICS/BySRbFl9l+SK79LedU39fk8T2OSwY+ypZi1F7n4ikUBE6O7uRkRIJHzSVTTc5iVERotEZJFPWWDkZfIT+o1Ch01G5qLHxmQYQYlD5qWS3tl73vKobegstzpeRNoxq+PnZQ+q6oCqTlPVmao6E7OPhl+QATgHeFxEfi0i1wCPAT+q/Ec0D6H/fTMvUzhSEpMMpH2GwAbeNL0XP+LtsLzIkJguAUavs4lJGk39278uD5t1UbOWoh86y1KzliIPNF1dXagqg4ODqGrFqRzCt9kJ1Um5T6pxMpn/8i/e+Ql8hytjq4/eNG3UsY+N+UpIQqz0jF17z1sBVU7J9Lrl2dXxC4HrszmaRKRUHia/+n6FyYB8M3ATsEN2KKDVCP3vG/8ohYlmM5kJaNwnk8naW0G8w7++9DCstv7Y72U9Ci+WTKYDafNPYpvFZl0E0pIF05uDaCnyoTN78wwdjMhDqF6Dahz4AG1t1/sXn3I0vP/zsQ/yZTKs/n3/KZ3tV8DQrqgmMZMPJiITjoVYEQEG+j0R5GeqcVpmuRxNBd/3lnTBjK/tAWykqmeKyAYisp2q/rN6z+wm9L+vdMPEn8PKr6O0oaoQW5f27tOLl99+Dtzvk8E83g5b7AcTVyvSTgd03gRDnzG9e2Jo7GO0Tz6rvr+nCWwAa6Y3B9FS5IEGbM0zJMBcRH6EyHLMo4IS/dUJM2Ht22HJlyAzaMpKJ0w9DqZ8y98uti1MfAEZ+R3wDsT3h/j2IfyextoAtqxovhwzprkbcCYwCNyI76yO5ib0v2/HwTBhdyT1N0TWhrY9ij97BNNb+ewV8OdvQCpptnMGk1BzyjrmmB9te8Ckl5DMYxBT4pMf8m8nyO9pAhtLdAQBtGRFoLGbad6rAibuDBu8aWagvfo2fPBtiE0pbydrQ7vPlgLNTvR3Yp9Q1W1E5HEAVV3mPftx1ErsA9B+SGVlP34orLcN3PcTeO1h6OiG7b4GPYdA++Qy7awNsb2BvoqDTMsSvY4ggJZcoKk3EoPO7UD6KgsyrU70Ahnxsg0ogIhMx3fWhiMU1tkKZv82ai+am+h1BAG0ZIf7jtaktlln9eZizMPLtUTkbOBBWnTWmaNFsWfWWc1acj0aR7hEv03AtSKyANgdI9nPqOrCaL1yOKrEgi5BEC1Z4L6jZcnOlolwSqaIXAV0quplqnqpqi4UkTMa74nDUSPFdNRkWgrkroj8RESeF5GnRORmEVktSH2OFiT61Ob/A1wjIgfnfVf1epywcVpylMSCQEMALQV1925gS1XdCngBs82nw2Gw4xnNEmAX4IsicpmItHme2YbTkqM49jyjqVlLgQKNqt6VTbCGSQWyXi31JBIJFi9eXFV6E9ttUqmUtb41wiZH9Hdh4qWt2RfoB/qAqZF4UgKnJX8bpyVq6tGU20BQRHYRkcdEJCUiX6jAi5q1VM/JAIdh8ulXhc0J7YLYJJNJFi5caKVvDUsEaMeK5vw8aWd4DzOPi9CfSnBawmkpR3gbCL6OyYJe6SK+mrVUNtCIyN8wGXILOVVVb/HKnAqkgGtL1DMHmAMwY8YM+vr6AEilUiSTSeLxOOl0moGBAdraSrtViU0ikci1EWY7fjapVIr+/v7Q27HxHIwi4nV2qnp6wee/AH+Jwpdm1FLhNRRWO6VsotZSlOcgR/U6KruBoKq+6h2raC1MEC2V/ZWq6pMxzyAihwL7ALuraqld2OYCcwF6enq0t7cXCO/OoK+vj2wbYbbjZ9Pf38/06dMjvTuK6hzkiLBHIyIPqupOIjLI6N0BBVBVbfhq2mbUUuE1FFY7pWyi1lKU5wAopaNSezsV20DwE+UbK9J8HbQUaOhMRGYBJwOfVPXLg18amxPaBbEZGBio+EJqht9TU1JNiCzQqOpO3r/d0XhQHU5L/jZOS/jpqNzeTnWhHloK+ozmUqADuNsk9uRhVT2y2kpsTmhXq01bW1tVdrb/nmZLqikia5Q6rqrvljoeAU5LPjbjXku16ajcBoKVN18HLQUKNKq6SRB7xzighh6Nd3d/EUZev1TVcwqOHw98DfMsox84TFVfK6hmAaabX2z6pQIbVe9ZeDgtOUpSvY5yGwhiAsxs4Ms1th5YSy4FjSNcwpkt8zjQo6orxOxjfh7wpfx6VHXDIG47HFZRpY5UNSUi2Q0E48DV2Q0EgfmqOk9EPo7JXbY6sK+I/EBVP1KkrsBacoHGER61dfkrmS1zb175h4GDSrohsjqwKdCZV8f9VXvmcERBjUPQ5TYQVNVHqXK9Vq1acoHGES5j78RKzZSB6mfLHA7c7ndQRL4GHIMR1BPA9sA/MJs3ORzNQfTr0QJpyQUaR3gUn5ZZt5kyInIQ0AN8skSxYzA7AD6sqruKyIdx2wQ4mgk7Fj5DAC25QOMIl5Bmy4jIHsCpmOnAwyXqG1LVIRFBRDpU9XkR+VDVXjkcUWLHBqM1a8kFGkd41HYnVna2jIhsDfwCmKWqS8rU96aXCfnPmKnDy4DCGWoOh73Y06OpWUtWBJpEIlH1IibbbbKJAG30rRE2OUKYLQP8BOgC/uStOXldVYumK1fVz3pvzxCRezFJAO+ozqvmweZrwmkpgJYsCDRBtBR5oLE5oZ1LBBhNCpoKZsuUTOUyxg0zU2Z9YNB7bQk8Vr1ndmPzNeG01NikmmFRq5Yidz+RSCAidHd3IyIVpc9uBpt4PG6tb2HbjCLiPTRE5CzgKeAS4ALvdX7jPQkfm68Jp6WAWrJgP5ogWoq8R9PV1YWqMjg4iKpWnDPIdpt0Om2tb2Hb5LDjTuwAYGNVTUbtSNjYfE04LQXQkh06ggBasiLQ2JrQLoiNSwToEb1AngFWw+wO2NLYfE04LYWSVLPR1KylyAMN2J3QrlabcZ8IECJNqpnHj4HHReQZIDcN2m/yQLNj8zXhtNTQpJphULOWrAg0jhYm+juxa4BzgaeBijZ4cjisI3odQQAtuUDjCJfoBbJCVS+O2gmHIxDR6wgCaMkFGkd42NHlf0BEfozZ7zy/u99y05sdLYodOoIAWnKBxhEu0d+Jbe39u33ed4pLquloJqLXEQTQUl0CjYicgJlPPV1Vl9ajTkcLEPG0TG9vm3mqemF0XlSH05JjDBZMbw6qpcDui8j6wF7A60HrcrQgES4yU9U0cGBjW60dpyWHLxEv2AyqpXrEyQuBkzFdqJpIJBIsXry4qpWytttk8zPZ6FsjbIBVd2L5r8bzkIhcKiI7i8g22VcknpTHaamIzbjXUjEdNZmWAg2dicj+wFuq+qSX3LBqbM4z5PIzBcx1BpF3+YGPef+emfeddc9onJb8bZyWsEFHEEBLZQONiPwNWLvIoVOB72G6+mURkTnAHIAZM2bQ19cHQCqVIplMEo/HSafTDAwM0NZW2q1KbBKJRK6NMNvxs0mlUvT394fejo3nIIcFY8uqumu0HqyiGbVUeA2F1U4pm6i1FOU5AKzQEQTTUtlf6ZcpV0Q+CmwIZO/A1gMeE5HtVHVxkXrmAnMBenp6tLe3FwjvzqCvr49sG2G242fT39/P9OnTI707iuocjKKGsWQRmQVc5Fn/UlXPKTjeAfwG2BZ4B/iSqr7qU9dU4HRgF++r+4AzVXWges+C0YxaKryGwmqnlE3UWoryHOSIWEde+dq1pKp1eQGvAtMqKbvttttqPoODg7po0SIdHBzUSilnc++991ZtU0s7fjZ33313Q9qJ8hxg9ofx/ztvg+rQ6Fc5G08U/wY2AtqBJ4EtCsp8A/i593428McS9d0I/MCrbyNPKDeV8iHql01aKnYNhdFOKZuotdSIc1BKF8V0VE5L9daRBtSSFetobM4z5PIzBch1BrV0+bcDXlLVlwFE5Dpgf+C5vDL7A2d4728ALhUR8QRbyMaq+vm8zz8QkSeq9qpJsPmacFoKoKXodQQBtFS3kT9Vnalu3r8jn+yK5uqmZH4AeCPv85ved0XLqGoKGADW9KlvpYjslHNJZEdgZUWeRITTkmMUxXRUXkv11hEE0FIkPZoFCxYsFZGw922fBkQp1qjbb4QPHyx1cMEC7pQ40wq+7hSR+Xmf56p55hAWRwK/8caXBXgXODTE9hpKA7Q0Hq5jG9r31ZKPjqCJtBRJoFHV6WG3ISLzVbUn7HZsbd8GH1R1Vg1mb2G2is2ynvddsTJvikgbZu/yd3x8eBL4LxGZ4n1+vwafrCVsLUV9DdngQ9Tt26Ajz4+atWTFMxqHI49HgU1FZEOMEGYDXy4oMw84BPgH8AXgHr9xZW9mzeeBmUBbdo2Kqp5ZrLzD0SLUVUcQTEsu0DisQlVTInI0cCdmJPpqVX1WRM7EzLKZB1wF/FZEXsJ032eXqPIWzNjzAvIyzjocrUwIOoIAWpISAaypEZE5IY9XWt2+LT5EjYg8o6pbRu1Hs2LDNRS1D1G3bwtBtNSygcbhABCRucAlqvp01L44HM1MEC25QONoaUTkOWAT4BVMd18AVdWtInXM4WgygmipZQKNiPwE2BdIYlbE/q+qvlek3KvAIJAGUkFnk9Q7zUOVba/v1T0Dk9xurqpeVFCmFzO2+or31U3j6UG4iBSdNqqqYU+vb0qi0pFXp9OSxQTSUiXpA5rhhUlI2Oa9Pxc416fcq1SY3qOCNuue5qHK9tcBtvHedwMvFGm/F7g16r+PezXHKwodefU5LbXwy4KcoPVBVe9Ss7oV4GHMvPGwyaV5UNUkkE3zkM/+wDXe+xuA3aXWPPAFqOoi9fbrVtVBYCFjV/86HBUTkY7AaamlaZlAU8BhwO0+xxS4S0QWeOnWgxBGmoeaEJGZmD29HylyeAcReVJEbheRj9S7bUfL0igdgdNSS9NU62hK7eehqrd4ZU4FUsC1PtXspKpvichawN0i8ryq3h+Ox41BRLowmVWP1bGrdR8DPqiqCRHZG/gzsGmDXXRYhNORP05L4dBUgUZ99vPIIiKHAvsAu6s3qFqkjre8f5eIyM2YLnutAql7modqEZEJGGFcq6o3FR7PF4uq3iYil4vINHVJG8ctFuoInJZampYZOvNmrJwM7KeqK3zKTBaR7ux7zIPPZwI0m0vzICLtmAeU8wrKZNM8QAVpHqrBG5++Clioqj/1KbN2dhxbRLbD/M3rJk5HaxGRjsBpqaVpqh5NGS4FOjDdeICHVfVIEVkXM1Vyb8zUxZu9423A71X1jlob1HDSPFTDjsBXgadl1b4Q3wM28Pz7OUaQR4lICpPSe3a9xOloSRquI3BaanVaZh2Nw+FwOOykZYbOHA6Hw2EnLtA4HA6HI1RcoHE4HA5HqLhA43A4HI5QcYHG4XA4HKHiAo3D4XA4QsUFGofD4XCEigs0DofD4QiVVsoM4HDkEJHChIhjigCLVHWzRvjjcDQr9dCSCzSOVuXfqrp1qQIi8nijnHE4mpjAWnIpaBwtiYhspKovBy3jcIx36qElF2gcDofDESqRDJ1NmzZNZ86cGWoby5cvZ/LkyaG2YXP7jfBhwYIFS1V1ut/xWSJjNupYAHeq6qzQnKoAEZmrqvXYFTJywtbSeLiObWi/lJaK6QiaTEuqWpcXJrX348Ct5cpuu+22Gjb33ntv6G3Y3H4jfMCkb/f/O4NqbPSrnE0jXsC2UftQxj9rtDQermMb2i+li2I6ajYt1XN68zHAwjrW52gFYgUvC1DVBVH7UAanJcdoCnXUZFqqy9CZiKwHfBo4Gzi+WvtEIkEikaCrq4uurq6WsEmlUjk723xrhA1gJj1GLAgRuRcY8yBSVXeLwJ2yOC2NtRn3WrJARxBMS/V6RvMzzPav3dUaJhIJFi5ciIigqmy++eZl/wDNYJNMJlm4cKGVvoVtM4p45UVD4sS8953A54FURL5Uws9wWhpl47SEDTqCAFoKHGhEZB9giaouEJHeEuXmAHMAZsyYQV9fHwCpVIpkMkk8HiedTjMwMEBbW2m3KrFJJBK5NsJsx88mlUrR398fejs2noMcFtyJFenaPyQi/4zEmTLYqKXCayisdkrZRK2lKM8BYIWOIJiW6tGj2RHYT0T2xkS5KSLyO1U9qMDJucBcgJ6eHu3t7QXCuzPo6+sj20aY7fjZ9Pf3M3369EjvjqI6B6OIfuhsjbyPMWBbYGpE7pTDOi0VXkNhtVPKJmotRXkOclgQaIJoKXCgUdVTgFM8R3qBEwuFUYquri4233zzqsYtm8FmYGCg4gupGX5Pzc9oou/yL8CMKwumm/8KcHikHvngtFTcZtxryQ4dQQAtWZGCpur/wJrApq2trSo7239PtTY5oh862zBaDxqLzdeE01IALVnQowmipbq6r6p9qrpPPet0NDHZseUqp2SKyCwR+ZeIvCQi3y1R7vMioiLSU5VbImtXUz4KnJYcOYrpyILAA5VryRJ3HS1LvOBVBhGJA5cBnwK2AA4UkS2KlOvGrDd5pAavrqrBxuGIjkId2TGUBhVqyQUaR3jU1qPZDnhJVV9W1SRwHbB/kXJnAecCQ9W6paqfrtbG4YgMi3s0lWrJEncdLctYcUwTkfl5r8I8SR8A3sj7/Kb3XQ4R2QZYX1X/WqkbIrKWiGyQfdXwSxyO6LAo0NSiJSsmAzhalOKzZZaqalXPVEZVKRIDfgocWmH5/YALgHWBJcAHMeldPlKrDw5HQ7Fk1lkQLbkejSNcqr8LewtYP+/zet53WbqBLYE+EXkV2B6YV2JCwFlemRe8WTO7Aw9X/gMcDguwo0dTs5ZcoHGES/XieBTYVEQ2FJF2YDYwL3tQVQdUdZqqzlTVmZgLfT9Vne9T34iqvgPERCSmqvcCNfeoHI5IsCPQ1KwlK4bObE5o5xIBNjappqqmRORo4E7MgMHVqvqsiJyJSYs+r3QNY3hPRLqA+4FrRWQJsLzKOpoGm68Jp6XmTqpJAC1FHmhsTmjnEgFGk1RTVW8Dbiv47jSfsr1lqtsfWAkcB3wFkzLjzOq9sh+brwmnpZZIqlmzliKPk4lEAhGhu7sbESGRSLSETTwet9a3sG1y1Lhgs56o6nJVzahqSlWvUdWLve5/y2HzNeG0FEBLNU5vLrfw2Zs1dq+IPC4iT3k59nwJoqXIA01XVxeqyuDgIKpacc4g223S6bS1voVtM4qIAo2I3FqPMs2EzdeE01JALVUZaCpc+Px94HpV3RrzLPRyn7oCaynyobNaEs01g824TwQIUU/L3ElESj3PEYwAWwabrwmnpYYn1cwtfAYQkezC5+fyyigwxXs/FfiPT12BtRR5oAG7E9rVauMSAXpE12culk2gkGToXjQYm68Jp6WGJtUstvD5EwVlzgDuEpFvAZOBPXzqCqwlKwKNo0WJcLaMqt4XTcsOR53x19E0Ecmf1j/X26uoUg4Efq2qF4jIDsBvRWRLVc3kF6qHllygcYSLHbNlHI7mpriOSmXZKLfwGcxeMrMAVPUfItIJTMOs+q8rkU8GcLQwFsw6cziantpmnZVc+OzxOmZ1PyKyOWZX1/66+Z2Hk74jXCwKNCKyuohsFa0XDkcNVBloVDUFZBc+L8TMLntWRM70cpYBnAAcISJPAn8ADlVVrcSdarUUeOhMRNYHfgPMwMximKuqFwWt19ECWJAMUET6gP0w1/oCYImIPKSqx0fqWBGclhxFqVFH5RY+q+pzwI4VuxFAS/W4x0wBJ6jqFpiEa98stlHVuCF1D6zYHTLPwfBPQEfK2+i/IHUEjHwR0teF72Mjib5HM1VV3wc+B/xGVT+B/+yaqHFachTHjlxnNWspsLuqukhVH/PeD2K6aR8obTWaRCLB4sWLq1p1bqVN6i5YuS+k7wFWosnTYeiQ0ja6EEZ60PRVoDegqcMhdXb9fWuwTY7oxdEmIusABwBWL9B0Wipuk811ZqNvDdOSHYGmZi3VddaZiMwEtqaK7XVtzjNUtc3w6cCK3EdhJZq6CcksgdhaxW1SP0R1OSJmaFRkBZr+ARI/BcT/arL2HORjwdAZJhfTncCDqvqoiGwEvBixT2UZ91rKsxn3uc7s0BEE0JJU+OynfEUmq+d9wNmqelOR43OAOQAzZszY9rrrzBBRKpUimUwSj8dJp9O0t7fT1lY6/lViU5jtNax2RpF5Bhg27S9fj67JbwIxiGUndBRBXwTeH/u9bIO5wmr3LexzsOuuuy4oMb2Snimi87cv+Fl3U9LGYZeWCq+hsNopZZNKpWhrawu9nSjPQSktFdMRNJeW6tKjEZEJwI3AtcWEAeAtJJoL0NPTo729vUB4dwZ9fX1k2wiznVEM3YGO/AxhmL5Hz6f34yeSYW1iXW/5905Sz6Hp0xBZ4Z2nGBndknjnCc15DvKJcMGmiFyCeaBeFFX9dgPdqRjbtFR4DYXVTimb/v5+pk+fHllPI8pzAES+TUA9tFSPWWcCXAUsVNWfVmtvc56hqm06TkMyj6HpB4AYGaYTm/TXkkNgxI9CeBFNX2JsdFPiHbfb8XtqtBlFdAKZX76IXTgtFbcZ97nOIOqlAYG1VI8ezY7AV4GnReQJ77vveVPrKsLmPEPVJb+bBJPuQjKvQOx5Yl2LQMoMropA24VI/BxgJXFZLRzfGmwD1Dy2LCKzgIs861+q6jkFx48EvgmkgQQwx5uqmUNVr6m+5chxWipiM+5znUX8jKYeWgocaFT1QUo9TBiPxDYEXisfZPKRDqAjLI+io8o7sbz05ntiEgE+KiLzCgLJ71X15175/YCf4qXSKFLfdOA7mOyyuQdlqrpbdZ6Fj9OSwxcLltYH0ZIF7jtaltpS0OTSm6tqEsimN8/hzeXPMpkS48fAtZhpwhsCPwBexaTncDiagxo3PguBmrXkAo0jXOIFr/IUS28+Zi2JiHxTRP4NnAeUehi5pqpeBYyo6n2qehhgXW/G4ShJoY6iGUqrWUsu0JRiaAU8cQ88ejsseT1qb5qP4j2aaSIyP+81p5aqVfUyVd0Y05X/fomi2dQMi0Tk0yKyNbBGLW06HJFgT4+mZi25bQKKMZKEq06G26+EeJt5YD8yDB/eHo69EtbdpLjde2/BAxfB49fBJifAlefDbifDxrs01n+bGCuIUqnNobL05vlcB1xR4vgPRWQqJoHgJZgdBY8rUd7hsA87ugQ1a2n8BBpNw0gfZN6D9t0gtnrxcukUfP9TsPAfkFw5+tjT98O3Pg6XPDo22LyxAC7fDVJDkE5CJgULb4OX7jXB5n9OL+PfMtDlIOuWng7dTNQ2WyaX3hwTYGYDXx5VrcimqppdkfxpSqxOVtVsqowBYNeqvXGMRZOgT4CsBTKzfPn0fyDxY0jeAbE1YdKx0PklcwNXsp0VkHmE7CLocYslmQGCaKlF/kcrQ/oNeGcjGPgsDB4GSz8AQzcUL3v/n+Bfj4wNMgCagRXvw8VHFtSfgiv3huH3TZBZZQAjK+Ce8+DlB4u3pykYPhhWzoChzWBoI8i8VNPPtJIqu/sVpjc/WkSe9aYAHw/4JpQTkeki8j0RmSsiV2dfgX7TeCZzLyTXgpE9Ibk5jOwDWiIQpN+EpVvByl9A+iUYeQQGvgaDx5ZuJ/1XGF4LRj5j8gEO7wQ6WMa5FZjZ4WsAM7E8tV111DB0JiKzRORfIvKSiHzXp8wBIvKcp6ffl6mvZi1Z0aNJJBJVL2Kqyub9wyHzFmbZRfa7Q6B9L4hNGV32hvNgaLl/XZqB5x6CpW/BNO8Z9cLbYKRIYMoystIEm412KnLsbEjfiBn+HEEzryPDe0Lnv8v2bEI/bwFsgJpXNFeQ3vyYKqq7BXgA+BujLoDWJNS/rw6Z//jzUiZp+u+InAdt/+dT+VmgA5jE1FmWw4q5MPl4iH+wSDuDMHIAq/IGZtDMfCR1Gky4sMQvORz4MzAELEP1AEQeBLYpYeO5abOWatBRJcsERGRT4BRgR1VdJiI+CRlz1KylyANNQ1I5jNxD4XlR4sjI/dCxz+iyb75Q3ukJHfDG86sCzZsLYLjU3ZbCmz6La9N/YVQiTlE0sxjhbWAd3xqtTwSYJfou/yRV/U7UTjSC0P+++vCYr0SGyKSuJeYXaIZvY3SQ8aoijiT7YGKRzmjmQQr/axIZJpO6nljJQHMrJshkSTI8fAsdHaUDTVNoqXod5ZYJAIhIdplA/nq0I4DLVHUZgKqW28K5Zi1FPnSWSCQQEbq7uxGRitJnV20jY/+YqhmIFZkw0TahvNOqJthkmTAJ4mXs2nySasrUIl+mgPIXbejnrUabHHZs5XyriOwdScsNJvy/7xoUCxqplM/zTgCZUvRrRXyufUDWADJjvk6nVyvhG5glVavIZNoYHi6/CNp6LdU266ySZQKbAZuJyEMi8rCXkaMUNWsp8kDT1dWFqjI4OIiqVpwzqCqbiceiTMp9zGgcYutC2w5jy35iH4iVuX1Qhc0+vurzRz8DsRKdw7YO2Pag4scmnI7qxNzHdKaTEQ4E6S7pQkPOW402o4g+0ByDEchKEXlfRAZFpEi67OYn9L+vfBTko6i2575KZzpJyyn+NpOOhjzt5aoiBh0+/6/JdiAborrq5i2d6SRVqh0ALkR1IqpCJtNOKrU6sdihZWyaREvFA03QpQJtwKZAL3AgcKVIyRxYNWsp8qGzhiSnm3waIm3o8gtBl5OJ70XbGlcWn/XyhZPhoZtheMXYYwAdk2C/o6E9705prQ/BpnvAC3ebWWeFTJgIO36jeH3xXZDOO0kNnU4mPYDG9qVjks8wRB5NkQgQIr+VUdXSEbuFCP3vKwIT7kJS/0cmfROp9Jqk+T8mTt7P32bSHBh5AIb+jKIobQiCrPFXEL9evkD7vcjISWh6HmgHI3oFEyf73KzlOBCRDUgm5zE0NIlY7Gt0da1b33PQYJscxXVUaqlAJcsE3gQeUdUR4BUReQETeIqu9g+ipcgDDTQi2WUMJn8fmWzW9ZX80RttBUdfAZceZdbOZPKe7XR2wVafhIPPHGt38B/htwfCv+40EwYAOrqgcyoccRtMWdu/zfjOtE2+p7LfkofViQDBimmZIlJsgH4AeM2b4dZShK+lKTDhImITLqK9fGmT72+138PIs8jIfYisAZ37mQS0Je3WhParTeK3WB+dk3sr848daW/fkfaKnFuF1VoKaZkAZubEgcCvRGQaZijtZV83AmjJikBjHXseDJtuAzdeAI/cCqkkfPAj8IWTYIf9IVbk9qJ9Ihz+Z+h/EZ6dB4MfgIP/BB/aq3j58UL0P/1yzLSjp73PHwWeAaaKyFGqeldkno0nJnzEvCrl1VfhttvgnXdgs83gpptgn32oOoK0ClXqSFVTIpJdJhAHrs4uEwDmq+o879heIvIcZrbUSar6Tolqa9aSCzR+zNwSTvhV9XbTN4XeE6CvDzbvrbdXzUXEGzZ5/Ac4XFWfBRCRLTBb0p4M3AS4QGMT99wDZ50FDz9shtCGhuD88+GMM8wN25FHwoknwrRpUXvaOMJbJqCYdWjHV1hlzVqK/r+BVmPJEpg3D957D556Kmpvoif6RICbZYUB4K0j+HB22qfDIn74Q9h3X3OTNjQEK1eaiTeqMDgIAwPws5/BVlvBixVtVd862JFUs2YtuUDjx8vPwQ/nwKx1YY/pcMQucP9fIDN22iUAb7wBn/0sfPCD8NWvmq7/DjvAFluYIYDxiB3Tm58VkStE5JPe63LgORHpYFWSQEfYpFfCioUw/Ebx4xddBD/+MazwmYSTZXgYFi+GnXaCRYvq76eN2JNUs2YtuUBTjBuugK/2wF9+BUsXwXtL4fEH4NQvwzf3gmRByo1XXoGtt4a//MXcib3/PqTTRjQLF8IXvwhXXRXNb4ma6MVxKPAScKz3etn7bgSX+yx80ivg30fDP6fBU5+ABZvBY1vAsrxRlsWL4bvfLR9ksqjCu+/CCSeMPZZ5F4bugOTDqybltAJ2BJpDqVFLdXG3kpw6kaNLIPUzGPkhZP7pX+7Re+BnJ8LwSpPDLJ+VCXjq/8GPjxr9/ec+B8uWmeBSjBUr4FvfgpeL9DBVIfFLWPRheGsdePcoSJd6HtdEZGfLRNjdV9WVqnqBqn7We52vqitUNaOqVaw+bQxNoSX+A9wM3EexhZU5MiPwzG7w9lWQWQHpQZPGZuVCeP4z8M4tptzcudW7kErBzTcb3YHR0cCpsOgD8O5sWLonvD0TRlpg+LqYjppMS4EDTV5OnU9htvg80HtIVDGJRILFixdXteq8Kht9HYa3QEe+i6bOQId7IXVt8bK/OMPsQ+PH8Eq48w+mlwPw+OPwwgv+Q2pZ0mm45JKx379/Nrx3LKT+BZnF6PKrYMkOJtlmGUI/bwFsckR0FyYi13v/Pi0iTxW+GudJ5TSFlngI+BCqh5DJ7E0qtSe+aa/euQFWPGOCSyGZlfDvIyA9AhdfbEYCqiUWg1//2rxfcQ0svwgYMrnVNIGm34D+XUFL5CH0sF5LEfZo6qGlesw6qySnji+NyXV2IqrvIZIVxEp05GtI/MDRiSsT78MzY/M5jSEeh/vmwf6HmWmXlYgkmYQ//hEuzMvVpCMweI7ZHsBDGEFTi5Ch22Ci/0K4psjPFO2ss2zizX1KlrIL+7XEgUACETMpTPUfDA1dTWfnEWOLLroMMiUS1GaG4PXboJYbGDAjBf/4Bxx3HCRG6wjM5aeaRFb+GSYd6FuN9VqKfvZmYC3VI9AUy6nzicJCXnqEOQAzZsygr68PgFQqRTKZJB6Pk06nGRgYoK2ttFuV2CQSiVwb6K5FXBKQexnVB02NwP+eW753IgLpyWZ2zKabwnnnjSmSWG89+s4/f/SX8bixWdUgjJzJ2C3vBeJDEOvDj6rPQYU2tbRTkogWbKpq9knxUmClqmZEZDPgw8Dt0XhVFuu0VHgNmaH50ddrJjOJWLFrdcVs0M+WaD0Gy5JmEkAJzRXVUpYpU4ymRr6O7zBeXAJpaew5iEBLES58roeWGraORlXnAnMBenp6tLe3FwjvzqCvr49sG4xcj6auRmTVQ/yMTiPWuWR0GpqhlfB/+5qMAKWY1A3fvxJ6e+Gcc+D0002PJb/988+n98QTR9ttuOHo5zSagf98BTKjk6Yqk5G17oSOHet3Diq0qaUdX6K/EwO4H9hZRFbHzPN/FPgS8JVIvQpAI7VUeA3B8ag+iYj5Tz2d7iSZvJaJE3sZw3Pnw7K/+jcemwwb/BX2/wqM+E9aKqqlLF/+MhxxBCw5BUbGjkYoXcia10NnEf88qj8H465Hk6VmLdUj0FS79e4oGpIzqO1cJPMPNPMSqjFElFjHrWNznXVOhF32hXtuKj1jRRV28Ya1DjwQfvCDsj4zcSIcVTCJQGKw2mWw7BBUhxAyKJOQzl5o/++S1TVFfiawQSCiqitE5HDgclU9T8yGaTZiv5a4CZFdUX0bSJFKfZuJEz9XvOi6x8FAn//wWcd6sM7OsP76xSfKlHcePvUp837q2fDOvmZXTg9lAtK2HnT8T5lqmkBL0esIAmipHoGmkpw6JQk/P1M3tP8T0YcRXQ6xHhCflcVf/wE8dLv/5medk+HwU01QArNuZs894a67zBx/P9ra4LDDxn4/+QswYUNk8DLI9COTDjDjyeW2ucXy/ExQc64zL135RZ71L1X1nILjxwNfw+Ss7wcOU9XX/KuTHTB3XYd730W/S05x7NcSM4GXEPkPMJWOjuLbAAAwdTeYdiAs/UNBsIlDfBJ86I/mgf7JJ5upystLPM8phohZOgDQsRus/nsY+Dak3wYU6dwbVruyoq3RrdaSBTkDPWrWUuA46bf1btB6645MgNjOEJ/lH2QANtoCLrkduqbCpLwLor0D2jvhwG/DIQV7/1x7LXz4w6bXUkg8bu68br8d1lyzeJvt28KaV8P0v8Dkr4K0UGagKmfKVDjz6nGgR1W3Am4Axj4kW8UxmF0Eb/ZyPW0E3Fvlr2gITaMl4piOV4kgAyYQbDIXNrkSJn3U02A3rHUIfOwJmPxfptxXvlLRjdUoOjvh61+Hjrws6hP3hxmvwtpvwDrvwpo3Q7xFUtXYsY6mZi3V5X+0Yjl1mpqtd4Y7FsHfroe/3wjJIdiiBz5/FKy9/tjy3d1m9svll8MFF5i5/bGYCTwHHginnAKbbNL432ED1Qui7MwrVc2/uB8GfPPHq+r9mLHl7OeXgW9X7VWDaDkticD0A83Lj64uM3tz//1N2plydHSYG7uzzireXnx67f7aigVDZ0G01EK3znWmcyLsc4h5VcLEiab7f9xxZqXzM8+Y1cudPntujAdqe4hZ0cyrPA7H3llkjkrZc08TbL7wBbMY028YuqvL5Dq7/fbxoy17JgPUTJO7byGxGKy7rklnPl6EUIqxq5mD7gqYQ0QOAnqAn9TDVUfEzJplFj+fdBKstpoZKZg61Qw/d3aa3IG/+x3cf7+Z1jyesCAzQBBcj8YRHsXvxErtCggVzrwSkT2AU4FPqmqZ+eiOpmHddc2Q2GmnwWOPmVGBVMrkDJw5M2rvoqHGHk25STV55T6Pedb5cVWdX7uj/oyvQJMZAFZAbJ3KymsGko8Yu44dzYNMR3VUL5CyM69EZGvgF8AsVV0ytgoQkUsYuxI2h6pa+5ym5dA0JG+F4bsgNh0mHgrxmaVtRh6EdU+BNR+Dl8+DyX+H9BkQX62C9rT6yQW2U6WO8ibV7IkZfn5UROZ5qf3zy3VjHvI/UqKuwFoaH0NnOgSDs2HZWrBsQ1i2OaQWlrZJvQb/2RSW7AVLvwRvrQ3Lr6+gsX8CewDPAxdS4u/T+tSQVNNv5pWInCki2Zw8PwG6gD+JyBMiMq9IVfOBBUAnZlfAF73Xx6CyXYgddUCHYNnO8P5BMHQ5rPgxvLMFDN3ob5O4BRbtA8OPACMmUA1cAW9+wiTn9G3rLRjZA0baILk6pC4wQafZqS2pZm5SjaomgeykmkLOAs4FSuXRCqwlK3o0iUSi6kVMVdksPwmStwBm9b5m/oW8vzus/obZ07wYSw+A9KuMSmvx7qHQsRO0revT0DPAbsBy4FOonobIAHBGfX9PE9jkCGdnwD0qqOMaABE5Ctgpu6e5iPwceKB6r5oD666JFZdD6gkgO5vMy6Dx/iHQ8SmQSaPLawb6vzFq4WXOLvUmvP8bWO3Ise2owshewL8wmn0PTZ+GyLoQLzHjrdrfE4EN4KejaSKSP9Q118saARVMqhGRbYD1VfWvInKSX9P10FLkgaYhqRySvyU/YAuK6iCSegQmFFmBn+6H5BMU5k5SBVl5M3R/06eha1Bdnuu1i6xA9RJEzqjv77HcJocds2VWxyz4eNf73OV913JYeU0MXcOqILMKJYYk74WOT48+MPKCN8RdBF0Bid8XDzQ8D7xKfiZpkRWkR35GvEygsfK85eOvo3LPO/2rFIkBP8XsJ1MpNWsp8v8GEokEIkJ3dzciUlH67Optxo7Xmh51deO4ipaxkTHHK+m5N+YcNM5mFNHPlDkHeFxEfi0i1wCPAT+KxJOQsfOaKK4Xf/2V06Tf8eLfp9PlNz+z87wVUP3QWblJNd3AlkCfiLwKbA/ME5FSgatmLUUeaLq6ulBVBgcHUdWKcwZVZdN+CMqqqcaqAjIF2rYrXj4+Hdq3QQv+moLAJJ+8ToC5OZiYCy7pdCcjI9+o/++x3CaHBVs5q+qvMEMGNwM3ATtkhwJaDSuvic7/BcZmzBDJQHuRTRknbAax1YpWpUyCbr/8jR8CNkZ11SBNOt1JRr7l75uHlectn9q2cs5NqhGRdsykmtyzTFUdUNVpqjpTVWdiFj7vV2rWWRAtRT501pDkdJPPRXQZmrwOFDKxTYlPvcn/+QzAtOuRJXugqbdMN58MsuY1EF+7RENbIPIAqdQpqE5iZORsOjuPq//vsdxmFBHfyoiIYGZnbKSqZ4rIBiKynaqW2Ga1ObHymph0JCRvhJHHgQSq7SBxZOq1IEVSNonAWr+AxQcUJMjsQCbMhO6vFm9HBCbciaQORzN3ozqFEf0unZMOru/vabBNjip1pKopEclOqokDV2cn1QDzVbXYBJqSBNFS5IEGGpFUswO6r0H0MtAh4rEK8h+1rQ/rPI8kFyA6AO07QGxSeTu2oa3tTkT66CyRmrwQm5P6NTqpZp25HPOwbTfgTGAQuBH4eJROhYV114R0wGp9kLwTkncjsWnQeTDE1/O3mfxpWPcOeOdUGJ4P0oas9m1Y4/sQKxKccm2tAxNuyw1gV7Nc2rrzlk+NOio3qabg+94KqqxZS1YEmoYhXeZVcXmBjpqetTmyRD44yydUdRsReRxAVZd5QwmORiExM8Os41OV20zcGdbz0mq90QfTjilVuvWJXkcQQEvjK9A4Gosds85GvMVr5vGzyHR8t2J0OCzEDh1BAC3Z4b6jdYk+tfnFmIeXa4nI2cCDtOisM0cLY8c2ATVryfVoHOFhwTMaVb1WRBYAu3sefUZVy6SFcDgswgIdQTAtuR6NI1wivgsTkauATlW9TFUvVdWFUm4FrcNhGxb0aIJoKZC7IvITEXleRJ4SkZtFZLUg9TlakOi7+/8DXCMi+fNc9/MrHBVOS46SWBBoCKCloO7eDWzpban7AmabT4fDUENSzRBYAuwCfFFELhORNqpNCdEYnJYcxaktqWYY1KylQIFGVe/KJljDrCwtMTnen0QiweLFi6tKyWC7TSqVsta3RtjkiP4uTLxV0PsC/UAfMDUST0rgtORv47SELT2amrVUz8kAhwF/rNbI5oR2QWySySQLFy600rdxllQzP+3GGd7DzPLpGqLFaQmnpRx26AgCaEm0TNZHEfkbUCzvyqmqeotX5lTMlrqfU58KxWzZOwdgxowZ21533XUApFIpkskk8XicdDpNe3s7bW2l418lNtk0D9XY1NKOn00qlaKtrS30dqI8B7vuuuuCUtljezYTnX/56O9kT0ratDLNqKXCayisdkrZRK2lRpyDUloqpiNoLi2V7dGU2/tDRA4F9gF29xOGV89cYC5AT0+P9vb2AuHdGfT19ZFtI8x2/Gz6+/uZPn16pHdHUZ2DHBHeiYnIg6q6k4gMMnr3OQFUVRu+6XwzaqnwGgqrnVI2UWspynMARN6jqYeWAg2didmT+mTMvu0ltr7zx+aEdkFsBgYGKr6QmuH3NDKpppTZ61xEdgF+BmwFzFbVGwrrUNWdvH+bYv9tpyV/G6clIg009dBS0Gc0lwIdwN0msScPq2qxXYlKYnNCu1pt2traqrKz/fc0KqmmVLbX+euYPRlOLFHPGqXaUdV3Sx2PAKclH5txr6WIF2zWQ0uBAo2qbhLE3jEOqP5OLLfXOYCIZPc6zwUaVX3VO1Yqz9IC8N2pToGNqvYsRJyWHCUJZ2TgeOBrQAozi+wwVX2tSFWBteRS0DjCo7ax5bJ7nVeCqm5YdcsOh43UoKMKRwYeB3pUdYWIHAWcB3ypsK56aMkFGke4jO3yTxOR/F385noPt0NDRFYHNiVvixJVvT/MNh2OulL90FklIwP35pV/GDioXKW1askFGkd4FL8TW1pmSma5vc6rc0Hka8AxXj1PYPZG/wdm8yaHw34aMzJwOHB7STcCaMmOZUCO1qX61cwl9zqvgWMwOwC+pqq7AlsD7wWoz+FoPMUzA0wTkfl5rzm1VC0iB2HWbv2kTNGateR6NI5wCWGvcxH5OGZfjNWBfUXkB6r6EZ8qh1R1SEQQkQ5VfV5EPlT7D3I4IqC4jkqNDlQ0MiAiewCnYqbVD5fxomYtWRFoEolE1XPLbbfJ5mey0bdG2ACh7XWuqo9SeS6wN71MyH/GTB1eBhSbWdMS2HxNOC3VqKXadJQbGcAEmNnAl0dVK7I18AtglqouqaDOmrUUeaCxOc+Qy88UMDMARD44q6qf9d6eISL3YpIA3hGhS6Fh8zXhtBRQSyGMDGCGyrqAP3lrt15XVd+0/0G0FPkzmkQigYjQ3d2NiFSU1bQZbOLxuLW+hW2TI/sQM9qMs4jI6iKyFTCIeSi6ZTSehIvN14TTUgAtFdNRBVpS1dtUdTNV3VhVz/a+O80LMqjqHqo6Q1U/5r3K7i1Tq5Yi79F0dXWhqgwODqKqFadysN0mnU5b61vYNqOIeAtaETkLk0XgZSC7wFNpwVlnNl8TTksBtWTBVs5BtGRFoLE1z1AQG5eficiTAXocAGysqsmoHQkbm68Jp6UAWrJDRxBAS5EHGrA7z1CtNuM+P1OW6AXyDLAaZnfAlsfma8JpKYCWotcRBNCSFYHG0aJEnAzQ48fA4yLyDJCbvlnJeLTDYQV26AgCaMkFGke4RH8ndg1wLvA0q8aVHY7mInodQQAtuUDjCA87xpZXqOrFUTvhcNSMHTqCAFpygcYRLtF3+R8QkR9j0tjkd/cfi84lh6NKotcRBNCSCzSO8LDjTmxr79/t875ryenNjhbFDh1BAC3VJdCIyAnA+cB0VV1ajzodLUK0e53HgXmqemF0XlSH05KjKBEHmqBaCuy+iKwP7IXZXtfhGE2EmQFUNQ0c2NhWa8dpyeFLDZkB6klQLdXD3QuBkzFdqJpIJBIsXry4qvQmtttkEwHa6FsjbIBV0zLzX43nIRG5VER2FpFtsq9IPCmP01IRm3GvpWI6ajItBRo6E5H9gbdU9UkvKVvV2JzQziUCDJgI0I6x5Y95/56Z9511z2iclvxtxr2W7NARBNBS2UAjIn8D1i5y6FTge5iuflm8TXnmAMyYMYO+vj4AUqkUyWSSeDxOOp1mYGCAtrbSblVik0gkcm2E2Y6fTSqVor+/P/R2bDwHo4g+e/Ou0XqwimbUUuE1FFY7pWyi1lKU5yCHBYEmiJbK/kpV3aPY9yLyUWBDIHsHth7wmIhsp6qLi9QzF5gL0NPTo729vUB4dwZ9fX1k2wizHT+b/v5+pk+fHundUVTnIIcFK5pFZCpwOrCL99V9wJmqOtBoX5pRS4XXUFjtlLKJWktRngOgZh2JyCzgIs/6l6p6TsHxDuA3wLbAO8CXVPXVEvXVrKWah85U9WlgrTwnXgV6qp0pY3NCO5cIMGBSTbDhTuxqTI6mA7zPXwV+BXwuMo8KcFoqbeO0RNU68maJXQbsiUnn/6iIzFPV5/KKHQ4sU9VNRGQ2ZtX/l0pUW7OWrFhHY3NCO5cIsOmTam6sqp/P+/wDEXkiKmfCxuZrwmmpoUk1twNeUtWXAUTkOmB/ID/Q7A+c4b2/AbhURERV/Saj1Kyluv03oKoz3bx/xyjsmHW2UkR2yrkksiOwMhJPKsRpyTGK2madfQB4I+/zm953RcuoagoYANYsUWfNWoqkR7NgwYKlIhL2vu3TgCjFGnX7jfDhg6UOLljAnRJjWsHXjT4nRwK/8caXBXgXs3lTS9AALY2H69iG9n215KMjgE4RmZ/3ea73/C4satZSJIFGVaeH3YaIzFfVnrDbsbV9G3xQ1VlRtZ3nw5PAf4nIFO/z+xG7VFfC1lLU15ANPkTdfo06egtYP+/zet53xcq8KSJtwFTMpAA/P2rWkhXPaByOsPBm1nwemAm0ZdeoqOqZJcwcjmbnUWBTEdkQE1BmA18uKDMPOAT4B/AF4J4Sz2cCackFGkercwtm7HkBeRlnHY5WRlVTInI0cCfmic7VqvqsiJwJzFfVecBVwG9F5CXMMNjsMtXWrKVWDjRhjlU2Q/tghw9Rs54NQ3hNjA3XUNQ+RN1+TajqbcBtBd+dlvd+CPhiFVXWrCUp0VNyOJoeEZkLXOKtVXE4HDUSREsu0DhaGhF5DtgEeAXT3RdAVXWrSB1zOJqMIFpqmUAjIj8B9gWSwL+B/1XV94qUexUYBNJAKuhsknqneaiy7fW9umdgktvNVdWLCsr0YsZWX/G+umk8PQgXkaLTRlU17On1TUlUOvLqdFqymEBaUtWWeGESErZ5788FzvUp9yowrU5txjFi3AhoB54Etigo8w3g59772cAf6/ib1wG28d53Ay8Uab8XuDXqv497NccrCh159TkttfAr+gQhdUJV71KzuhXgYcy88bDJpXlQ1SSQTfOQz/7ANd77G4DdpdY88AWo6iL19utW1UFgIWNX/zocFRORjsBpqaVpmUBTwGHA7T7HFLhLRBZ46daDEEaah5oQkZmYPb0fKXJ4BxF5UkRuF5GP1LttR8vSKB2B01JL01TTm0vt56Gqt3hlTgVSwLU+1eykqm+JyFrA3SLyvKreH47HjUFEuoAbgWN17Grdx4APqmpCRPYG/gxs2mAXHRbhdOSP01I4NFWgUZ/9PLKIyKHAPsDu6g2qFqnjLe/fJSJyM6bLXqtA6p7moVpEZAJGGNeq6k2Fx/PFoqq3icjlIjJNXdLGcYuFOgKnpZamZYbOvBkrJwP7qeoKnzKTRaQ7+x7z4POZAM3m0jyISDvmAeW8gjLZNA9QQZqHavDGp68CFqrqT33KrJ0dxxaR7TB/87qJ09FaRKQjcFpqaZqqR1OGS4EOTDce4GFVPVJE1sVMldwbM3XxZu94G/B7Vb2j1gY1nDQP1bAjZvOhp/P2hfgesIHn388xgjxKRFKYlN6z6yVOR0vScB2B01Kr0zLraBwOh8NhJy0zdOZwOBwOO3GBxuFwOByh4gKNw+FwOELFBRqHw+FwhIoLNA6Hw+EIFRdoHA6HwxEqLtA4HA6HI1RcoHE4HA5HqPx/ISLcACl+nI4AAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "for i,j in enumerate(random_samples):\n", " plt.subplot(2,2,i+1)\n", " footprint=S[j,...]\n", " xd, yd = rectangular_array()\n", " mask = footprint != 0\n", " mask[5, 5] = True\n", " marker_size = 200 * footprint[mask] + 20\n", " plot = plt.scatter(xd, yd, c='grey', s=10, alpha=0.3, label=\"silent\")\n", " circles = plt.scatter(xd[mask], yd[mask], c=footprint[mask], s=marker_size,\n", " cmap=\"autumn_r\", alpha=1, label=\"loud\")\n", " cbar = plt.colorbar(circles)\n", " cbar.set_label('normalized signals [a.u.]')\n", " plt.grid(True)\n", "\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Combine inputs" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "X = np.stack([T, S], axis=-1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Labels" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "axis = f['showeraxis']" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "core = f['showercore'][:, 0:2]\n", "core /= 750" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "# energy - log10(E/eV) in range [18.5, 20]\n", "logE = f['logE']\n", "logE -= 19.25" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "X_train, X_test = np.split(X, [-20000])\n", "axis_train, axis_test = np.split(axis, [-20000])\n", "core_train, core_test = np.split(core, [-20000])\n", "logE_train, logE_test = np.split(logE, [-20000])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Define Model\n", "## Task \n", "Set up a multi-task regression network for simultaneously predicting shower direction, shower core position, and energy. The network should consist of a common part to the three properties, followed by an individual subnetwork for each property." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "# define towers for the individual targets\n", "def tower(z, nout, name):\n", " zt = layers.Conv2D(32, (3, 3), name=name + '-conv1', **kwargs)(z)\n", " zt = layers.Conv2D(32, (3, 3), name=name + '-conv2', **kwargs)(zt)\n", " zt = layers.Conv2D(48, (3, 3), name=name + '-conv3', **kwargs)(zt)\n", " zt = layers.Flatten(name=name + '-flat')(zt)\n", " zt = layers.Dense(10 * nout, name=name + '-dense', **kwargs)(zt)\n", " return layers.Dense(nout, name=name)(zt)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Model: \"model\"\n", "__________________________________________________________________________________________________\n", "Layer (type) Output Shape Param # Connected to \n", "==================================================================================================\n", "input_1 (InputLayer) [(None, 9, 9, 2)] 0 \n", "__________________________________________________________________________________________________\n", "separable_conv2d (SeparableConv (None, 9, 9, 8) 42 input_1[0][0] \n", "__________________________________________________________________________________________________\n", "conv2d (Conv2D) (None, 9, 9, 16) 144 separable_conv2d[0][0] \n", "__________________________________________________________________________________________________\n", "separable_conv2d_1 (SeparableCo (None, 9, 9, 16) 416 conv2d[0][0] \n", "__________________________________________________________________________________________________\n", "concatenate (Concatenate) (None, 9, 9, 24) 0 separable_conv2d[0][0] \n", " separable_conv2d_1[0][0] \n", "__________________________________________________________________________________________________\n", "conv2d_1 (Conv2D) (None, 9, 9, 16) 400 concatenate[0][0] \n", "__________________________________________________________________________________________________\n", "separable_conv2d_2 (SeparableCo (None, 9, 9, 16) 416 conv2d_1[0][0] \n", "__________________________________________________________________________________________________\n", "concatenate_1 (Concatenate) (None, 9, 9, 40) 0 separable_conv2d[0][0] \n", " separable_conv2d_1[0][0] \n", " separable_conv2d_2[0][0] \n", "__________________________________________________________________________________________________\n", "conv2d_2 (Conv2D) (None, 9, 9, 16) 656 concatenate_1[0][0] \n", "__________________________________________________________________________________________________\n", "separable_conv2d_3 (SeparableCo (None, 9, 9, 16) 416 conv2d_2[0][0] \n", "__________________________________________________________________________________________________\n", "concatenate_2 (Concatenate) (None, 9, 9, 56) 0 separable_conv2d[0][0] \n", " separable_conv2d_1[0][0] \n", " separable_conv2d_2[0][0] \n", " separable_conv2d_3[0][0] \n", "__________________________________________________________________________________________________\n", "conv2d_3 (Conv2D) (None, 9, 9, 16) 912 concatenate_2[0][0] \n", "__________________________________________________________________________________________________\n", "separable_conv2d_4 (SeparableCo (None, 9, 9, 16) 416 conv2d_3[0][0] \n", "__________________________________________________________________________________________________\n", "concatenate_3 (Concatenate) (None, 9, 9, 72) 0 separable_conv2d[0][0] \n", " separable_conv2d_1[0][0] \n", " separable_conv2d_2[0][0] \n", " separable_conv2d_3[0][0] \n", " separable_conv2d_4[0][0] \n", "__________________________________________________________________________________________________\n", "conv2d_4 (Conv2D) (None, 9, 9, 16) 1168 concatenate_3[0][0] \n", "__________________________________________________________________________________________________\n", "separable_conv2d_5 (SeparableCo (None, 9, 9, 16) 416 conv2d_4[0][0] \n", "__________________________________________________________________________________________________\n", "concatenate_4 (Concatenate) (None, 9, 9, 88) 0 separable_conv2d[0][0] \n", " separable_conv2d_1[0][0] \n", " separable_conv2d_2[0][0] \n", " separable_conv2d_3[0][0] \n", " separable_conv2d_4[0][0] \n", " separable_conv2d_5[0][0] \n", "__________________________________________________________________________________________________\n", "axis-conv1 (Conv2D) (None, 7, 7, 32) 25376 concatenate_4[0][0] \n", "__________________________________________________________________________________________________\n", "core-conv1 (Conv2D) (None, 7, 7, 32) 25376 concatenate_4[0][0] \n", "__________________________________________________________________________________________________\n", "energy-conv1 (Conv2D) (None, 7, 7, 32) 25376 concatenate_4[0][0] \n", "__________________________________________________________________________________________________\n", "axis-conv2 (Conv2D) (None, 5, 5, 32) 9248 axis-conv1[0][0] \n", "__________________________________________________________________________________________________\n", "core-conv2 (Conv2D) (None, 5, 5, 32) 9248 core-conv1[0][0] \n", "__________________________________________________________________________________________________\n", "energy-conv2 (Conv2D) (None, 5, 5, 32) 9248 energy-conv1[0][0] \n", "__________________________________________________________________________________________________\n", "axis-conv3 (Conv2D) (None, 3, 3, 48) 13872 axis-conv2[0][0] \n", "__________________________________________________________________________________________________\n", "core-conv3 (Conv2D) (None, 3, 3, 48) 13872 core-conv2[0][0] \n", "__________________________________________________________________________________________________\n", "energy-conv3 (Conv2D) (None, 3, 3, 48) 13872 energy-conv2[0][0] \n", "__________________________________________________________________________________________________\n", "axis-flat (Flatten) (None, 432) 0 axis-conv3[0][0] \n", "__________________________________________________________________________________________________\n", "core-flat (Flatten) (None, 432) 0 core-conv3[0][0] \n", "__________________________________________________________________________________________________\n", "energy-flat (Flatten) (None, 432) 0 energy-conv3[0][0] \n", "__________________________________________________________________________________________________\n", "axis-dense (Dense) (None, 30) 12990 axis-flat[0][0] \n", "__________________________________________________________________________________________________\n", "core-dense (Dense) (None, 20) 8660 core-flat[0][0] \n", "__________________________________________________________________________________________________\n", "energy-dense (Dense) (None, 10) 4330 energy-flat[0][0] \n", "__________________________________________________________________________________________________\n", "axis (Dense) (None, 3) 93 axis-dense[0][0] \n", "__________________________________________________________________________________________________\n", "core (Dense) (None, 2) 42 core-dense[0][0] \n", "__________________________________________________________________________________________________\n", "energy (Dense) (None, 1) 11 energy-dense[0][0] \n", "==================================================================================================\n", "Total params: 177,016\n", "Trainable params: 177,016\n", "Non-trainable params: 0\n", "__________________________________________________________________________________________________\n", "None\n" ] } ], "source": [ "input1 = layers.Input(shape=(9, 9, 2))\n", "\n", "kwargs = dict(activation='relu', kernel_initializer='he_normal')\n", "\n", "z = layers.SeparableConv2D(8, (3, 3), padding=\"same\", **kwargs)(input1)\n", "\n", "# common densely connected block\n", "zlist = [z]\n", "for i in range(5):\n", " z = layers.Conv2D(16, (1, 1), padding='same', **kwargs)(z)\n", " z = layers.SeparableConv2D(16, (3, 3), padding='same', **kwargs)(z)\n", " zlist.append(z)\n", " z = layers.concatenate(zlist[:], axis=-1)\n", "\n", "z1 = tower(z, 3, 'axis')\n", "z2 = tower(z, 2, 'core')\n", "z3 = tower(z, 1, 'energy')\n", "\n", "model = keras.models.Model(inputs=[input1], outputs=[z1, z2, z3])\n", "\n", "print(model.summary())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Task\n", "Train the model to the following precisions:\n", "- Better than $1.5^\\circ$ angular resolution\n", "- Better than $25$ m core position resolution\n", "- Better than $7\\%$ relative energy uncertainty $\\left(\\frac{E_\\mathrm{pred} - E_\\mathrm{true}}{E_\\mathrm{true}}\\right)$ \n", " Estimate what these requirements mean in terms of the mean squared error loss and adjust the relative weights in the objective function accordingly. \n", "\n", "\n", "The total objective function is $\\mathcal{L}_\\mathrm{tot} = w_1 \\cdot \\mathcal{L}_1 + w_2 \\cdot \\mathcal{L}_2 + w_3 \\cdot \\mathcal{L}_3$, where $\\mathcal{L}$ are the mean squared error (MSE) objectives of the reconstruction tasks for the arrivaldirection, core position and energy, respectively.\n", "\n", "#### shower axis\n", "$\\mathcal{L}_1 = \\frac{1}{N} \\sum_i^N ( \\vec{a}_{\\mathrm{pred},i} - \\vec{a}_{\\mathrm{true},i} )^2$, \n", "where the $\\vec{a}$ vectors denote the (unit) shower axis (x,y,z).\n", "\n", "#### shower core\n", "$\\mathcal{L}_2 = \\frac{1}{N} \\sum_i^N \\left( \\frac{\\vec{c}_{\\mathrm{pred},i} - \\vec{c}_{\\mathrm{true},i}}{750\\mathrm{m}}\\right)^2$, \n", "with $\\vec{c}$ denote the 2D core position / 750 m.\n", "\n", "#### energy\n", "$\\mathcal{L}_3 = \\frac{1}{N} \\sum_i^N \\left( \\log_{10}\\frac{E_{\\mathrm{pred},i}}{10^{19.25} \\mathrm{eV}} - \\log_{10}\\frac{E_{\\mathrm{true},i}}{10^{19.25} \\mathrm{eV}}\\right)^2$\n", "\n", "Since the objectives can be solved to different precision, we need to apply\n", "individual weights, such that\n", "$\\mathcal{L}_\\mathrm{tot} = w_1 \\cdot \\mathcal{L}_1 + w_2 \\cdot \\mathcal{L}_2 + w_3 \\cdot \\mathcal{L}_3$.\n", "We can derive the weights from the correspondence between the MSE and the negative log-likelihood for a Gaussian distribution. \n", "\n", "$-2 \\ln(\\mathcal{J}_\\mathrm{tot}) = -2\\cdot\\ln(\\mathcal{J}_1) - 2\\cdot\\ln(\\mathcal{J}_2) - 2\\cdot\\ln(\\mathcal{J}_3)$ \n", "$-2 \\ln(\\mathcal{L}_\\mathrm{tot}) = \\frac{N\\cdot\\mathcal{L}_1 }{\\sigma_1^{2}} + \\frac{N\\cdot\\mathcal{L}_2 }{\\sigma_2^{2}} + \\frac{N\\cdot\\mathcal{L}_3}{\\sigma_3^{2}}$ \n", "$-2 \\ln(\\mathcal{L}_\\mathrm{tot}) = w_1 \\cdot \\mathcal{L}_1 + w_2 \\cdot \\mathcal{L}_2 + w_3 \\cdot \\mathcal{L}_3$, \n", "where the number of samples $N$ is irrelevant for the optimum parameters.\n", "\n", "Hence, the weights according to the specified resolutions read:\n", "##### arrival direction: $$w_1 \\sim 1/\\sigma_1^2 = 1/(1.5^\\circ)^2 ~\\sim 1500$$\n", "##### core position: $$w_2 \\sim 1/\\sigma_2^2 \\sim 1/(25m/750m)^2 \\sim 900$$\n", "##### energy: $$w_3 \\sim 1/\\sigma_3^2 = 1/(7\\%)**2 = 50$$\n", "or simply $w_1 = 15,\\;w_2 = 9,\\; w_3 = 1$.\n", "\n", "Alternatively to this calculation, we can monitor the training loss and adjust\n", "the weights such that the contribution to the total objective is similar for all\n", "objectives." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "loss_weights=[15, 9, 2]\n", "\n", "model.compile(\n", " loss=['mse', 'mse', 'mse'],\n", " loss_weights=loss_weights,\n", " optimizer=keras.optimizers.Adam(lr=1e-3))" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/40\n", "1266/1266 - 86s - loss: 0.1231 - axis_loss: 0.0033 - core_loss: 0.0065 - energy_loss: 0.0076 - val_loss: 0.0215 - val_axis_loss: 7.0796e-04 - val_core_loss: 8.4911e-04 - val_energy_loss: 0.0016\n", "Epoch 2/40\n", "1266/1266 - 90s - loss: 0.0184 - axis_loss: 5.5893e-04 - core_loss: 7.7077e-04 - energy_loss: 0.0015 - val_loss: 0.0158 - val_axis_loss: 3.9367e-04 - val_core_loss: 8.4929e-04 - val_energy_loss: 0.0011\n", "Epoch 3/40\n", "1266/1266 - 89s - loss: 0.0131 - axis_loss: 3.4936e-04 - core_loss: 6.1356e-04 - energy_loss: 0.0012 - val_loss: 0.0138 - val_axis_loss: 3.3478e-04 - val_core_loss: 6.5218e-04 - val_energy_loss: 0.0014\n", "Epoch 4/40\n", "1266/1266 - 84s - loss: 0.0107 - axis_loss: 2.6719e-04 - core_loss: 5.0865e-04 - energy_loss: 0.0010 - val_loss: 0.0087 - val_axis_loss: 2.2596e-04 - val_core_loss: 3.9338e-04 - val_energy_loss: 8.7309e-04\n", "Epoch 5/40\n", "1266/1266 - 85s - loss: 0.0095 - axis_loss: 2.2215e-04 - core_loss: 4.6645e-04 - energy_loss: 9.9106e-04 - val_loss: 0.0088 - val_axis_loss: 2.4351e-04 - val_core_loss: 3.5113e-04 - val_energy_loss: 0.0010\n", "Epoch 6/40\n", "1266/1266 - 83s - loss: 0.0084 - axis_loss: 1.8869e-04 - core_loss: 4.2499e-04 - energy_loss: 8.9126e-04 - val_loss: 0.0086 - val_axis_loss: 2.2079e-04 - val_core_loss: 4.0766e-04 - val_energy_loss: 7.8828e-04\n", "Epoch 7/40\n", "1266/1266 - 89s - loss: 0.0076 - axis_loss: 1.6686e-04 - core_loss: 3.8468e-04 - energy_loss: 8.1397e-04 - val_loss: 0.0099 - val_axis_loss: 1.3591e-04 - val_core_loss: 7.2094e-04 - val_energy_loss: 6.7164e-04\n", "Epoch 8/40\n", "1266/1266 - 93s - loss: 0.0070 - axis_loss: 1.5178e-04 - core_loss: 3.5605e-04 - energy_loss: 7.7585e-04 - val_loss: 0.0059 - val_axis_loss: 1.2431e-04 - val_core_loss: 2.9258e-04 - val_energy_loss: 7.0127e-04\n", "Epoch 9/40\n", "1266/1266 - 89s - loss: 0.0065 - axis_loss: 1.3568e-04 - core_loss: 3.3398e-04 - energy_loss: 7.3652e-04 - val_loss: 0.0079 - val_axis_loss: 2.4013e-04 - val_core_loss: 2.7886e-04 - val_energy_loss: 8.8434e-04\n", "Epoch 10/40\n", "1266/1266 - 83s - loss: 0.0061 - axis_loss: 1.2487e-04 - core_loss: 3.1289e-04 - energy_loss: 7.2203e-04 - val_loss: 0.0084 - val_axis_loss: 1.6948e-04 - val_core_loss: 3.7634e-04 - val_energy_loss: 0.0012\n", "Epoch 11/40\n", "1266/1266 - 83s - loss: 0.0059 - axis_loss: 1.1584e-04 - core_loss: 3.0478e-04 - energy_loss: 6.9336e-04 - val_loss: 0.0064 - val_axis_loss: 1.0015e-04 - val_core_loss: 2.8076e-04 - val_energy_loss: 0.0012\n", "Epoch 12/40\n", "1266/1266 - 83s - loss: 0.0056 - axis_loss: 1.0976e-04 - core_loss: 2.8738e-04 - energy_loss: 6.6244e-04 - val_loss: 0.0071 - val_axis_loss: 1.1516e-04 - val_core_loss: 4.6906e-04 - val_energy_loss: 5.8510e-04\n", "Epoch 13/40\n", "1266/1266 - 83s - loss: 0.0053 - axis_loss: 9.8358e-05 - core_loss: 2.8113e-04 - energy_loss: 6.5404e-04 - val_loss: 0.0055 - val_axis_loss: 1.3357e-04 - val_core_loss: 2.5660e-04 - val_energy_loss: 5.6956e-04\n", "Epoch 14/40\n", "1266/1266 - 83s - loss: 0.0051 - axis_loss: 9.7783e-05 - core_loss: 2.6046e-04 - energy_loss: 6.3557e-04 - val_loss: 0.0050 - val_axis_loss: 8.1105e-05 - val_core_loss: 2.5658e-04 - val_energy_loss: 7.1421e-04\n", "Epoch 15/40\n", "1266/1266 - 83s - loss: 0.0049 - axis_loss: 9.1317e-05 - core_loss: 2.5524e-04 - energy_loss: 6.3734e-04 - val_loss: 0.0053 - val_axis_loss: 1.0195e-04 - val_core_loss: 2.9627e-04 - val_energy_loss: 5.4505e-04\n", "Epoch 16/40\n", "1266/1266 - 94s - loss: 0.0048 - axis_loss: 8.9565e-05 - core_loss: 2.4941e-04 - energy_loss: 6.1959e-04 - val_loss: 0.0047 - val_axis_loss: 7.5710e-05 - val_core_loss: 2.7453e-04 - val_energy_loss: 5.3833e-04\n", "Epoch 17/40\n", "1266/1266 - 103s - loss: 0.0047 - axis_loss: 8.5358e-05 - core_loss: 2.3976e-04 - energy_loss: 6.0960e-04 - val_loss: 0.0078 - val_axis_loss: 1.0913e-04 - val_core_loss: 5.4319e-04 - val_energy_loss: 6.3380e-04\n", "Epoch 18/40\n", "1266/1266 - 90s - loss: 0.0045 - axis_loss: 8.0470e-05 - core_loss: 2.3100e-04 - energy_loss: 5.8482e-04 - val_loss: 0.0043 - val_axis_loss: 6.9395e-05 - val_core_loss: 2.3611e-04 - val_energy_loss: 5.7784e-04\n", "Epoch 19/40\n", "1266/1266 - 85s - loss: 0.0045 - axis_loss: 7.7647e-05 - core_loss: 2.3717e-04 - energy_loss: 5.8361e-04 - val_loss: 0.0052 - val_axis_loss: 7.3926e-05 - val_core_loss: 2.9209e-04 - val_energy_loss: 7.2673e-04\n", "Epoch 20/40\n", "1266/1266 - 91s - loss: 0.0043 - axis_loss: 7.6966e-05 - core_loss: 2.2133e-04 - energy_loss: 5.8202e-04 - val_loss: 0.0042 - val_axis_loss: 8.1358e-05 - val_core_loss: 1.9052e-04 - val_energy_loss: 6.1569e-04\n", "Epoch 21/40\n", "1266/1266 - 91s - loss: 0.0041 - axis_loss: 7.3269e-05 - core_loss: 2.1173e-04 - energy_loss: 5.7026e-04 - val_loss: 0.0041 - val_axis_loss: 6.0022e-05 - val_core_loss: 2.1917e-04 - val_energy_loss: 6.2568e-04\n", "Epoch 22/40\n", "1266/1266 - 93s - loss: 0.0041 - axis_loss: 7.2362e-05 - core_loss: 2.1059e-04 - energy_loss: 5.6567e-04 - val_loss: 0.0044 - val_axis_loss: 8.0069e-05 - val_core_loss: 2.3878e-04 - val_energy_loss: 5.1133e-04\n", "Epoch 23/40\n", "1266/1266 - 90s - loss: 0.0041 - axis_loss: 7.0287e-05 - core_loss: 2.0835e-04 - energy_loss: 5.6515e-04 - val_loss: 0.0049 - val_axis_loss: 7.2505e-05 - val_core_loss: 2.0914e-04 - val_energy_loss: 9.7589e-04\n", "Epoch 24/40\n", "1266/1266 - 88s - loss: 0.0040 - axis_loss: 6.8409e-05 - core_loss: 2.0682e-04 - energy_loss: 5.3888e-04 - val_loss: 0.0046 - val_axis_loss: 9.9290e-05 - val_core_loss: 2.2494e-04 - val_energy_loss: 5.3368e-04\n", "Epoch 25/40\n", "1266/1266 - 88s - loss: 0.0040 - axis_loss: 6.6390e-05 - core_loss: 2.0652e-04 - energy_loss: 5.5103e-04 - val_loss: 0.0042 - val_axis_loss: 8.3258e-05 - val_core_loss: 2.0774e-04 - val_energy_loss: 5.6367e-04\n", "Epoch 26/40\n", "1266/1266 - 88s - loss: 0.0038 - axis_loss: 6.5693e-05 - core_loss: 1.9515e-04 - energy_loss: 5.4322e-04 - val_loss: 0.0044 - val_axis_loss: 7.8247e-05 - val_core_loss: 2.0440e-04 - val_energy_loss: 6.7144e-04\n", "Epoch 00026: early stopping\n" ] } ], "source": [ "fit = model.fit(\n", " X_train,\n", " [axis_train, core_train, logE_train],\n", " batch_size=128,\n", " epochs=40,\n", " verbose=2,\n", " validation_split=0.1,\n", " callbacks=[keras.callbacks.ReduceLROnPlateau(factor=0.67, patience=10, verbose=1),\n", " keras.callbacks.EarlyStopping(patience=5, verbose=1)]\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plot training curves" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "def plot_history(history, weighted=False):\n", " fig, ax = plt.subplots(1)\n", " n = np.arange(len(history['loss']))\n", " for i, s in enumerate(['axis', 'core', 'energy']):\n", " w = loss_weights[i] if weighted else 1\n", " l1 = w * np.array(history['%s_loss' % s])\n", " l2 = w * np.array(history['val_%s_loss' % s])\n", " color = 'C%i' % i\n", " ax.plot(n, l1, c=color, ls='--')\n", " ax.plot(n, l2, c=color, label=s)\n", "\n", " ax.plot(n, history['loss'], ls='--', c='k')\n", " ax.plot(n, history['val_loss'], label='sum', c='k')\n", "\n", " ax.set_xlabel('Epoch')\n", " ax.set_ylabel('Weighted Loss' if weighted else 'Loss')\n", " ax.legend()\n", " ax.semilogy()\n", " ax.grid()\n", " plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Unweighted losses" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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AiAhIYEpU/IvTnj27Fk2bNjAsWPHaNeuHX/88QcffvghAwYMYNWqVfTv379U5S8sVWpEUZo4ODjw9ddfs2nTJiwtLbn//vt58skn8xTf6t69OwcOHGD69OkVMuuUQqGo3DRp0oR///2XKVOmsHnzZu40TXOvXr0wGAw0adIEo9FIz549ze3klg6qCKrUiKIs6NSpEwcPHuTtt9/mww8/ZPXq1XzzzTcMHDiQiRMncuLECd566y30ej2vv/56RYurUCjyoaAn/7Kibt267Nu3j9WrV/Paa6/RvXt3LCwsMJlMAKSnp+fZPzeARqfTYTAYzKXIdTpdhT6MqhFFIbC2tua9995j9+7deHt78/DDDzNo0CCSkpJYuHAhv/32GxMmTAC0iUYUCoUC4PLly9ja2vLoo48yefJk9u3bR82aNdm7dy8Af/zxRwVLWDiUoigCzZo1Y9euXcycOZOVK1fSsGFD5syZw/3334+TkxMZGRl07tyZkSNHKoWhUCg4fPiweb7st956i9dee40333yTiRMn0rJly1IrA17mSCmr3NKiRQtZXDZs2FCo/U6cOCE7duwoAWlhYSG7d+8uP/74YzlhwgSp0+lkQECA3LZtW7HlKE8K2+eqhOrzvcG+ffsqWoRyJTExsdD7Hjt27JZ1wB55m3uqGlEUk3r16rFx40Y2b97MCy+8wJUrV3jppZf48ssvqV69OjExMXTs2JHp06djNBorWlyFQqEoNkpRlACdTkfHjh354IMPOHr0KGfPnuWLL76gbt26pKWlYTKZmDFjBiNGjOCXX37JEzGlUCgUdwtKUZQitWrVYsKECaxdu5bo6Gh+//13hgwZwrp16xg+fDju7u50796ds2fPVrSoCsU9g2ZRUdxIUb8TpSjKCEdHRx5++GF++uknIiMjefLJJzGZTGzZsoVOnTpx+vTpihZRoajyGI1GYmJilLK4ASklMTExWFtbF/oYlUdRDuj1embNmoWvry8zZszgypUrBAcHs2DBAh555JGKFk+hqLKkpKSQlJTEtWvXKlqUciE9Pb1QCsDa2ho/P79Ct6sURTlhYWHBW2+9xejRo5k+fToLFy7k8ccfp0mTJjRo0IDs7GwsLNTlUChKEyklAQEBFS1GuREaGkqzZs1KvV1leipnatasyYIFC9i1axf29vaEhISwZMkSatasycyZM4mJialo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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_history(fit.history, weighted=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Weighted losses" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAEGCAYAAAB7DNKzAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAACGtElEQVR4nOydZ1gVRxeA3+XSe0cFERWVoth7712jJvaW2KJJTPkSS4wl0RQ1RaOJxq4xamKNPVbsvSs2wK4g0nu5d74fiwgKSBXLvM+zD9yZndkzd2HPzjlnzihCCCQSiUQiyQq9ohZAIpFIJC83UlFIJBKJJFukopBIJBJJtkhFIZFIJJJskYpCIpFIJNmiX9QCFAb29vbCzc0tT21jY2MxMzMrWIFecuSY3wzkmF9/8jveU6dOPRJCODxd/loqCjc3N06ePJmntr6+vjRp0qRgBXrJkWN+M5Bjfv3J73gVRbmVWbk0PUkkEokkW6SikEgkEkm2SEUhkUgkkmx5LX0UEolEAqAoCjdu3CAhIaGoRXkhWFlZcfny5eeeZ2xsjIuLCwYGBjnqVyoKiUTy2mJmZoaFhQVubm4oilLU4hQ60dHRWFhYZHuOEILQ0FDu3r1L6dKlc9SvND1JJJLXFo1Gg52d3RuhJHKKoijY2dnlapYlFYVEInmtkUriWXL7nUhFIZFIJJJskYoiHdOmTWPcuHFFLYZEInlDqVevXlGLkClSUaQjPDycY8eOkZycXNSiSCSSN5DDhw8XtQiZIhVFOjw8PNBqtQQGBha1KBKJ5DXhrbfeonr16nh7ezNv3jxu3bpFuXLlePToETqdjoYNG7Jjxw4AzM3NAXjw4AGNGjWiSpUqVKxYkQMHDhTlEGR4bHo8PT0BuHz5MhUqVChiaSQSSUHy9aZL+N2PKtA+vUpYMrGjd7bnLFq0CFtbW+Lj46lZsybdunVj9OjRDB8+nFq1auHl5UWrVq0ytFmxYgWtW7dm3LhxaLVa4uLiClTu3CJnFOnw8PAAyNGCFYlEIskJv/76K5UrV6ZOnTrcuXOH69evM3jwYKKiopg7dy4//vjjM21q1qzJ4sWLmTRpEhcuXHju2ojC5qWfUSiKUgYYB1gJId4uzGtZWlpSp04d7OzsCvMyEomkCHjem39h4Ovry65duzhy5AimpqY0adKEhIQE4uLiuHv3LgAxMTHPKIJGjRqxf/9+tmzZwsCBA/nss8/o37//C5f/MYU6o1AUZZGiKA8VRbn4VHkbRVGuKoriryjKmOz6EEIECiEGFaac6fn+++8ZOnToi7qcRCJ5jYmMjMTGxgZTU1OuXLnC0aNHARg9ejR9+vThm2++YciQIc+0u3XrFk5OTgwZMoTBgwdz+vTpFy16Bgp7RrEEmA0se1ygKIoG+A1oCdwFTiiKshHQAN8/1f49IcTDQpbxGYQQgFyoI5FI8kebNm2YO3cunp6eVKhQgTp16rBv3z5OnDjBoUOH0Gg0rF27lsWLF/Puu++mtfP19WX69OkYGBhgbm7OsmXLsrlK4VOoikIIsV9RFLenimsB/kKIQABFUVYBnYUQ3wMdClOenODr60vnzp3x8/PD2dm5qMWRSCSvMEZGRmzbtu2Z8okTJ6b9vm7durTfY2JiABgwYAADBgwofAFzSFH4KJyBO+k+3wVqZ3Wyoih2wLdAVUVRxqYqlMzOGwoMBXBycsLX1zdPwhkaGhIVFcWqVauoXr16nvp41YiJicnz9/WqIsf8ZmBpaUl0dHRRi/HC0Gq1OR5vQkJCjv8eXnpnthAiFHg/B+fNA+YB1KhRQ+R1O8CwsDBAVRhvyhaKb9p2kSDH/KZw5syZIo8YepHkJHvsY4yNjalatWqOzi2K8Nh7QMl0n11Sy14KbGxscpzTXSKRSN4EikJRnADKKYpSWlEUQ6AnsLEI5MgURVHw9PSUikIikUhSKVTTk6IoK4EmgL2iKHeBiUKIhYqifAj8hxrptEgIcamArtcR6Oju7p6vfvr27UtsbGxBiCSRSCSvPIUd9dQri/KtwNZCuN4mYFONGjWeDUzOBR988EEBSSSRSCSvPjKFRxZERUWlhapJJBLJm4xUFJlw48YNrKysWL16dVGLIpFI3kBSUlKKWoQMSEWRCa6urhgaGkqHtkQiyTfLli3Dx8eHypUr069fP27evEmzZs3w8fGhefPm3L59G4CBAwfy/vvvU7t2bUaNGkVAQABt2rShevXqNGzYkCtXrhTZGF76dRS5oaCc2RqNhvLly0tFIZG8TmwbA0EXCrbPYpWg7Q9ZVl+6dIkpU6Zw+PBh7O3tCQsLS1t1PWDAABYtWsTIkSPZsGEDAHfv3uXw4cNoNBqaN2/O3LlzKVeuHMeOHWPEiBHs2bOnYOXPIa+VoigoZzaoe1MUdSIuiUTyarNnzx7eeecd7O3tAbC1teXIkSNpaTv69evHqFGj0s5/55130Gg0xMTEcPjwYd555520usTExBcrfDpeK0VRkHh6erJ27VoSEhIwNjYuanEkEkl+yebN/2XBzMwMAJ1Oh7W1NWfPni1agVKRPoos6NSpE7Nnz0ar1Ra1KBKJ5BWlWbNmrF69mtDQUEBNEVSvXj1WrVoFwF9//UXDhg2faWdpaUnp0qXTAmqEEJw7d+7FCf4UckaRBdWrV39jkgJKJJLCwdvbm3HjxtG4cWM0Gg1Vq1Zl1qxZvPvuu0yfPh0HBwcWL16cadu//vqL4cOHM2XKFJKTk+nZsyeVK1d+wSNQea0URUE5sx/zOMrg8RapEolEklsySxmemVN6yZIlGT6XLl2a7du3F6ZoOea1Mj0JITYJIYZaWVkVSH/t2rXj66+/LpC+JBKJ5FXltVIUBY1MDiiRSCRSUWSLh4cHV69elQ5tiUTyRiMVRTZ4enqSkJDArVu3iloUiUQiKTKkosgGT09PAGl+kkgkbzSvlaJQFKWjoijzIiMj89aBTodBUlTax8qVK7Nx40bq1KlTQBJKJBLJq8drpSjyHfW0YTjVTn+e9tHc3JyOHTtiZ2dXQBJKJBLJq8drpSjyjU0pjBNCICUprejkyZP8888/RSiURCKRPKEoUpBLRZEe2zIo6CDiifN6wYIFvP/++wghilAwiUTyqrJ8+XJq1apFlSpVGDZsGFqtFnNzc8aNG0flypWpU6cOwcHBAISEhNCtWzdq1qxJzZo1OXToEACTJk2iX79+1K9fn379+hESEkLLli3x9vZm8ODBlCpVikePHjFlyhRmzJiRdu1x48Yxc+bMfI/htVqZnW9sy6g/wwLBvhygOrTDw8MJCQnB0dGxCIWTSCT5YerxqVwJK9g9HTxsPRhda3SW9ZcvX+bvv//m0KFDGBgYMGLECP766y9iY2OpU6cO3377LaNGjWL+/Pl89dVXfPzxx3z66ac0aNCA27dv07p167RgGj8/Pw4ePIiJiQkffvghzZo1Y+zYsWzfvp2FCxcCajba/v3788knn6DT6Vi1ahXHjx/P9zilokhPekWRyuP0HZcvX5aKQiKR5Irdu3dz6tQpatasCUB8fDyOjo4YGhrSoUMHQM0rt3PnTgB27dqFn59fWvv0WzJ36tQJExMTAA4ePMj69esBaNOmDTY2NgCUKlUKOzs7zpw5Q3BwMFWrVi0QH6tUFOkxtSOwdF/KlKyVVpQ+RLZx48ZFJZlEIskn2b35FxZCCAYMGMD333+fofzHH39EURRA3Sjtsd9Bp9Nx9OjRTLc2eJyC/HkMHjyYJUuWEBQUxHvvvZfPEai8Vj6KfIfHKgq3XN8G5ydZY11cXDAzM5NrKSQSSa5p3rw5a9as4eHDh4CaZjy7BbytWrVi1qxZaZ+z2o+ifv36aUE2O3bsIDw8PK2uS5cubN++nRMnTtC6desCGMVrpijyGx773dbL/HAgBO492dlOT0+PkydP8t133xWUmBKJ5A3By8uLKVOm0KpVK3x8fGjZsiUPHjzI8vxff/2VkydP4uPjg5eXF3Pnzs30vIkTJ7Jjxw4qVqzI6tWrKVasGBYWFgAYGhrStGlTunfvjkajKZBxSNNTOsyN9OmQtAWxYCPKuGDQNwRkmnGJRJJ3evToQY8ePTKUPfY7ALz99tu8/fbbANjb2/P3338/08ekSZMyfLaysuK///5DX1+fI0eOcOLECYyMjEhKSkozXz3e9KggeK1mFPmlvJMFt4QTitBB5J208nPnzjFq1KgMN1cikUiKitu3b1OzZk0qV67MyJEjmT9/PqDuoePu7k7z5s0pV65cgV1PzijSUaGYBfN1xdQPYYFgVxaAgIAApk+fTo8ePeSudxKJpMgpV64cZ86ceabcw8ODwMDATFrkDzmjSIerrSn3lFRFERqQVi6TA0okkjcZqSjSodFTqFHKjmR9swxrKcqWLYtGo5GKQiKRvJFI09NTvF3BCING88C2dFqZoaEh7u7uaXtoSyQSyZuEVBRPIYTgoXMLrEwNMEpX7unpyf3794tMLolEIikqXivTU74X3AEXHmnp9N0/3D3wF2ifZGlcuXIlhw8fLggxJRKJ5JXitVIU+d6PAnA216Oh5gJl930EkbfTyo2NjdOW3EskEsmbxGulKAoCW2OFYH1n9UM6h3ZQUBB9+vTB19e3aASTSCSvHLGxsbRv357KlStTsWJF/v77b9zc3Hj06BGg7nfTpEkTQF1UN2DAABo2bEipUqVYt24do0aNolKlSrRp04bk5OQiG4f0UTyFoigY2JeFUCA0ENzVcjMzM1asWEHFihXTbqxEInl1+OSTT7LMnZRXqlSpkmH/h6fZvn07JUqUYMuWLQBERkYyenTWyQkDAgLYu3cvfn5+1K1bl7Vr1zJt2jS6dOnCli1beOuttwpU/pwiZxSZ4FDclTiMEGFP1lJYWFjg4uIiQ2QlEkmOqVSpEjt37mT06NEcOHCA55nF27Zti4GBAZUqVUKr1dKmTZu0fm7evPkCJM4cOaPIhG41SpJ02w2TsBsZyj08PKSikEheUbJ78y8sypcvz+nTp9m6dStfffUVzZs3R19fH51OB0BCQkKG842M1FhLPT09DAwM0vyienp6RbIF6mPkjCITarrZYt17EUqHnzOUe3p6cuXKFbktqkQiyRH379/H1NSUvn378sUXX3D69Gnc3Nw4deoUAGvXri1iCXOGnFFkghCCCykumCZqHrsoANUeWaZMGSIiItJ2lJJIJJKsuHDhAl988UXaDGHOnDnEx8czaNAgxo8f/8r4O6WiyIIxC7fwYbGLuPf5FMzVLVDfe++9AtsxSiKRvP60bt06082Drl279kzZ06nE02erfrruRSNNT5mgKAq1bGJo9+B3CL5Y1OJIJBJJkSIVRRaYlSgPgAjNmLK3c+fOjB07tihEkkgkkiJBKoosKO5cmnhhSOyDjFPEkJAQjh49WkRSSSSS3CKDT54lt9/Ja6UoCiLX02MqFLfkpnAi4eH1DOWenp4yRFYieUXQarWEhoZKZZEOIQShoaEYGxvnuM1r5cwWQmwCNtWoUWNIfvvyLmFJfClPrONvZSj39PRk0aJFhIeHy8gnieQlJzY2lujoaEJCQopalBdCQkJCjhSAsbExLi4uOe73tVIUBYmpoT6mPeeCkXmGcg8PD0Ddm7Zu3bpFIZpEIskhQghKly79/BNfE3x9falatWqB9/tamZ4KmlOP9Pj7THCGskqVKtGuXTs0Gk0RSSWRSCQvFjmjyIaDp85hc3YOWucv0ZSoDECpUqXSEnxJJBLJm4CcUWRDGQdT+uttJ/zakWfqijLvikQikbxIpKLIhpKl3EkQBkTfv5qh/KOPPsLLy6uIpJJIJJIXi1QU2VDOyZJbwgkRGpCh3M7ODn9/f+Lj44tIMolEInlxPFdRKIrysaIolorKQkVRTiuK0upFCFfUmBnp89CgBMbRz4bICiG4fv16Fi0lEonk9SEnM4r3hBBRQCvABugH/FCoUr1EVKtSg+KmAtIt2PH09ASQC+8kEskbQU6inpTUn+2AP4UQl5THu2m8AZi1/xb0vs9QVq5cORRFkYpCIpG8EeRkRnFKUZQdqIriP0VRLABd4Yr18nAjLJ7xGy5yKzQ2rczExITRo0dTq1atIpRMIpFIXgw5URSDgDFATSFEHGAAvFuoUhURZ8+e5cKFCxnKkmIjqH/qEx4eW52h/Pvvv6ddu3YvUjyJRCIpEnKiKOoCV4UQEYqi9AW+AvKfde8lQwjBiBEjGD16NIcPH04rdyvhSFO9s3D3RIbztVotgYGBaLXaFyypRCKRvFhyoijmAHGKolQG/gcEAMsKVaoiQFEU1qxZg52dHW3atOHIEXWRnZGBAUEaJ/Qjb2Y4f+nSpZQtW5abN28+25lEIpG8RuREUaQINUdvZ2C2EOI3wKJwxSoaSpQowc8//0yxYsVo3bp12r4TkSYlsYy/k+Hcx8kBpUNbIpG87uREUUQrijIWNSx2i6Ioeqh+ipeOgtiPwsHBgb179+Lk5ETr1q05duwYKValcdY9IDnliZnpcYjslStX8i23RCKRvMzkRFH0ABJR11MEAS7A9EKVKo8IITYJIYZaWVnlqx9nZ2f27t2Lg4MDrVq1ItmkOMYlKmKQ8mSzcxsbG5ycnOSMQiKRvPY8V1GkKoe/ACtFUToACUKI185H8TQuLi7s3bsXe3t7Wn/0MyeqTgPjjArIw8NDKgqJRPLak5MUHt2B48A7QHfgmKIobxe2YC8DJUuWZO/evdja2tKgSTO+/GN9hvpRo0bx5ZdfFpF0EolE8mLIycrscahrKB4CKIriAOwC1hSmYC8Lrq6u+O7dS/2qFZj5SU+6Vj9EjRo1ANLWUWi1WmJjY7G0tCxKUSUSiaRQyImPQu+xkkglNIftXhtcS5Vi/SBXLI01tGzZklOnTmWoHzhwIK1btyY2NjaLHiQSieTVJScP/O2KovynKMpARVEGAluAbYUr1suHfclyLOvniqWlFS1btuT06dNpdV26dOH48eP06NFDbmgkkUheO3LizP4C+APwST3mCSFGFbZgLxt6dmWpZxPG7L82YGFhQYsWLThz5gwAXbt25bfffmPLli0MGzYMkS7TrEQikbzq5MiEJIRYJ4T4LPVYryjK7cIW7GXDwrkCZkoiLjbG+Pr6Ym5uTosWLTh79iwA77//PhMmTGDRokVMmjSpSGWVSCSSgiQnzuzMeGPSjD/GpkwNCO5I1RImYFMKX19fmjRpQr169Rg8eDCfffYZkyZNIi4ujlat3oh9nSQSyRtCXp3Sb55txbU29FiOsHYFoEyZMhw8eJAePXowd+5c3N3d6du3L3369KF+/foA3Lp1K7seJRKJ5JUgS0WhKMpnWRz/A8xfoIwvjBNBJ9gfvT/L+hm7rtF02u60z66urixevJjAwEA++eQTNm7cSNWqVWndujVjx46lfPny7N2790WILpFIJIVGdjMKiywOc2Bm4Yv24tl7Zy8bwjeQoss8cqnXhcF8HjOd0JjEDOUuLi78+OOP3L59m++++45z587xww8/oKenR/v27TNESEkkEsmrRpaKQgjxdXbHixTyReFh60GySOZ2VOa+egNTa9yUIK4Fx2Rab2Njw9ixY7l58yZ//PEHxYoVIz4+nlq1ajFlyhTi4+MLU3yJRCIpFN6ohXPPo4JNBQAuh2Wev8nYyV1VFEFR2fZjbGzM0KFD8ff355dffgFg/PjxuLm5MXXqVHS6N2YnWYlE8hogFUU6yliXQR99roZdzbTepFg5zJUE7t3LWXSwRqPhk08+Ye/evXz++edUqVKFMWPGMHfu3IIUWyKRSAqVvIbHvpYY6BlQ3LA4N6JuZFqv2LkDUMc6Ilf9NmzYkIYNGyKEoH79+owaNYp27drh5uaWT4klEomk8MlSUSiK8ll2DYUQPxe8OEXPB44f0K5pu8wrHb2g9nCaVfXIU9/379/n7NmzJCQk8M4773D8+HEU5Y1bkiKRSF4xchL1VAMYDjinHu8D1QpftKLBTGOW9cPbyhna/kC4aWkSkrWZn5MNzs7O7NixAzs7O06ePEnr1q2lg1sikbz0PDfqCXVHu2pCiP8JIf4HVAdcX5SAL5oobRRfHfyKU8GnMq0/FfCAVpP/4fiNsDz136BBAwIDAylRogQ7d+6kYsWKxMRkHkUlkUgkLwM5cWY7AUnpPiellr2WGCqG/BvwLyeDTmZaX+ngCBYa/si14Og8X8PCwoJ9+/ZhZGSEvr4+ZmZmADKZoEQieSnJiaJYBhxXFGWSoiiTgGPA0kKVqggx1jPG1cKVq+GZRz4ZOrhTRi+Yqw+yD5F9Hu7u7nz33Xdcu3aNlStXcuLECapXr56WkVYikUheFnKSZvxb4F0gPPV4VwjxXWELVpR42HpwJexK5pW2ZTAnjqCge/m+zscff0zt2rX56KOPuH37NkFBQdSqVYuvv/6a5OTkfPcvkUgkBUFO11GYAlFCiJnAXUVRSheiTEWOh60Hd6LvEJ2UiXnJtgwAKSEB6HT5MxVpNBoWLVpETEwMf//9NxcvXqRHjx5MmjSJOnXqcPHixXz1L5FIJAXBcxWFoigTgdHA2NQiA2B5YQpVVGh1gshEgZedF6WtShMSH/LsSamK4uNqGlLyqSgAvLy8mDBhAqtXr8bX15fly5ezdu1a7ty5w4YNG/Ldv0QikeSXnCy46wJUBU4DCCHuK4piUahSpUNRlLeA9oAlsFAIsaOwrjVw8XGCHyXwX6smbHxrY+YnWZeCVlOoU64F6BfMwvZRo0axZs0aRowYQZMmTejatSsNGzbExsYGgKVLl3LixAkGDRpE1apVC+SaEolEklNy8qRLEmo4jgBQFMUsp50rirJIUZSHiqJcfKq8jaIoVxVF8VcUZUx2fQghNgghhqCu3+iR02vnhZZeTlwL13HQ/1HWJ+kbQr2PuKotwfV8RD6lx8DAgMWLFxMaGsqnn34KgIODA/r6qh4PDAxkwYIFVKtWjapVqzJ79mzCwvIWniuRSCS5JSeK4h9FUf4ArBVFGQLsAhbksP8lQJv0BYqiaIDfgLaAF9BLURQvRVEqKYqy+anDMV3Tr1LbFRo9apbEzljhx/+u8uvpX3l/5/uZnxj1gJ8WLWfWHv8Cu/bjPFDLli1j69atGeq+/vprHjx4wOzZs9HT0+Ojjz7inXfeSat/kWG1Qgi02twvNpRIJK8uSk4eMoqitARaoW6B+p8QYmeOL6AobsBmIUTF1M91gUlCiNapn8cCCCG+z6K9AvwA7BRC7MrmOkOBoQBOTk7VV61alVMRM7DTP4a//BXqVdqBX8o+fnT9EX0lo4Wu3LW5WN7fTzuDhUyub5Kn62RGUlISQ4cOJS4ujkWLFmFunvn+UP7+/iQlJeHl5UVERAQffvghzZs3p02bNhQvXjzX142JicnyWo9JTExk27Zt/P3331hYWPD777+nzXheRXIy5tcNOebXn/yOt2nTpqeEEDWeqRBCZHsAU3NSlk17N+Bius9vAwvSfe4HzM6m/UjgFDAXeD8n16xevbrIK7t27xGNp+0RDWf/JCouqSiuhF559qTDs4WYaClqfvm3SErR5vlamXH06FGhp6cnhg4dmqPzr1y5Ilq3bi0URRGAaN68uVixYoVISEjI8TX37t2bZV1ERIT47rvvhKOjowCEl5eXAMQvv/yS4/5fRrIb8+uKHPPrT37HC5wUmTxTc2J6aplJWduc66j8IYT4VQhRXQjxvhCi0PNza/QUPm1ZnrvBqiM5070pUiOfSugecCs0tkCvX7t2bT777DPmzZvH7t27n3t+hQoV2L59Ozdv3mTy5MkEBgbSu3dv7t1T13kkJiY+p4fMCQ4OZuzYsbi6uvLll19StWpVfH19uXjxIq1bt2bixIkEBwfnqW+JRPJqkd2e2cMVRbkAVFAU5Xy64wZwPh/XvAeUTPfZJbXspaGDTwnK2riBMORyaCYL71IVRalsdrvLD9988w3lypVjyJAhOc4D5erqyldffYW/vz8nTpygTBlVxu7du9OgQQOWLVtGXFzcc/u5ceMGI0aMoFSpUkydOpU2bdpw+vRptm/fTuPGjVEUhZkzZxIfH8+XX36Zr3FKJJJXg+yMzCuAbcD3QPrIpGghRH5Cbk4A5VIX7d0DegK989FfGoqidAQ6uru756sfjZ7C/1p68PHO6kREWj97go0bAoVPqmmwKWuXr2tlhomJCQsWLKBx48aMGzeOmTNnkpKSQmRkJJGRkURERGT5e3R0NFZWVhw4cABnZ2dKlSrF+fPnGTBgACNHjqRv374MHz4cb2/vDNe8cOECU6dOZdWqVWg0GgYMGMAXX3xBuXLlnpGvQoUKfPLJJ0yfPp1hw4ZRq1atAv8OJBLJS0Rm9qinD0ADlEDNGusKuOaw3UrgAZAM3AUGpZa3A64BAcC4nPSVmyM/PorHNj6dTifa/7pfNJi6WyQmZ+KHuLxFiNDAPF8nJ3zwwQcCEGZmZo/Dk7M9zM3NRfHixYWJiUmm9UZGRkJRFFG+fHkxdOhQMWHCBDFz5kxRt27dtOv873//E3fv3n2ubJGRkaJYsWKiZs2aQqstWD/Ni+BNs10LIcf8JlBYPornhq0oivIhMAkIBh5v9iwAnxwooV5ZlG8FtmZW97KgKAr/a1WBd5ccYeWJQAbUfWqW4tGOi/ciuXD8Nr1qFU7W9R9++AEbGxvi4uKwsrLC2toaKyurTH+3tLRMi0ISQhAREcG9e/eeOW7cuEFQUBAbNmzg4cOHgLqOY8CAAUyfPh0HB4ccyWZpacm0adPo378/S5cu5d133y2U7yA7oqKiOHPmDDdu3KBTp07Y2tq+cBkkkjeCzLRH+gPwB+yed97LdBTEjEIIIa6EXhEVF/uI6j/9LOKTUjKeGHJd7Fk1U5QavVn4Xn2Y5+sVJadOnRJvv/122gzEyclJjBw5UsTFxeWovU6nE3Xr1hWOjo4iIiKiUGWNiIgQe/bsEdOnTxe9evUS5cuXzzBbKl++vPD3989xf2/am6YQcsxvAkUZ9XQHiCwsRfUy42rpiqJAlO4WK47dzlh5bRtNL4/Hx17w5boLxCamFI2Q+aBatWqsXr2a9evXs2bNGurXr4+vry/GxsYArFu3jgsXLmTZXlEUZs+eTUhICJMmTSowuSIiItizZw/Tp0+nZ8+elCtXDmtra5o1a8YXX3zBwYMH8fLyYvLkyWzdupWtW7fy6NEj6taty9GjRwtMDolEopKTPbMDAV9FUbYAabGW4iXcM7ugnNmPMdE3obSVGyG6R/zu60/PWiUxNUz9ylIjn35oYka7NXH8uOMqEzt6Z9Pby4uRkRGtW7emW7duaLVaFEVBq9UybNgwHj16hLe3N71796Znz55p0VSPqVatGkOGDGHWrFkMHjz4GSd5bpk1axaffvpp2upvV1dXqlevzsCBA6levTrVqlXD0dHxmXaHDx+mXbt2NG3alL/++ouuXbvmS443neXLl1OlShUqVqxY1KJIXgJysmf2bWAnYJiu7IUlBcwNQohNQoihVlZWeetg6yiqn/wM/micdniE3cWU8yxO+pzYX+vDH43UY/fXAHidmcLQGtYsOXyT07fDC3A0RYNGo0n7eenSJX777Tesra0ZN24cZcuWZfr06QBotdq0h/m3336LpaUlH3/88WNzZZ74/vvvGTlyJG3btmX79u08fPiQW7dusW7dOsaNG0ebNm0yVRKgRmIdPXqUKlWq8Pbbb/PLL7/kS5Y3mX379tGvXz969Ogh07VIgGxmFELdL/vNwtiKJEMbMH8S8uqh02er7iER5k6ExWip52SHgUYPdFoIuQoPzjAm7kOsqk+ljH2O8yW+Ejg6OjJixAhGjBjBrVu3+Pvvv2nRogWgPky6du1Ko0aNaNq0KcOGDeOHH35g3bp1dOvWLVfXEULw1Vdf8d1339GnTx+WLFmSp/QgDg4O7Nmzh379+vHZZ58RGBjIjBkz0pSf5PmkpKTw4YcfYmpqip+fH6tWraJPnz5FLZakqMnMcZH+ADYBG586/gQ+Boyf174ojoJyZgshxNWwq2LRhUXiyI3botTozeLnHVefVP7kJcSyLkL8UEqIqWWEuH1c6HS6PF+7qMiLA+zcuXNiyJAhwt3dPc2hrNFoRIkSJURsbKyIiYnJUdisTqcTH3/8sQDEkCFDREpKynPbPA+tViv+97//CUB07NhRxMTEPHPOm+bkFCJnY545c6YAxNq1a4WPj49wd3cXycnJhS9cIfGm3efCcmbnRFHMRF181zH1WA78jprJ9c/ntS+KoyAVRXre//Ok8J6wXYTFJKoFwX5CxIYKEXJdiBk+QvuNo/j+52nialBUnq9fFOT3j+vOnTvizz//FB06dBCAmDBhgvj444+Fvb296Natm5g9e7a4dOnSM0o0JSVFDB48WADi448/LnAlO3v2bKGnpyeqV68uHjx4kKEuJ2O+ePGimDBhgvDx8RG9evXKVOG8SjxvzEFBQcLS0lK0bt1a6HQ68e+//wpALFy48MUIWAhIRZE78qMoTmRVBlx6XvsXeaQqsnnu7u55/qIy+6Ifxj4UV0KviKtBUcJtzGbx/dbLTyp1OiHCbwsREyKS5jYV2olWYsH0z0WK9tWZWRTkP1PPnj2FkZGRmD9/vhgwYIBwdXVNm3FUqlQp7bx79+6J3r17C0CMGzeu0GZimzZtEqampqJUqVLi4sWLaeVZjfnixYti4sSJwtPTUwBCURRRu3ZtoaenJ2rUqCGCgoIKRc4XwfPu88CBA4WBgYG4ckVNhKnT6UTNmjVFqVKlRGJi4guQsOCRiiJ3ZKUochIea64oStqKstTfH+exTcqFlavQEfl1ZmfB10e+ZsyBMZR3sqBz5RIsOXyDh9EJauXppfBbLfDfhcF7Wwgq3pxBMfO4smSE6sd4w5g+fToajYatW7eyZMkSbt68SUBAAAsXLmTo0KGAmqiwXLlyrFixAh8fH0qVKkVAQMBjZV+gdOjQgf3795OYmEj9+vXZs2fPM+f4+fnx9ddf4+3tTcWKFfnmm29wdHRk9uzZ3L9/n6NHj7J+/XouXbpE3bp1uXbtWoHLWdQcOXKEJUuW8Nlnn1GhQgVADX+ePHkyt27dYuHChUUsoaRIyUx7iIxv6e1QI5/2Ar7ALdStSc2AT57XviiOgjY9/Xr6V1F5aWURnxwvAkNiRJmxW8Skjalvp5H3hVjUToiJlkJsGCF08ZFi+48DhZhoKeKW9RAiMTbPsrwocvUWkhCtmtuy4dtvvxWA2LFjxzN1sbGxolWrVgIQ1apVE8WKFUubcXz66adCCNUkde7cuQK1jd+8eVN4e3sLAwMDsXTpUrFkyRIxadIk4e3tnTZzaNSokZg9e7a4f/9+pn0cPXpUODg4CDs7O3Ho0KECk+1FkdV9TklJEdWqVRPOzs4iOjo6Q51OpxP169cXzs7OIj4+/gVIWbDIGUXuIK+mJ7UtRkDl1OOldGCnPwpaUey4uUNUXFJRXAxRlcOo1edEuS+3invhqSuYU5KF2PWNEBOthPitjnjgf1Z8O36k0E60EmJeMyGiX+6V2zn+49LphFjcXohZNdTfsyAhIUGULVtWeHh4iKSkpLTyqKgo0ahRI6EoiliwYEFqlzpx+fJlMWfOHLF//34hhBAXLlwQgDA2Nha1a9cWI0aMEAsXLhT37t3L8xiFECI8PFw0a9YsTTE9Vg6zZs3KUjk8zfXr14W7u7swNjYWa9euzZc8L5qs7vOcOXMEIFatWpVlO0DMmDGjEKUrHKSiyB25VhRAs9SfXTM7smr3MhwFrShuR90WFZdUFKuvrhZCCHEnLFa4f7lFjFl7PuOJ13cKMa2sENd2iDO3w0XSxY1CTHYSYoaP6vB+ScnxH9e1HerMaaKlEPfOZHvqpk2bBCB++uknIYQQYWFholatWkKj0YgVK1Zk2zYsLEwsX75cfPrpp6JRo0bCwsJCAGLTpk1CCCGOHz8u3n//fTF//nxx+vTpXNnPExMTxbRp08RHH32UZ8Xz8OFDUadOHaEoipg5c2ae+igKMrvPjx49Era2tqJJkybZ+omaNWsmHB0dXzmHvlQUuSMviuLr1J+LMzkWZdXuZTgKWlFodVpR5686YvKRyWll4zdcEGXHbhE3Hz31j5OQbup+bYeIueortFPLqCG0Nw/nWa7CJEd/XFqtEL/XF+JnbyG+thVix4RsT9fpdKJt27bCwsJCnD9/XlSuXFkYGhqKDRs25Fo+rVYrrl69mmYW+euvv4SlpWXazMDQ0FB4eXmJ27dvCyGE8PPzE76+vuLevXtZPvzy+w8VGxsrOnfuLADx2WefvRIZdDMb87Bhw4RGoxEXLlzItu2hQ4cEIKZOnVpI0hUOUlHkjnyZnl61ozDCYw/ePShuRd5K+xwcGS/Kj9sqPvjrVOYRTuG3hO5rW3H9ax/x6/x5QvxaTYhvHIS48PKZK3L0x3V+tTqTOPePEH92FeKXStman4QQ4urVq8LAwEDo6+sLExMT8d9//xWMwEJVHteuXRMrV64UX3zxhejcuXNaMsNPP/00TYmYmZmJKlWqiO7du6eZwe7cuZM2O8kPKSkp4sMPPxSA6N69+0tvw3/6Pp84cUIoipLmG3oebdu2Fba2tiIyMrIQpCscpKLIHXlWFIATsBDYlvrZi9R9JV62g0IKj82Kadsvi1KjN4sWP/mK/y4+ePbt9doOETe5pIie4Cj8Ns0UYmFr1Y9x62ie5SsMnjvm5ETVfPZ7PXVmcfpPVWncPfXcvidOnCisrKzEvn37CkbYHHD//n2xY8cOMXv2bPHxxx+Ltm3bilq1aqXVv/POOwIQrq6uokOHDuLLL7/Ms79Bp9OJ6dOnC0A0bNhQhIZm7+gvStLfZ61WK2rXri2cnJxynPn35MmTAhDffPNNIUlY8EhFkTvyoyi2Ad2Bc6mf9YELz2tXlEdhzChC40PFmqtrRHBscFqZTqcTm8/dF02m7xWlRm8WXX8/JI4FZnxQJD66JS5+U1uIiZYicd1HQvzkKcSc+kJo878CuaB47h/X8fmqYriaOiOICxPiazsh/vsqR/2/bDH4+/btE0OGDBG9evUS3t7eQl9fX6T/mxk0aJAYOHCg+Omnn8TOnTtFcHBwNr2prFy5UhgaGgoPDw9x48aNQpQ+76S/z4sWLRKAWLp0aa76eOutt4SVlZUICwsrYOkKB6kockd+FMXjxXVn0pWdfV67ojwKQ1FcDr0sKi6pKLYFbnumLilFK5YfvSlqTtkpSo3eLN5dfFxcfvBken7m5kMxd1xvsW3uaNX0NNFSiGPz8ixjQZPtH1dijBDTywmxsE1GU9Pyt4X4ueJzzU8vK+nHnJCQIO7cuZP2+e23384QtguIPn36pNX/8ssvYvXq1eLcuXMiNvZJ+LOvr6+wtrYWxYoVE0ePvlyzRiGejDk8PFw4ODiI+vXr53qh4/nz54WiKGLcuHGFIGHBIxVF7shKUeRkwV2soih2qf8wKIpShzdwf4qyVmXR19PnStiVZ+oMNHr0qV2KfV80ZVSbCpy4GUbbmQf47O+z3AmLo0opBx7WGcdf+l1I9ugMjt7w3zgIv/niB5Jbjs2FmGBoMREU5Um5dxeIvA33ThedbAWEkZERLi4uaZ9Xr17NgwcPCA4OZteuXfz8889pacvj4uL49NNPeeedd6hcuTJmZma4uroya9YsGjdujK+vL1qtljp16lCxYkXGjx/P6dOnH79gvRRMmDCB0NBQZs+ejZL+nuaASpUq0b17d2bMmEFISEghSSh52chJis7/oSYCLKsoyiHAAXi7UKV6CTHQGFDWqixXwp9VFI8xMdQwook7vWu5Msc3gMWHb7L5/AP61HFlWKMyOFkaq/+YrnXg4SX4vS50nQceHTI+hF8W4sPh0Ewo31aVOT0V2oGeAVxaBy7Vi0a+QsbR0ZHmzZvTvHnztDJTU1Oio6Px9/fn2rVraUfx4sUBMDY2TnuAXrp0iUuXLjFlyhScnJzo2bMn7dq1o3z58ri6uqKnl5P3NHXW7+/vz7Fjxzh+/DjHjh0jICCA9u3bM2zYMOrWrZvjB/758+f57bffeP/996lSpUruvpBUJk2axOrVq5k2bVpa2vncEhUVRWhoKKVLl85Te8kLJrNpRurbzydALVRlog94AxUBg6zavCxHYSUFHHdgnGi8qnGO+7ofESdGrT4nSo/ZLLwnbBczdl4TNx/FiEFLjouYle8+WZPwV3chwm89v8NCIssx75igOt+DLmZe/1d3NYPuK2h+KiyTRFxcnDh06JBYtGiRGDt2rOjYsaNwcXERNWvWFEZGRhky7bq5uYm33npLjB07VgQEBAghhIiMjBTnz58X//77r5gwYYJo06aNsLW1zRDF1bhxY9G7d++09SUVK1YUv/7663P9Bnv27BENGzYUdnZ2+Xa69+/fXxgbG+d4oeJjdDqdWLp0qXB0dBT6+vrihx9+KNTQYml6yh3kYR3Fj8BhIAzYB3wHdABss2rzshyFpSj+vPSnqLikogiJC8lVn9eDo8TQZSdEqdGbRZWv/xNe47eJxlM2iqSp5YX4sYIQk4up4adFRKZjjrwnxGRHIdYOzbrh2ZWqort9vNBkKyyK4gESFRUl5syZI2rUqCEMDQ3TVocriiI++ugj0bt3b+Ho6JjBN2JkZCRKlCghvv/+e3H+/Hlx6tQpsWzZMvHff/+JAwcOiKlTp4rq1aunrWTv37+/OHToUKa+hy+//FIAYv78+fkei7+/v9DX1xcfffRRjttcuHBBNGzYUACiVq1aokuXLgIQLVq0yLXCySmFeZ/j4uIyZB54GShKZ7YhUA/4HFgL3Af8nteuKA4KOTw2MjFShMeH57nvkzfDhM+k/0SzH/eKWlN2iv9NmKA+aPf/9OSt/OwqIW4dyfM18kKmY974sRrZFHYj64bxEUJ8Yy/EtrGFJFnhUdRvmomJiWLbtm1i2LBhaY5zZ2dn0apVK9GlSxcxcOBAMWjQINGlSxdRt27dtDTp33zzTQZF8vjYvXu3GD58uDA2NhaAsLKyEg0aNBCjRo0Ss2bNEqGhocLW1lZUq1bt+VFoOp0Q695/7svLkCFDhKGhobh1K/vZcFRUlPjss8+ERqMRtra2Yt68eUKr1QqdTifmz58vTExMhL29vdi8eXOuvsOcUND3WafTif3794v+/fsLExMTYWJiIpo0aSLGjx8vduzYIaKiinaLgaJUFFZAG2AysAs4CSx+XruiPAprRlEQ7L4cJEqN3iw+XHFKtPrJVxwaX1ckTXERIiZEDZmdXUtVHv9++NzkewXFM2N+5C/EJBshtnzx/MYreqohv6/AyuT0FLWiSI9WqxUhITmbpcbGxorr16+LAwcOiA0bNogFCxaIH374IS2B4k8//STKlCmTwcylKIro06ePUBRFdOzYUejp6YmSJUuKBg0aiN69e4uJEyem9X/v3j0ReXaL+jc4q2a2ZsVbt24JQ0NDMXRo5rNOnU4nVq1aJUqUKJG2MVVm4/Tz8xOVK1dO25ckISEhR99FTiio+xwUFCSmTZsmypcvLwBhYWEhhg0bJj755BNRvXp1oaenl2ZSrF69uvj444/FmjVrXnha+qIwPc0DDgHbga+BtoBNVue/TEdhKopVl1eJJReX5Ll/IYSYvv2KKDV6s1h86IaY/ucGofvaVogNH6iVCdFC/DdOfVBPLSPEmRVCpBTu9PaZMf8zUIgpxYWIfv76AXHub/Wh8pItInweL5OiKCzOnDkjhg0bJszNzQUg2rdvL7Zs2SK++uor0a9fP9G4cWNRunRp4enpmdamZcuW6ozECFGtuJ7o0amV+Pnnn9Pq04cDCyHEhx9+KPT19dN8LI+5cuWKaNGihQBE1apVnxsuHB8fL0aOHCkAUaVKFXH58uVsz88p+bnPKSkpYuvWraJr165CX19fAKJBgwZiyZIlz+S8ioqKEjt27BDjx48XTZo0ESYmJmmKuly5cuK9994TixYtEv7+/oW6C2ZRKIrtqbOHJcBQoBKgZHX+y3QUpqL4ZM8nov269nnuXwghUrQ60Xv+EVF+3FZx8V6EqhgmWorNmzc8SQfy4IIQ85urD+HQQLXskb/qOyhgMoz53hn1mrun5KxxfKSammTr6AKXqzB5ExTFY6Kjo8WGDRvE1q1bM61P/+DaunK+mNbCSHzQoZpo7W4gyhSzFi1btkyr9/T0FHZ2dqJOnTqiX79+YtSoUcLQ0FAMGDBACKHODoYPHy4MDAyEhYWFGD9+fFryRa1WK86cOSNOnTolTpw4IS5cuPBMOpCNGzcKOzs7YWpqKhYuXJjvh2pe7vONGzfEhAkThIuLiwCEg4OD+Pzzz3OlvBITE8WRI0fEtGnTRKdOnTIEJLi4uIi+ffuKhQsXioCAgAJVHEViegKU1EinoakK4ySwg9SEgS/rUZiKYs7ZOaLSkkoiJil/WTRDohNE7W93iYZT94iI8FAR9727OD/eRwxZclTEJaau2tZqhbi+60mjv/urD/Hf66kRSTcOFMhsI8OYl3UR4gc31f+QU1b2Vp3yr5D56U1SFI/J0Zg3faIq/uhgIVb1FWJqGaFNemIKmjlzphg6dKho2rRp2oPUy8tL6OnpiV9//TVT/8ljh3d8fHym9WPHqj6umJgY8f7774sxY8YILy8vQeqe5zk1y+V1zFqtVly/fl38+eefolWrVmkBBm3atBFr1qwpkMwCWq1WXLx4Ufz++++ie/fuGYIWSpYsKfr16ycWLlwoAgMDc604dDqdiI6OFoGBgeK3337Ll+kuK0WR7TqK1IYXFUWJQF1kF5ka+VQLmJhd29cVD1sPBIJr4deo6lg1z/3YmxvxW59q9PjjCP/7N5B57b6n0rpBOF5bSe8FKSwcUBNbM0NwfxLDT5OxUKIq+O+CI7Ph0AxwqQmDd6n1CZFgbJX3wd3YDwG7odW3uevHuwtc2Qx3jkGpunm/vqRoiQuDsyvBpzuYO0LlnnB5I3o3fKF8awBGjhyZsUlcHLdu3aJmzZqMHDkSFxcX+vXrh6enJ3p6eujp6VG+fHkADAwMWL9+fVp5bGwsd+7coWbNmgA8fPiQ1atXExoamtb/pk2bqFChAps2bcLZ2ZmvvvqK0qVLZzhcXFzQaDQ5GmJKSgpXrlzh9OnTnDlzhtOnT3P27FmioqIAcHV1ZeLEibz77ru4uro+p7eco6enh7e3N97e3gwfPhwhBJcvX8bX1xdfX1+2b9/On3/+mSZDkyZNaNKkCV5eXoSFhfHw4UNCQkJ4+PBhpr/Hx8enXatly5aUK1euwGSHbBbcKYoyEjXaqR6QjBoqexhYBFwoUCleITxsPQC4EnYlX4oCoHopG75s58k3m/34w7UKw90aMuHeOhrdr0u3OcksfbcWrnamTxo4eqhHg08gIQoCfUHo1LqUJPilIliXUv+pPdpB8aqQw0VdCAG7vgZLZ6g5OHcDKd8a9I3h0vrXT1EIARtGgEUxdXX668zJRZASD3VGqJ/dW4KJLZxblaYonsbU1BRPT0/+/PNPgoKCGDx4MAYGBpmeq9FoeOutt7K8fOnSpXn06FGaArl9+zZ79+5l+fLlNGrUiN69e7N161bCw8MfWzwAmDp1Km3btiUwMJC///6bMmXK4O7ujqurK7t37+bixYtcvHiRU6dOcfHiRRIS1G2MTUxMqFy5Mn369KFatWpUrVqVKlWq5Fjp5AdFUfDy8sLLy4sRI0YghMDPzy9NcWzdupVly5Y9087Q0BBHR8e0w9PTM+13BwcHgoKCKFasWIHLm92Mwg1YDXwqhHhQ4Fd+RXEydaKYWTGik6ILpL9367tx6nY403dcpe7bX1Hldns2ee6m672exCalZN3Q2BK8Oj35rE2Chp/B9Z1w8Bc48CNYFIe20zKelxVXtsC9k9BpNhgY524QRhZQriX4/Qttvge9wv9He2H4/QvnVoCiB1V6g33Bvqm9NKQkwfH5ULYZOHmpZfqGULEbnPnzubPVLl26FJgoZmZmeHh44OHhQatWrRgzZgzDhw9Pe+N+mtGjRzN69Ohs+7SyssLJySlNSQDEx8dz5swZ/vrrL8qUKcPcuXPp2bMnZmZmGY5FixZhY2PDf//9x4EDBzLUWVtb06lTJwwMDIiLi8PAwCBLRZkdiqKkzTg++OADdDodfn5+BAYG4uDggIODA46OjlhYWGS7Ct/X1xcLC4tcX/95ZKkohBCfFfjVXgMURWFHtx25zpGTXX9Tu/lw5UEUg7dFs6/qEBxOzWHve4PRL26JEIL/LgXT0ssJjV421zQyhwafqkdcmKowrm4ByxJq/c1Dat4mj/ZQrhWY2j5pK7Sw+xuwLw+Ve+VtIN5d4PImuH0U3OrnrY+XjaQ42PEV2FeAyDuwbxp0m1/UUhUOl9ZBTBC89VvG8so94cR88NsI1foViWhWVlasWLGCmTNnEhMTQ0JCAvHx8Wk/0/+ekJBAREQEQUFBhIaGkpCQwNixY/Hx8eHixYv4+vqSmJhIUlISiYmJJCYmYmNjA4CzszM1atQgNjaWuLg4oqOjCQoKSpthHDx4kO+//x6dTpdBvqSkJABGjRrFb7/9hrW1Nfb29tjb2+Pk5MT69etRFIVt27YREBCQZnrT09PDwsKCXr3U/7ldu3bx4MGDDPXW1tbUravO0oUQBfbcyS05yfX0yqAoSkego7u7e2Ffp0D7MzfSZ07f6nSefYj377RgmcUG9Ld9AUP2sN8/jPeXn6KyixVT3qpEJZcc+A5MbaFyD/V4TEww3DkOlzeCogHXulChLdQcRLEgX3h0Fbr/CZo8/kmUaw36Jqr56XVRFAd/URXEwK1w/T84PAsafQEO5YtasoJFCNXn5eABZZtnrHOuDrZl4fzfRaYoHvP4zTo3+Pr6UrlyZUBNaFipUqUsz+3YsSMdO3bMsn7y5Ml88803JCYmEhsbS2xsLJGRkWkziE6dOuHo6MijR4/Sjujo6LTnxbx589iwYUOGPkuWLJmmKH788Uf++++/DPXe3t60bq2a/Vq0aEFAQAAuLi5pR5UqVejbty8AISEhaLXaXHw7uSAzD/erfhT2grvzD8+L3lt6C/9w/zxfJzM2nLkrSo3eLNYt/UWNbjqhhgduOHNXVJ+8U7iN2SzGb7ggIuLyGOmk1Qpx96QQuycL8VtdNbopIVrEf1dW3YEvyC9/A/i7nxDT3F+qvTay4rn3OTRQjf5Z/Z76OSZEXVuyZlChy1ZYZDnmwH3q39vJJZnX+05V68NvF5pshcXLFN0WFxcnHj58KIKDg8WDBw/EvXv3MqQuuX//vvD39xfXrl0TV69eFZcvXxbXrl1Lq58+fbro27evaNKkiShXrpwwNjYWbdq0Sat3c3MTI0eOzJeM5CXqSZI5JvomnA85j1+oH2WtyxZYv52rOHPqVjifHhE0cqmJ3a6vUTw707mKM00qOPLLzmssO3KTs3ci+PeD+pnObCLjkzE30s/cTKWnp74hOleHZl+pJqpTizFODAEDPZhTRzWzeL8FXp3B0St3WW29u6g2/VuHoXTDvH8RLwP/jQM9fWg1Wf1sZg+1hqjZdBt9AQ4Vila+guTI72Bqp0Y7ZYZPd9j7LVz4Bxr+78XK9hphYmKCiYlJlvWPMxBnxeeff57hsxAig89lwoQJhWaaymFIjCQ9blZuGGmMMt2bIr+Ma+9J5ZI2vBfSE5EYDbu/BsDKxIBJnbzZ+GEDxrTxQFEUElO0HA0I5d+z9xi77gLNfvKl8tc7qP3dbr5cf4ED10NI1uoyv9C9U2o0z46vCLOpCkP3Qbsf1bDI/dNhTj31YfmYdFEmWVKuFRiYquanPBKVkMziQzeITyqkKXRO8N+l+ncaff7ExwNQb6Q6vn3Tik62guaRP1zbpka6GWTxELNxU02V5/7O2d+B5IWgKEoGxfPuu+/i5uZWKNeSM4o8oK+nTznrclwNu1rgfRvpa/i9TzU6/BrLOv2OdD29DEXfGKr2gWI+2JgZci04mtFrzrPDL4jwuGRA9XPUKm1LlyrOXAmKZsOZe6w4dhtrUwNaeDrRtmIxGpSzx+jBadg3Ffx3grE1NP2KS8neNLQsrr4x1xoCMQ/VdREOnqpQD6/Ayp7qLMOrs7qWI7M3F0MzNYzy8kY12ioP/o7f9vjzx/5AjgSEMqdv9ewd+IVBShJsG63a5et+kLHOzA5qD4WDM9RZhaPHi5WtMDg2BzSGzw+J9ukBmz+BB2fV+y95o5CKIo9UsK3Artu7CiUSwdnahBk9q/LB4ihK2cdQ9eQiNMf/wF9xY2VSAzZo65NsbEdVV2si4pI5dzcSS2N9etQsSSsvJxRFISFZy/5rIWy/GMR/l4K4eXoXJoYbqKecJ8nQGpqMx7DuMDCyQOvrm1EAc0eo8d6TzykJYFtadeYemqGutXBrqK4rSP/GDar56dJ6uHUIyjTO1bijEpL569htXGxM2OEXzJQtfkzs6P38htpk0OQ+JDFTjs2BUH/ovRr0jZ6tr/uRGka6byq8s7hgrllUxIXBmb+gUuoCu+zwfgu2jVJnFVJRvHFI01MeqVWsFtUdqxOfEv/8k/NA4/IODG7uw9sh71Et7je+UwajMTRmvMFyTpp8xLnyi1la9yH/vl+L1e/XxcLYgGF/nuKHbao5zNhAQyvvYvxcO4ZzpWaxxugbKhnc4RelH1WifsZntzfD/rnK+jN3SdQ+x5xQogr0Ww9f+KvrLFxqqov9jFLjtU8sgH8/gPP/gFMlMDDLk/lp5bHbxCSmMKdPdQY1KM3iQzdZdPBG9o38/oXvS8KeKfk3i0Q9UM1K5dtC+VaZn2NmB7WGquN7eDl/1ytqTi1WF9jVHfH8c01soHwbuLhGVcySNwo5o0hHXHIcUdqoHJ3brkw72pVpV6jyjGxWDs/ilpSyM6W8Y3f09BR4eAXl3Ap1tey1bWBiS02f7mx+pxdLA52pWdoOhCDSbxcmR37C8O4R9MydoPV3WFR/l480xtS5Gc72iw/YfimI/y4F42mrR6tmOZgZmdqqIZLV+qkP5cfnxzyEy5vhzHL1s6E5nFup+jxyaH5KTNGy6NAN6rvbUcnFCq8SltwNj2PyFj+cbUxo7Z3JatNL62HNIDCxVv0qyfHQakret5XdOUF9CLb5Lvvz6n0Ex+elziqW5O1aRc3jBXZlmoBTDmZtkJbSg4A9Wa7UlryeyBlFKkIIPtrzEb8H/05MUkyO26Xoslk9nU/09BRaexfDo5ilqiRAtYu3/AY+9YM+a6B0Izi5CIMFjRl8qT+VA+fDotZYrX6b8DtX2FP6c2LeP6Xa2w1N0dfoUbesHV93rsiRMc0Z38GLy2E61p6+lzvh0j+Mm34JowJVh3irKWDnrpqrbh5Q69e8p844Ti6CB+cyfSP99+x9gqMSGdZIjSLT6CnM6FGVyi7WfLzqDGfvRGRscHGtqiRcasLIs1BrmLoWYOvnoMvCgZ8dt46oUT31PgLbMtmfa2oLtYfBpQ0Q7Jf7a70MXFoP0Q+g7oc5b5M+pYfkjUIqilQUReHdiu/yIPkBn/h+QnIOpteDdwzm832fP/e8QkGjr6bN6L4U/nc19e3dEPZOgch7PGr8Pd+VW8V7l6vR+JejLDl0g6SUjA9QPT2Fd+u5Uc5aj2+3+BEWm5R3efQ0qomq3kfw3nZ1VnFpPei0kBQLV7fB5k/hj0bwvQvsTX1rFwJd6A3m7QvAs7glDcvZp3VpYqhhwYAaOFoYM3jpCe6ExakVF9bA2sFQsjb0XaOmM2k7VY1KOrEANo1Ur5tTdFrY9gVYuqhpUHJC3Q/VMe6bmvPrvCw8XmBnX+HZBXbZoW8IFbvC1a1qSg/JG4NUFOlo4NyA3na9OfbgGOMPj0cnsn8ztTGy4ULIBWKTY1+QhFlgaqtGKw3dC59dhpFnsG86gpl96/DvB/Up72TBpE1+TN3+bDivnp7CQG8johNS+G5rAdncDUzUVd+XN6lJC3v/DV8EwMfn4O1FaoSNY2pEVdR99GZVYXVUH5YY/IDi+wNc2wHxEYCaZXfxuzVJ1goGLD5O7Im/YN0QcK0HfVY/8ZMoijrTajxazU20/n3Q5nC2d2oxBF1Q10wYmuWszeNZhd+GV29WcesQBJ2HOsNznjTyMT491dmi38bCkU3yUiIVxVPUNq/Nx9U+ZkvgFmacnpHtue3LtCc0IZR+2/pxP+b+ixHweViWUN/8Uqlc0poVQ2qz9L1avFvfDYBrwdEcuB6Sdo6zhR5DG5Vhzam7HAkIfbrHvOHdBeLD1NTloD7IbdzUJHOtv1XrAQxN+cNyJAf16+BIGOyfBiveges71PqwG5QN+JMVbTXUDt+KyZYP0LnWhz7/qPmt0qMoqhms2XjVjLT2vec7XuPCVEe4W8MnMuWUuh+AoQXs+yF37YqaI7+pJqTKPXPf1qXGk5QekjeG10pRKIrSUVGUeZGR+ZsWD6o4iB4VerD44mL+uvxXluc1KdmE35v/TlBMEL229OJGZPYROvdi7vH3lb8L1a+RGYqi0Li8Ay42asryefsD6bfwOH0XHOPCXfW7+qhZOVxtTRm3/gKJKQWw2K1sc/Uh+pzop1MP4fuHdQhp+iPKiCMw5g4M3PLEJHLrEGwfg/fWrnyn/wexwphDkTboErLJ3tvoc2j9nRoR9U9/SEnM+tw9k9WU7W2n5d4JbmoLdd5XrxN0MXdti4rQANUMmN0Cu+xQFFXB3DwAEXcKXj7JS8lrpSiEEJuEEEOtrPKxeQ/qg3VsrbE0K9mMqcensuPmjizPredcj+Xtl9PQuSEu5i5Znrf79m7e2fQOU45N4e+rRfs29m2Xiozv4MWl+5F0nH2QGacSOHsngslvVSTwUSxzfQPzfxEDY3VPjMubsn2rn7c/ACsTA3rULKkWGJmDWwM1DBWgal9oORlQUKxKEmVVgarhO/jtwF21/ugcWN4NNn0Ce75VI3kurVf3VGj/k2pPX9lLzQT7NA/OwcnFqtnucWrt3FJnBBhZvjq+iqNz1DUnud1zJD2PU31c+KdgZJK89LxWiqIg0ehpmNpoKpUdKjP2wFhOBp3M8twyVmWY0mAKBhoDwhPCWXJxSZp/I1mbzNTjU/lk7ye4WrhS3ak6s8/MJiQuJMv+ChsjfQ2DGpRm36imjGxejsBILcduhNK4vAMdfIoze+91AkNyHvmVJd5dICECAvdlWh0YEsMOv2D61y2FmVEWYbSnlsDO8VC2KXx4ghKf+vKdz3Z+OhDMquO3AQWig1WFtH+6GvW0caT65ltzsJrXKmA3TC0Fv9WFZW+pEVg6HWwdpc4KmozN+xhNbaH2+2rYaNDLvZ+XfnI0nP0LKr0DFk5570im9HjjkIoiG4z1jZnVbBbOFs6M3DsS/3D/57bZGLCRn079xOf7Psc/3J/+2/qz/PJy+nr2ZVnbZXxT7xuStEn8ePLHFzCC7LE0NuCzluX5uYkpQxqqIaENy9mTrBW8M/cIh/xDMuwklmvKNlPftrMwP80/cAMDjR7967pl3v7kItj0sRqW2XMlGJigKApfv1WZRuUdGLfhIvttu8HwgzAqACaEwuf+MGTPkz4afAoV2qmzmpgHquKKDcXp4X64c1RNYzK7Jix/G3ZPVs1IEbdzN866I8DI6sXNKiLvqtFdNw9lb1Z7iuIPdkBynOrEzi8+PdTU9A/O5r8vyUuPXHD3HKyNrZnbYi59t/bl/V3vs7zdcoqZZb3VYH+v/gD8ePJHdt/ejYm+Cb80+YUWpVoA4GrpynuV3mPuubl0K9eNWsVrvZBxZIe+npL2Rl+3jD31y9pxKCCUPguOU8bejN61Xelf1w1D/Vy+V+gbqRslnf8bQq6oGyM5lAf78oSauLHh9C3erl4KB4tMUmUcn6/ODsq1hh5/ZkinYaDR4/c+1Xhn7hFG/HWaf4bVxauEpRqia+6gHo/x7KgelzbA2kGAAu2mU+b3hlCimrp48M4J1QwVsEfdxKlca9VZDrD/R3V7WdvS6upkU1tVKaSPFjKxUR+++36AB+ehuE/uvqec8sgfDv2ivsnrUs15+sZQsha4NVJNds7VMwQzpJGShMvdzVC6MRTLek+GHJOflB5JserixvCb0OOv3O+oKHnhSEWRA0qYl+D3Fr8zcPtAhu8aztK2S7E0tMz03BRdCsFxweoHAcZ6xrhaZtykfVDFQWwK2MS3x75lTcc1GBRUnqICwNXOlD8H1abrnMNcD47Gwlif5Udv8V790gDci4inhJVxzvNbNR6lrjd4dFV9EJ9bAYAdcE6jgTtl4e8Kakz/Y0Vy+yhsH6Om0ui+NNOcS+ZG+iwaWIMuvx3mvSUn2PhhfRwts3ngeL+l9vNPf/itFkbJcdBuLbhUf5LXKjkeHvoBqWNLilMVxdNpWup+qEZuJcXCss6qojA0V9exrB0EnX+HkjVz9v3khPtn4eDPakiqvpEqb413IeyG6lS+eUBNA45QN49yra0qDbdG6kNc3xD8NmCUFJa7BXbZkT6lR6spOU8AefeUGt4cFqjKu/trdftcyUuNVBQ5xMPWgxlNZzB813A+2fsJc1vMxVCT8c3tfsx9vtj3Becfnae3R286lunIT6d+wt7EPsN5xvrGfFn7Sz7Y/QHL/JYxqNKgFzmU56Knp/BDt0p0+PUgFYpZMK69F3p6aqLBdjMPYGduSBvvYrTyLoaPs9WTVeOZYVsG2qczsyVEEnf/Mt8t+5eGNmG0dohScyZd2aq+zT+mQns1PUZmb8epFLcyYfG7NXnrt0N8u/UyM3s+5822QlvotRJW9eV+8VaUcKmesd7ARH0jf4yhKYy9A4+uqeaeuDA15Le4umMaKYnquouYYIhLXaPy6Jq6rWjJmmpU0D/91NBbt4ZQqu6TdR/PQwh1X48DP6k+FiNLdTFg7eFPZkyOnmrAAKiy3ToMNw+qimPPlNQxmYJrHQi7QZyJM6buLXJ2/ZyQIaVHFrmxHqNNUceyb6oawj1ws2rmO/o7uLcA91ws/JO8cKSiyAV1itdhcv3JjD0wlnEHxzG10VT0FNUEsff2XsYdGocQgp+b/EzLUi0BWNxGzTCarEtm+43tdCjTAUVRaOTSiGYlm/HH+T9oV7odxc2z37TkReNRzJIhjcowxzeArtVcqFNGjUIa09aDTefu88f+QH73DcDJ0ohJHb1pWymH8htbsfK+E8sTGtCtaz1wVfcrJiVRfUN+dFV9U6/4drZK4jF6Rg9w9JzFruho2qy2wc7MAlN9U8wMzDDVN8XUIPVIV2b2zmx0d40o8dzeUSOEnLwzz4dkagv9/33yOT4CZlRKfVtG9Yfom6iRRod/VbegLVEFOszI2jwlhLqG5MDPqg/F1B6aT4Sag8A4m2g+U1vw7KAeoCqOmwefHOE3uOXxMZ65XWCXHY9Tepxflb2iCAuEdUPh7gk1U2276Wp+Lufq6jqbDcNh+JEnkW6Slw6pKHJJhzIdCIkL4edTP+No6sgn1T5hxukZLPNbhqetJz81/omSliWfabclcAvjD41n/939fFj1Q0pZlmJ0rdF03tCZaSem8UvTX4pgNNkzslk5Np+/z7j1F9j6cUOMDTT0quVKr1quRMQlsefKQ3ZcCk4z+Zy8GcafR2/RyqsYjSs4YJ5JJFOyVsfCA4HUKm1L1cdKAlSTiqNHrvZ4uBl5k6E7h2JgoMEgxZ3wyBRKWpkQnxLHo/hHxKfEE5ccR2xyLEm6jOlJapvVph1Z74+cJ0ysVdOO73eqz6N4ZXhvm2rCunscbhxQH9pmqTPMk4vg7ErVTFSiumr2urhanZVYlYS209XwYEPT3MtiagtendQDIDmB4ENH8SywwfIkpceZ5epaFOOnzLFCqHXbx6hKsttCqPT2k3oDE+g6HxY0h40fQc+/8p7QUVKoSEWRBwZ6DyQ4LphlfsvYfXs392Lu0cujF5/X+PwZc9RjOpftTEhcCLPPzmb7ze1Uc6xG13JdGVZ5GDNPz+TA3QM0dHm5tg81MdQwuXNFBi4+wR/7AhnZvFxanbWpIV2rudC12pO1I/cjEzh4/RH/nr2PoUaP+u52tPIuRpeqzhgbaADYfP4+9yMTmNKlYr5kexDzgCE7hwCwoPUCzgUa8unf52hdtTJvV392PUuyLpm45DjiU+L57exvbPbfTHhCODbGNs+cmy/qvA9Hf4PVA1W/y9OY2MDm1HxSUfch4pb6pk266LLOv6trFbaPhdk11MgsE2v1p2VxdX0IqKne48PVbUxNbNWfpraZ76NRWA5jn55qBJbfv2pgwGNiQ9WcW1c2q2a3t+aA9bMvUBT3geYTYMdXcHopVB9YOHJK8oVUFHlAURS+qPEFofGhHLx3kB8b/0hrt+zTLiuKwhCfIXR278zGgI386/8v225uY1bTWfzr/y/fHPmGTV02Yaz/ckWANKngmLq2wp+OlUtQ2j7rXEidKpegfaXinLoVzo5LQezwC+aHbVd4J/XBfTUoijm+AZR3MqdJ+edslJMNj+IfMWTnEGKTYlnYeiFlrMrgVlmw9PAtpm6/QpuKxZ6ZzRjoGWBlZIWVkRUDvAawwX8D666vK3j/kLEVtPpWTUMelYOMvNauaj4sPQPVTu/kpaY5AdVMlRynmrTiwyH8BsQEPWl76FfVf5Ee27Iw8rT6++ZP1cgiUzswtcPlUSL4awvWH5A+pcdjRXF9F/w7QjV/tZyszrKyM3nV+QCu71QVY6kGYO9ecPJJCgQlX3HyLyk1atQQJ09mvUAuO3x9fWnSpEmOzhVCkKRLwkiTyRtcDtpGJ0djaWjJ1sCtjD4wGisjKwZ6D6RjmY44meVjQVQued6YH0Yl0Pznffi4WLF8UO0cRzwJIQiOSqSYlTE6naDWd7t4FJNE7dK2fN66AjVK2eR6d8DIxEgG/TeI29G3+aPlH1R1fOLAPnM7nC6/H2ZEk7KMapO9Cavrqq7E6seytetWNHqaXMnw0hD7SN0LJC5UdbLHhYLGSN02F2DL53D/tFoeGwpJ0erb/cDNav2ClqBNVMN/bdzAphQUr6pGguUG36mque3Dk6qCPD5P3Ua32/ych+JG3Vf3abdxg0E7C2zHwtz8P78O5He8iqKcEkLUeLpczijygaIoeVISj9s+DrFt6tqUSvaVuPjoIjNPz2TWmVnUK1GPL2p+QRmr5+yN8AJwtDRmdBsPvtpwkQ1n79GlatapStKjKArFrIxTfwcnS2NiElM4fzeCd+YeoZSdKaNae9DeJ2eO8LjkOD7Y/QGBkYHMbjY7g5IAqOpqQ9eqziw4cIOeNV1xtcvatt/IshELQxay/+5+mro2zdH1XzrM7J/4OzIjfbQZcHDnZhrUrPykoGQtdX3Lw8twbTtok6ByL1VRCKGavUztVH+JtatqOnKp+ezD36e7qij+aKTOgGoPV7fJfZxLKikWYkNUxWZTWnVaP7yipldxqQnO1dRIqI4z1fBl3+9Vc9SLQKdVw4/9d6pRYy411BX9T2/x+4YjFcVLgIm+CTOazqDThk542npSxaEK225uS1Mk/938j6thV6lgWwFPW09cLFzSoq1eFL1rubL29F0mb75Mk/KO2Jg9PyIpPRfuRXLpfhRftvOgT+1SbL8YxNrTdzFKXcR3JyyOIwGhtPMpnqkTPFGbyMd7P+bCowv81Pgn6jnXy/Q6o9p4sO1iEN9tvczcflm/GVcyqYSTqRMrr6x8dRVFLkkxMM/oJ2j97ZPfdTrVrPV4Hw9tkrrfR8Rt1YfitwF0KdDwf6qiiA9XV7Rbuz5RJHFh0Gaq6qcJugCr+qjKIX0a/rcXqaa12IfqGgpQHd3FfdTreXdRI77KNge3+oXzRcQ8VEN6/XeB/251NoYCDh7qtQ/NVOWoPTz3s6vXFKkoXhIcTR0ZUXkE009Op69nX0ZWG5lmlrkQcoHll5ejTV1nYGZgRiX7SsxrOQ9FUQiJC8HayBqNnobjQcfxtPXEyih/iRGfRk9P4bsulegw6yAfrTzDu/XdqFfWHhPDnJlt/tgfiIWRPr1quWJmpE+36i50S+d0/u9SEFO2XGbCxou09i5GMw9H6rvbY29uRIouhVH7RnH0wVGm1J+Stso9M4pZGfNB07L8uOMahwMeUa9s5m/cGkVD9wrdmXVmFjcib1DaqnTuvpDXDT29jG/R+kbw1u9PPuu06o54j4M1tClqapSI2xB8EaKCVEXyeOGdiY364Dd3TJ35OKhH8SpqvVtDGHUD7p5Uw4DvHIdTS2HYPvUN/+++qqJwa6j241Qx54v6nkabAvdOqn4Q/11P0o6YOahburq3UNPNmNqqIdrH56t7mlxYrV67znDw6Jj364OqWO8cV7/HUvXU4IRXCOmjeIqitGmm6FLosbkHUUlR/Nv5X0wNnphOErWJ+Ef4cyX0CpfDLpOoTWRy/ckA9N/an/OPzqNRNCTpkrA1tuW3Zr9R0SFnkUW5GfOCA4H8svMasUlajPTVbVWbezjS1MMxLY3509wOjaPJj3sZ2qgsY9pm7jsQQnD6dgTrTt9l64UHhMclY6Svx9mJLZh8dCKbAjfxeY3RDPDu+1wZE5K1NP9pHxbG+mwZ2RBNJgsCfX19qVi7Ii3XtKRHhR6MqTUmR+PPDiEEB64/YvZef4QQrBhSBwPNy5NOrVD/th9vP5ufdRraZNU3cfckLGyp+lser4o3MFNNZf3Wq3bM4EtqAICNW+brbZJi4dIGHh7+C8foi+qOfIpG7cO9uboGpJhP1vImRsPZFeoamPAb6u6HtYdCtf6qEnwe0cFw+7Bqzrp1WJX3cWSboqcqzDJNoExjKFmnwKLSCstH8VopCkVROgId3d3dh1y/fj1PfRS18+vMwzP039af9yq+x6fVP8323GRtMpsCNzHr9CweJTzCRN8EIQQJ2gT0FD1+bvIzzV2boxO6bE1VuR1zYoqW4zfC2HPlIXuuPORWqJrCu7yTOc08nGjm4Ug1V2v0Ux+SE/69yKrjdzgwuilO2aXZSEWrE1y6H4n/w2guJy1j1dVV2CZ24uGdhtQpY0vDcg40Km9PWQfzLJ3hW84/4IMVp/m2S0X61C6V5ZjHHBjDvjv72PXOLswMcri73VMIIdhz5SG/7vHn3J0I7MwMCY1N4st2HgxN3QP8ZaCo/7Zzxb5palqSNj+ob/53jqt+jnfUBaws66yGByt6qtnLtqz69l9zcKpD/Q+IDyfR0BYj7/bqrKFMk9y/yeu06gLIo7+riwMNTKFKb0StYYy8MAsfex+GVBqshjnfSqcYwgLU9gamqnJyrafOJBQ9uLFPzah872TqLMxITbtSpgmUbqJGu+UxwEIqilzwqs4oHvPVwa/YEriFtZ3WUsb6WWd2QkoC666vY/GlxQTFBuFt581Qn6E0KdkEIQQ7bu1gzrk53Ii8wXsV32Oj/0ZalGpB+zLtqexQ+ZmHa37GLIQg8FEse1OVxvEbYaToBFYmBjQu70ADd3smbLxIp8olmPZ25ed3mI5fT//K/AvzGeg9kCpmfdh/7REHrj8i8JFq8+5azZmfu1cBICIuCWvTJ2+WQgh6zDuK/8MY9n7eBCuTjFE0j8d8LuQcfbf25avaX9HDo0eu5NPpBDv8gpm15zqX7kfhYmPCiCbudKvuzIjlpzkSGMru/zWmuFUeNggqBF6Gv+0co02BJe3VRYjvH1QjstLz4LxaFxoAof7q78nxqv8hJV6dgSTHo1X00RiaqGaj8m2emNMWtFRnDXr6ap2evpoMsvEXav364erMRd9YdcrrG4N5MQg6C+dXc9hQYVgxR4wEbAuJxSE2dWdIY2s1Bbudu+qoL+6jpnnRGKgy6RuqgQI6LSTFqHnNbuxTlVBw6uZXRlbqIswyTVTnurGVmsLFyEI1CWYTKSijnt4gPq3+KXvu7OHbY9+yoNWCtAd7XHIc/1z9hyWXlhCaEEpVx6pMqjuJeiXqPXn4K9C2dFualmzKpCOTWHRxEcVMi7Hu+jpWXV1FCbMStC3dlj6efXAwdchGipyhKAplHcwp62DO4IZliEpI5uD1R+y58hDfqw/ZeE7dInZoo9xFby26uIj5F+bTrVw3Pqv+GYqi0NxTzdp7JyyOg/6P0iKqHkYnUOvb3ZRzNKd2GVvqlLGjdmk7JnTwouPsg/y6+zrjO2S+MZGPvQ+etp6surqK7hW65yhcV6sTbL3wgNl7/LkaHI2bnSnT3vahS1XnNFPTpE7etPh5H5M3+/F7H+kQzTUafej6B8xpAOuHqbsepn/LLu6jHg/OqetJHl1X39Z9ekD9kXDvFIT6c/9GACWdi6lv7unTsDhUUM1RuhT10CZn9EHcPw2JMarSSU5Qf9YaCp1/g8ajWbiqObZaLZF6eiwy0jI6Fqg2QE3PEh8G0zOZSTafoAYDhN+EX6tkUj9RVYgX18OVTXB1y7Pn6OmrCsPIQt1B0ij9YU7Zh5FQw0v1DRUgUlG8hNiZ2PFJtU+YfHQy225so4FLA1ZeXsmfl/8kMjGSOsXrMN1nOjWcamT5YDPWN+b7Bt9T3qY8M07NoLxNeTq7d+bQ/UMs9VtKjwrq2/P18Os8TH5YYLJbGhvQrlJx2lUqjk4nOH8vkrjEFNwdc5gMD/jn6j/8cuoX2ri1YXyd8c+MsaStKb1qPcnIq6+nx+g2HhwNDGX96XssP6ruJzG7d1V61izJ0sM3aeXlRO0yz+YSUhSFXh69mHB4AieDT1KzWNZZX1O0Ojadv8/sPf4EhMTi7mjOjB5V6OBTPM3Mll7GD5u689POa+y/FkKj8vlXym8cNm7qKvT1Q9XsuY1S3/aFUN/CD81Uo5cMLdT9y+sMf+KQd1BXxQf4+lIyszfszrOzv/YHxzJ+FkJdGAmcTwzjuIkxn3v053rUDVZrjvJem7k42HuoPg9Dc3h7sRo59vhISY0iA9X81XRc6qZP4knfpRupM4hS9cG+nJorLPym6mCPvJu64VQxNaT51mG1TUqCuk5GaCEpjhJxEZD0da6/6uchTU9P8bJMz7U6LX229uFuzF20Oi0xyTE0dmnMEJ8hVHbInQln3519jD4wGmONMTOazqCMdZm00NsPdn/A/rv7cbN0o7FLYxqXbExVx6ro6734dwghBIsvLWbGqRk0dGnIjKYzMNDL3cKrFK2Oi/ejOBYYSsfKJTDU16P+D3tITNFR2t6MOmVsqV3ajoT7V+netqmaFTclgRZrWlCrWC1+bvLzM30ma3WsP32P33z9uRUah0cxCz5s5k7bisUzdZQ/JjFFS5sZBxBCsP2TRmlpTIqKl+VvO1cIoaZu9/sX3t2mPjAPzVQjl8ydVOVQ/d0sfQ+FMeZP9n7CiaAT7Hh7B2HxYXTc0JFeHr0YXWt0gV4nAzqt+l1o9NV8YQd+VkOQY9O95A0/jO/lEGl6epPQ6GkYX3c8g/4bRL0S9RhSaQiednlL6da4ZGP+avcXH+35iPf+e48JdSfwlvtbAIyrPQ7HWEfum9xnxZUVLPVbSg2nGmlZbxNSEl5IWpGopCjGHRyH7x1fWpVqxbcNvs21kgDQ1+hRpaQ1VUpap5W9W9+NufsCsTTWZ/P5B6w8fgeAts1SsDIx4MC1SNxNmrH71r9cCbmDh4O61iA2MYW/T9xh4cEb3IuIp6KzJX/0q05LT6fsU6unYqSv4etO3vRfdJx5+zPmypLkEEWB9j+rzuyFrQCh2v87/qqamV7wpkeBEYHsvr2bYT7DMDMww8zAjI5lO/LP1X94t+K7OJoWrMknjfRmN7cG6gFqdFXwBdVnY+cOFM4Wy1JRvMR423lzpNeRXKe5yIyy1mVZ2X4l/9v3P8YfGs+18Gt8Vv0zSpiXoLFlY5o0aUJscixH7j+5XkJKAk3/aYqnnac623BpjJuVW75leRq/UD8+8/2M4NhgxtQaQ2+P3gUy5sd81rIC/10KJiYxhRPjWuD/MIbN+06kObi3XXjAvovlMCsr6LTsRyziOmBtYsCj2CQi45OpUtKKiR29aOnllGu5GpV3oH2l4vy215+3qjhnu1pckgUm1qop5+AvUKWXun6jiNKuLL60GGONMb09e6eVDfUZyqaATSy6uKhAwqxzhYWTehTkPiOZ8PIEeUsypSAfmFZGVsxpMYfeHr350+9PPtz9IVFJUWn1ZgZmtCjVguauatK4RG0ivTx6EZEYwY8nf6Tjho50XN+RE0EnANW5HhQblOd9tYUQrLm2hn5b+5GiS2Fxm8X08exToGMGMNTXY1w7TwJCYllx7DYVna2oU+LJO9LPPapwfFR3KljWxNTuBOHxcQQ8iqVOGVvWDq+HQGHU2vOM//cip26F5Xq84zt4oa+nMGnTpfztQf6CiE/SMuKvU6w6nsu9wwuTkjWh1wp1W9siUhJBsUFsDtxM13JdsTW2fSKaRUk6le3E6qureRhXcP6+lwk5o3jDMNAzYGztsZSzKce3x76lz5Y+9DLrlem5VkZWjKw2kpHVRnI/5j777u5j3519af6Lw/cP86nvp5jqm1LaqjSlrUpTxqoMXcp1eWZXv6eJT4lnytEpbAzYSL0S9fih4Q8Fn/I7Hc09HWlYzp4Zu67xVlXnDHXn7kTwx/4Azt2oiEnJ4zSofJ+JzfpR1sEcgOGNy7LlwgNWn7zL8qO3KWVnyshm5TKsLM+OYlbGfNKiPN9uvcxOv2BaeWe953pRI4TgizXn2HohiF1+D6lWyobyTjkPRHidWea3DCEEA7wHPFM3xGcImwI2sfDCQsbWHlsE0hUuckbxhvJ2+bdZ0GoBUUlR/PDgByYenkhQbFCW55cwL0Evj17MbTk3LRmfp50nX9X+ii7lumBpaMnJ4JP8euZX4pLVBXh/X/mbjus78vGej5l1Zhbbb2zHP9yfgPAAem/pzaaATYyoMoLfm/9eqEoC1JnZ+A5exCZp+XnnVYQQ+F59SM95R+j82yEOXH/EkOqtcTYric7iUJqSAGhTsRizelXl5FctmP62D87WJmh16swgNCaRP4/eIjw2KatLAzCwvhsVnCz4epMfcUkp+R5PQfSRGbP3+LP5/APeb1wWc2N9Pl99jhStrlCu9SoRkRDBmmtraFe6HSXMn00YWNKiJJ3cO7Hm2hqCY4OLQMLCRc4o3mCqO1Vnfef1TNw6kU0Bm9gcsJmeHj0ZXGlwjh7czubOzyxSi0uOS3N+O5o64m7tjn+EP/vu7kvLVWWqb4qRxohBlQahUTTsu7uPctblcLZwLtRkh+WdLOhb25U/j95ir5nCvZgTFLM05qv2nvSs5Yq5kT4l/Hox7cQ0/EL98LLLuPbCwtiAd2qU5J0aTxLr7b0awvgNF/lm0yWaVHCka1Vnmnk6YqSf0TxioNFj8lsV6f7HEWbv8X9uGvSsSEzR8u2Wy/x59BYTO3gxsH7B5ajafvEBP+28RteqzoxuU4FKzlZ8sOI0f+wP5IOmb/YeESuvriQ+JZ53K76b5TlDKg1ho/9GFl5cyJe1v3ymXpf6cpGTQIiXDako3nBsjW3pZtuNsa3GMufcHJZfXs7a62sZ4DWA/t79c53WIn1+qqauTdMys8YkxTD56GS23thKOZty/Nj4R347+xsb/DeknW+ib0IVhyrMazUPgM2Bm4lKjMLC0AIrIyssDS2xM7bLdKvZnPJpy/JsuxgEIomf3qmcFkL7mM7unZl1Zharrqzim/rfPLe/btWc8SxuwfrT9/j33H12+gVjZWLA/lFNsTIxYOnhm1y4F4mBRkGjp1DWwYy5+9R9yN0dzfn37D3uRcRjYWxAFRdrPIpbZJkf6nZoHB+sOM2Fe5GUczRn0iY/UnSCwQ3zn4r+0v1IPv37HFVdrfmuayUURaG9T3G2XijOjF3XaOHpRIViBWeCEkKQokvBoID2nShM4pLjWHF5BU1cmlDOJuvINRcLFzq7d2bNtTUMqjgow54yMYkpvLf4BPci4hnT1oMOPsUL3BdXmEhFIQFU09Lk+pMZ6D2Q2Wdm8/u531l5ZSVDfIbQvUL3PO+7AaoT8H/7/sf5kPP09ezLZ9U/w0BjwOT6kxlTawwBEQEERARwPSJjfq7lfsu5FHopQ1llh8osb7ccgF6bexEcF4yloSXFzItR0rwkVR2r0q5MO0B1xj8tt7WpIYfGNOPg/n00zcTHYGloSfsy7dkUsInPqn+GtbF1tmNTFAXvElZ4l7BibDtPDvk/4uydiLSIqmvB0Rz2f0SyTqDVCRJT1FnVhH8v8tfg2qw+eZdDN26hZ3wfbaw7xgYa2ngXY0ZP1bwXn6TFxFDD9otBfLHmHAowv38NmlRw4ONVZ5iy5TIpOsH7jfOeUyokOpEhS09ibWrAH/2qZ1jv8U1nb44GhvL56nOsG1GvQJIcPox7yOj9o7kadpVBlQbRx7PPS7ezY3rW+68nIjEiR7shDvEZwr/+/7LgwgLG1RkHqPdw8NITnLodThl7Mz5aeUadEXb0wrtEwWZ5LiykopBkoKx1WX5p+gsXQi4w88xMpp2YxjK/ZYyoPIKOZTs+dyGeVqclKC6I21G31SP6NhsDNpKsS+bnJj/TslTLDOebGZjh4+CDj4PPM3392e5PopOiiUqMIiopiuik6Ax7kjdzbca9mHuEJ4TzIPYB5x6eIyIxIk1RtFjdAj1Fj5IWJXGxcMHF3IVaxWpRq3gtFEVBCJHpW13PCj1Zc20N6/3XZ2tqeBqNnkKj8g4ZVmF/2+XZHd7+PHqL8RsusvHcfT5qp8f9g3MJiQ+hjn1HSqT0wtpUVW5CCBpP30NCio6o+BRcbEz4rkslGrjbo6en8GvPqmj0zvHDtiukaHV82Cz36zQSU7QM+/Mk4XHJrH6/Lo4WGR/YduZGTHmrIsP/Os0f+wLydI30HH1wlNH7RxOfEo+PvQ8zTs9g5ZWVfFT1IzqU6fDS7TaYrEtmyaUlVHOsRhXHKs8939ncmc7unVl7fS2DKg3CxsiBoX+e5NiNsNRV/CX4+8QdftxxlY6zDtKzliv/a1keO/O8v4i9CKSikGRKJYdKLGi1gCP3jzDz9EwmHJ7A4kuL+ajqRzQt2ZSg2CBuR9/mTtQdbkXfSvt5N/ouybrktH6MNEZUtK/IpLqTcr0Gw0DPAFtj2wyhiOkZ4jMkw2chRNq1dULHAO8B3I2+y93ou5x9eJZtN7aRqE2kVvFaJOmSqL+yPiUtS+Jm6YablRtulm5UdqhMBdsKVHeqzt9X/6a/V/8Cf3j1ruXKPydvMWn/r+ist1PSoiTdXLqx9vpaWpZK4MuG3wNwKzQOjZ4eUfFJGOnrcTc8nv6LjjOkYWnGtfciNlGLtYk+FZws+HHHNc7diaRbdRcqOlviYmNKilZHbJIWCyP9TO3iQgjGrrvA6dsR/N6nGhWdM3+7bVupOB18ijNz93WaezrhWdwy12PW6rTMOz+POefmUNqqNItaL6KsdVlOBJ3gp5M/8dWhr1jmt4zPqn9GfedC2rAoD2y7sY2g2CDG1xmf4zaPZxXzzi/g9rU2HLj+iGndfOhcRY22613blfaVijNj9zWWHbnF5nP3+aRFefrVLZXvGVuSLvugirwiFYUkW+qWqEud4nXYfXs3v575lc98P0NP0UMnnkTCGGuMKWlZkjJWZWhSsgmuFq6UsixFSYuSOJo6vrDd+BRFSZtx6Cl6DK40OEN9sjY57R8pWSTToWwHbkXdSlMiAsGYWmPo49mHVqVa8f3x7/lw94fULVEXB1MHTPRNqGhfEXsTe+KS4whNCMVE3wRTfVOM9Y1zPM6IxDDMXZeQEn6Ckgb1+bvDT5gZmFHGqgzTT04nND6Ubs7jGb8+EJ1OMKdPNdpULMbN0DhO3QqnnKMakRURn8TGcw+IjFeV487Lwey8HMyUt7zpW8eNK0HRdJh1EEVRc3DZGGipEnSGd+uXpnJJa+buC2Dd6Xt82qI87Splvx3tN50rppmgNnxQP1cPtND4UMYcGMPRB0fpWKYjX9X5Ks2XVbNYTVa0X8GOmzuYcXoG7+96n7rF6/JZjc/wsM2bw7+g0Akdiy4sopxNORo6N8xxO2dzZzqX7cyaa2uJvl6abzrXp3vNjH41K1MDJnb0pnctV77Z7Mc3m/1Yefw2Ezp60bBc7vOCxSXHsfjSYpbfW45PrA/FzAo2BFsqCslzURSFFqVa0KRkE7be2EpgRCAlLUriaumKq4UrjqaOr4RjzkBjkOY8NdOYZYhMSUhJ4Hb07bTZS2WHyujr6XPkwREO3j+Ydt7MpjNp5tqMk8En+WD3Bxn6N9YY83uL36lZrCbHHxxnwYUFOJg6YGdih72xPfYm9pjomzD56GSikqLwMRrEkXPu3GqsxasE9Pfuj62xPeMOjuPEnWGUtB3JvN4tKGWnBhSUtjejtP2T4IJSdmacm9gKnU4QlZDM+A0X2XT+AdcfxiCEwNHCiK/aexKVkEJEXBKnr93l+I0w3q5ekj1Xgpm2/SoKsOHMXS7ej8TdUc0C3MLTMUPKdgBbM0OmvFWJ95efYo5vQI7TkZwMOsmo/aOISopiUt1JdC3X9Zm/FT1Fjzal29DMtRn/XP2Huefn0n1TdzqU6cCHVT/MNBz1RbDvzj4CIgP4oeEPufr71ukEwXcaoBMbqFvtHP3r9sny3HJOFix7rxa7Lj9kyhY/+i08TgtPJ8Z38Ey779khhGDbjW38fOpnguOCqWZarVBezKSikOQYfT19OpXtVNRiFArG+saUtymf9tnb3puhlYby+7nf+avdX5gbmBOfEo+LheoAL29Tnsn1JxOfEk9CSgLxKfHEp8SnvcklahOJSY7hZtBNHsU/SjOJ6aGHq6Urncp24k+/5Zi5mzFg+zxqurqQmKIj9EY3YkLexbzUEkJMvmbU4RUY6RuhEzqEECxsvRBjfWOWXVrG4fuHVSVkoiqhNrXtsDB2YenhW2j0tHzVrlKGiChf30c0adKEa8HRdP39MGUdzWnu4cit0DgCQmLwvfqQZK1g40fV+ffGf1wLSuD+vdJUcy5NRWcrqpWyplPlEvy6+zotPJ3wKpG1CUondCy+uJhZZ2bhYuHCnBZzqGBbIdt7YKgxpK9XXzq5d2LhhYUs91vOfzf/o49nHwZVGpSr7X2TdcloH+//nQeEECy4uABnc2dau7XOVbuv/r3ItrOJ1KzRnMuxOwmKDcr2DV9RFFp6OdGovD0LD95g9h5/Wv68n0ENS/NhU3fMMtlDHuBS6CWmHp/KmYdn8LT1ZFqjaURdjiqUfFNSUUgkWfB2+beZd34e225seyYzaDGzYmmJFTOjoUtDGrqo5oqQuBC+2PcFpx6eok3pNkysO5Gr4VfRCR2n7t7i9L3bnH9wh8h4LbrgKH7p8jb3hSHzLszjavhVyluXx9rYOsOboomBCZGJkQREBvAo/hEpuhSMNEYc730cA42GFQHTWfvneZzMHLA3scfO2A5tpBaf2HoMXnoSQ8tLvNPUnhKWUdQ2MMPcwBxDPVt8bx3ngwPdiUgMT7vWMf8SpJzxJCXGCxt9N6xNDfh89Tl+6VEZMyN9nK1NMrxxRyRE8OXBLzlw7wCt3Vozqe4kzA2fLGB8HpaGlnxa/VN6VujJ7LOzWXJpCWuvr6V7+R4Y6xsRmxxLbHIsMckxab8/XZaoTURBoZFFI2ol18oQtp0TTgWf4nzIecbVHpfjTMpCCL7Z7MeKY7cZ0aQsfetXpf2GPcw/P5/xdZ/v4zDS16gbX1VzYeq2K8zxDeDPI7eo5GyFj4sVPi7W+LhYYWwcy69nfuVf/3+xMbbhm3rf0KlsJzR6Gnwv++ZqnDlFphl/ilcyFXM+kWPOmlH7RnHw3kF2vbMr1w8bUKN8xuwfQ2xyLF/W/pK33N/K8FDV6QTd/zjCyVvheBSz4Lc+1dJWhT+IecDwXcO5HX2b7xp+Rxu3NpleQwhBVFIU4QnhuFm5IYTg/XVL2XvzJO7FdbjYawlLCCUpNhmTqDGcuRNB9Vr/cDE84/+IvqJPikihdvHaRCREcCf6DuYG5iRqk4hMigDARM+Oqnb12HXKDldTH26EJGFtakDFEla4O5pjbnWP/0JUP8vIKv+jn1cvNHl00AohuHgvilXnjrL9wQKSDK4AaoDE48yt5gbmmBqYZvj5+Peg2CDWXl+Li7kL39T/Jtu9RoQQHPR/hI2pId4lLBmxewR+oX781+2/HIXuCiGY9t9V5vgG8F790ozv4ImiKEw+Mpl1/uvY2mUrxc2z9wM9zenb4aw7fZfzdyO5/CCKZF0yhjaHMHLYg6Kk4G3egV7l36W2m3PaFsNyhzuJpAjo6dGTbTe3MffcXBqXbIytsS12JnZYGFhka7fW6rTMPT+XP879QWmr0sxvNT/TxVp6egq/9KjC9otB9KtbKsMahuLmxVnadikj94xk1L5RPIp7RF+vvs/0oSgKVkZWaaYZRVGY23UAP2yvzR/7Aqlcy5W5b1Xkvd934HtXDdNs69OM6MRoDtw7wMKLC7kVdYsS5iUYV2cc9UrUY/319fiF+nEn5g53o+8SkxxNaavSlLIsxeH7uzB1jSdEKDg4WGGuV5KbsaU5cyMMPavDOFsU54MqH7D0YCg/bP4JW1NDbM2McLEoSePSlehew5mjD44SHJWInqKHob4+hhoNrpYlcDF35tTtUNZcOMaxwHAeRiehKAqVnHsQEaYQFGbEHwPqUM89+1xij3GJcmFt7Fre++89env05uNqHz+j8B/PBBYfuglACccwou0O8k6ZITlePzRrjz9zfAPoXds1TUkADK40mHX+65h/YT4T6k7IUV+PqeZqQzVXG4QQ7Ly1h2nHfyU4/h6OmmooYR05fs2UIyevAFdwtDDCx8Uai+QkvKonPBPmnF/kjOIp5Nv1m0FOxyyEoNeWXs8s/HscumtnYoedsR12JnbqZ2M7bE1sWXd9HSeCTtCpbCfG1R6Xp9nIYxJSEhh7YCy7bu9ioPdAPq3+aY4clkIIftxxld/2BuDjYsX5u5GMaFKWUW08uPjoIjNOzeBY0DGczZ0ZWXUkbUq3ybLfx5tnWRlZkahN5AvfMey9cRr0I0B5EgHXxKUp3zacQoOVDRBkfLYYxDSmns17THvHg9oraj9zjcSQZhDRhmQRiXn5b5+pt4jrRHJYU6JTgjEvMwMLQytsjK2wNlZX7feo0IO6JeoSlhDGzps7sTC04PqV63h5e7ElcAu7b+/GxdyFcbXHUcKiBIZ6hmgUA6Zt82f96WAG1CmHdwlrZl+aRJjuHDH+oyhhaUfbisVpV6kYVUvaZBpmPG9/AN9tvULXas78+HblZ855PKvY0mVLrh3z/uH+TDsxjSMPjlDGqgyja46mnnM9QF3I5/cgkvN3Hx8RBIbEcnBMM5yt87ZPe1YzCqkonkI+NN8McjPm+JR4bkfdJjQhlLCEMELjQwlNCCU0PuPnsIQwUnRqsj4TfZM0U1NBoNVp+eH4D6y6uop2pdsxpf6UHKW/EEIwY9d1Zu6+TlVHDT+/58Hss7PYcWsHNkY2DKs8jO7lu+cplcYuv2AGLztOrwZ62DldxsHUgf5e/VEUhevh1xEIhBDohA4dOmyNbClmVgyd0LH/9knWn77LleAoboXGkqLToi/sqFq8LL1ql8DYIoD1Z++SlJJCslZLsk4HSSVo6ObJunOXecA2dEociiYeE+NEDAwSqGXdi2E13iLZIJD+2/o/I+/wysPZHLiZO9F3Mh3P781/x83Kjfbr2j+j5ACMQj6iQ/n6WDqcZdn16SgoGGusiIi0wdXCjcVvjaKERXGStcno6+mnzSqCYoNou64tXdy7ZDuriEuOwz/Cn2vh19KOsw/PYmpgygdVPqB7he7P3cxr2669tGneJM9RiNL0JJHkERN9k+dG7MATX0FoQihWhlbYmTy7R3de0ehp+LL2lziZOTHz9EyC44KpV6IexhpjTAxMMNYYp63nMNY3xkTfBGN9tezdho5UKqVj9fmZdN04FgONAe9Xfp8BXgNy5WR+mhZeTnStWpJ/Dt/n3w+GZFiwl97MFpOYwoW7kRy4G8H5u6c5dyeSexHxgDEOFlZ083aitXcx6paxS5d3qxSts0hh1aNmSXr8YcGdsHjaVypOXHIK1x/GsPVqHA1KRNKteiXmNd7Ip6uPoog4bCyNMDQQHDvnzPhGb7H9/h+s81+HojMnIbwq5WxdKOtozPV7pmwPXIhGT0OvCr0xNzADBRJTUrjxKI5oxY2Vx2+TrB+LpV1TilkZcePRA6ytI4jUHEGjp8q+1G8pCy4soLRlaup96zLULlab9f7rGVxpMCm6FC48usDVsKsERgZyL+Yej+IfEZkYmaagFBQ0igY9RQ8DPQP23t5LH081zHbGqRncjr6Nqb4ppgammOqbqos2y3fDRF8plFD1l15RKIriCXwM2AO7hRBzilgkiSRTnvYVFEb/gysNxtHUke+Ofcep4FO5aq+HHt0rdGdY5WHP3S8kp0zs6M1B/0d8vvocGz9UzU1XHkRz7m4E5+6o5hD/kBgeGy5K2ppQ1dWagfXcqO5mQxUX61xnU7U3N2LV0Lr0nn+U7ZeCWPxuTeqUsSMpRYdOCPT1NNga21PX1ZOb94Iw07chLjGF4Ggt6IwYXXM8B864Emz0J0Z2B/APq8ulq23ZpHcd6wob6ezeGQ+jPnz691nszQ1xtDDGwcIIJwsjNo8szbWgGNadrsrBa4+o6mrNH+/UwNLkyaO0on1FOpftTGBkIMeDjrMpcBMaNOjp6dF/W39C40NJERnTxBvqGTK8ynDK25TnRNAJgmODsTa2xlhjTHxKfIa/qdCEUAIiAohLiSMuWT287b3pVr5b3m/kcyhU05OiKIuADsBDIUTFdOVtgJmABlgghPghB33pAcuEEM96855Cmp5yhxzzq0myLjltDUf6tRzpPydo1Z/J2mRMH5jSvWX3Apdjz5Vg3ltykpK2JgRHJpKUun+FnZkhlUtaU9nFGp+SVlR2scbWzPA5veWckOhEes0/yr3weJa8W5PaZZ6dwT19n6MSknlv8QlO3w5nStcK3NStYdWVFRQzK4GbeTmOBu9jU5dNxMRYs/XCA0KiE3kYncjDqERCYhJZ+349XO1M+WNfAN9vu5LWr6mhBntzI9YMV/Nl7bsWwqlb4TiYG2JuokXohxEYe4qLYUexN7XHydQJD1sPKtpXpLhZ8XwnRUzRpaCvp//KRj0tAWYDy9IJogF+A1oCd4ETiqJsRFUa3z/V/j0hxENFUToBw4E/C1leieSVwUDPAANDAywMc5b+2/eRb6HI0czDieFNynLmdjjtKhanckk13v/p9RUFjYOFESuG1KbXvKO8u+QES96tRa3SmecFAwiLTaL/omNceRDNrF7VaO9THBhDa7eWjD80niPBvrQq1YpSlqXAkmwzu3asXILyThaExCTyKCaRR9FJPIpJxNJY9SEcvxHK774BZHwPL8n1b4dioNFj1u7r/Hn6EY4W4ThaxONkaUQxK+O0fFAJyVqM9PVy/P3ldK1HXinU3oUQ+xVFcXuquBbgL4QIBFAUZRXQWQjxPersI7N+NgIbFUXZAqwoRJElEkkeGJ3HjZjyi6OFMSuH1qHXvKMMXHycpe/Voqbbs8riYVQCfRYc41ZYHPP6V6eZx5O9Iqo7VWdtp7Wsu74ubb/451HC2oQS2UQWfdHag09blCcsLilNiUTEJ6flyDIxVMOgL92PYk/UQ+KStDhYGKUpio9WnmH/tRDszAwxNtBgZKChjL0Zv/WpBsAvO69xOywOYwM9jPQ1GBtoKGlrgnPm4uSbQo96SlUUmx+bnhRFeRtoI4QYnPq5H1BbCPFhFu2bAF0BI+C8EOK3LM4bCgwFcHJyqr5q1ao8yRsTE4O5ed4dfK8icsxvBq/zmCMSdPxwIoGIBMH/ahhTzkZ9EMfExJCgMWXaiQQiEwWfVDPG0+7lSmUOEJ8iiE0W2JuoiuTo/RRuRumIThIk6wTJOrAyVBhYUV3XMfdcAgEROpJ0kKQVJGvBzUqPTypq83WPmzZt+mpGPQkhfAHfHJw3D5gHqo8ir3a618F2nVvkmN8MXvcx16uXQM/5R5lxJoGl71Wlhpstq7bs4dezgnidhhVDa1G9VOHuzV5QNHlefSYnCCHYt29fodzjF5P/OSP3gPQ5d11SyyQSiSTPOFoas2pIHZwsjRmw6Dj/nLjDd8cSSEjRsXJInVdGSeSVwvQHFYWiOAGUUxSltKIohkBPYGMRyCGRSF4zHC1Vn4WTpTGj1p5HT4F/htXJclMmSc4oVEWhKMpK4AhQQVGUu4qiDBJCpAAfAv8Bl4F/hBCXsusnF9frqCjKvMjIyILoTiKRvII4pSqLgfXc+LK2Me6OOYsKk2RNYUc99cqifCuwtRCutwnYVKNGjSHPPVkikby2OFkaM6mTN76+IUUtymtBUZieJBKJRPIKIRWFRCKRSLJFKgqJRCKRZMtrpSikM1sikUgKntdKUQghNgkhhlpZyVA4iUQiKSheK0UhkUgkkoJHKgqJRCKRZItUFBKJRCLJltdyz2xFUUKAW3lsbg88KkBxXgXkmN8M5Jhff/I73lJCCIenC19LRZEfFEU5mVma3dcZOeY3Aznm15/CGq80PUkkEokkW6SikEgkEkm2SEXxLPOKWoAiQI75zUCO+fWnUMYrfRQSiUQiyRY5o5BIJBJJtkhFIZFIJJJskYoiHYqitFEU5aqiKP6KoowpanleBIqi3FQU5YKiKGcVRTlZ1PIUBoqiLFIU5aGiKBfTldkqirJTUZTrqT9fmw2VsxjvJEVR7qXe57OKorQrShkLGkVRSiqKsldRFD9FUS4pivJxavnrfJ+zGnOB32vpo0hFURQNcA1oCdxF3du7lxDCr0gFK2QURbkJ1BBCvLaLkhRFaQTEAMuEEBVTy6YBYUKIH1JfCmyEEKOLUs6CIovxTgJihBA/FqVshYWiKMWB4kKI04qiWACngLeAgby+9zmrMXengO+1nFE8oRbgL4QIFEIkAauAzkUsk6QAEELsB8KeKu4MLE39fSnqP9hrQRbjfa0RQjwQQpxO/T0auAw483rf56zGXOBIRfEEZ+BOus93KaQv/SVDADsURTmlKMrQohbmBeIkhHiQ+nsQ4FSUwrwgPlQU5Xyqaeq1McE8jaIobkBV4BhvyH1+asxQwPdaKgpJAyFENaAt8EGq2eKNQqj219fdBjsHKAtUAR4APxWpNIWEoijmwFrgEyFEVPq61/U+ZzLmAr/XUlE84R5QMt1nl9Sy1xohxL3Unw+B9agmuDeB4FQb72Nb78MilqdQEUIECyG0QggdMJ/X8D4rimKA+sD8SwixLrX4tb7PmY25MO61VBRPOAGUUxSltKIohkBPYGMRy1SoKIpiluoEQ1EUM6AVcDH7Vq8NG4EBqb8PAP4tQlkKnccPy1S68JrdZ0VRFGAhcFkI8XO6qtf2Pmc15sK41zLqKR2pYWQzAA2wSAjxbdFKVLgoilIGdRYBoA+seB3HrCjKSqAJagrmYGAisAH4B3BFTUnfXQjxWjiAsxhvE1RThABuAsPS2e5feRRFaQAcAC4AutTiL1Ft9q/rfc5qzL0o4HstFYVEIpFIskWaniQSiUSSLVJRSCQSiSRbpKKQSCQSSbZIRSGRSCSSbJGKQiKRSCTZIhWFRJIHFEXRpsvOebYgsw0riuKWPvOrRFLU6Be1ABLJK0q8EKJKUQshkbwI5IxCIilAUvf3mJa6x8dxRVHcU8vdFEXZk5qobbeiKK6p5U6KoqxXFOVc6lEvtSuNoijzU/cZ2KEoikmRDUryxiMVhUSSN0yeMj31SFcXKf7f3v2r5BFEYRh/TpFCEEIwZQobK9GAeAW5hRRBrEKqrwhW4g14BRobG7HwHoRgYaOtCGlDOgUtUtiIyGuxI3xgXIx8/imeX7Mzp1hmqrNnZ3cmmQF+0P3pD7AObCeZBXaAtRZfA/aTfATmgF8tPgVsJJkG/gKfn3Q2Ug//zJYeoaoukoz/I/4H+JTkd9uw7TTJRFWd0x0yc9XiJ0neV9UZ8CHJ5dA9JoGfSaZafwV4k2T1GaYm3WFFIY1e7mn/j8uh9jWuJ+oFmSik0fsydD1s7QO6HYkBFuk2cwPYAwbQHcdbVW+fa5DSQ/mUIj3OWFUdDfV3k9x+Ivuuqo7pqoKFFvsObFXVMnAGfG3xJWCzqr7RVQ4DusNmpFfDNQpphNoaxXyS85ceizQqvnqSJPWyopAk9bKikCT1MlFIknqZKCRJvUwUkqReJgpJUq8bduuetLZp1y4AAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_history(fit.history, weighted=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Study performance of the DNN" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "157/157 [==============================] - 3s 17ms/step\n" ] } ], "source": [ "axis_pred, core_pred, logE_pred = model.predict(X_test, batch_size=128, verbose=1)\n", "logE_pred = logE_pred[:,0] # remove keras dummy axis" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Reconstruction performance of the shower axis" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "d = np.sum(axis_pred * axis_test, axis=1) / np.sum(axis_pred**2, axis=1)**.5\n", "d = np.arccos(np.clip(d, 0, 1)) * 180 / np.pi\n", "reso = np.percentile(d, 68)\n", "plt.figure()\n", "plt.hist(d, bins=np.linspace(0, 3, 41))\n", "plt.axvline(reso, color='C1')\n", "plt.text(0.95, 0.95, '$\\sigma_{68} = %.2f^\\circ$' % reso, ha='right', va='top', transform=plt.gca().transAxes)\n", "plt.xlabel(r'$\\Delta \\alpha$ [deg]')\n", "plt.ylabel('#')\n", "plt.grid()\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Reconstruction performance of the shower core" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAc3UlEQVR4nO3df5RcZZ3n8ffXhPAjmSUQsEU6a5gRRmKCMWkJjIgdcJwIKDhGJYsKGE929oDCyuwQ8CfjiHFW1Ax6OBsnGNhRMgziEiGDA4E+gCsowSQdhGiUKB0ZsiiJRkEn+t0/6ia2nU66k+6qeqrzfp3Tp+597q1bn9yu6m/uc289NzITSZJK84JmB5AkqT8WKElSkSxQkqQiWaAkSUWyQEmSijS62QHq4YgjjshJkyYNaRu//OUvGTt27PAEqpNWyAgF53zm+7XHI44tN2MfrZDTjMOnFXIOR8ZVq1Y9k5lH7rIgM0fcz4wZM3Ko7r333iFvo95aIWNmwTmvP6P2kwVn7KMVcppx+LRCzuHICDyc/fwtt4tPklQkC5QkqUgWKElSkSxQkqQiWaAkSUWyQEmSimSBkiQVyQIlSSqSBUqSVKQROdSRhs+kBXfscfnGhWc2KImk/Y1HUJKkIlmgJElFskBJkopkgZKkwr373e/mhS98IVOmTOl3+W9/+1te+cpXctZZZ/W7fMuWLcyZM4eXvexlHH/88Xzzm9/cuWzRokVMmTKFl7/85Xz2s5+tR/x9ZoGSpMJdcMEF3HnnnbtdvmjRIo4//vjdLr/kkkuYPXs2jz/+OGvWrNm57rp16/jCF77At771LdasWcPtt9/Ohg0bhj3/vrJASdI+WLNmDaeeeiqTJ0/mBS94ARHBhz/84bq81qmnnsrhhx/e77Kenh7uuOMO3vOe9/S7fOvWrdx3333MmzcPgDFjxjB+/HgAHnvsMWbOnMkhhxzC6NGjee1rX8utt97KW9/6Vi6++GJOOeUUXvKSl/DAAw/wzne+k+OOO27ndhrBy8wlaS89//zzvP3tb+fGG2/kxBNP5EMf+hDPP/88V1111V5t5zWveQ2/+MUvdmn/1Kc+xete97pBbePSSy/l7//+7/vdDsATTzzBkUceyYUXXsiaNWuYMWMGixYtYuzYsUyZMoUPfOAD/PSnP+Xggw9mxYoVdHR00N3dzcknn8znPvc5rr76aubNm0dXVxdHHnkk7e3t/PrXv+bAAw/cq3/rvrBA7ecG+p6TpF3dfffdTJ8+nRNPPBGAE044gTvvvJPM5IMf/CA///nP6ejoYNasWbzvfe/j8MMP57jjjmPBggV/sJ37779/SDluv/12XvjCFzJjxgy6urr6XWf79u088sgjXHvttcycOZNLLrmEhQsX8rGPfYzjjz+eyy+/nNe//vWMHTuWadOm8R//8R9s2bKFSy+9FICIYN68eRx11FEAjBo1ijFjxgwp92DZxSdJe2ndunVMnTp15/wjjzzC9OnTue222+jp6eGAAw6gvb2d7u5u5syZw/XXX893vvOdXbbzmte8hmnTpu3yc/fddw8qxze+8Q2WL1/OpEmTOPfcc7nnnnt4xzve8QfrtLe3097ezsyZMwGYM2cOjzzyyM7l8+bNY9WqVdx3330cdthhTJw4kenTp/OCF9TKw5o1a3Y+t6enhxe/+MVExN7tsH1kgZKkvTRhwgTWrl0LwPe+9z1uvfVWzj33XNavX8+f/dmf8elPf5rrrruOk046iSVLlnDaaacxe/bsXbZz//33s3r16l1+Btu994lPfIKenh42btzIsmXLOO200/inf/qnP1jnRS96ERMnTmT9+vUArFy5ksmTJ+9cvnnzZgB+/OMfc+uttzJ27Fhe8YpX7Fy+du1aTjjhBKBWrHZMN4IFSpL20ty5c9m2bRtTpkxh/vz53HTTTUyYMIH29nYOO+wwoNYV9sUvfpGrrrqKe+65hzvu2Pfu9Llz53LyySezfv162tvbWbJkyYDPOeOMM/jJT34CwLXXXst5553HCSecwOrVq7nyyit3rveWt7yFyZMn88Y3vpHPf/7zPPnkk0ybNg2onWt77rnndv6beherRvAclCTtpXHjxvG1r31tl/a//Mu/5L3vfS/3338/p556Kq997Wv56Ec/ype//GUmTZq0z6930003DbhOZ2cnnZ2dO+dXrFixc3ratGk8/PDD/T6v73mw008/fef0QQcdxBNPPLFz/oorrhhs5GFhgZKkYXLIIYfscnRzyy23NClN67OLT5JUpLoVqIi4PiI2R8S6Xm3/MyIej4i1EfHViBjfa9kVEbEhItZHxF/0ap9dtW2IiAVIkvYL9eziWwp8DrixV9tdwBWZuT0iPglcAVweEZOBc4GXAy8G7o6I46rnfB74c6AH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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "d = np.sum((750 * (core_test - core_pred))**2, axis=1)**.5\n", "reso = np.percentile(d, 68)\n", "plt.figure()\n", "plt.hist(d, bins=np.linspace(0, 40, 41))\n", "plt.axvline(reso, color='C1')\n", "plt.text(0.95, 0.95, '$\\sigma_{68} = %.2f m$' % reso, ha='right', va='top', transform=plt.gca().transAxes)\n", "plt.xlabel('$\\Delta r$ [m]')\n", "plt.ylabel('#')\n", "plt.grid()\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Reconstruction performance of the shower energy" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "d = 10**(logE_pred - logE_test) - 1\n", "reso = np.std(d)\n", "plt.figure()\n", "plt.hist(d, bins=np.linspace(-0.3, 0.3, 41))\n", "plt.xlabel('($E_\\mathrm{rec} - E_\\mathrm{true}) / E_\\mathrm{true}$')\n", "plt.ylabel('#')\n", "plt.text(0.95, 0.95, '$\\sigma_\\mathrm{rel} = %.3f$' % reso, ha='right', va='top', transform=plt.gca().transAxes)\n", "plt.grid()\n", "plt.tight_layout()" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure()\n", "plt.scatter(19.25 + logE_test, 19.25 + logE_pred, s=2, alpha=0.3)\n", "plt.plot([18.5, 20], [18.5, 20], color='black')\n", "plt.xlabel('$\\log_{10}(E_\\mathrm{true}/\\mathrm{eV})$')\n", "plt.ylabel('$\\log_{10}(E_\\mathrm{rec}/\\mathrm{eV})$')\n", "plt.grid()\n", "plt.tight_layout()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.6.9" } }, "nbformat": 4, "nbformat_minor": 4 }