{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Enabling notebook extension splitcell/splitcell...\n", " - Validating: \u001b[32mOK\u001b[0m\n", "Enabling notebook extension rise/main...\n", " - Validating: \u001b[32mOK\u001b[0m\n" ] } ], "source": [ "!jupyter nbextension enable splitcell/splitcell\n", "!jupyter nbextension enable rise/main" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "hide_input": false, "slideshow": { "slide_type": "skip" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "eos access: ✗\n" ] } ], "source": [ "import tensorflow as tf\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "plt.style.use(\"ggplot\")\n", "from matplotlib import colors, cm\n", "\n", "import os\n", "import pandas as pd\n", "from tensorflow import keras\n", "\n", "from tutorial import get_file" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "plt.rcParams[\"axes.grid\"] = False\n", "plt.rcParams.update({'font.size': 20})\n", "plt.rcParams.update({'figure.figsize': (12,9)})\n", "plt.rcParams['lines.markersize'] = 8" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# IML Workshop Tutorial\n", "\n", "### Introduction to the Basics of Deep Learning" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "
\n", "\n", "Martin Erdmann, **Yannik Rath**" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Introduction" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "This first session is an introduction to neural networks and deep learning\n", " * Neural network basics\n", " * Training and generalization\n", " * Fully connected and convolutional architectures\n", " * Physics!\n", "\n", "This is a tutorial, not a talk. Feel free to ask questions throughout!" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Plan of Today" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=timetable.png)" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "Marked tutorials use same technical setup" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Setup for Tutorial" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "You can follow along locally or use Swan/Binder:\n", "\n", "* Go to https://github.com/3pia/iml2019\n", "\n", "* Suggested: Click `Open in SWAN`\n", "\n", " $\\qquad \\rightarrow$ Enter `/eos/user/m/mrieger/public/iml2019/intro/setup.sh` as environment script\n", "\n", " $\\qquad \\rightarrow$ Press `Start my session`\n", " \n", "* Alternatives: Binder, local execution with docker\n", "\n", " $\\qquad \\rightarrow$ Choose Tensorflow v1 image\n", " \n", "* Second tutorial will use v2 image" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=github_page.png)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Gitter Channel" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "Chat channel for the tutorials at https://gitter.im/IMLWorkshop19:\n", "\n", "* For any questions that may arise during the open part or afterwards (especially remote)\n", "\n", "* For us to share code snippets if needed" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=gitter.png)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Deep Learning Libraries" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "Many different frameworks for deep learning, steered mostly from Python\n", "\n", "Two most popular:\n", "* Tensorflow ( + higher level abstractions with Keras)\n", "* Pytorch" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=dl_popularity.png)\n", "https://towardsdatascience.com/deep-learning-framework-power-scores-2018-23607ddf297a" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "In this tutorial, we will use **TensorFlow + Keras**\n", "\n", "Side note: Many changes coming with TensorFlow 2.0. Some glimpses into the future later today" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Training by Example" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "image/png": "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l2lrrGtuaa7qqtYdbd5EYXamMwNbJsYIwFlnnbU7VAPsu+++vOtd71p1/v77778qVEPyl+rUU0/lpz/9KXfeeWddY1gZqgH23ntvXvva17Jr1y42b95c1/UkSVJ75KamYXik/hcecnjl1w2PkJs6fdXTVctOlspHupilIE1K9RegwyUhP/zhDwGYmJhYdezZz342Q0NDq56/+eab+eQnP8l3v/td7r33Xnbu3LnH8V/96ld71FPXcuedd/Kxj32MzZs3c+edd/LQQw/tcfyuu+5KfS1JktQ++bFxCpPrV08k7r1v+RprSILzi18Ft9xY+f/ql8tHtcpOKmWuLmGwblYP/AV48MEHAXj84x+/6tiaNWtWzU5/+ctf5owzzmCfffbhuc99Lk9+8pNZu3Yt+XyeG264gRtuuGFV0K5m27ZtnHrqqdx///0cf/zxPO95z2O//fZjaGiIX/ziF1xxxRV1XU+SJLVXPmygsG4imTBcmH90xrlWcB4bL/u6iuUcwzVKPRuZOW8jg3WzeuAvwH777QfAPffcw5Of/OQ9ju3atYvf/va3e9Q3/83f/A177703X/7ylzn66KP3OP/tb387N9xwQ13vf9lll7F9+3YuueQSXv7yl+9x7Morr+SKK66o63qSJKn9loLyHlIE57KvqyA3NU1x65bKNdZlyke6icG6Sb3wF+DYY4/lhz/8ITfeeOOqYP3tb3+bxcXFPZ674447GBsbWxWqC4UCN998c9n3yOfzq66z/HoAp5566qpj9YZ0SZLUGZU6oNUTnGupWHZSrXyki7h4sUn5sfFk16GVM9Nd9BdgqQXeRz7yEbZv3777+Yceeoj3vve9q84//PDDuf322/eoey4Wi/zt3/4ts7OzZd/joIMOolKXlsMPPxyAb33rW3s8/+///u/84z/+Y31fjCRJartC3Jh067jlJtj6Q7jlJoqXXkQhbsz8vfJhA7kzz4d1E3DMsbBuIukG0gWd1mpxxjoDleqOuiFUA/zhH/4hr3/96/nUpz7FSSedxKmnnrq7j/UBBxzAIYccssf5b3jDG3jnO9/JC17wAl74whey1157cfPNNzM7O8vU1BTXXHPNqveYnJzkqquu4jWveQ3HHnssa9asYWJigomJCV7zmtcQY+RNb3oTp556Kocccghbt27luuuu40/+5E/413/913b9p5AkSXWq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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "data = np.random.uniform(size=100)\n", "labels = 3*data + 1 + np.random.normal(loc=0.0, scale=0.1, size=100)\n", "\n", "plt.scatter(data, labels, label=\"data\")\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "Data: {xi, yi}, i = 1...N\n", "\n", "Define model $y_{m}(x, \\theta) = Wx + b$ with free parameters $\\theta = (W, b)$\n", "\n", "Define *objective function (loss/cost)*\n", "\\begin{equation}\n", "J(\\theta|x,y) = \\frac{1}{N} \\sum_{i}^{N} [y_{i}-y_{m}(x_{i}, \\theta)]^{2}\n", "\\end{equation}\n", "\n", "Minimize objective (\"train model\")\n", "\\begin{equation}\n", "\\hat{\\theta} = argmin[J(\\theta)]\n", "\\end{equation}" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "Easy to do if we have only a few variables" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "cell_style": "center", "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtYAAAIVCAYAAAD1bLjcAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xd4lGW+xvHvzKQ3EmkaUBA0qJEVK6GI7krQBVRsr2tbUVaPQgABAaUtKIgIojRdEQQXV+TFAliQYmMRRNBFKUoWFFQiLIQU0svM+WOSQMokk2SSzCT357r2mpO3zTNcc+D2ye/5PRaHw4GIiIiIiNSOtaEHICIiIiLSGChYi4iIiIh4gIK1iIiIiIgHKFiLiIiIiHiAgrWIiIiIiAcoWIuIiIiIeICCtYiIiIiIByhYi4iIiIh4gIK1iIiIiIgHKFiLiIiIiHiAX0MPoBa0F7uIiIiI1BdLVRf4crAmKSmpoYcgIiIiIo1cdHS0W9epFERERERExAMUrEVEREREPEDBWkRERETEAxSsRUREREQ8QMFaRERERMQDFKxFRERERDxAwVpERERExAMUrEVEREREPMCnN4hxl8PhIDc3l8LCQgAslio3zpFGyOFwbtZps9kIDAzU90BEREQ8qtEHa4fDQWZmJkFBQQpTgsPhoLCwkMzMTEJDQ/V9EBEREY9p9KUgubm5BAUF4efnpxAlWCwW/Pz8CAoKIi8vr6GHIyIiIo1Iow/WhYWF2Gy2hh6GeBmbzUZBQUFDD0NEREQakUYfrEE11VKevhMiIiLiaY0+WCtAiSv6boiIiIgnNfpgLSIiIiJSH2rcFcQwjHuBZUU/PmSa5qJq3HsRMBm4FogADgFvAc+appld0zGJiIiIiDSUGs1YG4ZxNjAfyKjBvV2B7cAAYCMwB0gHJgEbDMMIrMmYxHe1adOG22+/vVbP+PXXX2nTpg2PPfaYh0YlIiIiUj3VDtaGYViAJUAy8I9q3msrujcEuN00zbtN0xwLdAXeAXoAI6o7JhERERGRhlaTGethwJ+AB4DMat57DXAhsMk0zTXFB03TtANjin58pCi8i4iIiIiQmuob0bBawdowjAuBZ4E5pmluqsH7/ano9eOyJ0zT/AlIBNoBHWrwbBERERFpZNauDaJHj9asXh3U0EOpktvB2jAMP5yLFX8BxtXw/ToVvSa6OP/foteYGj5fXDi9BvngwYM89NBDxMbGEhMTw1133cWPP/4IQHJyMmPGjOHSSy+lQ4cO9O3bly+//LLc89LT05k+fTpXX301HTp04KKLLuLuu+9m06aK/3srLy+PF154ge7du3PuuecSFxfHjBkzyM3NdTnmgoICli5dSv/+/enUqRMdO3akT58+LFmyBLvd7pk/GBEREfFK2dkWxo5txt/+dgbnnFPAxRfnN/SQqlSdriCTgEuBnrXo3NGs6DXNxfni45EVnTQM42HgYQDTNGs4hKbtt99+o3///px//vkYhsFvv/3G2rVruf3221mzZg333nsvYWFh3HjjjaSmprJmzRruu+8+/v3vf9OmTRsA0tLSGDBgAImJiXTp0oU///nPnDhxgvfff5+7776b6dOnc99995W8p8Ph4JFHHmHdunW0b9+egQMHkp+fz4oVK0oCfVn5+fkMHDiQzz//nI4dOzJgwAACAwPZsmULEyZM4Ntvv2XevHn18mcmIiIi9WvvXj+GDIkiMdGfRx/NYMyYdAICGnpUVXMrWBd18hgHPG+a5ta6HZJrpmkuBBYW/ehoqHH4sq1btzJmzBiGDx9ecuyFF15g1qxZ3HjjjfTv35/p06djtTp/mdGrVy+GDx/OwoULmTJlCgDTpk0jMTGRe+65hxkzZpRstDJ48GD69u3LpEmTuPbaazn77LMBWLVqFevWreOyyy5j5cqVBAU5f5UzatQo+vXrV+E4586dy+eff84DDzzAlClTSralLywsZMyYMbz11lv079+f66+/vm7+oERERKTeORywZEkoU6dG0KyZneXLk+nVy/Vvt71NlcG6qATknzjLNybW8v2KZ6SbuThffDy1lu/jlkmTIti7178+3qrGLroon6eeSvfY884++2wSEhJKHTMMg1mzZpGbm8vEiRNLQjXALbfcwqhRo9izZw/gLOl49913CQ0N5cknnyy1e2GHDh148MEHmTNnDm+//TYjRjgbvKxYsQKAJ554oiRUA0RFRTF8+HBGjhxZajx2u53XXnuNVq1aMXny5JJQDWCz2Zg0aRIrVqzg3XffVbAWERFpJJKTrYwYEcknnwRx3XU5zJ6dSosWvlX66c6MdRinap5zDMOo6JpXDcN4FeeixsoaCe8renVVQ31+0aurGmyppdjY2FJBFaB169aA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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def cost(params):\n", " W, b = params\n", " return np.mean((labels - (W*data + b))**2)\n", "\n", "from scipy.optimize import minimize\n", "res = minimize(cost, [1., 1.])\n", "W, b = res.x\n", "\n", "points = np.linspace(0, 1, 100)\n", "prediction = W*points + b\n", "\n", "plt.scatter(data, labels, label=\"data\")\n", "plt.plot(points, prediction, label=\"model\", color=\"blue\")\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Multidimensional Linear Models" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "Now, consider multiple inputs $x = (x_{1}, .., x_{n})$ and outputs $y = (y_{1}, ..., y_{m})$\n", "\n", "Example: $x \\in \\mathbb{R}^{3}$, $y \\in \\mathbb{R}^{2}$\n", "\n", "\\begin{gather}\n", "\\begin{bmatrix} W_{11} & W_{12} & W_{13} \\\\\n", " W_{21} & W_{22} & W_{23} \\end{bmatrix} x \\begin{pmatrix} x_{1} \\\\ x_{2} \\\\ x_{3} \\end{pmatrix} + \\begin{pmatrix} b_{1} \\\\ b_{2} \\end{pmatrix} = \\begin{pmatrix} y_{1} \\\\ y_{2} \\end{pmatrix}\n", " \\end{gather}" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=linear_model.png)\n", "Adapted from Deep Learning in Physics Research Course, RWTH" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "center", "slideshow": { "slide_type": "slide" } }, "source": [ "# Neural Networks" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "So far we can only describe linear models\n", " \n", "$\\quad \\rightarrow$ Compose model with multiple layers\n", "\n", "\\begin{align}\n", "& h = W^{(1)}x + b^{(1)} \\\\\n", "& y = W^{(2)}h + b^{(2)}\n", "\\end{align}\n", "\n", "Model ist still linear\n", "\n", "\\begin{align}\n", "& y = W^{(2)}(W^{(1)}x + b^{(1)}) + b^{(2)} \\\\\n", "& y = W^{(2)}W^{(1)}x + W^{(2)}b^{(1)} + b^{(1)}\n", "\\end{align}\n", "\n", "$\\quad \\rightarrow$ Apply non-linear *activation function* $\\sigma(x)$" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=simple_nn.png)\n", "Deep Learning in Physics Research Course, RWTH" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Activation Functions\n", "\n", "Applied elementwise to each node in a hidden layer\n", "\n", "Introduces non-linearity\n", "\n", "$\\quad \\rightarrow$ Allows stacking of multiple layers" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=activations.png)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "Mostly ReLU variants used in deep learning due to *vanishing gradient problem*" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Deep Neural Networks" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "\n", "[Michael Nielsen](http://neuralnetworksanddeeplearning.com/chap5.html)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hierarchical feature extraction: Higher level of abstraction with each layer\n", "\n", "$\\quad \\rightarrow$ Enables training on lower-level/\"raw\" data" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Classification vs Regression" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "### Regression\n", "\n", "Predict continous label " ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "### Classification\n", "\n", "Separate events into multiple categories " ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=regression.png)" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=classification.png)" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "Minimize *mean squared error*\n", "\n", "\\begin{equation}\n", "J(\\theta|x,y) = \\frac{1}{N} \\sum_{i}^{N} [y_{i}-y_{m}(x_{i}, \\theta)]^{2}\n", "\\end{equation}\n", "\n", "Typically linear/ no activation function in output layer" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "Minimize *cross entropy*\n", "\n", "\\begin{equation}\n", "J(\\theta|x,y) = - \\frac{1}{N} \\sum_{i}^{N} y_{i}log[y_{m}(x_{i}, \\theta)]\n", "\\end{equation}\n", "\n", "with softmax activation to constrain outputs to (0, 1) and their sum to 1 (\"probability like\")\n", "\n", "\\begin{equation}\n", "y_{j}(z) = \\frac{e^{z_{j}}}{\\sum_{i}e^{z_{i}}}\n", "\\end{equation}" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "center", "slideshow": { "slide_type": "slide" } }, "source": [ "# Backpropagation and Gradient Descent\n", "\n", "Can no longer directly minimize objective function. Instead, minimze iteratively by updating $\\theta$ in opposite direction of gradient\n", "\n", "\\begin{equation}\n", "\\hat{\\theta} \\rightarrow \\theta - \\alpha\\frac{dJ}{d\\theta}\n", "\\end{equation}\n", "\n", "with learning rate $\\alpha$\n", "\n", "Derivative can be calculated using the chain rule\n", "\n", "\\begin{equation}\n", "\\frac{dJ}{d\\theta} = \\frac{dJ}{dy_{m}}\\frac{dy_{m}}{d\\theta} = ...\n", "\\end{equation}" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Stochastic Gradient Descent" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "Evaluation and derivation of the objective function for the full dataset costly.\n", "\n", "
\n", "\n", "Instead, calculate gradient for a a small subset (*batch*) of the training data\n", "\n", "$\\rightarrow$ Stochastic updates also help avoid local minima \n", "\n", "
\n", "\n", "One iteration over the full dataset called an *epoch*" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=gradientupdate.png)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Optimizers" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "More advanced options than fixed learning rate \n", "\n", "* Momentum: Use past gradients as \"velocity\"\n", "\n", "
\n", "\n", "* Adaptive methods: Learning rates based on past gradients, separate for all parameters\n", "\n", "$\\qquad \\rightarrow$ E.g. Adagrad, Adadelta, Adam" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=optimizers.gif)\n", "[Alec Radford](https://www.reddit.com/r/MachineLearning/comments/2gopfa/visualizing_gradient_optimization_techniques/cklhott/)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Initialization\n", "\n", "Neural network parameters initialized randomly\n", "\n", "$\\quad \\rightarrow$ Break symmetry\n", "\n", "Suitable values depend on layer sizes and activation functions\n", "\n", "$\\quad \\rightarrow$ Basic idea: $Var[output] = Var[input]$" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "Glorot (tanh)\n", "\n", "\\begin{equation}\n", "Var[W] = \\frac{2}{N_{in} + N_{out}}\n", "\\end{equation}" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "He (ReLU)\n", "\n", "\\begin{equation}\n", "Var[W] = \\frac{2}{N_{in}}\n", "\\end{equation}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Values typically sampled from normal or uniform (with range $\\pm \\sqrt{3Var}$ ) distribution" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Preprocessing\n", "\n", "Input features can have vastly different scales (e.g. $p_{T}$ vs $\\eta$)\n", "\n", "Most basic strategy: Normalize to mean 0 and variance 1" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=preprocessing.jpeg)\n", "Andrej Karpathy, http://cs231n.github.io" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "Other options possible, e.g. input decorrelation, non-linear transformations" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Let's Try it Out\n", "\n", "For now we use base tensorflow to see all steps.\n", "Later we will use higher level abstractions provided in `tf.keras`\n", "\n", "First, let's generate some toy data:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "n_samples = 50\n", "\n", "np.random.seed(4321)\n", "class1_data = np.random.multivariate_normal([-1., -1.], [[1., 0.], [0., 1.]], n_samples)\n", "class2_data = np.random.multivariate_normal([1., 1.], [[1., 0.], [0., 1.]], n_samples)\n", "\n", "train_data = np.concatenate([class1_data, class2_data])\n", "toy_labels = np.zeros(train_data.shape)\n", "toy_labels[:n_samples, 0] = 1\n", "toy_labels[n_samples:, 1] = 1\n", "\n", "plt.scatter(*class1_data.T)\n", "plt.scatter(*class2_data.T)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "Our class labels are *one-hot encoded*, i.e. $\\begin{pmatrix} 1 \\\\ 0 \\end{pmatrix}$ for the first class and $\\begin{pmatrix} 0 \\\\ 1 \\end{pmatrix}$ for the second" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "Tensorflow provides datasets and iterators to handle the data. Our model works with an iterator batch, which will be dynamically loaded during training" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/data/ops/dataset_ops.py:1419: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Colocations handled automatically by placer.\n" ] } ], "source": [ "tf.reset_default_graph()\n", "\n", "inp_placeholder = tf.placeholder(dtype=tf.float32, shape=[None, 2])\n", "target_placeholder = tf.placeholder(dtype=tf.float32, shape=[None, 2])\n", "\n", "dataset = tf.data.Dataset.from_tensor_slices((inp_placeholder, target_placeholder)).batch(10).shuffle(buffer_size=2*n_samples)\n", "iterator = dataset.make_initializable_iterator()\n", "inp, target = iterator.get_next()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "We define a simple model with one hidden layer, using the initialization rules we learned about\n", "\n", "Since this is a classification task, we use cross entropy as our objective function" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Use tf.cast instead.\n" ] } ], "source": [ "n_hidden = 10\n", "n_epochs = 100\n", "\n", "with tf.variable_scope(\"initialization\"):\n", " W1 = tf.get_variable(\"W1\", initializer=tf.random.normal((2, n_hidden), stddev=1.))\n", " b1 = tf.get_variable(\"b1\", initializer=tf.constant(0., shape=(n_hidden,)))\n", " hidden = tf.nn.relu(tf.add(tf.matmul(inp, W1), b1))\n", "\n", " W2 = tf.get_variable(\"W2\", initializer=tf.random.normal((n_hidden, 2), stddev=(2./n_hidden)**0.5))\n", " b2 = tf.get_variable(\"b2\", initializer=tf.constant(0., shape=(2,)))\n", " out = tf.nn.softmax(tf.add(tf.matmul(hidden, W2), b2))\n", "\n", "# tensorflow also provides predefined objective functions in tf.losses\n", "cost = -tf.reduce_mean(tf.reduce_sum(target*tf.log(tf.clip_by_value(out,1e-10,1.0)), reduction_indices=1))\n", "\n", "train_step = tf.train.AdamOptimizer(learning_rate=0.001).minimize(cost)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "In our training loop, we iterate over all batches in our training data, then re-initialize the iterator and repeat this for N *epochs*" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [], "source": [ "with tf.Session() as sess:\n", " sess.run(tf.global_variables_initializer())\n", " for i in range(n_epochs):\n", " sess.run(iterator.initializer, feed_dict={inp_placeholder: train_data,\n", " target_placeholder: toy_labels})\n", " while True:\n", " try:\n", " sess.run(train_step)\n", " except tf.errors.OutOfRangeError:\n", " break\n", "\n", " x = y = np.linspace(-3, 3, 41)\n", " z = np.array([sess.run(out, feed_dict={inp: [[j, i]]})[0, 0] for i in x for j in y])\n", "Z = z.reshape(41, 41)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.scatter(*class1_data.T)\n", "plt.scatter(*class2_data.T)\n", "plt.imshow(Z, interpolation=\"bilinear\", origin=\"lower\", extent=(-3, 3, -3., 3.))\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Overtraining and Generalization\n", "\n", "* If modeling capacity too low or training insufficient $\\rightarrow$ Bad performance\n", "\n", "
\n", "\n", "* If modeling capacity high, network can learn to memorize training samples $\\rightarrow$ Bad generalization (*Overtraining*)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=overtraining.png)" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "Solution 1: Evaluate performance on a statistically independent *validation set* to measure generalization capabilities \n", "\n", "$\\quad \\rightarrow$ Stop training when performance on validation set decreases: *Early stopping*" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=earlystopping.png)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "**Caution:** Optimization of network hyperparameters itself a form of training\n", "\n", "$\\quad \\rightarrow$ Validation set not unbiased\n", "\n", "Use a third *test set* to measure final performance *once*\n", "\n", "In physics: Validation set is sometimes called test set, test set is called evaluation set\n", "\n", "
\n", "\n", "More sophisticated option: Cross validation" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Regularization" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "Methods to suppress overtraining\n", "\n", "* Already mentioned: Early stopping\n", "\n", "* L1/L2 regularization: Penalize high weights\n", "\n", "\\begin{align}\n", "& L1: J = J_{0} + \\lambda \\sum |W_{i}| \\\\\n", "& L2: J = J_{0} + \\lambda \\sum W_{i}^{2} \\\\\n", "\\end{align}\n", "\n", "with scaling factor $\\lambda$\n", "\n", "* ElasticNet: Combination of L1 and L2 regularization" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=overtraining_single.png)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Dropout" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "Randomly drop a percentage of nodes at each training step\n", "\n", "Learn redundant representations $\\rightarrow$ More robust model\n", "\n", "Can be seen as training an ensemble of losely coupled networks in parallel\n", "\n", "For evaluation: Disable dropout, scale node outputs accordingly" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=dropout.png)\n", "[Dropout: A Simple Way to Prevent Neural Networks from Overfitting](http://jmlr.org/papers/v15/srivastava14a.html)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Convolutional Neural Networks" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "So far, considered only fully connected neural networks\n", "\n", "For images, Convolutional neural networks (CNNs) are used\n", "\n", "Exploit structures in data: Local correlations and translational invariance" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=translational_invar.png)\n", "[Udacity Course Deep Learning](https://in.udacity.com/course/deep-learning--ud730-india)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Convolutions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Small filter (weight tensor) is applied to image patch, mapping it to a single value\n", "\n", "Convolution: Slide filter over image to create feature map" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "\n", "Adapted from Deep Learning in Physics Research Course, RWTH" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Feature Maps" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "Multiple filters are stacked depth-wise" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "\n", "Adapted from Deep Learning in Physics Research Course, RWTH" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "Each filter can learn a different feature" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=filters.png)\n", "Deep Learning in Physics Research Course, RWTH" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Padding and Pooling" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "Multiple convolutional layers will decrease output size due to edge effects\n", "\n", "$\\quad \\rightarrow$ Can pad with zeros to keep dimensions the same" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=padding.png)" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "On the other hand, can pool outputs together when output size reduction is desired\n", "\n", "E.g. max pooling: Take the maximum of each patch " ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=cnn_maxpool.png)\n", "Deep Learning in Physics Research Course, RWTH" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Feature Hierarchy" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=featuremaps.png)\n", "[Zeiler & Fergus 2013](https://arxiv.org/abs/1311.2901), adapted by Yann leCun" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# CNN Structure" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "Abstraction increases for later layers\n", "\n", "$\\quad \\rightarrow$ Typically smaller spatial extent (pooling), but larger number of feature maps" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=cnn_pyramid.png)\n", "Deep Learning in Physics Research Course, RWTH" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "Fully connected layers at the end to combine features" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# CNN Example - Top Tagging\n", "\n", "Problem statement: Hadronically decaying top quark, boosted so that all decay products are contained in one fat jet\n", "\n", "$\\quad \\rightarrow$ Distinguish from QCD jets\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=boosted_top.png)\n", "[Top tagging at the LHC experiments with proton-proton collisions at √s = 13TeV](https://www.researchgate.net/publication/280882365_Top_tagging_at_the_LHC_experiments_with_proton-proton_collisions_at_s_13TeV)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "[Open dataset](https://desycloud.desy.de/index.php/s/llbX3zpLhazgPJ6) ([citation](https://arxiv.org/abs/1707.08966)), with comparison of various machine learning methods [here](https://arxiv.org/abs/1902.09914)\n", "\n", "One approach: Image based using CNNs\n", "\n", "Simplified model here based on [Deep-learning Top Taggers or The End of QCD?](https://arxiv.org/abs/1701.08784) and [Pulling Out All the Tops with Computer Vision and Deep Learning](https://arxiv.org/abs/1803.00107)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Input Data and Preprocessing\n", "\n", "The dataset contains 1 Million jets each for QCD and top events. For this tutorial we only use 10000 events each for experimentation.\n", "\n", "Features are the cartesian four vectors for the first 200 constituents. (zero-padded if fewer than 200)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " E_0 PX_0 PY_0 PZ_0 E_1 PX_1 \\\n", "436 218.364243 -172.341858 110.129105 -76.503624 153.661118 -111.320465 \n", "440 122.238762 26.738468 -91.613998 76.382225 121.227135 17.644758 \n", "441 383.772308 -97.906456 79.640709 -362.426361 200.625992 -54.921326 \n", "444 132.492752 -77.763947 -87.322601 -62.304600 83.946594 -49.450481 \n", "445 730.786987 -209.120010 -193.454315 -672.973877 225.477325 -75.363350 \n", "452 425.659546 323.020142 -155.901611 -229.213257 83.688065 63.508339 \n", "454 184.878754 -163.308701 -48.425228 71.870857 39.259518 -34.826504 \n", "460 337.542389 -144.905655 52.931824 -300.225647 194.716293 -83.677284 \n", "469 57.453899 8.245859 54.802525 15.153853 48.546764 -30.239859 \n", "476 269.725555 197.983688 180.264572 -32.542664 170.214188 112.955109 \n", "159 279.122498 -186.983612 -184.703552 93.973915 130.233459 -87.081039 \n", "174 293.411957 226.085785 -186.910233 6.353484 56.282650 46.258255 \n", "176 68.190567 42.502636 44.376175 29.567446 50.892151 31.388681 \n", "188 364.401398 0.241121 -186.221115 313.225189 126.724442 -5.135780 \n", "190 839.949280 261.210724 149.367004 784.202332 470.249542 160.376953 \n", "195 158.013107 -58.645222 -111.765907 95.064514 147.360916 -64.619461 \n", "196 242.548203 128.798447 133.625168 156.156647 118.898994 65.832794 \n", "198 155.798996 -76.049294 -74.047806 -114.047157 126.377312 -57.531590 \n", "200 156.450684 70.312820 129.299667 -53.052074 93.001892 34.249096 \n", "211 37.492371 -14.051148 34.111626 -6.681313 29.366516 -4.658844 \n", "835 306.089844 77.324013 -286.238312 76.023705 46.095268 14.454353 \n", "838 72.369453 -42.351864 -47.631145 -34.277267 55.552345 -33.023098 \n", "839 208.428543 176.771591 -16.152925 -109.239861 169.994568 144.319977 \n", "843 119.918091 -83.957573 -62.511585 58.513050 106.310768 -77.028214 \n", "844 227.227386 186.315811 -46.266666 121.565208 157.918549 129.314774 \n", "851 517.916016 -294.284393 359.200562 -229.365799 44.625099 -22.775585 \n", "853 286.906738 119.059898 -84.216034 247.078690 128.020676 53.864735 \n", "863 226.503021 -90.072205 141.984818 151.759430 215.646698 -78.667992 \n", "865 681.133545 -71.523308 -199.660583 647.273499 110.246689 -6.527587 \n", "876 120.037498 90.969063 53.741943 56.968712 106.599525 81.198769 \n", ".. ... ... ... ... ... ... \n", "78 112.548164 -69.994125 55.432499 -68.521164 92.737343 -75.086960 \n", "79 85.717751 -74.409958 11.056811 -41.090591 68.491020 -59.455765 \n", "81 85.493820 -27.314945 -51.542961 -62.501278 102.863480 -34.857529 \n", "84 127.245735 85.553139 -93.959938 6.608004 124.445580 73.211723 \n", "86 94.716499 -78.742737 -1.188648 -52.624935 40.758934 -37.494156 \n", "87 100.364716 72.360008 -60.275139 34.698883 97.817802 71.583481 \n", "88 119.582886 -44.312881 110.618286 -10.001425 113.191605 -41.405144 \n", "95 94.261490 -26.274246 90.048035 9.286770 62.105225 -14.019166 \n", "96 59.289379 -39.532875 -41.123634 -16.162573 50.016296 -22.099298 \n", "98 114.959221 82.774529 77.833389 -17.491800 70.668648 54.612209 \n", "300 337.563660 130.170883 -161.850128 -266.100159 145.962097 56.285725 \n", "305 186.623291 115.854362 -119.002655 -85.113960 70.260399 51.881416 \n", "315 327.187653 91.097389 -132.940445 -284.745239 226.840576 64.454109 \n", "317 55.485935 -17.748005 51.104897 12.328293 44.846516 0.138648 \n", "324 171.201141 155.533829 43.707058 -56.645840 138.376160 125.712807 \n", "325 143.212662 -54.333054 31.085360 128.807953 79.777313 -52.362625 \n", "335 158.137543 -133.522797 -7.243723 -84.419617 80.231056 -68.161530 \n", "338 168.803345 52.608585 34.850925 156.564102 87.154083 39.945709 \n", "345 112.950981 64.614891 -4.162764 92.550049 115.284904 63.913273 \n", "347 274.400665 -60.116039 -165.123810 210.750854 121.846008 -68.042580 \n", "791 279.383087 43.128311 131.399200 242.753189 84.100731 -10.180331 \n", "797 229.098892 228.911407 -6.138898 -6.941409 53.032585 49.544853 \n", "810 311.466248 177.566422 -99.088737 -235.929688 64.184464 36.165394 \n", "816 179.288879 120.904938 -132.369537 -2.192201 148.808716 115.180977 \n", "819 153.994751 151.944946 -10.638010 22.670460 70.607399 69.639229 \n", "820 169.716614 -122.102844 36.656090 112.031059 112.158615 -80.692657 \n", "822 287.591492 -81.565056 -140.493576 237.313202 160.357544 -34.246628 \n", "824 91.996681 60.538616 -63.476665 27.734055 93.122139 60.690456 \n", "825 132.474686 35.062359 125.736656 22.593466 61.466259 7.588309 \n", "827 95.355087 -46.626762 25.236219 79.256989 86.610634 -36.374290 \n", "\n", " PY_1 PZ_1 E_2 PX_2 ... E_199 PX_199 \\\n", "436 93.167969 -50.390713 76.708054 -56.523701 ... 0.0 0.0 \n", "440 -93.015450 75.715302 90.420105 21.377417 ... 0.0 0.0 \n", "441 37.994343 -189.184753 123.247223 -33.828953 ... 0.0 0.0 \n", "444 -53.823605 -41.288010 28.072624 -19.964916 ... 0.0 0.0 \n", "445 -66.226990 -201.926651 217.040192 -63.698189 ... 0.0 0.0 \n", "452 -30.651501 -45.065155 35.438320 25.900942 ... 0.0 0.0 \n", "454 -6.211102 17.024878 36.229164 -31.835764 ... 0.0 0.0 \n", "460 30.484045 -173.156784 115.748047 -52.055187 ... 0.0 0.0 \n", "469 37.749592 4.160240 49.887844 -4.153875 ... 0.0 0.0 \n", "476 125.723831 -20.187439 47.387337 35.194256 ... 0.0 0.0 \n", "159 -86.566429 43.403915 35.724968 -23.600866 ... 0.0 0.0 \n", "174 -32.018463 1.651915 47.768581 37.176056 ... 0.0 0.0 \n", "176 36.319347 16.901674 42.756905 23.390104 ... 0.0 0.0 \n", "188 -65.158585 108.568260 95.833519 -0.119313 ... 0.0 0.0 \n", "190 66.286209 437.058350 213.598602 73.139099 ... 0.0 0.0 \n", "195 -96.582558 90.616646 107.360291 -41.913647 ... 0.0 0.0 \n", "196 62.647701 76.669937 55.116993 31.064240 ... 0.0 0.0 \n", "198 -64.622345 -92.115646 83.377754 -41.058903 ... 0.0 0.0 \n", "200 81.849770 -27.874113 90.545639 34.173183 ... 0.0 0.0 \n", "211 28.639086 4.526615 28.641333 -4.654485 ... 0.0 0.0 \n", "835 -42.235260 11.490357 41.543114 12.639909 ... 0.0 0.0 \n", "838 -36.267849 -26.080288 50.658684 -31.153194 ... 0.0 0.0 \n", "839 -11.911080 -89.039459 118.925804 100.790558 ... 0.0 0.0 \n", "843 -49.156624 54.334709 57.184879 -40.574955 ... 0.0 0.0 \n", "844 -42.471935 80.075539 74.789467 61.393959 ... 0.0 0.0 \n", "851 33.639759 -18.467234 32.496765 -18.493771 ... 0.0 0.0 \n", "853 -37.853809 109.795143 98.720222 38.892624 ... 0.0 0.0 \n", "863 132.869980 150.533752 114.808167 -43.253536 ... 0.0 0.0 \n", "865 -32.490814 105.147850 104.702782 -11.399035 ... 0.0 0.0 \n", "876 47.593819 50.050446 78.952003 59.764385 ... 0.0 0.0 \n", ".. ... ... ... ... ... ... ... \n", "78 42.109306 -34.481441 71.450615 -45.100121 ... 0.0 0.0 \n", "79 8.834720 -32.832600 53.507847 -46.168694 ... 0.0 0.0 \n", "81 -38.749676 -88.680946 96.135536 -31.703087 ... 0.0 0.0 \n", "84 -95.260292 -32.437981 105.382408 56.979771 ... 0.0 0.0 \n", "86 8.191441 -13.725134 38.636875 -36.520794 ... 0.0 0.0 \n", "87 -57.933125 32.983059 88.084023 80.769066 ... 0.0 0.0 \n", "88 104.923485 -9.434802 87.742432 -33.157097 ... 0.0 0.0 \n", "95 59.618134 10.305344 53.662228 11.528226 ... 0.0 0.0 \n", "96 -39.540451 -21.208580 43.462807 -20.643940 ... 0.0 0.0 \n", "98 40.573910 19.113411 50.274555 37.760147 ... 0.0 0.0 \n", "300 -69.983795 -115.061378 73.108635 5.547623 ... 0.0 0.0 \n", "305 -21.762051 -42.086288 60.948166 44.974922 ... 0.0 0.0 \n", "315 -92.687958 -196.751770 168.608826 45.740944 ... 0.0 0.0 \n", "317 43.049892 12.565718 33.957642 6.710351 ... 0.0 0.0 \n", "324 35.326954 -45.784943 41.754326 34.007488 ... 0.0 0.0 \n", "325 -3.214091 60.101952 69.032806 -44.975594 ... 0.0 0.0 \n", "335 -3.043645 -42.210953 63.538044 -58.925129 ... 0.0 0.0 \n", "338 12.922450 76.375290 73.016518 36.039776 ... 0.0 0.0 \n", "345 -4.656441 95.833298 81.806313 57.135715 ... 0.0 0.0 \n", "347 -61.409584 80.283997 97.850533 -57.151199 ... 0.0 0.0 \n", "791 46.183716 69.543930 60.285049 -7.393208 ... 0.0 0.0 \n", "797 13.902727 -12.824851 50.633774 50.608711 ... 0.0 0.0 \n", "810 -20.800457 -48.775509 40.091709 20.045677 ... 0.0 0.0 \n", "816 -90.013542 -27.837770 77.845200 51.305622 ... 0.0 0.0 \n", "819 -5.500076 10.272882 57.127357 54.653866 ... 0.0 0.0 \n", "820 24.224476 74.036636 86.687820 -60.876274 ... 0.0 0.0 \n", "822 -88.843933 129.028931 105.006508 -30.313942 ... 0.0 0.0 \n", "824 -61.697636 34.377369 67.617706 33.402180 ... 0.0 0.0 \n", "825 55.307018 25.722607 53.369095 17.563345 ... 0.0 0.0 \n", "827 28.903816 73.095024 76.419800 -39.889969 ... 0.0 0.0 \n", "\n", " PY_199 PZ_199 truthE truthPX truthPY truthPZ ttv \\\n", "436 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "440 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "441 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "444 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "445 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "452 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "454 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "460 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "469 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "476 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "159 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "174 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "176 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "188 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "190 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "195 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "196 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "198 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "200 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "211 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "835 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "838 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "839 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "843 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "844 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "851 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "853 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "863 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "865 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", "876 0.0 0.0 0.000000 0.000000 0.000000 0.000000 1 \n", ".. ... ... ... ... ... ... ... \n", "78 0.0 0.0 684.287781 -258.680817 376.150818 -481.489655 1 \n", "79 0.0 0.0 564.532837 -442.659424 201.212677 -230.923553 1 \n", "81 0.0 0.0 869.995117 -400.330170 -440.149078 -611.341797 1 \n", "84 0.0 0.0 503.165894 361.098053 -289.973358 -87.063324 1 \n", "86 0.0 0.0 689.829285 -542.529480 -75.202179 -382.762421 1 \n", "87 0.0 0.0 710.630371 544.073853 -405.004059 125.427887 1 \n", "88 0.0 0.0 550.275146 -185.418213 489.095428 4.628590 1 \n", "95 0.0 0.0 575.489746 -208.970932 479.300079 170.623764 1 \n", "96 0.0 0.0 573.650818 -303.963409 -434.481537 -136.952423 1 \n", "98 0.0 0.0 574.677612 459.333130 298.173401 -36.719540 1 \n", "300 0.0 0.0 971.624207 345.387085 -633.088318 -628.454407 1 \n", "305 0.0 0.0 829.788757 527.661987 -320.467896 -527.385315 1 \n", "315 0.0 0.0 1005.369202 301.333252 -463.502106 -822.074158 1 \n", "317 0.0 0.0 677.365662 35.399406 587.608215 291.583069 1 \n", "324 0.0 0.0 585.305908 513.958679 195.995544 -106.244362 1 \n", "325 0.0 0.0 970.638184 -571.535217 -35.579041 764.569458 1 \n", "335 0.0 0.0 692.826843 -609.769348 -40.451492 -278.393799 1 \n", "338 0.0 0.0 1452.763672 575.779358 302.395813 1287.667969 1 \n", "345 0.0 0.0 703.255371 415.590302 221.872940 493.012695 1 \n", "347 0.0 0.0 860.613403 -257.987335 -486.466919 638.902527 1 \n", "791 0.0 0.0 1145.094727 139.510925 637.620056 925.251465 1 \n", "797 0.0 0.0 537.091309 489.141541 -43.226307 135.200928 1 \n", "810 0.0 0.0 959.667175 459.227905 -374.334259 -735.301575 1 \n", "816 0.0 0.0 666.544861 546.472229 -329.620361 -88.627724 1 \n", "819 0.0 0.0 653.731995 618.538391 -69.253319 102.905121 1 \n", "820 0.0 0.0 832.899963 -572.147461 249.778381 524.242310 1 \n", "822 0.0 0.0 1014.205322 -213.806396 -476.465851 852.417358 1 \n", "824 0.0 0.0 659.905701 419.718506 -414.999115 239.802658 1 \n", "825 0.0 0.0 659.797302 39.736858 593.325745 230.296585 1 \n", "827 0.0 0.0 1255.107666 -514.749023 269.764374 1099.081665 1 \n", "\n", " is_signal_new \n", "436 0 \n", "440 0 \n", "441 0 \n", "444 0 \n", "445 0 \n", "452 0 \n", "454 0 \n", "460 0 \n", "469 0 \n", "476 0 \n", "159 0 \n", "174 0 \n", "176 0 \n", "188 0 \n", "190 0 \n", "195 0 \n", "196 0 \n", "198 0 \n", "200 0 \n", "211 0 \n", "835 0 \n", "838 0 \n", "839 0 \n", "843 0 \n", "844 0 \n", "851 0 \n", "853 0 \n", "863 0 \n", "865 0 \n", "876 0 \n", ".. ... \n", "78 1 \n", "79 1 \n", "81 1 \n", "84 1 \n", "86 1 \n", "87 1 \n", "88 1 \n", "95 1 \n", "96 1 \n", "98 1 \n", "300 1 \n", "305 1 \n", "315 1 \n", "317 1 \n", "324 1 \n", "325 1 \n", "335 1 \n", "338 1 \n", "345 1 \n", "347 1 \n", "791 1 \n", "797 1 \n", "810 1 \n", "816 1 \n", "819 1 \n", "820 1 \n", "822 1 \n", "824 1 \n", "825 1 \n", "827 1 \n", "\n", "[20000 rows x 806 columns]\n" ] } ], "source": [ "label_key = \"is_signal_new\"\n", "n_constituents = 200\n", "n_bins = 40\n", "n_events_per_class = None\n", "R_jet = 0.8\n", "plot_range = ([-R_jet, R_jet], [-R_jet, R_jet])\n", "\n", "vector_keys = [\"PT\", \"ETA\", \"PHI\"]\n", "vector_names = {\n", " key: [\"{}_{}\".format(key, i) for i in range(n_constituents)]\n", " for key in vector_keys\n", "}\n", "\n", "# get input file\n", "input_file = get_file(\"intro/data/top_tagging.h5\")\n", "\n", "df = pd.read_hdf(input_file, key=\"table\")\n", "if n_events_per_class is not None:\n", " # select subset of events for faster testing\n", " df = df.iloc[pd.np.r_[0:n_events_per_class, -n_events_per_class:0]]\n", "print(df)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "We want to work on images in the $\\eta$-$\\phi$ plane, with $p_{T}$ as the pixel values\n", "\n", "Start by calculating $p_{T}$, $\\eta$, and $\\phi$ for all constituents" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [], "source": [ "# convert cartesian coordiantes to pt/eta/phi\n", "for i in range(n_constituents):\n", " px = \"PX_{}\".format(i)\n", " py = \"PY_{}\".format(i)\n", " pz = \"PZ_{}\".format(i)\n", " pt = \"PT_{}\".format(i)\n", " df[\"PT_{}\".format(i)] = (df[px]**2 + df[py]**2)**0.5\n", " df[\"ETA_{}\".format(i)] = np.arctanh(df[pz] / (df[pt]**2 + df[pz]**2)**0.5)\n", " df[\"PHI_{}\".format(i)] = np.arctan2(df[py], df[px])\n", "\n", "df.fillna(0, inplace=True)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "First step: Center the jet" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "cell_style": "center", "slideshow": { "slide_type": "-" } }, "outputs": [], "source": [ "# (first constituent has highest pT)\n", "df[vector_names[\"ETA\"]] = df[vector_names[\"ETA\"]].subtract(df[\"ETA_0\"], axis=0)\n", "# for phi, take smaller angle\n", "df[vector_names[\"PHI\"]] = df[vector_names[\"PHI\"]].subtract(df[\"PHI_0\"], axis=0).add(np.pi).mod(2 * np.pi).subtract(np.pi)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "cell_style": "center" }, "outputs": [], "source": [ "def plot_jet_image(jet_histogram):\n", " fig = plt.figure()\n", " ax = fig.add_subplot(111)\n", " norm = colors.LogNorm(10**-4, jet_histogram.max(), clip='True')\n", " im = ax.imshow(jet_histogram, norm=norm)\n", " fig.colorbar(im)\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "cell_style": "center" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "average_centered_jet, xedges, y_edges = \\\n", " np.histogram2d(df[vector_names[\"ETA\"]].values.reshape(-1), df[vector_names[\"PHI\"]].values.reshape(-1),\n", " weights=df[vector_names[\"PT\"]].values.reshape(-1) / len(df), bins=n_bins, range=plot_range,\n", " )\n", "plot_jet_image(average_centered_jet)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "Multiple options for further preprocessing. Here, we rotate to align the jets and then normalize the pixel values" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "scrolled": true, "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAogAAAIVCAYAAABSsQ4nAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3X+ULWV54Pvv3t19zoEDHgyoDCGGQIDMTBKZhIxHcQnoEklyzWCC73hvZNC5kxOjjsbA3CwjieDoHWfdWRpETaYTRxJ0jT7jrJB1VhxDojj+AK8LM45DYgBFRI1oQEA4v7p7733/2NXe3s3p7v1U7+rT1f39sPYquvZbVW/Vrl3n3U+99T6dwWCAJEmStKh7rCsgSZKkzcUGoiRJkkbYQJQkSdIIG4iSJEkaYQNRkiRJI2wgSpIkaYQNREmSJI2wgShJkqQRNhAlSZI0YrrJlZdSTgfeDFwKnAx8C7gZuC4iHm5y25IkSaqn01SqvVLKWcBtwFOBPwX+FvinwMXAXcAFEfHQGKsyF6AkSZtX51hXYND7xqAzdXqTm/gacEaTG9hsmowgvodh4/C1EXHD4sxSytuB1wNvBV45zor+7u/+rpEK1vUvf/x3UuU7xx2XKr/wrQdS5adP/8FUeYD5H35Kqnx/JtcbodPLtesP/ODOVHmA/lSu/NRcrk69Hblr3mAqf43sJXe709tc6x9uI7ff2W10+rnPrVtjH9I/Q5PlO8nyMwfzv4uz5+vMgX6qfCdXnKkjyQWAHQ/Ppcr3d+YuAtOP59ZP8joGMPgff51eJuOPvnF9qvyVp7+uoZoM/UX/vzS6/nF1pk6n/8A5ja2/e+rdP9zYyjepRvogVtHDS4D7gHcve/tNwAHgilLK7ia2L0mStpd+g/9tR009pHJxNb0lIkaObEQ8BnwGOB7Y29D2JUmSVFNTDcRzq+ndK7x/TzVtLh4sSZK2jd6g39hrO2qqgbinmj66wvuL809qaPuSJEmqqdFhbuoqpewD9gFExDGujSRJ2uz6DnoyUU01EBcjhHtWeH9x/iNHezMiZoHZ6k8/cUmSpA3UVAPxrmq6Uh/Ds6vpSn0UJUmSxrZdnzZuSlN9EG+tppeUUka2UUo5EbgAOAh8tqHtS5IkqaZGGogR8RXgFoajjr962dvXAbuBmyLiQBPblyRJ20tvMGjstR1tZKq9LwHPZDhG4t3As8dNtfeC7kvG3m52lPmXn/V/pcoDTP3Ak1PlFx74dqr8YO9P5srXyOBx+Cm5FBvZbBbZrA51LByX/H2TPNWPnJTbh+58/rvUn0kep+xhzVapxsfWn8mV784n15/tCFNjH+pkkMmYPpT7IAY19qG7kCs/SH59dj2czLxS45+WhV25Hd/5SK5OO797JFW+O5+/ZdmZz51MnQOHU+UH38xl2uofPJgqn1VlUjnmqfaAwff+7umNrfxJp90Pm2M/N0xTt5gXo4jnAzcybBheBZwFXA/sHbNxKEmStKY+g8Ze21Gjw9xExNeBVzS5DUmSpN42bcg1ZVOOgyhJkqRRpZQ3AL/IMGPdEYYP+74hIu6c9LYau8UsSZK0UbbJLeaLgPcAzwaeBywAf1lK+YFJb8gIoiRJUgtExAuX/l1KuYJhcpILgP2T3JYNREmS1HqbYTiaUsrlwIXAecAzgBOBD0TEy1ZZ5nTgzcClwMnAt4Cbgesi4uE1Nnkiw7vBa5VL8xazJEnSZFwDvIZhA/GbaxWuhgT8PMMHej8HvAO4F3gdcHsp5eQ1VnE98AXg9nXU+aiMIEqSpNbbJIn2Xg98A/gyw0jirasX5z0Mx4t+bUTcsDizlPL2al1vBV55tAWrMs8BnhMREx/N1QiiJEnSBETErRFxT0Sseb+7ih5eAtwHvHvZ228CDgBXlFJ2H2XZdwD/O/C8iLh33RU/ChuIkiSp9XoMGns15OJqektEjARAI+Ix4DPA8cDepe+VUq7n/28c/m1TlfMWsyRJ0sY7t5revcL79zCMMJ4DfAyglPJu4ArgMuDhUsqpVdnHI+LxSVZuyzUQ/+V5b06V7+zYkd5G/2m54Ya6TzkpVX5hOhfYrZOLubuQ+0V08JSpVPn5E3J1yuaqBegl87b2kh91J9mhpV8jTWc2B/DCE240rK47lyvf25UrD/ncytnPoZdLG57OSQwwlV0m+VFncwzXsXB8rvxULgUwh07JXZey5wVQI9d4rk6dfu7ky+ZuBph/0nGp8oOn5j64ncfl9uGPPvJrqfJt1mv4IeZSyh1L/pyNiNl1rnJPNX10hfcX5y9tRLyqmn5sWdnrgGvXWZ8RW66BKEmSNGkRcf4mqEPzvzYrNhAlSVLrbZKnmDMWI4R7Vnh/cf4jG1CXJ/AhFUmSpDWUUmZLKS+a4CrvqqbnrPD+2dV0pT6KjTKCKEmSWq9Xox94RkTsm/AqF8dIvKSU0l36JHMp5USG6fMOAp+d8HbHYgRRkiRpg0XEV4BbgDOAVy97+zpgN3BTRBzY4KoBRhAlSdIW0D/2qZgppVzGcAgagMUhaJ5VSrmx+v8HI+LqJYu8CrgNeGcp5fnAl4BnMhwj8W7gjY1XegVGECVJktYwZh/E84Arq9cLq3lnLpl3+dLCVRTxfOBGhg3Dq4CzGOZY3hsRD02q/lmdwWATNLlXN3hB9yVjF546Za281stWfiQ5UBzAWT+UK9/PPVu1sCc5jlaNcRDnT8wFjx0HcYzyNTJhbsdxEJND123MOIjJMQHz4/Uly9cwyH1F0/vcSf5bsRHjIE4fzNVp18O5L1ydcRAXds+kymev3zsfyI2F/L6Gx0E87bTTIP+NaMLgb77+g42t/B/90Ddhc+znhjGCKEmSpBH2QZQkSa3X9FPM240NREmS1Hr9gQ3ESfIWsyRJ0hoaGCh7U2vFQyo/+6P/ZuzC/Qe+k1v5PzozWx+6jx5MlT/4o7kHZ7JR8t6ufDv/yJNyy/SzsebsPuzI//LLPlCRfegku8/pY1RDJ/l17SQf2OgnH+SB/EMn2YcpsvtQ6y5T8rhOZR/Mydapxj6kj1PSVPJ5jex5AbDje83+ezQ1l1v/TPIhGICpI7kLTaeX28bUXG79O+/LPwTb/86DY5f988duhM3x8Mbgr+5/emMr/6mn3w+bYz83jBFESZIkjbAPoiRJar2eMa+J8mhKkiRphBFESZLUek0/xVxKmQX2R8T+Rje0SdhAlCRJWkNE7DvWddhINhAlSVLrOVD2ZNkHUZIkSSOMIEqSpNbr1Rl8UyvyaEqSJGmEEURJktR6/YZjXj7FLEmSpBE+xbwJDY7bOXbZ7qlPTa17bvdMtjoc+genpMovHJdNVpvLzblQIxfzwnG58r2duafDuslctQu7c+UBSOZW7iX3ObsPdaS7zCRTw/aOT66/xg/wbA7gbE7s3q7cTnd7+ScZO71c+V6NnNUZ3YbzKkM+7/Yg+a/F1OFceYC5k3KfXfZzGxzKlc+eqwDd+dw+TB/M7cT0gdyF6fCP5P69AtiZ+Dd3M/Ep5smyD6IkSZJGtCKCKEmStBqfYp4sj6YkSZJGGEGUJEmt17cP4kQZQZQkSdIII4iSJKn1eo6DOFE2ECVJUus1/ZDKdhsH0VvMkiRJGmEEUZIktV7Tqfa2G4+mJEmSRhhBlCRJrdcbOMzNJDXaQCyl3Af88ApvfzsiTh1nPYdOP3HsbXYXThi7LMDU4WQyT6A/kzsJDz85m5szV37uxPyXop9MtZn93vWS6+9P5coDdJJ1yvZfXkjmMc7mhYV8fttBMjdsJ5m7OZkGfLhMNtX4dLO5lfsz+Z3oZsdPq3GcMvo1/p3rNJzXu5/916JGOt+pI7ny2etSdh+y13qA+d25D2IwnavU3Em58rvvezxVHoBejSTU2nI2IoL4KPC7R5lf46yVJEl6oqaHudluNqKB+EhEXLsB25EkSdIE2AdRkiS1Xr/hcRAdKHvydpZSXgY8HTgAfBH4ZETU6LElSZK08bbbQNkb0UA8Fbhp2byvllJeERH/fQO2L0mStjj7IE5W00fzfcDzGTYSdwM/AfxH4Azgv5VSntHw9iVJkpTUaAQxIq5bNutO4JWllMeBq4BrgRcvX66Usg/YV62jySpKkqQtwHEQJ+tYPaTy+wwbiM892psRMQvMVn82POKYJEmSljpWDcS/r6a7j9H2JUnSFmIu5sk6VkdzbzW99xhtX5IkSStoLIJYSvmHwP0RcWDZ/DOAd1V/vr+p7UuSpO2j1/A4iNtNk7eY/zlwVSnlk8DXgMeAs4CfB3YBHwH+wzgrmj6wMPZGZ757MFXJR3/8B1LlAXo7cuWnD+XKHzmp+Y62/ZnGN9G4bF7VbN5jkulI6xzT/o5cF9tOsk7ZPtvZ3M0Ag2we7Wya12Sl6vRTH3STn8P4l6Rh+exxzSYaryH7/enO5cqnzwvyOdzz+c9zx3XqSP4LMUh+doNurlEzczD3BZp/8q5UeQDqLKMtp8kG4q3AucA/AS5g2N/wEeDTDMdFvCkifABFkiStWz/5A0Cra6yBWA2C7UDYkiRJLWMuZkmS1Hr2QZwsj6YkSZJGGEGUJEmt13Qu5lLKLLA/IvY3uqFNwgaiJElqvX7DqfYiYl+jG9hkvMUsSZKkEUYQJUlS6zV9i3m78WhKkiRphBFESZLUen2HuZkoj6YkSZJGGEGUJEmt1zPV3kS1o4E4Nf6H/r1/+OTUqqcP5RKfA/R25AKvR05KJm9PnuODqVz5WpJZs/vJM2tQ40zsz+QqlR4BYQP2IVunTi+5/g04N9LHdSvct8juQ/Jzy57bAJ1knTr93AfXSVapzrmXvUOY3+dc+bk9NRocyW3sfiB3YBd25Xa608tfmI779qH0Mtp62tFAlCRJWoV9ECfLoylJkqQRRhAlSVLr2QdxsowgSpIkaYQRREmS1Hr2QZwsj6YkSZJGGEGUJEmt19sGEcRSynOBq4GfBk4DXhERNzaxra1/NCVJkraGE4A7gdcBjQ5YaQRRkiS1Xn8bPMUcER8BPgJQSrmxyW3ZQJQkSZqAUsrlwIXAecAzgBOBD0TEy1ZZ5nTgzcClwMnAt4Cbgesi4uHGK70CbzFLkqTW6w26jb0SrgFew7CB+M21CpdSzgI+D7wC+BzwDuBehreQby+lnJw9DpPSighif2r8D+f4bx1OrfuRs4/PVoeF43Lls/1m03mMa+Q8zW4jm4e1P5MsP10j92w2N2yyTlnpnMSQz3Gd3YdknfpTNT6HXjLXePazTuYMppvfh+wS2X0m+bllc25DjTzG/dxe95PXme5C/gvRWcgukCve25UrP30wVx7yOdkP/0BuJ6aTvc4G3XwcaPrgjvQy+r7XA98AvswwknjrGuXfAzwVeG1E3LA4s5Ty9mpdbwVe2UxVV2cEUZIktV5/0GnsNa6IuDUi7omINX+BVdHDS4D7gHcve/tNwAHgilLK7vGPwuTYQJQkSa3Xo9vYqyEXV9NbIqK/9I2IeAz4DHA8sLepCqymFbeYJUmSjqVSyh1L/pyNiNl1rvLcanr3Cu/fwzDCeA7wsaoOJwA/Wr3fBZ5eSjkP+G5E3L/O+oywgShJklovcyu4jog4f8Kr3FNNH13h/cX5Jy2Zdz6j/Rqvq15/BLx8kpWzgShJktQCEfEJ0o9n1WMDUZIktV6/fY9VLEYI96zw/uL8RzagLk/QuqMpSZK00Uops6WUF01wlXdV03NWeP/sarpSH8VGGUGUJEmt12u+D+K+Ca9ysS/hJaWU7tInmUspJwIXAAeBz054u2MxgihJkrTBIuIrwC3AGcCrl719HbAbuCkiDmxw1QAjiJIkaQto+inmcZRSLgMuq/48tZo+q5RyY/X/D0bE1UsWeRVwG/DOUsrzgS8Bz2Q4RuLdwBsbr/QKjCBKkiStYcw+iOcBV1avF1bzzlwy7/Klhaso4vnAjQwbhlcBZwHXA3sj4qFJ1T+rMxjk85ZusMHFL3jb2IUf+6Hmc0jOn5D7lbKQTPeczt3ccI5hyOeGXTg+d15l9xlq5KBO/rjM/hhN5xgGOv21y4yUT+YA7u3M1Slbn1rLZHNoJz/nOnmMs9L5p7N5kutclrPLJMt3k3mSpw7noznZPMbZ3M3d+eT663wfGj7/pg/lPridj+RPpuMeGv/AfuKjvwkbNOzKGgb/+q9+ubGV3/BTH4DNsZ8bxgiiJEmSRtgHUZIktV5vewX4GmcEUZIkSSOMIEqSpNZr+inmUsossD8i9je6oU3CBqIkSdIaGhgoe1OzgShJklqvX2c4DK3IoylJkqQRRhAlSVLr9X2KeaKMIEqSJK1hzEwqW4YRREmS1Hq9hp9i9iEVSZKklvEhlclqRQNx4fjxk7Fm81Qe/oH8L47uXDK/7Y7cNvo7U8WhRr7QQTJ/c29HMrdyNk9yDY1fC7rZpMH5TaTzPSc/h2wu2cFU8zuRzbebVee8yOYZ7mc/h2x+3hqRkOxn11loNp909hgBdPrNnkuD7PehzrmU3O2puVz57LnU25k/l+ZP2IALuDa9sb5epZTLgQuB84BnACcCH4iIl62yzLOBa4C9wHHAPcB/Am6IiIbTmUuSpO2k6YGyt5txf39dw7Bh+DjwDeDHVitcSvlnwH8FDgMfAr4LvAh4B3AB8JKa9ZUkSVLDxg2gvx44B3gS8GurFSylPAn4A6AHXBQR/2dE/BuG0cfbgctLKS+tX2VJkqRRfTqNvcCnmI8qIm5d/P9SylrFLweeAvxxRNyxZB2HSynXAB9j2Mj8YLq2kiRJx8B2e4q5iW7+z6umHz3Ke58EDgLPLqVkH8WQJEk6qv6g09hrO2qigXhuNb17+RsRsQB8lWHk8swGti1JkqR1amLAiT3V9NEV3l+cf9JKKyil7AP2AUTE5GomSZK2JMdBnKxNOQ5iRMwCs9WfNQZmkyRJUl1NNBAXI4R7Vnh/cf4jDWxbkiRtQ9u1r2BTmojH3lVNz1n+RillGvgRYAG4t4FtS5IkTZzD3Kzfx4FfBi4F/vOy954LHA98MiKONLBtSZK0DS2OV9gUh7lZvw8DDwIvLaWcvzizlLILeEv15+81sF1JkiRNwLi5mC8DLqv+PLWaPquUcmP1/w9GxNUAEfG9UsqvMGwofqKU8kGGqfZ+geEQOB9mmH5vbAu7xv9VMHdi7hdEJ5m8HaA/3WxC+bQaP5oGyYzy2X1IdwWp88Ovk9yHZP757ANxyeoMl1nIle9P5zbS6ScPbI0+PIMdyR3vJbeRPLCd7PrJnxskrxv9mVz57kKNkyn7WWdPjeQ1oF8j/NDp5fa7eyS3E73k6LtTNe5zZY/TfPLcSH+nazznOXdCO58Gtg/iZI17FpwHXFm9XljNO3PJvMuXFo6Im4ELGQ6M/UvAvwbmgd8AXhoRPpksSZK0SY2bau9a4NrMiiPiM8DP5askSZKUYwRxstoZR5YkSVJjNuVA2ZIkSRlGECfLCKIkSZJGGEGUJEmtZwRxsowgSpKk1uvTaewFZlKRJEnSMtstk4oNREmS1HreYp4sbzFLkiRphBFESZLUekYQJ6sVDcSF48YPdM7vTp4gNWKo/WxO0oZzAPezuXA3QDrv8VSNfch+dtlNZHM917k2JfN6Z/OwZnNu17qn0PBxJXsu1UmKnd6HZnO+p3NDA51Bs/nVOwvJc6/G9yG9SPJ87c7nymev9QDdZH71OvmeM/rJawxAdyF5wmpLakUDUZIkaTVGECfLPoiSJEkaYQRRkiS1nhHEyTKCKEmSpBFGECVJUusNjCBOlBFESZIkjTCCKEmSWq+fHyhJqzCCKEmSpBFGECVJUus1/RRzKWUW2B8R+xvd0CZhA1GSJGkNEbHvWNdhI9lAlCRJredTzJPVigZiNpdxat0zNZZJHrXsObuwO5dTNZv7E6C3I1d+MJNMVpvMGVxH+lrQdPkaBtMN59HOrr5OGuM6ebQTsvmna/Ws7iXLZ/N0Z69hdf6hS26jO5fcRrJ4nV3o7cod1+y/Dd3k59ydz+9EOg99chPZf7OmDue/n0eeZENLLWkgSpIkrcZMKpPlU8ySJEkaYQRRkiS1nn0QJ8sIoiRJkkYYQZQkSa1nH8TJsoEoSZJab9DwoBDbjbeYJUmSNMIIoiRJar3+Rgxeu40YQZQkSdIII4iSJKn1HOZmsmwgSpIktUQp5VXAvwH+AfDXwK9HxKcmvZ1WNBBTuS2zPyD6yfLUyLWZvJE/dSS3E9n8pUCN45RbIJtjOHuMAOg2nB86m3u2Rl7lTq/ZX7yD5DFK5z0GOslf7YNsHuPkca11TBvM9w7kcz3XkM2Jnc5Dn/361Lm2Zj+67HUmuRODGnnusx23eruSq388V74/k/8+TB1p5+PA22GYm1LKPweuB14FfLqa/rdSyj+KiPsnua1WNBAlSZLEbwA3RsQfVH//61LKpcCvAW+Y5IZsIEqSpNbbDOMgllIuBy4EzgOeAZwIfCAiXrbKMqcDbwYuBU4GvgXcDFwXEQ8vKbcD+GngPyxbxS3Asye4G4BPMUuSJE3KNcBrGDYQv7lW4VLKWcDngVcAnwPeAdwLvA64vZRy8pLipzDsEPPtZav5NnDqumu+jBFESZLUepvkKebXA98AvswwknjrGuXfAzwVeG1E3LA4s5Ty9mpdbwVe2UxVV2cEUZIkaQIi4taIuCci1rzhXUUPLwHuA9697O03AQeAK0opu6t5DzJ85O1py8o+DXhgPfU+GhuIkiSp9QaDTmOvhlxcTW+JiJHn/iPiMeAzwPHA3mreHMPb0S9Ytp4XALdNunLeYpYkSdp451bTu1d4/x6GEcZzgI9V894O3FRK+RzDBuQrgdOA35905WwgSpKk1mt6HMRSyh1L/pyNiNl1rnJPNX10hfcX55+0OCMiPlQ9uHINw4Gy7wR+LiK+ts66PIENREmSpDVExPnHug4AEfEehg+3NMoGoiRJar3NMA5i0mKEcM8K7y/Of2QD6vIEPqQiSZK08e6qpues8P7Z1XSlPoqNsoEoSZJar+mnmEsps6WUF02wyotjJF5SShlpj5VSTgQuAA4Cn53gNsc29i3mTPqYUsoZwFdXWd2HIuKl4257fvf4HU8H2SZvjT6tnWQC98FMrnx/Jhknr9MvN7nMYKrh2H2nxvqziyS3MegmN9Bfu8i6t5H9rJPrH0zV2Ims7D4kqzTo1PhCZDu3p8+9XPHuXH4fBtkOQw1/1IOp/DKdXnaBZPnsV3pH/ro0dbjZByXmd69dZqnpQ/ltdOfyy2wHEbFvwuv7SinlFoZPKr8auGHJ29cBu4H/GBEHJrndcWUuKdcwbBg+znCU8B8bY5n/yTCf4HJ3JrYrSZK0qs2QSaWUchlwWfXnYvq7Z5VSbqz+/8GIuHrJIq9iOIbhO0spzwe+BDyT4RiJdwNvbLzSK8g0ELPpYwC+EBHX1qiXJEnS2DbJMyrnAVcum3dm9QL4GvD9BmIVRTwfeDNwKfBzwLeA64HrIuLhxmu8grEbiBHx/QZhKaWZ2kiSJG1CpZRZYH9E7F+pTBUUuzaz3oj4OvCKdVWuAU0Pc3NaKeVXgZOBh4DbI+KLDW9TkiRtM03fYp50H8TNrukG4gtYljOwlPIJ4MqIuL/hbUuSJKmGpoa5OQj8W+CngSdXr8V+ixcBHyulrPgsVillXynljmVpbSRJko5u0OBrG2okghgR3wF+Z9nsT5ZSLgE+zfAJnX/FsBPm0ZafBRZzHG7Tj0aSJG0W4/RB3Eo2dKDsiFgA/rD687kbuW1JkrR1NT1QdkTs2y6NQzg2mVT+vpomh/uUJEnSRmj6IZWj2VtN7z0G25YkSVvQwA5pE9VIBLGU8lPL8wpW85/PcMBtgPc3sW1JkiStTyYXcyZ9zNuBs0sptzHMvgLwk8Dzqv//7Yi4bdxtd+fHLQlzx49fFurlC80uk85jnGy21/nRlB0uqpPNh7sBselOP7cTg+nckUqvv+l81QDJbXR25JLbdpPHCKDbTZ4cyZzYvYXcF64/X+N3b3aZ5LmRzRnc35lPlNxZSJ6vyTzd6e/DBuSI76b3Obf+7HUPoJ+9znRz+zB1JFU8n68a6O089inr6mh6HMTt9pBK5p/xTPqYm4AXAz8D/CwwA3wbCOBdEfGpuhWWJEnaaA6UvYJM+piIeC/w3npVkiRJSmo4grjdHIunmCVJkrSJHYunmCVJkibKp5gnywiiJEmSRhhBlCRJ7WcEcaKMIEqSJK2hlDJbSnnRsa7HRjGCKEmSWq/pcRC32zA3RhAlSZI0wgiiJElqP/sgTpQNREmS1HpN32LeblrRQOzPNLfu7kJ+mV42V3I2zWs213ON/LnZEeez+7AR0teC7GHK7nOda1M2H+5MLjnsdDIX846d+S/EVDIXc7b8kfncZWqum79g9JKfw+Bw9kuaOzmyeZUhnws8nVs5e67W2YfktSybKrnTS34ONXIxp68b2Tz3ycM6SJ6qAJ0a/y5q62lFA1GSJGlV3mKeqE0YF5IkSdpcHOZGkiSpdRzmZpKMIEqSJGmEEURJktR+9kGcKCOIkiRJGmEEUZIktZ8RxIkygihJkqQRRhAlSVL7mUlloowgSpIkaYQRREmS1HoD+yBOVCsaiLXyYY6pVkS64RzAnWT5Ot+JbM7TdJ7XZM7TOuObZs+LfnIfNkSyTt1kbuWdu+ZT5U/YdSRVHuCEHXOp8t3kGXtgfkeq/Pem8heMQwd3psovZBOyH06e4Btxbyf9HU1eM5K5m4cLNXzdyF5c61yYstf7Bv99g3r/xvXz6cy3hVLKLLA/IvYf67pshFY0ECVJklbVcAzATCqSJEna1owgSpKk9vMp5okygihJkqQRRhAlSVLrpZ9B0qqMIEqSJGmEEURJktR+RhAnygaiJElqPx9SmShvMUuSJGmEEURJktR+3mKeKCOIkiRJGmEEUZIktZ8RxIlqRQOxycThgzox1Kb7wWbXX6Nj7qCb/CZNNbz+Gl/swVRuoU4/d5zS+5AtX2OZ6eleqvyO6YVU+SfvOpQqD3DxU+5KL5Nx69+fmyp/ZCF/WZtLHtfedO7CMZhKnnv9VHEAOr3kdWA6eb5m67QR/1hnt5E8RLX+fUjqJwfvm57P7US/xr/yM4fzy2wHpZRZYH9E7D/1ybGvAAAgAElEQVTWddkIrWggSpIkrarhHyURsa/ZLWwu9kGUJEnSCCOIkiSp/RwHcaKMIEqSJGmEEURJktR6yed9tAYjiJIkSRphBFGSJLWfEcSJMoIoSZKkETYQJUmSNMIGoiRJkkbYB1GSJLWeTzFP1lgNxFLKycCLgZ8HfgL4QWAO+F/A+4D3RcQTMnWWUp4NXAPsBY4D7gH+E3BDROSSn46pk8wX2t+Z30Y/mcN0kGyGZ8f6HGRzqpL/Ig2yn1YyNp3Nq7whsvH1GmO0dpK5mDvJbcxM5b4Q0918EuDTZh5Jlf/lEx9Klb/9u2emyk/V2IfuBuQOT6lxLjX9HcrmMt+QQYuTm+gnc8pP5VKZDyU/hk7y2trfkSvfPZIrD/X+XdTWM+4/gS8B/gB4JvD/Ar8L/Ffgx4E/BKKUMvJVLaX8M+CTwHOBPwHeBewA3gF8cBKVlyRJAoY/Spp6bUPjxrbuBn4B+LOlkcJSym8BnwN+CfhFho1GSilPYtig7AEXRcQd1fzfBj4OXF5KeWlE2FCUJEnaZMZqIEbEx1eY/0Ap5feBtwIXUTUQgcuBpwB/vNg4rMofLqVcA3wM+DWMJEqSpEnYhD2VjrVSynOBq4GfBk4DXhERN46z7CSeYp6vpkt7azyvmn70KOU/CRwEnl1KsaeDJElSM04A7gReBxzKLLiuBmIpZRr4F9WfSxuD51bTu5cvExELwFcZRi9zvc8lSZKOZtDgq6Ui4iMR8VsR8WEg9QTfeoe5eRvDB1U+EhF/vmT+nmr66ArLLc4/6WhvllL2AfsAImKdVZQkSVvdZhjmppRyOXAhcB7wDOBE4AMR8bJVljkdeDNwKXAy8C3gZuC6iHi48UqvoHYDsZTyWuAq4G+BKyZWIyAiZoHZ6s9N8JFLkiSt6RqGDcPHgW8AP7Za4VLKWcBtwFOBP2XYpvqnDG8JX1pKuSAicmODTUitBmIp5TXA9cDfAM+PiO8uK7IYIdzD0S3Ozw2gJkmSdDSbI5z0eoYNwy8zjCTeukb59zBsHL42Im5YnFlKeXu1rrcCr1wy/y3AG9dY58UR8Yl0zZdJ90Espfw6cAPDTo8XR8QDRyl2VzU95yjLTwM/wvChlnuz25ckSdqMIuLWiLgnItZsrlbRw0uA+4B3L3v7TcAB4IpSyu4l838X+IdrvD63zt0AkhHEUspvMux3+AXgBRHx4ApFPw78MsP76f952XvPBY4HPhkRNcZ4lyRJWmZzRBAzLq6mtyzPRhcRj5VSPsOwAbmX4fCAVO2uldpeEzV2BLEa5PptwOcZ3lZerYIfZrgDLy2lnL9kHbuAt1R//l6+upIkSVvCiiO+VO6ppk+4GzuuUsoJpZTzSinnMWzzPb36++lrLTtuLuYrGT5h0wM+Bby2lLK82H2Lgy9GxPdKKb/CsKH4iVLKB4HvMszGcm41/0PjbBty+ZWzuZjr5KkcZG/MJ/N5ZvNgZnN5Qj4/dDo3bDofaZ1Exs2WH/STO5HM8zrcSLMpnHr93Mk618vvxJcPPy1V/r39mVT5gwu55LPZfQYYNJ1KK1ulRjLVL5ONtqS/bzXCOcnPIXu9T5evsQvZbaTXn/z3pM4+dOfyy2wGTT/FXEq5Y8mfs9UDteuxrhFfxnQ+o/0gr6tefwS8fLUFx20m/Eg1nQJ+fYUy/x24cfGPiLi5lHIhw86UvwTsYthp8zeAd45zf16SJGkziIjz1y61uVQPq9T6BTxuqr1rgWuzK4+IzwA/l11OkiQppek7AZO3qUd8mUSqPUmSpC2tlDJbSnnRBFe54ogvlbOr6Up9FBu13kwqkiRJx17DHdciYt+EV7nYN/CSUkp36ZPMpZQTgQuAg8BnJ7zdsRhBlCRJ2mAR8RXgFuAM4NXL3r4O2A3cFBEHNrhqgBFESZK0BWySXMyXAZdVf55aTZ9VSrmx+v8HI+LqJYu8imGqvXeWUp4PfAl4JsMxEu9m7awpjTGCKEmStIYx+yCeB1xZvV5YzTtzybzLlxauoojnMxwF5pnAVcBZDNMZ7z1WeZjBCKIkSdoKNkEfxDqjvkTE14FX1KtVc4wgSpIkaYQRREmS1HqboQ/iVmIEUZIkSSNaEUHsJ2qZzZOczqtcwyCZ3rabzd2cS20L5PN5Zveh8TyvdWTrlD036qSe7ed2vLeQq9SRhdwHd3A+l/cY4KH53anyx0/lEqA/PpdLTr7Qy3+pF+Zzxyn7uaVDG3UyQmSrlM1/viHf6dxGBlPJ3M3JHNe1EnNk/1WdzxUfJNdfJzV0t05e+c2g+VzMs8D+iNjf7JY2h1Y0ECVJko6lBgbK3tRsIEqSpPazD+JE2UCUJEmt50Mqk+VDKpIkSRphA1GSJGkNY2ZS2TK8xSxJkrQGH1KRJElqG/sgTpS3mCVJkjTCCKIkSWo9n2KeLCOIkiRJGmEDUZIktd+gwRc+xSxJkqRlfIq55QbJmGg28TlAdz6Xwb0/k+wYkSze6eczyvenkxupsY2Ubr7zyCC5TGeQ3IfsLtc5Rv3cPvQWcif4/HzuBH+8uyNVHuA7R05Mle8mOwodSu7D4bmZVHmAfi/52WXLJz+39LkH+Sc4s9vIrr/O9yF7HcjWaQP6qGX/DZpKnkv9qdxOTC3kP4fezvQim4N9ECfKW8ySJEkaseUiiJIkafvxKebJMoIoSZKkEUYQJUlS+xlBnCgjiJIkSRphA1GSJLVeZ9DcCxwHUZIkScs4DqIkSVLb2AdxorzFLEmSpBFGECVJUvsZQZwoG4iSJKn1HCh7slrRQOz0xy/b7eXWPUiWB+jtSuYATtQf8rk807meqVOnTZa7mXwO6kEy/3QnmcM0u/7hRnLFB8l9np+fSpXvdvOXhL97fE+q/FwvV6dsbuVsvmrIH9e0jfj+ZM+lpnOZJ3MGA+kc150a1++M7LUYoLuQ3Uiu+NSR3DGaPphbP9Tbb209rWggSpIkrcoI4kT5O0GSJEkjbCBKkqT2GzT4woGyJUmStIwDZUuSJLWMTzFPlreYJUmSNMIIoiRJaj8jiBNlBFGSJEkjjCBKkqTWsw/iZBlBlCRJ0ggjiJIkqf2MIE7UWA3EUsrJwIuBnwd+AvhBYA74X8D7gPdFRH9J+TOAr66yyg9FxEvHrWQmbNxLNnnr5PLszuVyYS4cn8x5mioN3WRuToD+jmSd5pN5iXPpdut9sZO73UnmeR3UySWblc0n3UsG/ZP5oRcWsh8cHJrP5Up+uHt8qny2TrVyMWePa/Yrl82tnMyVvinVSU2e3e9sfujkPch0fYBOMhdzP/kdncpeMzYin7S2pHGbUy8Bfg/4FnArcD/wNOAXgT8EfraU8pKIWH6m/0/g5qOs78561ZUkSToKI4gTNW4D8W7gF4A/WxYp/C3gc8AvMWws/tdly30hIq6dQD0lSZK0QcZqIEbEx1eY/0Ap5feBtwIX8cQGoiRJUuPyna20mkk8pDJfTY/Wa+G0UsqvAicDDwG3R8QXJ7BNSZIkNWRdDcRSyjTwL6o/P3qUIi+oXkuX+QRwZUTcv55tS5IkfV/DfRBLKbPA/ojY3+yWNof1RhDfBvw48JGI+PMl8w8C/5bhAyr3VvN+ErgWuBj4WCnlvIg4cLSVllL2AfsAImKdVZQkSVqfiNh3rOuwkWo3EEsprwWuAv4WuGLpexHxHeB3li3yyVLKJcCngWcC/wq4/mjrjohZYLb60+eSJEnSqsykMlm1MqmUUl7DsHH3N8DFEfHdcZaLiAWGw+IAPLfOtiVJkp5g0OBrG0o3EEspvw7cwHAsw4sj4oHkKv6+mu7ObluSJEnNS91iLqX8JsN+h18AXhARD9bY5t5qeu+qpSRJksa1TSN9TRk7glhK+W2GjcPPA89frXFYSvmpUsoT1l1KeT7w+urP9yfrKkmSpA0wbi7mK4E3Az3gU8BrSynLi90XETdW//924OxSym3AN6p5Pwk8r/r/346I28atZD+T6jX5C6JOnspsfs5sXstsnQY78z+bsp1507mVsxvYiBFOk59bJ1mpDcndnDRI7nM/m5MYmOrmNrKjm0uAPth8hxUWGj5h6/QOz57fydzk2XzSdR4YSOc+7mYvZMn119BNH9fk+ufXLrPUoMajqJ25/DKbgQ+pTNa4p86PVNMp4NdXKPPfgRur/78JeDHwM8DPAjPAt4EA3hURn6pTWUmSJDVv3FR71zIcw3AsEfFe4L31qiRJkpRkBHGiag1zI0mSpK1rErmYJUmSjin7IE6WEURJkiSNMIIoSZLazwjiRBlBlCRJ0ggjiJIkqfXsg/hEpZQ3AL8InAscAT4LvCEi7lxrWSOIkiRJW9NFwHuAZzNMVrIA/GUp5QfWWtAIoiRJaj8jiE8QES9c+ncp5QrgUeACYP9qy9pAlCRJmoBSyuXAhcB5wDOAE4EPRMTLVlnmdIbpjC8FTga+BdwMXBcRD0+4iicyvHu85nq9xSxJktpv0OBrfNcAr2HYQPzmWoVLKWcBnwdeAXwOeAdwL/A64PZSysmpra/teuALwO1rFWxFBHHme+N/Ogu7c4nSezuztYH+VK58NgF9fya5/mxyeGAw1XCS+2yVkseo1jbyhymnzj5kf6Ile2F3kuvv1OjlPdXN7fhx0/PpbTRuC9yaqnMdyG0gd5AGNb5wnX5umey1tfHrGDDo5jYyNZfcSPbSXSMM1FnIL6Pvez3wDeDLDCOJt65R/j3AU4HXRsQNizNLKW+v1vVW4JVL5r8FeOMa67w4Ij6xfGa1zucAz4mI3lo70ooGoiRJ0mo2w1PMEfH9BmEpZdWyVfTwEuA+4N3L3n4TsA+4opRyVUQcqOb/LvD+Napx/1G29Q7gpQwbj/eusTxgA1GSJOlYuLia3hIRI/HwiHislPIZhg3IvcDHqvkPAg9mNlJKuR745wwbh3877nI2ECVJUvs1HEEspdyx5M/ZiJhd5yrPraZ3r/D+PQwbiOdQNRCzSinvBq4ALgMeLqWcWr31eEQ8vtqyNhAlSVLrdQbNthAj4vwJr3JPNX10hfcX55+0jm28qpoub2BeB1y72oI2ECVJkragiKj99JoNREmS1H6b4CGVpMUI4Z4V3l+c/8gG1OUJHAdRkiRpDaWU2VLKiya4yruq6TkrvH92NV2pj2KjjCBKkqTWa3qYm4jYN+FVLg6Jc0kppbv0SeZSyokM0+EdBD474e2OxQiiJEnSBouIrwC3AGcAr1729nXAbuCmJWMgbigjiJIkqf02QR/EUsplDIeUAVgcUuZZpZQbq/9/MCKuXrLIq4DbgHeWUp4PfAl4JsMxEu9m7awpjTGCKEmStIYx+yCeB1xZvV5YzTtzybzLlxauoojnAzcybBheBZzFMGfy3oh4aFL1z9pyEcTuXK78wq46G8kVz+bC7KyZIXGZGs38QSf55HsyvyjJnKr1JOvUdJXq/NzK5s/t5soPsrlqszm6a+imE+jmDAYbcO5lt5E9VevkVU4u0llInkvJc6POx5zdxmAqt/5s3uNO8t8TyB/XpnMrTx/MlW+zzdAHMSKuZY3xBY+yzNeBV9SrVXOMIEqSJGnElosgSpKkbWgT9EHcSowgSpIkraGBcRA3NSOIkiSp9TZDH8StxAiiJEmSRhhBlCRJ7WcfxIkygihJkqQRRhAlSVLrNd0HcbsxgihJkrQGn2KWJElqm0GzIUSfYpYkSdK2tuUiiN353C+Iqfl8ztOFZP7PdF7V5K+gfo1PMZvveZDcRjqfdI3Us4OZ5ALJzyHbn2VQpwNM9idaMgdwNi/xoN/8b8Z+NpnsRuRWrpP7OGMj+kY1vI1O9lpZ45B2s3mMk/mes9elbo3zIn3ta9jUkfyJ0XC69MbYB3GyjCBKkiRpxJaLIEqSpG3ICOJEGUGUJEmt1+k39wKfYpYkSdIy2+0pZhuIkiSp/bzFPFHeYpYkSdIII4iSJKn1HOZmsowgSpIkaYQRREmS1H4Np9rbbowgSpIkrcFhbiRJklqm6T6IDnOzglLKvwfOB84BTgEOAV8DbgbeFREPHWWZZwPXAHuB44B7gP8E3BARY2esnDoybkno7Ry/LEB3LlceoJvMxZxNb9udS+bPnWo+B3C3Rs7qjP50jXyh2byt2U1sQArgxodl6G/ETuT0kwe2n80nXSevcvI4NZ6XuM55kf2sk9vYiPy8TW+j6etYHYPkvyczB3Ll+zvy+zzzmLdqlWsmvB7YDfwFcD3wAWABuBb4Yinlh5YWLqX8M+CTwHOBPwHeBewA3gF8cL0VlyRJ+r5Bg69tKHOL+UkRcXj5zFLKW4HfAt4AvKqa9yTgD4AecFFE3FHN/23g48DlpZSXRoQNRUmSpE1m7Aji0RqHi29V07OXzLsceArwwcXG4ZJ1XFP9+WuJekqSJK2oM2jutR1N4inmxSd6vrhk3vOq6UePUv6TwEHg2aWUZI9BSZIkNS39FHMp5WrgBGAPw4dWnsOwcfi2JcXOraZ3L18+IhZKKV8F/jFwJvClbB0kSZJGOA7iRNUZ5uZq4GlL/v4o8PKI+Psl8/ZU00dXWMfi/JNqbF+SJEkNSt9ijohTI6IDnAr8IsMo4P8opfzUpCpVStlXSrmjlHLH2qUlSdJ2Zx/Eyao9UHZEfBv4k1LKXzG8lfzHwI9Xby9GCPccbdkl8x9ZYd2zwGz15zb9aCRJ0mZRSpkF9kfE/mNdl42w7odUIuJrwN8A/7iUcko1+65qes7y8qWUaeBHGI6heO96ty9JktT0OIgRsW+7NA5hcrmYT6umi9lRPl5NLz1K2ecCxwO3RUQiR4okSZI2wlgNxFLKOaWUJ9wuLqV0q4Gyn8qwwfdw9daHgQeBl5ZSzl9SfhfwlurP31tXzSVJkir2QZyscfsg/hzw70opnwa+CjzE8EnmCxk+pPIA8CuLhSPie6WUX2HYUPxEKeWDwHeBX2A4BM6HgQ9NaickSdI219+mLbmGjNtA/EvgRxmOefhPGA5Pc4Dhwyk3Ae+MiO8uXSAibi6lXAi8EfglYBfwZeA3qvJjf5KZZObZlv6gxk327DY687nyg5nk+ntrl3nCMgu58r1dufL96dxBqvMLrTOXS0Lf29lsnTrz+ZNpMNNPL5Naf/b7MMgdU4BeP7ff/ew2atSpcdlzo5fbh1q7nDxhOwuT6mE0OdnLQDd57etP5bYwlbzGAHSSX+nsPmSv99OH8hfXqTkbWhqzgRgRdwKvya48Ij7DMPooSZLUHNu1E7X5fkJKkiTpmKo9DqIkSdJmsV0fJmmKEURJkiSNMIIoSZLaL/tUnlZlBFGSJEkjjCBKkqTWsw/iZBlBlCRJ0ggbiJIkqf0GDb6AUspsKeVFG7U7x5q3mCVJktYQEfuOdR02kg1ESZLUeh2fYp6oVjQQd35v/A/90Mm53Jl18hhPHUmWT65/fndy/fM18ufuSuZtTeYXzeYwrZMTOyu7Dxuy/k7DOXqnkuuvsQ/zvdyHd6SXu+ykr/n9GomMs/ud3URy/Z06OeKT14FBMi9xN7n+OtfWTafWdzpXvDuXXH021/N8rjxAb8cmzH+uDdeKBqIkSdKqGg4CbDc+pCJJkqQRRhAlSVLr2QdxsowgSpIkaYQRREmS1H4GECfKCKIkSZJGGEGUJEntZx/EibKBKEmSWq9j+3CivMUsSZKkEUYQJUlS+3mLeaJsIEqSJG1BpZRXA78KnFHN+mvgLRHxZ2st24oG4sKu8fNCzjyeW3c3mZMYYP6EXJ7KfjIZc3chVz6dnxfoJPPVduZyxymdW7nGmZg9rulcyRvwYzS7ic5CNndz7oMYTOVzVc33ch9EtvxgIXkyzed7zmS/D91krvGsOjmx8xeCZr/TdXKTZ/M3Z/NDZ79wtfah4etMZyG3wPSh7RNVq/N5bQPfAH4TuIdht8IrgZtLKT8dEV9cbcFWNBAlSZKUExF/umzWG0spvwY8C7CBKEmStrhN0AexlHI5cCFwHvAM4ETgAxHxslWWOR14M3ApcDLwLeBm4LqIeHiCdZsCXgKcANy2VnkbiJIkSZNxDcOG4eMMb+/+2GqFSylnMWysPRX4U+BvgX8KvA64tJRyQUQ8tJ4KlVJ+Argd2FXV68UR8b/WWs4GoiRJar9jH0AEeD3DhuGXGUYSb12j/HsYNg5fGxE3LM4spby9WtdbgVcumf8W4I1rrPPiiPjEkr/vYhjR3ANcDvxRKeWiiLhztZXYQJQkSZqAiPh+g7CUsmrZKnp4CXAf8O5lb78J2AdcUUq5KiIOVPN/F3j/GtW4f1md5hg2WAE+X0r5GYaNz/9ztZXYQJQkSa3X2QR9EJMurqa3RMTIM9gR8Vgp5TMMG5B7gY9V8x8EHlzndrvAzrUK2UCUJEnaeOdW07tXeP8ehg3Ec6gaiFmllLcBfwZ8neEDM/8HcBHw82stawNRkiS1X8MRxFLKHUv+nI2I2XWuck81fXSF9xfnn7SObZzK8Jb0qdX6vgj8bET8+VoL2kCUJElaQ0Scf6zrkBURL6+7rA1ESZLUfu3LpLIYIdyzwvuL8x/ZgLo8QT4nlSRJktbrrmp6zgrvn11NV+qj2KhWRBB3PD7+z4K5E5Jt3jq/OJLLdLIpUpPr788k108+5yndZP7pmVxfkO6RGrltd+S20Z9ObqOTW3+nl9+HTjLvNtnUsztyJ9Ogl//NuLCQy618JJuLOXtc63RDSi4zyOZXz57fNX66Z3O49xvOrdydz5WHfI7rbH7oqblk+UO58kD6s+smr8XTh3Pls9eM4TbaF4qD5p9iLqXMAvsjYv+EVrk4JM4lpZTu0ieZSyknAhcAB4HPTmh7KUYQJUmS1hAR+ybYOCQivgLcApwBvHrZ29cBu4GbloyBuKFaEUGUJEla1SYYB7GUchlwWfXnqdX0WaWUG6v/fzAirl6yyKsYptp7Zynl+cCXgGcyHCPxbtbOmtIYI4iSJEmTcR5wZfV6YTXvzCXzLl9auIoing/cyLBheBVwFnA9sHe9eZjXwwiiJElqv03QBzEirgWuzaw3Ir4OvGJdlWuADURJktR+DT9bExH7mt3C5uItZkmSJI0wgihJklqv6WFuthsjiJIkSWsopcyWUl50rOuxUYwgSpKk9ms4gmgfREmSJG1rRhAlSVL72QdxosZuIJZS/j3DwRzPAU4BDgFfA24G3rV0MMdSyhnAV1dZ3Yci4qV1KixJkqRmZSKIrwf+CvgL4DsMcwTuZTgg5L5Syt5qsMel/ifDBuRyd2YqOXVo/MGNZrI3zY/L32XvfC/3K6U/k1v/wu5kdvU6P5qSm+gnY839qVz5wVSNnUgu0l1Irr+TO0iD5DEF6CTH7RpkY/79ZKWyxwjo9XLfobmF5MmxkNuHznyNDyL54XWyxyl5rnZ6yfXXMHU4uc/JOnWSnxvAIHk5nj6YK9/dgOOa/uyS14DufO5kypYHmH58Aw5UEzbBQNlbSeafmydFxOHlM0spbwV+C3gDw5yCS32hGlVckiSptXxIZQVHaxwuvlVNz15/dSRJkmroN/jahibxkMrimEBfPMp7p5VSfhU4GXgIuD0ijlZOkiRJm0S6gVhKuRo4AdjD8KGV5zBsHL7tKMVfUL2WLv8J4MqIuD+7bUmSpKMxk8pk1RkH8WrgTcCvM2wcfhS4JCL+fkmZg8C/BX4aeHL1uhC4FbgI+FgpZXf9akuSJKkp6QhiRJwKUEp5GvBshpHD/1FK+d8i4q+qMt8BfmfZop8spVwCfBp4JvCvgOuPto1Syj5gX7WubBUlSdJ2YwRxompnUomIb0fEnwCXMOxj+MdjLLMA/GH153NXKTcbEedHxPl16ydJkjQp2y0X87pT7UXE14C/Af5xKeWUMRZZvBXtLWZJkjQZ/UFzL4bD3GyXMRBhcrmYT6um44yuubea3juhbUuSJGmCxuqDWEo5B/h2RDy6bH6X4cMoTwVui4iHq/k/xXCQ7P6y8s9nmJEF4P3rrLskSdKQfRAnatyHVH4O+HellE8zzLH8EPA0hk8mnwk8APzKkvJvB84updwGfKOa95PA86r//+2IuG2ddZckSVIDxm0g/iXwowyHtfknwEnAAeBu4CbgnRHx3SXlbwJeDPwM8LPADPBthllX3hURn8pUcv6E8e+E73gsN+R5fyqfL7Q/k1smmwM4m+d1qkb+3P6OXPlBsnw3mQ83m5MY8jmuO8kfl70duQUGyfJAOid2dy6bHzqb3Da/D71kbuW5heTgCb3suZT/TmfzNzed07czn18mm6c7nTM4m2y8Rgem7pFc+UEyrfdYnaCW6Nb4HHY9kruYzZ2QO67Th3Pf0ex1r9WMIE7UWJeUiLgTeM24K42I9wLvrVspSZIkHTuTekhFkiTp2BkMmnux/Ya5mUQuZkmSpGOr3+wt5ojY1+gGNhkjiJIkSRphBFGSJLXfoMbTjlqREURJkiSNMIIoSZLaz2FuJsoIoiRJkkYYQZQkSe3X8FPM240RREmSJI0wgihJktrPPogT1YoG4u6/Gz9B58F/sDO17t7OfN5WkudgNkfq9MHcBnq78vuQzTE6k8xh2tuVK9/P5lQln2M0m9+2m4yvd+fzAfnezmYvaNl8u4NscmigN5fb7yPdXBLtTjYXczKvci3J0TSyn0M3uc8AZPMGJzeR3Yd0rucapg/lyqfTSffy389BNv15ch+ydeoeye/Djkfn0stsB6WUWWB/ROw/1nXZCK1oIEqSJK2q4QiimVQkSZK0rRlBlCRJ7WcfxIkygihJkqQRRhAlSVL79c3FPElGECVJkjTCCKIkSWo/+yBOlBFESZIkjTCCKEmS2s8I4kQZQZQkSdIII4iSJKn9+kYQJ6kVDcSZ+74zdtkTDj45te7Dpx6frQ6943KB1+kDuaSkB5+Wy1U7mKrxpVhIFj8+l8Q0m+s5myMVoHs4V76fO6zpHMDZHN0AU0dy2xh0k3lYk/vQr3FFWDg+931YmMsl3p46lEtdBl4AAAvJSURBVLzRUedzONzs55DOe5zNqwwMkvnM0/mhk9eMTo0RR2Yeyx3XdH7oZJ2mD+VPpm6yTjOP5xaYPpQrv+uuB1LlAQaHkgmiN4nBwGFuJslbzJIkSWsopcyWUl50rOuxUVoRQZQkSVpVw7eYI2JfoxvYZIwgSpIkaYQRREmS1H4OczNRRhAlSZI0wgiiJElqv75PMU+SEURJkiSNMIIoSZLazz6IE2UEUZIkSSOMIEqSpNYb2AdxoowgSpIkaYQRREmS1H72QZyodjQQd+4Yu+iRpx2fW/VDh7O14dBpx+UW6HRSxaeOJBPW14iqL+zK1amTTEBPsk5Tdb7XuV2Ahq8dg6kay2TrNMjtdG9n8+dS53DuRsSgm9zp7Ll0JHti5Pe7O5/fRkadz2FqLruRZPGFXPnpQ/kvXDe5D9nv3MyBXJ2m5vP7cMLXDqbKHz5lV6r8YCr3wc0//ZRU+eFG8oto62lHA1GSJGk1Dedi3m7sgyhJkqQRRhAlSVL7DXyKeTWllDcA/zfw7oh4zVrljSBKkiRtYaWUvcA+4IvjLmMDUZIktd6gP2js1WallD3AB4B/CTw87nLeYpYkSZqAUsrlwIXAecAzgBOBD0TEy1ZZ5nTgzcClwMnAt4CbgesiYuwG3SpmgQ9HxK2llDeNu5ARREmS1H6DfnOv8V0DvIZhA/GbaxUupZwFfB54BfA54B3AvcDrgNtLKSdnD8Oy9f8K8KNVvVKMIEqSpNbbJLeCXw98A/gyw0jirWuUfw/wVOC1EXHD4sxSyturdb0VeOWS+W8B3rjGOi+OiE+UUs5l+FDKcyJiPrsjNhAlSZImICK+3yAspaxatooeXgLcB7x72dtvYvhQyRWllKsi4kA1/3eB969Rjfur6bOAU4C/XlKXKeC5pZRXArsj4shKK7GBKEmS2q99w9xcXE1viYiRykfEY6WUzzBsQO4FPlbNfxB4cMz13wzcsWze+4B7GEYWV81dZANRkiRp451bTe9e4f17GDYQz6FqIGZExCPAI0vnlVIOAN+NiDvXWr4VDcT/9uX/51hXQZIkbV5f+4v+f/nhplZ+8ODBh17+8pcvjcbNRsTsOle7p5o+usL7i/NPWud2amnDU8ydo71KKZ9f6b2t+nKft8drO+7zdt1v93l7vLbBPm8GZ9DgPh5//PGnRMT5S17rbRweExFx0ThZVKAdDURJkqStZjFCuGeF9xfnP7LC+42ygShJkrTx7qqm56zw/tnVdKU+io1qcwOxleHddXKft4ftuM+wPffbfd4etuM+a22LQ+JcUkoZaY+VUk4ELgAOAp/d6IoBdAaDTTGwpCRJ0pZRSrmIYSNwxVR7pZQ/Z/ik8koDZf/HiHjl0ZZtmg1ESZKkCSilXAZcVv15KvBChqnzPlXNezAirl5S/izgNobZVP4U+BLwTIZjJN4NPDsiHtqY2o9q8y1mSZKkzeQ84Mrq9cJq3plL5l2+tHBEfAU4H7iRYcPwKuAs4Hpg77FqHML/197ZxtpRVWH4iR+hWkENahs0RohUDSqgaJpqsLWxKaII2r7pD7ExMX5HwTQxomiLEusvo1TRaMR4/VFWSjQxIqK2UvAjRhHRAIrSoibSWhFCi1XbxB9rTzlnnHN65/aembv3WU9yMjl7z5ysdd+bmTX7Y63MRhAlPQe4ClgLnAr8Dc8UvsXM/tmnbZNA0l5gVF6nfWa2tENz5hVJ6/A6lecAZwMnM2YYPl2zAi84vhx4Ep5E9GvANWZ2dOJGnyBtfJb0PGDPmJ+73sw2TMLO+SIVmb8EuBB4CfBsPHP/b/Fs/tfVqwek67LVua3PJehcIekz+INuGV7e61/A/fg9elvTgy5nraGdzyVpHUwHWSTKhsZh2HuAVwIfBNZKelWfkfYEeRivvVjnYNeGzDMfw4Okg3hh8xeOO1nSm4AbgMPA9cCDwBuBz+ILeddP0th5opXPid/gD5s6x82CvwBYD1yLv8jtwuuDLgHeDHwVuEDSejM79pZagM6tfU7krHPF5cDtwA+A/cBiPPDbDLxT0nIz+0t1cgFaQ0ufEyVoHUwB2QSIwBfx4HDUQs6rgV4Wck6Yh8xsc99GTIDL8SDpj/io2q5RJ0o6BfgKcBRYaWa/TO1XAjuBdZI2mNn2iVt9Ysza5wHuyFj/PwAXAd+tjZpdAfwCeAseON2Q2kvQuZXPA+Ssc8UpZna43ijpauAK4CPAe1NbCVpDC58HKEHrYArIYg1iGj1cA+wFvlDr/gRwCLhU0uKOTQvmiJntMrN7G0ZSmlgHPBPYXj1I0m8cxkflAN4zATPnlZY+Z4+Z7TSz7zQUoX8A+FL6unKgK3ud5+BzMTQFSlVXOp450Ja91tDa5yDIilxGEFel480NN95HJP0EDyCXM4eC1guckyS9FXguHgjfCezOYX3OPPLadLypoW83nidqhaSTzOzf3ZnVCadJehe+5vYfwM/M7M6ebZoP/puORwbaSte5yeeKUnUGnzYGv3dVlK51k88VJWsdFEQuAeIL0nFUNvF78QBxGeUFiEuBmVrbHklvN7Nb+jCoB0bqb2ZHJO0BzsJ3it3dpWEd8Lr0OYakHwMbzezPvVh0gkh6AvC29HUwQChW5zE+VxSjs6RNwFPwMmHnAa/GA6WtA6cVpfUsfa4oRuugbLKYYuaxeoQPj+iv2p/WgS1dch2wGg8SF+O7Ir+MFyX/nqSz+zOtU6ZR/0eBTwIvB56ePtW6xZXAjzJeUrEVeDFwo5l9f6C9ZJ1H+VyizpvwpT+X4YHSTcAaM/v7wDmlaT0bn0vUOiiYXEYQpxIz21Jr+h3wbkkH8VxJm/GUGkFhmNl+4OO15t2S1gC34fmy3oHnysoGSR/A/3fvAS7t2ZxOGOdziTpX6bckLQFW4MHxryW9wcxu79W4CTEbn0vUOiibXEYQq7fJp47or9of6sCWhUC12P38Xq3ojtA/YWZH8HQpkJn+kt6PP/zuAlaZ2YO1U4rTeRY+N5KzzhVmts/MvoUv/zkV+MZAd3Faw3F9HnVN9loHZZJLgPj7dFw2or/aKTZqjWJpVNMW0zIdMVL/tLbrdHzh/31dGtUj2ekv6TLgGnwUfFXa1VunKJ1n6fM4stO5CTO7Hw+Qz5L0jNRclNZ1Rvg8jiK0DsoilwCxyhe3RtKQzZJOxpOqPgr8vGvDemJ5OmZ585wDO9NxbUPf+cCTgZ9muttxLmSlv6QP48mP78ADpf0jTi1G5xY+jyMrnY/DaelYZV8oRusx1H0eR0laB4WQRYCYahXejG/OeF+tewv+1jVjZoc6Nm1iSHpR04LlVK5pW/r6zU6N6o8dwAFgg6TzqkZJi4BPpa/X9mHYpJD0svrLUGpfjSfchgz0T4mPtwK/Alab2YExpxehcxufC9J5maT/my6W9LiUNPpZeMBXlUTNXuu2PpeidTA9ZFOLuaHU3t34ot5V+NTyipJK7UnajC9s343X9nwEL+B9IbAIuBG4xMz+05eNJ4Kki4GL09eleFHz+4BbU9sBM9tUO38HXpZrO16W6yI8XcYOQAs9AXUbn1PaizPx//m/pv6X8lj+uCvNrHqQLkgkbcQL0B/Fp1qbdqzuNbOvD1yTtc5tfS5BZzg2nf5pfLPFHjy/3xJ8l+4ZwAN4sHzXwDW5a93K51K0DqaHbHYxm9mf0pvmVfi0xOvxeqefA7YMvJmWwi78RnkuPoW+GF+wfRueF3FmId88Z8E5wMZa2xnpAx4UHwsQzezbkl4DfBQvV7YIL1n3IeDzmfwt2vg8g+9QfwVwAfBEYB9eoWGbmd3Kwuf0dHw8nv6jiVvwgAooQue2PpegM8APgefjKV7OxdPTHMJf3mdw7YY26BSgdVufS9E6mBKyGUEMgiAIgiAIuiGLNYhBEARBEARBd0SAGARBEARBEAwRAWIQBEEQBEEwRASIQRAEQRAEwRARIAZBEARBEARDRIAYBEEQBEEQDBEBYhAEQRAEQTBEBIhBEARBEATBEBEgBkEQBEEQBENEgBgEQRAEQRAM8T+e+1ituzaHeAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "stacked_matrix = np.stack([df[vector_names[\"ETA\"]], df[vector_names[\"PHI\"]]], axis=1)\n", "\n", "# get constituent with second highest p_T\n", "rotation_vectors = stacked_matrix[:, :, 1].copy()\n", "rotation_vectors /= np.linalg.norm(rotation_vectors, axis=-1)[:, None]\n", "\n", "# rotate to align that maximum\n", "rotation_matrix = np.stack([rotation_vectors, rotation_vectors.dot([[0, 1],[-1, 0]])], axis=-1)\n", "rotated_matrix = np.einsum('ijl,ijk->ilk', rotation_matrix, stacked_matrix)\n", "\n", "# plot rotated jets\n", "average_rotated_jet, x_edges, y_edges = \\\n", " np.histogram2d(rotated_matrix[:,0,:].reshape(-1), rotated_matrix[:,1,:].reshape(-1),\n", " weights=df[vector_names[\"PT\"]].values.reshape(-1) / len(df), bins=n_bins, range=plot_range,\n", " )\n", "plot_jet_image(average_rotated_jet)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAogAAAIVCAYAAABSsQ4nAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3XuQJFd94PtvVXXP9MxoRhKSQVdmd3kY4Q0/kG15EcIBEgrLwl7ZYIvfKm7Ayty1xxhzeRjdcNiAkTDs4ogb2CDA9viBvMIRcAxhORRmMRiEBQiuA1iMWQMCxEs2L71H8+yuqvtHVmu7Wv2oX01md2f39zNRUVNZJzPPyazKPvXLzPPrDIdDJEmSpEXdza6AJEmSthY7iJIkSRpjB1GSJElj7CBKkiRpjB1ESZIkjbGDKEmSpDF2ECVJkjTGDqIkSZLG2EGUJEnSmJkmFx4RjwZeA1wOnAV8E7gJuK6Ucm+T65YkSdJ0Ok2l2ouIxwO3AY8E/hr4PPAfgEuALwBPLaXcPcGizAUoSdLW1dnsCgz7dw47vUc3uYqvAY9pcgVbTZMRxLdSdQ5fXEq5fnFiRLwBeBnwOuAFkyzoX//1Xxup4LSufvRLNrsKUnt1kn9LzBcvPeTP73xjqnzTf6/eP/jLRpc/qU7v0Qy+dV5jy++ec/u/a2zhW1Qj1yCOooeXAV8F3rLs7VcDR4DnRcS+JtYvSZJ2lkGD/wAi4lBEXLHJzdwwTd2kcsno+X2llMHSN0oph4GPAnuBCxtavyRJUm1KKQdLKTdvdj02SlMdxCeOnm9f5f0vjp6biwdLkqQdoz8cNPbYiZrqIJ4+er5/lfcXp5/R0PolSZI0pUaHuZlWRBwEDgKUUja5NpIkaasbOOhJrZrqIC5GCE9f5f3F6fet9GYp5RBwaPTSPS5JkrSBmuogfmH0vNo1hk8YPa92jaIkSdLEFu82Vj2augbxltHzZRExto6I2A88FTgKfLyh9UuSJNVmpw1z00gEsZTy5Yh4H9VYiL8GXL/k7euAfcAflVKONLF+SZK0s/QbHlS/lHKw0RVsMU3epPJCqlR7b4qIS4HPAU+mGiPxduAVky4oMxL8VhtlXu3Vmcl9PYYLCw3V5H/L1olO8iTBFMM5dPbsSZUfPPhgqnzvzDNT5acxOHq00eUPT5xodPnaOfybpY3S1ClmSilfBi4AbqDqGL4ceDzwRuDCCfMwS5IkrWvAsLHHTtToMDellG8Az29yHZIkSf0d2pFrSmMRREmSJLXTlhwoW5IkKWOnngpuihFESZKkdTjMjSRJUss4zE29jCBKkiRpjBFESZLUeibaq5cRREmSJI0xgihJklrPcRDrZQRRkiRJY7ZdBNE8lVtEt5crP+g3U48lemeflSo/uP9wqnxn9+5Uecjn6O2ecXqq/OBwLu9x94xHpMoDDB88kirfO/vs3ArOPJAq3jk5n1s+QDIXc6eX+3x39u7Nld81mypfzZT7vd+/9978OtQ6f37nGze7ChumbwCxVkYQJUmS1uE4iJIkSS3T9F3MjoMoSZKkHc0IoiRJar0+nc2uwrZiBFGSJEljjCBKkqTWG3gXc62MIEqSJGmMEURJktR6XoNYLyOIkiRJGmMEUZIktZ4RxHrZQZQkSa03GDbbQYyIQ8DNpZSbG13RFmEHUZIkaR07LZOKHUQ1Y9BvfBW97/me3AwnTuSWf/YjcsvfNZsrD9BPJofq5H4hdzu5y4w7e/ekygPwiNNz5bvJS5/nF1LFh3vncssHeueek5vh2PFc+ZnkobaXvzx8eORobhVnnpkq37//gVT57p78fhgcOZKeR2u7+tEvaXT57x/8ZaPLz/AUc728SUWSJEljjCBKkqTW6xvzqpVbU5IkSWOMIEqSpNZr+i7mncYIoiRJksYYQZQkSa3nXcz1MoIoSZKkMUYQJUlS6/WHxrzq5NaUJEnSGCOIkiSp9QYNx7zMxSxJkqQx5mKWVtDdty9VfpjMe9xN5oWdyjnJ3M1HjqWKD3fvyi0fYDjMlU/mMR6eflqu/BQ/wDvH53MzJNvQP2NvbvEn83nAhzPJnNWzyUPnTC+3/AemyEncS65jf+6zMTO3O1V+8MDhVHnIH2cG2ZzYG5AjXpvHu5jr5TWIkiRJGmMEUZIktZ53MdfLrSlJkqQxRhAlSVLrDbwGsVZGECVJkjTGCKIkSWq9vjGvWtlBlCRJredNKvVya0qSJGmMEURJktR6Tafa22ncmpIkSRpjBFGSJLVef+gwN3VqtIMYEV8F/t0qb3+7lHJOk+vfMjrJD202P+8Uuntz+W07u3J5htPl986lygMwyG2nYXI/DM46kCrfObGQKg8w3JPcTguD9Doal8wzPNgzmyqfza28sD+XMxhg5oFcTt/sfkvbk29DOj908vsw3J/Lk9xZyOc9Htx7b24dyTYPk2nDzd2snWwjIoj3A7+/wvQHN2DdkiRpB2h6mJuIOATcXEq5udEVbREb0UG8r5Ry7QasR5IkqRGllIObXYeN5DWIkiSp9QaOg1irjegg7o6I5wL/FjgCfAa4tZTixR2SJElb0EZ0EM8Bblw27SsR8fxSyt9vwPolSdI2Z6q9ejW9Nd8GXErVSdwH/BDwR8BjgP8REU9qeP2SJElKajSCWEq5btmkzwIviIgHgZcD1wLPXj5fRBwEDo6W0WQVJUnSNuA4iPXarJtU/pCqg/i0ld4spRwCDo1eNj8ooCRJkh6yWR3E746ecyOvSpIkrcBczPXarK154ej5jk1avyRJklbRWAQxIv498PVSypFl0x8DvHn08u1NrV+SJO0cfcdBrFWTp5j/E/DyiLgV+BpwGHg88DPAHPAe4P9tcP1bR8O5lbtz+TzGnf2n5concysPjx1LlZ/GcHcup+9wdzJvay+ZY/jMfH7ewe7cOjoLyfzT3dxF29Pkeh7uSh6U+8nvQy+ZQ3sm/0di4UDuO9Sdzw3j2j2WSwI8Va7n5L4bzuY+e93Due/08PTcMQagtyv5nT5xIlf+wSPrF1picNzherVzNdlBvAV4IvAjwFOprje8D/gI1biIN5ZSvAFFkiSdsgHexVynxjqIo0GwHQhbkiSpZczFLEmSWs9rEOvl1pQkSdIYI4iSJKn1zMVcLzuIkiSp9Qam2quV3W1JkiSNMYIoSZJaz1PM9XJrSpIkaYwRREmS1HoDh7mplVtTkiRpHRFxKCKu2Ox6bBQjiJIkqfX6DafaK6UcbHQFW4wdxA3Q3b8/N8P8fK78bC7BPUCnmwseD48ezS3/9AO55c/tSpUHGOzbnZthmEv9PZjt5RY/kw/I92dz88zML6TKZ9vQ6eUPsMPkPF0GqfKD3gac6EiuYpDc153kfhjsypUH6Czktmv3ePI4k7Urf1zKfUOBPbljQCd5DJjmkzdcyH1Hs+WljWIHUZIktZ7XINbLrSlJkqQxRhAlSVLrNX0N4k5jBFGSJEljjCBKkqTW8xrEerk1JUmSNMYIoiRJar2+EcRauTUlSZI0xgiiJElqvYF3MdfKCKIkSZLGGEGUJEmt5zWI9bKDuAE6e/fkZugn8xL38nlbh2fmciV3jp9MlR/sz7V5sCeftzWrP5dbRzZv6zQ5gzvJ5LP9Pbmv7CCZ63ma42v3ZC4H8Py+XBs6/dxGGs7kTzMtdHLfod7xfqp8f2+uzdltCtBJ7uvB7mSd9uaOS50TuW0E0O0n2z3Ile8c2J8qPzyZz1fd3ZM79vXvvTe9Dmkj2EGUJEmtNxh6DWKd7CBKkqTW63tbRa3cmpIkSRpjBFGSJLWep5jrZQRRkiRJY4wgSpKk1hsY86qVW1OSJEljjCBKkqTW63sNYq2MIEqSJGmMEURJktR63sVcLyOIkiRJGmMEcRrdXN7WzkxyM+/K5TwdHtiXWz6kc5gOu7lfZtk8r4PZfD7p/u7k75tsG3rJ8rvyv147ydSzvRO5GRb25rZRdz6ZHJp8vudsm/tzyTaczLeh083Nk27DbO6zMcx+tsnnrM62oZPMk9w7uZBbATDYP5cq3z2ayxFPMqd8d9/e3PKB4dFjuXXsz+WHHhw+nCq/kwymSSavVbk1JUmSNMYIoiRJar0+XoO4XEQ8DbgG+DHgXOD5pZQbJpnXCKIkSdL2dBrwWeAlQOr6ByOIkiSp9byL+eFKKe8B3gMQETdk5rWDKEmSVIOIuBJ4OnA+8CRgP/AXpZTnrjHPo4HXAJcDZwHfBG4Criul3Nt4pVfhKWZJktR6g2G3sUfCK4EXUXUQ/2W9whHxeOCTwPOBfwB+D7iD6pTwxyLirOx2qIsRREmSpHq8DLgT+BJVJPGWdcq/FXgk8OJSyvWLEyPiDaNlvQ54wZLprwVesc4yLymlfChd82XsIEqSpNYbbIG7mEspD3UII2LNsqPo4WXAV4G3LHv71cBB4HkR8fJSypHR9N8H3r5ONb6eqPKq7CBKkiRtvEtGz+8rpYyNRF9KORwRH6XqQF4IfGA0/S7gro2onB1ESZLUev323cX8xNHz7au8/0WqDuJ5jDqIWRFxGvB9o5dd4N9GxPnAPaWUNSONdhAlSVLrNZ1qLyI+seTloVLKoVNc5Omj5/tXeX9x+hmnsI4LGL8O8rrR48+BX1xrRjuI0xj0U8WHx4+nyndOS+ZWPjmfKw8M9+Vyng5O35Mq39+T/Gjl0+fmcwBn17EB9/gPkymo5/flZsjmJZ4qn3RyOw2TOa6zx/zs8mGKHNfJ/dBZSH74Ovk2ZPddts3D5Pdt4YzcMQOgezx3LBvsns0tf2F3qjzJ5QPpq+AG996XXoc2Rynlgs2uQ9boZpWpQqsT/RWfclyfi6hu974Q2EMVKv0z4PpSSq6HJUmStIYWDpS9GCE8fZX3F6dvyq+IScM8r6TqGD5Idfv2969VOCJ+Dng3cBx4J3APcAXV+D5PBZ4zZX0lSZK2gy+Mns9b5f0njJ5Xu0axUZOeM3gZVQMOAL+6VsGIOAD8MdAHLi6l/JdSyv9DFX38GHBlRFw1fZUlSZLGDeg09mjI4rWBl0XEWH8sIvZTBdSOAh9vqgJrmaiDWEq5pZTyxVLKJBfSXAl8D/COUspDF3SWUo5TRSJhnU6mJEnSVhIRhyLiirqWV0r5MvA+4DHAry17+zpgH3DjkjEQN1QTN6k8Y/T83hXeu5WqN3xRROwupZxoYP2SJGmHafoaxFLKwfXKRMSzgGeNXp4zen5KRNww+v9dpZRrlszyQuA24E0RcSnwOeDJVGMk3s76WVMa08R9mquO61NKWQC+QtUxfVwD65YkSdos5wNXjx4/NZr2uCXTrlxaeBRFvAC4gapj+HLg8cAbgQtLKXdvSK1X0EQE8ZTH9YmIg1QpZiil1FczSZK0LTU9DuIkSinXAtcm5/kG8Pwm6nMqtuQ4iKPBJxcHoJxihDxJkiRNq4kO4pYe10eSJG0/LRwHcUtrIh676rg+ETEDPBZYAO5oYN2SJEk6RU10ED84er58hfeeBuwFbvMOZkmSVJemx0Gse5ibra6JDuK7gLuAqyLiobyFETEHvHb08g8aWK8kSVIjSikHSyk3b3Y9NsqkuZgnHtenlPJARPwyVUfxQxHxDqpUez9LNQTOu6jS7+0YnV27cjP0ernys83fa9Sfy61j2MldCzKczV87Muzl5hkkN9NgJrf8ziC3fIDe8dxM8/uS27WbbMMUt4TN7839zuydTK4kWbwzyDeivyvXhu5Cbh39uWaXD9Cdz82T/f4sJI8zveP9VHmAYWc2VX7mcO5E1GDfXKp898FjqfJA+vjd/Tfnpsr37/h6qjyD/H5oK69BrNekR63suD43AU+nGhj7F4D/G5gHfh24asKMLJIkSdoEE/0knHJcn48CP52vkiRJUo4RxHpt/qiSkiRJ2lK25EDZkiRJGUYQ62UEUZIkaR07bZgbI4iSJKn1mo4gllIONrqCLcYOoiRJar3FAa1VD08xS5IkaYwRREmS1HrepFIvI4iSJEkaYwRRkiS1nhHEem27DmJ3//5U+c7MFJuglwy87srlFx0mc54O9iZzPQP0m812OEjmVu7v2XrB7PSxZoomLCTb3W04rWo2/zRMkYM6uYr+rmT+6YXm/0gMk/u6m/y+Zb8/QDpndXZH5PNPJ3PKA7OHcx+m4Uzy+3P0ZG75u6c4tmZ99+5U8W7y78lgipzYEmzDDqIkSdp5mo4gRsQh4OZSys2NrmiLsIMoSZK0DsdBlCRJahmvQazX1rvwS5IkSZvKCKIkSWq9oRHEWhlBlCRJ0hgjiJIkqfXMxVwvI4iSJEkaYwRRkiS1nncx18sIoiRJksbYQZQkSa03HHYae0CVSSUirtjkZm6Y7XeKeX4+VbxzIJe7GYBkfs7hXK78/Fn7UuV7xxdS5QHmH7E7VT6bo3fY3YB8uJ1knfKpYXPLnyZ97hS5j5uUzbcL0N+d3Q/JHMDzzecx7ia/QvnvQ2750+gkP98zx5J5j7Pf6WH+s3TiEblj5cyRXKN7c7k8xt2jub8n1Upyx9ZOL9eGzq5kfujjx3PltSozqUiSJLWM1yDWy1PMkiRJGmMEUZIktZ6ZVOplBFGSJEljjCBKkqTW8xrEetlBlCRJrTfFjfNag6eYJUmSNMYIoiRJar0BnmKukxFESZIkjTGCKEmSWs9hbuplBFGSJGkd5mJuuWyeyuHJfK7N4VkHcuVnk/lCHzyZKr9wRi73J0yRSzaZP3ewK1k+uXzIt6EzyN3ilm3zQjInMUAvmWc4/QM5mz43md96Gtk2LMzlfsd2+/lbGQfZI2F6Fcn801O0IbudmpbNbz2Nhb3JPMbJ21y7J6b4PmT33VlnpooP/+VbqfKd2WTuZmA4n/sbtFU0PczNTsvFvLWOKJIkSdp02y6CKEmSdh7HQayXEURJkiSNMYIoSZJaz7uY62UEUZIkSWOMIEqSpNYzglgvI4iSJEkaYwRRkiS1XtPjIO40RhAlSZI0xgiiJElqPcdBrJcRREmSJI0xgihJklrPu5jrNXEHMSKuBJ4OnA88CdgP/EUp5bkrlH0M8JU1FvfOUspVk667s3v3pEUZZpOx9/JB1M6Dx1PlB6fNpcoPd8+myrMBYfXBbLNfvOEUsezOINfwziC3/EFyN/Tm8zsi2+5hN7cfFnIfPZhiNzd9TO4kN2t3fppGJNexkF9FavnHmv8sZfd19rPXT5YH6C4k251cRSe5/P6+5EEA6PWTx6VO7sPUOfdRufLfvitVHqA/fzI9j7afTATxlVQdwweBO4Hvn2CefwRuWmH6ZxPrlSRJWlPTEcSIOATcXEq5udEVbRGZDuLLqDqGX6KKJN4ywTyfLqVcO0W9JEmSJtb0ybRSysGGV7GlTNxBLKU81CGMiGZqI0mSpE3X9E0q50bErwBnAXcDHyulfKbhdUqSpB3Gm1Tq1XQH8SdHj4dExIeAq0spX2943ZIkSZpCU+MgHgV+B/gx4MzRY/G6xYuBD0TEvtVmjoiDEfGJiPhEQ/WTJEnbybDBxw7USASxlPId4LeXTb41Ii4DPgI8Gfgl4I2rzH8IODR6uUN3jSRJ0ubY0EwqpZQF4E9GL5+2keuWJEnb13DYaeyxE21Gqr3vjp5XPcUsSZKkzbMZqfYuHD3fsQnrliRJ21AykZrW0UgEMSJ+NCIetuyIuJRqwG2AtzexbkmSJJ2aTC7mZwHPGr08Z/T8lIi4YfT/u0op14z+/wbgCRFxG1X2FYAfBp4x+v+rSim3Tbru4YkTkxal+2/OnbgswLDXS5UHGO7ZlSo/2JVbx3Cm+TP/2byq3WSe4cGu3PKz+XYhn7d1YS63XdO5m6eIxw87yfy2uY8e/bnk8idPe/6Qadqd0Uumhe3lUqWP5sl9lobJw0b2szS/J38M6J1M5hlO5lfP5p+e7nORq9PskX6q/MLe3I6bOZpbPsBwd24dg14uYXr3/qOp8kzxN6534EB6nq1gp14r2JTMV/h84Opl0x43egB8DVjsIN4IPBv4ceCZwCzwbaAAby6lfHjaCkuSJKlZmVR71wLXTlj2T4E/na5KkiRJSUYQa7UZdzFLkiRpC9uMu5glSZJq5V3M9TKCKEmSpDFGECVJUvsZQayVEURJkiSNMYIoSZJaz3EQ62UEUZIkSWOMIEqSpPbzGsRaGUGUJEmtNxx2GnsARMShiLhik5u5YVoRQeydfVZjy+48mMxrST4X83A2mZtzNtdvnz8tvxs7yQGjBjO5azuyuZ6nMegl8z0n8+H2Z3Pls9uomidXfmFPbh3z+5LL35v/CT5Mbqdh8mdp71iuzTPJ+kB+3+063GyoYuZYfvn9ZP7zpnMrZ3OlAwyS+aHnT8sdW3snkgeBKQySuZh7/eR26iZzyp++P7d8YHjf/el5doJSysHNrsNGakUHUZIkaU2eYq6Vp5glSZI0xgiiJEnaBhzmpk5GECVJkjTGCKIkSWo/r0GslRFESZIkjTGCKEmS2s8IYq2MIEqSJGmMEURJktR+Q+9irpMRREmSJI0xgihJklovmUFW62hFB3F49NjEZTuPOCO38F1TJG7NGiQ/tckoeSe7fGBhTy54PEzmPe7O5+o0Te7mbK7XfsOf9mnObmTz2/bncuUX9uW20fyBfK7a4d5+bobkduofy+W2Hd4/xYmR5M5bWMiV331/brtm81VD/jjQO7n18rFn29DJ5jHOFk8e9wC6J5Pfh4Xkd24m933gSLI+QGfPnvQ82n5a0UGUJElakxHEWnkNoiRJksYYQZQkSe3nXcy1MoIoSZKkMUYQJUlS63W8BrFWRhAlSZI0xgiiJElqPyOItbKDKEmS2s+bVGrlKWZJkiSNMYIoSZLaz1PMtTKCKEmSpDFGECVJUvsZQaxVKzqInb3NJQ4fzuY3QTqBe7Z4MmH9NF+KYTJ23N+VLD+ba3R3Ibf8adbRGeSWP+zlyg9mc+UBht1cG/pzueX353IfjuH+/I54ynl3pOfJ+PgXH5cq3z+e3xG9mdx+yH42Fnbnlj9zIv+lzn6+F+ZydeqdTNapk79hIPt9SA98l1x8+lgPDHu5g+tgb+7z2j1yPFV+uGd3qjzA8Bv/mp5H208rOoiSJElrMoJYKzuIkiRJ21BE/Cbw88ATgRPAx4HfLKV8dr15vUlFkiS137DT3KO9LgbeClwEPANYAP4uIh6x3oxGECVJkrahUspPLX0dEc8D7geeCty81rx2ECVJUutl71lqQkRcCTwdOB94ErAf+ItSynPXmOfRwGuAy4GzgG8CNwHXlVLurbmK+6nOHq+7XE8xS5Ik1eOVwIuoOoj/sl7hiHg88Eng+cA/AL8H3AG8BPhYRJxVc/3eCHwa+Nh6BY0gSpKk9tsCEUTgZcCdwJeoIom3rFP+rcAjgReXUq5fnBgRbxgt63XAC5ZMfy3winWWeUkp5UPLJ46W+RPAT5RS+us1xA6iJElSDUopD3UII2LNsqPo4WXAV4G3LHv71cBB4HkR8fJSypHR9N8H3r5ONb6+wrp+D7iKqvM40eC1dhAlSZI23iWj5/eVUsaGui+lHI6Ij1J1IC8EPjCafhdwV2YlEfFG4D9RdQ4/P+l8dhAlSZI23hNHz7ev8v4XqTqI5zHqIGZFxFuA5wHPAu6NiHNGbz1YSnlwrXntIEqSpNZr+i7miPjEkpeHSimHTnGRp4+e71/l/cXpZ5zCOl44el7ewbwOuHatGSfqII7uonk28DPADwHfC5wE/gl4G/C25eHR0XwXUd3RcyGwh6o3/GfA9ZNcIPmQzuQ3W3dOnJy4LMDgzP2p8gCDuVzuzMGu3M3i/WT5QTLPK+S/SL3cZmWQ/OnRn6IN3YVcIwbJvKrZfLvTHJyy+ZuzObSzy+/OJBP6Av9mb24Uht991KdT5b/vq49JlR9O8bN3mN0PDacMTuckJv/ZyF7Qn/1Op3M3Q3pcjex2WtiTzN+ePMYAdJPHSobJ49j+XEL27v1HU+UBuuees36hHaiUcsFm1yGrlDL1KN+Tfh2fA/wx8GTg/6O6SPLdwA8CfwKUiBirRET8HHAr8DTgr4A3A7uobuF+x7QVliRJepj2ZVJZjBCevsr7i9Pva6oCa5n0N+HtwM8Cf7M0UhgRv0U1bs8vUOX6e/do+gGqDmUfuLiU8onR9FcBHwSujIirSil2FCVJ0k70hdHzeau8/4TR82rXKDZqoghiKeWDpZSbV7jL5lvAH45eXrzkrSuB7wHesdg5HJU/TnXKGeBXp620JEnSmGGDj2YsDolzWUSM9cciYj9VOryjwMcbq8Ea6sikMj96Xlgy7Rmj5/euUP5WqgZfFBG7a1i/JElSoyLiUERcUdfySilfBt4HPAb4tWVvXwfsA25cMgbihjqlu5gjYgb4z6OXSzuDq966XUpZiIivAD8APA743KnUQZIkqelMKqWUg+uViYhnUQ0pA7B4t89TIuKG0f/vKqVcs2SWFwK3AW+KiEup+kRPphoj8XbWz5rSmFMd5ub1VDeqvKeU8rdLpp/SrdsRcZBqBHFKKadYRUmStN01PczNhM4Hrl427XGjB8DXgIc6iKWUL0fEBcBrgMuBnwa+SZUz+bpSSm6YiBpN3UGMiBcDLwc+TzUIY21GYwstji+0NXa5JEnSGkop17LO+IIrzPMN4PlN1OdUTNVBjIgXUfVu/xm4tJRyz7IiW/rWbUmStM0YTqpV+iaViHgpcD3wWaq8ft9aodiqt26Prlt8LNVNLRMljJYkSdLGSXUQI+I3qAa6/jRV5/A7qxT94Oj58hXeexqwF7itlHIis35JkqQVtW+Ymy1t4g7iaJDr1wOfpDqtfNcaxd8F3AVcNbr4cnEZc8BrRy//IF9dSZKkjVf3MDdb3aS5mK+musOmD3wYeHFELC/21VLKDQCllAci4pepOoofioh3APdQZWN54mj6Oyet5PD48UmLwjCXS7azK5mEFejM5S7dzObmXNibSwLcnSLnaTYvcVYnmdK3dyLfhmyu5KxsG6b5ldn0XXfdhfXLLNVfyA+N+r/u/z9S5V/cz33n+ieS34d8Omk6k2eGr8pncysnP6vJwxiQ/7x2BrlGZNs8mJ0iR3yyDd353AwbkV89m1s5vR/mcx/WTj//YRre287bA5o+nk4yzM2J//UQAAAgAElEQVR2MmlP57Gj5x7w0lXK/D1ww+KLUspNEfF0qjF8fgGYA74E/DrwplLKDg3aSpIkbW0TdRCnuW17NN9Hqcb0kSRJas6w2TNjO00dqfYkSZK0jZxqJhVJkqTN54VrtTKCKEmSpDF2ECVJUut1hs09wGFuJEmStIzD3EiSJLWN1yDWylPMkiRJGmMEUZIktV7TmVR2GiOIkiRJGtOKCGL39AMTlx3O7UouPN9HHnZyo7X3d+cSgM4czeXazOZuBugl8zfP72t4hPoNGAC/N59rc39XslJTtKGTzJWczevdnU9+Vo/lP0t3H9ubKn9g9rTcCo7nvqPZNlfz5MpnczenEzxMEQnJrqOXzT+dTOk7nCL8kG1D9juazvmezJMM0J/LfYc6R3PrGMzlcpkzRV7v7rHj+Zm2AiOItTKCKEmSpDF2ECVJUvsNG3zgOIiSJEmt0/RNKjttHEQjiJIkSRpjB1GSJElj7CBKkiRpjNcgSpKk9nOYm1oZQZQkSdIYI4iSJKn1TLVXLyOIkiRJGmMEUZIktZ8RxFoZQZQkSVqHmVS2ok4iIXumLDDcsytZGegdPZkqP0gmb8/+CuosTJFQfm/ut0E3uY5hN7cf+sn88wDkVpE2SO42Bvl1dIa57do7mWv04Fiy/Ez+N+M9D+xLle8mLxTqHcvVaSbZZoDufLJ88vvQXcgtf6rPdvIwMEzu6mGyTr35/HFpYXduJb3coZhh9lDcy++I7LGveyL34RjO5hrRGeQPTMPT9qbn2RLMpFIrI4iSJEka044IoiRJ0hq8i7leRhAlSZI0xgiiJElqPyOItTKCKEmSpDFGECVJUut5DWK9jCBKkiRpjBFESZLUfkYQa2UEUZIkSWOMIEqSpPYzglgrI4iSJKn1OsPmHmAu5q1pYfJclZ2jubyTw935XMwLZ8ylynfmk3VK5sNd2JtNGgydQe6nVn9Xrk7Zu8k6U+QxzuaS7e/K5nlNbqNkHlmAYTJ3eCeZ07ebzFXbO5Fvw8l7c9+H7yY/G71kbuVOMq8y5LdrNi/xIHmkzeYYBtL5mwczyZzByfzT/dn8Z6mXzYmdzPeczX0+TG4jgJmj/dwMyWNA7/5jueV/8zu58kBnXy6/+k6x03Ixt6ODKEmStBZPMdfKU8ySJEkaYwRRkiS1nxHEWhlBlCRJ0hgjiJIkqfVMtVcvI4iSJEkaYwRRkiS1nxHEWhlBlCRJ0hgjiJIkqfW8BrFeRhAlSZI0xgiiJElqPyOItZqogxgRZwHPBn4G+CHge4GTwD8BbwPeVkoZLCn/GOArayzynaWUqyat5PBYIvfkI8+evCzQOX4iVR5g5sFc4PXE2XtS5bNh8tkjydyfwPxpufzNvWTO02we1mlODWRnyeZtHfaSbZgin3Q2J3a332ydulPkYu4ez30f5o/k8p/Pnczm0E4VB/LbadjN1WnmeDJncP4rveVM833IfkcbN0V1uidyO2+wK3cs7szn4jrduVyudIDBffen59H2M+kn7TnAHwDfBG4Bvg48Cvh54E+AZ0bEc0opy79O/wjctMLyPjtddSVJklawxX5ftN2kHcTbgZ8F/mZZpPC3gH8AfoGqs/juZfN9upRybQ31lCRJ2jQRcQi4uZRy82bXZSNM1EEspXxwlenfiog/BF4HXMzDO4iSJEmNy18gk1NKOdjwKraUOm5SmR89L6zw3rkR8SvAWcDdwMdKKZ+pYZ2SJElqyCl1ECNiBvjPo5fvXaHIT44eS+f5EHB1KeXrp7JuSZKkh3gNYq1OdRzE1wM/CLynlPK3S6YfBX4H+DHgzNHj6VQ3uFwMfCAi9q220Ig4GBGfiIhPnGL9JEmSlDR1BDEiXgy8HPg88Lyl75VSvgP89rJZbo2Iy4CPAE8Gfgl440rLLqUcAg6NXvqbQJIkrclMKvWaKoIYES+i6tz9M3BJKeWeSeYrpSxQDYsD8LRp1i1JkvQwwwYfO1C6gxgRLwWupxrL8JJSyreSi/ju6HnVU8ySJEnaPKlTzBHxG1TXHX4a+MlSyl1TrPPC0fMdU8wrSZL0cDs00teUiSOIEfEqqs7hJ4FL1+ocRsSPRsTDlh0RlwIvG718e7KukiRJ2gCT5mK+GngN0Ac+DLw4IpYX+2op5YbR/98APCEibgPuHE37YeAZo/+/qpRy26SV7Jx22qRFGQ6yyWfzl2F25nO5NnsncnUazObqtLBnijYkcwD3d+XWkb1YeJBLRwpAN5mvdpgdRTXZiMFMfpjWbL7aQXIV2eVPkwN42EvmGZ7JVSp94fkGRBGyucmzn73hFLcPdlcaiXYNMyeS+y15zJhGZ7i1QkBT5ZM+kdwR2T9Z9z2Ym2F2Nlce6PSmOCBvAd6kUq9JD0OPHT33gJeuUubvgRtG/78ReDbw48AzgVng20AB3lxK+fA0lZUkSVLzJk21dy1w7aQLLaX8KfCn01VJkiQpyQhirU51oGxJkiRtM3XkYpYkSdpUXoNYLyOIkiRJGmMEUZIktZ8RxFoZQZQkSdIYI4iSJKn1vAaxXkYQJUmSNMYIoiRJaj8jiLUygihJkqQxdhAlSVL7DRt8ABFxKCKu2KjmbLZWnGJeuPNfJi47c86jUssennkgWx2Gs7lE5p2FXDb2/oHcbuku5OPqw24nVb4zyK2jvyu5/H6q+FSG2fzzyc3aXUgunynq1PTyc7utWsdMbkPN7kru7A04bdTJfUXzdcpu1yna3O3nZhokPxud7DEjWR+A7oncPNmbErLH4uFMPoaS/fvQu/9Yeh0ps/k/8/3DhxuoSPuVUg5udh02Uis6iJIkSWvxLuZ6eYpZkiRJY4wgSpKk9jOCWCs7iJIkqfU6Q3uIdfIUsyRJksYYQZQkSe1nALFWRhAlSZI0xgiiJElqPYe5qZcRREmSJI0xgihJktrPCGKtjCBKkiRpzLaLIA6OHE2V75x1Rnodw14uJ2k2n+fMkVyu2v7uafKFJtuQzCWbzUuczfUMMJiZInFwgwZTfJs62e2UTGOcXf5wV658tZJc8W4vmQ83+fHeiOuQsrmbs/ttmvzq2ehJ72Sz+dW7UzRhsDt5XErmh951X27HzTxwMlUeoHtsPjfDfO5LOszmVv7O3bnyQKfXcJL4hngNYr2MIEqSJGnMtosgSpKkHcgIYq2MIEqSJGmMEURJktR6XoNYLyOIkiRJGmMEUZIktZ8RxFoZQZQkSdIYI4iSJKn1vAaxXkYQJUmSNMYIoiRJar+hIcQ6GUGUJEnSmFZEEDu7d09cdnD4cGrZMw8cyVYH5k5PFe/0c/k/s3lbF/bl82Z2+tlfWrmcp+nlT5FWeZBsdjebxzjZhmlyQ+fzDGe3a3K/JXMMT2PQT+YmT9Ypmzccpvk+JJef3W1TVCc9T3I7zZzIrWCa/dA7ljxWprdrbobufP4L0ZnPHWiyfx+GM7kDX/+BB1Ll28xrEOtlBFGSJEljWhFBlCRJWpMRxFrZQZQkSa23EZfItE1E/BrwK8BjRpP+F/DaUsrfrDevp5glSZK2pzuB3wB+FLgA+CBwU0T88HozGkGUJEnt5ynmhyml/PWySa+IiF8FngJ8Zq157SBKkiTVICKuBJ4OnA88CdgP/EUp5blrzPNo4DXA5cBZwDeBm4DrSin31li3HvAc4DTgtvXK20GUJEmtt0WGuXklVcfwQarTu9+/VuGIeDxVZ+2RwF8Dnwf+A/AS4PKIeGop5e5TqVBE/BDwMWBuVK9nl1L+ab357CBKkiTV42VUHcMvUUUSb1mn/FupOocvLqVcvzgxIt4wWtbrgBcsmf5a4BXrLPOSUsqHlrz+AlVE83TgSuDPI+LiUspn11qIHURJktR+WyDVXinloQ5hRKxZdhQ9vAz4KvCWZW+/GjgIPC8iXl5KWczq8fvA29epxteX1ekkVYcV4JMR8eNUnc//stZC7CBKkiRtvEtGz+8rpYwN0lNKORwRH6XqQF4IfGA0/S7grlNcbxdYN0WdHURJktR6W+QaxIwnjp5vX+X9L1J1EM9j1EHMiojXA38DfIPqhpn/E7gY+Jn15p24gxgRv0s1hs55wNnAMeBrVHfavHmliygj4iKqCzYvBPZQNfbPgOtLKRMnrByeODFp0VTeZoDhyZOp8gDdY/PJGXLDTXZOLqTKz+zO52IezObqNHs0OQJptvjufOLWXrfZ/NDZPMlTyTY7eQDsJj+qg9lceSBdp2EySW928NtsmwG6ua8cvWRe4g2R3Q/Jz15vvvk2dxeazX8+88Dkf0uA9LEbgIVcLubh3K7c8r+VCx519+7NLR8YHD2anmcniIhPLHl5qJRy6BQXefro+f5V3l+cfsYprOMcqlPS54yW9xngmaWUv11vxkwE8WXAp4D3A98B9lF1/K4FDkbEhaWUbywWjoifA94NHAfeCdwDXAH8HvBUqlutJUmSTl3Dv2FKKRc0u4b6lVJ+cdp5Mx3EA6WU48snRsTrgN8CfhN44WjaAeCPgT5wcSnlE6Ppr6IaxfvKiLiqlPKOaSsuSZLUYosRwtNXeX9x+n0bUJeHmTh+vlLncPGt0fMTlky7Evge4B2LncMly3jl6OWvJuopSZK0qs6wuUdDvjB6Pm+V9xf7Vatdo9ioOq6yumL0vDRlyzNGz+9dofytwFHgoojIXTAoSZK0PSwOiXNZRIz1xyJiP9XleEeBj290xWCKu5gj4hqqNC2nU9208hNUncPXLym26p05pZSFiPgK8APA44DPZesgSZI0puFxECPiEHBzKeXmOpZXSvlyRLyP6k7lXwOuX/L2dVT3evzRkjEQN9Q0w9xcAzxqyev3Ar9YSvnukmkbcWeOJEnShiilHFyvTEQ8C3jW6OU5o+enRMQNo//fVUq5ZsksL6RKtfemiLiUKmj2ZKoxEm9n/awpjUmfYi6lnFNK6VA1/OepooD/MyJ+tK5KRcTBiPjEslvKJUmSVrRFrkE8H7h69Pip0bTHLZl25dLCpZQvU52NvYGqY/hy4PHAG4ELTzUP86mYeqDsUsq3gb+KiE9R9XL/O/CDo7dP6c6c0dhCi+MLbcEBxyRJksaVUq6lGv4vM883gOc3UZ9Tcco3qZRSvgb8M/ADEXH2aPKqd+ZExAzwWGABuONU1y9JksSwwccOVFeuiHNHz4tDyH9w9Hz5CmWfBuwFbiulJIe1lyRJUtMm6iBGxHkR8bDTxRHRHQ2U/UiqDt+9o7feRZVM+qqIuGBJ+TngtaOXf3BKNZckSRrZItcgbhuTXoP408B/i4iPAF8B7qa6k/npVBdffgv45cXCpZQHIuKXqTqKH4qId1Cl2vtZqiFw3kWVfk+SJOnUDdo1zM1WN2kH8e+A76Ma8/BHqIanOUJ1c8qNwJtKKfcsnaGUclNEPJ3qFu1fAOaALwG/PirfyJ4cnsidte7M5O/TGSaTsXdOzKfKD/bmkrd3T+TqA9A7tpAqf+Ks3Jjm/T3Jqxem+DTMHB2kyi/szdYpV6nZY/lGLMx1UuX72aHlN+CXb2eQa8NwmCufbkNy8QDD5Eejm/zKdRdyjRh2840Y9HLlZ4/m6tTJ/vGd4rM3mM3tiO7J3DFgMDebW/6J3HESgE5u33WO5f5mDRZydRocPZoqr9VNMszNdjJR76iU8lngRdmFl1I+ShV9lCRJas4OPRXclLpuUpEkSdI2MfU4iJIkSVvFTr2ZpClGECVJkjTGCKIkSWq/5I2FWpsRREmSpHVExKGIuGKz67FRjCBKkqTWa/oaxJ02zI0RREmSJI0xgihJktrPSxBrZQRRkiRJY4wgSpKk1ut4F3Ottl0Hsbt3b6r88MiR/EpO5nIrd4a5fKG9R56VKj+cyQeCFw7Mpcr3jufa0J3PfVEHs/ncs8NkztPsEAjZC56787ltBDDs5PZdNkdvP5fWm+4UqWdZyNVpMJ9rcye5WTv51OT0TubKZ3M3Z9uQXT7AbDI3+TCZu7mT/Gz0TuS/D9k82un80Emdk/kvxHB38s/qXffkys/n/v5I09p2HURJkrQDTfGbRKvzGkRJkqR1OA6iJElSyzR9DaLjIEqSJGlHM4IoSZLaz5uYa2UEUZIkSWOMIEqSpPZzHMRa2UGUJEmtlx27VmvzFLMkSZLGGEGUJEnt5ynmWhlBlCRJ0phtF0EcHD2amyFZHGDm0d+bm6GXzLebzfW8kO/nd/fmkvSmc54m8yT355KJYYGFvbl5snmGuwvJNk/x43W4J1e+dzK3ktlkqvETU+TE7p3IzbOQzN3cTaae7Z3I74jsvp45ls3rnSs/TU7sbA7q/lxuP2RzMWfzKgN0T+Qa0T3ZbPnOifyO6CSP39lP63BhmoTpO0M253lWRBwCbi6l3NzsmraGbddBlCRJqttOy6RiB1GSJLWf1yDWymsQJUmSNMYIoiRJaj8DiLUygihJkqQxRhAlSVLrZUcL0NqMIEqSJGmMEURJktR+RhBrZQRRkiRJY4wgSpKk9ms4k8pOYwRRkiRJY4wgTmF4/Hhuhk6uH945bW+q/HB3Lq8yQGc+mbh1Npf3eP7AbG7xD5xMlQfSY15lczdnc8mmczeTz608mMlVaphscm+K3ZDNlczJ3PchW6d0fSD9WRokc1bPHs6FNoZTHJlnjua+0/3duZVk87Fn8yoDzNyXO7YO53Jt6N6fS04+vO+BVHkAssfj+VxuZXMxr67pu5jNxSxJkqQx5mKWJElqG+9irpXXIEqSJGmMEURJktR+RhBrZQdRkiS1n8Pc1MpTzJIkSRpjBFGSJLVe08Pc7DRGECVJkjTGCKIkSWo/I4i1MoIoSZKkMUYQJUlS+xlBrNXEHcSI+F3gAuA84GzgGPA14CbgzaWUu5eUfQzwlTUW985SylXTVFiSJEnNykQQXwZ8Cng/8B1gH3AhcC1wMCIuLKV8Y9k8/0jVgVzus/mqbh39u+5ev9BSnU6q+MzMo3KLPzmfKg/Q6+auLhju35sqP5jtpcr39+SD2dk71nonc4NkDXO7jeFMcgagdzLXhsFsbh2dfqo4nYVc+anWMZ/77HXnc9to5ng+itBJzpL9LGWX3z2W3KhTmLs7d9zonszVqTufH5RuOJc7DvTu/G5u+dkIUzf/nR4eP54rf/Jkeh1ahRHEWmW+jQdKKQ/75EfE64DfAn4TeOGytz9dSrl2+upJkiRpo038U36lzuHiW6PnJ5x6dSRJkqYwaPABRMShiLhio5qz2eq4SWVxY31mhffOjYhfAc4C7gY+VkpZqZwkSdKWVUo5uNl12EjpDmJEXAOcBpxOddPKT1B1Dl+/QvGfHD2Wzv8h4OpSytez65YkSVqJmVTqNc04iNcArwZeStU5fC9wWSll6dXCR4HfAX4MOHP0eDpwC3Ax8IGI2Dd9tSVJktSUdASxlHIOQEQ8CriIKnL4PyPiP5ZSPjUq8x3gt5fNemtEXAZ8BHgy8EvAG1daR0QcBA6OlpWtoiRJ2mmMINZq6msQSynfBv4qIj4F3A78d+AH15lnISL+hKqD+DRW6SCWUg4Bh0Yv3eOSJEkb6JRT7ZVSvgb8M/ADEXH2BLMsnor2FLMkSarHYNjcYweqKxfzuaPnSUZSvXD0fEdN65YkSVKNJjrFHBHnAd8updy/bHqX6maURwK3lVLuHU3/UapBsgfLyl9KlZEF4O2nWHdJkqSK1yDWatJrEH8a+G8R8RGqHMt3A4+iujP5ccC3gF9eUv4NwBMi4jbgztG0HwaeMfr/q0opt51i3SVJktSASTuIfwd8H9WwNj8CnAEcobo55UbgTaWUe5aUvxF4NvDjwDOBWeDbVFlX3lxK+XAttW+L5K+a4ZGjueVPkS+0sy93Cegwmbu5dzSXX7Qzn88929+3O1W+dySXe7a/bzZV/uQU+aSHyTzdsw8m80kn91s2rzJA73iuDb1dueV3k6nGu9O04URuu84cy+cZTi3/aD4p9sLe3Oevm80nvdBsLnOA3gO5PMbs3ZMq3jl6LFV+MEWe+8Hhw6ny3bm59Dq0CiOItZroiFJK+SzwokkXWkr5U+BPp62UJEmSNk8dqfYkSZI2lxHEWtlBlCRJ7bdDh6NpSl3D3EiSJGmbMIIoSZLab9jszWM7jRFESZIkjTGCKEmS2s+bVGplBFGSJEljjCBKkqT28y7mWhlBlCRJ0hgjiJIkqf28BrFWdhA3QjLfbv+BB1LlewcOpMoDDI/ncp5270omuE3mSB3uyeVVBugmc8N2k/mhh7O9VPm575xIlQeY35/L9zzs5T5LM8ebP2BmczHPzCZzNydzBmfzKgN0krN0FnLbtXc8n1s5a9fdyTzGM8kTSNnv28kp2pzMKz88fCS/joTBkaONLh9gkDwWa/NExCHg5lLKzZtdl41gB1GSJLVfwxHEUsrBRlewxXgNoiRJksYYQZQkSe3nNYi1MoIoSZKkMUYQJUlS+w3MxVwnI4iSJEkaYwRRkiS1n9cg1soIoiRJksYYQZQkSe1nBLFWRhAlSZI0xgiiJElqv4ERxDrZQdwIDYe9s7mbgXR+6JlzHpVb/nwyD+vuXE5igO69D6bKD07fm1v+yWT+6Sn28+yDuf2QXUd/LvcV7+zP5Z8G6M7nTkTMJNPn7jqczAGczJMMsOveZJ7uXq7Ng1257Tp7Tz4HcDZ3eOfEfK788Vx5ZvKfpf4X7sjNMMwm0U6eNBskjwHaVMPs50Fr8hSzJEmSxhhBlCRJ7ecp5loZQZQkSdIYI4iSJKn9HOamVkYQJUmSNMYIoiRJar+BdzHXyQiiJEmSxhhBlCRJ7ec1iLUygihJkqQxRhAlSVLrDb0GsVZGECVJkjTGCKIkSWo/r0GslR3EnSr5RRouJJPWJ8t3pjk10OmkimfD5Z1k2qbhnt3JNZDeD52F3HYazuZaPXMst00B9tydq9Oxs3N16i7kttGu++ZT5YH0Z2nmgeOp8sNurs2d4/k2dO8/kio/3DWbKt958GiqfP+ee1PlARgkjzNZw4aXL20jdhAlSVL7mYu5Vl6DKEmSpDFGECVJUvsNvYt5LRHxm8B/Bd5SSnnReuWNIEqSJG1jEXEhcBD4zKTz2EGUJEmtNxwMG3u0WUScDvwF8H8BE9895ilmSZKkGkTElcDTgfOBJwH7gb8opTx3jXkeDbwGuBw4C/gmcBNwXSlliuEAHuYQ8K5Syi0R8epJZzKCKEmS2m84aO4xuVcCL6LqIP7LeoUj4vHAJ4HnA/8A/B5wB/AS4GMRcVZ2Myxb/i8D3zeqV4oRREmS1Hpb5FTwy4A7gS9RRRJvWaf8W4FHAi8upVy/ODEi3jBa1uuAFyyZ/lrgFess85JSyoci4olUN6X8RCklPbiqHURJkqQalFIe6hBGxJplR9HDy4CvAm9Z9varqW4qeV5EvLyUsjgS/u8Db1+nGl8fPT8FOBv4X0vq0gOeFhEvAPaVUk6sthA7iJIkqf3aN8zNJaPn95VSxipfSjkcER+l6kBeCHxgNP0u4K4Jl38T8Ill094GfJEqsnhyrZntIEqSJG28J46eb1/l/S9SdRDPY9RBzCil3Afct3RaRBwB7imlfHa9+VvRQXz/4C83uwqSJGnr+tr7B3/575pa+NGjR+/+xV/8xaXRuEOllEOnuNjTR8/3r/L+4vQzTnE9U2nDXcydlR4R8cnV3tuuD9u8Mx47sc07td22eWc8dkCbt4LH0GAb9+7de3Yp5YIlj1PtHG6KUsrFk2RRgXZ0ECVJkrabxQjh6au8vzj9vlXeb5QdREmSpI33hdHzeau8/4TR82rXKDaqzR3EVoZ3T5Ft3hl2YpthZ7bbNu8MO7HNWt/ikDiXRcRYfywi9gNPBY4CH9/oigF0hsMtMbCkJEnSthERF1N1AldNtRcRf0t1p/JqA2X/USnlBSvN2zQ7iJIkSTWIiGcBzxq9PAf4KarUeR8eTburlHLNkvKPB26jyqby18DngCdTjZF4O3BRKeXujan9uDafYpYkSdpKzgeuHj1+ajTtcUumXbm0cCnly8AFwA1UHcOXA48H3ghcuFmdQ2hZBDEiHg28BrgcOAv4JtVI4deVUu7dzLo1ISK+Cqw2rtO3SynnbGB1ahURV1LlqTwfeBKwnzXC8KN5LqJKOH4hsIdqENE/A64vpfQbr/QpyrQ5Ih4DfGWNxb2zlHJVE/WsyyjJ/LOBnwF+CPheqpH7/4lqNP+3Lc8eMJqvtfs52+btsJ8XRcTvUv2hO48qvdcx4GtUx+g3r/SHrs37GnJt3k77WjtDKwbKhhXDsJ8H/gPwEuDyiHjqZva0G3Q/Ve7F5R7c6IrU7JVUnaQHqRKbf/9ahSPi54B3A8eBdwL3AFcAv0d1Ie9zmqxsTVJtHvlHqj82y607Cv4W8BzgD6h+yN1ClR/0UcDPA38CPDMinlNKeehX6jbYz+k2j7R5Py96GfAp4P3Ad4B9VB2/a4GDEXFhKeUbi4W3wb6GZJtHtsO+1g7Qmg4i8FaqzuFqF3K+DtiUCzkbdl8p5drNrkQDXkbVSfoSVVTtltUKRsQB4I+BPnBxKeUTo+mvAj4IXBkRV5VS3tF4rU/NxG1e4tMt3v+3Az8L/M2yqNlvAf8A/AJVx+ndo+nbYT+n2rxEm/fzogOllOPLJ0bE64DfAn4TeOFo2nbY15Bo8xLbYV9rB2jFNYij6OFlwFeBtyx7+9XAEeB5EbFvg6umKZVSbimlfHGFSMpKrgS+B3jH4h+S0TKOU0XlAH61gWrWKtnm1iulfLCUcvMKSei/Bfzh6OXFS95q/X6eos3bxkodpcW3Rs9PWDKt9fsa0m2WWqUtEcRLRs/vW+HAezgiPkrVgbyQKRJab3G7I+K5wL+l6gh/Bri1Ddfn1OgZo+f3rvDerVTjRF0UEbtLKSc2rlob4tyI+BWqa27vBj5WSvnMJtepDvOj54Ul07b7fl6pzYu2636G6rQxVMeuRdt9X6/U5kXbeV9rG2lLB/GJo+fVRkListAAAAStSURBVBP/IlUH8Ty2XwfxHODGZdO+EhHPL6X8/WZUaBOsuv9LKQsR8RXgB6juFPvcRlZsA/zk6PGQiPgQcHUp5eubUqNTFBEzwH8evVzaQdi2+3mNNi/aNvs5Iq4BTqNKE3YB8BNUHaXXLym2rfb1hG1etG32tba3Vpxi5n/nI7x/lfcXp5+xAXXZSG8DLqXqJO6juivyj6iSkv+PiHjS5lVtQ+3E/X8U+B3gx4AzR4/F6xYvBj7Q4ksqXg/8IPCeUsrfLpm+nffzam3ejvv5GqpLf15K1VF6L3BZKeW7S8pst309SZu3477WNtaWCOKOVEq5btmkzwIviIgHqcZKupZqSA1tM6WU7wC/vWzyrRFxGfARqvGyfolqrKzWiIgXU312Pw88b5OrsyHWavN23M+Lw29FxKOAi6g6x/8zIv5jKeVTm1q5hkzS5u24r7W9tSWCuPhr8vRV3l+cft8G1GUrWLzY/WmbWouN4/4fKaUsUA2XAi3b/xHxIqo/fv8MXFJKuWdZkW23nydo84ravJ8XlVK+XUr5K6rLf84C/vuSt7fdvoZ127zaPK3f19qe2tJB/MLo+bxV3l+8U2y1axS3m8XTFjvldMSq+390bddjqS78v2MjK7WJWrf/I+KlwPVUUfBLRnf1Lret9vOEbV5L6/bzSkopX6PqIP9ARJw9mryt9vVyq7R5LdtiX2t7aUsHcXG8uMsiYqzOEbGfalDVo8DHN7pim+TC0XMrD55T+ODo+fIV3nsasBe4raV3O06jVfs/In6DavDjT1N1lL6zStFts58TbV5Lq/bzOs4dPS+OvrBt9vUalrd5LdtpX2ubaEUHcZSr8H1UN2f82rK3r6P61XVjKeXIBletMRHx71e6YHmUrunNo5dv39BKbZ53AXcBV0XEBYsTI2IOeO3o5R9sRsWaEhE/uvzH0Gj6pVQDbkML9v9o4OPXA58ELi2l3LVG8W2xnzNt3kb7+byIeNjp4ojojgaNfiRVh28xJWrr93W2zdtlX2vnaE0u5hVS7X2O6qLeS6hOLV+0nVLtRcS1VBe230qV2/MwVQLvnwHmgPcAzy6lnNysOp6KiHgW8KzRy3OokprfAXx4NO2uUso1y8q/iyot1zuo0nL9LNVwGe8CYqsPQJ1p82jYiydQfebvHL3/w/zv8eNeVUpZ/EO6JUXE1VQJ6PtUp1pXumP1q6WUG5bM0+r9nG3zdtjP8NDp9P9GdbPFV6jG93sU1V26jwO+RdVZ/ucl87R9X6favF32tXaO1tzFXEr58uiX5muoTkv8NFW+0zcC1y35Zbpd3EJ1oPwRqlPo+6gu2P4I1biIN27lg+cEzgeuXjbtcaMHVJ3ihzqIpZSbIuLpwCuo0pXNUaWs+3XgTS3ZFpk230h1h/qPA88EZoFvU2VoeHMp5cNsfY8dPfeohv9Yyd9TdaiAbbGfs23eDvsZ4O+A76Ma4uVHqIanOUL14/1Gqn03doPONtjX2TZvl32tHaI1EURJkiRtjFZcgyhJkv7/duuQAAAAgGFQ/9bXK3AFKYAfQQQAIAQRAIAQRAAAQhABAAhBBAAgBBEAgBBEAABCEAEACEEEACAGGg+eBN8Wnf0AAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# create image data\n", "weights = df[vector_names[\"PT\"]].values\n", "images = []\n", "for i in range(len(df)):\n", " image, x_edges, y_edges = np.histogram2d(rotated_matrix[i, 0], rotated_matrix[i, 1],\n", " weights=weights[i], bins=n_bins, range=plot_range,\n", " )\n", " # scale to keep values between 0 and 1\n", " image /= np.max(image)\n", " images.append(image)\n", "images = np.stack(images)\n", "\n", "# plot data we use for training\n", "average_image = np.sum(images, axis=0) / len(images)\n", "plot_jet_image(average_image)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Network Training" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [], "source": [ "# add color channel dimension to data\n", "data = np.expand_dims(images, axis=-1)\n", "labels = df[label_key].values\n", "\n", "activation = \"relu\"\n", "padding = \"same\"\n", "\n", "from tensorflow.keras import layers" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "Use keras to simplify network definition. Two options of writing the model:" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "### Functional" ] }, { "cell_type": "markdown", "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "source": [ "### Sequential" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "outputs": [], "source": [ "\n", "inputs = layers.Input(shape=(40, 40, 1))\n", "\n", "# convolutional layers: n_filters, kernel size, **kwargs\n", "x = layers.Conv2D(8, 4, activation=activation,\n", " padding=padding)(inputs)\n", "x = layers.Conv2D(8, 4, activation=activation,\n", " padding=padding)(x)\n", "x = layers.MaxPooling2D(pool_size=(2, 2))(x)\n", "x = layers.Conv2D(8, 4, activation=activation, padding=padding)(x)\n", "x = layers.Conv2D(8, 4, activation=activation, padding=padding)(x)\n", "x = layers.Flatten()(x)\n", "x = layers.Dense(64, activation=activation)(x)\n", "x = layers.Dense(64, activation=activation)(x)\n", "x = layers.Dense(64, activation=activation)(x)\n", "output = layers.Dense(2, activation=\"softmax\")(x)\n", "\n", "model = keras.models.Model(inputs, output)\n", "model.compile(loss=\"sparse_categorical_crossentropy\",\n", " optimizer=\"adam\", metrics=[\"accuracy\"])\n" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "cell_style": "split", "slideshow": { "slide_type": "-" } }, "outputs": [], "source": [ "\n", "model = keras.Sequential([\n", "# convolutional layers: n_filters, kernel size, **kwargs\n", " layers.Conv2D(8, 4, activation=activation, padding=padding,\n", " input_shape=(40, 40, 1)),\n", " layers.Conv2D(8, 4, activation=activation, padding=padding),\n", " layers.MaxPooling2D(pool_size=(2, 2)),\n", " layers.Conv2D(8, 4, activation=activation, padding=padding),\n", " layers.Conv2D(8, 4, activation=activation, padding=padding),\n", " layers.Flatten(),\n", " layers.Dense(64, activation=activation),\n", " layers.Dense(64, activation=activation),\n", " layers.Dense(64, activation=activation),\n", " layers.Dense(2, activation=\"softmax\")\n", "])\n", "\n", "model.compile(loss=\"sparse_categorical_crossentropy\",\n", " optimizer=\"adam\", metrics=[\"accuracy\"])" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "Sequential definition is slightly more simple, but functional definition allows access to intermediate layers of the model\n", "\n", "Very helpful feature in Keras: Model summary" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "_________________________________________________________________\n", "Layer (type) Output Shape Param # \n", "=================================================================\n", "conv2d_4 (Conv2D) (None, 40, 40, 8) 136 \n", "_________________________________________________________________\n", "conv2d_5 (Conv2D) (None, 40, 40, 8) 1032 \n", "_________________________________________________________________\n", "max_pooling2d_1 (MaxPooling2 (None, 20, 20, 8) 0 \n", "_________________________________________________________________\n", "conv2d_6 (Conv2D) (None, 20, 20, 8) 1032 \n", "_________________________________________________________________\n", "conv2d_7 (Conv2D) (None, 20, 20, 8) 1032 \n", "_________________________________________________________________\n", "flatten_1 (Flatten) (None, 3200) 0 \n", "_________________________________________________________________\n", "dense_4 (Dense) (None, 64) 204864 \n", "_________________________________________________________________\n", "dense_5 (Dense) (None, 64) 4160 \n", "_________________________________________________________________\n", "dense_6 (Dense) (None, 64) 4160 \n", "_________________________________________________________________\n", "dense_7 (Dense) (None, 2) 130 \n", "=================================================================\n", "Total params: 216,546\n", "Trainable params: 216,546\n", "Non-trainable params: 0\n", "_________________________________________________________________\n", "None\n" ] } ], "source": [ "print(model.summary())" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "Now we train the model, with early stopping if the loss on the validation set does not improve for 2 epochs" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "scrolled": true, "slideshow": { "slide_type": "-" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Train on 14000 samples, validate on 6000 samples\n", "Epoch 1/20\n", "14000/14000 [==============================] - 21s 1ms/sample - loss: 0.3727 - acc: 0.8469 - val_loss: 0.3028 - val_acc: 0.8847\n", "Epoch 2/20\n", "14000/14000 [==============================] - 20s 1ms/sample - loss: 0.2967 - acc: 0.8800 - val_loss: 0.2802 - val_acc: 0.8910\n", "Epoch 3/20\n", "14000/14000 [==============================] - 21s 1ms/sample - loss: 0.2700 - acc: 0.8874 - val_loss: 0.2505 - val_acc: 0.8988\n", "Epoch 4/20\n", "14000/14000 [==============================] - 21s 2ms/sample - loss: 0.2532 - acc: 0.8945 - val_loss: 0.2453 - val_acc: 0.8980\n", "Epoch 5/20\n", "14000/14000 [==============================] - 21s 1ms/sample - loss: 0.2448 - acc: 0.8978 - val_loss: 0.2382 - val_acc: 0.9057\n", "Epoch 6/20\n", "14000/14000 [==============================] - 21s 2ms/sample - loss: 0.2313 - acc: 0.9025 - val_loss: 0.2395 - val_acc: 0.9023\n", "Epoch 7/20\n", "14000/14000 [==============================] - 21s 2ms/sample - loss: 0.2211 - acc: 0.9082 - val_loss: 0.2331 - val_acc: 0.9057\n", "Epoch 8/20\n", "14000/14000 [==============================] - 21s 1ms/sample - loss: 0.2099 - acc: 0.9124 - val_loss: 0.2526 - val_acc: 0.8980\n", "Epoch 9/20\n", "14000/14000 [==============================] - 21s 2ms/sample - loss: 0.2039 - acc: 0.9154 - val_loss: 0.2464 - val_acc: 0.9010\n" ] } ], "source": [ "early_stopper = keras.callbacks.EarlyStopping(monitor=\"val_loss\", patience=2, mode=\"auto\", restore_best_weights=True)\n", "history = model.fit(data, labels, batch_size=50, epochs=10, shuffle=True, validation_split=0.3, callbacks=[early_stopper])" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "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iYiIiEgAVODlvHPiEyHtNO6GJK+jiIiIiAQ9FXg5/9peChfFaE14ERERkXKgAi/nneM4OH0HwrbNuPt/9jqOiIiISFBTgZcLwukzEJwQ3KSlXkcRERERCWoq8HJBOPUaQIcuuEnLcLMyiz9BRERERAqlAi8XjNM3EY4chG82eR1FREREJGipwMsF43TpCVE1tCa8iIiISBmowMsF41QLx+l1Fe7GNbgnT3gdR0RERCQoqcDLBeXEJ0LGWdy1q7yOIiIiIhKUVODlwmreGpq21DQaERERkVJSgZcLynEcnPgE2PE97u4dXscRERERCToq8HLBOb36Q2iYRuFFRERESkEFXi44p2ZtuKwH7poVuBkZXscRERERCSoq8OKJkL6JcPwofLXe6ygiIiIiQUUFXrzRsRvUrkuWptGIiIiIlIgKvHjCCQ3F6T0AvlqPe/SI13FEREREgoYKvHjGiU+ErCzcNSu8jiIiIiISNFTgxTNOk6bQuh3u6iW4rut1HBEREZGgoAIvnnLiE+DnnZDynddRRERERIKCCrx4yul+BYSHa014ERERkQCpwIunnKhonG59cdd+gpue5nUcERERkQpPBV485/RNgNMncTeu8TqKiIiISIWnAi/ea9cJ6l+kaTQiIiIiAVCBF885ISG+UfhvN+Ee2u91HBEREZEKTQVeKgSn70BwXdykZV5HEREREanQVOClQnAaNIL2nXGTluJmZXkdR0RERKTCUoGXCsOJT4CD++C7zV5HEREREamwVOClwnC69oXqUXqYVUREROQcVOClwnAiInB6XIG7YTXu6VNexxERERGpkFTgpUJx+iZAejru+k+9jiIiIiJSIanAS8XSuh00bqppNCIiIiJFUIGXCsVxHJx+ifDDt7h7d3kdR0RERKTCUYGXCsfpPQBCQnBXL/U6ioiIiEiFowIvFY5Tuy50vBw3eTluZqbXcUREREQqFBV4qZBC4hPg6GHYstHrKCIiIiIVigq8VEyde0CNWmTpYVYRERGRPFTgpUJywqrh9O4PX6zFPX7M6zgiIiIiFYYKvFRYTnwCZGbgrl3pdRQRERGRCkMFXiosp2kraN5Ga8KLiIiI5KICLxWa0y8Rdv6I+9MPXkcRERERqRBU4KVCc3peCWFhWhNeRERExE8FXio0J7omTpfeuJ+txD171us4IiIiIp5TgZcKz4lPgJPHYdNar6OIiIiIeE4FXiq+uC5Qpz5ZmkYjIiIiogIvFZ8TEorTdyB8/TnukUNexxERERHxlAp8BeS6LqfOZnodo0Jx+iaAm4W7ZrnXUUREREQ8pQJfAS3YeoSH/pvC9sNnvI5SYTiNYqBtHO7qpbiu63UcEREREc+owFdAF9evTnqmy2Mf72D59qNex6kwnH6JsG83/PCt11FEREREPOOUZDTTGNMUeBa4BqgP/AzMA56x1h4J8BqPAAOAOKABkAXsABYDU621u4o4Lw54GugP1PKf8x7wgrX2dBHn9AX+D+gNVAe+A94E/mStDXSOirtnz54ADy0/qaczeGn1Hr7ed4ohF9fh7ssbUS3UueA5KhL3zGmyHr4dp8cVhNz+G6/jiIiIiJSbmJgYgIDKXsAj8MaYNsAG4E5gLfAysB34LZBsjKkf4KXuAWKAlcCrwN+AQ8BDwGZjTNdC7t0LWAeMAJYA04BjwFPAYmNMRCHnXAesAq4E/gNMB8L9ud8LMKtn6lQP49mBzRhxaT0+/C6VJ5fs4NCpqr0OuhNZHefyeNx1n+KmaXqRiIiIVE1hJTj2VeAi4EFr7Z+yNxpjpuIr35OAewO4TkdrbYH2ZYwZA8zwX2doru2hwEwgCrjOWvu+f3sIYIEb/Pd/Idc5tYC/AplAf2vtev/23wHLgBuNMb+01lboIh8a4nBnt4u4pEEkryTv5aEPU3ikXwydGkV7Hc0zTnwCbtJS3A1JvpVpRERERKqYgEbg/aPvg4EU4M/5dk8ETgKjjDHFNsvCynv2Lv/nxfm2XwVcCqzKLu/+62QBj/p/vNcYk/tXDjcCDYH3sst7rnv/n//H+4rLWlHEN6/FH65pQY3wUJ5aupN53xyqug9yXtwBLmqCm6Q14UVERKRqCnQKzQD/58f+4pzDWnscWI1vhLx3GbIM939uyrc9e5j1o/wnWGu3A9uAFkDrQM7BN63mFNC3sKk3FVWz2hH84ZoW9Gpak5mfH+ClT/dUyaUmHcfxLSm59SvcA3u9jiMiIiJywQU6haad/3NbEfu/wzdCfwkQ0NCoMWY00BSoAXQCEvE9mPp4Ke59if+/H4o7x1qbYYz5EeiAr/R/E0jeiiCqWiiPXRHDf745zNtfHGBHahoTroylae2g+R5SLpw+A3Dn/xM3aSnOdbd5HUdERETkggq0wNf2fxa1pmH29joluPdooFeun9cBt1prvy+He5cprzHmV8CvAKy1hR3iGcdxuD6uPm3rRfKHT/fw8Ec7+G2fJvRpXtPraBeMU68hXNoFN2kZ7vBbcEK0GqqIiIhUHZ41H2ttb2utg28pycH+zRuMMVd7lSmbtXaGtba7tba711mK0rlxNFOGtKRp7XBe+GQ3f9+4n8ysqjMv3umXCIcPwLf5Z1yJiIiIVG6BFvjsEevaRezP3p5a0gDW2kPW2sX4Svxp4G1jTPUy3vu85a1IGkZX4/lBzbnm4jrM3XKYp5ftJPVMhtexLginSy+IisZdvcTrKCIiIiIXVKAFfqv/85Ii9mevHFPUPPViWWtTgWR8q8d0KOO9izzHGBMGtAIy8K1jH9SqhYZwX8/GPNi7Md8ePM24D1PYerDQ91pVKk61cJyeV+FuXIN76oTXcUREREQumEAL/HL/52D/+us5jDE1gXh8K7usKWOeWP9n7mHkZf7Pa/IfbIxpja+k7yBvGS/yHHwvdooCkqy1aWVKW4EktKnD5MEtCHUcnlj8Ex99d6TSLzXpxCfA2XTctZ94HUVERETkggmowFtrfwA+BloCD+Tb/QwQDbxtrT2ZvdEY094Y0z73gcaY5saYRoXdwxhzD9AD2Al8lWvXSnwrxVxpjLk21/EhwGT/j69ba3O31TnAQeCXxpjuuc6JBJ7z//jauf7Mwah1vUimDmlJ50ZRvLZ2H6+s2UtaRlbxJwarFm0htoXWhBcREZEqxQl0lNb/MqckfG9jnY+vVPfCt0b8NqCvtfZQruNdAP+DqtnbRgCz8U2V+R7YB9THt358J+AE8Atr7cp89+6Fb1S9Gr5y/hOQAHTHtwZ9Qv7RdP+95gBngPeAw8C1+JaYnAOYfKW/KO6ePXsCOKziyMxysV8f5L2vDtG6bgSPXxlLoxrhXsc6L7IWz8e1fyPk6ek4sc29jiMiIiJSKjExMQBOccdBCVah8Y/CdwfewlfcxwNtgGlA79zl/Rw+9x8fAQwDHgZuAVxgChCXv7z77/0ZvtH5+fgedn0I34OozwKDCpsKY62dh+8trquAG4DfAGeBccAvAyzvQSk0xOGWzg35Xf+m7Dt5lnEfpvD5nso5T9zp3R9CQ3GT9DCriIiIVA0Bj8BXYUE3Ap/bz8fTmfzJblKOpHFL5wbc1LE+IU5AX+6CRuaffw8/fEPIc6/jREV7HUdERESkxM7LCLwEpyY1w5k8uAVXtarFvzYd5Pcrd3EiPdPrWOUqZNC1cOoEWVOexD0W1CuDioiIiBRLBb4KiAgLYWyfJtzToxEbfz7J+A9TSDlyxutY5ca5pCMhD/wf7N1F1uTHcQ/t9zqSiIiIyHmjAl9FOI7D0EvqMimxBemZLo8s2sGKH48Wf2KQcDpdTshDz8KJo2S98Bjunp+8jiQiIiJyXqjAVzHtG1bn5SEtuaR+JC8n/cyMdXs5m1k5noNw2sYR8sjvwc0i68UJuD+W+r1iIiIiIhWWHmItXlA/xFqUzCyXf3xxgHnfHKZdg+o8dkUM9aOqeR2rXLj7fybrjxPhWCoh9z+BE9fF60giIiIi51SSh1hV4ItXKQt8ttU7jvHKmp+JCAvh0X6xdGwU5XWkcuGmHvaV+H27CRn9MM7lfb2OJCIiIlIkrUIjAYtvUYuXrmlJjfBQfrf0J+Z/c5jK8KXOqVOPkEeehxZtyfrLi2StWuR1JBEREZFyoRH44lXqEfhsp85m8kryzyTvPEF885r8pncTqlcL/u93btoZsl5/Ab7+HOf62wkZcoPXkUREREQK0BSa8lUlCjyA67r8Z8th3v7yADE1w5lwVSxNa0V4HavM3IyzuG/+EXfdJzhXj8S54Q6cSvYyKxEREQluKvDlq8oU+Gyb9p7kpU/3cDbT5bd9mtCneU2vI5WZm5WJ++4M3BUf4sQn4ox6ACc01OtYIiIiIoAKfHmrcgUe4MDJs0z+ZDffHTrD9XH1+J/LGhIaEtyj1q7r4r7/L9wFs6Brb0LGPIxTLdzrWCIiIiIq8OWsShZ4gLOZWfx1/X4WfZ9K50ZRPNwvhtqRYV7HKrOsJe/jznoD2ncm5IEncCIrx8o7IiIiErxU4MtXlS3w2Zb8kMrra/dRKzKUx6+I5ZIG1b2OVGZZyctx35oGzVoT8tuJODVrex1JREREqjAtIynlKrFNHSZf3YJQx2HC4p9Y9F1q0C81GdJnACH3PwF7fiLrxcdxDx/wOpKIiIhIQDQCX7wqPwKf7VhaJlNX72HjzydJaF2be3o0IiIsuL8Dutu+Jmv6c1A9ipCxz+I0aep1JBEREamCNIWmfKnA55KZ5fLeVwexXx+iTb0IHrsilkY1gvtBUPenH8j649Pgur7pNC0v9jqSiIiIVDEq8OVLBb4Q63ad4OWkPYQ4MC4+hm4xNbyOVCbuvj1kvfwUnDhOyK+fxGnf2etIIiIiUoVoDrycdz2a1mDKkJbUj6rGs8t3Yb86SFYQfxl0GsUQ8thkqNeArGlP425c43UkERERkUJpBL54GoE/h7SMLP782V5WphyjR2w0Y/vGUCM8eF+Q5J44RtYrz0LK9zi3/5qQ+ESvI4mIiEgVoCk05UsFvhiu6/Lfban8bcM+GkZXY8KVsbSsG+l1rFJzz5wm67XnYcsXODfdRcjgEV5HEhERkUpOU2jkgnIch2Ht6jJpUHPSMl0eWbSDFT8e9TpWqTmR1Qn59e9wLo/Hnf0mWXP/EfTLZoqIiEjloRH44mkEvgSOnM7gpU93s3n/aYa1q8udXS+iWmhAXyYrHDcrE/efr+OuWoRz5dU4t92LExK804NERESk4tIUmvKlAl9CGVku/9i4n/nfHqF9g+o8ekUM9aOqeR2rVFzXxf3P27gfzsG5PB7n7nE41YLzzyIiIiIVlwp8+VKBL6VPdxzjT2t+JjIshEf7xdKhUZTXkUot6+P/4M6eCXFdCLlvAk5kda8jiYiISCWiOfBSIfRrUYuXrmlJVLVQ/m/pT8z/5nDQziUPGTwS544H4ZtNZE39He6JY15HEhERkSpKI/DF0wh8GZ06m8m05J9Zs/ME/VrU5Ne9mlC9WnB+d3Q3riFrxkvQsDEhDz2LU7e+15FERESkEtAUmvKlAl8OXNdl7pbDvPPlAZrWCufxK5sSWyvc61il4n67iaw/T4Lomr4S3yjG60giIiIS5DSFRiocx3G4oUN9nh7YjNQzmYz/MIU1O497HatUnPadCXl4EqSdIWvyY7g//eB1JBEREalCVODlgrqscTRTh7Skae1wnl+1m39s3E9mVvD9Fshp0ZaQx16AatXI+sOTuNu+9jqSiIiIVBGaQlM8TaE5D85mZvHX9ftZ9H0qlzWOYnx8DLUjw7yOVWLu4QNkvTwRDu0n5J5HcS7r6XUk+X/s3Xl8XHW9//HXd7InTZo0abpvdF+gQFe60UILRUQR8LjAdUHl6nWDK/cH14VNUfG6oHjVC6igqHAAWUSB0ha60L200H3fmzZLkybNMklmvr8/ziRNS9NMyqQnk7yfj0cfQ86cM/OZPkTe+cz3fL4iIiJxSGvgY0sBvg3N31XG71YdpWtqAnfP6MPQ3Pgbz2grygn/8j44sBvzuW8SuGyW3yWJiIhInNEaeIkbswdn89DVAwgYuHvefubtLPO7pFYzmVkE7vwBDBuD/cMvCM9/2e+SREREpANTB75l6sCfB+XBED9/+zDrCiqZPbgr/z6hB8kJ8fX7pa2rJfzYT2HdCsyHP4H5yKcxJqpfpEVERKST0xKa2FKAP09CYcvTG4pxN5YwuFsqd03vTY8u8TVq0oZC2Kd+g136BmbmhzCfug0TiK9fREREROT8U4CPLQX482zVwQoeXlZAwMB/Tu3Npb27+F1Sq1hrsc8/gX39BcyE6Zhbb8ckJvldloiIiLRjCvCxpQDvg4KKWn60+BD7y4J8+qI8bhqTSyDOlqOEX3se+/yTMOZSAl++G5OS6ndJIiIi0k4pwMeWArxPaurD/O/KIyzeW86EPl24fUovuiQn+F1Wq4SXzMP++TdwwTACX78HkxFf3yaIiIjI+eNSLIIAACAASURBVKEAH1sK8D6y1vLP7aX8YW0h+V2SuHt6HwbmxFcn265dRvjxn0KPPgRuvx+T3c3vkkRERKSd0RhJ6TCMMXx4eDcenN2fmnrLf72+j0V7jvtdVquYcVMIfP0eKD5K+KG7sIUFfpckIiIicUwBXuLCyPx0fnHNQIZ0S+Xnywp4dM1R6kLx8+2RGXUxgW/9AGqqCP/kbuzBPX6XJCIiInFKS2hapiU07Uh92PLkukJe3lrKyO5p/Ne03uSmx8+EF1twgPDP74FgDYFvfA8zZJTfJYmIiEg7oCU00mElBgxfGNeDb03tze5jNXzr1b1sKqzyu6yomV79CNz9EGRlE/7FPdgNa/0uSUREROKMArzEpRkDs/jp3IGkJQX47vz9/GPrMeLl2ySTm0/g//0IevYj/L8/ILxykd8liYiISBxRgJe41T87hZ/OHciEPl14fG0h7sYSv0uKmsnKJnDngzB4JPb3Pyf85r/8LklERETihAK8xLWM5ATuntGHKy7oyl/fK+bvm+IoxKelE7j9PrhoAvavvyP8j6fj5lsEERER8Y8CvMS9gDF8bVJPZgzM4sn1Rby89ZjfJUXNJCUT+Mp/Yy67AvvyX7HPPI4Nh/0uS0RERNqxRL8LEImFhIDh9st6URey/H5tIUkBwzXDcvwuKyomIQE+9w3I6IKd/zJUVsBnv4FJ1L+eIiIi8n7qwEuHkRAwfGtqbyb06cLvVh9l/q4yv0uKmgkEMM4XMNffgl3xFuHf/ghbG/S7LBEREWmHFOClQ0lKMNw1vTeX9srg1yuO8FYc7dpqjCFwrYO5+SuwYQ3hh+/FVp3wuywRERFpZxTgpcNJSghw94w+XNgjnV8uL2DpvnK/S2qVwMxrMF+6E3ZvJ/w/38GWl/pdkoiIiLQjCvDSIaUkBvjOzL6MyEvjZ28fZsWBCr9LapXAhOkEvvZdKDxM+KG7scVH/S5JRERE2gnTmrF1juP0BR4A5gK5QAHwInC/67ottgkdx8kArgeuBS4F+gFhYBvwN+AR13VrT7vmPuDeFl56t+u6g5tcMxN48yznP+S67t0t1RthDx8+HOWp0t5U1YW4b+EBdh2r4b9n9GV8ny5+l9QqdtdWwr96AJKTCdx+P6bPAL9LEhERkTbQu3dvABPNuVF34B3HGQysBT4PrAJ+AewGvgksdxwnN4qXmQ48BVwNbAQeAf4K9AF+CrzpOE7qade8BdzfzJ93Iue82sz7LWrmuvlR1CodQHpSAvfM6seA7FR+vPgQ6wsq/S6pVczgEd6urRbCP/lv7K6tfpckIiIiPmvNnLrfAPnAN1zXfaThoOM4PwfuAB4EvtzCaxwBbgGebdppdxznTrygPgX4KvCzhudc130r8twpHMdJAL4Q+fHRZt7vLdd172uhJunguiQncP8V/fju/P08uOgg987qx5ge6X6XFTXTZwCBu35M+Bf3EP759wj8x7cxoy/xuywRERHxSVQd+Ej3/SpgL/C/pz19L1AJ/FtkiUyzXNdd77ruX05fJuO6bgUnQ/vMaGoCPgT0BVa4rvtelNdIJ5WZksADV/ajR5ckvv/WAbYUVfldUquY7j0J3PUQ5Pcm/Mj3Ca9e6ndJIiIi4pNol9DMijzOc133lG0iI+H7bSAdmPwBaqmLPNZHef5tkcfmuu8AQxzH+ZrjON92HOdWx3GGnnt5Eu+6piby/Sv70y0tiQfePMiOkmq/S2oV0zWHwH89CIOGYR/7H8KLXvO7JBEREfFBtAF+eORxezPP74g8DvsAtdwaeWwxlURupr0GOA48c5ZTb8ZbZ/8g8Htgu+M4zzmOEx9bdErM5aQl8v3Z/chKSeDehQfYfazG75JaxaR3IXD7/TBmHPap3xD+p0trbkQXERGR+BdtgO8aeWxuV5yG49nnUoTjOF/Dm2yzHvhDFJd8AUgAnnJd90xrIYqAu4ELgUygO17gXwfcCPzDcZxmP7vjOLc5jrPGcZw1rfogEhfy0pP4/pX9SU8McM/CA+wri68dT01KircOftLl2Befwj77B2w43PKFIiIi0iG05ibWNuE4zg3Aw3g3uN7oum5dC+cHOHnz6v+d6RzXdTcBm5ocOgG85jjOMrxfEqYC1wEvNXP9o5xcmqP2ZgeU3yWJ78/uz7ff2M/3Fuznh7P707drit9lRc0kJsKtd0BGJvaNl+BEBXz265iEBL9LExERkTYWbQe+ocPetZnnG46XtebNHce5HngaKARmuq67O4rLrsGbH7/Cdd0NrXk/13XL8cZWAsxozbXS8fTKTOb7s/thgO8uOEBBRW2L17QnJhDAfPJLmI98Grt8IeHf/RhbF1+fQURERFov2gC/LfLY3Br3hptDm1sj/z6O43wceBY4Clzuuu62Fi5p0HDz6hm771EoijyedWKOdA59s1L4/pX9CYUt352/n6Mn4isAG2MIXPdJzKdug/UrCT98H7Y6vibsiIiISOtEG+AbdjW96vS1447jZOItSakCVkTzYo7j3Iy38+phvPC+o4VLGq7rjbeLa0s3r55Nw6ScaLr90gn0z07hgSv7UVMf5nsLDlBUedZVXO1S4IoPY774Ldi1hfBPv4OtaO52FREREYl3UQV413V3AfOAgXgbLTV1P143+8+u6zZuc+k4zgjHcUac/lqO43wW+BOwH5gR5bKZBg03r/7Zdd1mZwA6jjO+meO3AJ8AagG3Fe8rHdygnFTuu6IfFcEQ9yzYz7HqaKeZth+BSZcT+Op34MgBwg/djS0pavkiERERiTsm2hF0kc2cluHtxvoSsAWYhDcjfjswxXXdkibnWwDXdU2TY7OA+Xi/OPwBOHCGtypzXffhM7x/AK9rPgC46Gzr3x3H2Ys3T34NcBBIBSYAEyPHv+S67hNRfXCwhw8fjvJUiXdbi6q5d+EB8tITeXBOf7JTfb/Pu9Xsjs2EH/k+pKYRuON+TK9+fpckIiIiLejduzeAaek8iH4JTUMXfjzwBF5w/xYwGPglMLlpeD+LAU3e81a8XVxP/3N7M9deHbk+mptXfwvswVva81Xgi0BepPbxrQjv0smM6J7GPTP7UlRZxz0LDlAeDPldUquZoaMI/L8fQqie8E/uxu6JaoWaiIiIxImoO/CdmDrwndC7Ryr5/psH6Z+dzANX9qdLcvyNZ7SFBYR/cQ9UlBP46rcxI8f6XZKIiIg0o0068CKdydieGfz3jD7sK6vl/oUHqKqLw058fi8Cd/0Y8vIJ/+p+7DvL/C5JREREYkABXqQZ4/p04f9N782uYzV8/82DVNfF326nJjuXwH/9CAYMIfy7nxBeMs/vkkREROQDUoAXOYtJfTP51rTebC2u5sFFBwnWx2GIz+hC4I4HYPTF2D/9mvDrf/e7JBEREfkAFOBFWjC1fxa3X9aLjUer+OHiQ9SG4jDEp6QS+Op3MBOmY597gvBzf8SG429ZkIiIiCjAi0Tl8kFd+drknqwvqOQnSw5RF4q/m79NYhLmi/+JmXkN9vUXCP/gP7HbN/pdloiIiLSSptC0TFNopNFrO0r57aqjXNavC3dO60NiIKqbxdsVay12zdvY5/4Ax4ox46dhbvo8Jre736WJiIh0Wq2ZQqMA3zIFeDnFP7Ye4/G1hUwfkMkdU3qTEIchHsAGg9jX/459/XkAzNU3Yq6+AZOS4nNlIiIinY8CfGwpwMv7/H1zCU+uK+KKC7L4+uReBEx8hngAW1KEff4J7Ool0K27140fPxUTx59JREQk3ijAx5YCvJyRu6GYv7xXzFVDuvKViT3jOsQD2O0bCT/9GBzYA0NHEfjklzD9B/tdloiISKegAB9bCvDSrKfWF/HsphI+NCyb28b3iPuutQ2HsEvfwL7wFFRWYKZfhbn+FkxmV79LExER6dAU4GNLAV6aZa3liXVFvLjlGB8dkcPnL82P+xAPYCtPYF95GvvmPyE5FfORT2JmXotJTPS7NBERkQ5JAT62FODlrKy1PLa2kH9uK+Wm0bncMjavQ4R4AFtwgPDTj8PmddCrH4FPfBEz+hK/yxIREelwFOBjSwFeWmSt5berjvL6zjI+dVEen7wwz++SYsZaC++tJvzM41B0BMZOJODcisnv7XdpIiIiHYYCfGwpwEtUwtbyyIojLNx9nM9c3J0bR+f6XVJM2bo67IKXsa+4UF+Hmf0RzIcdTGq636WJiIjEPQX42FKAl6iFwpaHlxWweF85XxiXz0dGdPO7pJizx0uxf/8TdtkC6JqDueEzmMmzMAFt7CwiInKuFOBjSwFeWiUUtvzP0sMsP1DBlyf04JphOX6X1Cbsnh2En34Udm+DQcO8sZMXDPe7LBERkbikAB9bCvDSanUhy0NLDrH60Am+Prknswdn+11Sm7DhMHblIuzzT8LxY14n/sbPYLI71vIhERGRtqYAH1sK8HJO6kJhfrjoEOsKKrl9Si9mDuq4s9RtTTX2X89i33gREhIx1zreGvmkZL9LExERiQsK8LGlAC/nLFgf5gdvHWRjYRXfmtqbaQOy/C6pTdnCAsLP/hHWr4DuPQk4t8LYSR1mrKaIiEhbUYCPLQV4+UBq6sPcv/AAW4uruWt6Hyb3y/S7pDZnN68n/PRjUHAARl3szY/v3d/vskRERNotBfjYUoCXD6yqLsR9Cw+w61gN/z2jL+P7dPG7pDZnQyHsW69iX/4L1FRjZl2Lue5TmIyO/9lFRERaSwE+thTgJSZO1Ia4Z8EB9pcF+e7MvlzcK8Pvks4LW1GOffkv2EWvQ0YG5qO3YGZchQkk+F2aiIhIu6EAH1sK8BIzFcEQ352/n8MVtdw7qx9jenSeTZDsgT3esprtG6HvQAKfvA0zfIzfZYmIiLQLCvCxpQAvMXW8pp7vzN9PUWUd913Rj5HdO1GItxbeWebd6FpSiBk3FfPxz2Ny8/0uTURExFcK8LGlAC8xV1pdz7ff2E9ZTT0PXNmPoblpfpd0XtnaIHbeC9hXnwML5uobMHNvwKSk+l2aiIiILxTgY0sBXtpEcVUd33ljPxW1IX5wZX8u6Nb5wqs9VoR9/knsqsWQk4e56XOYCdM1dlJERDodBfjYUoCXNlN4oo5vv7GPmpDlwdn9GZCd4ndJvrA7NhN++lHYvxuGjCLwyS9hBgz2uywREZHzRgE+thTgpU0VVNTy7Tf2E7KWH87uT9+unTTEh0PYtxdgX/gznCjHTJuDuf4WTFa236WJiIi0OQX42FKAlzZ3sDzId97YjzGGH83pT6/MZL9L8o2tOoF95RnswlcgORVz3Scxsz6ESUzyuzQREZE2owAfWwrwcl7sLwvynfn7SU4w/HBOf3p06bwhHsAWHCTsPg4b34GefbzdXMeM87ssERGRNqEAH1sK8HLe7Cmt4bvz95ORnMCDs/vTPaNzd52ttbBhDeFnfg+Fh+HC8V6Q79Hb79JERERiSgE+thTg5bzaUVLNPQsOkJ2awINzBtAtLdHvknxn6+uwC17BvvI01NVhZl+HufYTmLTOM0NfREQ6NgX42FKAl/Nua1E19y48QF56Ig/O6U92qkI8gD1ein3hT9i3F0BWNuaGz2AuuwITCPhdmoiIyAeiAB9bCvDii01Hq7jvzQP0ykzmB7P7k5WS4HdJ7Ybds4PwM4/Brq0wYAiBT92GGTzC77JERETOmQJ8bCnAi2/WF1Tyg7cO0j87mQeu7E+XZIX4BtZa7Mq3sM8/CWXHMJNnYm74LCYn1+/SREREWk0BPrYU4MVXaw+d4IeLDzEoJ4UHruxHepJCfFO2phr76nPYeS9CQgLmmpswV12PSercU3xERCS+KMDHlgK8+G7lgQoeWnKIYXlp3DurH2lJWvN9Olt0hPCzf4B1KyCvB4GP3wqXTMaYqP6/UERExFcK8LGlAC/twtv7yvnp24cZnZ/O92b2JSVRIf5M7JZ3CT/9GBzeDyPHemMn+wzwuywREZGzUoCPLQV4aTcW7TnOL5YVMLZXBt+5vA/JCQrxZ2JDIeyiV7Ev/RVqqjCXX4P56KcxGZl+lyYiInJGCvCxpQAv7cr8XWU8suIIE/pkcNf0viQlaIlIc+yJcuxLf8Uueg3SMzAfvRkz42pMgu4jEBGR9kUBPrYU4KXdeXV7Kb9bfZTL+nXhzml9SAwoxJ+NPbiH8NOPw7YN0GcAgU9+CTPiIr/LEhERaaQAH1sK8NIu/WPrMR5fW8j0AZncMaU3CQrxZ2WthXeWeze6lhTCpVMI3PQ5TPeefpcmIiKiAB9jCvDSbv19cwlPriti1qAsvnFZLwKauNIiWxvEznsR++pzEA5jrv6YN3oyJdXv0kREpBNTgI8tBXhp19wNxfzlvWKuGtKVr0zsqRAfJXusGPv8k9hViyA7F3PT5zATZ2jspIiI+EIBPrYU4KXde2p9Ec9uKuFDw7K5bXwPhdBWsDs3E/7bY7B/FwweQeBTt2EGDPG7LBER6WQU4GNLAV7aPWstT6wr4sUtx/joiBw+f2m+Qnwr2HAI+/YC7At/hhPlmKmzMR+7BZOV43dpIiLSSSjAx5YCvMQFay2PrS3kn9tKuWl0LreMzVOIbyVbVYn95zPYBf+A5BTMhz+BueLDmMQkv0sTEZEOTgE+thTgJW5Ya/ntqqO8vrOMT12UxycvzPO7pLhkjxwk/MzvYeNa6NGHgHMrXDhevxCJiEibUYCPLQV4iStha3lkxREW7j7OZy7uzo2jc/0uKW7ZDWu8IH/0EHTthrlwHObC8TBqLCY13e/yRESkA1GAjy0FeIk7obDl4WUFLN5XzhfG5fOREd38Lilu2fo67Oql8O4q7OZ1UF0FiYkwdDTmovGYCydgevT2u0wRkTNaX1BJZW2IoblpdM9I1DeJ7ZgCfGwpwEtcCoUt/7P0MMsPVPDlCT24ZphuyPygbH097NqCfW8NdsMaKDjgPZHfOxLmx8Ow0VozLyK+Kw+G+L/VR1i6r6LxWHZqAsPy0hiam8qwXO8xIznBxyqlqTYL8I7j9AUeAOYCuUAB8CJwv+u6pVFcnwFcD1wLXAr0A8LANuBvwCOu69ae4bqzFbnSdd3Jzbzfh4E7gUuABGAT8BvXdZ9sqdYmFOAlbtWFLA8tOcTqQyf42qSezBmS7XdJHYotOoLdEAnzWzdAfR2kpHlLbC70Ar3J1rcfInJ+rTxYwW9WHuFEbYhPjMnjkt4ZbC+uYXtJNTtKajhUfjJq9c1KZlheQ6BPY2BOCona2dsXbRLgHccZDCwD8oGXgK3ARGAWXgCf6rpuSQuvMRd4FTgGvAnsBHKAjwA9I69/peu6NaddZ4F9wBNneNmDrus+fob3+hrwCFACPAPUAjcBfYGfua57ZzSfGwV4iXN1oTA/XHSIdQWV3D6lFzMHdfW7pA7JBmtg63snu/Olxd4T/Qef7M4PHIoJBPwtVEQ6rBO1IX6/9igLd5czMDuF26f0YlDO+3eZPhEMseNYDTuKq9leUs324hqOB0MAJCcYLshJZWgk1A/PSyU/I0lLb86DtgrwrwNXAd9wXfeRJsd/DtwB/J/rul9u4TUuBkYDzzbttDuOkwm8hdeVv9N13Z+ddp0FFrmuOzPKWgfi/YJRCYxzXXdv5HgOsBoYDExxXXd5FC+nAC9xL1gf5gdvHWRjYRXfmtqbaQOy/C6pQ7PWwqG9J8P8rm1gw5DZFTPmUrhwAmb0xZj0Ln6XKiIdxDuHT/DrFUcorannptG5OGPySEqILnRbaymsrDulS7/rWA21IS8jdk1JYGhuKkPz0hgWWX7TJUVLb2It5gE+0n3fCewFBruuG27yXCbeUhoD5LuuW9n6ksFxnE8DfwFecV33utOea22AfwD4HvCA67r3nvbcrcDvgT+5rvvZKF5OAV46hJr6MPcvPMDW4mrumt6Hyf0y/S6p07AnyrGb1sF7a7Cb3oHKCggEYMiok935Xv3U4RKRVquqC/HEO0W8vrOMvlnJ3D6lF0Nz0z7w69aHLfvKgmwvrmZ7SQ3bi6s5VF5LQ2rsnZnEsNy0xjX1g3JSSErQN4wfRGsCfGKUrzkr8jivaXgHcF23wnGct/G685OBBVG+5unqIo/1zTyfHQnfPYHjwFrXdVc0c+4VkcfXzvDcq6edI9IppCYG+N6svty38AA/XnyI3lnJDMxOYVBOCgOzUxmYk0JeuiYUtAXTJQsz6XKYdDk2HILd2xq78/a5J7DPPQG5+Y1TbRg+BpOc4nfZItLObThaya+WH6Goso7rR3bj5rF5JMcoRCcGDIO7pTK4WyrXRI5V1obYecwL8ztKanj3SCVv7S1vPP+CnJTGLv3wvDR6dtHSm7YSbYAfHnnc3szzO/AC/DDOPcDfGnk8U+gGGIvXOW/kOM67wL+5rrvhtHObrdd13QLHcSqBvo7jpLuuW3WO9YrEnfSkBO6d1Y9XtpWy61gNO4/V8Pb+kxMKuiQHGJiTekqw79c1mZREdVVixQQSvM77kFFww2ewx4qwG9Z6Yf7tBdg3/wXJyTCiyY2wud39LltE2pFgfZg/rS/ilW2l9MpM4kdz+jMyv+33pshITmBszwzG9swAvKU3xVX1jevod5RUM39nGf/c5vXpM5MDDM1NY1heqveYm0pWarTRU84m2r/FhrvejjfzfMPxcxpxEbnhdC6wHvjDGU75OfA8XiCvAUYAd+HdlLrQcZyLXdc91Mp6MyLnvS/AO45zG3AbgOu6rf04Iu1aRnICn2iyQ2tlbYh9ZUH2lgXZWxpkT2kNb+wsIxhZ+xgw0Dsz2Qv0TcJ9tzR162PBdOuOuXwuXD4XW1cL2zac7M6/t9r7urrPgJPd+QuGYxK09lSks9pSVMWvlhdwuKKOa4dl85lL8kn1qclijKF7RhLdM5KY2t+7tyoUtuw/HmRHSQ3biqvZUVzDMxtKGpfe9OzSsPQmlWF5aQzKSYnZtwadie+/BjmOcwPwMHAEuNF13brTz3Fd91unHVoDfNxxnOeAG/FGRd4Rq5pc130UeDTyowblS4eWkZzAqPx0RjXp3oSt5UhFHXvKathb6oX7bcXVLGkyTzgzJYGB2SkMzElhULYX7vt1Tdb/EX8AJikZxozDjBmHtbfBkYMnw/y8F7GvPg/pXSI3wo7HjL4Uk6kbkkU6g9pQmL+9V8yLW46Rl57I96/sx0WRTnh7khAwDMpJZVBOKldFRhdX1YXYdaymsUu/qbCKxfsalt7AwOzUk136vFR6ZyYTUIPorKIN8A2d7ObmzzUcL2vNmzuOcz3wNFAIzHJdd3drrgd+hxfgZ5x2/DiQF6nrTKMtW+rQi3RqAWPonZVM76xkpvY/efxEQ7c+0qnfWxbk9R1ljZMKAsabKXzKMpycVHJSE9StbyVjjHdja69+cPXHsFWVsHmdF+g3roVVi7EmABcMa1xqQ79B+nsW6YB2ltTw8PLDHDhey1VDuvL5S/NJT4qfb+LSkxK4sEcGF/Y4+QtHSVVd482x20tqWLi7nH9t92JkRnKAod28Dv2w3DSG5qWSraU3p4j2b2Nb5HFYM88PjTw2t0b+fRzH+TjwV7zO+xWu6+6I9tomiiKPp/8Kug0vwA8DThkV6ThOr8j5B7X+XaR1uiQnMDo/ndFNuvWhsKXgRC37SoPsKQ2yt6yGzYVVLI7c2ASQlZJwSqd+YHYK/boma2JBK5j0DBg/DTN+GjYchn07T3bnX3wK++JTkJ2LuXAc5qLxMPJiTMr75z+LSPyoC1me3VTMsxtLyE5N5J6ZfRnXp2OMn81NT+Ky9CQui0xEC4UtB8trG2+Q3V5SzXObSghH1kHkZyQ1bjg1LDeVC7qldur7s6IN8G9GHq9yHCdwhjGSU/HWkjc3FeYUjuPcDDwJHOLcOu8NGnZgPf36hZGa5nJagIfGm6kXnuN7ikgTCQFD36wU+malMHXAyeMngiH2lp3s1O8tDfJqk259goG+XVNOLsPJSWVQdgrZaeqytMQEAjBoGGbQMPjop7Flx7AbIzfCrl6CXTIPEhNh2IWNYypNfi+/yxaRVthbWsPDywvYUxpk5qAsvjSuR4eevZ4QMAzITmFAdgpzhnjHaurDkaU3XqjfVlTN0shSzoCBgdkpkS69N6O+b1bnWXrTZhs5OY4zAsB13a2nvc5n8W5U3YcX3ve18L4XAVtOXxsfOb4QyAVudl33r02eGwRsQRs5ibQrobCloKI20qkPsre0hj1lQUqqTk6P7ZqacEqnflBOCn2yUqLekKSzs/V1sGOzF+Y3rIEjkfv7e/Y5udRm6ChMYpK/hYrIGYXClhc2H+NvG4rISE7gqxN7Mkn7djQqrT459WZ7STU7S2qoqvP6yulJAYY0Lr3xQn23OGoKtdVOrIOBZUA+8BJeQJ6ENyN+O14gLmlyvgVwXdc0OTYLmA8E8EL8gTO8VZnrug83ueYJ4DpgSeT8IN4UmrlAAvAY8O+u657yQRzH+TrwK7w18M8AtXhTa/oCP3Nd986oPrgCvEibKw+G2Ftaw76yk8tw9pfVUhf57jQxAH2zGjr1J+fWa01ky2zhYW9M5XtrYPsGqK+H1DQYdUmkOz8Ok5Xjd5kiAhw8HuTh5QXsKKlhav9Mvjyhh8YutiBsLYdOW3qztzRI5Mte8tITGzebGp6bxuDcVN+m9rSkTQI8gOM4/YAH8MJzLt4OrC8A97uuW3rauWcK8J8D/tjC2+xzXXdgk2uuBz4DXIT3y0MqXihfAzzmuu7LZ6n3OrwJNZfi/dKwGfi167pPtvxpGynAi/ggFLYcqqj1puBEluHsKQ1yrPpktz4nNaGxU9+wDKdPVjKJAXXrz8TWVMPWdxvXzlN2zHtiwJCTYyoHDPaW6IjIeRMKW17ZVspT7xaRkmD49wk9mT5QE6bOVbA+zO7SmsYu/Y6SGo6e8BZyBAz075rSuJ5+aG4q/bqmkNAO/rvRZgG+k1KAF2lHymvqG8P83siYy/3Ha6lv7NYb+nVNPqVTnLbQDQAAIABJREFUPyg7RV2s01hr4cCek0ttdm8DayErGzMmciPsqEswaW2/OYxIZ1ZQUcuvlhewuaiaCX268NVJPcmJo2Uf8aKspp4dkUC/vcQbZ1lZ6y29SU0MMCQ3lWG5qY0z6nPTz/8yQwX42FKAF2nn6sPeV6hNO/V7y4KUNunWd0tLPKVTPzAnhT6Zye2i69Ie2Ipy7Ka18N4a7KZ3oKoSEiK7xjZ053v20ZhKkRgJW8trO8p44p1CEgOGL47vwaxBWfp37DwJW0tBRV1kjKXXpd9TWkN9GEZ2T+PHVw1o+UViTAE+thTgReJUWU19ZCOqkxtSHTgepD4yRyspYOifndzYqfdumk0lswNPeoiGDYVg19aT3flDkVkD3XuevBF2+Bhv4ykRabWiyjp+taKA945UcXGvDL4+uSd5PnR85VS1oTB7SoPUhyyje5z/bx8V4GNLAV6kA6kLWQ6VB0/p1O8traGsJtR4Tm56YmOYb5iE07sTjSc7nS0p9ML8e2tg23tQWwvJKTByrNedHzMe0y3P7zJF2j1rLQt2H+fxNYVYLJ+/NJ+rh2Sr6y6AAnysKcCLdAJl1fUn59aXBtlTFuTg8ZOTDDJTEhidn8bo/HTG5KczILt93PR0vtnaIGzbcPJG2JJC74m+gxpnznPBMEygc3+LIXK6kqo6/nflEdYermRMfhrfuKwXPbroWyw5SQE+thTgRTqpupDlYHmQXcdq2FxYzabCKo5EJhlkJAUY2d0L9KN7pDO4W2qnm35jrYXDB7AbVnthfucWCIehSyZm6hzM7I9gsrv5XaaIr6y1LNpbzmNrjlIbsnzm4u5cOzyn036jJ81TgI8tBXgRaVRcVcemo1VsigT6g+W1AKQmGkbkpTG6Rzqj89MZlptKUkLnGsdoK09gN6/Drn0b3lkBCQHMlCsxV30M06O33+WJnHdlNfX8dtURVhw4wfC8NL55WS/6ZKnrLmemAB9bCvAi0qyy6no2FVU1hvq9ZUHAu0F2eF4qo3t4S26G56WR0k43D2kLtrAAO+8F7NsLIFSPuXQK5pobMQOG+F2ayHmxbH85v111lKq6MDdflMdHR3brlMvuJHoK8LGlAC8iUasIhthcWMWmwio2Flazp7SGsPV2kx3SLY3R+WmM6ZHOiO5ppCd1/HXi9ngpdsE/sG/9C6qrYORYAtfcBCMu0o170iFVBEM8uvooi/eVM7hbKrdf1ov+2Sl+lyVxQAE+thTgReScVdWF2BJZbrOxsJqdJdWErLcb4AU5qYzpkc6o/DRGd0+nSwceX2mrKrGLX8POfxmOl8KAIQSuuREumawbXqXDWH3wBP+7soDyYAjnwjxuGp3b6e6NkXOnAB9bCvAiEjM19WG2FVez8WgVmwur2FZcQ13YYoCBOSmMyk9nTH4ao/LTye6Au8faulrs8jexr/8dCgsgvzdm7g2YybMwSZqDLfGpsjbE79cWsmD3cQZkp3D7Zb24oFuq32VJnFGAjy0FeBFpM7WhMDuKayId+iq2FlUTjMyu7JuVzJjITbGj89N82dq7rdhwCNatIPzq87BvJ3TthpnzEcyMuZi087+Bisi5Wl9QySMrCjhWXc8No3L55IW5ne4GdokNBfjYUoAXkfOmPmzZdayGjUe9dfRbiqqpqvO2ju3ZJemUQN8RZkhba2Hre4RffQ62vAtpGZiZ12BmX4fJyvG7PJFmVdeFeXJdIa/uKKNPVjLfvKwXw/PS/C5L4pgCfGwpwIuIb0Jhy96yYGOg31xYRUWtF+i7pyc2zqEfnZ9O78ykuL4x1O7dQfi15+Gd5ZCQiJk22xtB2b2n36WJnGLT0Sp+taKAoyfq+MiIHG4e271TTZmStqEAH1sK8CLSboStZX9ZsHEO/cbCKo7XhADISU3w1tBHRlf27Zocl5vF2COHvBGUyxdCKIwZPxUz90ZM/wv8Lk06uWB9mKfeLeIfW0vp0SWJb1zWi9H5WvIlsaEAH1sK8CLSbllrOVRRy6ajJwN9SVU9AJkpCYzO93aLHZOfzoDslLiaQ23LjmHnv4xd9CrUVMPoS7wRlMPGxPU3DRKfthVX88vlBRwqr+Waodl89pJ80pLUdZfYUYCPLQV4EYkb1lqOnqhrHFu5ubCKIyfqAMhICjCy+8ndYgd3S42LEXe26gT2rVe9EZQVx2HQMAJzb4SLJ2ECClDStupCYf72XjEvbDlGbloiX5vci4t7ZfhdlnRACvCxpQAvInGtqLIusn6+mo2FVRwqrwUgNdEwort3Q+yY/HSG5qa26+kZtjaIXbYQO+8FKDoCPft6IygnXY5J7DgTeqT92HWshl8uK2Df8SCzB3flC+PyO8UGbOIPBfjYUoAXkQ6lrLqeTU12i91XFgQgOcEwLC+NMZFlN8Pz0trljXk2FMK+swz76nNwYA9k52LmfBQz4ypMqtYjywdXH7Y8t7EEd2MxWamJfG1ST8b36eJ3WdLBKcDHlgK8iHRoFcEQmyPr5zcVVrOntIawhcQADOmWFhldmcaI7mntqvtorYVN67zJNds2QHoGZta1mCuvw2R2bdP3DoUtwVCYmnpLsD5MTeRPsN42/vPpP3vnvf/n2lCYnpnJDM9LY0ReGkNyU0lth784dRb7yoL8cvlhdh0LcvnALL40vgeZHXiXZGk/FOBjSwFeRDqVytoQW4uqI4G+ip0lNYQsBAxckJPaGOhHdU+nSzsJNnbPdi/Ir1sBSUmYqbMJz7me2uzu7wvZDSE62EzIrm5yfvD080OWmrowdeHW/bczMWBITTSkJAZITQx4/5zg/XNSguHA8SCHK7x7FQIGBuWkMDwvrfFPzy7xPSI0HoTClhe3HOOv7xWTkRTgK5N6clm/TL/Lkk5EAT62FOBFpFOrqQ+ztai6cdnN9uIa6sIWAwzMSfFGV0aW3XRNTWzVa5/eya6uaxKUmwnZDSH8jCE7WEd1TZCgNdQFWrcuvrmQnZYUiBw7GbpTEwOkJJrGfz7958bzIz9Hc7NweU0924pr2FpczbbianaUVFNT7/03umtqQmOYV5c+9g6V1/LL5YfZVlzDZf0y+crEHq3+37LIB6UAH1sK8CIiTdSGwuwormns0G8tqiYY8v5b0jcrmVH5aSQGTLMhu+nPH7yT7QXlU0JzQoCU+iCp+7eRsmsLqbWVpPTqQ9rF40ntN4DUpFNDdsM/t7eJPKGwZf/xIFuLvEC/rbj6lC79wGyvSz+iu7r05ypsLa9sK+XP64tITjD8+4SeTB+Qqb9H8YUCfGwpwIuInEVdyLK7tKZxt9jtxdVYeF83+vSQfS6d7dbOsbeVFdg3/4Vd+Io3gnLwCG8E5UUT4nIEZUOXviHQby+poabe25m3a0oCw7unMTw3jeHdUxmam6Yu/VkcqajlVysK2FRYzYQ+GfzHpF50S1PXXfyjAB9bCvAiInHOBoPYZfOxr78AJYXQq583gnLi5ZjE+A1t7+/S13C4whsTqi79mVlreW1HGU+sKyRgDF8Yl8+VF3Tt9H8v4j8F+NhSgBcR6SBsKIRds9QbQXloH3TLw8y5HjP9KkxKqt/lxUR5MMT24urGUH96l35YZB19Z+zSF1XW8esVBaw/UsXYnul8fXIvumdoDwFpHxTgY0sBXkSkg7HWwsa13uSa7ZsgIxNzxbWYWR/GZGb5XV5MhcKWA8eDjTfHbi06tUs/IDvFC/SRTn1H7NJba1m4+ziPry0kbC2fuySfuUOzO9znlPimAB9bCvAiIh2Y3bnFC/LvroLkFK8bP+d6TG53v0trMw1d+m3F1WwtrmZ78Zm79MPyvC59WlL8dumPVdfzm5UFrD5Uyej8NL4xuRc9M5P9LkvkfRTgY0sBXkSkE7CH92Nf+zt21SIAzMQZmKtvxPTp73Nlbe/0Lv224hoOlcd3l95ay5J9FTy6+gjBkOXfLu7Oh4fnEGjndUvnpQAfWwrwIiKdiC0pws5/Cbv4dagNwtiJBObeiBky0u/SzquzdemzUhIYnpfaOJu+vXXpj9fU87vVR1m2v4Jhual8c0ov+mal+F2WyFkpwMeWAryISCdkT5RHRlD+A05UwJBRBK65ES4c3+67z22hoUvfdLOp07v0TTeb6pXpT5d++YEKfrvyCJV1YT51UR4fG9mt1eNHRfygAB9bCvAiIp2YDdZgl76BnfcCHCuGPgO8EZTjp8f1CMpYqAiGGmfSb4t06at96tKfCIZ4bM1R3tpbzgU5Kdw+pTcDstV1l/ihAB9bCvAiIoKtr8euXoJ97Xk4vB9y872bXafNwaQoKMKpXfqGUH/wPHTp1x46wa9XHuF4TT0fH5PLx8fktbuddUVaogAfWwrwIiLSyIbDsGEt4VefhV1boUsW5soPY2Zdi8nI9Lu8dqeiYS79Gbr0mSkJDM9NZXh3L9C3tktfVRfi92sLmb/rOP27JnP7lN4M7tYx5vlL56MAH1sK8CIickZ2x2bCrz4HG9ZASipm+tWYOR/FdMvzu7R2KxS2HCyvjcykP3uXfnheGr2b6dK/e6SSR5YXUFJdz8dGduNTF+WRlNB+bqQVaS0F+NhSgBcRkbOyB/diX/87dtViMAHMpMu9dfK9+vldWlxo6NJvK6lmW5G3e2xV3Zm79P27pvDMxmL+tb2M3pnJ3D6lF8Pz0nz+BCIfnAJ8bCnAi4hIVGzxUewbL2GXzoPaWrh4MoG5N2AGj/C7tLhyti49eAnnwyNy+Lex3UlJVNddOgYF+NhSgBcRkVaxFcexC1/BLvwnVJ2AYWO8EZSjL+2UIyhj4UQwxPaSanYdq2F0fjqj8tP9LkkkphTgY0sBXkREzomtqcYumYd94yUoLYa+gyIjKKdhEhL8Lk9E2hEF+NhSgBcRkQ/E1tdhVy72RlAeOQh5PTBXfwwz5UpMskZQiogCfKwpwIuISEzYcBjeXeVNrtmzHTK7Yq68DjP9KkxWtt/liYiPFOBjSwFeRERiyloL2zcRfu152LgWAgEYdTFm4uWYSyZhUrW+W6SzUYCPLQV4ERFpM/bQfuzKt7wRlCWFkJyMGTsJM3EGjLkUk5jkd4kich4owMeWAryIiLQ5Gw7D7q3eWvk1S+FEOaR3wYyfipl4OQwdhQloZKJIR6UAH1sK8CIicl7Z+nrYsh67chF2/UoI1kBOHmbidC/M9xukcZQiHYwCfGwpwIuIiG9ssAa7fqW3xGbTOxAKQa9+3m6vE2dguvf0u0QRiQEF+NhSgBcRkXbBnijHrnkbu2oR7NjsHRw8wgvy46dpko1IHFOAjy0FeBERaXdsSRF21WIvzB/c602yGTkWM2mmJtmIxCEF+NhSgBcRkXbNHtrnrZdvmGSTlIwZOxEz6XJNshGJEwrwsaUALyIiccFaC7u2Ylctwq5uMslm3BTMpJmaZCPSjinAx5YCvIiIxB1vks273oz5hkk22bneevlJM6DfBZpkI9KOKMDHlgK8iIjENRuswb67yltis3HtyUk2E2d4f/J7+V2iSKfXZgHecZy+wAPAXCAXKABeBO53Xbc0iuszgOuBa4FLgX5AGNgG/A14xHXd2tOu6QPcAHwIGAn0Ak4A7wC/dV3372d4n5nAm2cp5SHXde9uqd4IBXgREekw7Ily7Npl3s2v2zd5By8Yjpl4OWbCVExWjr8FinRSbRLgHccZDCwD8oGXgK3ARGAWXgCf6rpuSQuvMRd4FTiGF7B3AjnAR4Cekde/0nXdmibX/Bi4C9gDLAKOAAPwQn0K8AvXdf/ztPeZGXn9RcBbZyhlqeu686P64ArwIiLSQdmSIuzqxdiVi+HgnpOTbCZejrlkMiZNk2xEzpfWBPjEVrzub/DC+zdc132k4aDjOD8H7gAeBL7cwmscAW4Bnm3aaXcc5068oD0F+CrwsybXrAJmuq67qOkLOY4zElgB3OE4zl9c1117hvd7y3Xd+6L6dCIiIp2Mye2OmXsjzL0Re2i/d/PrykXYPz6Mfaphks0MGD0Ok6RJNiLtRVQd+Ej3fSewFxjsum64yXOZeEtpDJDvum7luRTiOM6ngb8Ar7iue12U1zwKfAm403XdnzU5PhOvA39/DAK8OvAiItJpWGth9zbv5tf3TbK5HIaO1iQbkTbQFh34WZHHeU3DO4DruhWO47wNXAVMBhZE+Zqnq4s81sfwmiGO43wNyMLr/i9xXXfHOdYnIiLS4RljvN1dB4/AOl+Ere82zpi3S+Zpko1IOxBtgB8eedzezPM78AL8MM49wN8aeXwtmpMdx8kCbgQsMK+Z026O/Gl63fPAl6K56VZERKQzM4mJMGYcZsw4bDCIfW+VF+YXvIyd9wL07IuZdLkm2YicZ9EG+K6Rx+PNPN9wPPtcioh0yecC64E/RHG+AR4HegC/cV13y2mnFAF3A//EW/aTCowHfogX+ns6jjPj9G8Tmrz+bcBtAK7rnsMnEhER6VhMSgpmwnSYMN2bZPPOMi/Mv/QX7Et/gUHDvDA/YZom2Yi0sdbcxNomHMe5AXgYb4nLja7r1rVwCXg3uX4cWAL85+lPuq67CdjU5NAJ4DXHcZbh/ZIwFbgOb5rO+7iu+yjwaORHDcoXERFpwnTJwsyYCzPmYo8VYVcvwa5YhH36Mewzv/cm2UyagbnkMk2yEWkD0d6F0tBh79rM8w3Hy1rz5o7jXA88DRTiTZrZHcU1P8GberMY+JDrusFo38913XLgr5EfZ7SmVhEREXk/0607gatvIOHeXxK479eYa26CwsPYP/6S8Lc+Q/h3D2HXrcDWRdOfE5FoRNuB3xZ5HNbM80Mjj82tkX8fx3E+jhemjwBXRHNzqeM4vwBux5sw82HXdauifb8miiKPGedwrYiIiDTD9OmP+dgt2OtvjkyyWYRdsxS79m1Iz8CMm4qZOAOGjdEkG5EPINoA37Cr6VWO4wTOMEZyKlCFN5e9RY7j3Aw8CRwCZrXUeY+sef818B/AG8BHXdetjrL2002OPLbY7RcREZHWO2WSzSe+CFvWY1cuxq5a0mSSzXTMxMuhvybZiLRWVL/+uq67C2/Sy0C8jZaauh+vm/3npjPgHccZ4TjOiNNfy3GczwJ/AvYDM6IM74/ihfdXgY+0FN4dxxnfzPFbgE8AtYDuThUREWljJiEBM2YcgS/cQeBnf8Lc9l8wYDB2wSuEf3AH4Xu+SviVp7GF2nNFJFpRbeQEjZs5LcPbjfUlYAswCW9G/HZgiuu6JU3OtwCu65omx2YB8/F+cfgDcOAMb1Xmuu7DTa65F7gPqMa72bX2DNesd133xSbX7MWbDb8GOIg3hWYCMDFy/Euu6z4R1QfXRk4iIiIxZysrsGvfxq5cDNs3egcbJtmMn4bpqkk20rm0xUZOuK67K9LZfgBv5OOH8HZg/SXejqfRzFUfwMmu/63NnLMPL6g3GBR5TAP+u5lrngRebPLzb4HZeEt78vD+Mg4BTwAPu677bhS1ioiISBsxGZnvn2SzUpNsRKIRdQe+E1MHXkRE5Dyxh/dH1ssvguKjkJQMF40nMGmmt6lUUpLfJYq0idZ04BXgW6YALyIicp5Za71JNqsWY1cvgYrjkJaBGTcFc9ksGDpaN79Kh6IAH1sK8CIiIj6yoRBseRe7ahH2nRUQrIYefTBTZ2OmXKH18tIhKMDHlgK8iIhIO2GDNd7Nr0vfgB2bIRCAiyYQmDbHW2KTkOB3iSLnRAE+thTgRURE2iF75CB26Xzs8oVQXgZdu3kd+WmzMfm9/S5PpFUU4GNLAV5ERKQds/X1sHEN4SVvwIa1YMPebq/T52AunYJJTvG7RJEWKcDHlgK8iIhInLBlJdhlC70lNkVHvBtfJ83ATLsKM2Cw3+WJNEsBPrYU4EVEROKMDYdhxybs0jewa5dBXS30G4SZNgczaSYmo4vfJYqcQgE+thTgRURE4pitOuHNll/6BuzfBYlJ3tKaabNh+IWYQKDlFxFpYwrwsaUALyIi0kHY/bu8rvzKRVBVCd17RsZRXonJyfW7POnEFOBjSwFeRESkg7G1Qew7y72u/LYNYAIw5lJvHOVFEzCJiX6XKJ2MAnxsKcCLiIh0YLawAPv2fOyyBVB2DDK7Yi67wlsv36uv3+VJJ6EAH1sK8CIiIp2ADYVg0zuRcZSrIRSCISO9CTbjp2JSUv0uUTowBfjYUoAXERHpZGx5KXb5m9glb8DRQ5CahpkwHTP9Khg4FGOiylkiUVOAjy0FeBERkU7KWgs7t3g3vq5ZCrVB6DPA2+110ixMZpbfJUoHoQAfWwrwIiIigq2uwq5ejF06H/Zsh8REzMWTMdPmwMixGkcpH4gCfGwpwIuIiMgp7MG9Xld+xVtQWQHdunvjKKfOxuR297s8iUMK8LGlAC8iIiJnZOvqsOtXeOMot7zrHRx5MYHpc2DsJExSkr8FStxQgI8tBXgRERFpkS0+in17AXbZfDhWDF0yMZNneeMo+wzwuzxp5xTgY0sBXkRERKJmwyHY/C7hpfNg/SoI1cOgYV6Qnzgdk5rud4nSDinAx5YCvIiIiJwTW3Ecu+It7JJ5UHAAUlK9mfLT5sDgkRpHKY0U4GNLAV5EREQ+EGst7N7m7fi6agkEq6FnX68rf9ksTFa23yWKzxTgY0sBXkRERGLG1lRj1yz1bnzdtRUSEmDsRALT5sDoSzCBBL9LFB8owMeWAryIiIi0CVtwwBtHufxNqDgO2bmYqVd64yi79/S7PDmPFOBjSwFeRERE2pStr4N3VxNe+gZsWgc2DCMu8pbYXHoZJinZ7xKljSnAx5YCvIiIiJw39lgRdtkCb8fXkkJI74KZdDlm+lWYfoP8Lk/aiAJ8bCnAi4iIyHlnw2HYtgG7ZB523XKor4cBQzDTZmMmzsCkd/G7RIkhBfjYUoAXERERX9nKCuyKRdil8+DgXkhKxoyLjKMcNlrjKDsABfjYUoAXERGRdsFaC/t2eje+rloM1VWQ39vryl92BSa7m98lyjlSgI8tBXgRERFpd2wwiF37NvbtN2D7JggE4MLx3jjKC8djEjSOMp4owMeWAryIiIi0a/bIIW+TqOUL4XgpdM3BTLkCM3UOpkdvv8uTKCjAx5YCvIiIiMQFW18PG9cQXjofNqyBcBj6DMAMHAIDh2IGDoW+AzGJSX6XKqdRgI8tBXgRERGJO7asBLviLey2jbB3B5wo955ITIS+gzADh54M9b36aAdYnynAx5YCvIiIiMQ1a603U37vDuzeHdi9O2HfTqip9k5ISYUBgzEDmnTqu/fUdJvzSAE+thTgRUREpMOx4TAcPYTds6Mx2HNgD9TXeSdkZHpz5wcOxQyKBPvsXF9r7sgU4GNLAV5EREQ6BVtfB4f2e2F+304v3B/e562lB8ju1tih95bgDMFkZPpZcoehAB9bCvAiIiLSadlgEA7s9kJ9w/Kbo4dOntC9J6espx8wGJOS6le5cUsBPrYU4EVERESasFUnYN+uyHp6L9hzrNh70gSgdz80+aZ1FOBjSwFeREREpAW2vBT27Dw11GvyTdQU4GNLAV5ERESklaKefNMQ6gcM6dSTbxTgY0sBXkRERCQGNPmmeQrwsaUALyIiItJGNPnGowAfWwrwIiIiIudRZ5x8owAfWwrwIiIiIj7r6JNvFOBjSwFeREREpB3qSJNvFOBjSwFeREREJA7E8+QbBfjYUoAXERERiVOtn3wzDJPd7bzXqQAfWwrwIiIiIh3IWSffDBlJwl0PnfeaWhPgE9u2FBERERGR9sUkJnlLaQYMbjzWMPmGcMjHyqKjAC8iIiIinZ5JSYEhI/0uIyoBvwsQEREREZHoKcCLiIiIiMSRVi2hcRynL/AAMBfIBQqAF4H7XdctjeL6DOB64FrgUqAfEAa2AX8DHnFdt7aZa0cB9wEzgSxgH/A08GPXdaubuWYK8F1gMpAG7AD+EHmf9r/ASURERETkNFF34B3HGQysBT4PrAJ+AewGvgksdxwnN4qXmQ48BVwNbAQeAf4K9AF+CrzpOM779sF1HGcSsBov/M8HfgmUA/cAbziOk3KGaz4KLAZmAC8AvwaSI3U/He3nFhERERFpT1rTgf8NkA98w3XdRxoOOo7zc+AO4EHgyy28xhHgFuDZpp12x3HuBN4CpgBfBX7W5LkE4I9AOvBR13VfjhwPAC5w4/9v7/6D5qrqO46/ozigEaMDCoOtQNAIWhXGAAFsSEiNKDYFgY/MFEQdSakigiC1WCpBKeBYGvAnqCWSMtP5SjVKVRqRDCmmyhTDaEckEUgColCCUH4YleTpH9+zPE/22U02Cew9l3xeMzsne+/evd+52efu9579nnPL/i8es82LgC8B64EZEfHfZfl5wI3AcZJOiAgn8mZmZmbWKgP1wJfe99nAKuBzXas/DjwOnFRKZPqKiNsi4pruMpmIeJTRpH1G12aHA/sBSzvJe9lmA3BOeXqqpLHzZh4HvBT4107yXrZZR5bUAPz1pmI1MzMzM6vRoCU0M0u7uCTOTynJ9w/IHvJp2xBLuR0WT3YtP6K013dvEBF3ASuAPYHJg2xDltU8ARzaq/TGzMzMzKxmgybwry7tij7rV5Z2yjbE8t7SdifdW7PvvttExJPA3WT50OTu9WZmZmZmNRu0Bn5SaR/ps76z/MVbE4Sk08iZbW4jZ4nZ1n1vU7yS5gJzASKiz1uYmZmZmQ1f43dilfQOYD45wPXYiPjDZjZ5xkXElcCV5elIk7GYmZmZmY01aAlNp8d6Up/1neUPb8nOJR1NTun4ADlbzF1P076fkXjNzMzMzJo2aAJ/R2n71bi/qrT96tTHkXQ88DXgfuDwiLijz0u3Zt99t5G0A7A3OVi21wWDmZmZmVm1Bk3gl5R2dpl//SmSdgYOI2d2+eEgbybpL8k7r95HJu8rN/HyG0t7ZI/3mUwm6avZOBnvuw15Y6cXAMsi4neDxGtmZmZmVouBEviIuBNYDOxF3mhprHltyZOXAAAJ3klEQVTARGBhRDzeWShpX0n7dr+XpJOBq4E1wPQ+ZTNj3QTcDkyXNGfM+zwHuKQ8/WJEjK1VvxZ4EDhB0tQx2+wEfLI8/cJm9mtmZmZmVp0JIyODjdEsN3NaRt6N9ZtkUn0wOUf8CuDQiFg75vUjABExYcyymcAN5IXDPwP39NjVwxExv2vfB5O96s8jk/M1wCxgKjkH/azu3vRSX38tsI6ss38ImENOMXktoK6kv5+R++67b4CXmZmZmZltnT322ANgwuZeB4OX0HR64acCC8jE/SxgH+AyYNrY5H0T9hyzz/eSd3HtfpzRY98/Ag4kLxxmA2eSA1EvAN7cqxQmIhaRd3FdChwLfJC8WdSHgRMGTN7NzMzMzKoycA/8dsw98GZmZmb2jHpGeuDNzMzMzKx5TuDNzMzMzFrECbyZmZmZWYu4Bn7zfIDMzMzMbBhcA/80mdDEQ9KtTe27jQ8fLx8vH7O6Hj5ePl4+XvU8fLxadbwG4gTezMzMzKxFnMCbmZmZmbWIE/h6Xdl0AC3j47VlfLy2nI/ZlvHx2jI+XlvGx2vL+HhtmeqPlwexmpmZmZm1iHvgzczMzMxaxAm8mZmZmVmL7NB0ADZK0h8BFwBHArsAvwIWAfMi4jdNxlYbSccBhwP7A28AdgauiYgTGw2sUpJ2AY4BjgJeB7wc+D3wU+Aq4KqI2NBchPWRdAkwFZgC7Ar8FlhN/k1+NiLWNhhe9SSdCCwsT0+JiC83GU9tJK0C9uyz+v6I2H2I4bSGpFnAacAhwEuAteR57LKI+E6TsdVC0rvJ8/qmbIiI5w4hnNaQdBTwIeA1jOZgtwKXRsR/NRlbL07gKyFpH2AZ8DLgm8DPgYPID9ORkg5zwrCRvyMT98eAe4F9mw2nescDXyBPSEuANcBuwDuALwNvlXR8RHhQzKgzgR8D3wMeACYC04DzgbmSpkXEPc2FVy9Jfwx8lvz7fGHD4dTsEWB+j+WPDTuQNpD0KeAj5Dn/W8CDwEuBNwIzACfw6TZgXp91fwocAXx3eOHUr3TYnENeEC4iP1uvBP4COFbSuyLiXxoMcRwn8PX4PJm8nx4Rn+kslHQpmUhcCJzaUGw1OpM8if+C7Ilf0mw41VsBzAG+PbanXdK5wC3AsWQy/2/NhFelF0XEuu6Fki4EzgX+Fnj/0KOqnKQJZO/fWuDrwNnNRlS1hyPi/KaDaANJp5DJ+1eBuRHx+671z2sksApFxG1kEj+OpE5PcvWzrAyLpN3J89T9wOsj4oEx62YCN5LVEVUl8K6Br0DpfZ8NrAI+17X648DjwEmSJg45tGpFxJKIWOke48FExI0RcV13mUxE/Br4Ynk6Y+iBVaxX8t5ZVdpXDSuWljmd7OF7D3nuMtsmknYkO7HW0CN5B4iIPww9sJaR9DryV8RfAt9uOJya7Enmwz8am7xD5hrAo+QvPVVxD3wdZpZ2cY8E61FJPyAT/GnA94cdnD3rdb74nmw0ivb489L+pNEoKiRpP+Bish55qaQjmo6pcjuWsQKvIC92fgIsjYj1zYZVnTeTCdR8YEOpVf4TYB1wS431yZWaW9qv+DO2kZXkmLCDJO0aEQ92VkiaTo6xW9RUcP04ga/Dq0u7os/6lWQCPwUn8PY0krQD8K7y9PomY6mVpLPJOu5J5KDWN5GJ1sVNxlWb8llaSPaSnttwOG2xO6MDfTvulvSeiLipiYAqdWBp1wHLyeT9KZKWAsdFxP8OO7C2kPR84ERgPTnuyYqIeEjS3wCXAj+TtIgsAdyHLD39HvBXDYbYk0to6jCptI/0Wd9Z/uIhxGLbl4vJL8PvRMR/NB1Mpc4mS9nOIJP364HZThbG+XvgAODdEfHbpoNpgauAWWQSP5GcHeoKYC/gu5Le0Fxo1XlZaT8CjJADMXcGXg8sBqYDX2smtNYQmUNc78H340XEfHIc2A7AKcBHyckf7gEWdJfW1MA98GbbKUmnA2eRMx6d1HA41epM5ydpN+BQ8qJnuaS3R8SPGw2uEpIOJnvd/9HlDIOJiO5ZQv4HOFXSY+Tf5fnk1K822tn4JDAnIlaV5z+VdAxwB3C4pEP8+eurUz5zRaNRVErSOcA/AJeTM2j9mpzd7iLgGkn7R8Q5DYY4jnvg69DpYZ/UZ31n+cNDiMW2A5JOAy4DfgbMjIiHGg6pehFxf0R8gyxn2wW4uuGQqlBKZ64mSwDPazicZ4POoPLpjUZRl8533/IxyTsAEfEE0Pn18KBhBtUWkl5Ldj7ci6faHEfSDOAS4FsR8eGIuCsinigdNMeQg37PkjS5yTi7OYGvwx2lndJnfWe2i3418mYDk3QG8Bmyx29mmYnGBhQRq8kLn9dK2rXpeCrwQvLctR+wTtJI50GWHgF8qSzrNee5baxTmuVZx0Z1viP7dWJ1bnT4/CHE0kYevLppby/tuOmoywXiLWS+fMAwg9ocJ/B16HxoZkva6P9E0s7AYcATwA+HHZg9u5SBOv9EzhE8s8a6vpbYo7T+MoTfAV/p81heXnNzee7yhs2bVtq7Go2iLt8na99f0/0dWXQGtd49vJDaQdJOZInkevJv0MbbsbT9porsLB83fWmTXANfgYi4U9Ji8qf5D5C9ox3zyJ6YKyLCcyrbVpN0HnkzilvJQZgum+lD0hTydvaPdC1/DvAJclDdsoj4Ta/ttydlwOr7eq2TdD7Za/XViPDMF0WZbnNN9zld0l5k/S1UdtOYJkXEaknXkTOCfIjshABA0mzgLWTvvGfSGu944CXAv3vwal//CZxG3mH7ioj4ZWeFpLeSnajrgGUNxdeTE/h6vJ/8cFwuaRZwO3AwOUf8CuBjDcZWHUlHA0eXp7uX9hBJC8q/H4wI3wGykHQymbyvJ09Wp0vqftmqiFgw5NBq9TbgIkk3k716a4HdyLv+TiYHOJ3SXHjWcu8ka2qXAqvJG8XsAxwF7ETWKX+6ufCq9AHyYvDSMg/8cmBv8ntgPfC+7gtuA0bLZ3zn1f6uBW4A/gy4XdI3yHP8fmR5zQTgoxGxtrkQx3MCX4nSCz+VTLKOJBOIX5EDDee5p2+c/YGTu5ZNLg/IL0Un8KP2Lu1zyekQe7kJWDCUaOp3A/BKctrIA8jp1x4nL6YXApf7FwzbBkvI+38cQPbuTSR7kG8mP18LfZfpjUXEvZLeSE5XOocc5Pt/wHXARRFxS5Px1aj80vMmPHh1kyJig6S3kReJJ5ADV18APEQet8sjYnGDIfY0YWTE5wgzMzMzs7bwIFYzMzMzsxZxAm9mZmZm1iJO4M3MzMzMWsQJvJmZmZlZiziBNzMzMzNrESfwZmZmZmYt4gTezMzMzKxFnMCbmZmZmbWIE3gzMzMzsxZxAm9mZmZm1iL/D6hL2NtWCF9KAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(history.history[\"loss\"], label=\"training loss\")\n", "plt.plot(history.history[\"val_loss\"], label=\"validation loss\")\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "A note on metrics (losss/accuracy/...) in Keras:\n", "\n", "* Training metrics are accumulated during an epoch, with dropout applied (if used)\n", "\n", "* Validation metrics are evaluated at the end of an epoch\n", "\n", "$\\quad \\rightarrow$ E.g. training loss can be larger than validation loss" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "Target: Validation accuracy of 0.93 when trained on full dataset" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Open Part\n", "\n", "
\n", "\n", "### *Time for questions*\n", "\n", "
\n", "\n", "Otherwise: Explore top-tagging dataset. Some inspiration\n", "* How helpful are the parts of the preprocessing?\n", "* How does the performance scale with the amount of data?\n", "* What would we be able to achieve with a fully connected network?\n", "* Find better hyperparameters for architecture?\n", "* Other ideas to improve performance?\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Coffee\n", "\n", "![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=coffee.JPG)" ] } ], "metadata": { "celltoolbar": "Slideshow", "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.7" }, "rise": { "backimage": "https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=logo.png", "controls": false, "footer": "3rd IML Workshop
Rath | 18/04/2019 | Introduction to the Basics of Deep Learning", "scroll": true } }, "nbformat": 4, "nbformat_minor": 2 }