Skip to content
Snippets Groups Projects
08_c-neural_networks.ipynb 369 KiB
Newer Older
{
 "cells": [
  {
   "cell_type": "code",
chadhat's avatar
chadhat committed
   "execution_count": 1,
   "metadata": {},
chadhat's avatar
chadhat committed
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2023-03-02 09:53:56.171212: I tensorflow/core/util/util.cc:169] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<style>\n",
       "\n",
       "    @import url('http://fonts.googleapis.com/css?family=Source+Code+Pro');\n",
       "\n",
       "    @import url('http://fonts.googleapis.com/css?family=Kameron');\n",
       "    @import url('http://fonts.googleapis.com/css?family=Crimson+Text');\n",
       "\n",
       "    @import url('http://fonts.googleapis.com/css?family=Lato');\n",
       "    @import url('http://fonts.googleapis.com/css?family=Source+Sans+Pro');\n",
       "\n",
       "    @import url('http://fonts.googleapis.com/css?family=Lora');\n",
       "\n",
       "\n",
       "    body {\n",
       "        font-family: 'Lora', Consolas, sans-serif;\n",
       "\n",
       "        -webkit-print-color-adjust: exact important !;\n",
       "\n",
       "\n",
       "\n",
       "    }\n",
       "\n",
       "    .alert-block {\n",
       "        width: 95%;\n",
       "        margin: auto;\n",
       "    }\n",
       "\n",
       "    .rendered_html code\n",
       "    {\n",
       "        color: black;\n",
       "        background: #eaf0ff;\n",
       "        background: #f5f5f5;\n",
       "        padding: 1pt;\n",
       "        font-family:  'Source Code Pro', Consolas, monocco, monospace;\n",
       "    }\n",
       "\n",
       "    p {\n",
       "      line-height: 140%;\n",
       "    }\n",
       "\n",
       "    strong code {\n",
       "        background: red;\n",
       "    }\n",
       "\n",
       "    .rendered_html strong code\n",
       "    {\n",
       "        background: #f5f5f5;\n",
       "    }\n",
       "\n",
       "    .CodeMirror pre {\n",
       "    font-family: 'Source Code Pro', monocco, Consolas, monocco, monospace;\n",
       "    }\n",
       "\n",
       "    .cm-s-ipython span.cm-keyword {\n",
       "        font-weight: normal;\n",
       "     }\n",
       "\n",
       "     strong {\n",
       "         background: #f5f5f5;\n",
       "         margin-top: 4pt;\n",
       "         margin-bottom: 4pt;\n",
       "         padding: 2pt;\n",
       "         border: 0.5px solid #a0a0a0;\n",
       "         font-weight: bold;\n",
       "         color: darkred;\n",
       "     }\n",
       "\n",
       "\n",
       "    div #notebook {\n",
       "        # font-size: 10pt;\n",
       "        line-height: 145%;\n",
       "        }\n",
       "\n",
       "    li {\n",
       "        line-height: 145%;\n",
       "    }\n",
       "\n",
       "    div.output_area pre {\n",
       "        background: #fff9d8 !important;\n",
       "        padding: 5pt;\n",
       "\n",
       "       -webkit-print-color-adjust: exact;\n",
       "\n",
       "    }\n",
       "\n",
       "\n",
       "\n",
       "    h1, h2, h3, h4 {\n",
       "        font-family: Kameron, arial;\n",
       "\n",
       "    }\n",
       "\n",
       "    div#maintoolbar {display: none !important;}\n",
       "    /*\n",
       "\n",
       "    div#site {\n",
       "        border-top: 20px solid #1F407A;\n",
       "        border-right: 20px solid #1F407A;\n",
       "        margin-bottom: 0;\n",
       "        padding-bottom: 0;\n",
       "    }\n",
       "    div#toc-wrapper {\n",
       "        border-left: 20px solid #1F407A;\n",
       "        border-top: 20px solid #1F407A;\n",
       "\n",
       "    }\n",
       "\n",
       "    body {\n",
       "        margin-botton:10px;\n",
       "    }\n",
       "    */\n",
       "\n",
       "</style>\n",
       "    <script>\n",
       "IPython.OutputArea.prototype._should_scroll = function(lines) {\n",
       "        return false;\n",
       "}\n",
       "    </script>\n",
       "\n",
       "\n",
       "<footer id=\"attribution\" style=\"float:left; color:#1F407A; background:#fff; font-family: helvetica;\">\n",
       "    This script is licensed under CC BY-NC 4.0<br/>\n",
       "    Copyright (C) 2019-2023 Scientific IT Services of ETH Zurich,\n",
       "    <p>\n",
       "    Contributing Authors:\n",
       "    Dr. Tarun Chadha,\n",
       "    Dr. Franziska Oschmann,\n",
       "    Dr. Mikolaj Rybinski,\n",
       "    Dr. Manuel Weberndorfer,\n",
       "    Dr. Uwe Schmitt.\n",
       "    </p<\n",
       "</footer>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# IGNORE THIS CELL WHICH CUSTOMIZES LAYOUT AND STYLING OF THE NOTEBOOK !\n",
    "from numpy.random import seed\n",
    "\n",
    "seed(42)\n",
    "import tensorflow as tf\n",
    "\n",
    "tf.random.set_seed(42)\n",
    "import matplotlib as mpl\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "sns.set(style=\"darkgrid\")\n",
    "mpl.rcParams[\"lines.linewidth\"] = 3\n",
    "%matplotlib inline\n",
    "%config InlineBackend.figure_format = 'retina'\n",
    "%config IPCompleter.greedy=True\n",
    "import warnings\n",
    "\n",
    "warnings.filterwarnings(\"ignore\", category=FutureWarning)\n",
    "from IPython.core.display import HTML\n",
    "\n",
    "HTML(open(\"custom.html\", \"r\").read())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
chadhat's avatar
chadhat committed
    "# Chapter 8c: Convolution Neural Networks"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "jp-MarkdownHeadingCollapsed": true,
    "tags": []
   },
   "source": [
    "## Network Architectures\n",
    "\n",
    "The neural networks which we have seen till now are the simplest kind of neural networks.\n",
    "There exist more sophisticated network architectures especially designed for specific applications.\n",
    "Some of them are as follows:\n",
    "\n",
    "###  Convolution Neural Networks (CNNs)\n",
    "\n",
    "These networks are used mostly for computer vision like tasks such as image classification and object detection. \n",
    "One of the old CNN networks is shown below.\n",
    "\n",
    "<center>\n",
    "<figure>\n",
    "<img src=\"./images/neuralnets/CNN_lecun.png\" width=\"800\"/>\n",
    "<figcaption>source: LeCun et al., Gradient-based learning applied to document recognition (1998).</figcaption>\n",
    "</figure>\n",
    "</center>\n",
    "\n",
    "CNNs consist of new type of layers such as convolution and pooling layers.\n",
    "\n",
    "###  Recurrent Neural Networks (RNNs)\n",
    "\n",
    "RNNs are used for problems such as time-series data, speech recognition and translation.\n",
    "\n",
    "### Generative adversarial networks (GANs)\n",
    "\n",
    "GANs consist of 2 parts, a generative network and a discriminative network. The generative network produces data which is then fed to the discriminative network which judges if the new data belongs to a specified dataset. Then via feedback loops the generative network becomes better and better at creating images similar to the dataset the discriminative network is judging against. At the same time the discriminative network get better and better at identifyig **fake** instances which are not from the reference dataset. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## CNN in a bit more detail\n",
    "\n",
    "The standard CNN architecture can be seen as 2 parts:\n",
    "\n",
    "* Feature extraction\n",
    "* Classification\n",
    "\n",
    "For the **classification** part we use the densly connected network as shown in the TensorFlow (keras) examples above.\n",
    "\n",
    "However, for the **feature extraction** part we use new types of layers called **convolution** layers\n",
    "\n",
    "### What is a Convolution?\n"
   ]
  },
  {
   "cell_type": "code",
chadhat's avatar
chadhat committed
   "execution_count": 2,
   "metadata": {},
chadhat's avatar
chadhat committed
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x2ab485502c20>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0wAAANCCAYAAABVl0zHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAB7CAAAewgFu0HU+AAA9GUlEQVR4nO3deZRU9Z3//1dDAwqoKOK+oQYXjOMWImp04jIqxyw4x8TooERPHGM0ceGbqESNxKhxVOIyxhMng5q4IYFRSPyOY0yMGg8uhCjuCzKiJKIEIosg0L8/+FFfUD4s2s2lisfjHM+5t+vT1e+yFepZ99atppaWlpYAAADwEe2qHgAAAGBNJZgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAguaqB2gkU6ZMyYMPPljb32abbbLuuutWOBEAAKwd5syZk//93/+t7R988MHZfPPNP/H9CqZW9OCDD2bIkCFVjwEAACQ5/vjjP/F9OCUPAACgQDABAAAUOCWvFW299dZL7V944YXZaaedKpoGAKgnCxcurHqEVteundfmWX1efPHFpd4e8+Hn5h+XYGpFnTt3Xmp/p512yj777FPRNABAPVmwYEHVI7S6RgympqamqkdgJX34ufnH1Xj/FQMAALQSwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKGiueoCP47e//W3uueeeTJgwIVOnTk3Xrl2z7bbb5tBDD82xxx6brl27Vj0iAADQAOoqmGbNmpVBgwblwQcfXOrr06ZNy7Rp0/KnP/0pv/zlL/OTn/wke+yxRzVDAgAADaNugmnBggX5zne+k4cffjhJsvHGG+eYY47JjjvumBkzZmTMmDEZN25cpkyZklNOOSV33HFHdthhh4qnBgAA6lndBNPdd99di6Udd9wxt9xySzbeeOPa7ccff3x+/OMf5z//8z8zY8aMXHjhhbntttuqGhcAAGgAdXHRhwULFuT666+v7V9xxRVLxdJigwYNyi677JIkefLJJ/PII4+sthkBAIDGUxfB9MQTT2Tq1KlJkj59+qR3797LXNe+ffsMGDCgtv/rX/96tcwHAAA0proIpj/84Q+17QMPPHC5a5e8fcnvAwAAWFV1EUwvvfRSbfvTn/70ctf26NEjm2++eZLknXfeybRp09p0NgAAoHHVRTBNnDixtr3VVlutcP2Sa1577bU2mQkAAGh8dRFM7733Xm17ww03XOH6bt26LfN7AQAAVkVdBNPs2bNr2506dVrh+iXXzJo1q01mAgAAGl9dBBMAAEAV6iKYOnfuXNueO3fuCtcvuaZLly5tMhMAAND46iKY1ltvvdr23/72txWunz59+jK/FwAAYFXURTD17Nmztj158uQVrl9yzfbbb98mMwEAAI2vLoKpV69ete1nnnlmuWvfeeedTJkyJUnSvXv3bLTRRm06GwAA0LjqIpg+97nP1bb/8Ic/LHftQw89VNs+6KCD2mwmAACg8dVFMPXp0yc9evRIkjz++ON59tlnl7luwYIF+cUvflHb79ev32qZDwAAaEx1EUzt27fPaaedVtv/3ve+l3ffffcj66688so8//zzSZK99tprqSNTAAAAq6q56gFW1le+8pU88MADefTRR/Pyyy/nS1/6Uo455pjsuOOOmT59en7961/nqaeeSpKsv/76GTJkSMUTAwAA9a5ugqm5uTnXXnttBg0alN/97neZOnVqbrjhho+s22yzzTJ06NB86lOfqmBKAACgkdRNMCVJ165dc+ONN+aBBx7IPffck2eeeSbvvvtuunTpkm222SaHHXZYjj32WJ+9BAAAtIq6CqbFDj300Bx66KFVjwEAADS4urjoAwAAQBUEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgoLnqAQAAPo6WlpaqR2hV7du3r3oEVkKj/XeXJE1NTVWPsEZzhAkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUNBc9QAAAB9HU1NT1SO0qt/85jdVj9Dq9tprr6pHaHWbbbZZ1SO0upaWlqpHWKM5wgQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAICC5qoHWBUzZ87Mo48+mrFjx+a5557L66+/nvfeey+dOnXKJptskt133z1HHXVUPve5z6WpqanqcQEAgDpXN8E0bNiwDB06NHPnzv3IbfPnz8/EiRMzceLE3HPPPdlnn33yb//2b9liiy0qmBQAAGgUdRNMEydOrMXSpptumv322y+9e/dO9+7dM3fu3IwfPz733ntvZs+enSeffDIDBgzI8OHD071794onBwAA6lXdBFNTU1MOOOCAnHTSSenbt2/atVv67Vf9+/fPKaeckpNPPjkTJ07M5MmTc+WVV+ayyy6raGIAAKDe1c1FH84666z8/Oc/z/777/+RWFpsyy23zE9+8pPa/n333Zc5c+aspgkBAIBGUzfB1K1bt5Vat/POO6dnz55Jkjlz5mTSpEltOBUAANDI6iaYVkXXrl1r28u6SAQAAMDKaLhgmjdvXl5//fXavivlAQAAH1fDBdOYMWPy3nvvJUl69+6dHj16VDwRAABQrxoqmKZNm5Yrr7yytv/Nb36zwmkAAIB61zDBNG/evJxxxhl59913kySHHnpoDjvssIqnAgAA6llDBNPChQtz/vnn58knn0ySbLPNNrn00ksrngoAAKh3dR9MLS0tueiiizJ69Ogkiy7yMGzYsGywwQYVTwYAANS7ug6mlpaW/OAHP8jw4cOTJJtttlluueWWbLXVVhVPBgAANIK6DaaWlpZcfPHFufPOO5Mkm266aW699dZss802FU8GAAA0iroMpsWxdMcddyRJNtlkk9x6663ZdtttK54MAABoJHUXTB+OpR49euTWW2/NdtttV+1gAABAw6m7YBoyZMhHYqlnz54VTwUAADSiugqmH/7wh7n99tuT/L9Y2n777SueCgAAaFTNVQ+wsoYOHZpf/vKXSZKmpqaccMIJee211/Laa68t9/t23XXXbLHFFqtjRAAAoMHUTTCNGzeutt3S0pKrrrpqpb7vsssuy9FHH91WYwEAAA2srk7JAwAAWJ3q5gjTL37xi6pHAAAA1jKOMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACpqrHoD68MEHH1Q9Qqv7j//4j6pHaFUnnHBC1SO0ui5dulQ9AsBqc91111U9Qqu76qqrqh6h1W222WZVj8Bq5ggTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKCgueoBqA/vvfde1SO0uttvv73qEVrV17/+9apHYCW0tLRUPQIrYcGCBVWP0Oqamxvvr/wxY8ZUPUKrmjJlStUjtLpdd9216hFYCU1NTVWPsEZzhAkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFDRNM5557bnbaaafaP9ddd13VIwEAAHWuIYLpoYceyqhRo6oeAwAAaDB1H0wzZ87MRRddlCTp3LlzxdMAAACNpO6D6YorrsiUKVOy+eab56tf/WrV4wAAAA2kroPpsccey/Dhw5MkF110Ubp06VLxRAAAQCOp22CaM2dOLrjggrS0tKRfv375/Oc/X/VIAABAg6nbYLrqqqvyxhtvpFu3bhk8eHDV4wAAAA2oLoNp3Lhxue2225Ik3/3ud7PxxhtXPBEAANCI6i6Y5s6dm/PPPz8LFy5M375988///M9VjwQAADSouguma665JhMnTsw666yTIUOGVD0OAADQwOoqmJ5++uncfPPNSZIzzjgj22yzTbUDAQAADa1ugmnevHkZPHhwFixYkN69e+frX/961SMBAAANrm6C6ac//WleeumltG/fPj/84Q/Tvn37qkcCAAAaXF0E0wsvvJCbbropSTJw4MD07t274okAAIC1QXPVA6yMkSNH5oMPPki7du3SoUOH3HDDDctc98QTTyy1vXhdz549c+SRR66WWQEAgMZRF8HU0tKSJFm4cGFuvPHGlfqesWPHZuzYsUmSQw45RDABAACrrC5OyQMAAKhCXRxhGjx4cAYPHrzCddddd12uv/76JMnpp5+eM844o61HAwAAGpgjTAAAAAWCCQAAoEAwAQAAFAgmAACAgrq46MPKOuOMM1zoAQAAaDWOMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAQXPVA1Afnn766apHaHVvv/121SO0qqampqpHaHULFy6segRWQrt2jffaW3Ozvx7rwb333lv1CK1q0003rXoEVsL8+fOrHqHV+TNv+RrvbzkAAIBWIpgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAAChornoA6sOf/vSnqkdodVtuuWXVI7SqTp06VT0Ca6m5c+dWPUKrmzp1atUjtLrf/e53VY/Q6m666aaqR2hVjfZ4GlVTU1PVI7CaOcIEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAguaqB/gknnvuuYwePTqPPfZY/vKXv2TmzJnZcMMN06NHj+yxxx7p06dPDjvssLRv377qUQEAgDpUl8E0c+bM/OhHP8qoUaPS0tKy1G1vv/123n777Tz77LO57bbb8sQTT2T99devaFIAAKCe1V0wTZ8+PSeffHImTJiQJNl0003zT//0T9lpp52y3nrrZdasWZk0aVIeffTRPPvssxVPCwAA1LO6C6ZzzjmnFksnnXRSzjzzzHTq1Okj684+++z89a9/TefOnVf3iAAAQIOoq2AaOXJkHnnkkSTJ1772tXzve99b7vpNN910dYwFAAA0qLq6St5NN92UJOncuXMGDRpU8TQAAECjq5tgeuqpp/Laa68lSQ455JB07dq14okAAIBGVzen5D3xxBO17X/4h39Iktx///25++6789xzz2XGjBnp1q1bdt111xx++OH50pe+lObmunl4AADAGqhuimLxhR6SpHv37jnjjDNy//33L7Vm6tSpeeihh/LQQw/l5ptvzg033JCtt956dY8KAAA0iLoJpqlTp9a2r7322kycODEdOnTIl7/85ey9995pbm7OCy+8kBEjRmT69Ol56aWXcuKJJ2bkyJHp1q1bdYMDAAB1q26CacaMGbXtiRMnZoMNNsjNN9+cXXfdtfb1L3zhCxk4cGAGDhyYV155JW+++WauvvrqDBkypIqRAQCAOlc3F31oaWlZav+73/3uUrG0WI8ePXLVVVfV9keNGpWZM2e2+XwAAEDjqZtg6tKlS227c+fO+eIXv1hcu/POO2ePPfZIksybNy9PPfVUW48HAAA0oLoJpvXXX7+23atXr3Ts2HG563fbbbfa9htvvNFmcwEAAI2rboJp++23r22vzGcwLbnGKXkAAMDHUTfBtPPOO9e2VyaAllyz3nrrtclMAABAY6ubYDrwwAPT1NSUJHnppZcyb9685a5f8nObevbs2aazAQAAjalugmmzzTbLZz7zmSTJ7Nmzc++99xbXvvDCCxk/fnySRReL2GuvvVbHiAAAQIOpm2BKkrPPPru2fcUVV+S55577yJp33nkngwYNqu0PGDAg66yzzmqZDwAAaCx188G1SbLnnnvmG9/4Rm666abMmDEjX/nKV9K/f//svffeaW5uzvPPP58RI0Zk+vTpSRZdKe+0006rdmgAAKBu1VUwJcmgQYPSvn373HTTTfnggw8yfPjwDB8+/CPrDjjggFx99dXp1KlTBVMCAACNoO6CKUnOOuusHHnkkRkxYkQeffTR/PWvf838+fPTvXv37LnnnvnSl76Ugw46qOoxAQCAOleXwZQsusz497///arHAAAAGlhdXfQBAABgdRJMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAICC5qoHoD5079696hFa3Z/+9KeqR2hVP/7xj6seodVNmjSp6hFa3euvv171CK1uwYIFVY/Q6rp27Vr1CK1uu+22q3oEVuCoo46qegRWQrt2jjesbfzGAQAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFzVUPQH047rjjqh6h1TU1NVU9QquaNGlS1SO0um233bbqEVrdl7/85apHaHW777571SO0us0226zqEVrd//2//7fqEVrdXXfdVfUIrWqTTTapegRWQqM9f2DFHGECAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACpqrHmBVTZ48OSNGjMjYsWPz2muvZebMmenYsWM22mij7LLLLjnssMPSr1+/dOjQoepRAQCAOldXwTRs2LBcffXVmTdv3lJfnz9/fmbPnp3Jkyfnf/7nf/LTn/401157bXr16lXRpAAAQCOom2D65S9/mcsvv7y2v+eee+bggw/O5ptvnpkzZ+aVV17JyJEjM3v27EycODEnnHBCRo8enR49elQ4NQAAUM/qIpjef//9XH311bX9Sy65JMccc8xH1n3rW9/KiSeemJdeeil/+9vf8h//8R8577zzVueoAABAA6mLiz6MGzcus2bNSpJ8+tOfXmYsJclGG22Uc845p7b/xBNPrJb5AACAxlQXwfTuu+/Wtrfddtvlrl3y9tmzZ7fZTAAAQOOri2Dq3r17bfv1119f7tolb//Upz7VRhMBAABrg7oIpr333jsbbrhhkmTChAm5++67l7lu2rRptfc6tWvXLgMHDlxdIwIAAA2oLi760KlTp1x88cU5++yzM3/+/Hz/+9/PyJEjl7pK3ssvv5xRo0Zl1qxZ6dy5c370ox9l7733rnp0AACgjtVFMCXJ4YcfnmHDhmXIkCF5+eWXM27cuIwbN26pNR06dMipp56aY489NptvvnlFkwIAAI2iLk7JW+wzn/lMLrjgguy6667LvP2DDz7I7bffnmHDhuX9999fzdMBAACNpm6OME2bNi1nnnlmxo4dmw022CDnnXdeDjnkkGy22WZ5//33M2HChAwbNiwPPfRQbrnllvzpT3/Kz372s9p7nwAAAFZVXRxhmjNnTo4//vhaLA0fPjwDBw7M1ltvnQ4dOmS99dZL375987Of/SzHH398kuTpp5/OJZdcUvHkAABAPauLYLr99tvz2muvJUlOOumkbLfddsW1gwYNyvrrr58k+c1vfpOpU6eujhEBAIAGVBfB9Pvf/762vf/++y93befOnbPnnnsmSRYuXJhnnnmmLUcDAAAaWF0E09tvv13bXm+99Va4fsk1s2fPbpOZAACAxlcXwdSlS5fa9pQpU1a4/q233qptd+vWrS1GAgAA1gJ1EUy9evWqbY8ePXq5aydNmpSnn346SdKuXbvstttubTobAADQuOoimI466qja9siRI3P33Xcvc93UqVNz5plnZv78+UmSf/zHf3SECQAA+Njq4nOYDjjggBx++OH57//+77S0tOT73/9+7r333hxyyCHZdNNNM3fu3EyYMCH33HNP/v73vydZdCreueeeW/HkAABAPauLYEqSK6+8Ml27ds2vfvWrJMnjjz+exx9/fJlre/bsmaFDh2bbbbddnSMCAAANpm6CqWPHjrn00kszYMCAjBw5MuPGjcvkyZMzc+bMdOjQIRtttFF22223HHLIITnyyCPTsWPHqkcGAADqXN0E02K77LJLBg8eXPUYAADAWqAuLvoAAABQBcEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAXNVQ9AfWhubrz/VAYMGFD1CACrzZNPPln1CK1ujz32qHqEVtWuXeO9jr1gwYKqR2h17du3r3oEVrPG+z8TAACglQgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQ0Fz1AFCVBQsWVD1Cq2ppaal6hFbX1NRU9QitrhEf08KFC6seodU1NzfeX49dunSpeoRWN2PGjKpHYAXatfPaPPXPf8UAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoaG7LO1+wYEFeffXVTJgwIc8++2wmTJiQF154Ie+//36SpH///rn88stX6T4nTZqUO++8Mw8//HCmTJmShQsXZpNNNsl+++2Xr3zlK9lll13a4qEAAABroTYNpjPPPDP3339/q93fXXfdlUsvvbQWXIu9/vrref3113PXXXfltNNOy+mnn95qPxMAAFh7tfkRpiV169Yt3bp1y+uvv77K93XPPffkwgsvTJK0a9cu/fr1S9++fdPc3Jxx48Zl1KhRmTdvXq677rp07Ngxp5xySms8BAAAYC3WpsG0++67Z4cddkjv3r3Tu3fvbL311hk5cmTOO++8VbqfadOmZciQIUkWxdL111+fQw45pHb7l7/85Rx99NEZOHBg5syZk2uuuSaHHnpott9++1Z9PAAAwNqlTS/6cOqpp+acc87JEUccka233vpj38/Pf/7zzJw5M0ly/PHHLxVLi+2xxx75zne+kySZP39+/v3f//1j/zwAAICkTq6Sd99999W2TzzxxOK6Y445Jp07d06SPPjggx95rxMAAMCqWOOD6ZVXXsmbb76ZJNlhhx2We6Sqa9eu2XvvvZMks2fPzuOPP75aZgQAABrTGh9ML730Um3705/+9ArXL7lmye8FAABYVWt8ML322mu17a222mqF65dcM3HixDaZCQAAWDus8cH03nvv1bY33HDDFa7v1q3bMr8XAABgVa3xwTR79uzadqdOnVa4fp111qltz5o1q01mAgAA1g5rfDABAABUZY0PpsWXCU+SuXPnrnD9kpcS79KlS5vMBAAArB3W+GBab731att/+9vfVrh++vTpy/xeAACAVbXGB9P2229f2548efIK1y+5pmfPnm0yEwAAsHZY44OpV69ete1nnnlmheuXXPOpT32qTWYCAADWDmt8MO24447ZYostkiSvvvrqco8yzZo1K0899VSSZN11102fPn1Wy4wAAEBjWuODKUmOPPLI2vbNN99cXDd8+PDaZcgPPvjgrLvuum09GgAA0MDqIphOPvnk2hXvbrvttvz2t7/9yJo///nPueaaa5Ikzc3N+da3vrVaZwQAABpPc1ve+RtvvJERI0Ys9bUXX3yxtv3cc89l6NChS92+7777pm/fvkt9rXv37rngggty7rnnZuHChTn99NPTr1+/7L///mnXrl3GjRuX//qv/6pddvyMM87IDjvs0EaPCgAAWFu0aTC99dZbufHGG4u3v/jii0sFVLLo6NCHgylJ+vfvnzlz5uTyyy/P3LlzM2bMmIwZM2apNe3bt8+pp56aU089tXUeAAAAsFZr02Bqbccdd1z222+/3HnnnXn44YczZcqUtLS0ZJNNNsm+++6br371q9l1112rHhMAAGgQbRpMn/3sZz9yBOmT2m677XLuuefm3HPPbdX7BQAA+LC6uOgDAABAFQQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKCgueoBoCrt27evegRoCC0tLVWPwEpYuHBh1SO0uvHjx1c9AivQ1NRU9QitrhH/zGvE31NrcoQJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFDQXPUAANS3du289lYPvvCFL1Q9Qqvr1KlT1SMAawF/ywEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKCguS3vfMGCBXn11VczYcKEPPvss5kwYUJeeOGFvP/++0mS/v375/LLL1/h/bS0tOTPf/5z/vjHP2b8+PF55ZVX8s4776SlpSUbbLBBdtpppxx44IHp379/1l9//bZ8SAAAwFqkTYPpzDPPzP333/+J7mPixIkZOHBg/vKXvyzz9qlTp2bq1Kl55JFHcsMNN2TIkCE5/PDDP9HPBAAASFbDEaYldevWLd26dcvrr7++0vcxY8aMWix17Ngxn/3sZ7PXXntliy22SMeOHTNp0qSMHj06r776aqZPn54zzzwzV111Vfr169eaDwUAAFgLtWkw7b777tlhhx3Su3fv9O7dO1tvvXVGjhyZ8847b5XuZ/PNN8/JJ5+cL37xi9lggw0+cvs3vvGNXHrppbntttuycOHCXHzxxTnggAOcngcAAHwibRpMp5566ie+j169euX+++9Px44di2uam5tzwQUXZPz48Xn22Wczffr0PPDAAzn66KM/8c8HAADWXmv8VfI6d+683FharKmpKUcccURt/8UXX2zLsQAAgLXAGh9Mq6JLly617cVX4gMAAPi4GiqYXnrppdr2lltuWeEkAABAI2iYYJoxY0buu+++2v5BBx1U4TQAAEAjaJhguvzyyzNjxowkycEHH5yddtqp4okAAIB61xDBdMcdd2TkyJFJkvXXXz+DBw+ueCIAAKAR1H0w/f73v88ll1ySJGnXrl0uu+yybLXVVhVPBQAANIK6DqY//vGP+fa3v5358+enqakpQ4YMyaGHHlr1WAAAQIOo22B67LHH8s1vfjNz585NU1NTfvCDH+SYY46peiwAAKCB1GUwLY6lxZ+1dOGFF+bYY4+teCoAAKDR1F0wLY6lOXPmJEkuuOCCHHfccRVPBQAANKK6CqYPx9LgwYPzL//yLxVPBQAANKq6CaaxY8cuFUvnn39+TjjhhIqnAgAAGlldBNPjjz+ef/3Xf10qlk488cSKpwIAABpdc1ve+RtvvJERI0Ys9bUXX3yxtv3cc89l6NChS92+7777pm/fvrX9559/fqlYOuCAA7LlllvmgQceWO7P7tatW/bZZ59P+hAAAIC1WJsG01tvvZUbb7yxePuLL764VEAlSXNz80eCafbs2bX9Rx55JI888sgKf3afPn3yi1/84mNMDQAAsEhdnJIHAABQhTY9wvTZz372I0eQVtXRRx+do48+upUmAgAAWHmOMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAQXPVAwBQ35qamqoeodW1tLRUPUKr69WrV9UjtLpGfEys+RrxzzyWzxEmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQ0Fz1AI1k9uzZS+2/+OKLFU0CAABrlw8/9/7wc/OPSzC1ojfeeGOp/SFDhlQ0CQAArN0+/Nz843JKHgAAQIFgAgAAKHBKXis6+OCDl9rfZpttsu6661Y0DQAArD3mzJmT//3f/63tf/i5+cfV1NLS0tIq9wQAANBgnJIHAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAguaqB2DV/Pa3v80999yTCRMmZOrUqenatWu23XbbHHrooTn22GPTtWvXqkdca82cOTOPPvpoxo4dm+eeey6vv/563nvvvXTq1CmbbLJJdt999xx11FH53Oc+l6ampqrH5UPOPffcjBo1qrZ/+umn54wzzqhwIhZ77rnnMnr06Dz22GP5y1/+kpkzZ2bDDTdMjx49sscee6RPnz457LDD0r59+6pHXetMnjw5I0aMyNixY/Paa69l5syZ6dixYzbaaKPssssuOeyww9KvX7906NCh6lEbyoIFC/Lqq69mwoQJefbZZzNhwoS88MILef/995Mk/fv3z+WXX75K9zlp0qTceeedefjhhzNlypQsXLgwm2yySfbbb7985StfyS677NIWD6WhtdbvqaWlJX/+85/zxz/+MePHj88rr7ySd955Jy0tLdlggw2y00475cADD0z//v2z/vrrt/XDWis1tbS0tFQ9BCs2a9asDBo0KA8++GBxzeabb56f/OQn2WOPPVbfYCRJhg0blqFDh2bu3LkrXLvPPvvk3/7t37LFFlushslYGQ899FBOOeWUpb4mmKo3c+bM/OhHP8qoUaOyor+qnnjiCU8UVrNhw4bl6quvzrx585a7rmfPnrn22mvTq1ev1TRZ4zvjjDNy//33F29f1WC66667cumll9aeyH9Y+/btc9ppp+X0009f5VnXZq3xe5o4cWIGDhyYv/zlLyv8ed26dcuQIUNy+OGHr/KsLJ8jTHVgwYIF+c53vpOHH344SbLxxhvnmGOOyY477pgZM2ZkzJgxGTduXKZMmZJTTjkld9xxR3bYYYeKp167TJw4sRZLm266afbbb7/07t073bt3z9y5czN+/Pjce++9mT17dp588skMGDAgw4cPT/fu3SuenJkzZ+aiiy5KknTu3DmzZ8+ueCKSZPr06Tn55JMzYcKEJIv+v/qnf/qn7LTTTllvvfUya9asTJo0KY8++mieffbZiqdd+/zyl79c6onennvumYMPPjibb755Zs6cmVdeeSUjR47M7NmzM3HixJxwwgkZPXp0evToUeHUjWPBggVL7Xfr1i3dunXL66+/vsr3dc899+TCCy9MkrRr1y79+vVL375909zcnHHjxmXUqFGZN29errvuunTs2PEjLy5R1hq/pxkzZtRiqWPHjvnsZz+bvfbaK1tssUU6duyYSZMmZfTo0Xn11Vczffr0nHnmmbnqqqvSr1+/1nwoaz1HmOrAnXfeWXtCt+OOO+aWW27JxhtvvNSaH//4x/nP//zPJIuOYNx2222rfc612UUXXZTJkyfnpJNOSt++fdOu3UffHvjmm2/m5JNPzsSJE5MkRx99dC677LLVPSofcuGFF+auu+7K5ptvniOOOCLDhg1L4ghT1U4++eQ88sgjSZKTTjopZ555Zjp16rTMtX/961/TvXv3NDd7DXB1eP/997Pffvtl1qxZSZJLLrkkxxxzzEfWTZs2LSeeeGJeeumlJMnAgQNz3nnnrdZZG9WNN96YWbNmpXfv3undu3e23nrrjBw5svbvd2WPME2bNi2HHXZYZs6cmXbt2uX666/PIYccstSa8ePHZ+DAgZkzZ06am5szevTobL/99m3yuBpNa/yexo8fnzPPPDMnn3xyvvjFL2aDDTb4yJr58+fn0ksvrT3369atW/7nf/7HUfdW5KIPa7gFCxbk+uuvr+1fccUVH4mlJBk0aFDt/OInn3yy9kSD1eOss87Kz3/+8+y///7LjKUk2XLLLfOTn/yktn/fffdlzpw5q2lCluWxxx7L8OHDkyyK3i5dulQ8EUkycuTI2p9hX/va1/K9732vGEvJoqNPYmn1GTduXC2WPv3pTy8zlpJko402yjnnnFPbf+KJJ1bLfGuDU089Neecc06OOOKIbL311h/7fn7+859n5syZSZLjjz/+I7GUJHvssUe+853vJFn0xPzf//3fP/bPW9u0xu+pV69euf/++zNgwIBlxlKSNDc354ILLkjv3r2TLDpC/8ADD3zsufkowbSGe+KJJzJ16tQkSZ8+fWr/M3xY+/btM2DAgNr+r3/969UyH4t069ZtpdbtvPPO6dmzZ5Jkzpw5mTRpUhtOxfLMmTMnF1xwQVpaWtKvX798/vOfr3ok/n833XRTkkWnSA4aNKjiafiwd999t7a97bbbLnftkrc73XXNc99999W2TzzxxOK6Y445Jp07d06SPPjgg8X3OtH6OnfunI4dO65wXVNTU4444oja/osvvtiWY611BNMa7g9/+ENt+8ADD1zu2iVvX/L7WLMseSXDlblIBG3jqquuyhtvvJFu3bpl8ODBVY/D/++pp57Ka6+9liQ55JBDXPlzDbTkey9X9F6MJW//1Kc+1UYT8XG88sorefPNN5MkO+yww3KPgHTt2jV77713kkXh+/jjj6+WGVk1S54lIWpbl2Bawy0+9ztZdOrD8vTo0SObb755kuSdd97JtGnT2nQ2Vt28efOWegLhSnnVGDduXO1c7+9+97vLPM2Vaix52tY//MM/JEnuv//+fOMb38j++++f3XbbLQcccEBOOeWU/OpXv8r8+fOrGnWttffee2fDDTdMkkyYMCF33333MtdNmzYtV199dZJFFxMYOHDg6hqRlbAqzy8+vGbJ72XNseTvZcstt6xwksbjpO813OILBCTJVltttcL1W221VaZMmZIkee2117LRRhu12WysujFjxuS9995LkvTu3dsVoyowd+7cnH/++Vm4cGH69u2bf/7nf656JJaw+Kp4yaIjGcu6LO/UqVPz0EMP5aGHHsrNN9+cG2644RO9j4NV06lTp1x88cU5++yzM3/+/Hz/+9/PyJEjl7pK3ssvv5xRo0Zl1qxZ6dy5c370ox/VjlCwZlh8JDdZ+ecXiy353IQ1w4wZM5Y6xfKggw6qcJrGI5jWcIufXCepvaK3PEu+l2bJ76V606ZNy5VXXlnb/+Y3v1nhNGuva665JhMnTsw666yTIUOGVD0OH7L4PZtJcu2112bixInp0KFDvvzlL2fvvfdOc3NzXnjhhYwYMSLTp0/PSy+9lBNPPDEjR45c6fcS8skdfvjhGTZsWIYMGZKXX34548aNy7hx45Za06FDh5x66qk59thja2c/sObw/KKxXH755ZkxY0aS5OCDD85OO+1U8USNxSl5a7gl3yS7vKtELWvN4qsYUb158+bljDPOqL1Z+tBDD81hhx1W8VRrn6effjo333xzkkUfKLjNNttUOxAfsfgv/GTRq9gbbLBBhg8fnksuuST9+/fPF77whfyf//N/MmbMmOy4445JFl2yf/GpX6w+n/nMZ3LBBRdk1113XebtH3zwQW6//fYMGzbM+ynWQKv6/GKdddapbXt+sWa54447MnLkyCTJ+uuv7325bUAwQRtbuHBhzj///Dz55JNJkm222SaXXnppxVOtfebNm5fBgwdnwYIF6d27d77+9a9XPRLL8OGPBvzud7+7zCfkPXr0yFVXXVXbHzVqVO3yyLS9xZ+xdMIJJ+TNN9/MeeedlwceeCATJkzIk08+mZtvvjkHHXRQ/v73v+eWW27JgAED8re//a3qsaHh/P73v88ll1ySZNF7BS+77LKVOsWSVSOY1nCLL+OZrNwV1ZZc4zNlqtfS0pKLLrooo0ePTrLoIg/Dhg0rfpYCbeenP/1pXnrppbRv3z4//OEP0759+6pHYhmW/HOrc+fO+eIXv1hcu/POO2ePPfZIsiiIn3rqqbYejyy6JP/xxx+fsWPH1o4ADhw4MFtvvXU6dOiQ9dZbL3379s3PfvazHH/88UkWHd1d/KSONcOqPr9Y8iih5xdrhj/+8Y/59re/nfnz56epqSlDhgzJoYceWvVYDUkwreHWW2+92vbKvDo3ffr0ZX4vq19LS0t+8IMf1D4YdbPNNsstt9zilZ8KvPDCC7XP9hk4cGDx88yo3pKfTN+rV68Vfv7IbrvtVtt+44032mwu/p/bb7+9dsGAk046Kdttt11x7aBBg2q/09/85jdLvUeNanl+Ud8ee+yxfPOb38zcuXPT1NSUH/zgB8UPkeaTc9GHNVzPnj0zefLkJMnkyZNX+GR78dok2X777dt0NspaWlpy8cUX584770ySbLrpprn11lu9Z6YiI0eOzAcffJB27dqlQ4cOueGGG5a5bslLWj/xxBO1dT179syRRx65WmZd222//fZ57LHHkmSlPoNpyTVOyVs9fv/739e2999//+Wu7dy5c/bcc8889NBDWbhwYZ555pkcfPDBbTwhK2PJ5whLPncoWXLN4g9gpxqLY2nxUb8LL7wwxx57bMVTNTbBtIbr1atXHn744STJM888k3333be49p133qldUrx79+4uKV6RxbF0xx13JEk22WST3HrrrUt94j2r1+L3xSxcuDA33njjSn3P2LFjM3bs2CSLPkBVMK0eO++8c217ZQJoyTVe9V493n777dr2yvw7X3LNkhcaoFq9evWqbT/zzDMrXL/kGh9CXJ3FsTRnzpwkyQUXXJDjjjuu4qkan1Py1nCf+9znatt/+MMflrv2oYceqm27/n41PhxLPXr0yK233rrcU1aA/+fAAw9MU1NTkkUfwjhv3rzlrl/yc5u86r16LPn+lcUv0i3PW2+9Vdt26fc1x4477lj78PRXX311uUeZZs2aVXuP4Lrrrps+ffqslhlZ2odjafDgwfmXf/mXiqdaOwimNVyfPn1qH276+OOP59lnn13mugULFuQXv/hFbb9fv36rZT6WNmTIkI/Ekidx1Rs8eHBefPHFFf5z+umn177n9NNPr329dAofrW+zzTbLZz7zmSSLjkbce++9xbUvvPBCxo8fn2TRk/i99tprdYy41lvyyMTiC9qUTJo0KU8//XSSRVfwWvI9Z1RvySPniz9yYVmGDx9eOzp48MEHZ911123r0fiQsWPHLhVL559/fk444YSKp1p7CKY1XPv27XPaaafV9r/3ve/VPstnSVdeeWWef/75JMlee+211JEpVo8f/vCHuf3225P8v1jyPjJYdWeffXZt+4orrshzzz33kTXvvPNOBg0aVNsfMGDAUp8TQ9s56qijatsjR47M3Xffvcx1U6dOzZlnnpn58+cnSf7xH//REaY1zMknn1w7Ynjbbbflt7/97UfW/PnPf84111yTJGlubs63vvWt1Toji14w/9d//delYunEE0+seKq1S1PLhz/0gjXO/Pnzc8opp+TRRx9NsujJ+DHHHJMdd9wx06dPz69//evaofL1118/t99+u/OLV7OhQ4fW3hvT1NSUs88+e6Viadddd62dEkH1rrvuulx//fVJFh1hOuOMMyqeaO115ZVX1q5s2KFDh/Tv3z977713mpub8/zzz2fEiBG1q3bttttuuf3221fqwzdpHd/+9rfz3//937X9Pn365JBDDsmmm26auXPnZsKECbnnnnvy97//PcmiU/GGDx/uvZyt5I033siIESOW+tqLL76Y3/3ud0mSnXbaKZ///OeXun3fffdN3759P3Jfo0aNyrnnnptk0VHAfv36Zf/990+7du0ybty4/Nd//VftsuNnnXVWTj311LZ4SA2pNX5Pzz//fI477rjaEb4DDjggX/va11b4s7t165Z99tnnkz4E/n8u+lAHmpubc+2112bQoEH53e9+l6lTpy7zFKHNNtssQ4cOFUsVGDduXG27paVlqQ/UXJ7LLrssRx99dFuNBXVr0KBBad++fW666aZ88MEHGT58eO0S/Us64IADcvXVV4ul1ezKK69M165d86tf/SrJolfAH3/88WWu7dmzZ4YOHSqWWtFbb7213AvYLD6deEnNzc3LDKb+/ftnzpw5ufzyyzN37tyMGTMmY8aMWWpN+/btc+qpp4qlVdQav6fnn39+qYulPPLII3nkkUdW+LP79Omz1Fs1+GQEU53o2rVrbrzxxjzwwAO555578swzz+Tdd99Nly5dss022+Swww7Lscce6ypRQMM466yzcuSRR2bEiBF59NFH89e//jXz589P9+7ds+eee+ZLX/qSC9xUpGPHjrn00kszYMCAjBw5MuPGjcvkyZMzc+bMdOjQIRtttFF222232hUmV/R5WlTruOOOy3777Zc777wzDz/8cKZMmZKWlpZssskm2XffffPVr341u+66a9VjQmWckgcAAFDgog8AAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAo+P8AAV0J+1zL7q8AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 417,
       "width": 422
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import seaborn as sns\n",
    "\n",
    "sns.set_style(\"white\")\n",
    "# Loading the train and test data\n",
    "digit = np.genfromtxt(\"data/digit_4_14x14.csv\", delimiter=\",\").astype(np.int16)\n",
    "plt.imshow(digit, \"gray_r\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This image in matrix form"
   ]
  },
  {
   "cell_type": "code",
chadhat's avatar
chadhat committed
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "def plot_astable(matrix, hw=0.15):\n",
    "    matrix = plt.table(cellText=matrix, loc=(0, 0), cellLoc=\"center\")\n",
    "    matrix.set_fontsize(14)\n",
    "    cells = matrix.get_celld()\n",
    "    for i in cells:\n",
    "        cells[i].set_height(hw)\n",
    "        cells[i].set_width(hw)\n",
    "    plt.axis(\"off\")"
   ]
  },
  {
   "cell_type": "code",
chadhat's avatar
chadhat committed
   "execution_count": 4,
   "metadata": {},
chadhat's avatar
chadhat committed
   "outputs": [
    {
     "data": {
      "image/png": "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paWx8847x+TJk2PZsmUNfTo0Mq57pKapwuRjOOrRLbfcEosXL86tzznnnDj11FPzgo+I6NixY9x+++2x/fbb5x579NFH480339xk50rh0xOpaYrUNEVqmiI1TZGSnkhNU6SmKVLTFCn17ds37rrrrjjppJM2OCgREdG1a9cYMWJE7LvvvrnHKioq4u67767v06QRKSkpiX79+sUJJ5wQ1157bTzyyCMxfvz4uOuuu6JDhw4NfXo0Qq57pKapwmRYop58/PHHMWrUqNx6m222icGDB693+5KSkrjkkkty66qqqhgxYkS9niONh55ITVOkpilS0xSpaYqU9ERqmiI1TZGapmhoxcXF8aMf/SjvsX/9618NdDYUoqFDh8Z9990Xl156aQwaNCh69eq11g8gobZc90hNU4XLlaKePP3007Fy5crc+pvf/Ga0aNFig/sMHDgwtttuu9z62WefjeXLl9fbOdJ46InUNEVqmiI1TZGapkhJT6SmKVLTFKlpikKw8847R2lpaW790UcfNeDZAE2Z6x6paapwGZaoJ6NHj85bH3HEEbXa77PbVVRUxAsvvJD0vGic9ERqmiI1TZGapkhNU6SkJ1LTFKlpitQ0RaFo3bp17uuqqqoGPBOgKXPdIzVNFS7DEvXk1VdfzX3duXPn6N69e63222233fLWr7zyStLzonHSE6lpitQ0RWqaIjVNkZKeSE1TpKYpUtMUhaCioiIWLlyYW9e2Q4C6ct0jNU0VLsMS9WDu3LmxePHi3LpPnz613rdv375563fffTfZedE46YnUNEVqmiI1TZGapkhJT6SmKVLTFKlpikLxxBNPxKpVq3LrAw88sAHPBmiqXPdITVOFzbBEPZg+fXreeuutt671vp07d877jJrqxyJ79ERqmiI1TZGapkhNU6SkJ1LTFKlpitQ0RSF4++2347rrrsutO3ToEKecckoDnhHQVLnukZqmCpthiXowZ86cvHWXLl1qvW9RUVHe9tWPRfboidQ0RWqaIjVNkZqmSElPpKYpUtMUqWmKhlBVVRWLFy+O8ePHxzXXXBPHHXdcLFiwICIiSktLY9iwYdGpU6cGPkugKXLdIzVNFbbmDX0CTdHSpUvz1q1bt67T/p/dfvXq1bFy5cpo2bJlknOj8dETqWmK1DRFapoiNU2Rkp5ITVOkpilS0xSbwvTp0+OrX/1qbl1ZWRlVVVVrbXfAAQfERRddFD169NiEZwdkieseqWmqsLmzRD1Yvnx53rqkpKRO+1ffvvr/icgWPZGapkhNU6SmKVLTFCnpidQ0RWqaIjVNsSlUVVXFmjVrcv+rPijRrFmzOOmkk+KKK64wKAHUK9c9UtNUYTMsUQ8qKiry1nWd7qm+/YoVKzb6nGi89ERqmiI1TZGapkhNU6SkJ1LTFKlpitQ0RSGorKyMP/3pT3HwwQfHddddFytXrmzoUwKaKNc9UtNUYfMxHPWg+oTPqlWr6rR/9Td6bqWSbXoiNU2RmqZITVOkpilS0hOpaYrUNEVqmmJT2H777eOtt97KrVeuXBkLFy6MqVOnxhNPPBF///vfY9WqVbFq1aq48847Y9q0afG73/1OT0ByrnukpqnC5s4S9aC0tDRvXX1iqCbVJ4Lq+tk1NC16IjVNkZqmSE1TpKYpUtITqWmK1DRFapqiIbRs2TLKyspi//33j2uuuSb++te/xlZbbZX78+effz6GDx/egGcINFWue6SmqcJmWKIeVI9+2bJlddr/s58107x58zp/dg1Ni55ITVOkpilS0xSpaYqU9ERqmiI1TZGapigEvXv3jttuuy1atGiRe2zkyJGxcOHChjspoEly3SM1TRU2wxL1oEuXLnnr8vLyWu9bVVUVc+bMWe+xyB49kZqmSE1TpKYpUtMUKemJ1DRFapoiNU1RKHr16hVHHXVUbl1RURHPPPNMw50Q0CS57pGapgqbYYl60LNnz7z1hx9+WOt958+fn/dZNdttt12y86Jx0hOpaYrUNEVqmiI1TZGSnkhNU6SmKVLTFIVkn332yVu/9dZbDXQmQFPlukdqmipshiXqQZcuXaJt27a59dSpU2u975QpU/LW22+/fbLzonHSE6lpitQ0RWqaIjVNkZKeSE1TpKYpUtMUhaRz58556yVLljTQmQBNleseqWmqsBmWqCf9+/fPfT1//vx4//33a7XfhAkT8tYDBgxIel40TnoiNU2RmqZITVOkpilS0hOpaYrUNEVqmqJQVB+O2HzzzRvoTICmzHWP1DRVuAxL1JODDjoob/3444/Xar9//OMfua9LSkpi3333TXpeNE56IjVNkZqmSE1TpKYpUtITqWmK1DRFapqiUFT/Ddutttqqgc4EaMpc90hNU4XLsEQ9Ofjgg6NFixa59X333Zf3mTLrMnbs2Hjvvfdy6/333z9KS0vr7RxpPPREapoiNU2RmqZITVOkpCdS0xSpaYrUNEUhqKioiL///e95j+2zzz4NdDZAU+a6R2qaKlyGJepJ586d4xvf+EZuPWvWrLj11lvXu/2KFSviyiuvzK2LiorizDPPrNdzpPHQE6lpitQ0RWqaIjVNkZKeSE1TpKYpUtMUKa1cuTLefPPNOu1TWVkZl112WXz44Ye5x3bdddfo2bNn6tMDcN0jOU0VLsMS9WjIkCHRunXr3HrYsGExcuTIqKyszNtuwYIFccYZZ8Q777yTe+yoo46Kvn37brJzpfDpidQ0RWqaIjVNkZqmSElPpKYpUtMUqWmKVCoqKuKYY46JH/7whzFmzJhYuXLlBrd/44034uSTT44HH3ww91izZs3i4osvruczBbLMdY/UNFWYiqqqqqpSHax///5RXl4eW265ZYwfPz7VYRu1Z555Js4888y80Hv06BF77713tG/fPmbOnBljxoyJioqK3J/vsMMOce+990abNm0a4pQLSvfu3aOyslJT/0dPG09T+TS1cfS0Nk1tHE2tTVMbR1Nr09TG0VQ+PW08TeXT1MbR09o0tXE0tTZNbRxN/ceiRYtiwIABuXWrVq2id+/escMOO0S7du2iVatWsXTp0igvL49JkybF+++/n7d/UVFRXHXVVXHcccdt6lMvOJr6f2bPnh2HHnroOv9szZo1eevi4uJ1bjdy5MjYc889k59bY6KpfK57G0dPa9PUxqmPWYTmSY7Ceh1wwAFxzTXXxOWXXx7Lly+PiIgZM2bEjBkz1rl9nz594uabbxY866QnUtMUqWmK1DRFapoiJT2RmqZITVOkpinqw/Lly+O1116L1157rcZtu3TpEr/4xS/iwAMP3ARnRmNSVVW11lDE+qxvu4S/W0wT4bpHapoqPD6GYxM45phj4v77749DDjkkWrRosc5ttthiizj77LNj1KhR0a1bt018hjQmeiI1TZGapkhNU6SmKVLSE6lpitQ0RWqaYmO1bt06rrvuuvjqV78aXbp0qdU+ffv2jYsvvjgee+wxgxLAJuW6R2qaKiw+hmMT++STT2LChAlRXl4eS5cujc6dO0f37t1j9913X++tn7LMLXo2TE91p6kN01Td6KlmmqobTdVMU3WjqZppqm40tWF6qjtNbZim6kZPNdNU3WiqZpqqG02t29y5c+Pdd9+NDz74IBYtWhQVFRVRWloabdq0iW7dusXOO+8cm2++eUOfZkHSFKlpasNc9+pGTzXTVN34GI4moEOHDnHwwQc39GnQROiJ1DRFapoiNU2RmqZISU+kpilS0xSpaYoUysrKoqysrKFPA6BGrnukpqmG52M4AAAAAAAAAIBMMSwBAAAAAAAAAGSKYQkAAAAAAAAAIFMMSwAAAAAAAAAAmWJYAgAAAAAAAADIFMMSAAAAAAAAAECmGJYAAAAAAAAAADLFsAQAAAAAAAAAkCmGJQAAAAAAAACATDEsAQAAAAAAAABkimEJAAAAAAAAACBTDEsAAAAAAAAAAJliWAIAAAAAAAAAyBTDEgAAAAAAAABAphiWAAAAAAAAAAAyxbAEAAAAAAAAAJAphiUAAAAAAAAAgEwxLAEAAAAAAAAAZIphCQAAAAAAAAAgUwxLAAAAAAAAAACZYlgCAAAAAAAAAMgUwxIAAAAAAAAAQKYYlgAAAAAAAAAAMsWwBAAAAAAAAACQKYYlAAAAAAAAAIBMMSwBAAAAAAAAAGSKYQkAAAAAAAAAIFMMSwAAAAAAAAAAmWJYAgAAAAAAAADIFMMSAAAAAAAAAECmGJYAAAAAAAAAADLFsAQAAAAAAAAAkCmGJQAAAAAAAACATDEsAQAAAAAAAABkimEJAAAAAAAAACBTDEsAAAAAAAAAAJliWAIAAAAAAAAAyBTDEgAAAAAAAABAphiWAAAAAAAAAAAyxbAEAAAAAAAAAJAphiUAAAAAAAAAgEwxLAEAAAAAAAAAZEpRVVVVVaqDbbvttrF69eqIiGjWzBwGG6+ysjL3taZIQVOkpCdS0xSpaYrUNEVqmiIlPZGapkhNU6SmKVLTFCnpidT+21Tz5s1j5syZSY7ZPMlR/s9no//s15CCpkhNU6SkJ1LTFKlpitQ0RWqaIiU9kZqmSE1TpKYpUtMUKemJlFL2lHRYori4OCorK6NZs2ZRVlaW8tBkVHl5eUSEpkhGU6SkJ1LTFKlpitQ0RWqaIiU9kZqmSE1TpKYpUtMUKemJ1ObOnRuVlZVRXFyc7JhJhyU6deoU5eXlUVZWFuPHj095aDKqe/fuUVlZqSmS0RQp6YnUNEVqmiI1TZGapkhJT6SmKVLTFKlpitQ0RUp6IrX+/ftHeXl5dOrUKdkxfUAMAAAAAAAAAJAphiUAAAAAAAAAgEwxLAEAAAAAAAAAZIphCQAAAAAAAAAgUwxLAAAAAAAAAACZYlgCAAAAAAAAAMgUwxIAAAAAAAAAQKYYlgAAAAAAAAAAMsWwBAAAAAAAAACQKYYlAAAAAAAAAIBMMSwBAAAAAAAAAGSKYQkAAAAAAAAAIFMMSwAAAAAAAAAAmWJYAgAAAAAAAADIFMMSAAAAAAAAAECmGJYAAAAAAAAAADLFsAQAAAAAAAAAkCmGJQAAAAAAAACATDEsAQAAAAAAAABkimEJAAAAAAAAACBTDEsAAAAAAAAAAJliWAIAAAAAAAAAyBTDEgAAAAAAAABAphiWAAAAAAAAAAAyxbAEAAAAAAAAAJAphiUAAAAAAAAAgEwxLAEAAAAAAAAAZIphCQAAAAAAAAAgUwxLAAAAAAAAAACZYlgCAAAAAAAAAMgUwxIAAAAAAAAAQKYYlgAAAAAAAAAAMsWwBAAAAAAAAACQKc0b+gSyZuHChTFhwoQoLy+PJUuWRFlZWXTr1i123333aNbM7Ap1oydS0xSpaYrUNEVqmiIlPZGapkhNU0Ch8zpFSnoCCp3XqYZnWGITmTFjRtx4440xZsyYWLVq1Vp/XlZWFscff3wMHjw4WrZs2QBnSGOiJ1LTFKlpitQ0RWqaIiU9kZqmSE1TpLJ06dKYMmVKTJw4MSZOnBiTJk2K2bNn5/68a9euMXr06AY8Qxorr1OkpCdScu2jPnidKhxGUjaBhx9+OAYNGhRPPvnkOoOPiJg7d24MGzYsvvWtb+W9yEJ1eiI1TZGapkhNU6SmKVLSE6lpitQ0RQq///3v4+ijj4499tgjTjzxxLj++uvjiSee0AtJeJ0iJT2Rimsf9cXrVGFxZ4l69txzz8VPf/rTWLNmTe6xHj16xF577RXt27ePWbNmxZgxY6KioiIiIiZPnhxDhgyJe+65J9q0adNQp02B0hOpaYrUNEVqmiI1TZGSnkhNU6SmKVJ55ZVXYtq0aQ19GjRBXqdISU+k5NpHffA6VXgMS9SjefPmxfnnn58LvqioKC688MI45ZRT8j5nZsGCBXHuuefGuHHjIiJi2rRpcdlll8WNN97YIOdNYdITqWmK1DRFapoiNU2Rkp5ITVOkpinqW2lpaey8884xefLkWLZsWUOfDo2Q1ylS0hObgmsfG8PrVGHyMRz16JZbbonFixfn1uecc06ceuqpecFHRHTs2DFuv/322H777XOPPfroo/Hmm29usnOl8OmJ1DRFapoiNU2RmqZISU+kpilS0xQplZSURL9+/eKEE06Ia6+9Nh555JEYP3583HXXXdGhQ4eGPj0aKa9TpKQnUnPtIzWvU4XJsEQ9+fjjj2PUqFG59TbbbBODBw9e7/YlJSVxySWX5NZVVVUxYsSIej1HGg89kZqmSE1TpKYpUtMUKemJ1DRFapoitaFDh8Z9990Xl156aQwaNCh69eq11jf2oS68TpGSnqgPrn2k5HWqcPl/dT15+umnY+XKlbn1N7/5zWjRosUG9xk4cGBst912ufWzzz4by5cvr7dzpPHQE6lpitQ0RWqaIjVNkZKeSE1TpKYpoNB5nSIlPQGFzutU4TIsUU9Gjx6dtz7iiCNqtd9nt6uoqIgXXngh6XnROOmJ1DRFapoiNU2RmqZISU+kpilS0xRQ6LxOkZKegELndapwGZaoJ6+++mru686dO0f37t1rtd9uu+2Wt37llVeSnheNk55ITVOkpilS0xSpaYqU9ERqmiI1TQGFzusUKekJKHRepwqXYYl6MHfu3Fi8eHFu3adPn1rv27dv37z1u+++m+y8aJz0RGqaIjVNkZqmSE1TpKQnUtMUqWkKKHRep0hJT0Ch8zpV2AxL1IPp06fnrbfeeuta79u5c+e8z6ipfiyyR0+kpilS0xSpaYrUNEVKeiI1TZGapoBC53WKlPQEFDqvU4XNsEQ9mDNnTt66S5cutd63qKgob/vqxyJ79ERqmiI1TZGapkhNU6SkJ1LTFKlpCih0XqdISU9AofM6VdgMS9SDpUuX5q1bt25dp/0/u/3q1atj5cqVSc6LxklPpKYpUtMUqWmK1DRFSnoiNU2RmqaAQud1ipT0BBQ6r1OFzbBEPVi+fHneuqSkpE77V9+++v+JyBY9kZqmSE1TpKYpUtMUKemJ1DRFapoCCp3XKVLSE1DovE4VNsMS9aCioiJv3bJlyzrtX337FStWbPQ50XjpidQ0RWqaIjVNkZqmSElPpKYpUtMUUOi8TpGSnoBC53WqsBmWqAfVJ3xWrVpVp/2r3z6lrv+noWnRE6lpitQ0RWqaIjVNkZKeSE1TpKYpoNB5nSIlPQGFzutUYTMsUQ9KS0vz1tUnhmpSfSKorp9dQ9OiJ1LTFKlpitQ0RWqaIiU9kZqmSE1TQKHzOkVKegIKndepwmZYoh5Uj37ZsmV12v+znzXTvHnzOn92DU2LnkhNU6SmKVLTFKlpipT0RGqaIjVNAYXO6xQp6QkodF6nCpthiXrQpUuXvHV5eXmt962qqoo5c+as91hkj55ITVOkpilS0xSpaYqU9ERqmiI1TQGFzusUKekJKHRepwqbYYl60LNnz7z1hx9+WOt958+fn/dZNdttt12y86Jx0hOpaYrUNEVqmiI1TZGSnkhNU6SmKaDQeZ0iJT0Bhc7rVGEzLFEPunTpEm3bts2tp06dWut9p0yZkrfefvvtk50XjZOeSE1TpKYpUtMUqWmKlPREapoiNU0Bhc7rFCnpCSh0XqcKm2GJetK/f//c1/Pnz4/333+/VvtNmDAhbz1gwICk50XjpCdS0xSpaYrUNEVqmiIlPZGapkhNU0Ch8zpFSnoCCp3XqcJlWKKeHHTQQXnrxx9/vFb7/eMf/8h9XVJSEvvuu2/S86Jx0hOpaYrUNEVqmiI1TZGSnkhNU6SmKaDQeZ0iJT0Bhc7rVOEyLFFPDj744GjRokVufd999+V9psy6jB07Nt57773cev/994/S0tJ6O0caDz2RmqZITVOkpilS0xQp6YnUNEVqmgIKndcpUtITUOi8ThUuwxL1pHPnzvGNb3wjt541a1bceuut691+xYoVceWVV+bWRUVFceaZZ9brOdJ46InUNEVqmiI1TZGapkhJT6SmKVLTFFDovE6Rkp6AQud1qnAZlqhHQ4YMidatW+fWw4YNi5EjR0ZlZWXedgsWLIgzzjgj3nnnndxjRx11VPTt23eTnSuFT0+kpilS0xSpaYrUNEVKeiI1TZGapoBC53WKlPQEFDqvU4WpqKqqqirVwfr37x/l5eWx5ZZbxvjx41MdtlF75pln4swzz8wLvUePHrH33ntH+/btY+bMmTFmzJioqKjI/fkOO+wQ9957b7Rp06YhTrmgdO/ePSorKzX1f/S08TSVT1MbR09r09TG0dTaNLVxNLU2TW0cTeXT08bTVD5NbRw9rU1TG0dT/8/s2bPj0EMPXeefrVmzJm9dXFy8zu1GjhwZe+65Z/Jza0w0tTavUxtHU/n0tPE09f+49m08Pa3N69TGqY9ZhOZJjsJ6HXDAAXHNNdfE5ZdfHsuXL4+IiBkzZsSMGTPWuX2fPn3i5ptvFjzrpCdS0xSpaYrUNEVqmiIlPZGapkhNU6RSVVW11g+G1md92yX8nT2aEK9TpKQnUnLtoz54nSo8PoZjEzjmmGPi/vvvj0MOOSRatGixzm222GKLOPvss2PUqFHRrVu3TXyGNCZ6IjVNkZqmSE1TpKYpUtITqWmK1DQFFDqvU6SkJ6DQeZ0qLD6GYxP75JNPYsKECVFeXh5Lly6Nzp07R/fu3WP33Xdf7216sswtejZMT3WnqQ3TVN3oqWaaqhtN1UxTdaOpmmmqbjS1YXqqO01tmKbqRk8101TdaIrUNFUzr1N1o6kN01PdaYqU9FQzr1N142M4moAOHTrEwQcf3NCnQROhJ1LTFKlpitQ0RWqaIiU9kZqmSE1TQKHzOkVKegIKndephudjOAAAAAAAAACATDEsAQAAAAAAAABkimEJAAAAAAAAACBTDEsAAAAAAAAAAJliWAIAAAAAAAAAyBTDEgAAAAAAAABAphiWAAAAAAAAAAAyxbAEAAAAAAAAAJAphiUAAAAAAAAAgEwxLAEAAAAAAAAAZIphCQAAAAAAAAAgUwxLAAAAAAAAAACZYlgCAAAAAAAAAMgUwxIAAAAAAAAAQKYYlgAAAAAAAAAAMsWwBAAAAAAAAACQKYYlAAAAAAAAAIBMMSwBAAAAAAAAAGSKYQkAAAAAAAAAIFMMSwAAAAAAAAAAmWJYAgAAAAAAAADIFMMSAAAAAAAAAECmGJYAAAAAAAAAADLFsAQAAAAAAAAAkCmGJQAAAAAAAACATDEsAQAAAAAAAABkimEJAAAAAAAAACBTDEsAAAAAAAAAAJliWAIAAAAAAAAAyBTDEgAAAAAAAABAphiWAAAAAAAAAAAyxbAEAAAAAAAAAJAphiUAAAAAAAAAgEwxLAEAAAAAAAAAZIphCQAAAAAAAAAgUwxLAAAAAAAAAACZYlgCAAAAAAAAAMgUwxIAAAAAAAAAQKYYlgAAAAAAAAAAMsWwBAAAAAAAAACQKYYlAAAAAAAAAIBMKaqqqqpKdbBtt902Vq9eHRERzZqZw2DjVVZW5r7WFCloipT0RGqaIjVNkZqmSE1TpKQnUtMUqWmK1DRFapoiJT2R2n+bat68ecycOTPJMZsnOcr/+Wz0n/0aUtAUqWmKlPREapoiNU2RmqZITVOkpCdS0xSpaYrUNEVqmiIlPZFSyp6SDksUFxdHZWVlNGvWLMrKylIemowqLy+PiNAUyWiKlPREapoiNU2RmqZITVOkpCdS0xSpaYrUNEVqmiIlPZHa3Llzo7KyMoqLi5MdM+mwRKdOnaK8vDzKyspi/PjxKQ9NRnXv3j0qKys1RTKaIiU9kZqmSE1TpKYpUtMUKemJ1DRFapoiNU2RmqZISU+k1r9//ygvL49OnTolO6YPiAEAAAAAAAAAMsWwBAAAAAAAAACQKYYlAAAAAAAAAIBMMSwBAAAAAAAAAGSKYQkAAAAAAAAAIFMMSwAAAAAAAAAAmWJYAgAAAAAAAADIFMMSAAAAAAAAAECmGJYAAAAAAAAAADLFsAQAAAAAAAAAkCmGJQAAAAAAAACATDEsAQAAAAAAAABkimEJAAAAAAAAACBTDEsAAAAAAAAAAJliWAIAAAAAAAAAyBTDEgAAAAAAAABAphiWAAAAAAAAAAAyxbAEAAAAAAAAAJAphiUAAAAAAAAAgEwxLAEAAAAAAAAAZIphCQAAAAAAAAAgUwxLAAAAAAAAAACZYlgCAAAAAAAAAMgUwxIAAAAAAAAAQKYYlgAAAAAAAAAAMsWwBAAAAAAAAACQKYYlAAAAAAAAAIBMMSwBAAAAAAAAAGSKYQkAAAAAAAAAIFMMSwAAAAAAAAAAmWJYAgAAAAAAAADIFMMSAAAAAAAAAECmGJYAAAAAAAAAADLFsAQAAAAAAAAAkCnNG/oEsmbhwoUxYcKEKC8vjyVLlkRZWVl069Ytdt9992jWzOwKdaMnUtMUqWmK1DRFapoiJT2RmqZITVOkpilq46OPPopJkybFhx9+GMuWLYuSkpLo3LlzbLfddtG7d+9o2bJlQ58iBW7hwoUxbdq0mDlzZixcuDCqqqqiXbt2sfXWW8cXv/jFaNu27UYd/8MPP4y33347Pvjgg1iyZEk0b9482rVrF9tvv33svPPOGiXHdQ+aHsMSm8iMGTPixhtvjDFjxsSqVavW+vOysrI4/vjjY/DgwS681EhPpKYpUtMUqWmK1DRFSnoiNU2RmqZITVPUpLKyMh5++OH44x//GJMnT17vdi1atIjddtstBg8eHPvtt986tznooINi9uzZG31O11xzTRx77LEbfRzqX2VlZbz66qvx1FNPxUsvvRTTpk1b77ZFRUUxcODA+O53vxv7779/rY6/fPnyePbZZ2PMmDExduzYmDNnznq3LSkpiaOOOipOO+202HHHHev8d6FpcN0jpaVLl8aUKVNi4sSJMXHixJg0aVLeda5r164xevToBjzDbDHmtAk8/PDDMWjQoHjyySfX+SIaETF37twYNmxYfOtb30ryxo+mS0+kpilS0xSpaYrUNEVKeiI1TZGapkhNU9Tkgw8+iG9/+9tx4YUXbnBQIiJi1apVMW7cuHj55Zfr/bxKS0vr/TlI44gjjoiTTjop/vjHP25wUCIioqqqKl588cUYPHhwnH/++bFkyZINbv/ee+/FPvvsE+eee248+OCDGxyUiIhYsWJFPPDAA3HsscfGLbfcUue/C42f6x6p/P73v4+jjz469thjjzjxxBPj+uuvjyeeeEIzDcydJerZc889Fz/96U9jzZo1ucd69OgRe+21V7Rv3z5mzZoVY8aMiYqKioiImDx5cgwZMiTuueeeaNOmTUOdNgVKT6SmKVLTFKlpitQ0RUp6IjVNkZqmSE1T1OTtt9+OU089NebNm5d7rFmzZvHFL34xevXqFZ06dYqKioqYPXt2TJw4MT766KMaj1lcXBzFxcV1Oo+qqqqorKzMrUtLS9d75woKz4IFC9Z6rEePHtGvX7/o3LlzlJSURHl5eYwdOzbKy8tz2zz66KMxb968uP3226OkpGSdx66oqIhly5blPVZcXBx9+/aNnXbaKTp37hxr1qyJmTNnxosvvpgbvli1alUMHTo0Fi9eHD/5yU8S/m0pZK57pPTKK6/UOADGpmdYoh7Nmzcvzj///NyLaFFRUVx44YVxyimn5H120YIFC+Lcc8+NcePGRUTEtGnT4rLLLosbb7yxQc6bwqQnUtMUqWmK1DRFapoiJT2RmqZITVOkpilqsmDBgjjjjDPyBiW+9rWvxY9//OPo0qXLOveZMmVKPPDAAxv8oeJTTz1V53MZOXJkXHPNNbn1YYcdFq1bt67zcWhYXbt2jW984xsxaNCg2HLLLdf68zVr1sSoUaPimmuuiRUrVkRExLhx4+Kmm26KCy+8sMbjf/GLX4xvfvObcfjhh6+zwcWLF8fQoUPj7rvvzj12++23xx577BEHHnjgRvzNaAxc99gUSktLY+edd47JkyevNcjFpuFjOOrRLbfcEosXL86tzznnnDj11FPzXkQjIjp27Bi33357bL/99rnHHn300XjzzTc32blS+PREapoiNU2RmqZITVOkpCdS0xSpaYrUNEVNrrrqqrzf8v/Zz34WN9xww3oHJSIi+vbtGxdffHEMGTIk6bk88MADeetBgwYlPT71a+utt46rr746nnrqqTjzzDPXOSgR8Z87Qnz729+OYcOG5b0W/elPf9rgx2vstttucdddd8W9994bxx133HqHddq2bRuXXnppDB48OO/xX/3qV5/jb0Vj47pHaiUlJdGvX7844YQT4tprr41HHnkkxo8fH3fddVd06NChoU8vswxL1JOPP/44Ro0alVtvs802a11QP6ukpCQuueSS3LqqqipGjBhRr+dI46EnUtMUqWmK1DRFapoiJT2RmqZITVOkpilq8sILL8QjjzySWx9//PFxyimnNMi5TJ06Ne+HlF27do299tqrQc6Fz+f++++P4447rtYfv7L//vvHV77yldx61apV8fTTT69z2169esVf/vKXGDBgQK3P54c//GF069Ytt37nnXfi3XffrfX+ND6ue9SHoUOHxn333ReXXnppDBo0KHr16rXW8A2bnv8C9eTpp5+OlStX5tbf/OY3o0WLFhvcZ+DAgbHddtvl1s8++2wsX7683s6RxkNPpKYpUtMUqWmK1DRFSnoiNU2RmqZITVPU5Lbbbst93aZNm/if//mfBjuX6neVOOaYY6KoqKiBzobPo3nzun+C/GeHJSIiJk2alOzYLVq0iMMOOyzvsYkTJ9b5ODQernuQHYYl6sno0aPz1kcccUSt9vvsdhUVFfHCCy8kPS8aJz2RmqZITVOkpilS0xQp6YnUNEVqmiI1TbEh77//frz00ku59WGHHRYdO3ZskHNZvXp13h0uioqKfARHRmyzzTZ56/nz5zeq41NYXPcgOwxL1JNXX30193Xnzp2je/futdpvt912y1u/8sorSc+LxklPpKYpUtMUqWmK1DRFSnoiNU2RmqZITVNsyGOPPRZVVVW5dfXfwN+Unn322fj4449z6/79+9e6Vxq3pUuX5q0/zx0k6nL8mu4yQOPmugfZYViiHsydOzcWL16cW/fp06fW+/bt2zdv7XOv0BOpaYrUNEVqmiI1TZGSnkhNU6SmKVLTFDV5/fXX89Y777xzw5xIRDz44IN5a3eVyI633norb73lllvW6/G7dOmS9PgUDtc9yJa0o3VERMT06dPz1ltvvXWt9+3cuXO0aNEiVq1atc5jkT16IjVNkZqmSE1TpKYpUtITqWmK1DRFapqiJv/+979zX7dr1y7Kysoi4j8/cHzwwQdj9OjR8cEHH8TSpUujQ4cO0b1799h3333ja1/7WtIfaH/yyScxZsyY3LpVq1a1vnU+jd/DDz+ct957772THXvZsmXxz3/+M7du1qxZ7LXXXsmOT2Fx3YNscWeJejBnzpy8dV0mDIuKivK2r34sskdPpKYpUtMUqWmK1DRFSnoiNU2RmqZITVNsyOLFi2Pu3Lm5dadOnSIi4r777ovDDz88brzxxnjttddi3rx5sWzZspg9e3a89NJLceONN8Zhhx0WQ4cOjTVr1iQ5l0cffTT3A8qI/3wcSJs2bZIcm8I2bty4GDduXG7dtm3b+NKXvpTs+HfeeWcsW7Yst95zzz2jY8eOyY5PYXHdg2wxLFEPqn92VevWreu0/2e3X716daxcuTLJedE46YnUNEVqmiI1TZGapkhJT6SmKVLTFKlpig1ZuHBh3rp169Zxyy23xM9//vO8Hy6vy4oVK+KWW26Js846K0kXDzzwQN7aR3Bkw7Jly+KSSy7Je+zUU0+t82vV+kybNi3+93//N++xH/zgB0mOTWFy3YNsMSxRD5YvX563LikpqdP+1bev/sJMtuiJ1DRFapoiNU2RmqZISU+kpilS0xSpaYoNWbJkSd76vffei5tuuikiIlq2bBnf+9734qGHHorXX389Xn311fjzn/8cxxxzTBQVFeX2eeaZZ+KGG27YqPN4++238z4OpGvXrkk/hoHCdfnll8eMGTNy6549e8YZZ5yR5NhLly6N8847L++H3YMGDYoBAwYkOT6FyXUPsqV5Q59AU1RRUZG3btmyZZ32r779ihUrNvqcaLz0RGqaIjVNkZqmSE1TpKQnUtMUqWmK1DTFhlT/IeB/hyfatGkTd955Z+y66655f96/f//o379/fOlLX4oLLrggKisrIyLij3/8YwwaNCj69u37uc6j+l0lvv71r+cNZNA0/f73v4+HHnoot27ZsmXccMMNdf7h9rpUVlbGT37yk3jnnXdyj3Xv3j0uvvjijT42hc11D7LFnSXqQfUL8Wc/J602qt+Sp64vxDQteiI1TZGapkhNU6SmKVLSE6lpitQ0RWqaYkPW99/z5z//+VqDEp919NFHx0knnZT32B133PG5zmHNmjXx8MMP59ZFRUU+giMDHnvssbj++uvzHrviiiviC1/4QpLjX3XVVfH000/n1m3bto3hw4dH27ZtkxyfwuW6B9liWKIelJaW5q2rT6HVpPqUWarP1qJx0hOpaYrUNEVqmiI1TZGSnkhNU6SmKVLTFBuyrv+eXbt2ja9//es17jt48OBo0aJFbv3cc8/l7jRRF88//3zMmzcvt+7fv39ss802dT4OjceLL76Yd2eSiIgf/ehHyYZkbr755rjrrrty65KSkhgxYkTstNNOSY5PYXPdg2wxLFEPqr+QLlu2rE77f/bWZc2bN09yyygaLz2RmqZITVOkpilS0xQp6YnUNEVqmiI1TbEh6/oh4P777x/NmtX8o4fOnTtHv379cutFixblfeRBbT344IN5a3eVaNreeOONOPvss/N+2//000+PwYMHJzn+3XffHcOGDcutmzdvHkOHDo0999wzyfEpfK57kC2GJepBly5d8tbl5eW13reqqirmzJmz3mORPXoiNU2RmqZITVOkpilS0hOpaYrUNEVqmmJDOnXqlHd3iIiIXr161Xr/HXfcMW/92V5qY/HixXkfldCqVas44ogj6nQMGo9p06bF4MGD8354/Y1vfCMuuOCCJMd/6KGH4pe//GVuXVRUFFdddVUcfPDBSY5P4+C6B9liWKIe9OzZM2/94Ycf1nrf+fPn501EbrfddsnOi8ZJT6SmKVLTFKlpitQ0RUp6IjVNkZqmSE1TbEiLFi3W+siLdu3a1Xr/6tt++umndXr+Rx99NO+W94ceemi0adOmTsegcZg1a1acdtppsXDhwtxjRx55ZFxxxRVJjv/000/Hz372s6iqqso99vOf/zyOOeaYJMen8XDdg2wxLFEPunTpEm3bts2tp06dWut9p0yZkrfefvvtk50XjZOeSE1TpKYpUtMUqWmKlPREapoiNU2RmqaoyQ477JC3XrlyZa33rb5tXW9XX/0jOI499tg67U/jMGfOnPjud78b8+bNyz22//77xw033FCrj3ypydixY+N//ud/YvXq1bnHzjvvvDjxxBM3+tg0Pq57kC2GJepJ//79c1/Pnz8/3n///VrtN2HChLz1gAEDkp4XjZOeSE1TpKYpUtMUqWmKlPREapoiNU2RmqbYkD333DNvXZeP0qh+e/sOHTrUet/33nsvXnvttdx66623jr333rvW+9M4LFiwIL773e/G7Nmzc4/t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U/ztb3+LSy65JI499tha7Tds2LD43e9+F2vWrNngdlVVVfHiiy/Giy++GMcdd1xcccUVfjEsQ1z3SGVTXl+pPa/m9ey5556Ln/70p3kX2x49esRee+0V7du3j1mzZsWYMWOioqIiIv7z29dDhgyJe+65J9q0adNQpw00QpMnT46TTjopb9K6VatWse+++0bPnj2jsrIypk+fHi+++GLuNef555+PH/zgB3HHHXfUaeK1qKioTrcVczeAxueVV16JadOm1etzjBo1Kq6//vq8x/r06RP9+/ePVq1axbvvvhvPPfdcbpDihRdeiHPPPTduv/12/yDNEO+lSE1TpKQnUtMUqWmK1DSVDZviewIRES+//HIMGTIk7weQLVq0iAEDBkSPHj2iQ4cOsWzZspgxY0ZMnDgxPv744zo/x6OPPhoXXHBB3i9pbLbZZjFw4MDo1q1bbL755rF48eKYPn16TJw4MRYtWpTk70ZanTt3jh133DG23XbbaNeuXRQXF8fChQtj6tSp8frrr+d+6Lhs2bK46KKLYtWqVTXeUfe3v/1tDB8+PO+xzTffPPbZZ5/YZpttori4OMrLy+Oll16Kjz76KLfN3/72t1i5cmX86le/Sv8XpeC47pHSprq+Ujd+0lCP5s2bF+eff37uRbSoqCguvPDCOOWUU/J+yLhgwYI499xzY9y4cRHxn89Mu+yyy+LGG29skPOmcfDDaj5ryZIlcc455+QNShxwwAFx5ZVXxhZbbJG37Zw5c+Kiiy6KF154ISIixo0bF9dff338/Oc/r/XznX322XHOOeekOXkajdLS0th5551j8uTJG5ykro0333wzrrjiity6ZcuWcfXVV8fRRx+dt937778fZ511Vu5N5NixY2PYsGFx3nnnbdTz0zh4L0VqmiIlPZGapkhNU6SmqWxL+T2BiIjp06fHWWedlTtWcXFxnHjiiXH22Wev846SVVVV8dprr8V9990XJSUltXqOV155JS688MLcoERJSUmcddZZccopp0SrVq3W2n716tXx8ssvx7333uuXNBpYcXFxDBgwIA4//PDcL4Ktz+zZs+OKK66IZ555JvfY1VdfHQMHDlzv3UHeeuutuOWWW/IeO+GEE+LHP/5xlJaW5j2+Zs2a+Mtf/hLXXHNN7uMX/v73v8eRRx4ZBx988Of8G9IYuO6xKaS+vlJ3tf9JK3V2yy23xOLFi3Prc845J0499dS1fsDdsWPHuP3222P77bfPPfboo4/Gm2++ucnOlcbnmGOOiSlTptT6f24b17TdfffdeR/Rsueee8bw4cPXGpSIiOjSpUvccsst8cUvfjH32F/+8peYNWvWpjhVGomSkpLo169fnHDCCXHttdfGI488EuPHj4+77rorOnTosNHHv+mmm/I+3++Xv/zlWoMSERHdu3ePP/zhD9GpU6fcY3/4wx9i3rx5G30OFD7vpUhNU6SkJ1LTFKlpitQ0lR31/T2Bqqqq+PnPfx5LliyJiP/8YPymm26Kn/3sZ+v96M2ioqLYfffd45prrqnVRyysWLEiLr744tz3HkpLS2PkyJExZMiQdQ5KREQ0b9489t133/jtb38b++yzz+f825FC375946677oqTTjppg4MSERFdu3aNESNGxL777pt7rKKiIu6+++717nPPPffk3Sngq1/9alx66aVrDUpE/KfPE044IS666KK8x//85z/X9q9DI+W6R2r1fX3l8zEsUU8+/vjjGDVqVG69zTbbxODBg9e7fUlJSVxyySW5dVVVVYwYMaJezxFoOu66667c10VFRfGLX/xigxPwLVu2jF/84he59apVq7zmkGfo0KFx3333xaWXXhqDBg2KXr161eluNhsyderUGDNmTG49YMCAOOaYY9a7fceOHeP888/PrZcvXx533nlnknOhcHkvRWqaIiU9kZqmSE1TpKapbKnP7wlERPz1r3+N8ePH59bnnntuHHbYYcmOHxExYsSImDlzZm79y1/+Mnbfffekz0HhKC4ujh/96Ed5j/3rX/9a7/Zjx47NW5911lk1Pse3vvWtvF9Me/nll3Mf/0HT47pHfajv6yufj/8C9eTpp5+OlStX5tbf/OY3o0WLFhvcZ+DAgbHddtvl1s8++2zeLfUB1uXtt9+OuXPn5tb9+/evceI6IqJ3796xyy675NZPPfVU3usW1Jcnnngib/2d73ynxn2OPvro2HzzzXPrf/zjH8nPi8LivRSpaYqU9ERqmiI1TZGapkjp9ttvz33dtWvXOPXUU5Mef/ny5Xm/WLTbbrvFV7/61aTPQeHZeeed8+4M8dFHH6132zlz5uS+btu2bd4dAdanuLg473upq1atioULF36+k6Xgue5BdhiWqCejR4/OWx9xxBG12u+z21VUVMQLL7yQ9LyApmfy5Ml567pMye+22265r5csWbLWVDXUh89eI1u0aFGrz3csKSmJAw44ILeePXt2TJ06tT5OjwLhvRSpaYqU9ERqmiI1TZGapkhl3LhxMWPGjNz62GOPjZYtWyZ9jieeeCL3ER8REccff3zS41O4Wrdunfu6qqpqvdt99o4Qm222Wa2Pv76PcKHpcd2D7DAsUU9effXV3NedO3eO7t2712q/z/7gMiLilVdeSXpeQNNTfYK5S5cutd63+rYvv/xyilOC9Vq0aFFMmzYtt+7bt2+UlJTUat8vfvGLeWvXyKbNeylS0xQp6YnUNEVqmiI1TZHKI488krdO/fEb1Z+juLg4DjnkkOTPQeGpqKjI+z7phl6nunXrlvv6k08+qfVv/8+ePTv39eabbx4dOnSo+4nSKLjuQXYYlqgHc+fOjcWLF+fWffr0qfW+ffv2zVu/++67yc4LaJoqKiry1nWZxq/+Q2qvOdS36o3V5Rq58847b/BYNB3eS5GapkhJT6SmKVLTFKlpipRef/313NebbbZZ7LDDDkmPX1VVFRMnTsytu3fvHm3btk36HBSmJ554IlatWpVbH3jggevddr/99st9vXr16njyySdrPP6sWbNi0qRJufX+++8fRUVFn/NsKWSue5AtzRv6BJqi6dOn56233nrrWu/buXPnaNGiRe6iXv1YANVV/wffokWLar3vp59+mreu7Zu3l19+OaZOnRpvvfVWLFiwIJo3bx4dOnSIbbfdNgYMGBBHHHFEbLPNNrU+D7JjY66RW2211QaPRdPhvRSpaYqU9ERqmiI1TZGapkiloqIi73tPPXv2jGbN/vP7nLNmzYr7778//vWvf8VHH30Uy5cvj44dO0bPnj3jS1/6Unz961+P9u3b1/gcM2fOzPveWK9evXJfv/nmm3H//ffHyy+/HOXl5bFmzZro2LFj7LTTTrHffvvF0Ucf7WMWGqm33347rrvuuty6Q4cOccopp6x3+5NPPjlGjRoVy5Yti4iI66+/Pnbbbbf1fj9zyZIlccEFF8SaNWsi4j8fKztkyJCEfwMKieseZIthiXowZ86cvHVdbolfVFQUXbp0iQ8++GCdx4L/evPNN+O8886LyZMnx8cffxwREe3bt49u3brFgAED4pBDDonevXs38FmyKVR/jXn77bdrvW/1bcvLy2u137puH7Zo0aKYOXNmPPfcc3HTTTfFkUceGT/72c+iU6dOtT4fmr6NuUZuscUWUVxcnPuHqWtk0+W9FKlpipT0RGqaIjVNkZqmSGXGjBmxevXq3LpTp06xZs2auPXWW2P48OF5dwWIiFi2bFl88MEH8dxzz8WwYcPinHPO2eAPwCMi3nnnnbx1p06dYsWKFXHDDTfEXXfdFVVVVXl/vnjx4pg5c2Y8+eST8dvf/jYuuuii+MpXvrKRf1PqW1VVVSxZsiSmTZsWTz75ZNxzzz2xYsWKiIgoLS2NYcOGbfB7kl27do0rr7wyfvzjH0dlZWXMnz8/jjvuuDj99NPj0EMPje7du0dxcXHMmTMnnn/++bj11lvj/fffj4iIZs2axZVXXpn8rigUDtc9yBbDEvVg6dKleevWrVvXaf/Pbr969epYuXJlnW6rTzZMnTo1pk6dmvfYkiVL4oMPPoiXXnophg0bFl/+8pfj5z//eWy77bYNdJZsCtU/B+3555+PVatWRYsWLTa434oVK+Kll17Ke2zVqlVJXnPWrFkTjzzySIwbNy6GDx8e/fr126jj0XRUv0a2adOm1vs2a9YsWrVqFUuWLImIyE3/0/R4L0VqmiIlPZGapkhNU6SmKVJZuHBh3rp169Zx+eWXx6hRo2rcd/HixXH11VfHu+++G1dcccV6t6t+F9XNNtssfvCDH8Rzzz1X43PMmzcvzj///Jg1a1aceeaZNW7PpjN9+vT46le/mltXVlauNfgSEXHAAQfERRddFD169KjxmF/5yleiffv2cdlll8X7778fixYtiqFDh8bQoUPXu8+OO+4Yl1xySey5556f6+9B4+C6B9nSrKFPoClavnx53rqkpKRO+1ffvvoLM9TWc889F8cdd1w888wzDX0q1KNOnTrFLrvsklvPnz8/7rvvvhr3u/vuu9f6R2rEhl9ztt122zjttNPi1ltvjdGjR8frr78ekyZNimeffTaGDx8eX/nKV6K4uDi3/dy5c2Pw4MExa9asuv2laLKqXyPr+g+Fz14jXR+bLu+lSE1TpKQnUtMUqWmK1DRFKv/95Yf/evHFF3ODEm3bto3zzz8/Hn/88Zg4cWKMGzcu7rzzzjjwwAPz9rn33ntj5MiR632OxYsX563vv//+3KDEFltsEZdcckk8/fTTMWnSpBg7dmyMGDFirV9Euummm+Kf//zn5/1rUg+qqqpizZo1uf9VH5Ro1qxZnHTSSXHFFVfUalDiv/bdd9947LHH4rTTTsv7nua6HHnkkXHbbbcZlMgA1z3IFsMS9aCioiJvXdcfBFXf/r+3j4KI/9zy6Tvf+U7cfPPN8dRTT8WECRPi3//+dzz//PNx2223xfHHH5/X0OLFi+OHP/xhvPHGGw141tS30047LW99ww03xKuvvrre7ceOHRu/+c1v1vln63vNueOOO+If//hHXHjhhbH//vtH165do1WrVtGyZcvYcsst45BDDolf//rX8Ze//CW22mqr3H6ffPJJXHDBBZ/jb0VTlPIa6frYdHkvRWqaIiU9kZqmSE1TpKYpUqn+A8NFixZFRMSWW24Zf/vb3+L73/9+9OzZM0pKSqJdu3ax7777xi233BI/+tGP8va78cYbY968eet8jup3ofzvc+y4447x8MMPx4knnhjdunWLli1bRseOHePggw+Oe+65J771rW/l7XfZZZdptRGprKyMP/3pT3HwwQfHddddFytXrqzVfs8880x8/etfjzvvvDP3sa/r8/jjj8chhxwSV199tTaaONc9yBbDEvWg+tRY9c9aq0n1C7nb8/BfV111VYwePTouu+yyOPTQQ2ObbbaJ1q1bR4sWLWKLLbaIL3/5y3HFFVfEI488EjvuuGNuvxUrVsR5551X6zeJND5HHnlk7Lfffrn1smXL4rvf/W5cd9118eabb8bKlStjxYoVMXXq1Ljqqqvie9/7XlRUVESLFi3Wes0qLS1d53N86UtfiqKiohrPpV+/fnHnnXdG27Ztc4+99tpr8eyzz37Ovx1NScprZF2numk8vJciNU2Rkp5ITVOkpilS0xSprO+//fXXX7/BjxEePHhwHHLIIbn1ypUr46677qr1c7Rs2TJ+85vfRMeOHde5T1FRUVx66aXxhS98IffY/Pnz46GHHlrvObFpbb/99vHWW2/l/jdp0qT417/+Fbfeemsce+yxuY8jXrVqVdx5551x5pln1vi98BEjRsT3v//9mD59ekREdOzYMc4///x4+OGHY8KECTFx4sT45z//GVdddVX06tUrd/w//OEPcfLJJ7tbQBPmugfZYliiHlT/QWP1KbSaVJ8yq+vnIdF0DRw4MJo3b17jdttuu22MHDkytt5669xjs2fPrtVHM9A4FRUVxQ033BB9+vTJPfbffxx8/etfj1122SX69esXxxxzTPzxj3/MvcG74oor8l6zioqKok2bNht9Pj179ozBgwfnPfboo49u9HFp/KpfI+s6Wf3Z7dc32EPj570UqWmKlPREapoiNU2RmqZIZV3/jt9jjz1ir732qnHfH/zgB3nr0aNH1/o5jjzyyOjZs+cGj19cXBxnnnlmrZ6DhteyZcsoKyuL/fffP6655pr461//mnen2+effz6GDx++3v0fe+yxvLvu9unTJx5++OH4/ve/HzvttFO0bt06SkpKonv37vH//X//X9x///1xzDHH5LZ//fXX49JLL62XvxsNz3UPssWwRD2o/kJa/dZfNfnsRGLz5s395iyfS6dOneLHP/5x3mOPPfZYA50Nm0KHDh3i7rvvjkGDBkWzZht+eW/fvn0MHTo0jj322LzXnLZt29a4b20dd9xxeXeiGDt2bJLj0rhVv0bWZQq/srIy7x8nhiWaLu+lSE1TpKQnUtMUqWmK1DRFKuv6geGBBx5Yq3379OkTW265ZW799ttvx5IlS5I+x3777Ze7Q0HEf+6USuPQu3fvuO222/L++40cOTIWLly41rarVq2Kq6++OrcuKSmJESNGxBZbbLHe47ds2TKuvPLK2GmnnXKPPfLIIzFp0qQ0fwEKiuseZIthiXrQpUuXvHV5eXmt962qqoo5c+as91hQF4cffnjeXQJef/31WL58eQOeEfWtdevWce211+YmoXfZZZfo1KlTtGjRIjp37hy77bZbXHjhhfH444/HUUcdFUuWLMm7Ldj222+f7Fw6deoU3bt3z63nzp1b51uW0fRszDVy3rx5sXr16tz6s98koWnxXorUNEVKeiI1TZGapkhNU6Syrn/H//fjDWrjsx87XFVVFXPnzq3Vc3x2vw0pKSmJbbbZJrdeuHChjzVuRHr16hVHHXVUbl1RURHPPPPMWts9//zzMW/evNz6q1/9at4dmtenRYsWcdppp+U95qNamibXPciWmu/nT51Vv6XXhx9+WOt958+fn/fDxO222y7ZeZE9zZs3j1122SX3G/2rV6+OuXPnbvAzAGkaevXqFeeff36cf/75G9xu2rRpeetddtkl6Xl06tQpZs2alVsvXLhwg1PaNH0bc4386KOP8taukU2X91KkpilS0hOpaYrUNEVqmiKVrl27Rmlpad5vabdr167W+2+++eZ5608//XStbXbYYYca96vLcyxcuDDKyspqvT8Na5999skbYHjrrbfW2ub111/PW++55561Pn71bf/973/X7QRpFFz3IFvcWaIedOnSJdq2bZtbT506tdb7TpkyJW+d8re8yaZOnTrlrT/55JMGOhMKUfXXnF133TXp8avfycQtx6h+XavLNXLy5MkbPBZNh/dSpKYpUtITqWmK1DRFapoilaKiorV+CFmXOzdUv2Ppur7P1KlTp+jQocPnfo7q2/peVuPSuXPnvPW6PqplwYIFeeu6/GJX9eP7XnvT5LoH2WJYop70798/9/X8+fPj/fffr9V+EyZMyFsPGDAg6XmRPX5YzYb84x//yH1dWlpa689wrI3Kysq8qdsWLVrUaZKfpqldu3Z5t9icMmVKrFixolb7Vv+sUNfIps17KVLTFCnpidQ0RWqaIjVNkUr138z/7O3qa1L9VvgdO3ZM/hyf3bZ58+a+l9XIVB+OWNd/v+rfH6+oqKj18atv26pVqzqcHY2J6x5kh2GJenLQQQflrR9//PFa7ffZH1yWlJTEvvvum/S8yJ7qF/H1/SOC7Jk+fXq8+uqrufVXvvKVaN26dbLjT5gwIRYtWpRb9+7dO9mxadw+e41ctWpVPP300zXus2LFinj22Wdz66233jr69u1bL+dHYfBeitQ0RUp6IjVNkZqmSE1TpHLIIYfkrav/YHF9li9fnvfb3Z06dYouXbokfY73338/5s+fn1v37t07ioqKarUvhaH6b/VvtdVWa21T/fvj7777bq2P/8477+Stq9/VmabDdQ+yw7BEPTn44IOjRYsWufV999231m3Cqhs7dmy89957ufX+++8fpaWl9XaONH0fffRRvP3227l1p06dfMYeOVdddVVUVlZGxH/u+vDd73436fF/97vf5a2/9KUvJT0+jdcRRxyRt/7zn/9c4z5///vf84ZvDj/88OTnRWHxXorUNEVKeiI1TZGapkhNU6Sy2267xdZbb51bP/bYY2vdGXddHnroobyPyBg4cOB6BxkOPPDAvNYeeOCB3PfANmTUqFF5az/kbFwqKiri73//e95j++yzz1rb9evXL29d2x+CR0Q88sgjeesvfvGLtT9BGhXXPcgOwxL1pHPnzvGNb3wjt541a1bceuut691+xYoVceWVV+bWRUVFceaZZ9brOdL0jRgxIqqqqnLrfffd1zQ0ERFx7bXXxvPPP59bn3766bHDDjusc9uFCxfW6XaFERG//e1v846/2Wabxbe//e3Pd7I0OX379o39998/t37llVfiwQcfXO/2CxYsiF//+te59WabbRannXZafZ4iBcB7KVLTFCnpidQ0RWqaIjVNkUqzZs3i7LPPzq0XLlwY119//Qb3mTNnTtx00015j5100knr3b5t27Z5vxT0zjvvxJ133rnB53jrrbdi5MiRuXWLFi3iW9/61gb3oX6sXLky3nzzzTrtU1lZGZdddlneRwLvuuuu0bNnz7W2HTBgQN7Hc0yZMiXuvvvuGp/jtddeW2ugJuVHGlNYXPcgOwxL1KMhQ4bk3dJ+2LBhMXLkyLWmWBcsWBBnnHFG3i2cjjrqKLcXJ2flypUxffr0Ou3z17/+Ne/NW1FRUZxyyimpT40CcsUVV8TNN9+8wc9PmzlzZgwZMiR+//vf5x7r3bt3nHXWWevd56OPPopDDjkkLr300hg/fnzeAE51s2bNinPPPTeGDx+e9/gZZ5yx3lsjkk3nnXdeNG/ePLe+5JJL1prOj/jPLTBPOeWU+Pjjj3OPnXzyye6SkxHeS5GapkhJT6SmKVLTFKlpilQGDRoUO+20U2795z//Oa666qp13mFiypQpcfLJJ8cnn3ySe+ywww6r8Tf6Tz/99Nhiiy1y61/96ldx6623xurVq9faduzYsXHqqafm3bnixBNPzLsDBptORUVFHHPMMfHDH/4wxowZk/ffZV3eeOONOPnkk/N+EadZs2Zx8cUXr3P7kpKSOP300/Meu/LKK2P48OFRUVGx1vZVVVXx97//Pc4444y8OwsceOCB8YUvfKEOfzMaG9c9yIaiqg391KuO+vfvH+Xl5bHlllvG+PHjUx22UXvmmWfizDPPzHvx7NGjR+y9997Rvn37mDlzZowZMybvIrzDDjvEvffeG23atGmIUy4o3bt3j8rKysw3tWjRoth7773jiCOOiGOPPTb23nvvvB8yfta8efNixIgRa93WftCgQXHttdduitMtaE25qR/+8Ie5z0TbYYcdom/fvtGlS5do3rx5fPzxxzF58uSYPHly3j49evSIP/7xjxscZJg6dWocc8wxuXX79u2jb9++0aNHj9h8882jWbNm8cknn8S///3vmDx58lpvFo888sgYOnRok7yrSVPuafbs2XHooYeu88/WrFmTty4uLl7ndiNHjow999xzvc9xzz33xOWXX573WJ8+fWKPPfaIzTbbLN5999147rnn8r6Rseeee8add96Zdxu8pqQpN/V5eS+1cTS1Nk1tHE3l09PG01Q+TW0cPa1NUxtHU2vT1MZpLE1tiu8JvP/++3H88cfn/XJEhw4d4stf/nJsvfXWUVFREZMnT45XX311rd7++te/Rtu2bWv8e0ycODFOPvnkvCGMLbfcMr70pS9FWVlZLFmyJF577bWYNGlS3n577LFHjBw5slF876GxNFUXixYtigEDBuTWrVq1it69e8cOO+wQ7dq1i1atWsXSpUujvLw8Jk2atNYvjhUVFcVVV10Vxx133HqfY+XKlXH66afHuHHj8h5v37597LPPPtGtW7coLi6OuXPnxksvvRSzZ8/O226rrbaKe++9t0n+clhTbGpjuO5tHD3l2xTX16auPmYR1v3TVpI54IAD4pprronLL78896ZsxowZMWPGjHVu36dPn7j55pu9iLKWNWvWxKOPPhqPPvpotGnTJvr06RM9e/aMdu3aRYsWLeLTTz+NN998M9544421Pjtrjz32iCuuuKKBzpyG8M477+RNsq7Ll7/85bjuuuuiY8eOdTr2woUL48UXX4wXX3xxg9sVFxfHWWedFWeeeWaTHJRo6qqqqtZ6g7Y+69uupnnMb3/727F48eL4zW9+kxuImDp1akydOnWd2++9997xm9/8plF8s4J0vJciNU2Rkp5ITVOkpilS01Q2bIrvCXTv3j1uv/32OPfcc2PWrFkREfHJJ5/EQw89tN59dt999xg+fHitBiUiIvr16xcjRoyIn/zkJzF//vyIiCgvL4+//vWv693nkEMOiRtuuMH3HgrI8uXL47XXXovXXnutxm27dOkSv/jFL2r8eIyWLVvGiBEj4qKLLoqnnnoq9/jChQvjscce2+C+ffr0iZtuuqlJDkqwNtc9UtoU11fqzsdwbALHHHNM3H///XHIIYes903WFltsEWeffXaMGjUqunXrtonPkMZmyZIl8corr8S9994bt956awwfPjzuuuuuePXVV9calPjOd74Td9xxR7Rs2bKBzpZN5aCDDopddtllvROH/9W/f/8YPnx43HbbbbUalNhyyy3j1FNPjZ133nm9dzT5rHbt2sV3vvOdeOSRR+IHP/hBjedDtg0ePDj+/Oc/xz777BPNmq37bUn37t3jZz/7WYwcOTLat2+/aU+QguC9FKlpipT0RGqaIjVNkZqmSKVv377x0EMPxRlnnBGdO3de73bbbrtt/PKXv4w//elPdf6ln3322Sf+/ve/x/HHH7/BIYs+ffrEb37zm7j55pujtLS0Ts9BWq1bt47rrrsuvvrVr9Z6IKFv375x8cUXx2OPPVbjoMR/tW3bNm6++eYYPnx47LXXXjX+stcOO+wQl156aYwaNSp69OhRq+egaXDdg6bNx3BsYp988klMmDAhysvLY+nSpdG5c+fo3r177L777n6guA5u0fMfK1eujOHDh8fLL78ckydPrvFz2kpLS+OQQw6Jk08+OXbZZZdNdJaNQxaaWrp0aUydOjVmzpwZCxYsiJUrV0br1q2jW7duseuuu+Z9XmNdrVy5Mt5555344IMPYu7cubF06dKorKyMzTffPNq3bx877bRTbL/99pm5k0QWetqU5syZE2+88UbMmTMnKioqoqysLLbbbrvo169fQ5/aJqOpmnkvVTeaqpmm6kZTG6anutPUhmmqbvRUM03VjaZqpqm60dT6rVmzJiZMmBAffPBBzJs3L1q2bBkdO3aMXXbZJbbbbrskz7Fy5cp49dVX48MPP4yPP/44Nttss9hiiy1it912i6222irJc2xqWWhq7ty58e6778YHH3wQixYtioqKiigtLY02bdpEt27dYuedd47NN998o59n8eLFMXHixNzzVFZWRps2baJLly6xyy67ZOZOElloamO47tWNnkjNx3A0AR06dIiDDz64oU+DRqZly5Zx3nnnRUTE6tWr47333otZs2blLsirV6+Otm3bxuabbx69evWKnXbayYU5w1q3bh177LFH7LHHHsmP3bJly+jbt2/07ds3+bGhS5cucdhhhzX0aVDgvJciNU2Rkp5ITVOkpilS0xSpFBcXx4ABA2LAgAH19hwtW7aMffbZp96OT/0oKyuLsrKyen+etm3bxr777lvvz0Pj5roHTY9hCWhkmjdvHr169YpevXo19KkAAAAAAAAANErr/nBwAAAAAAAAAIAmyrAEAAAAAAAAAJAphiUAAAAAAAAAgEwxLAEAAAAAAAAAZIphCQAAAAAAAAAgUwxLAAAAAAAAAACZYlgCAAAAAAAAAMgUwxIAAAAAAAAAQKYYlgAAAAAAAAAAMsWw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tdde20BnRKHzXoqafPDBB/GjH/0oXn/99Rq3XbVqVYwbNy523XXXGoclnnvuuTj//PNzv8G/PhMnTowf/vCH8fWvfz2uvPJKPxAoEJvie1P33ntvXHXVVbFixYoat33jjTfi/PPPj4ceeiiGDh0arVu3rnGf1atXxy9+8YsYNWpUrbZ96qmn4umnn47BgwfHeeedV6u/A4XHdY/UNEVqmioshiXq2XPPPRc//elPY82aNbnHevToEXvttVe0b98+Zs2aFWPGjMlNzU6ePDmGDBkS99xzj9t+NXFN7YfhpPXKK6/EtGnT6uXYxcXFdf4t/qqqqrxOS0tLa/UbJBERjz76aFxwwQWxevXq3GObbbZZDBw4MLp16xabb755LF68OKZPnx4TJ06s1Q/ZKUzPP/98/M///E/eJGzz5s1j7733jh133DFatWoVn3zySbz22msxderU3DYTJ06M7373uzFq1CjXPtbivRSpNIb3XjQumqIhvP7663H33Xc39GnQiHgvRU3efvvtOPXUU2PevHm5x5o1axZf/OIXo1evXtGpU6eoqKiI2bNnx8SJE+Ojjz6q1XGfeeaZOOuss/La23zzzWO//faL7t27x8qVK+Ott96Kl19+Off9goceeijWrFkTN954Y9q/JJ9LfX5vKiLib3/7W1x66aV5j2222Waxzz77RM+ePaOkpCTmzZsX48aNixkzZuS2efbZZ2PIkCExcuTIGr+/dfHFF8eDDz6Y99gWW2wRe++9d3Tt2jWqqqpi9uzZ8eKLL8aCBQsi4j93WbnlllsiIgxMNEKue6SmKVLTVOExLFGP5s2bF+eff34u+KKiorjwwgvjlFNOyfucmQULFsS5554b48aNi4iIadOmxWWXXeYfBk1cU/phOJtGaWlp7LzzzjF58uQNThzW5KmnnqrzPiNHjoxrrrkmtz7ssMNqNcH/yiuvxIUXXpj7xkdJSUmcddZZccopp0SrVq3W2n716tXx8ssvx7333hvNm7tENSYVFRVx6aWX5g1KDBgwIK6//vrYeuut19p+7Nix8ZOf/CT3Dbl33303hg0bFhdddNEmO2cKn/dSpFTf3+wlezTFprZq1aq45JJLDOdQa95LUZMFCxbEGWeckTco8bWvfS1+/OMfR5cuXda5z5QpU+KBBx7Y4DfrP/zww/jJT36S90OAY489Ni6++OK1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xpqG06xataratWtXgj2CO0lPT9dzzz2nP//801hWu3ZtzZo1SyEhISXYM7grcgpW434PViOnYDVyClaIj4/XLbfcohEjRuiPP/7Ic9RIm82m9evXq1+/fvr999+N5YGBgXrppZfy3M/Fixd1zz33aOnSpaYii6wyMzP1888/Kzo62vQh0pAhQ1SvXr0C/jKUpOjoaF1zzTVG/NVXX+nNN9/McYSJXbt2acCAATp79qyxrFevXgUeEZePOUo/znsAXB3HKdfkZcs6rn8RtWzZUnFxcapcubL++usvqzbr1tauXavBgwebEr1WrVpq166dKlSooNjYWK1Zs8ZU1VqvXj3NmzePylZJ1atXV2ZmZqnKqfPnz5uGHSxXrpwaNWqkOnXqKCQkRH5+fjp37pz27Nmj7du3ZxuGp1WrVvrss8/k7++f5z7uvfde04FUkipVqqR27doZc0QeP35cf/zxhxISEkztGjVqpC+//LJU5qC75NTx48fVs2fPHP8tIyPDFPv4+OTYbvbs2WrTpk2O/9a3b1/t3LlT3t7eatiwoRo2bGgUxyQkJGjbtm06cOCAaZ0WLVrok08+KVBexMTEaMCAAaab3cqVK6tTp06KjIxUcnKytm7dqh07dpjWa9WqlWbPnu3y88a7Sz6VlEmTJunjjz824sGDB+v5558vuQ65AXLqCpvNpmHDhun77783llWrVk1fffVVgeek9XTk1BXklHXIKTPu94qOnDIjp4qGfMqOnCoad8opZz1H2L17t/r06WPEwcHBatSokWrXrq2QkBD5+/vrwoULOnbsmLZv357towx/f39NmzZNnTt3zrP/Fy5c0PXXXy9JKlOmjJo2bar69eurQoUKSklJ0cmTJ/XHH3/o1KlTpvXuv/9+vfbaa3lu25W4S045+7mUdGUqlf79++v06dPGsooVK+qGG25Q1apVlZKSop07d2rz5s3ZjmHffvutgoODHf49R44cMf2eqlWravXq1QWaxsNVuUtOFRfOe0VHThXOxo0bNWDAACOOjo5m6g2RTznhOFU0zqhF8M2/CYqia9euGj9+vMaMGWO8LDx8+LAOHz6cY/tGjRpp6tSpJLwHSU5O1p9//mn6yjE39913n15++eU8CyWkK3NqzZo1S0OHDtXmzZuN5fHx8Vq8eHGe67Zv317vvfceOVjCbDZbtpvP3OTWzpFa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bFWrVtVbb72lFStWaPDgwTm+tJSuPIC99957NWXKFNOxaM6cOXlOZSddGaFt5MiRxr1iUFCQZs+erSeffDLHQgnpyigEHTt21IcffqgOHToU8tehJKxevdo0nWKtWrU0Y8aMHAslJKl9+/bZRpr89ttvlZqaWuB9L1y40JgSoUGDBnzB74Kcfcy57777NGXKFN1xxx15FkpIV85vc+fONb0g379/v3799dc814uPjzdNnRAWFqYvvvgiW6GEJN15550aN26cEaelpWU7z6J4zZ0713SMatOmjT766KNshRKSVKlSJU2fPl3Nmzc3ln3zzTc6cuRInvsICgpSy5YtNXDgQL3//vv6+eeftWnTJs2aNcuy3wH3xv0erNa4cWN9+eWXevDBB/MslJCuFCxOmzZNHTt2NJalpKRo7ty5zu4m3AjHKddEsYSTnD59WvPnzzfiGjVqaNCgQbm2DwgI0KhRo4zYZrNp2rRpTu0jrDNx4kQtWLBAr732mqKjo1W/fv1sB7fC2r17t+nFcevWrdWnT59c24eGhmro0KFGfOnSpTxvGrp27aqZM2c6PDKEl5eXRo0aZXpRnnV0AFjD2QU4BbVo0SJTHB0dnWf7Fi1a6Msvv9S8efN011135To8VHBwsF577bVsx8ec5sGFa+O8B6uRU7AaOYWStnDhQlOc3/UU3NvChQt11113OTwCSZcuXXTbbbcZcVpamlatWpXnOtOmTVNsbKwRv/HGG7r++usL12G4vKvFClcNHDgw30L6hg0bqkePHkacnJysHTt2FGi/p0+f1ttvvy3pyvOAsWPHMiqJCyqOY05BhIWF6dFHHzUt++233/Jc59NPPzVGu5CkF198Mc/nH3369FHr1q2NeMWKFU6fIhe5+/LLL42/e3l56fXXX8/zWOHv76/XX3/diNPS0vK91v7666/11VdfacSIEbr99ttVs2bNonccpQb3e3AFPj4+evHFF03L8jv/wXNwnHJdFEs4yapVq0zV+nfffXe+Q821b99etWvXNuJffvnFNHQZPNOPP/5oiu+7775817njjjtUvnx5I846bYa9wjzkqFChgjp16mTEaWlp2rVrV4G3g9w5swCnoHbv3m2qWIyKilLbtm1zbV+/fn198803pocW+Xn22WdNX4v8888/pnlO4fo478Fq5BSsRk6hJJ05c8b0kCwoKEg333xzCfYIzlaY+6ysLy4l5flS+9KlS6YXUy1atDCNAIjSx/6r/6xfZOelRYsWpvjkyZMF2u+4ceOUmJgo6cq50357cA3OPuYURqtWrUxxXFxcnu2zPv8KCQlx6Jh277335roNFJ/9+/ebji0tW7bM9wts6UpBV9OmTY14xYoVhRr9BpC434PruPbaa00Frf/++28J9gauhOOU66JYwklWr15tih19EJa1XUpKCvOtwZRLfn5+6t69e77rBAQEqGvXrkZ8/Phx7d6929J+2c+zderUKUu3D9dhP6pEnz595OXllWv7wjyk8fPzyzZnd0xMTIG3g5LDeQ9WI6dgNXIKJen77783Tavn6JRm8CwFucf68ccfTaP79e/f32n9gmvIzMw0xWXKlHFoPft2ed3L2Vu7dq2WL18uSQoPD9dLL73k8Lpwfc5+rmM/wqR9Dmf1999/mwqCunbtmusUsVl1797d9JLBytEx4LidO3ea4oKMcpS1ACs5OTnbKDqAo7jfgyvJeq9ns9lKsCdwJRynXBfFEk6yefNm4+/h4eEOz0VrX6H/559/WtovuJfz58+bhhBs3LixQzeLUvavTKzOpQsXLpji/Crg4J7S09O1dOlSI/by8nLakNEU4Lg3znuwGjkFq5FTKEkFndIMnsn+HiuvIuSs1+g+Pj6mqRZQOmUdiU+STpw44dB6x48fN8X29125uXDhgsaMGWPEI0aMMI1gCfdXkGNOYdh/SZvXtVfW6zQp+/VXbsqUKWOaVnbPnj2mecBRPK6OPnNVpUqVHF7Xvu3GjRut6BI8EPd7cBUpKSmm46KjuYjSj+OU66JYwglOnjxpujBv1KiRw+s2btzYFDMMvWez/+9fkFy69tpr89xWUe3du9cUF+RGCO7jl19+0enTp424ZcuWTrvAowDHfXHeg9XIKViNnEJJ2rNnj2mUt/ymNIPnsr/Hqly5co7tbDabaRS26tWrKzg42Kl9Q8nr3LmzKb464kNe0tPTTdNyVqlSxfRiOS8TJ040XnZ37NiRaV5KIUePOYWVtahLkrp165Zr24MHD5pi++uvvNi3td8WnC8lJcUU+/v7O7yu/UdhXGujMLjfgyv58ccfTaMK5nX+g+fgOOXarC0ZhqTsF+VVq1Z1eN3w8HD5+fkZB1Mu8D1bUXKpSpUqeW6rKI4ePaotW7YYcfny5Qt0Iwv38d1335liZ34FSQGO++K8B6uRU7AaOYWSZH891bt37wINgw/PsWTJElPcrl27HNvFxsbq/PnzRly/fn3j73v27NHChQu1ceNGxcXFKSMjQ6GhobrmmmvUuXNn3XHHHQoMDHTOD4BTde3aVddcc41x37Ro0SJ169Yt11FFbDabJkyYoNjYWGPZ008/LW/v/L+b2rZtm+bOnSvpyovM0aNHW/AL4GocPeYUxrJly0yjKrVp00YdO3bMtb399ZX9M6282F/XHTx4UNddd53D66Po7Av2sp6j8nPu3DlTzAsgFAb3e3AV+/fv19tvv23EFStW1EMPPVSCPYKr4Djl2iiWcIKsc+xJBXvh5+XlpUqVKunYsWM5bguepSi5FBERIR8fH2VkZOS4raKYNm2aaa6tnj17Wj5cI0re2bNntWbNGiMODAx0eB6tgrp48aJWrlxpxN7e3nxx6UY478Fq5BSsRk6hpKSnp+v77783YmdOaQb3tmnTJm3atMmIg4OD1alTpxzb/vPPP6Y4LCxMly9f1rvvvqsvv/wy27zISUlJio2N1c8//6wPP/xQI0aM0G233Wb9j4BT+fj4aOLEibrvvvuUmJiojIwMDRkyRP369VPfvn3VoEEDBQYG6uzZs9q6datmz55tyql+/fqpX79++e4nLS1No0aNUmZmpiTpySefVM2aNZ32u1AyCnLMcURGRobOnj2rv//+WwsXLjSNaFK7dm198MEHeRYKZr2+8vX1VXh4uMP7th8RIy4urgA9hxXsr63379/v8Lr2bfnvh8Lgfg8lxWazKTk5Wfv27dPPP/+sr7/+WpcvX5YkBQUFacqUKQoLCyvhXsIVcJxybbzddAL7oeTLli1boPWztk9PT1dqamqBhi9D6WGfS+XKlXN4XW9vbwUGBio5OVnSlZfRVli/fr0WLlxoxH5+fnriiScs2TZcy7Jly0xDhvXq1atAOVgQs2bNMuVomzZtFBoa6pR9wXqc92A1cgpWI6dQUn777TedOnXKiFu2bKkaNWqUYI/gii5evKhRo0aZlj388MO5Hqvsv8ItU6aMnnnmGf3666/57ishIUFDhw7VkSNHNHjw4MJ3GiWibt26WrBggUaOHKlNmzYpMzNT8+bN07x583JdJywsTEOGDNG9997r0D5mzJihffv2Gft77LHHLOk7XEdBjzk5mTdvnl5//XUjvvqhTlb+/v7q37+/nn/++XyfJWS9VgsMDHRoBJSr7Ptt1fMvOM5+LvV169YpLS0t3+lVL1++rD/++MO0LC0tjWttFBj3eyguBw8eNE1NlpmZma1QWboyItiIESNUq1atYuwdXBnHKdfm+JUnHHbp0iVTbD/3Wn7s29v/TwTPYZ9LBT34Zc0lK/IoPj5ew4cPNy174okn+MqklMo6ZKbkvCk49u3bp//7v/8zLXvmmWecsi84B+c9WI2cgtXIKZSU4rqegnsbM2aMDh8+bMR16tTJ8wV11rluJWnhwoVGoURERIRGjRqlVatWaceOHdqwYYOmTZuW7UXWpEmTTCO7wX3UqFFDc+bM0fjx4xUSEpJn28aNG+vjjz92uFDiwIEDmj59uhG//vrrPIQthQp6zMlJZmamMjIyjD/2goOD9dJLL2no0KEOfXSR9VqtoNdp9jlKsUTxCwsLU9OmTY341KlTWrBgQb7rzZ07V4mJidmWc62NguJ+D8XFZrOZzn/2hRLe3t568MEHNXbsWAolYMJxyrVRLOEEKSkpprigN5b27a8O2wPPY2UuFTWPUlJS9Mwzz5i+jGvevLmefPLJIm0Xrmn//v36+++/jTgqKsrS+UuvunDhgl544QWlpqYay6Kjo9W6dWvL9wXn4bwHq5FTsBo5hZKQmJhYbFOawX199tlnWrx4sRH7+/vr3XffzfPhmf2LwKtzwzdo0EBLlizRAw88oGrVqsnf31+hoaHq3r27vv76a91zzz2m9UaPHs3xzA0dOHBAjzzyiEaMGJFtlBF7u3bt0t13361BgwblO7S9zWbTa6+9Ztyb9e3bl/uyUqgwx5zCSEpK0ltvvaVu3bplKxzMSdZrtaJep9lf96F4PPLII6b43Xff1ebNm3Ntv2HDBk2ePDnHf+PchILifg+uIjMzU3PmzFH37t319ttvm555w7NxnHJtTMPhBPY3GFmHsXeE/QGUKn7PZWUuFeXGNyMjQ0OHDlVMTIyxrEqVKvrwww/zHVIP7sn+YUbv3r3znF+0MDIzMzVs2DDTnMvVq1fXyJEjLd0PnI/zHqxGTsFq5BRKwrJly0y548wpzeCeli9frnfeece0bOzYsWrSpEme6+V0DPL399fkyZNzncrOy8tLr732mv7++2+jKPrUqVNavHix7r777kL+AhS39evX6+mnnza+TPPz81O/fv102223qUGDBgoMDFRiYqJiYmL0zTffGCOO/PLLL4qOjtaXX36punXr5rjtb775xnixWaFChWyjSsL9FfaYk5N7773XNGLJxYsXdfr0aW3btk0LFy7U77//LulK4eArr7yi48eP5zmCZEBAgJHXRb1Os7rwA4655ZZbtHDhQv3222+SruTEwIED9eCDD6p3796qU6eObDabDh48qIULF+rrr782purw9vY2vfQJCgoqqZ8BN8X9HopL3bp1tXfvXiNOTU1VYmKidu/erR9//FHff/+90tLSlJaWplmzZmnfvn36+OOPySlwnHJxjCzhBPYXdAWtaLavCCro3DUoPexzqaDVYlbdaFwdxvWqChUq6JNPPlGlSpUKvU24royMDC1ZssSIvby8nDJk9JtvvmnKq+DgYH300UcKDg62fF9wLs57sBo5BauRUygJ3333nSlmCg5k9fvvv2v48OHKzMw0lr344osO5UlO93a33HKL6tSpk+d6Pj4+Gjx4sGnZ6tWrHewxStqRI0f0zDPPGC+Uy5cvr7lz52r06NFq1aqVypcvLz8/P0VERKh79+6aOXOmxowZY6x/5swZDR48ONsQwNKVKTfff/99I3755ZdVsWJFp/8mFJ+iHHMcERQUpOrVq+uOO+7QZ599pokTJ5o+rpkyZYpRQJHb+lcV9DrN/uUBL9pLhpeXl9599101atTIWHb1ZWHv3r3VtGlTNWvWTH369NEXX3xhvCQaO3as6b+Zl5cXxaUoMO73UFL8/f0VGRmpLl26aPz48fr2229VpUoV49/XrVunjz76qAR7CFfBccq1USzhBPZJX9C58rLONePr60tFtAezz6WCzEOUmZlpOuAW9mbx7bff1v/+9z/TdmbMmKF69eoVantwfevWrVNCQoIRt2zZUjVq1LB0H1OnTtWXX35pxAEBAZo2bZquueYaS/eD4sF5D1Yjp2A1cgrF7cCBA6ZR2Zw1pRnc0/bt2/X000+bviZ69NFHNWjQIIfWz+nBWLdu3Rxat3PnzqYXmFu3bnVoPZS89957z3T+Gjt2rK677ro817H/+j82NlZfffVVtnZjx45VUlKSJKlNmzbq27evRb2GKyjqMacwbr31Vo0aNcq0bOLEibm2z3qtdunSpWxzwOfF/lkZxRIlp2LFipo7d66io6Pl7Z33a4cKFSpo4sSJ6tu3r+m/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6tmzZ47/lpGRYYp9fHxybDd79my1adMm1318/fXXGjNmjGlZo0aN1KpVK5UpU0YHDhzQr7/+anow1qZNG82aNcs0tI+9qVOnasqUKQ71MS9PPfVUtnlLXZG75FRebrzxRuOBV1RUlFavXl3kbQ4bNkxLliwx4nHjxpmqHAsiMTFRDzzwgPbv328s69q1q6ZOnZpnLrqj0pBPVuO8VzTkVHbkVNGQU9mRU0VDTuVu0qRJ+vjjj4148ODBev7550uuQ26iNObU8ePHs3297+3tXeCi4aioKK1YsSLPNjExMRowYIAuXbpkLKtcubI6deqkyMhIJScna+vWrdqxY4dpvVatWmn27Nlcn7uZiRMnavr06aZl/v7+atOmjRo0aKCgoCAlJiZq69atpqkYpCsvk2fOnKn27dsXuR9TpkzR1KlTjXj8+PGldiQdd8gpZx9zVq5caSrWqVixoq699lrVqFFD5cuXl4+Pj5KTkxUbG6vt27dnGw0iJCREs2fPdujhfmpqqh5++GFt3rzZWObn56cuXbqoTp06unjxov78809TIYZUtGcYxc0dcqqwnn32WWNe9Xr16qlx48aqVKmSfH19dfr0ae3cuTPbsalWrVr64osvVKlSpXy3v2nTplyn6nD0+euKFSsUFRXlwK9xH6U5pwqD+72iI6euOH/+vFq3bm3EgYGBatiwoerVq6eQkBAFBgbqwoULiouL044dO7IVinl5eenNN9/UXXfdVdxddynkU3Ycp4rGGbUIvvk3QVF07dpV48eP15gxY4yHF4cPH9bhw4dzbN+oUSNNnTqVhHczNpst20V5bnJrl1/d0r333qukpCRNnjzZKIjYvXu3du/enWP7du3aafLkyfk+/Mppv47+lvy2g8JztADn+PHjuT5wyK8A56rk5GTTA5HAwEDdcsstBezx/2/NmjWmQglJ+u2333TdddcVaDt9+vTRW2+9Veh+oGRw3oPVyClYjZyCM9hsNlPhqcQUHJ4sp3sj+y+FHOHIfVmzZs00bdo0DRs2zBgmPy4uTt9++22u6/To0UPvvvtuqSuU8ARXR538+OOPjfxITU3VunXrTMPZ2wsNDdWECRMsKZSA6ynOY450ZXqXvPItq+bNm+utt95S3bp1HWrv7++vKVOm6LnnntOmTZskSWlpaVq5cmWO7X19fTV06FC3KZTwJP/884/p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62e5HqQtN/s9Dw+PLC23mtWVut5//319++23pm2BgYFq3ry5goOD5evrq5iYGB09elQHDx50KKECWeesBJzr16+rTZs2unz5skP7JycZr127Vs8995zeeecdeXt7W9aejHh4eJDUZZHcmENIqXLlyqpevboqVKggPz8/JSYm6sKFC9q7d69Onjxp7Pf333+rV69emjNnTqavY4yJidGWLVscbgNcjzOTdv766y917tzZ4fmiW7duadmyZVq1apUGDBigvn37OnQc8j/ux8BKBS1hGq6B65TrYabXiS5cuKA33njDCHgPDw+98847evHFF00TH9HR0Ro0aJB27NghSTp27Jjeffddffzxx3nSbjhfXFycRo0aZUqUaNKkiSZOnKjy5cun2n/79u166623dOHCBUnSyZMnFR4erqFDhzp0vrFjx7I8YT4VEhKirl27qlOnTipbtmyq3ycmJmrRokUaP368bt26JUnasWOHJk+erHfeeSfL5wsKClK1atWM65EVVq1aZbqB7u/vr8GDB6tz585pLh9169Yt/fLLL5o/f362XtEAxxUtWlT16tXTwYMHc5ygcuTIEY0ZM8Yo+/j4aNy4cXryySdN+/3999965ZVXjJsN27dvV3h4eKaJDJs2bTIlSnh4eGjQoEF6+eWXU8VRfHy8Pv/8c02bNs3YNmPGDHXo0EF16tTJ7keEA6yKKW9vb/3rX//SI488ovvvvz/DzOljx45p5MiR2rt3r6Q7T1IOHz5ca9ascXjVEkmaM2cOS9W7GCuvUZL0559/6pVXXjHq8vLy0nPPPaf+/funGSs2m0179uzR4sWLs3TzIC2jRo0yvuSWLl3aGNMhd+WnmMrOKiQffPCBaVWejh07MpZyMqtjKln//v01cOBAy+pL6YsvvjAlSgQHB2vYsGFq3759mgka165d07p16zRv3jyntMedOSsBJzExMVWihIeHh2rUqKH69esrMDBQXl5eOnPmjLZu3Wq8HtFms2nu3LmKjo7WpEmTMkzY8fDwyFZSV1JSkuk1eo0bN1apUqWyXA/S56w5hCJFiqh9+/Zq3769WrRooaCgoHT33bVrl0aMGGG8luratWsaOnSoli1blq1EnMqVK6tYsWKs0JUPODNpJy4uLlVf6+Xlpbp166pWrVoKCgpSYmKiIiIitG3bNl27dk3Sne+HYWFhunr1qt566y0LPy1cEfdjYLXcTJiGe+A65ZpIlnCi6dOnm57aHjhwoHr16pVqv1KlSmnWrFnq1KmTkX29evVq9enTR7Vr18619iL3rF+/3rRMU5UqVTRjxox0n6ho0aKFZs2apS5duhhPZC9ZskSDBw/mXUUFVPny5fXiiy+qY8eOGU5CeXl5qXv37ipfvrz69u1rZLjOnTtXPXv2VHBwcLrH+vv7q379+rr77ruNf+XKlbN0SdVLly6ZbqAHBQXp22+/VdWqVdM9xtfXV+3atVO7du0saQPu8PX1VYMGDYy/df369VW9enV5enrqoYceyvEE/+TJk00JYO+//36qRAlJqlixor7++ms98cQTxtO1X3/9tZ577jmVLl063frtn378z3/+o379+qW5r4+PjwYNGqRbt27pyy+/lHRnYva7774zxSNyxpkx1bZtW4evQzVr1tRXX32lbt26GV9gL168qBUrVuiFF17IdhuQu5x9jbLZbBoxYoQxaerl5aXJkyerffv26R7j4eGhhg0bOrwkeXqWLl2q7du3S7oTrw899JCx4g2cpyDHVFoSEhK0atUq07k6depk+XncmbNjKjecOHFC4eHhRrlq1aqaN2+eAgMD0z2mePHievrpp/X000/nRhPdntUJODVr1lTXrl31xBNPpJmUcOvWLc2cOVNTp041vkuuXr1aDRs21HPPPZduvSEhIdm6cd2vXz/TEtVcp6zj7DmEHj16qEePHg61pXHjxpo3b56efvppI0H0+PHj2rx5c4ZjfA8PDwUHB5vmKOrXr6+AgAAtXbrU4QeGkPec/eDPvffeq2eeeUaPPPJImk/YXr16VWFhYaZEv1mzZqlx48Zq06ZNDj4ZXB33Y5AbnJUwDffAdco1kSzhJJcuXTK9U71SpUoKDQ1Nd39fX1+NHDlSPXv2lHRn8m3atGn67LPPnN1U5IHkCfNkPXv2zHTpydq1a6tdu3b68ccfJd3JzD9w4IAaNWrktHYi7yxdujRLy7y3atVKjz/+uL7//ntJdybM161bl+FkRm68R238+PHGU00eHh767LPPMkyUgPOEhYU5re7Dhw9rw4YNRrlJkybq2LFjuvuXKlVKb7zxhoYPHy7pzntHZ8+ene6kSFJSkn799Vej7O3trT59+mTarn79+umbb74xkjhS1oGcc2ZMZVXRokU1cOBA01O4v/zy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iX6voAkJCVHXrl3VqVMnlS1bNtXvExMTtWjRIo0fP163bt2SJO3YsUOTJ0/WO++8k2n99957r5555hk98sgjacbg1atXFRYWZlotbtasWWrcuLHatGmTg0+G/IA5BDgit/q+/v3781qpfMiZ/dimTZuMpGFJ8vf312effaYWLVqY9jt06JD69etn3NxetmyZGjZsqGeeecahz/DFF1+YEiWCg4M1bNgwtW/fPs0EnmvXrmndunWstJqPOXv8BffBWApWI6ZgNWLKNTmeIo4smz59uukJ2IEDB6pXr16pBvalSpXSrFmzVL16dWPb6tWrdeTIkVxrK/K3P//80/jCWqRIEb3xxht53CLktvXr1+vs2bNGuUqVKpoxY0aaiRKS1KJFi1RPXi9ZsiRbT2MsXbpU27dvlyTVrFlTXbp0yXIdcD5fX181aNBAzz77rCZMmKBVq1bp999/17fffquSJUvmuP6iRYuqUaNG6tmzpz7++GP97//+r3bs2KHZs2db0Po7/P391aJFC4WGhio8PFwbN27U1q1bNX78eMvOAcc5O6YmT55sSgB7//3303znccWKFfX1118rMDDQ2Pb1119nevPa/km1//znP+rXr1+aSwT7+PgYiRTJkpKS9N133zn8eeAcY8eONT1lNmzYMH300Ufp3iySpLp162r48OHZfrXBr7/+qv/+97+S7iRK9OnTJ1v1wLWUL19e48aN088//6x+/fqlOVEv3VkRonv37goPDzd9r5s7d66ioqLSrf++++7Tt99+q4ULF6pLly7p3rD08/PTqFGjFBoaato+adKkbHwq5DfMIcARedH3wfU5ux+z2WymyXkPDw9NmzYtVaKEdCfe5syZY3riPzw83LjJnZETJ04oPDzcKFetWlXLli1Thw4d0l3ppHjx4nr66ae1aNEiVhnIZ5wdt3A/jKVgNWIKViOmXBPJEk5y6dIl0/uvK1WqlGrCKyVfX1+NHDnSKNtsNtPTi0B6bDabRo4cadzkfuWVV3h3kRtKTlZI1rNnTxUtWjTDY2rXrq127doZ5WvXrunAgQNZOu+lS5f04YcfSrozWTJmzBiHlr5H7gsLC9PixYs1atQoderUSTVq1MjSsrqZ+e677zR//nwNHTpUTzzxhCpXrmxZ3cnWr1+vOXPmaPDgwWrfvr3KlStn+TngOGfG1OHDh7Vhwwaj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DRvK05PcFWQN8QSrEVOwGjEFqxFTsBoxBSsRT7AaMYX84ty5czp+/LjOnDmja9euqVChQgoICFD16tVVr149+fj45HUT4USnTp3SoUOHFBkZqbi4OBUpUkTBwcGqWrWqatSooUKFsjYFHR8fr5MnT+rs2bOKiorS9evXlZiYKD8/PwUFBalevXqqWLGikz4N8hp9H6yQlJSk06dPKyIiQlFRUbpy5Yri4+NVtGhRlShRQrVr11aNGjXk5eWV101FPsM1ClYjpvIeyRK55NSpU/r444+1YcMGJSQkpPp9mTJl1K1bN4WGhvIFEpkinmA1YgpWI6ZgNWIKViOmYCXiCVYjptzH9evXdejQIe3fv1/79+/XgQMHdPbsWeP3ISEhWr9+fbbrv3Llig4cOGCq/8KFC8bvmzZtqrlz52a53ps3b2rTpk3asGGDtm/frqioqHT39fX11WOPPaaXXnpJNWvWzNbngOOcHVPJ4uPjtWDBAs2fP19//fVXuvsVLlxYTZo00auvvqoGDRqku9+hQ4e0YMEC7dmzRydPnlRiYmKG569UqZK6du2q559/XkWKFMn254DroO9DTkVHR+vLL7/U7t27dfjwYd28eTPD/QMCAvTUU0/p5ZdfVrly5XKplcivuEbBasSU6/Cw2Ww2qypr1KiRIiMjVbZsWf3+++9WVZvvrVy5Uu+++65u3LiR6b716tVTeHi4QkJCcqFlrq9ixYpKSkoiplIgnnKGmEqNmMo+4iltxFT2EVNpI6ayj5hKGzGVfcRUasRTzhBTqRFT2Zef4umrr77S0qVLdeLECSUlJaW7X3ZvbH/00Udau3atIiIilNHUX3aSJf766y917tzZoRhNydvbWwMGDFDfvn2zdFxeIqbSduTIEb3++uv6888/HT5m9OjR6t69e7q///LLLzVx4sQst6VixYr65JNPMkzEcCX5KaZyE31f9hFT/+fAgQP697//neXjihYtqpEjR6pz585OaFX+Q0ylxjUq+4intBFT2eeMXARWlnCyzZs3a8iQIaZs6CpVqqhZs2YqUaKETp8+rQ0bNiguLk6SdPDgQfXt21ffffedihcvnlfNhosinmA1YgpWI6ZgNWIKViOmYCXiCVYjptzHzp07dezYMafVv2XLFp06dcopdcfFxaWa2PXy8lLdunVVq1YtBQUFKTExUREREdq2bZuuXbsmSUpISFBYWJiuXr2qt956yyltc2fOjqlkv/32m/r27WuKAW9vbzVp0kRVqlRRyZIldePGDZ06dUr79+/XpUuXsnWeypUrq3r16qpQoYL8/PyUmJioCxcuaO/evTp58qSx399//61evXppzpw5uvvuu3P8+ZD76PvgLEFBQapZs6YqV66sgIAAeXl5KTY2VocPH9bevXuNxLIbN25o6NChSkhIULdu3fK41XA1XKNgNWLK9ZAs4UQXLlzQG2+8YQS8h4eH3nnnHb344oum98xER0dr0KBB2rFjhyTp2LFjevfdd/Xxxx/nSbvhmognWI2YgtWIKViNmILViClYiXiC1YgpFC1aVPXq1dPBgwezvGqDIwICAlS/fn1t3brVsjrvvfdePfPMM3rkkUfSnLy9evWqwsLCNG/ePGPbrFmz1LhxY7Vp08aydiBtVsfUn3/+qVdeecWoy8vLS88995z69++vgICAVPvbbDbt2bNHixcvlq+vb4Z1FylSRO3bt1f79u3VokULBQUFpbvvrl27NGLECOP1H9euXdPQoUO1bNkyeXt75+ATIrfR98FKXl5eatKkiR555BG1bNlS1apVS3ffs2fPasyYMdq4caOxbdy4cWrRooUqVaqUC61FfsA1ClYjplyTZ+a7ILumT5+uq1evGuWBAweqV69epoCXpFKlSmnWrFmqXr26sW316tU6cuRIrrUVro94gtWIKViNmILViClYjZiClYgnWI2Yci++vr5q0KCBnn32WU2YMEGrVq3S77//rm+//VYlS5bMcf1FixZVo0aN1LNnT3388cf63//9X+3YsUOzZ8+2oPXSfffdp2+//VYLFy5Uly5d0n3Kzc/PT6NGjVJoaKhp+6RJkyxpB/6Ps2PKZrNpxIgRxkohXl5emjx5soYNG5ZmooR05wZAw4YNNX78+EyXt+/Ro4fCw8P15JNPZpgoIUmNGzfWvHnzVLp0aWPb8ePHtXnz5ix+KuQ1+j5YqW7duvr222/1/PPPZ5goId15JdG0adPUsmVLY1tcXJwpuQ/gGgWrEVOuiWQJJ7l06ZIWLVpklCtVqpTqi2FKvr6+GjlypFG22WyaNm2aU9uI/IN4gtWIKViNmILViClYjZiClYgnWI2Ycj9hYWFavHixRo0apU6dOqlGjRqpJklz4rvvvtP8+fM1dOhQPfHEE6pcubJl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777t27ePoUOHxrBhw6JHjx6b/HNQP4XI1KGHHpo3x6YaNWpUHHvssfXef8mSJTFmzJi47777oqqqar37tW/fPvbff/8477zzYvvtt2/0Omkezn2k0hTnVrJHjSI1mSoemiWawEMPPRSXXHJJLF26dL37zJkzJ0aPHh1PPfVUjB49Orp3796EK6QlkSdSmTVrVtx222313v+TTz6Ju+66K/7nf/4nRowY0aA3OCAi4h//+Efcc889zb0MWgg1itSOPPLImDFjRr32ra2tjeeffz6ef/75OProo2PkyJHRvn37Aq+QzZFzH5vCNV823HnnnTF27NiYPn36OhsYUrn99tvj5z//eaxatWq9+8yYMSMuv/zyGDduXFx33XXRsWPHDc7597//PU4//fR1vqm7LosXL879nvaTn/wkjjvuuAb9DNRPU2WqMSoqKuq97/jx4+O8886LOXPmbHTfxYsXxxNPPBEnnHCCZokWyrmPFFpCHaRlUqNITaaKi2aJAnv22WfjggsuiNWrV+e27bjjjrHvvvtGp06dYubMmTFu3Liorq6OiIjXXnsthg8fHvfee683ZFmLPFFIXbp0iV122SV22GGH6NixY5SVlcWCBQtiypQp8Y9//CN3kbF06dK48MILY+XKlXHiiSc286ppKVauXBkjRoxwscomU6NorPnz56+1bccdd4z+/ftHly5dory8PKqqqmL8+PF5n1x89NFHY+7cuXHbbbdFeXl5Uy6ZFs65j03hmi87JkyYsMG7HKVw3333xc9+9rO8bbvttlsMGDAg2rZtG2+99VY8++yzuUaKv/3tb3HOOefEbbfdFq1arf8tw8WLF6/VKNGmTZvYc889o3fv3rH11lvHihUr4s0334wXXnghli9fHhH/+j3txz/+cVRXV8c3vvGNxD8thcxUWVlZgx+lUltbm3cOrKioiM9//vP1OvbRRx+N8847L6/JZ4sttoj9998/evToEVtuuWUsWrQo3n777Zg8eXIsXLiwQWujuDj3kUpTnFvJHjWK1GSq+GiWKKC5c+fGueeemwt8SUlJnH/++XHKKafkPWdm/vz5cc4558SLL74YEf96Bt8ll1wS1157bbOsm+IkT6RWVlYWAwcOjC9+8Ytx4IEHRu/evde776xZs2LkyJHx9NNP57ZdeeWVsf/++/vUBvVyyy235C5Yu3btGnPnzm3mFVHs1CgKpXv37nH88cfH0KFDY5tttlnr+6tXr4777rsvRo0alfvjzosvvhi/+MUv4vzzz2/q5dKCOffRUK75qKioiN133z1ee+21DX7KrD7eeOONGDlyZG7cpk2buPLKK+PLX/5y3n7vvfdenHXWWbl6NX78+Bg9enT84Ac/2OhrfPrYqhNPPDEOOeSQdTYVzp07N37605/G448/ntt2+eWXx4ABA6Jv376b+uNRT6ky9cQTTzT4mDFjxsSoUaNy4yOOOCLatWu30eMmTJgQ559/fq5Rory8PM4666w45ZRTom3btmvtv2rVqnjhhRfid7/73QabfChOzn0UWspzK9mjRpGaTBWn0o3vwqa6+eabY9GiRbnx9773vTj11FPzAh8RsfXWW8dtt90WO+20U27bo48+Gm+88UaTrZXiJ0+k1q9fv7j77rvjpJNO2uAfISP+9Yelm266KQ488MDcturqareVpl7efvvtuPnmmyMiom3btnHuuec284poCdQoUttuu+3iyiuvjCeeeCLOPPPMdTZKRPyrUefrX/96jB49Ou/3rLvuuitmz57dVMulhXPuY1O45suW8vLy6N+/f3zjG9+Iq666Kh555JGYOHFi3H333bHVVls1ev5f/OIXeXd/+OlPf7pWo0RERM+ePeNXv/pVdO7cObftV7/61UYbvL7whS/EAw88EHfeeWcceeSR6737UteuXeP666+PY445JretpqYmfv7znzf0R2IjCp2phvrDH/6QNx46dOhGj1m+fHlcdNFFuexWVFTEmDFjYvjw4etslIiIaNWqVRx44IHxX//1X3HAAQc0fuE0Kec+Uiq2OkjLp0aRmkwVJ80SBfLRRx/Ffffdlxtvv/32ccYZZ6x3//Ly8hgxYkRuXFtbGzfddFNB10jLIU8Ug7KysvjhD3+Yt+2vf/1rM62GlqK2tjZGjBgRK1asiIiIs846y/PVKAg1io0ZO3ZsHHfccfW+hfSgQYPi6KOPzo1XrlwZTz75ZKGWx2bEuY9N4Zove6677rq4//774+KLL46hQ4dGnz591nqTdFNNmTIlxo0blxsPHDgwhgwZst79t95667ymrmXLlsUdd9yx3v0PPvjguPXWW+t9Z4iSkpIYMWJE3l0Fnn/++Vi8eHG9jqd+CpmphpoyZUrem/ndu3ePfffdd6PH3XTTTTFjxozc+Kc//WnsvffeBVkjzc+5j9SKqQ7S8qlRpCZTxcuZokCefPLJ3JtjEREnnHBCtG7deoPH7L///tGrV6/c+Jlnnolly5YVbI20HPJEsdh9992joqIiN/7www+bcTW0BL/97W/jpZdeioiIXXbZJU499dRmXhGbMzWKDdmU2zKv2SwREfHqq6+mWg6bMec+NoVrPlJ67LHH8sb/9m//ttFjvvzlL8eWW26ZG6/52Iy6NuWc2qlTpzjooINy45UrV8brr7/e4HloGereVWLIkCFRUlKywWOWLVsWd999d26811575d2RhM2Pcx9QzNQoUpOp4qVZokCeeuqpvPGRRx5Zr+PW3K+6ujr+9re/JV0XLZM8UUzW/DRQbW1tM66EYjd79uzcc9RKSkrisssu2+gvgNBYahQpbb/99nnjefPmNdNKaCmc+9hUrvlIac08tW7dOgYPHrzRY8rLy+Pggw/OjWfNmhVTpkxJui7n1WxYtWpVPPLII7lxSUlJvR7B8dhjj+XdbeTEE08syPooHs59QDFTo0hNpoqXZokC+fSTRBERXbp0iZ49e9bruL322itvPGHChKTromWSJ4pFdXV1LFiwIDeubxbJpp/+9Ke5Z7CdcMIJbp9KwalRpLZkyZK88aZ8kpZsce5jU7nmI5WFCxfGtGnTcuN+/fpFeXl5vY797Gc/mzdOnae651XNZJunZ555Jj766KPceMCAAfWqaWs2WJSVlcVhhx1WkPVRPJz7gGKmRpGaTBUvzRIFMGfOnNwbZBERu+22W72P7devX974rbfeSrYuWiZ5opg89thjsXLlytz4kEMOacbVUMz+/Oc/xxNPPBEREZ07d44f/vCHzbwiskCNIrWpU6fmjbfZZptmWgktgXMfm8o1HynVzUBD8rT77rtvcK7Gqnte7datW9L5KQ4PPPBA3rg+d5Wora2NyZMn58Y9e/aMDh06pF4aRcS5DyhmahSpyVRx89GoAnj77bfzxtttt129j+3SpUu0bt0690Z/3bnIHnmiWLz55ptx9dVX58ZbbbVVnHLKKc24IorVokWLYuTIkbnxBRdcEB07dmzGFZEFahSF8NBDD+WN99tvv2ZaCcXOuY/GcM1HSo3J07bbbrvBuRrjvffei0mTJuXGW2655Vpv/NLyffzxxzFu3LjcuG3btvW6xfSMGTNi4cKFuXGfPn1yX7/xxhsxduzYeOGFF6KqqipWr14dW2+9dey6667x+c9/Pr785S9H27Zt0/4gFJxzH1DM1ChSk6niplmiAGbPnp03bkinfElJSXTr1i3ef//9dc5F9sgTzaW2tjYWL14c06ZNiz//+c9x7733xvLlyyMioqKiIkaPHh2dO3du5lVSjH72s5/F3LlzIyLigAMOiK985SvNvCI2R2oUhfbiiy/Giy++mBt36NAhDjrooGZcEcXMuY/GcM1HSo3JU9euXaOsrCxWr169zrka46abbora2trc+PDDD/d4q83Qo48+mnentyOOOCLat2+/0eOmT5+eN+7cuXMsX748rrnmmrj77rvzshPxrybFGTNmxJ///Of4r//6r7jwwgvj6KOPTvND0CSc+4BipkaRmkwVN1clBVD3GYzt2rVr0PFr7r9q1apYsWJFtGnTJsnaaHnkiaby9ttvxzHHHJMb19TUrPWGRETEwQcfHBdeeGHsuOOOTbg6WooJEybE/fffHxER5eXlcemllzbvgthsqFE0paVLl8aIESPytp166qkN/j2MbHDuo7Fc85FS3TzV5w/VnyotLY22bdvG4sWLI+Jf58MU/va3v8XYsWNz49atW8d3vvOdJHNTXP7whz/kjevzCI6IiE8++SRvvMUWW8R3v/vdePbZZzd67Ny5c+Pcc8+NmTNnxplnnln/xdKsnPuAYqZGkZpMFTfNEgWwbNmyvHF5eXmDjq+7/5IlS4Q+w+SJplJbW5v7BNG6lJaWxje+8Y349re/7dmyrNOKFStixIgRuT9gf+c734kddtihmVfF5kKNoildeuml8e677+bGvXv3jtNPP735FkTRcu4jBdd8pFQ3Tw3NQnl5ea5Zou6bupti9uzZcd555+VtUys3T2+++Wb885//zI27d+9e70eYrfkM74iIsWPH5h7L0bVr1xg+fHgcfPDBUVlZGYsXL46XX345br311nj55Zdzx/ziF7+IPn36xGGHHZbgp6HQnPuAYqZGkZpMFbfS5l7A5qi6ujpv3NDA1t3/01tKk03yRLGoqamJu+66KwYPHhxXX311rFixormXRJG58cYb45133omIiF69esW3v/3tZl4RWaJGkcqdd94ZDz74YG7cpk2buOaaaxp8IUs2OPeRgms+UkqZp8Zmqbq6Or773e/GvHnzcts++9nPxvDhwxs1L8Wp7l0lvvrVr0ZJSUm9jq17F5NPGyV22WWXeOihh+Kb3/xm9OjRI9q0aRNbb711DB48OO6999742te+lnfcJZdcoga2EM59QDFTo0hNpoqbO0sUQN03Utd8Vl991H1zX3dQtskTTWWnnXaKqVOn5sYrVqyIBQsWxJQpU+Kxxx6Lhx9+OFauXBkrV66MO+64I6ZNmxa//OUvZYqIiJg6dWrcfvvtufFll10mGySlRtEU/vjHP8bPfvazvG0jR46Mz3zmM820IoqZcx+puOYjpZR5akyj4OrVq+Pcc8+NyZMn57Ztu+228V//9V/RunXrTZ6X4rR69ep46KGHcuOSkpJ6P4IjYt11q02bNnH99dfH1ltvvc5jSkpK4uKLL45//vOfuTtazJs3Lx588ME44YQTGvgT0NSc+4BipkaRmkwVN3eWKICKioq8cd2OoY2p2xHk2cjZJk80lzZt2kRlZWUMGjQoRo0aFb///e9j2223zX3/ueeeixtvvLEZV0ixqKmpiZ/85Ce5X/KGDh0a++67bzOvis2dGkVqzz//fJx33nlRU1OT2/bDH/6wQW/0kx3OfaTkmo+U6uapoZ86W3P/unM1xIgRI+LJJ5/MjTt16hS33Xabx6Vtpp577rmYO3dubjxgwIDYfvvt6338urL2pS99KXr37r3B48rKyuLMM8/M2/bUU0/V+3VpPs59QDFTo0hNpoqbZokCqBv6ureS25g1nwnZqlUrt/zNOHmiWPTt2zduvfXWvE8BjRkzJhYsWNB8i6Io3HXXXblPjHXq1GmtZxJDU1CjaIxXXnklzj777LzO/tNOOy3OOOOMZlwVxcy5j5Rc85FS3TytmY+NqampyXvjdlObJa6++ur4n//5n7x5brnllth55503aT6K3wMPPJA3bmiz6bre8D/kkEPqdeznP//5vGuAl19+uUGvTfNw7gOKmRpFajJV3DRLFEDdLvmqqqp6H1tbWxuzZ89e71xkjzxRTPr06RNHHXVUblxdXR1PP/108y2IZlddXR2/+MUvcuPzzjtvvbdJhUJTo9gU06ZNizPOOCPvQvX444/3x2/Wy7mP1FzzkVJj8jR37txYtWpVbrzNNts0+PV/+ctfxh133JEbt2nTJm688cbYc889GzwXLcOiRYvy7iLStm3bOPLIIxs0x7qytssuu9Tr2PLy8ry7WCxYsGCtW1VTfJz7gGKmRpGaTBW3Vs29gM1R3VvEffDBB/U+dt68eXmfaOvVq1eyddEyyRPF5oADDogHH3wwN546dWozrobmtmLFirw/MI4YMSJGjBixwWNqa2vzxg888EDe822HDBkSV155ZdqFkhlqFA0xc+bM+Na3vpV3B5IvfelLMXLkyOZbFEXPuY/UXPORUmPy9OGHH+aNG5qne+65J6+ZrKysLK677ro44IADGjQPLcujjz6ad2voww8/PNq3b9+gOdZ115Ett9yy3sfX3XfBggVRWVnZoDXQtJz7gGKmRpGaTBU3d5YogG7dukWHDh1y4ylTptT72Ndffz1vvNNOOyVbFy2TPFFsunTpkjdevHhxM62EYrR69eqN/qupqck7pra2doPfh4ZQo6iv2bNnx7Bhw/Kerz1o0KC45pprorTUZRL159xHY7nmI6W6GWhInl577bUNzrUhDzzwQPz0pz/NjUtKSmLUqFFx2GGH1XsOWqa6j+A49thjGzxH586dY6uttsrb1pC7Q9Td162pi59zH1DM1ChSk6ni5l3AAhkwYEDu63nz5sV7771Xr+MmTZqUNx44cGDSddEyyRPFpO4fHhvyaQ+AQlOjqI/58+fHsGHDYtasWblt++yzT4wePTrvmdcATcU1H6l07Ngx+vTpkxu//vrreZ/635CXX345b1zfPP3lL3+Jiy66KO8uOpdcckl89atfrdfxtFzvvPNOXm6222672G+//TZprn322SdvvObtpjdmzX1btWrlGqCFcO4DipkaRWoyVbw0SxTIoYcemjf+05/+VK/jHn/88dzX5eXlceCBByZdFy2TPFFM6nYybrvtts20EorBlltuGVOnTm3Qv1//+td5cwwdOjTv+1dddVUz/TRsDtQoNmbx4sVx+umnx9tvv53btueee8bNN9/sU4jUi3MfheCaj5TWzNPKlSvjySef3Ogxy5cvj2eeeSY33m677aJfv34bPW78+PHxgx/8IFatWpXb9qMf/Si+/vWvN3DVtER17yrx1a9+NUpKSjZprrp3Ian7h4H1ee+992LevHm5cd++fTd5DTQt5z6gmKlRpCZTxUuzRIEMHjw471Np999/f94zZdZl/Pjx8c477+TGgwYNioqKioKtkZZDnigW1dXV8fDDD+dt8/xZoFioUWxMdXV1DB8+PO8243379o1bb7012rVr14wrA7LONR8pHXnkkXnj3/zmNxs95uGHH46FCxfmxl/84hc3eszkyZPjrLPOynsEwtlnnx2nn356A1ZLS1VTUxMPPvhg3rZNeQTHpw455JC8GvaHP/yhXo+puu+++/LG/oDQcjj3AcVMjSI1mSpemiUKpEuXLnH88cfnxjNnzoxbbrllvfsvX748Lr/88ty4pKQkzjzzzIKukZZDnkhtxYoV8cYbbzTomJqamrjkkkvigw8+yG3bc889o3fv3qmXB2ScGkUhrFq1Ks4555yYMGFCbluvXr3ijjvuiI4dOzbjygBc85FWv379YtCgQbnxhAkT1roDwJrmz58fP//5z3PjLbbYIr71rW9t8DXefPPN+Pa3vx1Lly7NbRs2bFh8//vf3/SF06K88MIL8eGHH+bGAwYMiO23336T5+vQoUMMGzYsN54+fXrccccdGzxm6tSpMWbMmNy4devW8bWvfW2T10DTcu4DipkaRWoyVbw0SxTQ8OHD8z6hNnr06BgzZsxaXdHz58+P008/PaZPn57bdtRRR9XrdodkhzyRUnV1dQwZMiS+//3vx7hx4/I+CbQur7zySpx88sl5b7CVlpbGRRddVOCVAlmkRpFabW1tXHDBBfH000/ntvXo0SN+9atfRefOnZtvYQBrcM1HSj/4wQ+iVatWufGIESPikUceWWu/9957L0455ZT46KOPcttOPvnkqKysXO/c77//fnzrW9+KBQsW5LadeOKJceGFF6ZZPC3C2LFj88ZDhw5t9JynnXZadO3aNTf+z//8z7jlllvyHvPyqfHjx8epp56ad63wzW9+M7bbbrtGr4Om49wHFDM1itRkqjiV1NbW1qaabMCAAVFVVRXbbLNNTJw4MdW0LdrTTz8dZ555Zl7Qd9xxx9hvv/2iU6dOMWPGjBg3blxUV1fnvr/zzjvH7373u2jfvn1zLLmo9OzZM2pqamTqf8lT48nUvyxcuDAGDhyYG7dt2zb69u0bO++8c3Ts2DHatm0bS5Ysiaqqqnj11Vfjvffeyzu+pKQkrrjiijjuuOOaeulFRZ42zQsvvBAnn3xybjx06FDPav9fMvUvalQ6MvUvs2bNWuvZkKWlpQ1+nnX37t3jiSeeSLm0FkemNo1z3/rJVD7XfI3TkvI0a9asOPzww9f5vdWrV+eNy8rK1rnfmDFjYp999lnva9x7771x6aWX5m3bbbfd4nOf+1xsscUW8dZbb8Wzzz6b94foffbZJ+644468WwTXdcMNN8To0aPrtcYNOeuss+K73/1ug49rSjK1bosXL46DDjooli1bFhH/+n39ueeeS1KHJk+eHCeffHJu7oiIbbbZJg466KCorKyMxYsXx8svvxyvvvpq3nGf+9znYsyYMRvMbjFoSZlqKs59jSNT/6cp6+DmTKbyqVGNI09rk6nGKUQvQquN70JjHHzwwTFq1Ki49NJLc7/kv/vuu/Huu++uc//ddtstbrjhBoFnneSJQlm2bFm8/PLL8fLLL290327dusVll10WhxxySBOsDECNovHW1R9en2dg11X3DTaA1FzzZUdtbW29zyvr229jn3/6+te/HosWLYrrr78+1xAxZcqUmDJlyjr332+//eL666/f6B+b1/W6m3KOTPj5LaJpMvWpxx9/PK+Z4fDDD09Wh/r37x833XRT/OhHP4p58+ZFRERVVVX8/ve/X+8xhx12WFxzzTVF3yjBujn3kUpT1kGyQ40iNZkqPh7D0QSGDBkSY8eOjcMOO2y9v7R37do1zj777LjvvvuiR48eTbxCWhJ5IoV27drF1VdfHcccc0x069atXsf069cvLrroovjjH//oj5BAQalRAGSZaz5SOuOMM+I3v/lNHHDAAVFauu63AXv27Bk//vGPY8yYMdGpU6emXSAt0pqPv4uIOPbYY5POf8ABB8TDDz8cJ554YnTo0GG9++22225x/fXXxw033BAVFRVJ10DTcu4DipkaRWoyVVw8hqOJffzxxzFp0qSoqqqKJUuWRJcuXaJnz56x9957b9ItCzd3btGzYfLUcDK1bnPmzIm33nor3n///Vi4cGFUV1dHRUVFtG/fPnr06BG77757bLnlls29zKIjT6QmU+umRm06mSI1mSI1mdow13wNI08bNnv27HjllVdi9uzZUV1dHZWVldGrV6/o379/cy+taMlU81uxYkW89NJL8cEHH8RHH30UW2yxRXTt2jX22muv2HbbbZt7eQ0mUxvn3NcwMkVqMrVhalTDyNPGyVTDeAzHZmCrrbaKwYMHN/cy2EzIE6lUVlZGZWVlcy8DYJ3UKACyyjUfKXXr1i2OOOKI5l4GNEibNm3igAMOaO5l0ISc+4BipkaRmkw1P4/hAAAAAAAAAAAyRbMEAAAAAAAAAJApmiUAAAAA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1Vdfjf/3//5fg4+rqKiIESNGxLHHHluAVbU8MrU2NWrTtaQ83XnnnTF27NiYPn36OhsYPtXYN99vv/32+PnPfx6rVq3a6L4HHnhgXHfdddGxY8dNfr01XXrppXHvvfeutb0lNUu0lEwdccQRMWPGjAYfd/TRR8fIkSOjffv2693nnXfeiWOPPbZeNWlNrVu3ju9+97sxfPjwBh23YMGC+Pd///cYP358vV7jP/7jP2LYsGENeo3m1FIy1dSc+zadTK1NnhpHpv5PU/2+tjmTp3VTpzZdIXoR3FmiwJ599tm44IILYvXq1bltO+64Y+y7777RqVOnmDlzZowbNy6qq6sjIuK1116L4cOHx7333rvBCxWySZ5ITaZITaZITaZITaYolC5dusQuu+wSO+ywQ3Ts2DHKyspiwYIFMWXKlPjHP/6Re3Nt6dKlceGFF8bKlSvjxBNPbOZVU2zUqOyYMGHCBj/9n8J9990XP/vZz/K27bbbbjFgwIBo27ZtvPXWW/Hss8/mGin+9re/xTnnnBO33XZbtGrVuLcMJ06cGL/97W8bNQf1N3/+/LW27bjjjtG/f//o0qVLlJeXR1VVVYwfPz7vTh+PPvpozJ07N2677bYoLy9f59zV1dVrvZFfVlYW/fr1i1133TW6dOkSq1evjhkzZsTzzz8fixcvjoiIlStXxnXXXReLFi2KH/3oR/X6OVauXBnf+9734sUXX8xta926dXzhC1+InXbaKZYsWRIvvfRSTJ06Nbf/qFGjokOHDnHcccfV6zUoPs59pCRPpNQUv6+RPepU8dEsUUBz586Nc889Nxf4kpKSOP/88+OUU07Je87M/Pnz45xzzsldCEybNi0uueSSuPbaa5tl3RQneSI1mSI1mSI1mSI1mSKlsrKyGDhwYHzxi1+MAw88MHr37r3efWfNmhUjR46Mp59+OrftyiuvjP333z+23377JlgtLYEaRUVFRey+++7x2muvNfhT/HW98cYbMXLkyNy4TZs2ceWVV8aXv/zlvP3ee++9OOuss3J/CBg/fnyMHj06fvCDH2zya69YsSJGjBgRn97MtmvXrjF37txNno/66969exx//PExdOjQ2Gabbdb6/urVq+O+++6LUaNGxfLlyyMi4sUXX4xf/OIXcf755290/s9+9rNxwgknxBe/+MV1vlm/aNGiuO666+Kee+7Jbbvtttvic5/7XBxyyCEbnf8Xv/hFXqPELrvsEr/85S+jR48eefs99NBD8eMf/zh3y+pLLrkk+vfvH3369Nnoa1BcnPtISZ5oCil/XyN71KniVLrxXdhUN998cyxatCg3/t73vhennnpqXuAjIrbeeuu47bbbYqeddspte/TRR+ONN95osrVS/OSJ1GSK1GSK1GSK1GSKlPr16xd33313nHTSSRtslIj41x+vbrrppjjwwANz26qrq/P+mARqVLaUl5dH//794xvf+EZcddVV8cgjj8TEiRPj7rvvjq222qrR8//iF7/Ie/bxT3/607UaJSL+dWvkX/3qV9G5c+fctl/96leNam747//+73jrrbciIuILX/hCHHTQQZs8F/Wz3XbbxZVXXhlPPPFEnHnmmetslIj4V6Pf17/+9Rg9enRebbnrrrti9uzZ651/r732irvvvjt+97vfxXHHHbfeTzV26NAhLr744jjjjDPytv/nf/7nRn+G2bNnx1133ZUbd+7cOX7961+v1SgREfGVr3wlLr/88tx45cqVcf3112/0NSg+zn2kJE+kVujf18gedao4aZYokI8++ijuu+++3Hj77bdf60JhTeXl5TFixIjcuLa2Nm666aaCrpGWQ55ITaZITaZITaZITaZobmVlZfHDH/4wb9tf//rXZloNxUaNyp7rrrsu7r///rj44otj6NCh0adPn7XeJN1UU6ZMiXHjxuXGAwcOjCFDhqx3/6233jrOPffc3HjZsmVxxx13bNJrT58+Pf77v/87IiK22GKLuPjiizdpHhpm7Nixcdxxx0VZWVm99h80aFAcffTRufHKlSvjySefXOe+ffr0id/+9rcxcODAeq/n+9//fl6Tw/Tp03MNNOtz++235+52ERHxwx/+cIN/iBoyZEjemp544gm3Sm9hnPtISZ4ohEL+vkb2qFPFy//VBfLkk0/GihUrcuMTTjghWrduvcFj9t9//+jVq1du/Mwzz8SyZcsKtkZaDnkiNZkiNZkiNZkiNZmiGOy+++5RUVGRG3/44YfNuBqKiRpFSo899lje+N/+7d82esyXv/zl2HLLLXPjxx9/vMGvW1NTEz/5yU9yd7Q4++yzo2fPng2eh4Zr1arhT1pes1kiIuLVV19NNnfr1q3jiCOOyNs2efLkDR6zZm47duwYxxxzzEZf5+tf//p656D4OfeRkjwBxU6dKl6aJQrkqaeeyhsfeeSR9Tpuzf2qq6vjb3/7W9J10TLJE6nJFKnJFKnJFKnJFMWiXbt2ua9ra2ubcSUUEzWKlNbMU+vWrWPw4MEbPaa8vDwOPvjg3HjWrFkxZcqUBr3uvffeGy+//HJEROyyyy5x6qmnNuh4mtb222+fN543b16zzf/Pf/4z7zEgBx98cJSXl2/0NQYPHpz3R4b13R2D4uTcR0ryBBQ7dap4aZYokJdeein3dZcuXerdSb/XXnvljSdMmJB0XbRM8kRqMkVqMkVqMkVqMkUxqK6ujgULFuTGPnHNp9QoUlm4cGHeowj69etXrz86R0R89rOfzRs3JE9VVVVx7bXXRkRESUlJXHrppRv9pBzNa8mSJXnjTbmDREPm31Ae1qyBEWvXtvXZYostom/fvrnxG2+8kfcccIqbcx8pyRNQ7NSp4qVZogDmzJmT94v5brvtVu9j+/Xrlzfe2PP82PzJE6nJFKnJFKnJFKnJFMXisccey92ePiLikEMOacbVUCzUKFKqm4GG5Gn33Xff4Fwbcumll+b+OH788cfHgAED6n0szWPq1Kl542222aag83fr1m29+7799tt547q1bUPq7lt3LoqTcx8pyRNQ7NSp4qZZogDq/lK+3Xbb1fvYLl265HVa+wUfeSI1mSI1mSI1mSI1maIYvPnmm3H11VfnxltttVWccsopzbgiioUaRUqNydO22267wbnW549//GOMGzcuIiI6d+4c//Ef/1Hv16T5PPTQQ3nj/fbbL9ncS5cujb/85S+5cWlpaey7777r3b9u1upmcUPqZlwdbBmc+0hJnoBip04VN80SBbDmM/YiNtw5XVdJSUne/nXnInvkidRkitRkitRkitRkiuZQW1sbixYtiokTJ8aoUaPiuOOOi/nz50dEREVFRYwePTo6d+7czKukGKhRpNSYPHXt2jXKysrWO9e6fPLJJ3HFFVfkxueff3507Nix3q9J83jxxRfjxRdfzI07dOgQBx10ULL577jjjli6dGluvM8++8TWW2+93v3XzFqrVq2iS5cu9X6tunfEqKqqasBKaS7OfaQkT0CxU6eKW9qH0RERaz+Tr127dg06fs39V61aFStWrIg2bdokWRstjzyRmkyRmkyRmkyRmkzRFN5+++045phjcuOampqora1da7+DDz44Lrzwwthxxx2bcHUUMzWKlOrmqX379vU+trS0NNq2bRuLFy+OiMj7Y/f6XH311TFv3ryIiNh///3jq1/9agNWS3NYunRpjBgxIm/bqaee2uDasz7Tpk2L//7v/87b9t3vfneDx6yZ27Zt20Zpaf0/31d33fXJLc3PuY+U5AkodupUcXNniQJYtmxZ3ri8vLxBx9fdv+7/RGSLPJGaTJGaTJGaTJGaTNEUamtrY/Xq1bl/dRslSktL46STToqRI0dqlCCPGkVKdfPU0DdR18zTxrL097//Pf7nf/4n9zqXXnppg16L5nHppZfGu+++mxv37t07Tj/99CRzL1myJH7wgx/EihUrctuGDh0aAwcO3OBxa+a2oTWwbsY1S7QMzn2kJE9AsVOniptmiQKorq7OGzf0wrTu/suXL2/0mmi55InUZIrUZIrUZIrUZIpiUFNTE3fddVcMHjw4rr766rw/JJFtahQppczThrK0fPnyuPjii3Pj73znOxrBWoA777wzHnzwwdy4TZs2cc011zT4Dft1qampiR/96Ecxffr03LaePXvGRRddtNFj18xtY2tg3f8HKE7OfaQkT0CxU6eKm8dwFEDdC4yVK1c26Pi6b5q5lUq2yROpyRSpyRSpyRSpyRRNYaeddoqpU6fmxitWrIgFCxbElClT4rHHHouHH344Vq5cGStXrow77rgjpk2bFr/85S/lCTWKpFLmaUN/QB89enTMmDEjIiJ69eoVZ5xxRoNeh6b3xz/+MX72s5/lbRs5cmR85jOfSTL/FVdcEU8++WRu3KFDh7jxxhujQ4cOGz22vLw894nLxtbAFI0fFJ5zHynJE1Ds1Kni5s4SBVBRUZE3bmhHc92OoFTPDKRlkidSkylSkylSkylSkymaQ5s2baKysjIGDRoUo0aNit///vex7bbb5r7/3HPPxY033tiMK6RYqFGkVDdPDf3U2Zr7153rU1OmTIk777wzN77sssu8YVvknn/++TjvvPOipqYmt+2HP/xhDB06NMn8N9xwQ9x99925cXl5edx0002x66671uv4NbPW0BpY948H68stxcW5j5TkCSh26lRx0yxRAHVD39Bn5a35rJlWrVrpiM44eSI1mSI1mSI1mSI1maIY9O3bN2699dZo3bp1btuYMWNiwYIFzbcoioIaRUp189SQ5xnX1NTkvXG7rj86r169On7y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33nnneN3v/tdtG/fvjmWXFR69uwZNTU1MvW/5KnxZCqfTDWOPK1NphpHptYmU40jU2uTqcaRqX9ZuHBhDBw4MDdu27Zt9O3bN3beeefo2LFjtG3bNpYsWRJVVVXx6quvxnvvvZd3fElJSVxxxRVx3HHHNfXSi45M5VOjGqcl5WnWrFlx+OGHr/N7q1evzhuv7w/SY8aMiX322We9r3HvvffGpZdemrdtt912i8997nOxxRZbxFtvvRXPPvtsrFq1Kvf9ffbZJ+644468WwQ31gUXXBB/+MMfcuNf//rXse+++yabv5BaQqZmzZq11jOwS0tLG3zHh+7du8cTTzyx1vY//OEPccEFF+Rt25QmiSFDhsSVV165wX1WrFgRp556arz00ku5ba1bt45BgwZF7969Y+nSpTFhwoSYOnVq3nGXX3553ic1i1lLyFRTc+5rHJnKJ0+NJ1P/pyl+X9vcydPa1KnGKUQvQquN70JjHHzwwTFq1Ki49NJLY9myZRER8e6778a77767zv132223uOGGGwSedZInUpMpUpMpUpMpUpMpCmHZsmXx8ssvx8svv7zRfbt16xaXXXZZHHLIIU2wMloaNSo7amtr13qTfX3Wt9/GPv/09a9/PRYtWhTXX399riFiypQpMWXKlHXuv99++8X111+ftFGCwltXDup+OrE+GpKz+ma3oWtq06ZNjB49Os4555x48cUXIyJi5cqV8Ze//GWd+7dq1SrOPffcFtMowbo595GSPJFSU/y+RvaoU8XHYziawJAhQ2Ls2LFx2GGHrfeCs2vXrnH22WfHfffdFz169GjiFdKSyBOpyRSpyRSpyRSpyRSN1a5du7j66qvjmGOOiW7dutXrmH79+sVFF10Uf/zjHzVKsEFqFCmdccYZ8Zvf/CYOOOCAKC1d99uAPXv2jB//+McxZsyY6NSpU9MuEOrYeuut41e/+lVceOGF0bNnz3XuU1paGgcccEDce++9cdpppzXxCikE5z5Skieg2KlTxcVjOJrYxx9/HJMmTYqqqqpYsmRJdOnSJXr27Bl777130uf8bS7comfD5KnhZGrDZKph5GnjZKphZGrjZKphZGrjZKphZGrd5syZE2+99Va8//77sXDhwqiuro6Kiopo37599OjRI3bffffYcsstm3uZRUmmNkyNahh52rDZs2fHK6+8ErNnz47q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0WSvRfNy7iMleSI113ykpk4VF3eWKLBnn302Lrjggli9enVu24477hj77rtvdOrUKWbOnBnjxo2L6urqiIh47bXXYvjw4XHvvfdG+/btm2vZFCl5IjWZIjWZIjWZIjWZIpU777wzxo4dG9OnT4+amprmXg6bCTWK+urSpUvssssuscMOO0THjh2jrKwsFixYEFOmTIl//OMfubq0dOnSuPDCC2PlypX1vitARERpaWmUlJTUa99Wrby92BK99tprcdJJJ+U137Rt2zYOPPDA6N27d9TU1MTbb78dzz//fK7mPPfcc/Hd7343br/99g1+wrGsrKzBj4Gpra3NO59WVFTE5z//+Qb+VLREzn2kJE+k5JqPQlCnio+rmQKaO3dunHvuubnAl5SUxPnnnx+nnHJK3nNm5s+fH+ecc068+OKLERExbdq0uOSSS+Laa69tlnVTnOSJ1GSK1GSK1GSK1GSKlCZMmBDTpk1r7mWwGVGj2JCysrIYOHBgfPGLX8z9MXt9Zs2aFSNHjoynn346t+3KK6+M/fffP7bffvt6vd4VV1zh8QebscWLF8f3vve9vEaJgw8+OC6//PLo2rVr3r6zZ8+OCy+8MP72t79FRMSLL74YP/vZz+InP/nJeud/4oknGrymMWPGxKhRo3LjI444Itq1a9fgeWhZnPtISZ5IzTUfqalTxcljOAro5ptvjkWLFuXG3/ve9+LUU0/NC3xExNZbbx233XZb7LTTTrltjz76aLzxxhtNtlaKnzyRmkyRmkyRmkyRmkxRaBUVFTFw4EC3DWeTqFFsSL9+/eLuu++Ok046aYONEhER3bt3j5tuuikOPPDA3Lbq6uq45557Cr1MWoh77rkn73bO++yzT9x4441rNUpERHTr1i1uvvnm+OxnP5vb9tvf/jZmzpyZdE1/+MMf8sZDhw5NOj/FybmPlOSJpuCaj8ZQp4qTZokC+eijj+K+++7Ljbfffvs444wz1rt/eXl5jBgxIjeura2Nm266qaBrpOWQJ1KTKVKTKVKTKVKTKVIrLy+P/v37xze+8Y246qqr4pFHHomJEyfG3XffHVtttVVzL48WRo0itbKysvjhD3+Yt+2vf/1rM62GYnP33Xfnvi4pKYnLLrtsg49TadOmTVx22WW58cqVK5PWnClTpuS9+d+9e/fYd999k81PcXLuIyV5ohBc85GSOlW8PIajQJ588slYsWJFbnzCCSdE69atN3jM/vvvH7169Yp33nknIiKeeeaZWLZsWbRt27aga6X4yROpyRSpyRSpyRSpyRSpXXfddc29BDYjahSFsPvuu0dFRUUsXbo0IiI+/PDDZl4RxeDNN9+MOXPm5MYDBgzY6N1KIiL69u0be+yxR7z66qsR8a9HbYwcOTLatGnT6DXVvavEkCFDoqSkpNHzUtyc+0hJnigE13ykpE4VL3eWKJCnnnoqb3zkkUfW67g196uurs49D5BskydSkylSkylSkylSkymgmKlRFEq7du1yX9fW1jbjSigWr732Wt547733rvexe+21V+7rxYsXx/jx4xu9nlWrVsUjjzySG5eUlHgER0Y495GSPAHFTp0qXpolCuSll17Kfd2lS5fo2bNnvY5b86IjImLChAlJ10XLJE+kJlOkJlOkJlOkJlNAMVOjKITq6upYsGBBblzfXLF5WzMTERHdunWr97F1933hhRcavZ5nnnkmPvroo9x4wIABspoRzn2kJE9AsVOnipdmiQKYM2dOLFq0KDfebbfd6n1sv3798sZvvfVWsnXRMskTqckUqckUqckUqckUUMzUKArlsccei5UrV+bGhxxySDOuhmJRXV2dN27IYzTKy8vzxilqzgMPPJA3dleJbHDuIyV5AoqdOlXcWjX3AjZHb7/9dt54u+22q/exXbp0idatW+cuZuvORfbIE6nJFKnJFKnJFKnJFFDM1CgK4c0334yrr746N95qq63ilFNOqffxjz/+ePzxj3+Mt956Kz7++OMoLy+PTp06RZ8+fWLgwIHxpS99KSorKwuxdAqsQ4cOeeOFCxfW+9hPPvkkb9zYN+s//vjjGDduXG7ctm3bet+SmpbNuY+U5AkodupUcXNniQKYPXt23rght7MrKSnJ27/uXGSPPJGaTJGaTJGaTJGaTAHFTI0ihdra2li0aFFMnDgxRo0aFccdd1zMnz8/IiIqKipi9OjR0blz53rP9/TTT8df//rX+OCDD2LZsmWxYMGCePfdd+OJJ56IK6+8MgYPHhyXXXZZLFmypFA/EgVSt8a8+eab9T627r5VVVWNWsujjz6ad/eTI444Itq3b9+oOWkZnPtISZ6AYqdOFTd3liiAuheK7dq1a9Dxa+6/atWqWLFiRYNuicfmRZ5ITaZITaZITaZITaaAYqZGsSnefvvtOOaYY3LjmpqaqK2tXWu/gw8+OC688MLYcccdk77+ihUr4je/+U38/e9/j5tvvjl22GGHpPNTOHWfe/3cc8/FypUro3Xr1hs8bvny5fH3v/89b9vKlSsbVXP+8Ic/5I09giM7nPtISZ6AYqdOFTd3liiAZcuW5Y3rPs9vY+rur0s/2+SJ1GSK1GSK1GSK1GQKKGZqFJuitrY2Vq9enftXt1GitLQ0TjrppBg5cmSDGiV23XXXOPvss+OOO+6IZ599NiZPnhyvvPJKPPnkk/Hzn/88vvCFL+Tt//bbb8e3v/3t+Pjjj1P8WDSBzp07xx577JEbz5s3L+6///6NHnfPPffEggUL1tq+qTXnzTffjH/+85+5cffu3WO//fbbpLloeZz7SEmegGKnThU3zRIFUF1dnTduaHdP3f2XL1/e6DXRcskTqckUqckUqckUqckUUMzUKAqhpqYm7rrrrhg8eHBcffXVsWLFig3u36lTp/jtb38bDz30UHz/+9+PAw88MLp16xbl5eWxxRZbRI8ePeLoo4+OW2+9NW655Zbo2LFj7tgZM2bE5ZdfXugfiYS+9a1v5Y2vueaaeOmll9a7//jx4+P6669f5/c2tebUvavEV7/61SgpKdmkuWh5nPtISZ6AYqdOFTfNEgVQt8NnzWfv1UfdC1i3Usk2eSI1mSI1mSI1mSI1mQKKmRrFpthpp51i6tSpuX+vvvpq/PWvf41bbrkljj322NwjFVauXBl33HFHnHnmmRtsmGjfvv1aj2dYn0GDBsVNN90UrVr939N9H3300Zg2bVrjfiiazJe+9KX4/Oc/nxsvXbo0hg0bFldffXW88cYbsWLFili+fHlMmTIlrrjiivj2t78d1dXV0bp167VqVkVFRYNff/Xq1fHQQw/lxiUlJR7BkTHOfaQkT0CxU6eKm2aJAqh7kVC3Y2hj6nYENfTZNWxe5InUZIrUZIrUZIrUZAooZmoUKbRp0yYqKytj0KBBMWrUqPj9738f2267be77zz33XNx4443JXu9zn/tcHHfccblxbW1t/OlPf0o2P4VVUlIS11xzTey22265bZ821nz1q1+NPfbYI/r37x9DhgyJX//617k39EeOHJlXs0pKSqJ9+/YNfv3nnnsu5s6dmxsPGDAgtt9++0b8RLQ0zn2kJE9AsVOniptmiQKoG/qlS5c26Pg1nzXTqlWrBj+7hs2LPJGaTJGaTJGaTJGaTAHFTI2iEPr27Ru33npr7g4TERFjxoyJBQsWJHuN//f//l/eePz48cnmpvC22mqruOeee2Lo0KFRWrrht4g7deoU1113XRx77LF5NadDhw4bPXZdHnjggbyxu0pkj3MfKckTUOzUqeKmWaIAunXrljeuqqqq97G1tbUxe/bs9c5F9sgTqckUqckUqckUqckUUMzUKAqlT58+cdRRR+XG1dXV8fTTTyeb/zOf+UxeM8YHH3yQbG6aRrt27eKqq66Khx56KL7zne/EHnvsEZ07d47WrVtHly5dYq+99orzzz8//vSnP8VRRx0VixcvzrsN9E477dTg11y0aFE8+eSTuXHbtm3jyCOPTPLz0HI495GSPAHFTp0qbq02vgsN1bt377xxQy4W582bl/esml69eiVbFy2TPJGaTJGaTJGaTJGaTAHFTI2ikA444IB48MEHc+OpU6cmm7u0tDQ6deqUe5zCxx9/nGxumlafPn3i3HPPjXPPPXeD+02bNi1vvMceezT4tR599NG8W0kffvjhm/QoD1o25z5Skieg2KlTxc2dJQqgW7du0aFDh9x4ypQp9T729ddfzxtvSoc2mxd5IjWZIjWZIjWZIjWZAoqZGkUhdenSJW+8ePHipPOv+bxltwPe/NWtOXvuuWeD56j7CI5jjz22MUuihXLuIyV5AoqdOlXcNEsUyIABA3Jfz5s3L9577716HTdp0qS88cCBA5Oui5ZJnkhNpkhNpkhNpkhNpoBipkZRKHWbI7bccstkc3/88cexaNGi3Lhz587J5qY4Pf7447mvKyoq4pBDDmnQ8e+88068/PLLufF2220X++23X7L10bI495GSPAHFTp0qXpolCuTQQw/NG//pT3+q13FrXnSUl5fHgQcemHRdtEzyRGoyRWoyRWoyRWoyBRQzNYpCqftJtG233TbZ3M8++2zeuG/fvsnmpvi8/fbb8dJLL+XGRx99dLRr165Bc9S9q8RXv/rVKCkpSbE8WiDnPlKSJ6DYqVPFS7NEgQwePDhat26dG99///15z5RZl/Hjx8c777yTGw8aNCgqKioKtkZaDnkiNZkiNZkiNZkiNZkCipkaRSFUV1fHww8/nLftgAMOSDL3ypUr49Zbb83bdtBBByWZm+J0xRVXRE1NTUREtG7d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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 796,
       "width": 1061
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_astable(digit)"
   ]
  },
  {
   "cell_type": "code",
chadhat's avatar
chadhat committed
   "execution_count": 5,
   "metadata": {},
chadhat's avatar
chadhat committed
   "outputs": [
    {
     "data": {
      "image/png": "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PQAA0FuLi4s1NzdX8/Pztbi4WJ1Op7Zs2VLDw8P10EMP1ebNm5seEQDoMXEAiHPu3Ln64Ycf6vjx43X8+PE6ceJEtVqt7usjIyP15ZdfNjghXFvtdru+/fbbmpqaqm+++abm5ub+9t4NGzbUI488UhMTEzU2NtbDKWFtcmYAKcQBIMbhw4fryJEj9eOPP1a73W56HOiZJ554oubn56/o3k6nU9PT0zU9PV3j4+M1OTlZN9988ypPCGuPMwNIIw4AMY4dO/aPfzGF9ers2bMr1u66667avn173XLLLTUwMFALCwv19ddf18LCQveezz77rE6fPl3vvfdeDQwM9HJkaJwzA0gjDgDRbrrppnrggQfq5MmTtbS01PQ4sKpGRkZq7969tWfPnrrttttWvH7x4sX6+OOP6/XXX68///yzqqpmZmbqrbfeqpdffrnX48Ka48wA1jNxAIgxMDBQ27dvr23bttW2bdtq69atde+991ZfX189/vjj3uixbg0PD9czzzxTTz75ZPX39//tff39/fXUU0/V8PBwHThwoPso9UcffVQTExN166239mpkaJwzA0gjDgAx3nzzzaZHgEYcOXKkNm688iN/bGysxsfH6+jRo1VVdf78+friiy/q6aefXq0RYc1xZgBp+poeAABYXVcTBv4yPj6+7PrEiRPXahwAYA0SBwCAFe64445l12fOnGloEgCgF8QBAGCFc+fOLbv+N08fAADXD3EAAFhhdnZ22fXlvt0AAFg/xAEAYIVPP/102fXDDz/c0CQAQC+IAwDAMjMzMzUzM9O93rx5cz366KMNTgQArDZxAADoWlpaqldffXXZ2rPPPlubNm1qaCIAoBfEAQCg67XXXquff/65e33PPffUvn37mhsIAOgJcQAAqKqqw4cP1yeffNK9vvHGG+vQoUM1MDDQ4FQAQC+IAwBAff755/XGG28sW5ucnKytW7c2NBEA0EviAACEm56eroMHD1a73e6uvfTSS7Vnz54GpwIAemlj0wMAXKlWq1W7du26onunpqZqZGRklSeC69/3339fL7zwQp0/f7679vzzz9f+/fsbnAr+d84MgKsjDgDXjU6nUxcvXrzie4F/Njc3V/v376+lpaXu2t69e+vgwYMNTgXXhjMD4Or4WAEABPrll1/queeeq8XFxe7a7t27a3JysrmhAIDGeHIAuG6M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Ye1xZgBpxAEgxrFjx/7xL6awXp09e3bF2l133VXbt2+vW265pQYGBmphYaG+/vrrWlhY6N7z2Wef1enTp+u9996rgYGBXo4MjXNmAGnEASDaTTfdVA888ECdPHmylpaWmh4HVtXIyEjt3bu39uzZU7fddtuK1y9evFgff/xxvf766/Xnn39WVdXMzEy99dZb9fLLL/d6XFhznBnAeiYOADEGBgZq+/bttW3bttq2bVtt3bq17r333urr66vHH3/cGz3WreHh4XrmmWfqySefrP7+/r+9r7+/v5566qkaHh6uAwcOdB+l/uijj2piYqJuvfXWXo0MjXNmAGnEASDGm2++2fQI0IgjR47Uxo1XfuSPjY3V+Ph4HT16tKqqzp8/X1988UU9/fTTqzUirDnODCBNX9MDAACr62rCwF/Gx8eXXZ84ceJajQMArEHiAACwwh133LHs+syZMw1NAgD0gjgAAKxw7ty5Zdf/5ukDAOD6IQ4AACvMzs4uu77ctxsAAOuHOAAArPDpp58uu3744YcbmgQA6AVxAABYZmZmpmZmZrrXmzdvrkcffbTBiQCA1SYOAABdS0tL9eqrry5be/bZZ2vTpk0NTQQA9II4AAB0vfbaa/Xzzz93r++5557at29fcwMBAD0hDgAAVVV1+PDh+uSTT7rXN954Yx06dKgGBgYanAoA6AVxAACozz//vN54441la5OTk7V169aGJgIAekkcAIBw09PTdfDgwWq32921l156qfbs2dPgVABAL21segCAK9VqtWrXrl1XdO/U1FSNjIys8kRw/fv+++/rhRdeqPPnz3fXnn/++dq/f3+DU8H/zpkBcHXEAeC60el06uLFi1d8L/DP5ubmav/+/bW0tNRd27t3bx08eLDBqeDacGYAXB0fKwCAQL/88ks999xztbi42F3bvXt3TU5ONjcUANAYTw4A143R0dGanZ1tegy47v322281MTFRp0+f7q6NjY3VoUOHqq/P3w1YH5wZAFfHOwAACHL27NmamJioVqvVXdu5c2e9/fbbdcMNNzQ4GQDQJHEAAEL8/vvvtW/fvvrpp5+6aw8++GC98847NTAw0OBkAEDTxAEACPDHH3/UgQMH6uTJk921++67r959993atGlTg5MBAGuBOAAA69yFCxfqxRdfrGPHjnXX7r777nr//fdry5YtDU4GAKwV4gAArGOdTqdeeeWV+uqrr7pro6Oj9eGHH9bg4GBzgwEAa4pvKwBitFqt2rVr12Vfu/S7sFutVt1///2Xve+DDz6onTt3rsp8sBp+/fXXOnr06Iq1xx577Kp+zsjISE1NTV3L0WBNc2YAacQBIEan01n2hu6f/N19nU7nWo4Eq+5yv7Ptdvuqf86V7h1YL5wZQBofKwAAAIBwnhwAYoyOjtbs7GzTY0BP+b2Hf8feAdJ4cgAAAADCiQMAAAAQThwAAACAcOIAAAAAhBMHAAAAIJw4AAAAAOHEAQAAAAgnDgAAAEA4cQAAAADCiQMAAAAQThwAAACAcOIAAAAAhBMHAAAAIJw4AAAAAOHEAQAAAAgnDgAAAEA4cQAAAADCiQMAAAAQThwAAACAcOIAAAAAhBMHAAAAIJw4AAAAAOHEAQAAAAgnDgAAAEA4cQAAAADCiQMAAAAQThwAAACAcOIAAAAAhBMHAAAAIJw4AAAAAOHEAQAAAAgnDgAAAEA4cQAAAADCiQMAAAAQThwAAACAcOIAAAAAhBMHAAAAIJw4AAAAAOHEAQAAAAgnDgAAAEA4cQAAAADCiQMAAAAQThwAAACAcOIAAAAAhBMHAAAAIJw4AAAAAOHEAQAAAAgnDgAAAEA4cQAAAADCiQMAAAAQThwAAACAcOIAAAAAhBMHAAAAIJw4AAAAAOHEAQAAAAgnDgAAAEA4cQAAAADCiQMAAAAQThwAAACAcOIAAAAAhBMHAAAAINzGpgeAFKdOnaodO3Y0PQasGe12u6rsDbiUfQGXd+rUqaZHgHVPHIAeabfbtbCw0PQYsObYG7CSfQFAr4kDsMqGhoaaHgHWpDNnzlS73a7+/v4aHBxsehxYE+wL+GfeV8Hq2dDpdDpNDwEAAAA0x/+QEAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAg3P8DnrI3wp2+wEcAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 389,
       "width": 515
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Vertical edge detection\n",
    "vertical_edge_kernel = np.array([[-1, 2, -1], [-1, 2, -1], [-1, 2, -1]])\n",
    "plot_astable(vertical_edge_kernel, 0.2)"
   ]
  },
  {
   "cell_type": "code",
chadhat's avatar
chadhat committed
   "execution_count": 6,
   "metadata": {},
chadhat's avatar
chadhat committed
   "outputs": [
    {
     "data": {
      "image/png": "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SrS2tlY9QiU6dOhQ9QjtrmPH3fP3ak1Nu+ePx549e1Y9Qru74447qh6hEkcffXTVI1Rid/w+vnr16qpHaDdr165tk9fdPX8SAgAA7ADBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAQcME00UXXZT3v//9tX9uvPHGqkcCAADqXEME04wZMzJt2rSqxwAAABpM3QdTS0tLLr/88iRJ165dK54GAABoJHUfTFdffXUWLVqU/v375wtf+ELV4wAAAA2kroPpkUceyeTJk5Mkl19+ebp161bxRAAAQCOp22BatWpVLrvssrS2tmbUqFH5xCc+UfVIAABAg6nbYLr22mvz8ssvp2fPnrn00kurHgcAAGhAdRlMs2fPzp133pkk+fKXv5x999234okAAIBGVHfBtGbNmlxyySXZsGFDhg8fnr/5m7+peiQAAKBB1V0wXX/99VmwYEH22GOPjB8/vupxAACABlZXwfTkk0/mtttuS5KMHTs2AwYMqHYgAACgodVNMK1duzaXXnpp1q9fnyFDhuTv//7vqx4JAABocHUTTN/97nczb968dOrUKd/85jfTqVOnqkcCAAAaXF0E07PPPptbb701STJmzJgMGTKk4okAAIDdQVPVA+yIqVOn5s0330zHjh3T3Nycm2++eavrZs2atcX2pnUDBw7MiSee2C6zAgAAjaMugqm1tTVJsmHDhtxyyy079JyZM2dm5syZSZIRI0YIJgAAYKfVxSl5AAAAVaiLI0yXXnppLr300u2uu/HGG3PTTTclSc4999yMHTu2rUcDAAAamCNMAAAABYIJAACgQDABAAAUCCYAAICCurjow44aO3asCz0AAAC7jCNMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABU1VD9DIWlpasnTp0qrHaDd777131SO0uzfffLPqESrR2tpa9QiVWLduXdUjQJvq2rVr1SO0uwcffLDqESrx9a9/veoRKrFw4cKqR6AOOcIEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAVNVQ/QyFpbW9Pa2lr1GO3mQx/6UNUjtLsXXnih6hEqsXr16qpHqERT0+73LbNTp05Vj1CJvffeu+oRKrFixYqqR2h3zz33XNUjVGLEiBFVj1CJmTNnVj1Cu+vQoUPVI9Q9R5gAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAVNVQ/wp5g7d27uvffePPLII/n973+flpaW7LPPPunTp0+OOOKIDBs2LCNHjkynTp2qHhUAAKhDdRlMLS0t+da3vpVp06altbV1i8dee+21vPbaa3n66adz5513ZtasWdlrr70qmhQAAKhndRdMS5cuzZlnnpk5c+YkSfr165dPfvKTef/7358ePXpkxYoVeemll/Lwww/n6aefrnhaAACgntVdMF144YW1WDrjjDNy3nnnpUuXLm9bd8EFF+TVV19N165d23tEAACgQdRVME2dOjW//vWvkyR/+7d/m6985SvbXN+vX7/2GAsAAGhQdXWVvFtvvTVJ0rVr14wbN67iaQAAgEZXN8H0+OOPZ/78+UmSESNGpHv37hVPBAAANLq6OSVv1qxZte0PfehDSZL7778/d999d+bOnZtly5alZ8+eOeyww3LCCSfkM5/5TJqa6ubLAwAA3oXqpig2XeghSXr37p2xY8fm/vvv32LN4sWLM2PGjMyYMSO33XZbbr755hxwwAHtPSoAANAg6iaYFi9eXNu+4YYbsmDBgjQ3N+ezn/1shg4dmqampjz77LOZMmVKli5dmnnz5uX000/P1KlT07Nnz+oGBwAA6lbdBNOyZctq2wsWLMjee++d2267LYcddljtz//qr/4qY8aMyZgxY/LCCy/klVdeyXXXXZfx48dXMTIAAFDn6uaiD62trVvsf/nLX94iljbp06dPrr322tr+tGnT0tLS0ubzAQAAjadugqlbt2617a5du+av//qvi2sPOeSQHHHEEUmStWvX5vHHH2/r8QAAgAZUN8G011571bYHDx6czp07b3P94YcfXtt++eWX22wuAACgcdVNMB100EG17R25B9Pma5ySBwAAvBN1E0yHHHJIbXtHAmjzNT169GiTmQAAgMZWN8H0sY99LB06dEiSzJs3L2vXrt3m+s3v2zRw4MA2nQ0AAGhMdRNM++23Xz7ykY8kSVauXJl77rmnuPbZZ5/NE088kWTjxSI+/OEPt8eIAABAg6mbYEqSCy64oLZ99dVXZ+7cuW9b8/rrr2fcuHG1/dGjR2ePPfZol/kAAIDGUjc3rk2SI488Mv/wD/+QW2+9NcuWLcvnP//5nHTSSRk6dGiampryzDPPZMqUKVm6dGmSjVfKO+ecc6odGgAAqFt1FUxJMm7cuHTq1Cm33npr3nzzzUyePDmTJ09+27pjjz021113Xbp06VLBlAAAQCOou2BKkvPPPz8nnnhipkyZkocffjivvvpq1q1bl969e+fII4/MZz7zmXz84x+vekwAAKDO1WUwJRsvM/7Vr3616jEAAIAGVlcXfQAAAGhPggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKCgqeoBGllzc3M6d+5c9Rjt5tBDD616hHb38ssvVz0C7ai1tbXqEdrdhg0bqh6hEj169Kh6hEosWrSo6hHaXffu3aseoRL77rtv1SNUYunSpVWP0O46dtx9jo+01de6+/wvCAAAsJMEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABU1VD9DI1q5dm9WrV1c9Rrs55JBDqh6h3f3+97+vegTaUXNzc9UjtLsOHTpUPUIl9t1336pHqMSsWbOqHqHdde3ateoRKrFhw4aqR6jEunXrqh6h3e2u38d3JUeYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFTVUPsLMWLlyYKVOmZObMmZk/f35aWlrSuXPn9OrVK4ceemhGjhyZUaNGpbm5uepRAQCAOldXwTRx4sRcd911Wbt27RZ/vm7duqxcuTILFy7M//2//zff/e53c8MNN2Tw4MEVTQoAADSCugmmH/7wh7nqqqtq+0ceeWSOO+649O/fPy0tLXnhhRcyderUrFy5MgsWLMhpp52We++9N3369KlwagAAoJ7VRTCtXr061113XW3/iiuuyMknn/y2dV/84hdz+umnZ968efnDH/6Qf//3f8/FF1/cnqMCAAANpC4u+jB79uysWLEiSfKBD3xgq7GUJL169cqFF15Y2581a1a7zAcAADSmugimN954o7Z94IEHbnPt5o+vXLmyzWYCAAAaX10EU+/evWvbL7744jbXbv74+973vjaaCAAA2B3URTANHTo0++yzT5Jkzpw5ufvuu7e6bsmSJbXPOnXs2DFjxoxprxEBAIAGVBcXfejSpUu+8Y1v5IILLsi6devy1a9+NVOnTt3iKnnPP/98pk2blhUrVqRr16751re+laFDh1Y9OgAAUMfqIpiS5IQTTsjEiRMzfvz4PP/885k9e3Zmz569xZrm5uacffbZOeWUU9K/f/+KJgUAABpFXZySt8lHPvKRXHbZZTnssMO2+vibb76ZSZMmZeLEiVm9enU7TwcAADSaujnCtGTJkpx33nmZOXNm9t5771x88cUZMWJE9ttvv6xevTpz5szJxIkTM2PGjNx+++35n//5n3zve9+rffYJAABgZ9XFEaZVq1bl1FNPrcXS5MmTM2bMmBxwwAFpbm5Ojx49Mnz48Hzve9/LqaeemiR58sknc8UVV1Q8OQAAUM/qIpgmTZqU+fPnJ0nOOOOMvPe97y2uHTduXPbaa68kyX/+539m8eLF7TEiAADQgOoimP77v/+7tn3MMcdsc23Xrl1z5JFHJkk2bNiQp556qi1HAwAAGlhdBNNrr71W2+7Ro8d212++ZuXKlW0yEwAA0PjqIpi6detW2160aNF21//ud7+rbffs2bMtRgIAAHYDdRFMgwcPrm3fe++921z70ksv5cknn0ySdOzYMYcffnibzgYAADSuugimT3/607XtqVOn5u67797qusWLF+e8887LunXrkiR/+Zd/6QgTAADwjtXFfZiOPfbYnHDCCfnFL36R1tbWfPWrX80999yTESNGpF+/flmzZk3mzJmT6dOn549//GOSjafiXXTRRRVPDgAA1LO6CKYkueaaa9K9e/f85Cc/SZI8+uijefTRR7e6duDAgZkwYUIOPPDA9hwRAABoMHUTTJ07d86VV16Z0aNHZ+rUqZk9e3YWLlyYlpaWNDc3p1evXjn88MMzYsSInHjiiencuXPVIwMAAHWuboJpk0MPPTSXXnpp1WMAAAC7gbq46AMAAEAVBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAEBBU9UDNLKVK1dm+fLlVY/Rbvbcc8+qR6CddOjQoeoRaCfr1q2reoRKNDXtnj8eV6xYUfUI7a5jx93zd8edOnWqegSoG7vndwkAAIAdIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAVNVQ8AwLtXa2tr1SNUYvny5VWPUIm999676hHa3R577FH1CJVYsWJF1SNUokOHDlWP0O52p+/jbfW1OsIEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAEBBU1u++Pr16/Ob3/wmc+bMydNPP505c+bk2WefzerVq5MkJ510Uq666qqdes2XXnopd911Vx566KEsWrQoGzZsSN++fXP00Ufn85//fA499NC2+FIAAIDdUJsG03nnnZf7779/l73ej3/841x55ZW14NrkxRdfzIsvvpgf//jHOeecc3Luuefusn8nAACw+2rzI0yb69mzZ3r27JkXX3xxp19r+vTp+drXvpYk6dixY0aNGpXhw4enqakps2fPzrRp07J27drceOON6dy5c84666xd8SUAAAC7sTYNpg9+8IM5+OCDM2TIkAwZMiQHHHBApk6dmosvvninXmfJkiUZP358ko2xdNNNN2XEiBG1xz/72c/mc5/7XMaMGZNVq1bl+uuvz/HHH5+DDjpol349AADA7qVNL/pw9tln58ILL8ynPvWpHHDAAe/4db7//e+npaUlSXLqqaduEUubHHHEEfnSl76UJFm3bl3+7d/+7R3/+wAAAJI6uUrez3/+89r26aefXlx38sknp2vXrkmSBx544G2fdQIAANgZ7/pgeuGFF/LKK68kSQ4++OBtHqnq3r17hg4dmiRZuXJlHn300XaZEQAAaEzv+mCaN29ebfsD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DBs2LEOGDNnquk6dOmX06NG1/Z/97GftMh+7Vs+ePXdo3SGHHJKBAwcmSVatWpWXXnqpDaeiPaxatSqXXXZZWltbM2rUqHziE5+oeiR2oVtvvTXJxtMsx40bV/E0tJU33nijtn3ggQduc+3mjzv1tnH9/Oc/r22ffvrpxXUnn3xyunbtmiR54IEHip91on0Ipjrz4IMP1rY/9rGPbXPt5o9v/jwa0+ZXRNyRi0Tw7nbttdfm5ZdfTs+ePXPppZdWPQ670OOPP5758+cnSUaMGOFqpg1s88+Tbu+zLps//r73va+NJqJKL7zwQl555ZUkycEHH7zNI1Xdu3fP0KFDk2wM6EcffbRdZmTrBFOd2XR+c7Lx8P629OnTJ/3790+SvP7661myZEmbzkZ11q5du8UPW1fKq2+zZ8+ufe7wy1/+8lZPu6V+bX661Yc+9KEkyf33359/+Id/yDHHHJPDDz88xx57bM4666z85Cc/ybp166oalT/R0KFDs88++yRJ5syZk7vvvnur65YsWZLrrrsuycaLAIwZM6a9RqQd7cx7uLeu2fy5tD8nRNeZTR/sT5L9999/u+v333//LFq0KEkyf/789OrVq81mozr33Xdfli9fniQZMmSIqyvVsTVr1uSSSy7Jhg0bMnz48PzN3/xN1SOxi226Kl6y8QjE1i5XvHjx4syYMSMzZszIbbfdlptvvvlP+twE1ejSpUu+8Y1v5IILLsi6devy1a9+NVOnTt3iKnnPP/98pk2blhUrVqRr16751re+VTuyQGPZdGQ52fH3cJts/v6P9ieY6symN8VJar+12pbNPwOz+XNpHEuWLMk111xT2//Hf/zHCqfhT3X99ddnwYIF2WOPPTJ+/Piqx6ENbPocapLccMMNWbBgQZqbm/PZz342Q4cOTVNTU5599tlMmTIlS5cuzbx583L66adn6tSpO/y5Rt49TjjhhEycODHjx4/P888/n9mzZ2f27NlbrGlubs7ZZ5+dU045pXZmCI3He7j65ZS8OrP5B0G3dUWlra3ZdKUeGsfatWszduzY2geLjz/++IwcObLiqXinnnzyydx2221JNt4kccCAAdUORJtYtmxZbXvBggXZe++9M3ny5FxxxRU56aST8ld/9Vf553/+59x3330ZNGhQko23D9h0yhb15yMf+Uguu+yyHHbYYVt9/M0338yk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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 417,
       "width": 422
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "\n",
    "\n",
    "def convolution(matrix, kernel):\n",
    "    # This function computes a convolution between a matrix and a kernel/filter without any padding\n",
    "    width_kernel = kernel.shape[0]\n",
    "    height_kernel = kernel.shape[1]\n",
    "    convolution = np.zeros(\n",
    "        (matrix.shape[0] - width_kernel + 1, matrix.shape[1] - height_kernel + 1)\n",
    "    )\n",
    "    for i in range(matrix.shape[0] - width_kernel + 1):\n",
    "        for j in range(matrix.shape[1] - height_kernel + 1):\n",
    "            convolution[i, j] = np.sum(\n",
    "                np.multiply(matrix[i : i + width_kernel, j : j + height_kernel], kernel)\n",
    "            )\n",
    "    return convolution\n",
    "\n",
    "\n",
    "vertical_detect = convolution(digit, vertical_edge_kernel)\n",
    "plt.imshow(vertical_detect, cmap=\"gray_r\");"
   ]
  },
  {
   "cell_type": "code",
chadhat's avatar
chadhat committed
   "execution_count": 7,
   "metadata": {},
chadhat's avatar
chadhat committed
   "outputs": [
    {
     "data": {
      "image/png": "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QDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQDhxAAAAAMKJAwAAABBOHAAAAIBw4gAAAACEEwcAAAAgnDgAAAAA4cQBAAAACCcOAAAAQLj/AW1REkEpXhX9AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 389,
       "width": 515
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Horizontal edge detection\n",
    "horizontal_edge_kernel = np.array([[-1, -1, -1], [2, 2, 2], [-1, -1, -1]])\n",
    "plot_astable(horizontal_edge_kernel, 0.2)"
   ]
  },
  {
   "cell_type": "code",
chadhat's avatar
chadhat committed
   "execution_count": 8,
   "metadata": {},
chadhat's avatar
chadhat committed
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0wAAANCCAYAAABVl0zHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAB7CAAAewgFu0HU+AAA4hElEQVR4nO39fbBV9X33/7+AAygCIgiIVRQleINJNTRU1CSNSBOZtInpmNg6KNWpY4003nBFjTEmxBhrVeJNjROvFDWRGCRQxCRTr8SWGMdBlFpFg2i4qRhUBFEPILfn9wc/9heUDzeGc5Z783jMOLPWOZ+9ee9RD+t51tprt2tpaWkJAAAA79G+6gEAAAA+qAQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUNBU9QCNZMmSJXn44Ydr+/3798/ee+9d4UQAALBnWL16df73f/+3tn/yySenX79+f/TzCqbd6OGHH864ceOqHgMAAEhy5pln/tHP4ZI8AACAAsEEAABQ4JK83ejggw/ean/kyJHp27dvRdMAADvSpUuXqkeoRFOTQ8A9xapVq6oeoc288sormT59em3/3cfm75f/W3ajd//Q7du3bw455JCKpgEAdqRbt25Vj1CJjh07Vj0CbeTtt9+ueoTK7K5fiLgkDwAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoKCp6gHej1//+teZNm1a5syZk6VLl6Zr16455JBDcsopp+SMM85I165dqx4RAABoAHUVTCtXrszYsWPz8MMPb/X15cuXZ/ny5fnv//7v/PjHP873vve9HHvssdUMCQAANIy6CaYNGzbkK1/5Sh555JEkyf7775/TTz89AwcOzJtvvpkHH3wws2fPzpIlS3LeeeflJz/5SQ4//PCKpwYAAOpZ3QTT/fffX4ulgQMH5u67787+++9f+/6ZZ56Zf/7nf86//du/5c0338w3vvGN3HvvvVWNCwAANIC6uOnDhg0bctttt9X2r7/++q1iabOxY8fmqKOOSpI88cQT+e1vf9tmMwIAAI2nLoJp1qxZWbp0aZJk6NChGTx48DbXdejQIaNGjart//znP2+T+QAAgMZUF8H0m9/8prb9iU98Yrtrt/z+lo8DAADYVXURTPPmzattf/jDH97u2t69e6dfv35Jktdffz3Lly9v1dkAAIDGVRfBtGDBgtr2QQcdtMP1W66ZP39+q8wEAAA0vroIprfffru2vd9+++1wfY8ePbb5WAAAgF1RF8G0atWq2nbnzp13uH7LNStXrmyVmQAAgMZXF8EEAABQhboIpi5dutS216xZs8P1W67ZZ599WmUmAACg8dVFMHXr1q22/cYbb+xw/YoVK7b5WAAAgF1RF8E0YMCA2vbixYt3uH7LNYcddlirzAQAADS+ugimQYMG1bafeeaZ7a59/fXXs2TJkiRJr1690rNnz1adDQAAaFx1EUwf//jHa9u/+c1vtrt2xowZte1PfvKTrTYTAADQ+OoimIYOHZrevXsnSR5//PE8++yz21y3YcOG/OhHP6rtjxw5sk3mAwAAGlNdBFOHDh1ywQUX1PYvu+yyLFu27D3rbrjhhvzud79Lknz0ox/d6swUAADArmqqeoCd9cUvfjG/+tWv8uijj+aFF17I5z73uZx++ukZOHBgVqxYkZ///Od58sknkyTdu3fPuHHjKp4YAACod3UTTE1NTbnlllsyduzY/Od//meWLl2a22+//T3rDjjggIwfPz4f+tCHKpgSAABoJHUTTEnStWvX3HHHHfnVr36VadOm5ZlnnsmyZcuyzz77pH///hkxYkTOOOMMn70EAADsFnUVTJudcsopOeWUU6oeAwAAaHB1cdMHAACAKggmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAgqaqB2hkPXr0yP7771/1GG2mffs9r79bWlqqHqESy5Ytq3qESmzcuLHqEaBVtWvXruoR2tzatWurHqESa9asqXoE2sie9N/4+vXrW+V597wjXAAAgJ0kmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKGiqeoBGtmLFiixdurTqMdrMxo0bqx6hze2JrzlJ2rffM3/X0tS05/3IbNeuXdUjVKKlpaXqESrRvXv3qkdocytWrKh6hEqsXLmy6hEq8fbbb1c9Qpvbd999qx6hzaxZs6ZVnnfPPOoBAADYCYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFDQVPUAu6K5uTmPPvpoZs6cmeeeey4LFy7M22+/nc6dO6dPnz75yEc+ks9+9rP5+Mc/nnbt2lU9LgAAUOfqJpgmTJiQ8ePHZ82aNe/53vr167NgwYIsWLAg06ZNy5/92Z/lX/7lX3LggQdWMCkAANAo6iaYFixYUIulvn375oQTTsjgwYPTq1evrFmzJk899VQeeOCBrFq1Kk888URGjRqVSZMmpVevXhVPDgAA1Ku6CaZ27drlpJNOyjnnnJNhw4alffut33512mmn5bzzzsu5556bBQsWZPHixbnhhhvy3e9+t6KJAQCAelc3N324+OKL88Mf/jAnnnjie2Jpsz/5kz/J9773vdr+L3/5y6xevbqNJgQAABpN3QRTjx49dmrdkUcemQEDBiRJVq9enUWLFrXiVAAAQCOrm2DaFV27dq1tb+smEQAAADuj4YJp7dq1WbhwYW3fnfIAAID3q+GC6cEHH8zbb7+dJBk8eHB69+5d8UQAAEC9aqhgWr58eW644Yba/j/+4z9WOA0AAFDvGiaY1q5dmzFjxmTZsmVJklNOOSUjRoyoeCoAAKCeNUQwbdy4MV/72tfyxBNPJEn69++fa6+9tuKpAACAelf3wdTS0pKrr74606dPT7LpJg8TJkzIvvvuW/FkAABAvavrYGppack3v/nNTJo0KUlywAEH5O67785BBx1U8WQAAEAjqNtgamlpybe+9a3cd999SZK+ffvmnnvuSf/+/SueDAAAaBR1GUybY+knP/lJkqRPnz655557csghh1Q8GQAA0EjqLpjeHUu9e/fOPffck0MPPbTawQAAgIZTd8E0bty498TSgAEDKp4KAABoRHUVTN/+9rczceLEJP9fLB122GEVTwUAADSqpqoH2Fnjx4/Pj3/84yRJu3btctZZZ2X+/PmZP3/+dh939NFH58ADD2yLEQEAgAZTN8E0e/bs2nZLS0tuvPHGnXrcd7/73XzhC19orbEAAIAGVleX5AEAALSlujnD9KMf/ajqEQAAgD2MM0wAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFTVUP0MjWr1+fdevWVT0GrWhP/ffbtWvXqkeoREtLS9UjtLmNGzdWPQJtaMWKFVWP0ObWrFlT9QiV2FN/ju+Jr3vvvfeueoQ289Zbb7XK8zrDBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFTVUP0Mg2btyYjRs3Vj1Gm2lpaal6hDbXrl27qkeoxPr166seoRJNTXvej8zOnTtXPUIl9ttvv6pHqESHDh2qHqHNvfHGG1WPUIkVK1ZUPUIl1q1bV/UIbW5POj5bs2ZNqzyvM0wAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgIKGCabLL788RxxxRO2fW2+9teqRAACAOtcQwTRjxoxMnTq16jEAAIAGU/fB1NzcnKuvvjpJ0qVLl4qnAQAAGkndB9P111+fJUuWpF+/fvnSl75U9TgAAEADqetgeuyxxzJp0qQkydVXX5199tmn4okAAIBGUrfBtHr16lx11VVpaWnJyJEj86lPfarqkQAAgAZTt8F044035qWXXkqPHj1y5ZVXVj0OAADQgOoymGbPnp177703SfLVr341+++/f8UTAQAAjajugmnNmjX52te+lo0bN2bYsGH5m7/5m6pHAgAAGlTdBdPNN9+cBQsWZK+99sq4ceOqHgcAAGhgdRVMTz/9dO66664kyZgxY9K/f/9qBwIAABpa3QTT2rVrc+WVV2bDhg0ZPHhw/v7v/77qkQAAgAZXN8H0/e9/P/PmzUuHDh3y7W9/Ox06dKh6JAAAoMHVRTDNnTs3d955Z5Jk9OjRGTx4cMUTAQAAe4KmqgfYGVOmTMm6devSvn37dOzYMbfffvs2182aNWur7c3rBgwYkFNPPbVNZgUAABpHXQRTS0tLkmTjxo254447duoxM2fOzMyZM5Mkw4cPF0wAAMAuq4tL8gAAAKpQF2eYrrzyylx55ZU7XHfrrbfmtttuS5JceOGFGTNmTGuPBgAANDBnmAAAAAoEEwAAQIFgAgAAKBBMAAAABXVx04edNWbMGDd6AAAAdhtnmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAqaqh6gke21117p0qVL1WO0mT59+lQ9Qps74ogjqh6hEr169ap6hEp07ty56hHa3Nq1a6seoRJz586teoRKPPXUU1WP0OaWLVtW9QiV2GuvvaoeoRI9e/aseoQ2t3HjxqpHqHvOMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAQVPVAzSyF154IW+88UbVY7SZ1157reoR2tzy5curHqESe9J/11t6/vnnqx6hzb3yyitVj1CJQw45pOoRKjF06NCqR2hzn/rUp6oeoRK9e/eueoRKdOzYseoR2tzq1aurHqHNtGvXrlWe1xkmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAEBBU9UD/DGee+65TJ8+PY899lheeeWVNDc3Z7/99kvv3r1z7LHHZujQoRkxYkQ6dOhQ9agAAEAdqstgam5uzne+851MnTo1LS0tW33vtddey2uvvZZnn3029957b2bNmpXu3btXNCkAAFDP6i6YVqxYkXPPPTdz5sxJkvTt2zd/+Zd/mSOOOCLdunXLypUrs2jRojz66KN59tlnK54WAACoZ3UXTJdeemktls4555xcdNFF6dy583vWXXLJJXn11VfTpUuXth4RAABoEHUVTFOmTMlvf/vbJMnf/u3f5rLLLtvu+r59+7bFWAAAQIOqq7vk3XnnnUmSLl26ZOzYsRVPAwAANLq6CaYnn3wy8+fPT5IMHz48Xbt2rXgiAACg0dXNJXmzZs2qbf/pn/5pkuShhx7K/fffn+eeey5vvvlmevTokaOPPjqf/vSn87nPfS5NTXXz8gAAgA+guimKzTd6SJJevXplzJgxeeihh7Zas3Tp0syYMSMzZszIXXfdldtvvz0HH3xwW48KAAA0iLoJpqVLl9a2b7nllixYsCAdO3bM5z//+QwZMiRNTU2ZO3duJk+enBUrVmTevHk5++yzM2XKlPTo0aO6wQEAgLpVN8H05ptv1rYXLFiQfffdN3fddVeOPvro2tf/6q/+KqNHj87o0aPz4osv5uWXX85NN92UcePGVTEyAABQ5+rmpg8tLS1b7X/1q1/dKpY26927d2688cba/tSpU9Pc3Nzq8wEAAI2nboJpn332qW136dIlf/3Xf11ce+SRR+bYY49NkqxduzZPPvlka48HAAA0oLoJpu7du9e2Bw0alE6dOm13/THHHFPbfumll1ptLgAAoHHVTTAddthhte2d+QymLde4JA8AAHg/6iaYjjzyyNr2zgTQlmu6devWKjMBAACNrW6C6ROf+ETatWuXJJk3b17Wrl273fVbfm7TgAEDWnU2AACgMdVNMB1wwAH52Mc+liRZtWpVHnjggeLauXPn5qmnnkqy6WYRH/3oR9tiRAAAoMHUTTAlySWXXFLbvv766/Pcc8+9Z83rr7+esWPH1vZHjRqVvfbaq03mAwAAGkvdfHBtkhx33HH5h3/4h9x55515880388UvfjGnnXZahgwZkqampvzud7/L5MmTs2LFiiSb7pR3wQUXVDs0AABQt+oqmJJk7Nix6dChQ+68886sW7cukyZNyqRJk96z7qSTTspNN92Uzp07VzAlAADQCOoumJLk4osvzqmnnprJkyfn0Ucfzauvvpr169enV69eOe644/K5z30un/zkJ6seEwAAqHN1GUzJptuMf/3rX696DAAAoIHV1U0fAAAA2pJgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKGiqeoBG9ud//ucZOHBg1WO0mddee63qEdrcokWLqh6hEhs2bKh6hEpcdtllVY/Q5j7ykY9UPUIlunfvXvUIlXj55ZerHqHN7YmvOUmWLl1a9QhQN5xhAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACg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0Jg+8ME0b9682vaHP/zhHa7fcs2WjwUAANhVH/hgmj9/fm37oIMO2uH6LdcsWLCgVWYCAAD2DB/4YHr77bdr2/vtt98O1/fo0WObjwUAANhVH/hgWrVqVW27c+fOO1y/11571bZXrlzZKjMBAAB7hg98MAEAAFTlAx9Mm28TniRr1qzZ4fotbyW+zz77tMpMAADAnuEDH0zdunWrbb/xxhs7XL9ixYptPhYAAGBXfeCD6bDDDqttL168eIfrt1wzYMCAVpkJAADYM3zgg2nQoEG17WeeeWaH67dc86EPfahVZgIAAPYMH/hgGjhwYA488MAkye9///vtnmVauXJlnnzyySTJ3nvvnaFDh7bJjAAAQGP6wAdTkpx66qm17bvuuqu4btKkSbXbkJ988snZe++9W3s0AACggdVFMJ177rm1O97de++9+fWvf/2eNf/zP/+Tm2++OUnS1NSUL3/5y206IwAA0HiaWvPJX3rppUyePHmrrz3//PO17eeeey7jx4/f6vvHH398hg0bttXXevXqlauuuiqXX355Nm7cmAsvvDAjR47MiSeemPbt22f27Nn593//99ptx8eMGZPDDz+8lV4VAACwp2jVYPrDH/6QO+64o/j9559/fquASjadHXp3MCXJaaedltWrV+e6667LmjVr8uCDD+bBBx/cak2HDh1y/vnn5/zzz989LwAAANijtWow7W5/93d/lxNOOCH33XdfHnnkkSxZsiQtLS3p06dPjj/++HzpS1/K0UcfXfWYAABAg2jVYPrzP//z95xB+mMdeuihufzyy3P55Zfv1ucFAAB4t7q46QMAAEAVBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAECBYAIAACgQTAAAAAWCCQAAoEAwAQAAFAgmAACAAsEEAABQIJgAAAAKBBMAAEBBU9UDNLKWlpa0tLRUPUab2ZNeK3umdu3aVT0CbaR3795Vj1CJAw88sOoRaCNr166teoRK7Kmvmz+OM0wAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQIJgAAgALBBAAAUCCYAAAACgQTAABAgWACAAAoEEwAAAAFggkAAKBAMAEAABQ0VT1AI1m1atVW+6+++mpFkwCtoV27dlWPQBvp2LFj1SNUoqnJYcGeYt26dVWPUIk99XXvKd597P3uY/P3y0/G3eill17aav8Xv/hFRZMAAMCe7d3H5u+XS/IAAAAKBBMAAECBS/J2o5NPPnmr/f79+2fvvfeuaBoAANhzrF69Ov/7v/9b23/3sfn71a6lpaVltzwTAABAg3FJHgAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAqaqh6AP86vf/3rTJs2LXPmzMnSpUvTtWvXHHLIITnllFNyxhlnpGvXrlWPyB+pubk5jz76aGbOnJnnnnsuCxcuzNtvv53OnTunT58++chHPpLPfvaz+fjHP5527dpVPS6t5PLLL8/UqVNr+xdeeGHGjBlT4UTsTs8991ymT5+exx57LK+88kqam5uz3377pXfv3jn22GMzdOjQjBgxIh06dKh6VN6nxYsXZ/LkyZk5c2bmz5+f5ubmdOrUKT179sxRRx2VESNGZOTIkenYsWPVo7INGzZsyO9///vMmTMnzz77bObMmZO5c+fmnXfeSZKcdtppue6663bpORctWpT77rsvjzzySJYsWZKNGzemT58+OeGEE/LFL34xRx11VGu8FN6Hdi0tLS1VD8GuW7lyZcaOHZuHH364uKZfv3753ve+l2OPPbbtBmO3mjBhQsaPH581a9bscO2f/dmf5V/+5V9y4IEHtsFktKUZM2bkvPPO2+prgqkxNDc35zvf+U6mTp2aHf11PGvWrHTv3r2NJmN3mjBhQm666aasXbt2u+sGDBiQW265JYMGDWqjydhZY8aMyUMPPVT8/q4G009/+tNce+21teB6tw4dOuSCCy7IhRdeuMuzsvs5w1SHNmzYkK985St55JFHkiT7779/Tj/99AwcODBvvvlmHnzwwcyePTtLlizJeeedl5/85Cc5/PDDK56a92PBggW1WOrbt29OOOGEDB48OL169cqaNWvy1FNP5YEHHsiqVavyxBNPZNSoUZk0aVJ69epV8eTsLs3Nzbn66quTJF26dMmqVasqnojdZcWKFTn33HMzZ86cJJv+H//Lv/zLHHHEEenWrVtWrlyZRYsW5dFHH82zzz5b8bS8Xz/+8Y+3OpA+7rjjcvLJJ6dfv35pbm7Oiy++mClTpmTVqlVZsGBBzjrrrEyfPj29e/eucGrebcOGDVvt9+jRIz169MjChQt3+bmmTZuWb3zjG0mS9u3bZ+TIkRk2bFiampoye/bsTJ06NWvXrs2tt96aTp06vecXZrQ9Z5jq0H333Vc7gBo4cGDuvvvu7L///lut+ed//uf827/9W5JNZx7uvffeNp+TP97VV1+dxYsX55xzzsmwYcPSvv1733b48ssv59xzz82CBQuSJF/4whfy3e9+t61HpZV84xvfyE9/+tP069cvn/nMZzJhwoQkzjA1gnPPPTe//e1vkyTnnHNOLrroonTu3Hmba1999dX06tUrTU1+z1lP3nnnnZxwwglZuXJlkuSaa67J6aef/p51y5cvz9lnn5158+YlSUaPHp0rrriiTWdl++64446sXLkygwcPzuDBg3PwwQdnypQptX9PO3uGafny5RkxYkSam5vTvn373HbbbRk+fPhWa5566qmMHj06q1evTlNTU6ZPn57DDjusVV4XO8dNH+rMhg0bctttt9X2r7/++vfEUpKMHTu2du3rE088UftLmfpy8cUX54c//GFOPPHEbcZSkvzJn/xJvve979X2f/nLX2b16tVtNCGt6bHHHsukSZOSbIrnffbZp+KJ2F2mTJlS+7n8t3/7t7nsssuKsZRsOvsklurP7Nmza7H04Q9/eJuxlCQ9e/bMpZdeWtufNWtWm8zHzjv//PNz6aWX5jOf+UwOPvjg9/08P/zhD9Pc3JwkOfPMM98TS0ly7LHH5itf+UqSZP369fnXf/3X9/3nsXsIpjoza9asLF26NEkydOjQ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Q2sfSvr444/n2Wef3ea6DRs25Ec/+lFtf+TIkW0yH61j3Lhx74klB06N48orr8zzzz+/w38uvPDC2mMuvPDC2tdLl/DxwXTAAQfkYx/7WJJNZxEeeOCB4tq5c+fmqaeeSrLp4PujH/1oW4zIbrLlGYXNN+kpWbRoUZ5++ukkSfv27bd67xqNY8urATZ/jMS2TJo0qXaW8eSTT87ee+/d2qOxHYKpznTo0CEXXHBBbf+yyy6rfQbPlm644Yb87ne/S5J89KMf3erMFPXl29/+diZOnJjk/4sl70eD+nbJJZfUtq+//vo899xz71nz+uuvZ+zYsbX9UaNGbfW5LHzwffazn61tT5kyJffff/821y1dujQXXXRR1q9fnyT5i7/4C2eYGtS5555bO/N477335te//vV71vzP//xPbr755iRJU1NTvvzlL7fpjLxXu5Z3fyAEH3jr16/Peeedl0cffTTJpoPo008/PQMHDsyKFSvy85//vHYat3v37pk4caJrX+vU+PHja+9padeuXS655JKdiqWjjz66dtqfxnHrrbfmtttuS7LpDNOYMWMqnog/xg033FC7O2LHjh1z2mmnZciQIWlqasrvfve7TJ48uXaXrGOOOSYTJ07cqQ+75IPln/7pn/If//Eftf2hQ4dm+PDh6du3b9asWZM5c+Zk2rRpeeutt5JsuhRv0qRJ3p/6AfPSSy9l8uTJW33t+eefz3/+538mSY444oh86lOf2ur7xx9/fIYNG/ae55o6dWouv/zyJJvOJo4cOTInnnhi2rdvn9mzZ+ff//3fa7cdv/jii3P++ee3xktiFwimOtXc3JyxY8fW/kfdlgMOOCDjx493CUcdGzVqVB5//PFdftx3v/vdfOELX2iFiaiSYGo848ePz5133pkNGzYU15x00km56aabfM5anVq7dm2++c1v5mc/+9kO1w4YMCDjx4/PUUcd1QaTsStmzpyZs846a5ces72f0xMnTsx1111X/DymDh065Pzzz88//dM/7fKs7H7uklenunbtmjvuuCO/+tWvMm3atDzzzDNZtmxZ9tlnn/Tv3z8jRozIGWec4Y5KAB9gF198cU499dRMnjw5jz76aF599dWsX78+vXr1ynHHHZfPfe5zbtpT5zp16pRrr702o0aNypQpUzJ79uwsXrw4zc3N6dixY3r27JljjjmmdrfLHX0uF43h7/7u73LCCSfkvvvuyyOPPJIlS5akpaUlffr0yfHHH58vfelLOfroo6sek/8/Z5gAAAAK3PQBAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABYIJAACgQDABAAAUCCYAAIACwQQAAFAgmAAAAAoEEwAAQIFgAgAAKBBMAAAABf8/ivBLFFeCKUEAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 417,
       "width": 422
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "horizontal_detect = convolution(digit, horizontal_edge_kernel)\n",
    "plt.imshow(horizontal_detect, cmap=\"gray_r\");"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Maxpooling\n",
    "Taking maximum in n x n sized sliding windows"
   ]
  },
  {
   "cell_type": "code",
chadhat's avatar
chadhat committed
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "\n",
    "\n",
    "def maxpool_2x2(matrix):\n",
    "    out_dim = np.array([matrix.shape[0] / 2, matrix.shape[1] / 2]).astype(int)\n",
    "    subsample = np.zeros((out_dim))\n",
    "    for i in range(out_dim[0]):\n",
    "        for j in range(out_dim[1]):\n",
    "            subsample[i, j] = np.max(matrix[i * 2 : i * 2 + 2, j * 2 : j * 2 + 2])\n",
    "    return subsample"
   ]
  },
  {
   "cell_type": "code",
chadhat's avatar
chadhat committed
   "execution_count": 10,
   "metadata": {},
chadhat's avatar
chadhat committed
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAzkAAANtCAYAAACzDbX4AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAB7CAAAewgFu0HU+AABdvUlEQVR4nO3deZgU1fk/7IdVZZdVRFFEUUERTQRRjCtxifueKCbRfDULuEcRd03cFaMYNe77vqASE0WjKMoiqIALKoIogo4wIJvMMNPvH7z0bwYGZsDpaTjc93VxXVXTp6ufarqr61N16lStTCaTCQAAgETUzncBAAAA1UnIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcmAtdsstt8TWW28dW2+9ddxyyy35LmeF+vfvn63zmWeeyXc5Sdl7772z7+3XX3+d73JW2dpe/7KeeeaZ7Pr0798/3+Wssfr06ZN9n0aOHJnvctYZI0eOzL7vffr0yXc5NW7hwoVx7733xvHHHx89evSIzp07V/gbuvRvW2+99QqX5TO85qub7wJYXp8+fWLUqFHl/nbrrbfGvvvuW+VlXHPNNXHPPfeU+1vfvn2jX79+1VLjmmrkyJFx4oknrvDxevXqRaNGjWLjjTeObt26xUEHHRQ77bRTDVYIANS02bNnxwknnBCfffZZvkuhhjiTs5YYPHhwlduWlJTECy+8kMNq1l7FxcVRWFgYH374YTz88MPx61//Ov7whz9EQUFBvkuD5M5qwJrk66+/zn6/9t5773yX85Ot62dlVtX111+fDTh169aNXr16xbHHHhvHH398HH/88dG1a9dqf821pbdFqpzJWUv873//izlz5kTTpk0rbTt8+HA77f+/448/vtx8UVFRfPPNNzFmzJj48ccfIyLizTffjN/+9rfx2GOPRZMmTfJRJgCQI4sXL44hQ4Zk5++7777Yeeed81gRNUHIWcNtueWW8fnnn0dxcXEMGTIkfvOb31T6nLJnfZY+f1118cUXV/j3WbNmxaWXXhr//e9/IyJi0qRJMXDgwLjkkktqsjz4yV577bV8lwCsJXr06BETJ07Mdxk1bsqUKbFgwYKIiNhss80qDTjr4nuUIt3V1nAHHnhg1KtXLyKq1mVt3rx5MXTo0IiI2HbbbaNTp045rW9t1bx587jxxhujW7du2b89+eSTMW/evPwVBQBUuzlz5mSnW7VqlcdKqElCzhquefPmsfvuu0dExPvvvx9TpkxZafuXXnop2w3rsMMOy3F1a7e6devG//3f/2Xni4uLY8yYMXmsCACobosXL85O165t13ddobvaWuCwww7Ldkl57rnn4owzzlhh26Vne+rWrRsHH3xwfPDBB1V+nQkTJsTw4cNj7Nix8fnnn8esWbOiuLg4mjRpEu3bt48ePXrEscceGxtvvPEKlzFnzpw45JBDYsaMGRERcdxxx8Vll1220te9++6749prr42IiIYNG8bgwYNj0003rXLdP8WOO+5Ybv6rr76qsN2sWbPiqaeeimHDhsWUKVNi9uzZ0bBhw2jbtm307NkzjjzyyNhyyy1X6bXffPPN+Pe//x1jx46NgoKCWLx4cbRo0SI6d+4c++yzTxx88MHZs3jVady4cfHiiy/GyJEj49tvv4158+ZF06ZNo0OHDvGLX/wijj322Cpd+7XU0KFD4+mnn44JEyZEYWFhNG/ePDp27BiHHnpoHHTQQVG3bvVtZg4++OD49NNPIyLihhtuiIMOOqhKz7voooviiSeeiIiI3/zmNyvtljhp0qQYPHhwvP322/HNN9/EDz/8EI0aNYpNN900evXqFccdd1y0adNmpa9XdoTEBx54IHr06BHfffddPPPMMzF06NCYPn16zJo1Kxo2bBjPPfdc7LPPPssto6K/lV3eUnvvvXdMmzYtIiJeffXV2GSTTVZaW0lJSfz3v/+N119/PT744IOYNWtWLFiwIBo1ahTt27ePHXbYIfbZZ5/YZZddolatWss9v7S0NMaOHRvDhw+PDz74IL744osoLCyMkpKSaNasWWyxxRbRs2fPOPbYY6N58+YrrSXXpk+fHs8880wMHz48pk6dGrNnz44GDRrExhtvHD179oxjjjkmOnToUOXlffjhh/Hoo4/GO++8EwUFBdGgQYPYZJNNYr/99oujjz46mjVrtso1zpgxIx566KF44403sv+Pbdu2jd122y2OPfbY6NixY3z99dfZz0O7du2q1EWxute9qkpLS2Pw4MHx/PPPx6effho//PBDtGrVKrbeeus48sgjV2mU0LKWdtn+3//+FxMmTIhZs2ZFJpOJ5s2bR7du3eKAAw6Ifffdt8LP7DPPPBPnn39+ub9NmzZthcMDr6yrUnVsH8pane/jLbfcEoMGDSq3nFGjRlW4Pst+XsqOQNq9e/d48MEHK62xOn6r+vfvH88++2xERFx11VVxxBFHxMKFC+OZZ56JF198Mb788sv44YcfokWLFvGzn/0sjj/++PjZz35WaW0rU/Z7U1ZF79Wy70XZx1en61pFo+QOGjRouf+3iIjDDz88rr766gqXk8lkYujQoTF06NB4//334/vvv4+ioqJo3rx5dOnSJXr37h0HH3zwSn9nV7T9ePfdd+PZZ5+NMWPGREFBQcybNy9OPPHEuOCCC1Z5fddUQs5aYK+99oqmTZvGnDlz4vnnn4/TTz+9wg35119/He+++25ERPTq1StatGhR5dc46qijYvz48RU+NnPmzJg5c2a89957cffdd8fpp59e7gxIWU2bNo1rr702fve730VpaWk89thjsccee6xwJJuPPvooBg4cmJ2/+OKLayzgRMRyAw1U1F3tqaeeiquvvjrmzp1b7u+zZ8+O2bNnx8cffxz3339/nHDCCXHeeedFnTp1VvqaM2fOjLPPPjveeeed5R775ptv4ptvvomhQ4fGHXfcEddff31sv/32q7Fmy5szZ05cdNFF2euQyvr+++/j+++/j9GjR8edd94ZV1xxRey///4rXd78+fPjzDPPjDfeeKPc37/99tv49ttv4+23344nnngi/vGPf1RL/RERhxxySFx//fUREfH8889XKeQUFRWVW+dDDjlkhe3+9re/xVNPPRUlJSXlHissLIzCwsIYN25c3HPPPfHXv/41TjjhhCrXPXTo0BgwYEC5LhP58O6778YFF1xQ4RnhpZ/ncePGxYMPPhj/93//F+ecc065NsXFxbHPPvvEt99+W+HyCwoKoqCgIEaOHBn/+te/4tJLL41DDz00F6uyUqWlpXHLLbfE3XffHYsWLSr32Jw5c2LOnDnx8ccfxwMPPBB/+MMf4owzzqhwm1rWwIED48477yz32Vi0aFEUFhbG+PHj46GHHlrlz/qQIUPioosuivnz55f7++effx6ff/55PProo3HxxRdHz549q7zMXKx7VRUUFMRf/vKX5Q6uTZs2LaZNmxavvfZa9O7de4U7dCsycuTIuPDCC2Pq1KnLPbZ02UOGDIlu3brFzTffvEoho6pysX34qd/HXMvlb9Xnn38ep512WkyaNKnc32fMmBFDhgyJIUOGxF/+8pc47bTTfvJ6rK0++eST6N+/f3z88cfLPTZjxoyYMWNGvPrqq3HHHXfEoEGDqnygdeln+fHHH6/uktc4Qs5aoH79+nHAAQfEY489FtOmTYvRo0dH9+7dl2v33HPPRSaTiYhY5R2L6dOnZ19rq622ivbt20fjxo0jk8lEQUFBfPDBB1FYWBjFxcXZncwVBZ0ePXrE//3f/8Udd9wREREDBgyI559/Plq3bl2u3cKFC+Pss8+O4uLiiIj41a9+VeNd7H744Ydy840bNy43X/YsU8SS96d79+7Rtm3b+OGHH2LkyJExe/bsKCkpifvvvz+mT58eN9988wp3Gr7//vv49a9/Xe7Hun379tG1a9eoX79+TJo0KbuDMGXKlDjxxBPjrrvu+slHtAoKCuK3v/1tuR+UrbbaKrbeeuto2LBhzJw5M959992YPXt2/PDDD3HGGWfEtddeu8JAUFxcHKeeemqMHj06+7dWrVrFz3/+82jYsGFMnTo1xowZE2PGjIm+fftWenahqg4++OC48cYbo7S0NIYPHx6zZs2q9GzBG2+8kQ0Xm2222XJn7yIiFixYECeffHKMHTs2+7f27dtHly5dokmTJjFnzpwYO3ZsfPfdd/Hjjz/GFVdcEfPmzYs//vGPldb83nvvxaBBg6K4uDiaNWsWO++8c2y44YYxc+bM+Pjjj6NRo0bZUQCfe+657A7vYYcdFg0bNlxueau7AzdkyJA477zzst+3iIjNN988OnfuHI0bN4558+bFZ599Fp9//nmUlpYut4McsWQHemnAadCgQWy11Vax6aabRsOGDWPx4sXx7bffxvvvvx/z5s2LBQsWxLnnnhv16tWLAw88cLVqXh0lJSVx5plnlgu2bdq0ia5du0bz5s1j/vz5MW7cuJg6dWosXrw4br/99pg1a1ZcccUVK1zmjTfemN2eRURssMEGscsuu0SrVq2yoW7GjBlxyimnrPQ+XWW98sor8de//jW7w1ynTp3YaaedYrPNNosFCxbE2LFjY8aMGXHhhRfGRRddlLd1r6offvhhuW3MJptsEt26dYv69evH559/HuPGjYtXXnlllboLvfTSS/HXv/41+7ldf/31Y4cddoh27dpF7dq1Y8qUKfH+++/H4sWL4/33349jjz02nnrqqWjZsmV2GR07dozjjz8+5s+fH88991xELOk1UNXfm1xsH37K97Fr165x/PHHx7fffpu9Brd169bRu3fv5V5ndc4uRuT2t+q7776L3/3ud1FQUBBNmjSJn/3sZ9GqVasoLCyMESNGZA8o3nrrrbHllluu9vaj7La1svdqs802W63XWJF99903ttpqqxg3blz2APL2229f4TDVO+yww3J/Gz16dPzxj3/MHnitV69ebLfddrH55ptH3bp1Y9q0aTFmzJhYtGhRTJ48OY477rh4/PHHo2PHjpXWdtVVV2UDTqdOnWKbbbaJunXrxpQpU9LrypdhjXPCCSdkOnXqlOnUqVPmkUceyWQymczYsWOzfzv//PMrfF7v3r0znTp1yvz85z/P/Pjjj5lMJpM544wzss+7+eabV/ial1xySeb111/PLFy4sMLHFy9enHn66acz3bp1y3Tq1CnTpUuXzNSpU1e4vKKiosyRRx6Zfe2TTjopU1paWq7NhRdemH18zz33zPzwww8rfV+qYsSIEdlldurUqdL2L7/8crn2r7/+evaxMWPGZLbddtvsY3/4wx8yBQUF5Z6/aNGizDXXXFNuGffcc88KX+8Pf/hDtl23bt0yL7744nJtxo0bl9lnn32y7fbYY4/MnDlzKlzezTffXOn/b0lJSaZPnz7ZdkcddVTmww8/XK7djz/+mLnlllsyW2+9dba+Ff0fDxo0KLu8rbfeOnPbbbdlFi9eXK7NF198kTnkkEOyn5el7Z9++ukVvj9VUXZdHnzwwUrb9+3bt9L36Nxzz822+eUvf5kZMWLEcm0WL16cefjhhzPbbbddplOnTpltt902M3bs2AqXV/Y73Llz58zWW2+dufXWWzNFRUXl2i1atKjc/F577ZV93ldffVXpulX1OR9++GFm++23z7Y77LDDMu+//36Fbb/77rvMXXfdlfnXv/613GOLFi3K9O/fPzNixIjl1qVsmzvvvDPTuXPn7PZo3rx5P6n+VXHTTTdll7fbbrtl/vvf/y637clkMpl///vfmZ/97GfZtkOGDKlweaNGjcp+Jzp16pTp169fZvbs2eXa/PDDD5kzzzxzuc/6eeedV+EyZ86cmenevXu5/4/JkyeXa1NaWpp54IEHMttuu232M9epU6fMXnvtVWPrvirOP//87PK6dOmSefLJJ5dr88EHH2T/v8u+TxV93zKZTObTTz/NdO3aNbudufrqqyvcFk6dOjXz61//uty2uiJfffVVld7HZVX39qG6vo9lf+9OOOGEKq1LVZ9T3b9V5513Xrbd0vfouuuuyyxYsKBcu8LCwsyJJ56YbbvPPvtU+BleVav6XlVlP6Lsdn5Fn+Gq/EYv67vvvsv07Nkz+7xzzz038+233y7XrqCgIPOXv/wl2+6ggw5a7nc4kyn/uV+6T7PHHntkRo8evVzbZX+T1naJRbZ07bjjjrH55ptHRMR///vf7OACS40dOza+/PLLiIg44IADYr311lul5V966aWxxx57xPrrr1/h43Xq1Ikjjjgi/v73v0fEkiP5jz322AqXV69evbjhhhuiQYMGERHx1ltvxf333599/JVXXsleI1G7du247rrrljuLkmslJSVx1113lau57FGoG2+8MXuUdccdd4xbb7213NHBiCVnds4999xyN2IbNGhQhd3eRowYEcOGDcvODxw4MH71q18t12777beP++67L/t+TJ8+PR544IHVXMsl3bpGjhwZERHdunWLBx98MDp37rxcu/XWWy/69u0bf/nLXyJiydHLsu/PUnPnzo0777wzO9+3b9/44x//uFw3vQ4dOsS9994brVq1Kne08qcqe5ayspvezp07N15//fXsfEVnpt59993s0d327dvHo48+Wu6al6Xq1KkTv/nNb7LXmJWUlMStt95aab2LFy+O008/Pf785z8v12+9fv36lT6/OlxxxRXZI8HbbbddPPTQQxUePYxYckbu5JNPrvBMbf369eOqq66KHj16rLAPfv369eMPf/hDnH766RGx5Aj/qtzM+Kf4+uuvs2dcmjVrFo888kj88pe/rPDM6gEHHFCuf/ygQYOyZ8LLuuGGG7J/79mzZwwcOHC5a9YaN24c119/ffTq1atKn/V77rknZs+eHRFLjirfc8892e37UrVq1Yo+ffrEueeeG0VFRZUuMxfrXlWTJ0+OZ555Jjt/xRVXxFFHHbVcu65du8bdd98dG2ywQZXep7/97W/Z37r+/fvHeeedV+G9zDbddNO46667st11hg0btkrXo65MLrYP1fV9zJVc/1YVFRXFqaeeGuecc05ssMEG5R5r1qxZuX2Hr776KsaNG/dTVmetM3DgwJg5c2ZELLm255prrlmuJ0xERMuWLeMf//hH7LLLLhER8emnn1bYHb2skpKS2GCDDeLee++Nn//858s9XlO/STVFyFmLLN25KztM9FJLN8Jl2+XCfvvtl934VNRPt6zNNtssLrzwwuz8DTfcEJ988kl8++235f5+yimnVPhly6VZs2bFmWeeGe+//372b0cddVQ0atQoIpZcXFq2K9bFF1+80i//WWedFRtuuGFELPn/efHFF5drU7b/69577x177rnnCpe3ySabxKmnnpqdf+yxx1Z7J+S+++7LTl922WUrDLJLnXLKKdkdiSFDhkRpaWm5x1944YVYuHBhRERstNFGccopp6xwWc2bN6/2PtX77bdfdh3ef//9CvvpL/Wf//wnu4PYrVu3Crsk3Hvvvdnp8847r9Lub0cccURsscUWEbEkvBcWFq60fevWrWt0B2VZH3zwQbabTa1ateKaa66psBtcdTvyyCOz05VtK6rLAw88kD0w8ec//znat2+/0va77LJL9OrVKyKWfOc/+uijco9PmjQp3nvvvez8hRdeuMJr7mrXrh0XXnhhpde3lJaWlgsE/fr1y247KtKnT58qdaWp7nVfFU899VR2+9S1a9c4/PDDV9i2Q4cO8dvf/rbSZX7yyScxYsSIiIjo3Llzpc9p0KBB/PnPf87OV3YApKqqe/uQr+/jqsj1b1Xz5s2zB9Mq0rJly9hjjz2y8+tSyJk1a1Y8//zzEbEk4P71r39dafs6derEmWeemZ1f+tyVOf7443My6MiayDU5a5FDDz00br755shkMvHcc89lL7ouKiqKl156KSKWHGn6qddvfPLJJ/Hxxx/HtGnTYt68ecsdRVz6I/7pp59GaWnpSvtwHnnkkfHmm2/GSy+9FEVFRXH22WdHixYtskcxu3btGv369ftJ9a7M5ZdfXm6+uLg4vvnmm3j33XfLnQ3r0KFDuVHrlv64Riy531BFZz7KatCgQRx00EHZ0VlGjhwZxx13XLk2S8+mRJTfAVyRI488Mnv9SUFBQXzxxRdV6m9b1nfffZe9aHHLLbeMbbbZptLnrLfeetGtW7cYNmxYzJ07Nz799NNyzyu7HgceeGClR34OPPDAuPzyy6vtbE6jRo1ir732yn7mn3/++ejbt2+Fbctu8Cs6i7N48eJ4++23yy23Knr06BFffPFFZDKZGDt27ApHQotYEsqqc4S5VfXmm29mp3v27LnKowCuSGlpaUyYMCE++eSTmDFjRsybN6/cMK1lVXThbC6UHQTj4IMPrtJzdtlll3jrrbciImLMmDHRpUuX7GNltwNdunSp9L3r0KFDdOvWrVwwWtakSZOyR2nr1q1b6fUGderUiV/96lfxz3/+c6XtqnvdV0XZbUJVDrIddthhcfvtt6+0Tdn1+dWvflWlwRGWHtGOiGq5HUAutg+5+j5Wp1z/Vu21116V9jbp3Llzdhu/dNTBdcHbb7+d/a3s3bt3lXrl7LDDDtGgQYPstXyVqeisXKqEnLVIu3btYuedd45Ro0bF22+/HQUFBdGqVat49dVXsxfQ/5SzOM8++2zcfvvtld6LZ6ni4uKYO3dupcMNX3755fH+++/H9OnTs6MGRSwJBjfccENOdwAffvjhStvstttucdVVV5W7QLPsTllFF6pXZKeddsqGnGWPin777bfZHZulbSvTvHnz2HzzzeOLL77ILnNVQ07ZM1U//vjjcqFvRcqeHZkxY0a5kFP2vSl7M9UVadSoUXTq1Ck+/PDDKr12VRxyyCHZH8AXXnihwpAzY8aM7Nm4evXqxQEHHLBcm4kTJ2bvgl23bt1sd8zKlB2JcOlw6Suy3XbbVWmZuVL2M1BRN5tVtXjx4njwwQfjvvvuq3Tdl6rsbFd1KCwszG676tWrV+FQrRVZuj2K+H8DsCy1OtuBykJO2WVuscUW2bPHK7OirkxL5WLdqyqTycQnn3ySna/KNqFDhw7RrFmz7MGuipR9D0eOHBnffPNNlWpZanXXp6xcbB+q+/tY3Writ6oqNykv+3u8Lt2ku+znY+LEiVX+zV5qzpw5sWDBgmyPm2XVq1dvnbpJvJCzljn00ENj1KhRUVJSEi+88EKcdNJJ2f7utWrVWq2Qk8lkYsCAAeW6UFTV/PnzKw05TZo0ieuuuy5OPPHEcl2fLrrookq7VFS3unXrRqNGjaJdu3axww47xEEHHVThma9Zs2Zlp1d2X6Cy2rVrl51edqeu7PLWX3/9Kt8/pF27dtkfjtXZUfzuu++y019//XWVQt+ylh32uOy6tG3btkrLaNu2bbWGnN133z023HDD7M7duHHjlhu15oUXXsju9PTq1avC97zs+zN79uxqeX+WtbKuSDWh7A7LTx2evaioKP70pz9lj/5X1bJDJOdCQUFBdrq4uHi1/i+XHW1xdT/rK7M6y9xoo41W+ngu1r2q5s6dW+4sbVW3l23btl1pyCn73Sx7fUhVre76rKiG6to+VOf3MRdq4reqKtfflj34uaIzxCkq+5lbOkLpqvrhhx9WGHKaNGmS154FNW3dWdNE7L///vG3v/0tFi5cGM8991wceuih2dPfP/vZz1Zro/nEE0+UCzi77757HHTQQdG5c+fYaKONYv311y/XJanszQeXvV5jRZo2bRp169bNdn1bb731sv3Bc2l1buIVEdmjdxGxwo3FsspeQLnsTl3Z+WUvtFyZsq+9OjuKy97bZ3Use0+Isu9NVddlVda5KpYOS7x0p+P5559fLuSU7aq2ovCfi/dnWZVdA5VrZT83Vf0sr8igQYOyAadWrVpxwAEHxC9/+cvo1KlTtGnTJtZbb71yAxIsvaHeT7movarWlM96Ze9x2WVW9bNR2TJr4nO8ImXXJ6Lq61TZ+/lTj96v7vqUlYv3tTq/j7lQE79V1XVfphRVx2duZaEw379HNU3IWcs0atQo9tlnn3jxxRdj4sSJcf3112c/0Kt7j5l77rknO92vX78VXt+w1KrubC+9FqfstT2LFi2K888/P+666641coNXdoO97I/4iiy9GD8ilruQtOx82XaVKfvaq3Nxatkfqb333jtuu+22VV7Gsho0aJDdEFd1XVZlnavqkEMOyYacl156Kc4///zsReETJ06MTz/9NCKWHDVc0c1oy/4/b7311lW6aHNtU/ZzU9XPckWKiorK3RH86quvXuk2p6a7mJT9v2zUqFG1XJNRdplV/QxX9h6XXeayo2RWxzKra92ratkd9R9//LFKO++VvZ9lt12DBg2q8B4wuZaL7UN1fR9zJV+/VSxR9nN//vnnx+9+97v8FZMAo6uthcruWCw9A7PeeutVeof6ikyfPj3bl7tJkyblRkmpyLx581b5ru3XXnttdoezdevW2Q3gssNKr0nKnqKvat/ushdHLttFqezyfvzxx3JdAlZ3mVVRdsjr77//fpWfX5HVeW+qo3/8ssqOlvb999/H8OHDs4+V3RnZb7/9VnjxZosWLbLT1fX+rGnKruPXX3+92ssZN25cdkdmq622qvSgSlWuoahOZddz3rx51RKsV+ezXtl1SmW/x1W9pmnpDVhXJBfrXlWNGzcud/auqv/vlb2fZbddZbvj1aRcbB+q6/uYK/n6rWKJNeFznxIhZy206667RqtWrcr9bZ999lmt+8yU7f+5xRZbrPDeF0uNGTNmlbqevPnmm/HQQw9FxP+7H05Fw0qvabbddtvs9MouIi6r7Kgmy47G1qZNm3I/blVZ5qxZs8oNAlHZCG8VKXvB8scff1wtRw7LvjdlL5Jckfnz58dnn332k1+3ImVHkVo6ZGwmk4khQ4Zk/17RqGpLbbvtttmumDNnzszeayolZS8ELzta2Koqu62oyoWrZYdgrwmtW7cud41LVb+3K7Oqn/WqvG7ZZX7xxRdVOuNV2RC6uVj3qqpVq1a5gUmqcn+aKVOmrPR6nIgo1/20KiNGVcWq9hrIxfahur6PEbnp9pWv36pUrer/US4+9+syIWctVKdOneWGCF3drmplv4BVOfr36KOPVnnZs2bNivPPPz8bik466aTYZZdd4ogjjsiedVralW3pjdHWFGWHIv3oo48qDWILFy6Mf//73xU+f6myI+k8++yzldbw7LPPZq95at26dfbeC6ti0003zY5yU1xcHE899dQqL2NZZdfjpZdeqnRo6H//+99Vupnh6igbYIYOHRoLFy6MUaNGZY8St23bNrp3777C56+//vrl/q8eeeSRnNRZVWXPOFXXxba/+MUvstPvvPNOTJo0abWWsyrbitLS0uzNfmtS2ft5VMf/ZdnPxoQJEyp977788stKw9CWW26Z3YksLi7OjhK4IqWlpRXed2tZ1b3uq6LsNqEqXbrK3tdtRcoO1/zKK69Uy5mUst+vqgxpn4vtQ3V9HyNWfX2qKh+/Vakqez1zVbbpu+++e3ZggPfee2+NPAi8NhFy1lJ/+tOf4qmnnsr+W92L+DfZZJPszstnn30WX3311Qrb/vvf/47//e9/VV72gAEDsqdbu3TpUu4+NJdffnl2xKDPP/88rrnmmtWoPnc6duwYO++8c3b+iiuuWOmPyE033ZQdNadRo0bZexiVdeyxx2anX3nllXL3S1jWtGnTyt1H4thjj13to3Zlb0R50003rdJgDBWdLj/44IOz/YanT58ed9555wqfX1hYGDfffPMqVLtqNttss+yR0QULFsTQoUPL3QTw4IMPrvR9K/v+PPTQQ9n7YlRFdXcnKDtsamVdlKqqa9eu2WFgM5lMnHvuuas1iEXZQU1Gjx690gtk77rrrrz8OJ900knZ67JeeeWVVRoxsqL/y44dO5YbOvrKK69c4WArpaWl8be//a3SM921a9cud1Bq0KBBKz2r8dBDD1VpWP/qXvdVcdRRR2Wn33///eyInxX58ssvq9RNuWvXrtkDFD/++GOce+65VT5YUlRUVGG36iZNmmTv61ZYWFilYFDd24fq+j5GlN9elD3T+lPl67cqRWW77lVlm96mTZvswbuln4+qXt9YWlpa5e6F6wohZy3VpEmT2H777bP/VnQX7so0b948u5NYWloap512WnYYyKVKS0vj4YcfjnPPPTfq1KlTpZtTPfzww9lAtMEGG8T1119fritc06ZN49prr83+4Dz88MPlbv62JjjrrLOy7+u7774b/fr1Kzf8Z8SSH9Mbbrgh7rvvvuzf+vbtW+GFl7vssku5o3innXZahUdxJ0yYEL///e+zQ6C2bds2TjzxxNVej0MOOSR7NHL+/Pnxm9/8Jh577LEV7jDMmzcvnn/++ejTp09cccUVyz3euHHj+MMf/pCdv/nmm+Nf//rXcqMITZkyJU466aT47rvvKu0G+VOUPZvz1FNPxX//+98KH1uR7t27Z+/Qvnjx4jjllFPijjvuWOGOx6JFi2Lo0KHxpz/9Kf70pz/9xOrL22qrrbLT//nPf6ptuRdeeGH2iOKECRPihBNOWGG3ooKCgrj77rvjrrvuKvf3zp07R5s2bSJiyQhAp59++nI/2kVFRfGPf/wjbrjhhryMHNW+ffty/ycDBgyIa665ZoU//IsXL4633nor/vrXv2Y/A8s688wzszttb731Vpx99tnLDU88b968+Otf/xrDhg2r0mf9pJNOyu6gzpgxI04++eTlukJlMpl4+OGH4+qrr670hrsRuVn3qurQoUMcccQR2fkLL7ywwjMA48ePj9///vexYMGCKr1PF110UfZzNHz48JV+biMiJk+eHLfeemvsvffeFXb1qV+/fvY6vuLi4hg6dGilNeRi+1Ad38eIJQcplx5wmjZtWqXdGqsqX79VKSq7TX/rrbeqNHraGWeckb0kYeLEiXHUUUetdNj+GTNmxH333Rf7779/uR4lGF2NiDj99NPjpJNOitLS0vjoo4/ikEMOiR133DE23XTTWLBgQbz77rvZI1JnnnlmPPHEEyu9A/GkSZPi2muvzc7379+/wtPXPXr0iJNPPjl7JuD888+PF154oVx/4Hzaaaed4uyzz86uy//+97/Yc889o0ePHtG2bduYM2dOjBw5stxR2N69e690NJSrrroqfv3rX8fUqVNjwYIFccYZZ8RNN90UXbt2jXr16sWkSZPigw8+yB4NXnrD1CZNmqz2etSpUyduuummOOmkk+Kjjz6KefPmxSWXXBLXXXdddOvWLdq0aRN16tSJOXPmxOTJk+OLL77Inlbfb7/9KlzmKaecEsOHD4+xY8dGJpOJG264IR544IHo3r17NGjQIL788ssYM2ZMlJSUxA477BCbbrpplbrcrI4DDjggrrrqqiguLi7Xx71z587lfmBW5vLLL4+CgoJ46623ori4OG688ca47bbbomvXrrHxxhtH/fr144cffoipU6fGZ599lg2Iq3uH+BXZb7/94vHHH4+IJV1jPvzww+jcuXO5EXd+/etfr/L9pbp06RJ///vf4/zzz4/FixfHRx99FMccc0x06NAhOnfuHI0aNYp58+bF559/Hp999lmUlpYut7NSu3btOP3002PAgAERsWSnc//9948dd9wxNt5445g9e3aMGjUqewT98ssvj3POOeenvB2rpW/fvjFt2rR49tlnI5PJxD333BMPPvhgbLfddtG+fftYf/31Y/78+TFt2rRyN3sse1S8rB49esRJJ50Ud999d0QsOaP9+uuvR48ePaJVq1bx/fffx4gRI2LBggXRtGnTOPHEE+OWW25ZaY0tW7aMyy67LM4888woLS2NCRMmxAEHHBA/+9nPYrPNNouFCxfGmDFjst0uBwwYkD3gsLKj5NW97quif//+8d5778XkyZOjqKgo+vfvH7feemt069Yt6tevH59//nmMGzcuMplM/PKXv8x+XlamU6dOceONN8aZZ54ZCxcujA8++CCOOeaYaN++fXTu3DmaNm0aRUVFMXPmzJg4cWKVjpTvt99+2TMPf/3rX+PZZ5+N9u3blwtd5513XrnnVPf2oTq+jxFLtu1LR1uNiDjxxBNj9913j7Zt22YP0DVt2jT++Mc/Vvq+LCsfv1Up6tq1a7Rt2zamT58eBQUFccABB8Ruu+0WG264Yfa7vP3228eBBx6YfU6bNm3in//8Z5xyyilRWFgYkydPjpNPPjnatGkTXbt2jebNm0dxcXEUFhbGZ599tkYOYLGmEHKInj17xsUXXxx/+9vfYvHixVFcXByjRo0q9wNUu3bt+NOf/hSnnnrqSvvaFxUVxVlnnZUdGnWfffaJ4447boXtTz/99Hj77bfjww8/jJkzZ8aAAQPijjvuqL6V+4lOPvnkaNKkSVx99dUxb968KCoqqvDUfZ06deL444+P/v37r3QnpGXLlvHoo4/G2Wefnd0hnzJlSoXdUTbbbLO4/vrrl7v/y+rYcMMN49FHH42rrroqnnrqqVi8eHHMmzdvpUeH1l9//RX+SNevXz/uvPPOOOOMM7LvR0FBQbkL/iOW3CX+5ptvjhtvvPEnr8OKNG/ePHr16rVcV8qqnMVZqn79+vGvf/0rBg0aFPfee28sXLgwFi5cGCNHjlzhc+rVq1elu7uvit122y0OOuig7E7LBx98sNwR3j333HO1bqJ7yCGHRKtWreLCCy/M/ihOnjw5Jk+eXGH7is7EHHnkkTF16tTsTuKCBQvKjWoXseQ6gQEDBsTBBx+cl5BTq1atuPrqq6NLly5xyy23xJw5c6K4uDjee++9FV5EXatWrZXe2X3pWey77rorSktLY8GCBct93lq3bh0333zzCt/PZe2///5RXFwcF198cSxYsCBKSkqW2+7Wr18/LrroonLXlTVq1KhG172qmjZtGvfff3/8+c9/jgkTJkRExFdffbVcF+i99947rrrqqiqfBd1rr73iscceiwEDBmRvKDx16tSYOnXqCp/Trl27Fd5A9Q9/+EO8/PLL8cUXX0RxcXGFPQiWDTm52D5Ux/cxYkmPg5EjR0ZBQUEsXLgwXn755XKPt2vXbrVCTr5+q1JTu3btuOSSS6Jfv35RXFwcBQUFy12Tdvjhh5cLORFLwtHTTz8dF1xwQbzzzjsRsaS72yuvvLLC12rZsmX2TCVLCDlExJKjwzvttFPcd999MXLkyPjuu+9i/fXXjzZt2sQuu+wSRx55ZJVGTLnxxhuzffFbtWoVf/vb31bavl69enHDDTfEEUccEQsWLIjXX389HnrooTjhhBOqZb2qw9FHHx377LNPPPnkkzFs2LCYMmVKzJkzJxo2bBgbbbRR7LrrrnHkkUfGlltuWaXltWzZMu6///4YNmxYvPTSSzFmzJgoKCiIxYsXR4sWLWLbbbeNfffdNw455JBq7ea1/vrrx2WXXRb/93//F88//3yMGDEiO8pRaWlpNG7cODbddNPYZpttst0VVrZD1ahRo7jrrrvi5ZdfjmeeeSYmTJgQs2fPjg033DA6duwYBx98cLWvw4occsgh5XY669SpE7/61a9WaRl16tSJ008/Pfr06RPPPfdcvP322zFp0qQoLCyMxYsXR8OGDaNdu3bRqVOn6NGjR+yxxx5Vvhv4qrj++utjzz33jCFDhsTHH38chYWF1TYwR8+ePeM///lPDBkyJF5//fWYMGFCzJw5M4qLi6NRo0bZa5x69+4dP//5zytcxplnnhm77757PPzwwzFmzJiYNWtW9ruw++67x1FHHRWbb755tdT7U/Tp0ycOP/zwGDx4cLz99tvxySefxKxZs6KoqCgaNmwYbdq0ia222iq6d+8ee+yxR7nRySpy9tlnx3777RePPPJIjBgxIgoKCqJBgwbRrl27+OUvfxnHHHNMNG/evMohJ2LJNWM///nP48EHH4w33ngjvvnmm6hVq1ZstNFGsdtuu8Vxxx0XHTt2LBd0q3KkvLrXvaratGkTTzzxRDz33HPxwgsvxMSJE2Pu3LnRsmXL2GabbeKwww6L/fbbb5Wv2dhmm23imWeeibfeeiuGDh0aY8eOje+++y7mzp0b9evXjw033DA6dOgQO+ywQ/Tq1St23HHHFb5G48aN46mnnopHHnkk3njjjZg0aVLMnTu30utzcrF9qI7vY7t27WLw4MHx0EMPxfDhw2PKlCkxf/78ahm4JF+/VanZa6+94umnn46HH344xo4dG998800sWLCg0uv32rVrF/fdd1+899578Z///CdGjx4dM2bMiB9++CHq1KkTzZo1i8022yy222676NWrV3Tv3j07aAFL1MrUxK2oAYDV8sQTT8RFF10UERHHHXdcXHbZZXmuCGDNZ+ABAFiDlb2YePvtt89jJQBrDyEHANZQL7/8crZP/nrrrRe9e/fOc0UAawchBwBq2NixY+PCCy+Mjz/+uMLHi4qK4r777ouzzjor+7djjjkmmjZtWlMlAqzVXJMDADVs5MiR2WGB27ZtG9tss020bNkyMplMfPvtt/H++++Xu6fGlltuGU8++WRe7j8EsDYyDAMA5NH06dOz98SpSK9evfJ2g1WAtZUzOQBQw0pLS2PUqFHxxhtvxIQJE+K7776L2bNnx7x586JRo0bRunXr2GmnneJXv/pVufvkAFA1Qg4AAJAUAw8AAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEjKOn8z0OnTp8drr72WnW/fvn1ssMEGeawIAADWDQsXLoypU6dm5/fee+9o27btT17uOh9yXnvttbj88svzXQYAABARxx9//E9ehu5qAABAUoQcAAAgKet8d7VNN9203PwxxxwT7dq1y1M11IQOHTrkuwQAfoIhQ4bkuwRq0KGHHprvEsihzz//PG688cbs/LL75qtrnQ85DRo0KDffrl272HLLLfNUDTWhc+fO+S4BgJ9g9OjR+S6BGrTDDjvkuwRq0LL75qtLdzUAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBS6tbUC7366qsxePDgmDBhQhQUFESjRo1is802i3333TeOO+64aNSoUU2VAgAAJCznIWf+/PlxzjnnxGuvvVbu77NmzYpZs2bFe++9Fw899FDcdNNN0a1bt1yXAwAAJC6nIaekpCROP/30ePPNNyMiomXLlnH00UfHlltuGXPmzIkXX3wxxo4dG9OnT49TTjklHn300ejYsWMuSwIAABKX05Dz5JNPZgPOlltuGffff3+0bNky+/jxxx8f11xzTdxzzz0xZ86cuPjii+Phhx/OZUkAAEDicjbwQElJSQwaNCg7f+2115YLOEudc845se2220ZExLvvvhtvvfVWrkoCAADWATkLOaNHj46CgoKIiOjevXt06dKlwnZ16tSJPn36ZOeHDBmSq5IAAIB1QM5CzrBhw7LTv/jFL1batuzjZZ8HAACwqnIWcj799NPs9Pbbb7/Stq1atYq2bdtGRMT3338fs2bNylVZAABA4nIWciZPnpyd3mSTTSptX7bNF198kZOaAACA9OUs5MydOzc7veGGG1bavlmzZhU+FwAAYFXkLOQsWLAgO73eeutV2r5sm/nz5+ekJgAAIH05CzkAAAD5kLOQ06BBg+z0okWLKm1ftk3Dhg1zUhMAAJC+nIWcxo0bZ6cLCwsrbT979uwKnwsAALAqchZyOnTokJ3++uuvK21fts0WW2yRk5oAAID05SzkdOrUKTs9fvz4lbb9/vvvY/r06RER0aJFi2jevHmuygIAABKXs5Cz++67Z6eHDRu20rZvvPFGdnqPPfbIVUkAAMA6IGchp3v37tGqVauIiBg1alR8+OGHFbYrKSmJBx98MDt/4IEH5qokAABgHZCzkFOnTp3485//nJ0/77zzYubMmcu1u/766+Pjjz+OiIiddtqp3BkgAACAVVU3lws/5phjYujQoTF8+PD47LPP4tBDD42jjz46ttxyy5g9e3YMGTIkxowZExERTZo0icsvvzyX5QAAAOuAnIacunXrxs033xznnHNO/O9//4uCgoL45z//uVy7jTbaKAYOHBhbbbVVLssBAADWATkNORERjRo1ittvvz2GDh0agwcPjvHjx8fMmTOjYcOG0b59++jdu3ccd9xx7o0DAABUi5yHnKX23Xff2HfffWvq5QAAgHVUzgYeAAAAyAchBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAICl1813AmubKK6+M0tLSfJdBDr333nv5LoEaVFRUlO8SqCGZTCbfJVBD7r333nyXQA3685//nO8SyKHatXNzzsWZHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASErdXC68pKQkJk2aFBMmTIgPP/wwJkyYEJ988kn8+OOPERFx+OGHx9VXX53LEgAAgHVMTkPOGWecES+//HIuXwIAAKCcnHZXKykpKTffrFmz2HzzzXP5kgAAwDoup2dyunbtGh07dowuXbpEly5dYtNNN41nnnkmzj///Fy+LAAAsA7Lacj54x//mMvFAwAALMfoagAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSUjeXC//qq6/iqaeeKve3iRMnZqc/+uijGDhwYLnHd9lll+jZs2cuywIAABKW05DzzTffxO23377CxydOnFgu9ERE1K1bV8gBAABWm+5qAABAUnJ6JqdHjx7LnakBAADIJWdyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASamb7wLWNPPmzYuioqJ8l0EOlZSU5LsEatDixYvzXQI1pEGDBvkugRrSunXrfJdADZo3b16+SyCHFi5cmJPlOpMDAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJqZvLhc+bNy+GDx8eI0eOjI8++iimTJkSc+fOjfXWWy9at24dXbt2jYMOOih23333qFWrVi5LAQAA1hE5Czn33ntvDBw4MBYtWrTcY4sXL47JkyfH5MmTY/DgwfHzn/88rrvuuth4441zVQ4AALCOyFnImTx5cjbgtGnTJnbdddfo0qVLtGjRIhYtWhTvv/9+PP/887FgwYJ49913o0+fPvHEE09EixYtclUSAACwDshZyKlVq1b06tUrTjrppOjZs2fUrl3+8p/DDz88TjnllDj55JNj8uTJ8fXXX8f1118fV111Va5KAgAA1gE5G3jgzDPPjLvvvjt222235QLOUu3atYubbropO//SSy/FwoULc1USAACwDshZyGnWrFmV2m2zzTbRoUOHiIhYuHBhfPnll7kqCQAAWAesEUNIN2rUKDtd0UAFAAAAVZX3kFNUVBRTpkzJzhthDQAA+CnyHnJefPHFmDt3bkREdOnSJVq1apXnigAAgLVZXkPOrFmz4vrrr8/O/+lPf8pjNQAAQAryFnKKioqiX79+MXPmzIiI2HfffaN37975KgcAAEhEXkJOaWlpDBgwIN59992IiGjfvn1ceeWV+SgFAABITI2HnEwmE5dcckm88MILEbFkoIF77703mjZtWtOlAAAACarRkJPJZOLSSy+NJ554IiIiNtpoo7j//vtjk002qckyAACAhNVYyMlkMnHZZZfFY489FhERbdq0iQceeCDat29fUyUAAADrgBoJOUsDzqOPPhoREa1bt44HHnggNttss5p4eQAAYB2S85CzbMBp1apVPPDAA7H55pvn+qUBAIB1UM5DzuWXX75cwOnQoUOuXxYAAFhH5TTkXHHFFfHII49ExP8LOFtssUUuXxIAAFjH1c3VggcOHBgPPfRQRETUqlUrTjzxxPjiiy/iiy++WOnzOnfuHBtvvHGuygIAABKXs5AzduzY7HQmk4kbbrihSs+76qqr4ogjjshVWQAAQOJq/GagAAAAuZSzMzkPPvhgrhYNAACwQs7kAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASamb7wLWNHvvvXc0bdo032WQQ/Pnz893CdSgOnXq5LsEakirVq3yXQI1ZMSIEfkugRpUu7Zj8imrVatWTpbrUwMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJJSN5cLHzduXIwfPz7Gjx8fn332WRQWFkZhYWEUFxdHkyZNomPHjtGjR484/PDDo127drksBQAAWEfkNOT89re/jQULFlT42MyZM2PmzJkxatSouOOOO6Jv375x6qmn5rIcAABgHZDTkBMR0aJFi+jatWtsvfXWsckmm0Tjxo1j8eLFMW3atHj99ddj7NixUVRUFDfeeGMUFxdH3759c10SAACQsJyGnMcffzy22mqrqFWrVoWPn3rqqfHcc89F//79I5PJxG233RZHH310tGnTJpdlAQAACcvpwAOdOnVaYcBZ6rDDDos999wzIiIWL14cb775Zi5LAgAAErdGjK621VZbZae///77PFYCAACs7daIkPPll19mp1u2bJnHSgAAgLVd3kPOa6+9FkOHDo2IiPXWWy/bdQ0AAGB15Hx0taVGjx4dc+bMiYiIoqKimDFjRgwfPjzeeuutJYXUrRuXXXaZMzkAAMBPUmMh57rrrosPPvhgub/XqlUrdt555zjttNNi5513rqlyAACAROW9u1qbNm1it912i8022yzfpQAAAAmosZDzxBNPxMSJE2PixInx3nvvxeDBg+O0006L+fPnx8CBA+Pggw+Ot99+u6bKAQAAEpWXMzkNGjSIbbbZJv7yl7/Es88+G61bt47Zs2fHKaecEhMnTsxHSQAAQCLy3l1t0003jbPPPjsiIoqLi+P222/Pc0UAAMDaLO8hJyLiF7/4RXZ61KhReawEAABY260RIadRo0bZ6aXDTAMAAKyONSLkTJkyJTvdvHnz/BUCAACs9daIkPPYY49lp3faaac8VgIAAKztchZyHn300RgxYkRkMpkVtikpKYl//etf8cgjj2T/9pvf/CZXJQEAAOuAurla8AcffBCXXnpptG3bNnbdddfo1KlTtGjRIurVqxdz586NTz/9NF599dWYNm1a9jmnnnpqdO/ePVclAQAA64CchZylpk+fHk8//fRK2zRu3DjOOussZ3EAAICfLGch58ILL4x99tknRo8eHR9//HFMnTo1CgsLY/HixdGgQYNo0aJFbL311rH77rvH/vvvH40bN85VKQAAwDokZyGnUaNG0bt37+jdu3euXgIAAGA5a8ToagAAANVFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACSlbr4LWNMcf/zx0blz53yXQQ5lMpl8l0ANqlOnTr5LoIaMHz8+3yVQQzbffPN8lwCs4ZzJAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApOQ15PTv3z+23nrr7L9bbrkln+UAAAAJyFvIeeONN+LZZ5/N18sDAACJykvImTdvXlxyySUREdGgQYN8lAAAACQqLyHn2muvjenTp0fbtm3j2GOPzUcJAABAomo85LzzzjvxxBNPRETEJZdcEg0bNqzpEgAAgITVaMhZuHBhXHTRRZHJZOLAAw+MvfbaqyZfHgAAWAfUaMi54YYb4quvvopmzZrFBRdcUJMvDQAArCNqLOSMHTs2Hn744YiIOPfcc6Nly5Y19dIAAMA6pEZCzqJFi2LAgAFRWloaPXv2jCOPPLImXhYAAFgH1UjI+cc//hGTJ0+O9ddfPy6//PKaeEkAAGAdlfOQM27cuLjvvvsiIqJfv37Rvn37XL8kAACwDstpyCkqKooLLrggSkpKokuXLvH73/8+ly8HAACQ25Bz2223xaeffhp16tSJK664IurUqZPLlwMAAMhdyPnkk0/izjvvjIiI3/3ud9GlS5dcvRQAAEBW3Vwt+Jlnnoni4uKoXbt21KtXL/75z39W2G706NHlppe269ChQxxwwAG5Kg8AAEhUzkJOJpOJiIjS0tK4/fbbq/SckSNHxsiRIyMiYp999hFyAACAVVZjNwMFAACoCTk7k3PBBRfEBRdcUGm7W265JQYNGhQREX379o1+/frlqiQAAGAd4EwOAACQFCEHAABIipADAAAkRcgBAACSkrOBB6qqX79+BhsAAACqjTM5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApNTNdwFrmgYNGkTjxo3zXQZQTUpKSvJdAjWkdevW+S6BGtKsWbN8l0ANqlWrVr5LIIdy9f/rTA4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACSlbi4X3qdPnxg1alSV27/66quxySab5LAiAAAgdc7kAAAAScnpmZyybr311krbtGjRogYqAQAAUlZjIWffffetqZcCAADWYbqrAQAASRFyAACApAg5AABAUmrsmpxTTz01PvrooygsLIwNNtggWrduHTvuuGMcdNBBscsuu9RUGQAAQOJqLOS8/vrr2eni4uL44Ycf4vPPP48nn3wydtlll7juuuuidevWNVUOAACQqJyHnKZNm8auu+4a2223XbRp0ybq1KkT3377bbzzzjsxbNiwyGQyMWLEiDjuuOPi8ccfj1atWuW6JAAAIGE5DTlnnXVWdOnSJerXr7/cY7///e9j/Pjxcdppp8U333wT06ZNiwEDBsSdd96Zy5IAAIDE5XTggR133LHCgLPU9ttvH3fddVe2zbBhw2LcuHG5LAkAAEhc3kdX69ixYxx66KHZ+bLX7gAAAKyqvIeciIgePXpkpydNmpTHSgAAgLXdGhFymjdvnp2eO3duHisBAADWdmtEyCksLMxON27cOI+VAAAAa7s1IuSMHDkyO92hQ4c8VgIAAKzt8h5yJk+eHIMHD87O77XXXnmsBgAAWNvlLOQ88MADMXbs2JW2+eijj+Lkk0+ORYsWRUREr169YocddshVSQAAwDogZzcDHTFiRPz973+P9u3bR8+ePaNTp07RrFmzqF27dnz33XcxYsSIeOONN6K0tDQiItq1axdXXnllrsoBAADWETkLOUtNnTo1pk6dutI2vXr1iiuvvDLatGmT63IAAIDE5Szk9O/fP/baa68YN25cfPLJJzFz5swoLCyM4uLiaNSoUbRr1y523HHHOPjgg3VRAwAAqk3OQk779u2jffv2cfTRR+fqJQAAAJaT99HVAAAAqpOQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAICl1811Avi1YsKDc/KRJk/JUCZALJSUl+S6BGlKvXr18l0AN8b1et4wfPz7fJZBDy+57L7tvvrrW+ZDz1VdflZv/xz/+kadKAABY1umnn57vEqhBy+6bry7d1QAAgKQIOQAAQFLW+e5qe++9d7n59u3bxwYbbJCnagAAYN2xcOHCmDp1anZ+2X3z1VUrk8lkqmVJAAAAawDd1QAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJJSN98FULNeffXVGDx4cEyYMCEKCgqiUaNGsdlmm8W+++4bxx13XDRq1CjfJfITlJSUxKRJk2LChAnx4YcfxoQJE+KTTz6JH3/8MSIiDj/88Lj66qvzXCXVYd68eTF8+PAYOXJkfPTRRzFlypSYO3durLfeetG6devo2rVrHHTQQbH77rtHrVq18l0uP9G4ceNi/PjxMX78+Pjss8+isLAwCgsLo7i4OJo0aRIdO3aMHj16xOGHHx7t2rXLd7nkSP/+/ePZZ5/Nzvft2zf69euXx4r4Kfr06ROjRo2qcvtXX301NtlkkxxWlBYhZx0xf/78OOecc+K1114r9/dZs2bFrFmz4r333ouHHnoobrrppujWrVt+iuQnO+OMM+Lll1/Odxnk2L333hsDBw6MRYsWLffY4sWLY/LkyTF58uQYPHhw/PznP4/rrrsuNt544zxUSnX57W9/GwsWLKjwsZkzZ8bMmTNj1KhRcccdd0Tfvn3j1FNPreEKybU33nijXMABVk7IWQeUlJTE6aefHm+++WZERLRs2TKOPvro2HLLLWPOnDnx4osvxtixY2P69OlxyimnxKOPPhodO3bMc9WsjpKSknLzzZo1i2bNmsWUKVPyUxA5MXny5GzAadOmTey6667RpUuXaNGiRSxatCjef//9eP7552PBggXx7rvvRp8+feKJJ56IFi1a5LlyfooWLVpE165dY+utt45NNtkkGjduHIsXL45p06bF66+/HmPHjo2ioqK48cYbo7i4OPr27Zvvkqkm8+bNi0suuSQiIho0aLDCwMva69Zbb620jW34qhFy1gFPPvlkNuBsueWWcf/990fLli2zjx9//PFxzTXXxD333BNz5syJiy++OB5++OF8lctP0LVr1+jYsWN06dIlunTpEptuumk888wzcf755+e7NKpRrVq1olevXnHSSSdFz549o3bt8pdXHn744XHKKafEySefHJMnT46vv/46rr/++rjqqqvyVDE/1eOPPx5bbbXVCrsennrqqfHcc89F//79I5PJxG233RZHH310tGnTpoYrJReuvfbamD59erRt2zb233//uPfee/NdEtVs3333zXcJyTHwQOJKSkpi0KBB2flrr722XMBZ6pxzzoltt902IiLefffdeOutt2qsRqrPH//4xzj77LNj//33j0033TTf5ZAjZ555Ztx9992x2267LRdwlmrXrl3cdNNN2fmXXnopFi5cWEMVUt06depU6bVVhx12WOy5554RsaTb4tKDW6zd3nnnnXjiiSciIuKSSy6Jhg0b5rkiWDsIOYkbPXp0FBQURERE9+7do0uXLhW2q1OnTvTp0yc7P2TIkBqpD1h1zZo1q1K7bbbZJjp06BAREQsXLowvv/wyh1WxJthqq62y099//30eK6E6LFy4MC666KLIZDJx4IEHxl577ZXvkmCtIeQkbtiwYdnpX/ziFyttW/bxss8D1l5lR0ysaKAC0lI2yFZ01p61yw033BBfffVVNGvWLC644IJ8lwNrFdfkJO7TTz/NTm+//fYrbduqVato27ZtTJ8+Pb7//vuYNWtWNG/ePNclAjlSVFRUbtAJI6yl7bXXXouhQ4dGRMR6662X7brG2mns2LHZ62PPPfdcoTVxp556anz00UdRWFgYG2ywQbRu3Tp23HHHOOigg2KXXXbJd3lrJSEncZMnT85OV2Vs9U022SSmT58eERFffPGFkANrsRdffDHmzp0bERFdunSJVq1a5bkiqsPo0aNjzpw5EbEkyM6YMSOGDx+evZaybt26cdlll9kpXostWrQoBgwYEKWlpdGzZ8848sgj810SOfb6669np4uLi+OHH36Izz//PJ588snYZZdd4rrrrovWrVvnr8C1kJCTuKU7OBERG264YaXty/b1L/tcYO0ya9asuP7667Pzf/rTn/JYDdXpuuuuiw8++GC5v9eqVSt23nnnOO2002LnnXfOQ2VUl3/84x8xefLkWH/99ePyyy/PdznkUNOmTWPXXXeN7bbbLtq0aRN16tSJb7/9Nt55550YNmxYZDKZGDFiRBx33HHx+OOPO1i1CoScxJUdS3+99dartH3ZNvPnz89JTUBuFRUVRb9+/WLmzJkRsWRo0t69e+e5KnKtTZs2sdtuu8Vmm22W71L4CcaNGxf33XdfRET069cv2rdvn9+CyJmzzjorunTpEvXr11/usd///vcxfvz4OO200+Kbb76JadOmxYABA+LOO+/MQ6VrJwMPACSktLQ0BgwYEO+++25ERLRv3z6uvPLKPFdFdXriiSdi4sSJMXHixHjvvfdi8ODBcdppp8X8+fNj4MCBcfDBB8fbb7+d7zJZDUVFRXHBBRdESUlJdOnSJX7/+9/nuyRyaMcdd6ww4Cy1/fbbx1133ZVtM2zYsBg3blxNlbfWE3IS16BBg+x0VUZWKtvGWPywdslkMnHJJZfECy+8EBFLBhq49957o2nTpnmujFxp0KBBbLPNNvGXv/wlnn322WjdunXMnj07TjnllJg4cWK+y2MV3XbbbfHpp59GnTp14oorrog6derkuyTyrGPHjnHooYdm58teu8PKCTmJa9y4cXa6sLCw0vazZ8+u8LnAmi2TycSll16avWngRhttFPfff3+VBhwhDZtuummcffbZEbHkwuXbb789zxWxKj755JNsV6Tf/e53K7yvHeueHj16ZKcnTZqUx0rWLq7JSVyHDh3i66+/joiIr7/+utIdnqVtIyK22GKLnNYGVI9MJhOXXXZZPPbYYxGx5NqMBx54QF/+dVDZ+52NGjUqj5Wwqp555pkoLi6O2rVrR7169eKf//xnhe1Gjx5dbnppuw4dOsQBBxxQI7VSs8qOdGtQqKoTchLXqVOnePPNNyMiYvz48Ssda/3777/PDh/dokULw0fDWmBpwHn00UcjIqJ169bxwAMPuPh8HVX25q9Lh5lm7ZDJZCJiyXV1VT0LN3LkyBg5cmREROyzzz5CTqLK9sTRy6bqdFdL3O67756dHjZs2ErbvvHGG9npPfbYI2c1AdVj2YDTqlWreOCBB2LzzTfPb2HkTdmbvzpQBWlYGmQjlpyxo2qcyUlc9+7do1WrVlFQUBCjRo2KDz/8sMJ+viUlJfHggw9m5w888MCaLBNYDZdffvlyAccP4LptaZfFiIiddtopj5Wwqi644IK44IILKm13yy23xKBBgyIiom/fvtGvX79cl0YeTZ48OQYPHpyd32uvvfJYzdrFmZzE1alTJ/785z9n588777zsvTPKuv766+Pjjz+OiCU/jGXPAAFrniuuuCIeeeSRiPh/Acd1dGl69NFHY8SIEdnuTBUpKSmJf/3rX9nPRETEb37zm5ooD1gNDzzwQIwdO3albT766KM4+eSTsyPf9urVK3bYYYeaKC8JzuSsA4455pgYOnRoDB8+PD777LM49NBD4+ijj44tt9wyZs+eHUOGDIkxY8ZERESTJk3cXXkt9tVXX8VTTz1V7m9lh5H96KOPYuDAgeUe32WXXaJnz541Uh/VY+DAgfHQQw9FxJK73J944onxxRdfxBdffLHS53Xu3Dk23njjmiiRavTBBx/EpZdeGm3bto1dd901OnXqFC1atIh69erF3Llz49NPP41XX301pk2bln3OqaeeGt27d89j1cDKjBgxIv7+979H+/bto2fPntGpU6do1qxZ1K5dO7777rsYMWJEvPHGG1FaWhoREe3atXPPs1Uk5KwD6tatGzfffHOcc8458b///S8KCgoqHLVlo402ioEDB8ZWW22VhyqpDt98881KL1hdegPBsurWrSvkrGXKHv3LZDJxww03VOl5V111VRxxxBG5Koscmz59ejz99NMrbdO4ceM466yznMWBtcTUqVNj6tSpK23Tq1evuPLKK6NNmzY1VFUahJx1RKNGjeL222+PoUOHxuDBg2P8+PExc+bMaNiwYbRv3z569+4dxx13nFE7ANYwF154Yeyzzz4xevTo+Pjjj2Pq1KlRWFgYixcvjgYNGkSLFi1i6623jt133z32339/23FYC/Tv3z/22muvGDduXHzyyScxc+bMKCwsjOLi4mjUqFG0a9cudtxxxzj44IN1UVtNtTIr6+QLAACwljHwAAAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkJT/D1IacgJE4BYvAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 438,
       "width": 412
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "subsampled_image = maxpool_2x2(vertical_detect)\n",
    "plt.imshow(subsampled_image, cmap=\"gray_r\")\n",
    "plt.title(\"Max Pooled vertical edge detection filter\");"
   ]
  },
  {
   "cell_type": "code",
chadhat's avatar
chadhat committed
   "execution_count": 11,
   "metadata": {},
chadhat's avatar
chadhat committed
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAzkAAANtCAYAAACzDbX4AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAB7CAAAewgFu0HU+AABh/UlEQVR4nO3dd5hU5fk//htpijSpIogSFAuKnWKJsZCosUSNJVE0UaMxEXtB7JpYUYxiNPaOQUVRiZ8kahQbRVARUVCKKIKusHRk2/z+4Md8d2FhF2R25OH1uq69rjk7z5y5z5Rz5n3Oc55TK5PJZAIAACARG+S7AAAAgLVJyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXKghtx5552xzTbbxDbbbBN33nlnvstZqT59+mTrHDx48A+e37J5bbPNNmuhuh+XdeU9Xd/sv//+2fflq6++ync5P9jgwYOzy9OnT598l/Oj1atXr+zrNGLEiHyXs94YMWJE9nXv1atXvsupcYsXL46HHnooTjjhhOjWrVtsv/32lW4XqrMt9Bleu+rku4B1Xa9evWLkyJEV/nfXXXfFgQceWO153HTTTfHggw9W+N9ZZ50VvXv3Xis1/liNGDEiTjrppJXeX7du3WjYsGFsttlmsfPOO8ehhx4au+66aw1WCABQuTlz5sSJJ54Yn332Wb5LoRKO5OTAkCFDqt22tLQ0XnzxxRxWs+4qLi6OwsLC+Pjjj+OJJ56I3/zmN3HaaadFQUFBvksDKrG+79Fl/fPVV19lP/P7779/vsv5wXyHV0+/fv2yAadOnTqx9957x3HHHRcnnHBCnHDCCdGlS5e1/px6EFSfIzk58L///S/mzp0bTZo0qbLt22+/7Uf7/++EE06oMF1UVBRff/11jB49Or7//vuIiHjzzTfj5JNPjqeeeioaN26cjzIBgPVcSUlJDB06NDv98MMPxx577JHHiliekLMWbbXVVvH5559HcXFxDB06NH77299W+ZjyR32WPX59deWVV1b6/9mzZ8fVV18d//73vyMiYtKkSdG/f/+46qqrarI8WEHv3r2T71YKsCrdunWLCRMm5LuMGjd16tRYtGhRRERsscUWVQac9fE1yjfd1daiQw45JOrWrRsR1euytmDBgnjllVciImK77baLTp065bS+dVWzZs3itttui5133jn7v6effjoWLFiQv6IAgPXW3Llzs7dbtmyZx0pYGSFnLWrWrFnss88+ERHxwQcfxNSpU1fZ/uWXX852w/rVr36V4+rWbXXq1Ik//OEP2eni4uIYPXp0HisCANZXJSUl2dsbbODn9I+R7mpr2a9+9at47bXXIiLi+eefj3PPPXelbZcd7alTp04cdthh8eGHH1b7ecaNGxdvv/12jBkzJj7//POYPXt2FBcXR+PGjaN9+/bRrVu3OO6442KzzTZb6Tzmzp0bhx9+eMycOTMiIo4//vi45pprVvm8DzzwQNx8880REbHxxhvHkCFDYvPNN6923T/ELrvsUmH6yy+/rLTd7Nmz45lnnolhw4bF1KlTY86cObHxxhtHmzZtokePHnH00UfHVltttVrP/eabb8a//vWvGDNmTBQUFERJSUk0b948tt9++zjggAPisMMOyx7FW5vGjh0bL730UowYMSK++eabWLBgQTRp0iQ6dOgQP/3pT+O4446r1rlfy7zyyivx7LPPxrhx46KwsDCaNWsWHTt2jCOOOCIOPfTQqFOnZlYJkydPjoEDB8Zbb70VM2fOjFq1akW7du1i3333jd///vfRrFmzas/rs88+i8GDB8e7774bM2bMiIULF0bTpk2jQ4cOsc8++8QxxxwTm2yyySrnMXjw4Lj00ksjIuLII4+MG2+8MUpLS+P//u//4qWXXoqJEydGQUFBLFmypMLoiXfeeWcMGDAgIiofEbFPnz7x3HPPrc5LU6GGlfnggw/ihRdeiBEjRsS3334b33//fWyyySax9dZbx3777RdHHXVUNGjQYJXPUVntJSUl8dJLL8Xzzz8fkyZNisLCwmjatGl06dIljjnmmNhvv/2qnNcyI0eOrHSo1LZt22bXkcuUlZXFmDFj4u23344PP/wwJk+eHIWFhVFaWhpNmzaNn/zkJ9GjR4847rjjVuuzkQszZsyIwYMHx9tvvx3Tpk2LOXPmRIMGDWKzzTaLHj16xLHHHhsdOnSo9vw+/vjjGDhwYLz77rtRUFAQDRo0iHbt2sUvfvGLOOaYY6Jp06arXePMmTPj8ccfjzfeeCOmT58eERFt2rSJvfbaK4477rjo2LFjfPXVV3HAAQdEROXvSU0se3WVlZXFkCFD4oUXXoiJEyfGvHnzomXLlrHNNtvE0UcfvVqjmZa3rGv5//73vxg3blzMnj07MplMNGvWLHbeeec4+OCD48ADD4xatWqt8Njy64xlpk+fvtLhgVfVVWnSpEkxZMiQeOedd+Lrr7+OefPmRcOGDWPzzTePvffeO44//vho3bp1tZertLQ0/v3vf8frr78eH374YcyePTsWLVoUDRs2jPbt28dOO+0UBxxwQHTv3j27bD/kO1x+pNSuXbvGY489VmWNa2ObWn79esMNN8RRRx0VixcvjsGDB8dLL70UX3zxRcybNy+aN28eu+22W5xwwgmx2267VVnbqpT/3pRX2Wu1/GtR/v416bpW2Wi+AwYMWOF9i1j1NiSTycQrr7wSr7zySnzwwQfx3XffRVFRUTRr1iw6d+4cPXv2jMMOO2yVvwdWtv5477334rnnnovRo0dHQUFBLFiwIE466aS47LLLVnt51wYhZy3bb7/9okmTJjF37tx44YUX4pxzzql0BfnVV1/Fe++9FxERe++9dzRv3rzaz/HrX/86Pvroo0rvmzVrVsyaNSvef//9eOCBB+Kcc86pcASkvCZNmsTNN98cv/vd76KsrCyeeuqp2HfffVc6Qsz48eOjf//+2ekrr7yyxgJORKww0EBl3dWeeeaZuPHGG2P+/PkV/j9nzpyYM2dOfPLJJ/HII4/EiSeeGJdccknUrl17lc85a9asuOCCC+Ldd99d4b6vv/46vv7663jllVfiH//4R/Tr1y923HHHNViyFc2dOzeuuOKK7HlI5X333Xfx3XffxahRo+K+++6L6667Lg466KBVzm/hwoVx3nnnxRtvvFHh/998801888038c4778SgQYPib3/721qpf1UGDhwY119/fRQVFVX4/4QJE2LChAkxaNCguP/++6t8LUtKSuLGG2+MJ598MkpLSyvcV1BQEAUFBTFy5Mi47777om/fvnHkkUdWu8ZvvvkmzjvvvB/d0cJFixbFZZddFv/6179WuG/Ze/nWW2/FPffcE3/9619j3333rfa8v/nmmzjnnHPi/fffr/D/goKCePXVV+PVV1+No446Kv7617+u1b2WxcXFccABB8Q333xT6f3L3ssRI0bEvffeG1dffXUcccQRa+35q6usrCzuvPPOeOCBB2LJkiUV7ps7d27MnTs3Pvnkk3j00UfjtNNOi3PPPbfSdX95/fv3j/vuu6/C53fJkiVRWFgYH330UTz++OOr/Z0cOnRoXHHFFbFw4cIK///888/j888/j4EDB8aVV14ZPXr0qPY8c7Hs1VVQUBB//vOfV9gJOH369Jg+fXq89tpr0bNnz1XuFKjMiBEj4vLLL49p06atcN+yeQ8dOjR23nnnuOOOO1YrZFRXUVFR/OUvf4lnnnlmhXVYYWFhFBYWxtixY+PBBx+Miy66KE488cQq5/nee+/FZZddVmlPkmXbwbFjx8Zjjz0Wf/jDH+LCCy9cW4tTLbncpn7++edx9tlnx6RJkyr8f+bMmTF06NAYOnRo/PnPf46zzz77By/HuurTTz+NPn36xCeffLLCfTNnzoyZM2fGq6++Gv/4xz9iwIAB1d4hvOyz/M9//nNtl/yDCDlrWb169eLggw+Op556KqZPnx6jRo2Krl27rtDu+eefj0wmExGx2hvsGTNmZJ9r6623jvbt20ejRo0ik8lEQUFBfPjhh1FYWBjFxcXRr1+/iIiVBp1u3brFH/7wh/jHP/4RERF9+/aNF154IVq1alWh3eLFi+OCCy6I4uLiiIj45S9/WeNd7ObNm1dhulGjRhWmyx9lilj6+nTt2jXatGkT8+bNixEjRsScOXOitLQ0HnnkkZgxY0bccccdK90Yf/fdd/Gb3/ymwkawffv20aVLl6hXr15MmjQpu+GdOnVqnHTSSXH//ff/4D1FBQUFcfLJJ1dYUW+99daxzTbbxMYbbxyzZs2K9957L+bMmRPz5s2Lc889N26++eY4/PDDK51fcXFxnHHGGTFq1Kjs/1q2bBm77757bLzxxjFt2rQYPXp0jB49Os4666xo167dD6p/VQYPHhxXX311RER06NAhdthhh9hwww1j8uTJMWbMmMhkMjFnzpw488wz4+WXX17hPV6mrKwsevfuXWFvYtOmTaNr167RpEmTmDFjRowYMSKKi4tj3rx50adPn5g3b16cfPLJVdZYVFQUZ555Znz88cdRp06d2GWXXWLzzTePoqKiGD9+/Gotb48ePao8ohKxdM/a4MGDs91XK/tMLl68OE4++eQYO3Zs9n+tWrWK3XffPRo0aJB9H0tLS6OgoCD+9Kc/xa233lplAI5YGp5OO+20mDhxYmy00Uax2267RZs2bWLhwoUxYsSImDVrVkQsff86dOgQp59+eoXHd+nSJU444YT45ptvsucZtmrVKnr27LnCcy1/ZKKsrCwbcBo0aBBbb711bL755rHxxhtHSUlJfPPNN/HBBx/EggULYtGiRXHxxRdH3bp145BDDqlyudaW0tLSOO+88yrsdGjdunV06dIlmjVrFgsXLoyxY8fGtGnToqSkJO65556YPXt2XHfddSud52233ZZd70ZEbLTRRtG9e/do2bJlNtTNnDkzTj/99FVeT6y8//73v3HRRRdlfzDXrl07dt1119hiiy1i0aJFMWbMmJg5c2ZcfvnlccUVV+Rt2atr2Xe2/LqwXbt2sfPOO0e9evXi888/j7Fjx8Z///vf1QreL7/8clx00UXZ7dmGG24YO+20U7Rt2zY22GCDmDp1anzwwQdRUlISH3zwQRx33HHxzDPPRIsWLbLz6NixY5xwwgmxcOHCeP755yNiae+G6m4XFy1aFKeeemqMGTMm+7/27dtH586do3HjxjF37twYM2ZM9kjtddddFwsWLIg//vGPK53n0KFD45JLLskuV0TElltuGdtvv300atQoFixYEJ999ll8/vnnUVZWViGw/pDvcHXlcpv67bffxu9+97soKCiIxo0bx2677RYtW7aMwsLCGD58eHbH51133RVbbbXVGq8/GjZsmB0JtqrXaosttlij51iZAw88MLbeeusYO3Zsdkf3jjvuWOkw1TvttNMK/xs1alT88Y9/zO4grlu3buywww6x5ZZbRp06dWL69OkxevToWLJkSUyZMiWOP/74+Oc//xkdO3assrYbbrghG3A6deoU2267bdSpUyemTp2a3658GX6QE088MdOpU6dMp06dMk8++WQmk8lkxowZk/3fpZdeWunjevbsmenUqVNm9913z3z//feZTCaTOffcc7OPu+OOO1b6nFdddVXm9ddfzyxevLjS+0tKSjLPPvtsZuedd8506tQp07lz58y0adNWOr+ioqLM0UcfnX3uU045JVNWVlahzeWXX569/2c/+1lm3rx5q3xdqmP48OHZeXbq1KnK9v/5z38qtH/99dez940ePTqz3XbbZe877bTTMgUFBRUev2TJksxNN91UYR4PPvjgSp/vtNNOy7bbeeedMy+99NIKbcaOHZs54IADsu323XffzNy5cyud3x133FHl+1taWprp1atXtt2vf/3rzMcff7xCu++//z5z5513ZrbZZptsfSt7jwcMGJCd3zbbbJO5++67MyUlJRXaTJ48OXP44YdnPy/L2j/77LMrfX2qq/zrvcMOO2S6d++eeeONN1ZoN3LkyMyuu+6abXvnnXeudJ733ntvhfn269cvs2TJkgptvv3228wpp5ySbbP99ttnPvjgg0rn9+yzz1Zo16lTp8yJJ56Y+fLLL1doW/55qvOeVsdtt92Wnc9OO+1U6Xt+1VVXZdtst912mYcffjhTWlpaoc2UKVMyRx55ZLbdrrvuWukyLF/7DjvskOnUqVPmkksuyRQWFlZot2jRosz5559f4buwcOHCSudZ/jt94oknVmvZlyxZkunTp09m+PDhmaKiopW2ue+++7Lvze67755ZsGDBSue53377ZetY2fKvjttvvz07v7322ivz73//e4V1ZCaTyfzrX//K7Lbbbtm2Q4cOrXR+I0eOzH53O3XqlOndu3dmzpw5FdrMmzcvc955563wnbzkkksqneesWbMyXbt2zbb71a9+lZkyZUqFNmVlZZlHH300s91222Xf806dOmX222+/Glv21XHppZdm59e5c+fM008/vUKbDz/8MPt+l3+dhg8fXuk8J06cmOnSpUt2fXjjjTdWus6eNm1a5je/+U2FbUplvvzyy2q9jsu7+OKLs4/7+c9/Xmm9JSUlmSeeeCL7Xm233XaZMWPGVDq/jz/+OLPjjjtWeP9Xtr779ttvM/fff3/m3nvvXeG+NfkOV/cxa3ubeskll6ywDrvlllsyixYtqtCusLAwc9JJJ2XbHnDAAZV+hlfX6r5W1fm9U/435co+w2uy3fn2228zPXr0yD7u4osvznzzzTcrtCsoKMj8+c9/zrY79NBDV/i9kMlU/Nwv++217777ZkaNGrVC2+W3zTXJmVI5sMsuu8SWW24ZERH//ve/s3tnlxkzZkx88cUXERFx8MEHR/369Vdr/ldffXXsu+++seGGG1Z6f+3atbPdSiKW7sl/6qmnVjq/unXrxq233prd4/zWW2/FI488kr3/v//9bwwaNCgilp5cd8stt6x0D3uulJaWxv3331+h5vJ7d2677bbs3stddtkl7rrrrgp73SKWHtm5+OKLK1zgbMCAAZV2exs+fHgMGzYsO92/f//45S9/uUK7HXfcMR5++OHs6zFjxox49NFH13ApI3ueRUTEzjvvHI899lhsv/32K7SrX79+nHXWWfHnP/85IpbuFSz/+iwzf/78uO+++7LTZ511Vvzxj39coZtehw4d4qGHHoqWLVtW2AuYCw899FD89Kc/XeH/e+yxR5x//vnZ6fLXHyhvwYIF8fe//z07fcopp8QFF1wQ9erVq9CuZcuWcffdd2e7O5SUlMStt95aZX0lJSXRqVOnuO+++yo9qrX88/xQL7zwQtxzzz0RsfQIzs0337zCez5t2rQK3QAuu+yyOPnkk1fYQ7blllvGQw89FG3bto2Ipa/VXXfdVWUNRUVFceihh8aNN964wl7ajTbaKK6//vpo06ZNRCz9rL3++uuru5grVa9evbjhhhuiW7duK+2DX69evTjttNPinHPOiYile/hX56LLP8RXX32VPeLStGnTePLJJ+PnP/95pUfbDj744Ar94wcMGJA9Yl/erbfemv1/jx49on///iucW9eoUaPo169f7L333tX6Tj744IMxZ86ciFi6V/nBBx/MboeWqVWrVvTq1SsuvvjiFbqLViYXy15dU6ZMicGDB2enr7vuuvj1r3+9QrsuXbrEAw88EBtttFG1Xqe//OUv2W1ynz594pJLLqn0mmubb7553H///dnuOsOGDVut82ZX5b333sse/Wnfvn0MHDgwunXrtkK72rVrx29/+9vsubKlpaUr/T5fd9112SMzO+ywQzz++OOV7s2PWLpuPPXUU1fawyMXcr1NLSoqijPOOCMuvPDC2GijjSrc17Rp0wq/cb788ssKR8TXB/37988eke/Vq1fcdNNNK/TYiYho0aJF/O1vf4vu3btHRMTEiRMr7TZfXmlpaWy00Ubx0EMPxe67777C/Wt7m7k6hJwcWdYFrfww0cssW7mVb5cLv/jFL7Jf6sr6v5a3xRZbxOWXX56dvvXWW+PTTz+Nb775psL/Tz/99Eo/xLk0e/bsOO+88+KDDz7I/u/Xv/51NGzYMCKWnrRZvivWlVdeucov1fnnn589EX3BggXx0ksvrdCm/A/K/fffP372s5+tdH7t2rWLM844Izv91FNPrfHG/eGHH87evuaaa1YaZJc5/fTTsxvooUOHRllZWYX7X3zxxVi8eHFERGy66aYrdDMqr1mzZjnvq3zcccfFtttuu9L7jzjiiOzJjlOmTKk0gL744ovZaxO0aNEi+8O3MvXq1atw/aURI0bE5MmTq6zzwgsvrPK1Xxs++OCDCidknnPOOfHzn/98hXaDBg3KvrfbbbfdKq/B1aRJkwr97F966aUVzlFbXt26daNPnz4rvb9+/foVfpDk6wfC0Ucfnb1d1TptbXn00UezO1D+9Kc/Rfv27VfZvnv37rH33ntHxNJ10/JdHCdNmlThvKfLL798pecGbrDBBnH55ZdXeX5LWVlZhUDQu3fvVQ620atXr2p1pVnby746nnnmmex6tEuXLqs8p65Dhw7V6or66aefxvDhwyMiYvvtt6/yMQ0aNIg//elP2ekXX3yxOqVX6aGHHsrevuSSS6ocTOOoo46Kn/zkJxGxdCdkYWFhhfs//PDDbLe3WrVqxU033RQbb7zxWql1bcn1NrVZs2bZnX6VadGiRYVzFNenkDN79ux44YUXImJpwL3oootW2b527dpx3nnnZaeXPXZVTjjhhJwMOvJDOScnR4444oi44447IpPJxPPPPx+HHnpoRCzd2/Dyyy9HxNI9OD/0/I1PP/00Pvnkk5g+fXosWLBghb1zyzaOEydOjLKyslX2jTz66KPjzTffjJdffjmKioriggsuiObNm2f3Dnbp0iWnFz689tprK0wXFxfH119/He+9916Fo2EdOnSoMGrdso1WxNIfgJUd+SivQYMGceihh2ZHPRkxYkQcf/zxFdosO5oSUfGH1cocffTRcdttt0VZWVkUFBTE5MmTq9WPtbxvv/02ezLgVltttcowsEz9+vVj5513jmHDhsX8+fNj4sSJFR5XfjkOOeSQKveoHHLIIXHttdfm7GhOVeeHLBtRaMqUKZHJZCodraj8+/3LX/6yyjDSpUuX6NSpU0ycODEilr4my34wVKZJkybZH2q5NGPGjPjzn/+c/c4edthhceaZZ1batvwyH3nkkVX+6O3Zs2c0bdo05syZE0VFRfH+++9XevRsmWX911el/Pdq2Yhda1tZWVmMGzcuPv3005g5c2YsWLCgwjCt5VV24mwulB+s47DDDqvWY7p37x5vvfVWRESMHj06OnfunL2v/HvZuXPnKk/s7dChQ+y8884rDAhR3qRJk7J7aevUqVPl+Qa1a9eOX/7ylxWOiFZmbS/76ii/7qrOzsBf/epX2SOiK1N+eX75y19Wa3CEZXu0I2KtDERSUlIS77zzTkQs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1Znn7NmzKwwCUdUIb5UpfyLwJ598slb2yJV/bcqffLgyCxcujM8+++wHP28urcn7Xb7dmrw3P9TXX38dZ511VvYI6VFHHVXta1TUqlWrwtGe6ixzSUlJhROVa2qZV/dIb/l1WnVOXC0/VHxNaNWqVYVzXKr7eVuV1f1OVud5y89z8uTJ1TriVdUQurlY9upa/jNfnevTTJ06dZXn40REhSvDV2fEqOpY3c/8dtttl+1SPmvWrOw1836I8gMzlB+9b03kordGvrapqVrd9ygXn/t1hZCTY7Vr115h6M017apW/oNdnb1qAwcOrPa8Z8+eHZdeemk2FJ1yyinRvXv3OOqoo7JHnZZ1ZVt2wbEfi/JDfI4fP77KILZ48eL417/+Venjlyk/Qs1zzz1XZQ3PPfdc9pynVq1arXKI4pXZfPPNs6PHFBcXxzPPPLPa81he+eV4+eWXqxwa+l//+le1LhKYT+Xfr6FDh1b5efzoo48qnO9V06MPLVy4sMJIarvvvnv24n7VVX6Zn3/++Sp3XrzyyivZH3z169ev9iheP1T5oUmrMwz56qzTysrKshclrknlr+fx5JNP/uD5lX8vx40bF5MmTVpl+y+++KLKMLTVVltlf0QWFxdnh8ldmbKyskqvD7a8tb3sq6P897Q6XbrKX39uZcoP1/zf//53rRxJWd3P/IYbbljhM7A2XtfyIye+++67VX6mVmV1l6e68rFNTVX5866rM4DCPvvskx0Y4P333/9R7qzOFSGnBpx55pnxzDPPZP/W9CT+du3aZX8UfPbZZ/Hll1+utO2//vWv+N///lftefft2zd7GLNz584VrkNz7bXXZkfi+fzzz+Omm25ag+pzp2PHjrHHHntkp6+77rpVrpxvv/327Gg0DRs2zF7DqLzjjjsue/u///1vhesQLG/69OkVrs9w3HHHrfHesPJ792+//fbVGoyhssPQhx12WLY/7owZM+K+++5b6eMLCwvjjjvuWI1q8+Owww7L9msvKChY5dC2RUVF8Ze//CU73a1btxrdWJaVlcVFF12U3ai0a9cu7rzzztW+AvSxxx6bvcbVxx9/XOHCesubN29e3HLLLdnpX/7yl2t05HhNlB+itfxRmpUpP/jKqFGjVnmC7P3335+XjfMpp5ySHVL8v//972qNbFnZd7Jjx44VQuf111+/0kFhysrK4i9/+UuVoXaDDTaosPNswIABqzyq8fjjj1fr8gNre9lXx69//evs7Q8++CA7Mmllvvjii2p1p+7SpUt07do1IpZ2m7r44ourvVOnqKio0u7fjRs3zn43CwsLqxUMyq/nH3/88ex1c6qjste1S5cu2WGZM5lMXHzxxWs8+uDqfoerK1/b1BSV77pXVbfTiKVH0g4//PCI+H+fj+qe31hWVlbt7oU/RkJODWjcuHHsuOOO2b81vQZHs2bNsoely8rK4uyzz17h6u1lZWXxxBNPxMUXXxy1a9eu1kWfnnjiiWwg2mijjaJfv34VusI1adIkbr755uyK/IknnqhwUbUfg/PPPz/7ur733nvRu3fvCsNqRizdSN16663x8MMPZ/931llnVXpCY/fu3SvsHTv77LMr3Ts6bty4+P3vf58dWrRNmzZx0kknrfFyHH744dm9fAsXLozf/va38dRTT610Q7xgwYJ44YUXolevXnHdddetcH+jRo3itNNOy07fcccdce+9964wOs/UqVPjlFNOiW+//bbKbpD51rBhwwpXIb/33nvj9ttvX+E1+u677+JPf/pTdi94nTp14oILLqjJUuO2226LV199NSKW1n3PPfes0RDV7du3r/Aj4brrrosnnnhihR/HX3zxRZxyyinZfvkNGzZc5VXA17Z27dplQ/X06dOr7BK1/fbbR+vWrSNi6QhA55xzzgob7aKiovjb3/4Wt956a15Gjmrfvn2Fi7T27ds3brrpppVu+EtKSuKtt96Kiy66KI488shK25x33nnZH21vvfVWXHDBBSsMT7xgwYK46KKLYtiwYdX6Tp5yyinZH6gzZ86MU089dYWuUJlMJp544om48cYbqxW0c7Hs1dWhQ4c46qijstOXX355pUcAPvroo/j9738fixYtqtbrdMUVV2Q/R2+//XaceOKJq+wON2XKlLjrrrti//33r7SrT7169WKLLbaIiKVHPpaNnLgqXbt2zb4+JSUlcfrpp8c//vGPlQaTJUuWxCuvvBJnnnnmSi8YfPnll2ff03Hjxq1yuQoKCuKBBx6I+++/f4X7Vvc7XF352qamaOutt87efuutt6o1etq5556bPXViwoQJ8etf/3qVw/bPnDkzHn744TjooIMq9HxZ1xhdbR1zzjnnxCmnnBJlZWUxfvz4OPzww2OXXXaJzTffPBYtWhTvvfdedk/PeeedF4MGDVrllX0nTZoUN998c3a6T58+le7p7tatW5x66qnZIwGXXnppvPjiixX62ebTrrvuGhdccEF2Wf73v//Fz372s+jWrVu0adMm5s6dGyNGjKiwd7Nnz56rHGXkhhtuiN/85jcxbdq0WLRoUZx77rlx++23R5cuXaJu3boxadKk+PDDD7N7WZddMLVx48ZrvBy1a9eO22+/PU455ZQYP358LFiwIK666qq45ZZbYuedd47WrVtH7dq1Y+7cuTFlypSYPHly9nD1L37xi0rnefrpp8fbb78dY8aMiUwmE7feems8+uij0bVr12jQoEF88cUXMXr06CgtLY2ddtopNt9882p1ZcmnU089NUaPHp0N53fffXcMHDgwunXrFk2aNIkZM2bEiBEjKgSfiy66qMoLIK5t5Y+cbbHFFtXuQrrTTjutcB2tSy65JMaNGxcfffRRlJSUxLXXXhv33ntv7LbbbtGgQYOYNm1avPfee9kAu+xCg+3atVt7C1SF2rVrZ0eUjIg46aSTYp999ok2bdpkd0I0adIk/vjHP0bE0iMQ55xzTvTt2zcilv7oPOigg2KXXXaJzTbbLObMmRMjR47M7kG/9tpr48ILL6yx5VnmrLPOiunTp8dzzz0XmUwmHnzwwXjsscdihx12iPbt28eGG24YCxcujOnTp1e42GP5veLldevWLU455ZR44IEHImLpkffXX389unXrFi1btozvvvsuhg8fHosWLYomTZrESSedFHfeeecqa2zRokVcc801cd5550VZWVmMGzcuDj744Nhtt91iiy22iMWLF8fo0aOzJ+f37ds3u2NkVXvJ1/ayr44+ffrE+++/H1OmTImioqLo06dP3HXXXbHzzjtHvXr14vPPP4+xY8dGJpOJn//859nPy6p06tQpbrvttjjvvPNi8eLF8eGHH8axxx4b7du3j+233z6aNGkSRUVFMWvWrJgwYUK19pT/4he/yB55uOiii+K5556L9u3bVwhdl1xySYXHXHvttVFQUBBvvfVWFBcXx2233RZ33313dOnSJTbbbLOoV69ezJs3L6ZNmxafffZZdl3WuXPnSmvo3Llz/PWvf41LL700SkpKYvz48XHsscdGhw4dYvvtt4+GDRvGggUL4vPPP4/PPvssysrKKg0Pq/sdXh352KamqEuXLtGmTZuYMWNGFBQUxMEHHxx77bVXbLLJJtnv8o477hiHHHJI9jGtW7eOv//973H66adHYWFhTJkyJU499dRo3bp1dOnSJZo1axbFxcVRWFgYn3322Y9yAIs1IeSsY3r06BFXXnll/OUvf4mSkpIoLi6OkSNHVlixb7DBBnHmmWfGGWecsco+7EVFRXH++ednhxw94IAD4vjjj19p+3POOSfeeeed+Pjjj2PWrFnRt2/f+Mc//rH2Fu4HOvXUU6Nx48Zx4403xoIFC6KoqKjSQ+K1a9eOE044Ifr06bPKjXuLFi1i4MCBccEFF2RP5pw6dWql3Ty22GKL6NevX4UT/NbUJptsEgMHDowbbrghnnnmmSgpKYkFCxascq/LhhtuuNKNX7169eK+++6Lc889N/t6FBQUxNChQyu022WXXeKOO+6I22677QcvQ65tsMEGMWDAgLjhhhti4MCBUVpaGnPmzIl///vfK7Rt1KhR9O3bt8Je4Xz4+OOPq32R1UWLFq0QcjbaaKN45JFH4rLLLsvuAZ05c+YK72NERMuWLeOvf/1r7Lvvvj+88NV0/vnnx4gRI6KgoCAWL14c//nPfyrc37Zt2wo/kI4++uiYNm1a9kfiokWL4u23367wmPr160ffvn3jsMMOy0vIqVWrVtx4443RuXPnuPPOO2Pu3LlRXFwc77///kpPoq5Vq9Yqr+y+7Gj7/fffH2VlZbFo0aIVuhi3atUq7rjjjpgyZUq16jzooIOiuLg4rrzyyli0aFGUlpausH2oV69eXHHFFdluWxFLj/jV5LJXV5MmTeKRRx6JP/3pTzFu3LiIiPjyyy9X6Kq9//77xw033LDSoxzL22+//eKpp56Kvn37Zr+T06ZNi2nTpq30MW3btl3pBVRPO+20+M9//hOTJ0+O4uLiSns6LB9y6tWrF/fee28MGDAgHnrooVi8eHEsXrw4RowYsdIa6tatW2GQgeUdfvjh0bJly7j88suzP1KnTJmy0s/Pyo6Mru53uLrytU1NzQYbbBBXXXVV9O7dO4qLi6OgoGCFc9KOPPLICiEnYmk4evbZZ+Oyyy6Ld999NyKWdnf773//u9LnatGiRfZI5bpIyFkH/eY3v4ldd901Hn744RgxYkR8++23seGGG0br1q2je/fucfTRR1drJJLbbrst28e9ZcuWFc5dqEzdunXj1ltvjaOOOioWLVoUr7/+ejz++ONx4oknrpXlWhuOOeaYOOCAA+Lpp5+OYcOGxdSpU2Pu3Lmx8cYbx6abbhp77rlnHH300bHVVltVa34tWrSIRx55JIYNGxYvv/xyjB49OgoKCqKkpCSaN28e2223XRx44IFx+OGHr9VuXhtuuGFcc8018Yc//CFeeOGFGD58eHb0oLKysmjUqFFsvvnmse2222a7Aazqh0rDhg3j/vvvj//85z8xePDgGDduXMyZMyc22WST6NixYxx22GFrfRlyrU6dOnHFFVfE8ccfH88++2y8++67MXPmzFi4cGE0adIkttxyy9h3333jmGOOSWb40Y033jhuv/32OPnkk2PIkCExcuTI+Pbbb+P777+PTTbZJDp16hQ/+9nP4uijj87bRQHbtm0bQ4YMiccffzzefvvtmDp1aixcuHCVJ8ied955sc8++8QTTzwRo0ePjtmzZ2e/s/vss0/8+te/ji233LLmFmIlevXqFUceeWQMGTIk3nnnnfj0009j9uzZUVRUFBtvvHG0bt06tt566+jatWvsu+++FUYnq8wFF1wQv/jFL+LJJ5+M4cOHR0FBQTRo0CDatm0bP//5z+PYY4+NZs2aVTvkRCw9Z2333XePxx57LN544434+uuvo1atWrHpppvGXnvtFccff3x07NixQlem6uwpX9vLXl2tW7eOQYMGxfPPPx8vvvhiTJgwIebPnx8tWrSIbbfdNn71q1/FL37xi9U+Z2PbbbeNwYMHx1tvvRWvvPJKjBkzJr799tuYP39+1KtXLzbZZJPo0KFD7LTTTrH33nvHLrvsstLnaNSoUTzzzDPx5JNPxhtvvBGTJk2K+fPnV3l+Tu3ateOcc86JXr16xfPPPx/vvPNOTJo0KQoLC6OkpCQ23njjaNu2bXTq1Cm6desW++67b5XdXXv06BH/93//F0OHDo3XX389xo0bF7NmzYri4uJo2LBhbLHFFrHzzjtHz549Y/fdd690HmvyHa6ufG1TU7PffvvFs88+G0888USMGTMmvv7661i0aFGV5++1bds2Hn744Xj//ffj//7v/2LUqFExc+bMmDdvXtSuXTuaNm0aW2yxReywww6x9957R9euXbODFqyLamVq4rLRAMCPxqBBg+KKK66IiIjjjz9+tUf8A/ixM/AAAKxnyp9MvOOOO+axEoDcEHIAYD3yn//8J9snv379+tGzZ888VwSw9gk5AJCAMWPGxOWXXx6ffPJJpfcXFRXFww8/HOeff372f8cee2w0adKkpkoEqDHOyQGABIwYMSI7LHCbNm1i2223jRYtWkQmk4lvvvkmPvjggwrX1Nhqq63i6aefztsgFQC5tO4OmQAAVGrGjBnZa+JUZu+9987bBVYBaoIjOQCQgLKyshg5cmS88cYbMW7cuPj2229jzpw5sWDBgmjYsGG0atUqdt111/jlL39Z4To5ACkScgAAgKQYeAAAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFLW+4uBzpgxI1577bXsdPv27WOjjTbKY0UAALB+WLx4cUybNi07vf/++0ebNm1+8HzX+5Dz2muvxbXXXpvvMgAAgIg44YQTfvA8dFcDAACSIuQAAABJWe+7q22++eYVpvv27RudOnXKUzUArKlMJpPvEqgh9erVy3cJ1KCioqJ8l0AOTZw4MW644Ybs9PK/zdfUeh9yGjRoUGG6U6dOseuuu+apGgDWlJCz/thwww3zXQI1aPHixfkugRq0/G/zNaW7GgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAICl1auqJXn311RgyZEiMGzcuCgoKomHDhrHFFlvEgQceGMcff3w0bNiwpkoBAAASlvOQs3Dhwrjwwgvjtddeq/D/2bNnx+zZs+P999+Pxx9/PG6//fbYeeedc10OAACQuJyGnNLS0jjnnHPizTffjIiIFi1axDHHHBNbbbVVzJ07N1566aUYM2ZMzJgxI04//fQYOHBgdOzYMZclAQAAictpyHn66aezAWerrbaKRx55JFq0aJG9/4QTToibbropHnzwwZg7d25ceeWV8cQTT+SyJAAAIHE5G3igtLQ0BgwYkJ2++eabKwScZS688MLYbrvtIiLivffei7feeitXJQEAAOuBnIWcUaNGRUFBQUREdO3aNTp37lxpu9q1a0evXr2y00OHDs1VSQAAwHogZyFn2LBh2ds//elPV9m2/P3lHwcAALC6chZyJk6cmL294447rrJty5Yto02bNhER8d1338Xs2bNzVRYAAJC4nIWcKVOmZG+3a9euyvbl20yePDknNQEAAOnLWciZP39+9vYmm2xSZfumTZtW+lgAAIDVkbOQs2jRouzt+vXrV9m+fJuFCxfmpCYAACB9OQs5AAAA+ZCzkNOgQYPs7SVLllTZvnybjTfeOCc1AQAA6ctZyGnUqFH2dmFhYZXt58yZU+ljAQAAVkfOQk6HDh2yt7/66qsq25dv85Of/CQnNQEAAOnLWcjp1KlT9vZHH320yrbfffddzJgxIyIimjdvHs2aNctVWQAAQOJyFnL22Wef7O1hw4atsu0bb7yRvb3vvvvmqiQAAGA9kLOQ07Vr12jZsmVERIwcOTI+/vjjStuVlpbGY489lp0+5JBDclUSAACwHshZyKldu3b86U9/yk5fcsklMWvWrBXa9evXLz755JOIiNh1110rHAECAABYXXVyOfNjjz02XnnllXj77bfjs88+iyOOOCKOOeaY2GqrrWLOnDkxdOjQGD16dERENG7cOK699tpclgMAAKwHchpy6tSpE3fccUdceOGF8b///S8KCgri73//+wrtNt100+jfv39svfXWuSwHAABYD+Q05ERENGzYMO6555545ZVXYsiQIfHRRx/FrFmzYuONN4727dtHz5494/jjj3dtHAAAYK3IechZ5sADD4wDDzywpp4OAABYT+Vs4AEAAIB8EHIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSUiffBfzYfP/997Fo0aJ8l0EOLVmyJN8lUIMaN26c7xKAtWzGjBn5LoEa9N133+W7BHLoq6++ysl8HckBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICk1MnlzEtLS2PSpEkxbty4+Pjjj2PcuHHx6aefxvfffx8REUceeWTceOONuSwBAABYz+Q05Jx77rnxn//8J5dPAQAAUEFOu6uVlpZWmG7atGlsueWWuXxKAABgPZfTIzldunSJjh07RufOnaNz586x+eabx+DBg+PSSy/N5dMCAADrsZyGnD/+8Y+5nD0AAMAKjK4GAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAICl1cjnzL7/8Mp555pkK/5swYUL29vjx46N///4V7u/evXv06NEjl2UBAAAJy2nI+frrr+Oee+5Z6f0TJkyoEHoiIurUqSPkAAAAa0x3NQAAICk5PZLTrVu3FY7UAAAA5JIjOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKTUyXcBPzalpaVRUlKS7zLIoVq1auW7BGpQ7dq1810CNeT777/PdwnUkFmzZuW7BGpQixYt8l0COdSkSZOczNeRHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASEqdXM58wYIF8fbbb8eIESNi/PjxMXXq1Jg/f37Ur18/WrVqFV26dIlDDz009tlnn6hVq1YuSwEAANYTOQs5Dz30UPTv3z+WLFmywn0lJSUxZcqUmDJlSgwZMiR23333uOWWW2KzzTbLVTkAAMB6ImchZ8qUKdmA07p169hzzz2jc+fO0bx581iyZEl88MEH8cILL8SiRYvivffei169esWgQYOiefPmuSoJAABYD+Qs5NSqVSv23nvvOOWUU6JHjx6xwQYVT/858sgj4/TTT49TTz01pkyZEl999VX069cvbrjhhlyVBAAArAdyNvDAeeedFw888EDstddeKwScZdq2bRu33357dvrll1+OxYsX56okAABgPZCzkNO0adNqtdt2222jQ4cOERGxePHi+OKLL3JVEgAAsB74UQwh3bBhw+ztygYqAAAAqK68h5yioqKYOnVqdtoIawAAwA+R95Dz0ksvxfz58yMionPnztGyZcs8VwQAAKzL8hpyZs+eHf369ctOn3nmmXmsBgAASEHeQk5RUVH07t07Zs2aFRERBx54YPTs2TNf5QAAAInIS8gpKyuLvn37xnvvvRcREe3bt4/rr78+H6UAAACJqfGQk8lk4qqrrooXX3wxIpYONPDQQw9FkyZNaroUAAAgQTUacjKZTFx99dUxaNCgiIjYdNNN45FHHol27drVZBkAAEDCaizkZDKZuOaaa+Kpp56KiIjWrVvHo48+Gu3bt6+pEgAAgPVAjYScZQFn4MCBERHRqlWrePTRR2OLLbaoiacHAADWIzkPOcsHnJYtW8ajjz4aW265Za6fGgAAWA/lPORce+21KwScDh065PppAQCA9VROQ851110XTz75ZET8v4Dzk5/8JJdPCQAArOfq5GrG/fv3j8cffzwiImrVqhUnnXRSTJ48OSZPnrzKx22//fax2Wab5aosAAAgcTkLOWPGjMnezmQyceutt1brcTfccEMcddRRuSoLAABIXI1fDBQAACCXcnYk57HHHsvVrAEAAFbKkRwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApdfJdwI/Na6+9Fp9++mm+yyCHRo0ale8SqEGPPvpovkughnTp0iXfJVBDXnjhhXyXQA1q1qxZvksghxo3bpyT+TqSAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAklInlzMfO3ZsfPTRR/HRRx/FZ599FoWFhVFYWBjFxcXRuHHj6NixY3Tr1i2OPPLIaNu2bS5LAQAA1hM5DTknn3xyLFq0qNL7Zs2aFbNmzYqRI0fGP/7xjzjrrLPijDPOyGU5AADAeiCnIScionnz5tGlS5fYZpttol27dtGoUaMoKSmJ6dOnx+uvvx5jxoyJoqKiuO2226K4uDjOOuusXJcEAAAkLKch55///GdsvfXWUatWrUrvP+OMM+L555+PPn36RCaTibvvvjuOOeaYaN26dS7LAgAAEpbTgQc6deq00oCzzK9+9av42c9+FhERJSUl8eabb+ayJAAAIHE/itHVtt566+zt7777Lo+VAAAA67ofRcj54osvsrdbtGiRx0oAAIB1Xd5DzmuvvRavvPJKRETUr18/23UNAABgTeR8dLVlRo0aFXPnzo2IiKKiopg5c2a8/fbb8dZbby0tpE6duOaaaxzJAQAAfpAaCzm33HJLfPjhhyv8v1atWrHHHnvE2WefHXvssUdNlQMAACQq793VWrduHXvttVdsscUW+S4FAABIQI2FnEGDBsWECRNiwoQJ8f7778eQIUPi7LPPjoULF0b//v3jsMMOi3feeaemygEAABKVlyM5DRo0iG233Tb+/Oc/x3PPPRetWrWKOXPmxOmnnx4TJkzIR0kAAEAi8t5dbfPNN48LLrggIiKKi4vjnnvuyXNFAADAuizvISci4qc//Wn29siRI/NYCQAAsK77UYSchg0bZm8vG2YaAABgTfwoQs7UqVOzt5s1a5a/QgAAgHXejyLkPPXUU9nbu+66ax4rAQAA1nU5CzkDBw6M4cOHRyaTWWmb0tLSuPfee+PJJ5/M/u+3v/1trkoCAADWA3VyNeMPP/wwrr766mjTpk3sueee0alTp2jevHnUrVs35s+fHxMnToxXX301pk+fnn3MGWecEV27ds1VSQAAwHogZyFnmRkzZsSzzz67yjaNGjWK888/31EcAADgB8tZyLn88svjgAMOiFGjRsUnn3wS06ZNi8LCwigpKYkGDRpE8+bNY5tttol99tknDjrooGjUqFGuSgEAANYjOQs5DRs2jJ49e0bPnj1z9RQAAAAr+FGMrgYAALC2CDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICk1Ml3AT82hxxySOyyyy75LoMcOvnkk/NdAjXorrvuyncJ1JCSkpJ8l0AN2WijjfJdAjWorKws3yWQQ5lMJifzdSQHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSkteQ06dPn9hmm22yf3feeWc+ywEAABKQt5DzxhtvxHPPPZevpwcAABKVl5CzYMGCuOqqqyIiokGDBvkoAQAASFReQs7NN98cM2bMiDZt2sRxxx2XjxIAAIBE1XjIeffdd2PQoEEREXHVVVfFxhtvXNMlAAAACavRkLN48eK44oorIpPJxCGHHBL77bdfTT49AACwHqjRkHPrrbfGl19+GU2bNo3LLrusJp8aAABYT9RYyBkzZkw88cQTERFx8cUXR4sWLWrqqQEAgPVIjYScJUuWRN++faOsrCx69OgRRx99dE08LQAAsB6qkZDzt7/9LaZMmRIbbrhhXHvttTXxlAAAwHoq5yFn7Nix8fDDD0dERO/evaN9+/a5fkoAAGA9ltOQU1RUFJdddlmUlpZG586d4/e//30unw4AACC3Iefuu++OiRMnRu3ateO6666L2rVr5/LpAAAAchdyPv3007jvvvsiIuJ3v/tddO7cOVdPBQAAkFUnVzMePHhwFBcXxwYbbBB169aNv//975W2GzVqVIXby9p16NAhDj744FyVBwAAJCpnISeTyURERFlZWdxzzz3VesyIESNixIgRERFxwAEHCDkAAMBqq7GLgQIAANSEnB3Jueyyy+Kyyy6rst2dd94ZAwYMiIiIs846K3r37p2rkgAAgPWAIzkAAEBShBwAACApQg4AAJAUIQcAAEhKzgYeqK7evXsbbAAAAFhrHMkBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkpU6+C/ixqV27dtSp42UBWNe8/vrr+S4ByIEDDzww3yWwDnIkBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAklInlzPv1atXjBw5strtX3311WjXrl0OKwIAAFLnSA4AAJCUnB7JKe+uu+6qsk3z5s1roBIAACBlNRZyDjzwwJp6KgAAYD2muxoAAJAUIQcAAEiKkAMAACSlxs7JOeOMM2L8+PFRWFgYG220UbRq1Sp22WWXOPTQQ6N79+41VQYAAJC4Ggs5r7/+evZ2cXFxzJs3Lz7//PN4+umno3v37nHLLbdEq1ataqocAAAgUTkPOU2aNIk999wzdthhh2jdunXUrl07vvnmm3j33Xdj2LBhkclkYvjw4XH88cfHP//5z2jZsmWuSwIAABKW05Bz/vnnR+fOnaNevXor3Pf73/8+Pvroozj77LPj66+/junTp0ffvn3jvvvuy2VJAABA4nI68MAuu+xSacBZZscdd4z7778/22bYsGExduzYXJYEAAAkLu+jq3Xs2DGOOOKI7HT5c3cAAABWV95DTkREt27dsrcnTZqUx0oAAIB13Y8i5DRr1ix7e/78+XmsBAAAWNf9KEJOYWFh9najRo3yWAkAALCu+1GEnBEjRmRvd+jQIY+VAAAA67q8h5wpU6bEkCFDstP77bdfHqsBAADWdTkLOY8++miMGTNmlW3Gjx8fp556aixZsiQiIvbee+/YaaedclUSAACwHsjZxUCHDx8ef/3rX6N9+/bRo0eP6NSpUzRt2jQ22GCD+Pbbb2P48OHxxhtvRFlZWUREtG3bNq6//vpclQMAAKwnchZylpk2bVpMmzZtlW323nvvuP7666N169a5LgcAAEhczkJOnz59Yr/99ouxY8fGp59+GrNmzYrCwsIoLi6Ohg0bRtu2bWOXXXaJww47TBc1AABgrclZyGnfvn20b98+jjnmmFw9BQAAwAryProaAADA2iTkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASEqdfBeQb4sWLaowPXHixDxVAsAPMXny5HyXAOTAmDFj8l0CObT8b+/lf5uvqfU+5Hz55ZcVpq+//vo8VQIAAOu35X+brynd1QAAgKQIOQAAQFLW++5q+++/f4Xp9u3bx0YbbZSnagAAYP2xePHimDZtWnZ6+d/ma6pWJpPJrJU5AQAA/AjorgYAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJCUOvkugJr16quvxpAhQ2LcuHFRUFAQDRs2jC222CIOPPDAOP7446Nhw4b5LpEfoLS0NCZNmhTjxo2Ljz/+OMaNGxeffvppfP/99xERceSRR8aNN96Y5ypZGxYsWBBvv/12jBgxIsaPHx9Tp06N+fPnR/369aNVq1bRpUuXOPTQQ2OfffaJWrVq5btcfqCxY8fGRx99FB999FF89tlnUVhYGIWFhVFcXByNGzeOjh07Rrdu3eLII4+Mtm3b5rtccqRPnz7x3HPPZafPOuus6N27dx4r4ofo1atXjBw5strtX3311WjXrl0OK0qLkLOeWLhwYVx44YXx2muvVfj/7NmzY/bs2fH+++/H448/HrfffnvsvPPO+SmSH+zcc8+N//znP/kugxx76KGHon///rFkyZIV7ispKYkpU6bElClTYsiQIbH77rvHLbfcEptttlkeKmVtOfnkk2PRokWV3jdr1qyYNWtWjBw5Mv7xj3/EWWedFWeccUYNV0iuvfHGGxUCDrBqQs56oLS0NM4555x48803IyKiRYsWccwxx8RWW20Vc+fOjZdeeinGjBkTM2bMiNNPPz0GDhwYHTt2zHPVrInS0tIK002bNo2mTZvG1KlT81MQOTFlypRswGndunXsueee0blz52jevHksWbIkPvjgg3jhhRdi0aJF8d5770WvXr1i0KBB0bx58zxXzg/RvHnz6NKlS2yzzTbRrl27aNSoUZSUlMT06dPj9ddfjzFjxkRRUVHcdtttUVxcHGeddVa+S2YtWbBgQVx11VUREdGgQYOVBl7WXXfddVeVbazDV4+Qsx54+umnswFnq622ikceeSRatGiRvf+EE06Im266KR588MGYO3duXHnllfHEE0/kq1x+gC5dukTHjh2jc+fO0blz59h8881j8ODBcemll+a7NNaiWrVqxd577x2nnHJK9OjRIzbYoOLplUceeWScfvrpceqpp8aUKVPiq6++in79+sUNN9yQp4r5of75z3/G1ltvvdKuh2eccUY8//zz0adPn8hkMnH33XfHMcccE61bt67hSsmFm2++OWbMmBFt2rSJgw46KB566KF8l8RaduCBB+a7hOQYeCBxpaWlMWDAgOz0zTffXCHgLHPhhRfGdtttFxER7733Xrz11ls1ViNrzx//+Me44IIL4qCDDorNN9883+WQI+edd1488MADsddee60QcJZp27Zt3H777dnpl19+ORYvXlxDFbK2derUqcpzq371q1/Fz372s4hY2m1x2c4t1m3vvvtuDBo0KCIirrrqqth4443zXBGsG4ScxI0aNSoKCgoiIqJr167RuXPnStvVrl07evXqlZ0eOnRojdQHrL6mTZtWq922224bHTp0iIiIxYsXxxdffJHDqvgx2HrrrbO3v/vuuzxWwtqwePHiuOKKKyKTycQhhxwS++23X75LgnWGkJO4YcOGZW//9Kc/XWXb8veXfxyw7io/YmJlAxWQlvJBtrKj9qxbbr311vjyyy+jadOmcdlll+W7HFinOCcncRMnTsze3nHHHVfZtmXLltGmTZuYMWNGfPfddzF79uxo1qxZrksEcqSoqKjCoBNGWEvba6+9Fq+88kpERNSvXz/bdY1105gxY7Lnx1588cVCa+LOOOOMGD9+fBQWFsZGG20UrVq1il122SUOPfTQ6N69e77LWycJOYmbMmVK9nZ1xlZv165dzJgxIyIiJk+eLOTAOuyll16K+fPnR0RE586do2XLlnmuiLVh1KhRMXfu3IhYGmRnzpwZb7/9dvZcyjp16sQ111zjR/E6bMmSJdG3b98oKyuLHj16xNFHH53vksix119/PXu7uLg45s2bF59//nk8/fTT0b1797jllluiVatW+StwHSTkJG7ZD5yIiE022aTK9uX7+pd/LLBumT17dvTr1y87feaZZ+axGtamW265JT788MMV/l+rVq3YY4894uyzz4499tgjD5Wxtvztb3+LKVOmxIYbbhjXXnttvsshh5o0aRJ77rln7LDDDtG6deuoXbt2fPPNN/Huu+/GsGHDIpPJxPDhw+P444+Pf/7zn3ZWrQYhJ3Hlx9KvX79+le3Lt1m4cGFOagJyq6ioKHr37h2zZs2KiKVDk/bs2TPPVZFrrVu3jr322iu22GKLfJfCDzB27Nh4+OGHIyKid+/e0b59+/wWRM6cf/750blz56hXr94K9/3+97+Pjz76KM4+++z4+uuvY/r06dG3b9+477778lDpusnAAwAJKSsri759+8Z7770XERHt27eP66+/Ps9VsTYNGjQoJkyYEBMmTIj3338/hgwZEmeffXYsXLgw+vfvH4cddli88847+S6TNVBUVBSXXXZZlJaWRufOneP3v/99vksih3bZZZdKA84yO+64Y9x///3ZNsOGDYuxY8fWVHnrPCEncQ0aNMjers7ISuXbGIsf1i2ZTCauuuqqePHFFyNi6UADDz30UDRp0iTPlZErDRo0iG233Tb+/Oc/x3PPPRetWrWKOXPmxOmnnx4TJkzId3msprvvvjsmTpwYtWvXjuuuuy5q166d75LIs44dO8YRRxyRnS5/7g6rJuQkrlGjRtnbhYWFVbafM2dOpY8FftwymUxcffXV2YsGbrrppvHII49Ua8AR0rD55pvHBRdcEBFLT1y+55578lwRq+PTTz/NdkX63e9+t9Lr2rH+6datW/b2pEmT8ljJusU5OYnr0KFDfPXVVxER8dVXX1X5g2dZ24iIn/zkJzmtDVg7MplMXHPNNfHUU09FxNJzMx599FF9+ddD5a93NnLkyDxWwuoaPHhwFBcXxwYbbBB169aNv//975W2GzVqVIXby9p16NAhDj744BqplZpVfqRbg0JVn5CTuE6dOsWbb74ZEREfffTRKsda/+6777LDRzdv3tzw0bAOWBZwBg4cGBERrVq1ikcffdTJ5+up8hd/XTbMNOuGTCYTEUvPq6vuUbgRI0bEiBEjIiLigAMOEHISVb4njl421ae7WuL22Wef7O1hw4atsu0bb7yRvb3vvvvmrCZg7Vg+4LRs2TIeffTR2HLLLfNbGHlT/uKvdlRBGpYF2YilR+yoHkdyEte1a9do2bJlFBQUxMiRI+Pjjz+utJ9vaWlpPPbYY9npQw45pCbLBNbAtddeu0LAsQFcvy3rshgRseuuu+axElbXZZddFpdddlmV7e68884YMGBAREScddZZ0bt371yXRh5NmTIlhgwZkp3eb7/98ljNusWRnMTVrl07/vSnP2WnL7nkkuy1M8rr169ffPLJJxGxdMNY/ggQ8ONz3XXXxZNPPhkR/y/gOI8uTQMHDozhw4dnuzNVprS0NO69997sZyIi4re//W1NlAesgUcffTTGjBmzyjbjx4+PU089NTvy7d577x077bRTTZSXBEdy1gPHHntsvPLKK/H222/HZ599FkcccUQcc8wxsdVWW8WcOXNi6NChMXr06IiIaNy4sasrr8O+/PLLeOaZZyr8r/wwsuPHj4/+/ftXuL979+7Ro0ePGqmPtaN///7x+OOPR8TSq9yfdNJJMXny5Jg8efIqH7f99tvHZpttVhMlshZ9+OGHcfXVV0ebNm1izz33jE6dOkXz5s2jbt26MX/+/Jg4cWK8+uqrMX369OxjzjjjjOjatWseqwZWZfjw4fHXv/412rdvHz169IhOnTpF06ZNY4MNNohvv/02hg8fHm+88UaUlZVFRETbtm1d82w1CTnrgTp16sQdd9wRF154Yfzvf/+LgoKCSkdt2XTTTaN///6x9dZb56FK1oavv/56lSesLruAYHl16tQRctYx5ff+ZTKZuPXWW6v1uBtuuCGOOuqoXJVFjs2YMSOeffbZVbZp1KhRnH/++Y7iwDpi2rRpMW3atFW22XvvveP666+P1q1b11BVaRBy1hMNGzaMe+65J1555ZUYMmRIfPTRRzFr1qzYeOONo3379tGzZ884/vjjjdoB8CNz+eWXxwEHHBCjRo2KTz75JKZNmxaFhYVRUlISDRo0iObNm8c222wT++yzTxx00EHW47AO6NOnT+y3334xduzY+PTTT2PWrFlRWFgYxcXF0bBhw2jbtm3ssssucdhhh+mitoZqZVbVyRcAAGAdY+ABAAAgKUIOAACQFCEHAABIipADAAAkRcgBAACSIuQAAABJEXIAAICkCDkAAEBShBwAACApQg4AAJAUIQcAAEiKkAMAACRFyAEAAJIi5AAAAEkRcgAAgKQIOQAAQFKEHAAAIClCDgAAkBQhBwAASIqQAwAAJEXIAQAAkiLkAAAASRFyAACApAg5AABAUoQcAAAgKf8f7gL4RZ4gy5cAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 438,
       "width": 412
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "subsampled_image = maxpool_2x2(horizontal_detect)\n",
    "plt.imshow(subsampled_image, cmap=\"gray_r\")\n",
    "plt.title(\"Max Pooled horizontal edge detection filter\");"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Let's explore some more of such filters/kernels!!\n",
    "\n",
    "http://setosa.io/ev/image-kernels"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## CNN Examples"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For this example we will work with a dataset called fashion-MNIST which is quite similar to the MNIST data above.\n",
    "> Fashion-MNIST is a dataset of Zalando's article images—consisting of a training set of 60,000 examples and a test set of 10,000 examples. Each example is a 28x28 grayscale image, associated with a label from 10 classes. We intend Fashion-MNIST to serve as a direct drop-in replacement for the original MNIST dataset for benchmarking machine learning algorithms. It shares the same image size and structure of training and testing splits.\n",
    "source: https://github.com/zalandoresearch/fashion-mnist\n",
    "\n",
    "The 10 classes of this dataset are:\n",
    "\n",
    "| Label| Item |\n",
    "| --- | --- |\n",
    "| 0 |\tT-shirt/top |\n",
    "| 1\t| Trouser |\n",
    "|2|\tPullover|\n",
    "|3|\tDress|\n",
    "|4|\tCoat|\n",
    "|5|\tSandal|\n",
    "|6|\tShirt|\n",
    "|7|\tSneaker|\n",
    "|8|\tBag|\n",
    "|9|\tAnkle boot|"
   ]
  },
  {
   "cell_type": "code",
chadhat's avatar
chadhat committed
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Loading the dataset in tensorflow\n",
    "# Later you can explore and play with other datasets with come with tensorflow\n",
    "from tensorflow.keras.datasets import fashion_mnist\n",
    "\n",
    "# Loading the train and test data\n",
    "\n",
    "(X_train, y_train), (X_test, y_test) = fashion_mnist.load_data()\n",
    "\n",
    "items = [\n",
    "    \"T-shirt/top\",\n",
    "    \"Trouser\",\n",
    "    \"Pullover\",\n",
    "    \"Dress\",\n",
    "    \"Coat\",\n",
    "    \"Sandal\",\n",
    "    \"Shirt\",\n",
    "    \"Sneaker\",\n",
    "    \"Bag\",\n",
    "    \"Ankle boot\",\n",
    "]"
   ]
  },
  {
   "cell_type": "code",
chadhat's avatar
chadhat committed
   "execution_count": 13,
   "metadata": {},
chadhat's avatar
chadhat committed
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "This item is a:  Trouser\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0wAAANCCAYAAABVl0zHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAB7CAAAewgFu0HU+AAA86UlEQVR4nO3dfZCVdf34/xfsCi6ssAq74B0q4E1skqgf4kbNFD+TDk3hDOXkkJUToUJqmZHzkZL8IhUNauo4Y2biHWCjUZhNJRrkeBOiAZL6ERbvWFNuVld2WWR3f3/443xAeAMre66zN4/HX9dhrz2v99HDxT73Ouc6XZqbm5sDAACAXXQt9AIAAADaKsEEAACQIJgAAAASBBMAAECCYAIAAEgQTAAAAAmCCQAAIEEwAQAAJAgmAACABMEEAACQIJgAAAASBBMAAECCYAIAAEgQTAAAAAmCCQAAIEEwAQAAJBQXegEdSXV1dSxatCh3e8CAAVFSUlLAFQEAQOdQX18fr7/+eu72WWedFYceeuh+369gakWLFi2K6dOnF3oZAABARFx44YX7fR9ekgcAAJAgmAAAABK8JK8VHXnkkTvdnjZtWhx//PEFWg3QEjU1NZnMue222zKZExGxadOmTObs+HrxjmLcuHGZzHniiScymRMRsXnz5kzm9OrVK5M5EREVFRWZzLn88sszmVNWVpbJHOioXn755Z3eHvPxn80/KcHUinr06LHT7eOPPz5OPfXUAq0GaIl33303kzlZ/jC5ZcuWTOY0NzdnMidL/fv3z2ROcXF2/wx36dIlkzkHHHBAJnMiIkpLSzOZM3To0EzmZBWA0Fl8/GfzT6pdBtNjjz0WCxYsiJUrV8a7774bpaWlcdRRR8WYMWPiggsuyOwACgAAdGztKpg2b94cV1111U6X7o6I2LhxY2zcuDGef/75uPfee+PGG2+Mk046qTCLBAAAOox2E0yNjY1x+eWXx5IlSyIiom/fvjF+/PgYPHhwvPfee7Fw4cJYtmxZVFdXx8SJE+OBBx6IQYMGFXjVAABAe9ZugunBBx/MxdLgwYPj7rvvjr59++a+fuGFF8bPfvaz+M1vfhPvvfdeTJs2Le67775CLRcAAOgA2sVlxRsbG+OWW27J3f75z3++Uyxtd9VVV8WnPvWpiIhYunRp/OMf/8hsjQAAQMfTLoLpn//8Z+4KVsOHD4/Kysrd7ldUVBQTJkzI3X7kkUcyWR8AANAxtYtgWrx4cW77jDPO2OO+O359x+8DAABoqXYRTK+88kpu+8QTT9zjvuXl5XHooYdGRMT69etj48aNeV0bAADQcbWLYKqqqsptH3HEEXvdf8d91qxZk5c1AQAAHV+7CKba2trc9sEHH7zX/cvKynb7vQAAAC3RLoKprq4ut929e/e97r/jPps3b87LmgAAgI6vXQQTAABAIbSLYOrRo0duu6GhYa/777hPz54987ImAACg42sXwXTQQQfltjdt2rTX/Wtqanb7vQAAAC3RLoLpmGOOyW2/+eabe91/x30GDhyYlzUBAAAdX7sIpuOOOy63vWLFij3uu379+qiuro6IiD59+sQhhxyS17UBAAAdV7sIptNPPz23vXjx4j3u+/e//z23/bnPfS5vawIAADq+dhFMw4cPj/Ly8oiIePbZZ+PFF1/c7X6NjY1xzz335G6fd955mawPAADomNpFMBUVFcWll16au/3DH/4wNmzYsMt+s2bNin//+98REXHyySfvdGYKAACgpYoLvYB99ZWvfCX+9re/xZNPPhn/+7//G1/60pdi/PjxMXjw4KipqYlHHnkknnvuuYiI6NWrV0yfPr3AKwYAANq7dhNMxcXFcfPNN8dVV10Vjz/+eLz77rtx22237bJf//79Y/bs2XHssccWYJUAAEBH0m6CKSKitLQ0br/99vjb3/4WCxYsiBUrVsSGDRuiZ8+eMWDAgDjnnHPiggsu8NlLAABAq2hXwbTdmDFjYsyYMYVeBtCBvPDCC5nM6d+/fyZzIiLef//9TOYMHjw4kzlHHHFEJnMiIpYvX57JnG7dumUyJyKiubk5kzljx47NZE5ExAknnJDJnO0fV5JvFRUVmcwBWqZdXPQBAACgEAQTAABAgmACAABIEEwAAAAJggkAACBBMAEAACQIJgAAgATBBAAAkCCYAAAAEgQTAABAgmACAABIEEwAAAAJggkAACBBMAEAACQIJgAAgATBBAAAkCCYAAAAEgQTAABAgmACAABIEEwAAAAJggkAACBBMAEAACQIJgAAgATBBAAAkCCYAAAAEgQTAABAQnGhFwDQFpSXl2cyZ8CAAZnMiYh47bXXMplTUVGRyZz6+vpM5kRErFixIpM5hxxySCZzIiJKS0szmdOnT59M5kRk99+v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xYVeAEBb0K1bt0zmlJaWZjInIqJ///6ZzDnggAMymfPGG29kMiciolevXpnMWb9+fSZzIrJ7TKNGjcpkTkRERUVFJnOy/P8EtD3OMAEAACQIJgAAgATBBAAAkCCYAAAAEgQTAABAgmACAABIEEwAAAAJggkAACBBMAEAACQIJgAAgATBBAAAkCCYAAAAEgQTAABAgmACAABIEEwAAAAJggkAACBBMAEAACQIJgAAgATBBAAAkCCYAAAAEgQTAABAgmACAABIEEwAAAAJggkAACBBMAEAACQIJgAAgITiQi8AoC3o2rXj/f5o0KBBmczp27dvJnMaGhoymRMRMXr06EzmHHDAAZnMiYg45JBDMplz+OGHZzInIqJHjx6ZzMnyuQe0PR3vJwQAAIBWIpgAAAASBBMAAECCYAIAAEgQTAAAAAmCCQAAIEEwAQAAJAgmAACABMEEAACQIJgAAAASBBMAAECCYAIAAEgQTAAAAAmCCQAAIEEwAQAAJAgmAACABMEEAACQIJgAAAASBBMAAECCYAIAAEgQTAAAAAmCCQAAIEEwAQAAJAgmAACABMEEAACQUFzoBQC0BaWlpZnM6devXyZzIiIaGhoymXPAAQdkMifL/3YHHXRQJnNOP/30TOZERCxZsiSTOb17985kTkTEpk2bMpnTvXv3TOYAbZMzTAAAAAmCCQAAIEEwAQAAJOT1PUyNjY2xevXqWLlyZbz44ouxcuXKeOmll2LLli0RETFu3LiYOXNmi+7ztddei7lz58aSJUuiuro6mpqaoqKiIkaNGhVf+cpX4lOf+lQ+HgoAANAJ5TWYrrjiivjLX/7Savc3b968mDFjRi64tlu7dm2sXbs25s2bF5deemlMnjy51WYCAACdV97PMO2orKwsysrKYu3atS2+rwULFsS0adMiIqJr165x3nnnxciRI6O4uDiWLVsWDz/8cGzdujV+9atfRbdu3WLixImt8RAAAIBOLK/BNHTo0Bg0aFBUVlZGZWVlHHnkkfHQQw/Fj370oxbdz8aNG2P69OkR8VEs3XLLLXH22Wfnvv7lL385zj///PjGN74R9fX1cdNNN8WYMWNi4MCBrfp4AACAziWvF32YNGlSfP/7348vfOELceSRR37i+7nzzjvjgw8+iIiICy+8cKdY2u6kk06Kyy+/PCIitm3bFrfeeusnngcAABDRTq6S9+ijj+a2L7roouR+48ePjx49ekRExKJFi3Z5rxMAAEBLtPlgevXVV+Ott96KiIhBgwbt8UxVaWlpnHLKKRERUVdXF88++2wmawQAADqmNh9Mr7zySm77xBNP3Ov+O+6z4/cCAAC0VJsPpjVr1uS2jzjiiL3uv+M+VVVVeVkTAADQObT5YKqtrc1tH3zwwXvdv6ysbLffCwAA0FJtPpjq6upy2927d9/r/gceeGBue/PmzXlZEwAA0Dm0+WACAAAolDYfTNsvEx4R0dDQsNf9d7yUeM+ePfOyJgAAoHNo88F00EEH5bY3bdq01/1ramp2+70AAAAt1eaDaeDAgbntN998c6/777jPMccck5c1AQAAnUObD6bjjjsut71ixYq97r/jPscee2xe1gQAAHQObT6YBg8eHIcddlhERKxevXqPZ5k2b94czz33XERElJSUxPDhwzNZIwAA0DG1+WCKiDj33HNz27/97W+T+82fPz93GfKzzjorSkpK8r00AACgA2sXwXTxxRfnrnh33333xWOPPbbLPv/617/ipptuioiI4uLiuOyyyzJdIwAA0PEU5/PO33jjjfjd736305+9/PLLue1Vq1bF7Nmzd/r6iBEjYuTIkTv9WZ8+feLaa6+NqVOnRlNTU0yePDnOO++8GD16dHTt2jWWLVsWv//973OXHZ8yZUoMGjQoT48KAADoLPIaTOvWrYvbb789+fWXX355p4CK+Ojs0MeDKSJi3LhxUV9fHzNnzoyGhoZYuHBhLFy4cKd9ioqKYtKkSTFp0qTWeQAAAECnltdgam1f+9rXYtSoUTF37txYsmRJVFdXR3Nzc1RUVMSIESPiq1/9agwZMqTQywQAADqIvAbTZz/72V3OIO2vo48+OqZOnRpTp05t1fsFAAD4uHZ1hgkgX/r27ZvJnA0bNmQyJ+KjlzhnYfPmzZnM6d+/fyZzspTl+22ffvrpTOYMGDAgkzkRH730PwsHHHBAJnOAtqldXCUPAACgEAQTAABAgmACAABIEEwAAAAJggkAACBBMAEAACQIJgAAgATBBAAAkCCYAAAAEgQTAABAgmACAABIEEwAAAAJggkAACBBMAEAACQIJgAAgATBBAAAkCCYAAAAEgQTAABAgmACAABIEEwAAAAJggkAACBBMAEAACQIJgAAgATBBAAAkCCYAAAAEooLvQCAtmD9+vWZzKmrq8tkTkREUVFRJnPefvvtTOYMHTo0kzlZ+vSnP53ZrJKSkkzmFBdn96NFY2NjJnOy+rsEtE3OMAEAACQIJgAAgATBBAAAkCCYAAAAEgQTAABAgmACAABIEEwAAAAJggkAACBBMAEAACQIJgAAgATBBAAAkCCYAAAAEgQTAABAgmACAABIEEwAAAAJggkAACBBMAEAACQIJgAAgATBBAAAkCCYAAAAEgQTAABAgmACAABIEEwAAAAJggkAACBBMAEAACQIJgAAgITiQi8AoC0oKirKZM5//vOfTOZEZPeYmpqaMpnTt2/fTOZkafjw4ZnN+vDDDzOZs3Xr1kzmRESUlZVlMmf16tWZzAHaJmeYAAAAEgQTAABAgmACAABIEEwAAAAJggkAACBBMAEAACQIJgAAgATBBAAAkCCYAAAAEgQTAABAgmACAABIEEwAAAAJggkAACBBMAEAACQIJgAAgATBBAAAkCCYAAAAEgQTAABAgmACAABIEEwAAAAJggkAACBBMAEAACQIJgAAgATBBAAAkCCYAAAAEooLvQCAtqCpqSmTOW+//XYmcyIiunfvnsmcqqqqTOYcd9xxmczJUnFxdv8Mr1+/PpM57733XiZzIiIaGxszmfPhhx9mMgdom5xhAgAASBBMAAAACYIJAAAgQTABAAAkCCYAAIAEwQQAAJAgmAAAABIEEwAAQIJgAgAASBBMAAAACYIJAAAgQTABAAAkCCYAAIAEwQQAAJAgmAAAABIEEwAAQIJgAgAASBBMAAAACYIJAAAgQTABAAAkCCYAAIAEwQQAAJAgmAAAABIEEwAAQIJgAgAASCgu9AIA2oJ33303kzlbtmzJZE5ERI8ePTKZ07Nnz0zmHHbYYZnMydKhhx6a2aySkpJM5hx00EGZzImIKC0tzWROr169MpkDtE3OMAEAACQIJgAAgATBBAAAkJDX9zA1NjbG6tWrY+XKlfHiiy/GypUr46WXXsq9hn/cuHExc+bMvd7PQw89FD/60Y/2ee7kyZNjypQpn3jdAAAAEXkOpiuuuCL+8pe/5HMEAABA3uT9DNOOysrKoqysLNauXfuJ73PChAkxYsSIPe5zzDHHfOL7BwAA2C6vwTR06NAYNGhQVFZWRmVlZRx55JEtfnndxw0ZMiTGjBnTiqsEAADYvbwG06RJk/J59wAAAHnlKnkAAAAJggkAACAhry/Jy4f7778/7rjjjnj77bejqakpDj744DjhhBPijDPOiHHjxkVJSUmhlwgAAHQQ7e4M04oVK2LNmjVRV1cXW7Zsierq6nj88cfjuuuui7POOisef/zxQi8RAADoINrNGaaioqI46aST4tRTT42jjz46evToEbW1tbFy5cr485//HDU1NbFx48a45JJLYtasWTF27NhCLxkAAGjn2kUwnXLKKbFo0aLo37//Ll8bP358/OAHP4hrr702/vSnP0Vzc3Ncc801cfLJJ8dhhx1WgNUCAAAdRbt4Sd5RRx2121jarrS0NGbNmhXDhw+PiIiGhoa44447sloeAADQQbWLYNoXRUVFccUVV+RuP/HEEwVbCwAA0DF0mGCKiBg2bFh07949IiLWrVsX9fX1BV4RAADQnnWoYOratWv07t07d/v9998v4GoAAID2rkMFU1NT006R1KtXrwKuBgAAaO86VDC98MILsWXLloiI6N+/vw+xBQAA9kuHCaampqa4+eabc7fPPPPMwi0GAADoENp8MD3//PMxb968aGhoSO5TV1cXV199dTz11FMREdGtW7f49re/ndUSAQCADiqvH1z7xhtvxO9+97ud/uzll1/Oba9atSpmz56909dHjBgRI0eOzN3esGFDTJs2LWbOnBmjR4+OysrKOPTQQ6OkpCRqa2tj1apV8cgjj0RNTU1ERHTp0iWuv/76OOKII/L3wAAAgE4hr8G0bt26uP3225Nff/nll3cKqIiI4uLinYJpu7q6uvjrX/8af/3rX5P3V15eHtdff72X4wEAAK0ir8HUGkaOHBm33XZbLF++PJYvXx7V1dVRU1MTtbW1ceCBB0afPn1iyJAhceaZZ8a5556b+xwmAACA/ZXXYPrsZz+7yxmklurZs2ecffbZcfbZZ7fSqgAAAPZNmz/DBJCFww47rNBLaHX19fWZzHnttdcymVNWVpbJnCxl+Ziam5szmfPKK69kMiciorS0NJM5Xbp0yWQO0Da1+avkAQAAFIpgAgAASBBMAAAACYIJAAAgQTABAAAkCCYAAIAEwQQAAJAgmAAAABIEEwAAQIJgAgAASBBMAAAACYIJAAAgQTABAAAkCCYAAIAEwQQAAJAgmAAAABIEEwAAQIJgAgAASBBMAAAACYIJAAAgQTABAAAkCCYAAIAEwQQAAJAgmAAAABIEEwAAQEJxoRcA0BaUl5dnMqdnz56ZzImI2LZtWyZzampqMplTVlaWyZyOqnv37pnMaWxszGRORESXLl0ymXPIIYdkMgdom5xhAgAASBBMAAAACYIJAAAgQTABAAAkCCYAAIAEwQQAAJAgmAAAABIEEwAAQIJgAgAASBBMAAAACYIJAAAgQTABAAAkCCYAAIAEwQQAAJAgmAAAABIEEwAAQIJgAgAASBBMAAAACYIJAAAgQTABAAAkCCYAAIAEwQQAAJAgmAAAABIEEwAAQIJgAgAASBBMAAAACcWFXgBAW9CtW7dM5vTu3TuTORERVVVVmcxZv359JnPKy8szmdNRNTY2ZjKntrY2kzkR2f192rZtWyZzgLbJGSYAAIAEwQQAAJAgmAAAABIEEwAAQIJgAgAASBBMAAAACYIJAAAgQTABAAAkCCYAAIAEwQQAAJAgmAAAABIEEwAAQIJgAgAASBBMAAAACYIJAAAgQTABAAAkCCYAAIAEwQQAAJAgmAAAABIEEwAAQIJgAgAASBBMAAAACYIJAAAgQTABAAAkCCYAAICE4kIvAKAtaGhoyGTOc889l8mciIimpqZM5hx//PGZzDn00EMzmdNR1dXVZTJn9erVmcyJiFi/fn0mc7p06ZLJHKBtcoYJAAAgQTABAAAkCCYAAIAEwQQAAJAgmAAAABIEEwAAQIJgAgAASBBMAAAACYIJAAAgQTABAAAkCCYAAIAEwQQAAJAgmAAAABIEEwAAQIJgAgAASBBMAAAACYIJAAAgQTABAAAkCCYAAIAEwQQAAJAgmAAAABIEEwAAQIJgAgAASBBMAAAACYIJAAAgQTABAAAkFBd6AQBtQf/+/TOZ8+c//zmTORERTU1Nmczp3r17JnO2bduWyZyO6rjjjstkTpbP8VdeeSWTOZdeemkmc4C2yRkmAACABMEEAACQkNeX5H3wwQfx5JNPxjPPPBOrVq2KtWvXRm1tbXTv3j0qKipi6NChMXbs2Dj99NOjS5cu+3Sfr732WsydOzeWLFkS1dXV0dTUFBUVFTFq1Kj4yle+Ep/61Kfy+ZAAAIBOJG/BdNddd8Xs2bOjoaFhl69t27YtqqqqoqqqKhYsWBCnnnpq/OIXv4jDDjtsj/c5b968mDFjRmzZsmWnP1+7dm2sXbs25s2bF5deemlMnjy5VR8LAADQOeUtmKqqqnKx1K9fvxg1alRUVlZGnz59oqGhIV544YX4wx/+EHV1dbF06dKYMGFCzJ8/P/r06bPb+1uwYEFMmzYtIiK6du0a5513XowcOTKKi4tj2bJl8fDDD8fWrVvjV7/6VXTr1i0mTpyYr4cGAAB0EnkLpi5dusRpp50W3/rWt2LkyJHRtevOb5caN25cTJw4MS6++OKoqqqKN998M2bNmhU33HDDLve1cePGmD59ekR8FEu33HJLnH322bmvf/nLX47zzz8/vvGNb0R9fX3cdNNNMWbMmBg4cGC+Hh4AANAJ5O2iD1deeWXceeedMXr06F1iabvDDz88brzxxtztRx99NOrr63fZ784774wPPvggIiIuvPDCnWJpu5NOOikuv/zyiPjoJX+33nprKzwKAACgM8tbMJWVle3TfieccEIcc8wxERFRX18fr7322i77PProo7ntiy66KHlf48ePjx49ekRExKJFi3Z5rxMAAEBLtInLipeWlua2P36RiFdffTXeeuutiIgYNGhQHHnkkXu8n1NOOSUiIurq6uLZZ5/Nw2oBAIDOouDBtHXr1li7dm3u9sevlLfjp3ifeOKJe72/HffJ6hPAAQCAjqngwbRw4cKora2NiIjKysooLy/f6etr1qzJbR9xxBF7vb8d96mqqmqlVQIAAJ1RQYNp48aNMWvWrNztSy65ZJd9tsdURMTBBx+81/vc8b1TO34vAABASxUsmLZu3RpTpkyJDRs2RETEmDFj4pxzztllv7q6utx29+7d93q/Bx54YG578+bNrbBSAACgsypIMDU1NcU111wTS5cujYiIAQMGxIwZMwqxFAAAgKTMg6m5uTl+/OMfxx//+MeI+OgiD3fddVf07t17t/tvv0x4xK5X0NudHS8l3rNnz/1cLQAA0JllGkzNzc3xk5/8JObPnx8REf3794+77757jxdzOOigg3LbmzZt2uuMmpqa3X4vAABAS2UWTM3NzXHdddfF3LlzIyKiX79+MWfOnBgwYMAev2/gwIG57TfffHOvc3bcZ/sH4gIAAHwSmQTT9lh64IEHIiKioqIi5syZE0cdddRev/e4447Lba9YsWKv+++4z7HHHvsJVgsAAPCRvAfTx2OpvLw85syZE0cfffQ+ff/gwYNzH2a7evXqPZ5l2rx5czz33HMREVFSUhLDhw/fv8UDAACdWt6D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sCEiIsaMGRPnnHPObvc95ZRTYtGiRdG/f/9dvjZ+/Pj4wQ9+ENdee2386U9/iubm5rjmmmvi5JNP9kG4AADAfinIS/KamprimmuuiaVLl0ZExIABA2LGjBnJ/Y866qjdxtJ2paWlMWvWrBg+fHhEfHThiDvuuKN1Fw0AAHQ6mQdTc3Nz/PjHP44//vGPEfHRRR7uuuuu6N27937db1FRUVxxxRW520888cR+3R8AAECmwdTc3Bw/+clPYv78+RER0b9//7j77rvjiCOOaJX7HzZsWHTv3j0iItatW+dDcAEAgP2SWTA1NzfHddddF3Pnzo2IiH79+sWcOXNiwIABrTaja9euO52pev/991vtvgEAgM4nk2DaHksPPPBARERUVFTEnDlz4qijjmrVOU1NTTtFUq9evVr1/gEAgM4l78H08VgqLy+POXPmxNFHH93qs1544YXYsmVLRHz0cj8fYgsAAOyPvAfT9OnTd4mlY445ptXnNDU1xc0335y7feaZZ7b6DAAAoHPJazD99Kc/jfvvvz8i/i+WBg4c2KL7eP7552PevHnR0NCQ3Keuri6uvvrqeOqppyIiolu3bvHtb3/7ky8cAAAg8vjBtbNnz4577703IiK6dOkSX//612PNmjWxZs2aPX7fkCFDdvrA2Q0bNsS0adNi5syZMXr06KisrIxDDz00SkpKora2NlatWhWPPPJI1NTU5GZdf/31rXblPQAAoPPKWzAtW7Yst93c3By//OUv9+n7brjhhjj//PN3+fO6urr461//Gn/961+T31teXh7XX3+9l+MBAACtIm/B1FpGjhwZt912WyxfvjyWL18e1dXVUVNTE7W1tXHggQdGnz59YsiQIXHmmWfGueeem/scJgAAgP2Vt2C65557WuV+evbsGWeffXacffbZrXJ/AAAA+6rNn2EC6EjeeeedzGZ17ZrNZ5Pv6aI8remf//xnJnOytKeXmbe2rP4/devWLZM5ERH//ve/M5kzdOjQTOYAbVM2/5oCAAC0Q4IJAAAgQTABAAAkCCYAAIAEwQQAAJAgmAAAABIEEwAAQIJgAgAASBBMAAAACYIJAAAgQTABAAAkCCYAAIAEwQQAAJAgmAAAABIEEwAAQIJgAgAASBBMAAAACYIJAAAgQTABAAAkCCYAAIAEwQQAAJAgmAAAABIEEwAAQIJgAgAASBBM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hOPDvhFMGTruuONy2ytWrNjjvuvXr4/q6uqIiOjTp4/PYOrkdvyNod8Gdk4tOX58fJ9jjz02L2uifWhqatrph6BevXoVcDWkbP/h+IEHHoiIiIqKipgzZ04cddRRe/1ex4eOZ3+eDy3h+LBvBFOGTj/99Nz24sWL97jv3//+99z25z73ubytifbhmWeeyW37bWDnNHjw4NzVi1avXr3H3yJv3rw5nnvuuYiIKCkpyb2pl87phRdeyL1npX///j6ksg36+A/H5eXlMWfOnDj66KP36fsdHzqW/X0+tITjw74RTBkaPnx47jN0nn322XjxxRd3u19jY2Pcc889udvnnXdeJuujbaqqqooFCxbkbn/+858v4GoopHPPPTe3/dvf/ja53/z583OXGT7rrLP8A9iJNTU1xc0335y7feaZZxZuMSRNnz59lx+OW/rLMceHjqM1ng/7wvFh3wmmDBUVFcWll16au/3DH/4wdy39Hc2aNSv+/e9/R0TEySefvNOZKTqOOXPmxLJly/a4z6pVq+Liiy/OXfXotNNOi8985jNZLI826OKLL85d0eq+++6Lxx57bJd9/vWvf8VNN90UERHFxcVx2WWXZbpGsvH888/HvHnz9nhFtLq6urj66qvjqaeeioiIbt26xbe//e2slsg++ulPfxr3339/RPzfD8ef5H3Ljg8dQ2s8HxwfWl+X5ubm5kIvojPZtm1bTJw4MZ588smI+Ogvw/jx42Pw4MFRU1MTjzzySO5Uea9eveL+++/3+uIO6tJLL43HHnssBgwYECNHjozjjjsuysrKomvXrvHOO+/E008/HX//+9+jqakpIiIOP/zweOCBB6Jfv34FXjkt9cYbb8Tvfve7nf7s5ZdfjscffzwiIo4//vhdzhyOGDEiRo4cuct9PfzwwzF16tSI+OjNuuedd16MHj06unbtGsuWLYvf//73uX8kr7zyypg0aVI+HhL7oTWeD3/729/isssuix49esTo0aOjsrIyDj300CgpKYna2tpYtWpVPPLII7mroXXp0iV+9rOf7fQRBRTe7Nmz4/bbb4+Ij/4ffe9739unH46HDBmy2w8YdXxo31rr+eD40PoEUwF88MEHcdVVV+X+cdyd/v37x+zZs+Pkk0/OcGVkaXsw7YvTTjstZsyYIZbaqWeeeSa+/vWvt+h7Jk+eHFOmTNnt1+6///6YOXNm8reHRUVFMWnSpPjud7/b4rWSf63xfNj+A9G+KC8vj+uvv97LbdqgCRMmxLPPPtvi77vhhhvi/PPP3+3XHB/ar9Z6Pjg+tL7iQi+gMyotLY3bb789/va3v8WCBQtixYoVsWHDhujZs2cMGDAgzjnnnLjgggtcDa2Dmzp1anz+85+P5cuXx0svvRQbNmyITZs2xYcffhilpaVx+OGHx7Bhw+KLX/yil+Gxk6997WsxatSomDt3bixZsiSqq6ujubk5KioqYsSIEfHVr341hgwZUuhlkkcjR46M2267LZYvXx7Lly+P6urqqKmpidra2jjwwAOjT58+MWTIkDjzzDPj3HPPzX3OCh2f4wOOD63PGSYAAIAEF30AAABIEEwAAAAJggkAACBBMAEAACQIJgAAgATBBAAAkCCYAAAAEgQTAABAgmACAABIEEwAAAAJggkAACBBMAEAACQIJgAAgATBBAAAkCCYAAAAEgQTAABAgmACAABIEEwAAAAJggkAACBBMAEAACQIJgAAgATBBAAAkCCYAAAAEgQTAABAwv8HhqpRMsbC9hQAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 417,
       "width": 422
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# We can see that the training set consists of 60,000 images of size 28x28 pixels\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "i = np.random.randint(0, X_train.shape[0])\n",
    "plt.imshow(X_train[i], cmap=\"gray_r\")\n",
    "print(\"This item is a: \", items[y_train[i]])"
   ]
  },
  {
   "cell_type": "code",
chadhat's avatar
chadhat committed
   "execution_count": 14,
   "metadata": {},
chadhat's avatar
chadhat committed
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(60000, 10)\n"
     ]
    }
   ],
   "source": [
    "# Also we need to reshape the input data such that each sample is a 4D matrix of dimension\n",
    "# (num_samples, width, height, channels). Even though these images are grayscale we need to add\n",
    "# channel dimension as this is expected by the Conv function\n",
    "X_train_prep = X_train.reshape(X_train.shape[0], 28, 28, 1) / 255.0\n",
    "X_test_prep = X_test.reshape(X_test.shape[0], 28, 28, 1) / 255.0\n",
    "\n",
    "from tensorflow.keras.utils import to_categorical\n",
    "\n",
    "y_train_onehot = to_categorical(y_train, num_classes=10)\n",
    "y_test_onehot = to_categorical(y_test, num_classes=10)\n",
    "\n",
    "print(y_train_onehot.shape)"
   ]
  },
  {
   "cell_type": "code",
chadhat's avatar
chadhat committed
   "execution_count": 15,
   "metadata": {},
chadhat's avatar
chadhat committed
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2023-03-02 09:54:43.924789: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX2 AVX512F AVX512_VNNI FMA\n",
      "To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.\n",
      "2023-03-02 09:54:44.696228: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1532] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 9604 MB memory:  -> device: 0, name: NVIDIA GeForce RTX 2080 Ti, pci bus id: 0000:1b:00.0, compute capability: 7.5\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"sequential\"\n",
      "_________________________________________________________________\n",
      " Layer (type)                Output Shape              Param #   \n",
      "=================================================================\n",
      " conv2d (Conv2D)             (None, 26, 26, 6)         60        \n",
      "                                                                 \n",
      " max_pooling2d (MaxPooling2D  (None, 13, 13, 6)        0         \n",
      " )                                                               \n",
      "                                                                 \n",
      " conv2d_1 (Conv2D)           (None, 11, 11, 16)        880       \n",
      "                                                                 \n",
      " max_pooling2d_1 (MaxPooling  (None, 5, 5, 16)         0         \n",
      " 2D)                                                             \n",
      "                                                                 \n",
      " flatten (Flatten)           (None, 400)               0         \n",
      "                                                                 \n",
      " dense (Dense)               (None, 120)               48120     \n",
      "                                                                 \n",
      " dense_1 (Dense)             (None, 84)                10164     \n",
      "                                                                 \n",
      " dense_2 (Dense)             (None, 10)                850       \n",
      "                                                                 \n",
      "=================================================================\n",
      "Total params: 60,074\n",
      "Trainable params: 60,074\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "# Creating a CNN similar to the one shown in the figure from LeCun paper\n",
    "# In the original implementation Average pooling was used. However, we will use maxpooling as this\n",
    "# is what us used in the more recent architectures and is found to be a better choice\n",
    "# Convolution -> Pooling -> Convolution -> Pooling -> Flatten -> Dense -> Dense -> Output layer\n",
    "from tensorflow.keras.layers import (\n",
    "    BatchNormalization,\n",
    "    Conv2D,\n",
    "    Dense,\n",
    "    Dropout,\n",
    "    Flatten,\n",
    "    MaxPool2D,\n",
    ")\n",
    "from tensorflow.keras.models import Sequential\n",
    "\n",
    "\n",
    "def simple_CNN():\n",
    "\n",
    "    model = Sequential()\n",
    "\n",
    "    model.add(Conv2D(6, (3, 3), input_shape=(28, 28, 1), activation=\"relu\"))\n",
    "\n",
    "    model.add(MaxPool2D((2, 2)))\n",
    "\n",
    "    model.add(Conv2D(16, (3, 3), activation=\"relu\"))\n",
    "\n",
    "    model.add(MaxPool2D((2, 2)))\n",
    "\n",
    "    model.add(Flatten())\n",
    "\n",
    "    model.add(Dense(120, activation=\"relu\"))\n",
    "\n",
    "    model.add(Dense(84, activation=\"relu\"))\n",
    "\n",
    "    model.add(Dense(10, activation=\"softmax\"))\n",
    "\n",
    "    model.compile(\n",
    "        loss=\"categorical_crossentropy\", optimizer=\"rmsprop\", metrics=[\"accuracy\"]\n",
    "    )\n",
    "\n",
    "    return model\n",
    "\n",
    "\n",
    "model = simple_CNN()\n",
    "model.summary()"
   ]
  },
  {
   "cell_type": "code",
chadhat's avatar
chadhat committed
   "execution_count": 16,
   "metadata": {},
chadhat's avatar
chadhat committed
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/5\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2023-03-02 09:54:46.567130: I tensorflow/stream_executor/cuda/cuda_dnn.cc:384] Loaded cuDNN version 8201\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "938/938 [==============================] - 6s 4ms/step - loss: 0.5901 - accuracy: 0.7815 - val_loss: 0.5787 - val_accuracy: 0.7812\n",
      "Epoch 2/5\n",
      "938/938 [==============================] - 3s 4ms/step - loss: 0.3812 - accuracy: 0.8608 - val_loss: 0.3918 - val_accuracy: 0.8596\n",
      "Epoch 3/5\n",
      "938/938 [==============================] - 3s 4ms/step - loss: 0.3297 - accuracy: 0.8790 - val_loss: 0.3450 - val_accuracy: 0.8747\n",
      "Epoch 4/5\n",
      "938/938 [==============================] - 3s 3ms/step - loss: 0.3011 - accuracy: 0.8894 - val_loss: 0.3702 - val_accuracy: 0.8656\n",
      "Epoch 5/5\n",
      "938/938 [==============================] - 3s 4ms/step - loss: 0.2808 - accuracy: 0.8953 - val_loss: 0.3775 - val_accuracy: 0.8619\n"
     ]
    }
   ],
   "source": [
    "num_epochs = 5\n",
    "model_run = model.fit(\n",
    "    X_train_prep,\n",
    "    y_train_onehot,\n",
    "    epochs=num_epochs,\n",
    "    batch_size=64,\n",
    "    validation_data=(X_test_prep, y_test_onehot),\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
chadhat's avatar
chadhat committed
    "## (optional) Exercise section\n",
    "* Use the above model or improve it (change number of filters, add more layers etc. on the MNIST example and see if you can get a better accuracy than what we achieved with a vanilla neural network)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
chadhat's avatar
chadhat committed
    "## Exercise section\n",
    "* Explore the CIFAR10 (https://www.cs.toronto.edu/~kriz/cifar.html) dataset included with TensorFlow (Keras) and build+train a simple CNN to classify it"
   ]
  },
  {
   "cell_type": "code",
chadhat's avatar
chadhat committed
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "from tensorflow.keras.datasets import cifar10\n",
    "\n",
    "(X_train, y_train), (X_test, y_test) = cifar10.load_data()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
schmittu's avatar
schmittu committed
    "Copyright (C) 2019-2022 ETH Zurich, SIS ID"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Functional API\n",
    "\n",
    "The Sequential API of TensorFlow (Keras) is good enough for simple models with a linear topology.\n",
    "However, the functional api is more flexible and allows for more complicated use cases such as:\n",
    "* models with non-linear topology\n",
    "* shared layers\n",
    "* multiple inputs or outputs\n",
    "\n",
    "Examples of such models:\n",
    "\n",
    "* U-Net for image segmentation (https://lmb.informatik.uni-freiburg.de/people/ronneber/u-net/)\n",
    "* ResNet https://arxiv.org/pdf/1512.03385.pdf"
   ]
  },
  {
   "cell_type": "code",
chadhat's avatar
chadhat committed
   "execution_count": 18,
   "metadata": {},
chadhat's avatar
chadhat committed
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"fashion_mnist_model\"\n",
      "_________________________________________________________________\n",
      " Layer (type)                Output Shape              Param #   \n",
      "=================================================================\n",
      " input_1 (InputLayer)        [(None, 28, 28, 1)]       0         \n",
      "                                                                 \n",
      " conv2d_2 (Conv2D)           (None, 26, 26, 6)         60        \n",
      "                                                                 \n",
      " max_pooling2d_2 (MaxPooling  (None, 13, 13, 6)        0         \n",
      " 2D)                                                             \n",
      "                                                                 \n",
      " conv2d_3 (Conv2D)           (None, 11, 11, 16)        880       \n",
      "                                                                 \n",
      " max_pooling2d_3 (MaxPooling  (None, 5, 5, 16)         0         \n",
      " 2D)                                                             \n",
      "                                                                 \n",
      " flatten_1 (Flatten)         (None, 400)               0         \n",
      "                                                                 \n",
      " dense_3 (Dense)             (None, 120)               48120     \n",
      "                                                                 \n",
      " dense_4 (Dense)             (None, 84)                10164     \n",
      "                                                                 \n",
      " dense_5 (Dense)             (None, 10)                850       \n",
      "                                                                 \n",
      "=================================================================\n",
      "Total params: 60,074\n",
      "Trainable params: 60,074\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "# Simple example showing the Fashion MNIST example using the functional api\n",
    "from tensorflow.keras.layers import Conv2D, Dense, Flatten, Input, MaxPool2D\n",
    "from tensorflow.keras.models import Model\n",
    "\n",
    "\n",
    "def simple_CNN_functional():\n",
    "\n",
    "    img_inputs = Input(shape=(28, 28, 1))\n",
    "\n",
    "    x = Conv2D(6, (3, 3), activation=\"relu\")(img_inputs)\n",
    "\n",
    "    x = MaxPool2D((2, 2))(x)\n",
    "\n",
    "    x = Conv2D(16, (3, 3), activation=\"relu\")(x)\n",
    "\n",
    "    x = MaxPool2D((2, 2))(x)\n",
    "\n",
    "    x = Flatten()(x)\n",
    "\n",
    "    x = Dense(120, activation=\"relu\")(x)\n",
    "\n",
    "    x = Dense(84, activation=\"relu\")(x)\n",
    "\n",
    "    output = Dense(10, activation=\"softmax\")(x)\n",
    "\n",
    "    model = Model(inputs=img_inputs, outputs=output, name=\"fashion_mnist_model\")\n",
    "\n",
    "    model.compile(\n",
    "        loss=\"categorical_crossentropy\", optimizer=\"rmsprop\", metrics=[\"accuracy\"]\n",
    "    )\n",
    "\n",
    "    return model\n",
    "\n",
    "\n",
    "model = simple_CNN_functional()\n",
    "model.summary()"
   ]
  },
  {
   "cell_type": "code",
chadhat's avatar
chadhat committed
   "execution_count": 19,
   "metadata": {},
chadhat's avatar
chadhat committed
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/5\n",
      "938/938 [==============================] - 4s 4ms/step - loss: 0.6048 - accuracy: 0.7764 - val_loss: 0.5624 - val_accuracy: 0.7837\n",
      "Epoch 2/5\n",
      "938/938 [==============================] - 3s 4ms/step - loss: 0.3884 - accuracy: 0.8581 - val_loss: 0.3930 - val_accuracy: 0.8553\n",
      "Epoch 3/5\n",
      "938/938 [==============================] - 3s 3ms/step - loss: 0.3359 - accuracy: 0.8760 - val_loss: 0.3464 - val_accuracy: 0.8733\n",
      "Epoch 4/5\n",
      "938/938 [==============================] - 3s 4ms/step - loss: 0.3045 - accuracy: 0.8875 - val_loss: 0.3520 - val_accuracy: 0.8719\n",
      "Epoch 5/5\n",
      "938/938 [==============================] - 3s 3ms/step - loss: 0.2832 - accuracy: 0.8948 - val_loss: 0.4072 - val_accuracy: 0.8509\n"
     ]
    }
   ],
   "source": [
    "num_epochs = 5\n",
    "model_run = model.fit(\n",
    "    X_train_prep,\n",
    "    y_train_onehot,\n",
    "    epochs=num_epochs,\n",
    "    batch_size=64,\n",
    "    validation_data=(X_test_prep, y_test_onehot),\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Toy ResNet\n",
    "(source: https://keras.io/guides/functional_api/)"
   ]
  },
  {
   "cell_type": "code",
chadhat's avatar
chadhat committed
   "execution_count": 20,
   "metadata": {},
chadhat's avatar
chadhat committed
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"toy_resnet\"\n",
      "__________________________________________________________________________________________________\n",