diff --git a/Investigating TSP.ipynb b/Investigating TSP.ipynb new file mode 100644 index 0000000..e96d029 --- /dev/null +++ b/Investigating TSP.ipynb @@ -0,0 +1,3133 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

Guide Notebook for the 380CT Assignment on TSP

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "_Kamal Bentahar_\n", + "\n", + "[https://github.coventry.ac.uk/380CT-2021/TSP-Guidance](https://github.coventry.ac.uk/380CT-2021/TSP-Guidance)" + ] + }, + { + "cell_type": "raw", + "metadata": {}, + "source": [ + "DISCLAIMER:\n", + "- This is meant to help you get started.\n", + "- You can use it as a starting template, but you can also build your own from scratch. You can even use another programming language (but in Jupyter still).\n", + "- Be ware! Care is not taken into checking validity of paramters, etc. -- similicity of code for understanding is favoured (mostly).\n", + "- There may be bugs! Please report them. Thanks." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1) Notation and definitions" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let $G$ be a [complete]( \"graph is undirected, has no self-loops, and each node is connected to all the other vertices\") [weighted]( \"the edges have a weight (a positive integer)\") graph with $n$ vertices." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Optimisation TSP**:\n", + "> Given $G$, find a cycle of minimal total cost.\n", + "\n", + "Here:\n", + "- A *cycle* is a path that visits every vertex once, and goes back to the start point.\n", + "- The *total cost of the cycle* is the sum of the edge weights of the cycle.\n", + "\n", + "This problem is **NP-Hard** because its decision version is **NP-complete** (Garey and Johnson, 1979, p. 211)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2) Testing methodology" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "* **Exact method (Exhaustive search)**:\n", + " Average _time_ for instances with increasing $n$.\n", + "\n", + "* **Greedy and meta-heuristics**:\n", + " Average _time_ and _\"quality\"_ as $n$ increases.\n", + "\n", + "Instances will be generated randomly as shown in the next subsection." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2.1) Random instances sampling strategy" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Four types of TSP instances will be generated by creating an **adjacency matrices** $M$ as follows:\n", + "1. **Asymmetric**: The edge weights are independent and uniformly random in an interval $[1,\\text{MAX_WEIGHT}]$, i.e the graph is assumed to be directed.\n", + "2. **Symmetric**: Like the asymmetric case but the graph is undirected, and the matrix is therefore symmetric: $M_{ij}=M_{ji}$.\n", + "3. **Euclidean**: Generate points using $(x,y)$ coordinates, then generate the adjacency matrix by calculating all the required distances. Recall that the distance between two points $(x_1,y_1)$ and $(x_2,y_2)$ is $\\sqrt{(x_1-x_2)^2+(y_1-y_2)^2}$. The points are generated in the rectangle defined by the points $(0,0)$ and $(\\text{MAX_Y},\\text{MAX_Y})$.\n", + "4. **Graphs with obvious shortest cycle**: A graph where all the distances are 2 except for the edges on a predefined cycle, where the distance is 1. Such a graph would be useful for testing/debugging the \"nearest neighbours greedy\" search." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Implementation of the instances generation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "First start by importing relevant libraries." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from random import randint, shuffle # random integers and random shuffling of a list\n", + "from itertools import permutations # iterate over all possible permutations of a list\n", + "from math import inf as oo # Infinity (∞) is larger than any number\n", + "from math import sqrt, log, factorial # square root, logarithm, and n!\n", + "from time import perf_counter # for measuring time. NB. 'perf_counter' is better/more accurate than 'time'\n", + "import networkx as nx # to draw sample graphs\n", + "import pandas as pd # to show the adjacency matrix in a nice format\n", + "import matplotlib.pyplot as plt # to plot graphs of time and quality vs n\n", + "import seaborn as sns # nice statistical plots -- see e.g. https://seaborn.pydata.org/tutorial/relational.html#relational-tutorial\n", + "sns.set_style(\"white\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Basics" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let the set of vertices be $\\{0, 1, 2,\\ldots, n-1\\}$.\n", + "\n", + "For simplicity, we will consider $0$ to be the start and end point of cycles." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "class Graph:\n", + " ''' Random graphs '''\n", + " def __init__(self, n=0, type='asymmetric', MAX_WEIGHT=100, MAX_X=200, MAX_Y=200):\n", + " self.n = n\n", + " self.vertices = list(range(n)) # [0,1,...,n-1]\n", + " self.type = type\n", + " self.adj_matrix = [[oo for i in range(n)] for j in range(n)]\n", + " # Generate a random adjacency matrix according to the required type\n", + " if type=='symmetric': self.__random_symmetric_graph(n,MAX_WEIGHT)\n", + " elif type=='Euclidean': self.__random_euclidean_graph(n,MAX_X,MAX_Y)\n", + " elif type=='easy': self.__random_cycle_graph(n)\n", + " else: self.__random_asymmetric_graph(n,MAX_WEIGHT) # assume 'asymmetric' otherwise\n", + " \n", + " def __getitem__(self, i):\n", + " ''' Allow indexing to get the weights '''\n", + " return self.adj_matrix[i]\n", + " \n", + " def __random_asymmetric_graph(self,n, MAX_WEIGHT):\n", + " ''' Asymmetric adjacency matrix of size nxn '''\n", + " for i in range(n):\n", + " for j in range(n):\n", + " if i==j: continue # no self-loops\n", + " self.adj_matrix[i][j] = randint(1,MAX_WEIGHT)\n", + "\n", + " def __random_symmetric_graph(self,n,MAX_WEIGHT):\n", + " ''' Symmetric adjacency matrix of size nxn '''\n", + " for i in range(n):\n", + " for j in range(i+1,n):\n", + " w = randint(1,MAX_WEIGHT)\n", + " self.adj_matrix[i][j] = w\n", + " self.adj_matrix[j][i] = w\n", + "\n", + " def __random_cycle_graph(self,n):\n", + " ''' Symmetric adjacency matrix of size nxn with one reandomly chosen cycle\n", + " All the edge weights are 2 except for the cycle (weight=1) '''\n", + " self.adj_matrix = [[2 for _ in range(n)] for _ in range(n)] # All weights=2\n", + " # Select a random cycle which will have weight=1\n", + " cycle = list(range(1,n)) # don't include 0 as we want to be at the start\n", + " shuffle(cycle) # in-place random permutation\n", + " cycle = [0]+cycle+[0] # cycle starting and ending at 0\n", + " for a,b in zip(cycle, cycle[1:]): # set the cycle's weights to 1\n", + " self.adj_matrix[a][b] = 1\n", + " self.adj_matrix[b][a] = 1\n", + "\n", + " def __random_euclidean_graph(self,n,MAX_X,MAX_Y):\n", + " ''' Symmetric adjacency matrix of a Euclidean graph of size nxn '''\n", + " # (1/2) Generate random (x,y) points\n", + " points = set()\n", + " while len(points)\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
01234567
021212222
112222212
222222211
312222122
422222121
522211222
621122222
722121222
\n", + "" + ], + "text/plain": [ + " 0 1 2 3 4 5 6 7\n", + "0 2 1 2 1 2 2 2 2\n", + "1 1 2 2 2 2 2 1 2\n", + "2 2 2 2 2 2 2 1 1\n", + "3 1 2 2 2 2 1 2 2\n", + "4 2 2 2 2 2 1 2 1\n", + "5 2 2 2 1 1 2 2 2\n", + "6 2 1 1 2 2 2 2 2\n", + "7 2 2 1 2 1 2 2 2" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "G = Graph(8,'easy')\n", + "show(G)\n", + "draw(G)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "5x5 symmetric graph:\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
01234
0inf31.037.070.047.0
131.0inf21.083.03.0
237.021.0inf24.011.0
370.083.024.0inf85.0
447.03.011.085.0inf
\n", + "
" + ], + "text/plain": [ + " 0 1 2 3 4\n", + "0 inf 31.0 37.0 70.0 47.0\n", + "1 31.0 inf 21.0 83.0 3.0\n", + "2 37.0 21.0 inf 24.0 11.0\n", + "3 70.0 83.0 24.0 inf 85.0\n", + "4 47.0 3.0 11.0 85.0 inf" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "G = Graph(5,'symmetric')\n", + "show(G)\n", + "draw(G)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3x3 Euclidean graph:\n", + "Points: [(58, 181), (146, 43), (40, 100)]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
012
0inf163.67040182.975900
1163.670401inf120.353646
282.975900120.353646inf
\n", + "
" + ], + "text/plain": [ + " 0 1 2\n", + "0 inf 163.670401 82.975900\n", + "1 163.670401 inf 120.353646\n", + "2 82.975900 120.353646 inf" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAb4AAAEuCAYAAADx63eqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdeUDUdf7H8efMcN8oyn0KeIE3qKkdHmneZXmVtlZ2WNpukmZtVmub2+avtGwtzdajzfvW8srS1BI8uVQUgUEBuQ+5mZnfH9+ati27BL7AvB//IAMzvKZdffM53p+PxmQymRBCCCEshFbtAEIIIURjksInhBDCokjhE0IIYVGk8AkhhLAoUviEEEJYFCl8QgghLIoUPiGEEBZFCp8QQgiLIoVPCCGERZHCJ4QQwqJYqR3AouTmwqpVEB8PJSXg6gpdusC0adCmjdrphBDCImjkrM5GEBcHCxfC558rn1dV/fA1e3swmeCee2DePIiKUiejEEJYCJnqbGjLlsGdd8L27aDVwvLlUFYGOTlKoausVArh9u3K9y1bpnZiIYRo0aTwNaRlyyAmBioqlFHd4sUwZQro9crnb7wBkycr32syKd8XEyPFTwghGpBMdTaUuDhlBFdRoXzu4AAFBZCfD8HB0L49JCbC11/D7bf/+LkODnD4MPTq1eixhRCipZMRX0NZuFCZxvxet25gZ6cUxLo6SEqCoiKluGk0P35uZaXyfCGEEPVOCl9DyM1VNrL892Dax0f5WFj4w2OFhcrmllatfvx8kwk++wzy8ho+qxBCWBgpfA1h1aqfPmZnp3ysrf3hsbo65aO9/U+/X6P5+dcRQghxS6TwNYT4+B+3LMAPn+t0Pzxmba18/O8p0e9VVkJCQsPkE0IICyaFryGUlPz0sZwc5aO7+w+Pubsrm18KCn7+dYqK6j+bEEJYOCl8DcHV9aePnTunTHP27g1WVtCxo1L4Tp68+ev8d5EUQghRL6TwNYQuXX5Y0/teWRmsWwf+/koRPHRIefyDD37+NeztITKyYXMKIYQFkj6+hpCbC4GBP13nc3SE99+HceOUKc7Fi2/etmBnpzS6yxmeQghRr6TwNZT77lOOIfsj/3k1Grj3Xtiypf5zCSGEhZOpzoYyb97Ptyn8FrbWMGd2/eYRQggBSOFrOFFRsGiRcvzY72FvBzOHgN1ZqCr89e8XQgjxu8hUZ0NbtozqWbOwqqtD90vfp9EoI8RFi2DSELi0WXk87H5wC22MpEIIYRGk8DWwwsJCRvv4sMTLi57XrysF7r8b1r+/j2/4cGV69PuDqasKIWU9VORBwGDwvu2nZ3oKIYT43eQG9ga2YsUKjlVXY7NrF3h5KceQJSQozenu7krLwp/+9NPdm3atoPOjkLoD9AegPBtCRoPORo23IYQQLYaM+BpQXV0dISEhhIaGcuj7vr3fy2SCrKOQ+QU4eEL4RLCTxnYhhPijZHNLA9q2bRuZmZk8++yzf/xFNBrwHQDtH4TqYkhcDiVX6i+kEEJYGBnxNaD+/fuTnZ1NSkoKOt0vbm35bSoLlHW/ynwIvBu8+si6nxBC/E4y4msgp06d4tixY8ycObN+ih6AfWuIeAzc20PGPkjdCsbaX3+eEEIIMxnxNZCpU6eybds2rl69iuvPHVp9K0xGuPY1XP0SHL0hfALYutXvzxBCiBZKRnwNICcnh/Xr1zNt2rT6L3oAGi343QHtJyltDwnLoSSt/n+OEEK0QFL4GsAHH3xAXV0dM2fObNgf5N4eIqaDlT2cXwPZ3/6xs0GFEMKCyFRnPauuriYgIICoqCh2797dOD+0rkpZ7ytKAY+uEDIStNaN87OFEKKZkRFfPduwYQO5ubm31sLwe1nZKf19vndA/jlI+jdU/8wt8EIIIWTEV59MJhM9e/akurqaxMRENGq0GhSeh8vbQGcNYePBJbDxMwghRBMmI756dPToUc6cOcOsWbPUKXoArToqLQ86Wzi/GnJiZd1PCCH+i4z46tH999/PoUOHuHr1Kg6/9zqi+lZXCZe3QvElaNMdgkeAVo5mFUIIGfHVk4yMDLZt28b06dPVL3qg7PRsP0k57izvDCT/G2pK1U4lhBCqk8JXT95//300Gg1PP/202lF+oNGC/yBlra8iV+n3K9OrnUoIIVQlU531oLy8HD8/P4YMGcLGjRvVjvPzKq7DxfVQUwJBw8Gzl9qJhBBCFTLiqwdr166luLi4cVsYfi8HT4icDi7BkLYbruwCY53aqYQQotHJiO8WmUwmOnfujIODA3Fxcert5vytTEblbr+sY+DkD+HjwcZZ7VRCCNFoZMR3iw4cOMD58+d59tlnm37RA2XdL2AIhN4PFTnfrftdVTuVEEI0Ghnx3aIRI0Zw6tQpMjIysLW1VTvO71Oeo9zvV1OmtDu07aF2IiGEaHAy4rsFKSkpfPbZZzz11FPNr+gBOHpBxOPgHABXdkLaHjAa1E4lhBANSgrfLXjvvfewsbHhySefVDvKH2ftAB0fAu++cD1OOe2l5obaqYQQosHIVOcfZDKZyMrK4osvvmDq1Klqx6kf+fGQulMphuETwMlX7URCCFHvpPDdIoPBgE6nUztG/SnPgosboPYGhIyCNt3UTiSEEPVKCp/4qdpyuLQJStPBqzcE3A3aFlTchRAWTQrf72QymZpH28KtMhpAvx9yToBLEIQ9ANaOaqcSQohbJoXvN8jMzCQjI4OoqKjmuXvzVuSdVU55sXaC9hPA0UftREIIcUuk8P2KkpISpk2bRkFBAdeuXWP16tUAVFdXc8cdd7Ss9b2buXENUjZAbQW0Gw0eXdROJIQQf5ju1VdffVXtEE3Z4sWL0Wq1bNiwAY1Gw5o1azhz5gxpaWl07doVV1dXtSM2PBsXaB0JN/SQ8y0YqsE1WDkFRgghmhn5l+tXBAQEUF5eTk1NDVu2bOGOO+5g/fr1ODk5sWbNGrXjNR4bJ+j4MHhGQ/Y3cP4TZQQohBDNjBS+X3H33XdTW1vLxIkTqauro2fPngAkJCRw++23q5yukWl1EDwcQkYr9/olLleOPRNCiGZE1vh+QXV1NVeuXMHNzQ1vb28+//xznnrqKXr27ImzszOrVq1SO6J6yq4q636GSggZCx4RaicSQojfRArfTcTHx/P666/Tvn17zp07h7OzM+PGjaNLly4UFRUREhJC69at1Y6prpoySNkINzLBux8EDJJ1PyFEkyeF7yYee+wx+vTpw2OPPUZCQgL/93//h0ajYfTo0dx7771qx2s6jHWQvhdyT4JrOwgbB1YOaqcSQoibkl/Pf0ZtbS1VVVX4+Cg9a5GRkXh5eTFs2DAOHz5Menq6ugGbEq0VhIyE4FFQmgYJK6DiutqphBDipmTEdxNffPEFCxYsYOzYsdTU1HDw4EH279/PoEGDWL9+PW3atFE7YtNTplemPg3V0G4stO6sdiIhhPgJKXw/Y+PGjYwfP579+/ezc+dOhg4dikaj4fz588TGxrJp0ya1IzZdNaXKppcb18BnAPjfJet+QogmRQrf/1izZg1ffvkl//73v0lPTycvLw93d3cqKiooKCigffv25ilQcRPGOuVS27wz4BYGofeBlb3aqYQQApDC9xMjRoxgzZo1LFu2jMTERHJycmjVqhWzZ8+mX79+asdrPkwmuH4SMj4HWzcInwgObdVOJYQQsrnlv124cIGrV69y8eJFYmNjWb9+PV999RUPPvgg69evp7KyUu2IzYdGA15RymkvhmpI/AgKz6udSgghpPB9z2QyERoaytNPP81jjz1GSUkJZWVlAIwePZrY2Fjs7WW67ndzCYSIx8HeQ1n7y/wSTEa1UwkhLJhMdf6MyspKDhw4wIgRI1i8eDGHDx/m9ttvJyYmRu1ozZexFq7shvxz4B4O7e4DKzu1UwkhLJAUvu/s2LGDgwcP4uzszMsvv4y1tTXZ2dkcOnQIe3t7Ro8ejZ2d/EN9S0wmuB6rNLzbtYL2k5SRoBBCNCIpfEBNTQ39+vXjlVdeYcuWLRQVFdG9e3cyMzN59tlniYyMVDtiy1KSBpc2gcmg7Ph0b692IiGEBZE1PuDbb7+lXbt2jBw5kvnz5xMXF0efPn3o3Lkzu3btwmAwqB2xZXENhsjHlVHfxXVw9bCs+wkhGo0UPiA6Ohq9Xs/Zs2exs7Njw4YNDB06lMDAQC5cuGAZt6w3Nls36PyIcpv71S9/OPFFCCEamMVPddbU1ABw48YNWrVqZX789OnTvPLKKzzyyCNyKHVDMpmUW90z9ivrfeETwd7Cb70QQjQoiy98r7/+OgAPPfQQWq2WgIAAACZMmMDYsWOZNGmSmvEsR8mV79b9jBB6P7iHqZ1ICNFCWXThO3/+PNOmTePzzz/nzTffJDU1ldjYWGbPns2sWbPUjmd5qoogZb1yu4P/IPDprzTCCyFEPbLoNb4jR44wfPhwzp49S1ZWFps2bWLPnj0cPXqUs2fPqh3P8ti5Q+dHoXUEZH6hjABl3U8IUc8suvANGjSIzMxM4uLiGDhwIAARERGEhYWxfft2ldNZKJ0NhI6DgCHKEWeJK6GqUO1UQogWxErtAGqpqKggNDSUAQMGsH79ekpKSnBwcKCoqIijR4+yYsUKtSNaLo0GfPqBgydc2gwJyyHsfnALVTuZEKIFsNg1vlGjRrFmzRrc3d25cOECK1asoLq6Gnd3d0JDQ3n44YfVjihAGe2lrIeKPAgYDN63ybqfEOKWWOSIb/v27Xh7e+Po6Mjf//53kpOTufPOO+nTp4+c0tLU2LVS1v1Sd4D+AJRnQ8hoZUpUCCH+AIsc8d1333289NJLHD9+nIKCAqKjozl69CiXL19m6dKltG0r98Y1OSYTZB1VNr04eCr9fnbuaqcSQjRDFlf4KioqeOGFF8jOzubq1avs27cPFxcXQOnlmzVrFtHR0SqnFDdVdAkubwaNFsIeANcQtRMJIZoZi9vV6eDgwLvvvsvo0aNp06YNZ8+epaioiPT0dM6ePUuPHj3Ujih+iXuYcr+ftROcXwvZ3yijQSGE+I0sasRXW1tLTk4O/v7+5sdqamp466232LdvH9OnT2fKlCkqJhS/maEaLm+DogvgEams+2mt1U4lhGgGLKrw7d27lz179nDXXXcRFhZG586d0Wq11NbWUlFRgYuLCxrZMdh8mIxw7WvlkGtHbwifoBx+LYQQv8CiCt/Zs2cZM2YMI0eOpE2bNvj7+9O1a1fat2+Ps7MzJpNJCl9zVHQRLm8Fje67db9gtRMJIZowiyp8+fn5zJo1ixkzZpCamsrFixcxGo24urry1FNP4eYmo4VmqzJfuduvqhACh4JXb+n3E0L8LIsqfADp6el4e3tja2tLfn4+R44cITc3lyeffFLtaOJW1VVB6lYoSgGPrhAyUtb9hBA/YRGFLyMjg927dzNixAiCgoJ+8nWZ4mxBTEblRvdrh8HR57t1P1e1UwkhmhCLKHxHjx7l+eefp1u3bgQFBTFgwAD69OmDVmtx3RyWo/C8sutTZw1h48ElUO1EQogmwiIKX3l5Of3792fGjBmUlZWh1+txc3OjU6dOjB49Gjs7O7UjioZQkauc81ldDIHDwDNK1v2EEC2/8BmNRqqrq9m+fTvR0dG4uLiQmJhIYmIiaWlpLFiwAEdHR7VjioZSV6ns+Cy+BG26Q/AI0FrkEbVCiO+0+ML33+rq6rCyUv7RKy0tJT8/n5AQOfKqxTMZlV6/a1+Dkx+EjwcbF7VTCSFU0qIL35kzZzh06BCHDh3i4Ycf5s4775QDqC1ZQTKkbgOdrVL8nAPUTiSEUEGLLny9evXi5ZdfpqioiJ07d1JWVsY999zDc889p3Y0oZaK63BxPdSUQNBw8OyldiIhRCNrsYXvwoULxMTEsHv3bvNjx48f5+9//zsTJkxg6tSpKqYTqqqrVG52L0mFtj0h6B5Z9xPCgrTY/fweHh54eHgQExPD6dOnqamp4bbbbuPtt99my5YtascTarKyhw4Pgk8/yD0FyauhpkztVEKIRtJiR3ygNK5v3ryZuro6XF1d0Wq1nD59Gn9/f1566SW144mmID8RruwAnZ3S7O7sp3YiIUQDa5GF79tvvyUxMRFnZ2cuXbqEyWSidevWpKWl4enpyTPPPCO9e+IH5TlKv19NmdLu0FbuZBSiJWtxha+yspKxY8fSo0cPnJycsLKyoqamhj59+jBkyBC144mmqrZCudm95IrS6B44DLQ6tVMJIRpAi1vR37hxI97e3ixcuJCKigouX77MN998w4oVK/D29iYiIkLtiKIpsnZQ1v30B5Vb3SuuK0ed2TipnUwIUc9a3OaW/v37U1FRwYkTJ3BwcKBLly488cQTdO7cmc8++0zteKIp0+iUK41C74MbWZC4HG5cUzuVEKKetbjC165dO0aMGMHs2bMZM2YMGzZsoK6ujiNHjtChQwe144nmwKMLRDwCaCDpY8g7q3YiIUQ9alFrfKmpqcTGxmJtbU2/fv1ISEhg8eLFANx5553MmTNH5YSiWakth0uboDRdudg24G5Z9xOiBWgxhS8pKYlZs2YxZcoU9u3bxzfffMOMGTP485//THV1Nc7OzmpHFM2RyQAZByDnW3AJgrAHwFoONReiOWsxhe+5557D39+fv/zlLwAsXLiQ8+fPExgYyIIFC1ROJ5q9vLNwZRdYO0H7Ccolt0KIZqnFrPF5eXlRWFhIWZlyAkdeXh5PPPEElZWVfPnllyqnE81em27Q+RHABIkfQ3682omEEH9Qixnx5eTk8Oyzz+Lh4YFGoyEzM5N169YxatQoPvroI4KDg9WOKFqCmhtwaSOU6cG7LwQMVnaDCiGajRZR+P7617/y+uuvU1RUxGeffUbnzp0xGAwcPHiQs2fPsm7dOrUjipbEaICMfXA9FlyCv1v3c1A7lRDiN2r2U51btmwhIyMDUG5fKCkp4eLFi7i4uPDQQw+xbNkylROKFkerg+DhEDJGGfklLleOPRNCNAvNfsQ3bNgwli5dyqZNm0hLS8PFxYXCwkK6du3Ks88+q3Y80dKVXYWUDWCohJCx4CEnAwnR1DXrI8sKCgrQaDTs37+fU6dOsXnzZkBZ7/vLX/7C2LFjCQwMVDmlaNGc/SDycUjZqJz1WZ4NAYNA0+wnU4RosZr1305XV1cWLVrE/v37SUlJ4dKlS4CywzM5OZmAgACVEwqLYOMMnR6Gtr0g+xhc+A/UVaidSghxE812qjMvL48ZM2awadMmQDm1xdfXl5deeolz584xfPhwnnvuOZVTCotz/RSk7wEbV2g/ERw81U4khPgfzbbwvfXWW7z88sv885//ZMaMGVhZWWE0GomPV/qrOnfujLW1tcophUUq0ytTn84BEHb/z057lpeX4+joiNFoRKtt1hMvQjQ7zXaN7+DBgxw4cIBdu3ah1+sJCQlBq9XSrVs3taMJS+ccAJFPgs72Z4teUVERr732GkVFRVRUVPDOO+/g6+uLRqNRIawQlqdZ/qr56aef4uPjw4ABA2jbti333nsve/fuxWg00kwHsKKlsXEC7c//XllVVcUzzzzDyZMn6datG35+flL0hGhEzXKqc/fu3QQFBZkvld27dy/Hjx9n1KhRREVFqZxOiF/3xhtvkJSUxH/+8x+WLl1KXl4elZWV/POf/1Q7mhAtXrMc8Y0cOfJHN6n369cPb29vxo0bx7Fjx1RMJsSvW7t2LQcPHuTjjz/mL3/5C3v27OHuu+/G1dWVe+65h/LycrUjCtGiNbsR3+LFi7l69Sp79+5lwIABvPTSS/j5+QFQWVmJvb29ygmFuLnDhw8zb9481q5dy549e3j++ed54403SE9PZ+bMmWzatIk///nPODrK1UdCNJRmNeLT6/WsW7eOhQsXsnv3bpKTkxk8eDAxMTEUFRVhb28va3yiSTt06BCTJ0/GwcGBZcuWcfz4cWbPno27uztbt25l2LBh2Nracvz4cb755hu14wrRIjWrXZ2HDh0iKCgIa2trgoKC+Oijj9i4cSNarZa0tDTc3d1lk4Bo0l577TUAUlJSuOuuu+jZsycGgwF/f39qa2vp2bMnX3zxBTExMXh6euLr68vKlStVTi1Ey9KsRnxjxozBxcWFtWvXsmnTJl577TV69uyJr6+v3MAgmg2TyYTRaCQuLo7//Oc/HDx4kC+//NI8TT9o0CDOnDnD3r17MRgMXL16VeXEQrQszW6Nb/fu3ezbtw97e3t8fHzo0qUL8+fP5/3336dr165qxxPiN0tOTub555+nV69eeHl5MX36dKysrDh27BhXrlwhPDycESNGcOrUKTlzVoh61OwKH0B1dTVarZbq6moOHDiAXq+XmxhEs2QwGNDpdFRVVTFz5kxefPFF7OzsuP322+nZsydjxoxh0qRJcsKLEPWoWa3xfc/W1haj0YiTkxNjx46VdT3RbOl0yu3thYWF5OfnA+Dt7c2QIUMYPnw4I0eOBDAXvrq6Oqqrq2XXpxC3oFkUvnPnznHu3Dm0Wi0TJ05Eo9Gg0+m4fPkyGzdu5MUXX1Q7ohC3xMfHhwcffJD777+f2267jStXrtCmTRsAampqsLGx4fz58yxatAhbW1sKCgp4//338fDwUDm5EM1Pk5/qvHTpElOmTOGBBx4gMzOT6dOn07lzZ0A5+unixYuytidajEuXLhEfH0/Pnj3x8/PDykr53fTGjRv07t2bO+64g5iYGI4fP87KlSvZsWMHLi4uKqcWonlp8osG7733HpMmTWL27NmEhoYye/ZsAEpLS9m6dasUPdGihIWFMW7cOIKCgvj888/NfakjR47E2tqavn378swzz5hHiFqtlvT0dHVDC9HMNPmpzjZt2hAeHg7AM888w+bNmykqKmLNmjUUFBSonE6IhpOfn49eryc5ORkbGxtOnTqFTqcjPT2da9eucc8992Btbc0//vEPnJycWLRokdqRhWgWmvyIz9/fn/Xr15s/v+uuu9iyZQt79+5lypQpKiYTomFNmzaNwMBAWrVqRWhoKDqdjpqaGnQ6HZWVlfj6+mJra8sHH3xAXV0d06dPp7CwUO3YQjR5TXrE9+c//xkHBwcyMzPJycnBxcWFRx99lAEDBjB8+HDCwsLUjihEg/P09CQpKYk5c+bg5eXFsWPHeOmll4AfdnuOGTOGqVOnotfr2bJlC05OTiqnFqLparKbW3bu3Mny5cvZvHkzS5YsIScnhy+++AJnZ2cqKipYsGCBeau3EC1dWVkZr7zyCn369MHLy4vbb7+dkpISVqxYwTfffIO7uztDhw7ltttuw9fXl4yMDGl6F+ImmuyI78SJE4SFhWFnZ0deXh7Xr18nPj6eV199lb59+zJ06FC1IwrRaJydnXn77bfNn5eVlTF58mQiIiL485//zIABAwDYsGEDZ8+e5fjx49xxxx387W9/UyuyEE1Wk13je+KJJ6ioqGDcuHFs3bqVRx99FICMjAzS0tJUTieEekpLS3nhhRfw9PTkzTffNBe95cuXs2XLFgYMGMC2bdtISkrik08+UTmtEE1Pk53qBOU0C6PRyOrVq9Hr9QQHB7Njxw4OHDhg7m8SwhLp9Xr8/PzMx5idOnWKl19+mXnz5hEdHW3e9OLr68uoUaNUTitE09JkR3wArVq1wsPDgylTptCmTRtatWrF/PnzpegJixcQEIBWq8VgMAAQFxfHwIED6dmzJ7a2tpSWlrJq1SpsbGxUTipE09MsKkjbtm3561//qnYMIZqc78/6vHHjBnZ2djg4OAAwfvx47r77boYOHYrBYCA7O5vY2FgA7rvvPtXyCtEUNOnCV1NTg8FgwMbGxvwXXAjxU+Hh4SxatIgbN26QlZWFRqNhxIgRzJo1CxsbG0pKSjhx4gReXl706dMHHx8ftSMLoZomvcb3yiuvsHHjRr799ltcXV3VjiNEkxYbG8tXX31Fr1696NGjB//3f//H/v37OX78OCkpKbz22mvExMTQq1cvKioqqKqqolWrVmrHFqLRNdnCV11dTUBAAFFRUezevVvtOEI0S7NnzyYxMREnJyemTJnCmDFjOHjwIB999BEVFRXcf//9PPzww2rHFKJRNdnNLevXryc3N1cumBXiDzAajQC88MILGAwG9Ho9kZGRLF++nAMHDjBs2DA++OADVq1aRWpqqspphWhcTXKNz2QysWTJEjp16sTgwYPVjiNEs6PVaikvL2fFihUEBwczc+ZMjhw5wrVr17j99tvNpx55e3tTVFSkclohGleTLHxHjx7lzJkzfPjhh3K7uhB/kKOjI+PGjcPa2pqQkBD27NmDra0td955J6Bc+VVUVESvXr2Ij4/nxIkT9OvXj06dOqkbXIgG1iSnOpcsWUKrVq146KGH1I4iRLPWvn17QkJCqK6uJjk5mWHDhuHk5MT+/fvZsWMHS5Ys4fnnn+edd97h8uXLPPnkk+zfv1/t2EI0qCY34svIyGDbtm08//zz5p4kIcStsbW1pWvXrsTExDBjxgxeeOEF1q5dy6ZNmzh16hTbt2/HxcWFDz/8kFOnTnH33XerHVmIBtPkCt/777+PRqPh6aefVjuKEC1KTEwM7u7ulJWV8eGHH+Lp6cnOnTvZvHkzLi4uGAwGamtrad26NQCpqakEBgbKSUmixWlS7Qzl5eX4+fkxZMgQNm7cqHYcIVq07du3k5KSwpw5czAajSQkJPDcc8+xbNkysrOzWbt2LRcuXGDFihV07NhR7bhC1Jsmtca3du1aiouLpYVBiEZw48YN4uLiqK2tJTY2loULFzJhwgScnJyYPn06gwcP5q9//SuPPvoo+/btUzuuEPWmyYz4jEYjnTt3xtHRkbi4ONnNKUQjmD17NnFxcURFRdGuXTtmzJjBgQMHOH78OKdPn+bFF1+kdevW6PV6Bg4cqHZcIepFkyl8+/btY9iwYaxZs4YpU6aoHUcIi5GQkEBkZCQ1NTW88MILvPLKK7i6uvLNN9/w4YcfsmrVKvLz880HXU+dOhVra2u1YwvxhzWZVeslS5bg6enJ+PHj1Y4ihEWJjIwElDv+Tp48aT4X99KlS3h7e5OSksKaNWvQ6/XY2NiwatUq1q1bh5+fn5qxhRWHGhYAACAASURBVPjDmkThu3jxIp9//jmvvvoqtra2ascRwiL5+fnh5ubGnDlzCAwMJCcnB2dnZxYvXkxoaCjjx4+nS5cuvPLKK1y5ckUKn2i2msTmlvfeew8bGxuefPJJtaMIYbHs7OzYuXMn7u7u5OTkMHDgQJydnQkICGDIkCF06dIFgPj4eEpLS4EfzgQVojlRfcRXXFzMqlWrmDRpEp6enmrHEcLizZs3D5PJhEajISkpCa1Waz7GbN68eVRVVTFy5EhiYmIoLy/nxo0brFq1Su7MFM2G6iO+jz/+mPLycmlhEKIJMZlMGI1G0tLSMJlM6HQ6Pv30U7Zv387mzZt58MEHyc/P5/XXXycwMJDZs2dTW1tLE9krJ8QvUnVXp8FgIDQ0FH9/f44cOaJWDCHETWRnZzN58mR8fX25fv06y5YtY+fOnWzdupWjR48CsG3bNnMfoBDNgapTnbt27SI9PZ1FixapGUMIcRPe3t58+eWXpKen4+HhwbVr11i5ciXHjx8HICcnh4yMDAIDAwHlEAqNRiMHzIsmTdWpziVLlhAQEMCYMWPUjCGE+BVBQUE4OTlRXV3N2LFjcXV1JT8/n9jYWGJjYxkxYgSrVq1i48aN7Nq1iyeffFKmPUWTpVrhO3fuHF999RXPPPOMHIIrRDNhZ2fHnj17ePfdd1m8eDEHDx5k3Lhx1NbW8vrrrxMSEsKGDRvw8fFhxowZsutTNEmqrfE98sgjbNiwgatXr+Lu7q5GBCHEH5CRkcGiRYvo1q0bPXv2JCQkBGtra9LS0ti/fz/x8fF8/PHH5Obm0rZtWwDzLlEhmgJVCl9eXh7+/v5MmzaNZcuWNfaPF0LUk6qqKgYPHszSpUvp1q0bVVVVjBkzhrVr19K2bVuKi4uxtrbGyspKDqcQTUbDzzHm5sKqVRAfDyUl4OrKubw8nKurmTVrVoP/eCFEw6moqMDb2xs7OztAaU8KCQnBw8MDg8HABx98wK5du/D29mbUqFE8/PDDKicWoiELX1wcLFwIn3+ufF5VZf5SP+CaVovNSy/BvHkQFdVgMYQQDadVq1ZMmzaNyZMnExERQVVVlbm46XQ6xowZQ3FxMdnZ2XK7g2gyGmaqc9kyiImBykpo1w7efhv694eKCti6FV54QfmzRgP29rBoETz1VL3HEEI0jpycHPR6PR07dsTZ2RmAmpoa9u7dy4YNG3jqqafo378/6enpZGVlodPp6N27t8qphaXSvfrqq6/W6yt+X/QqKsDWFo4ehdtug7NnlSI3dCh4ecHOncr319bCl19Cq1Yy8hOimXJycsLX19e8jmcwGDh9+jSrVq1i2LBhjBw5ksrKSsaOHUtRURHvvPMO1tbW9OzZU+XkwhLVbztDXNwPRQ+gXz8ID4cdO5Ti162bMgqcPBm0//WjKyqU5508Wa9xhBDquHjxIitXrqRTp07mZvZvv/2W2267jSVLlvD5559z8OBB8vPzVU4qLFH9rvEtXKgUtu9dvAgPPgjp6crnpaXK111dwcbmR+t+VFYqz9+ypV4jCSEan5WVFQ4ODsydOxeAiRMnUlpayrFjxxg6dCh79+7F0dERDw8P83Ok5UE0lvpb48vNhcDAHxez/zV+PGzYAElJEBHx06/b2YFeD23a1EskIYR6DAYDOp2Ob775hmnTpnHhwgX279/P3Llz6dGjB3PnziU8PJycnBy8vLyoqanBxsZG7djCAtTfVOeqVb/89V694KOPlD8vXvzz36PR/PrrCCGahe+vKXJ3dzff8j5kyBD69evHggULCA8PJzExkdWrVzNs2DC6detGUlKSmpGFhai/whcff/PRXqdOSluDs7Mylfl9AfxflZWQkFBvkYQQ6uvQoQMREREMHjyY+fPnU1paSl5eHgChoaHMnTuXy5cvM2LECDp37qxyWmEJ6m+qc9Qo2L37p4/7+MCJE+DnBwcPwogRUFNz89cZORJ27aqXSEKIpuPgwYNUV1fj4+ND9+7dzY+/+OKLfPXVV+YbHxITEykuLiY8PNx85JkQ9an+Nre4uv78459+qhS9kydhzJhfLnrA9eIcquJP4NuhG1Y2csSREC3F4MGDzX/+fiPLunXrWL9+PXFxcQAUFhayevVqrl+/TlpaGm+99RZ9+vRRK7JooepvxPfPf8Irr/x4unPIENi/X/nzyZNw9eoPX/vTn5QjzP5LnZWO2G5BnOrghc7aBp/2XQmIiCKgS29a+4XIji8hWpDTp09zzz33sGXLFvr3709dXR1WVlbmTS4ff/wx8fHxLL7ZngAh/qCG3dW5ZAnc7DxOLy+4fv3Hj9nZUXsphazCa+gT4tAnnKDwWjoAjm6t8Y+IJiAyioCIKOxd5EYHIZqzxYsXYzAYmD17NkVFReZbWjZu3IinpycHDx7ExcWF559/XlodRL2q3yPL7rsPtm+HP/KSGg3ce+9P+vhuFOaiT4hFnxBHZlIcVTdKQaOhbVA4/hHRBEZG4xUWgc7Kup7ehBCisS1btgxHR0emTp3KnDlzWLlyJfPnzyc6Opq+ffuqHU+0MPVb+OLi4M47fzi55fdwcIDDh5W2h5swGg3kpaegjz+BPjGOnMuJGA0GrG3t8e3YnYAuvQmIiMLNy19+OxSiGdm8eTP79u1jxYoVADz77LO8/fbb5pYIIepT/R9S/d9ndf5WDg5/6KDqmspyriafRp9wAn1CHCW51wBw8fDGPzKKgMje+Hfqga2j8+96XSFE46qqquLpp5+mrKyMiIgItm7dyokTJ+QOP9EgGv52hl96+Xq+naHk+jX0CbFkJMRyNfkUtVUVaLQ6vNp1wj8iisAu0bQN6YhWK79FCtEUrV27luDgYPz9/QkMDJS1PdEgGu4G9pMnlbM3P/tMKXD/fYanvb1SEIcPV+7j+4XpzT/KUFdHTmoSmd8Vwty0C2AyYevghH/nXvhHKuuDzh5e9f6zhRC3zlz0TEbQ1O95+sKyNVzh+15ennIMWUICFBWBuztERirtDI14JmdlWQmZSSfNhbC8SDk5ws07gMDIaPwjo/Hr0B1rO/tGyySE+BVGI9QUQ+F58L5N+SVaiFvU8IWvCTKZTBRlpZMRH4s+MZasC2epq6lGa2WNT1gkAV2iCYiIxiMgFI1WftMUQjUmE6TvhesnoFUnaDcGdLLuJ26NRRa+/1VXU01WSjyZCXFkJJygIDMVAHsXd6WBPjIa/4goHN1aq5xUCAtkMkH2cdAfBPs20H4i2LVSO5VoxqTw/Yzy4nz0iXHo42PJTIyjsqwYAI+AUAIiognoEo13WKQcqSZEYyq+DJc2K38Oux/cQtXNI5otKXy/wmQ0kqe/hD4hlsyEOLJS4jEa6rCyscW3Q3cCIqMJiIzG3SdQdp8J0dCqCiFlPVTkQcBgWfcTf4gUvt+ppqqCaxfOov9ufbA4Ww+AU+u2ymgwMgr/zlHYObmonFSIFspQDak7oDAZWkdAyGjQyQW24reTwneLSvOylWnRhFgyk05SU3EDNBo8gzuYT5LxbNcZnVX9XYQhhMUzmSDrKGR+AQ6eED4R7OT8XvHbSOGrR0ZDHdevXPjubNFYrqcmYzIZsbF3xK9TDwIiexMQGYVrW1+1owrRMhRdgstblOnOsAfANUTtRKIZkMLXgKrLy8hMPmUuhGX5OQC4evqZr1vy69gDG3sHlZMK0YxVFijrfpX5EHg3ePWRdT/xi6TwNRKTyURxTqa5CF47f4ba6kq0Oh1eoZHKdUuRvWkbFC69g0L8XoZquLwNii6AR6Sy7qeVG1vEz5PCpxJDbQ3ZlxPNm2Ty0lMAsHNyxT+il7JbNCIap1aNd7qNEM2ayQjXvoarX4KjN4RPAFs3tVOJJkgKXxNRUVJEZlKc+e7BipICAFr5BptPkvHt0E16B4X4NUUX4fJW0Oi+W/cLVjuRaGKk8DVBJpOJgsxU87RoVko8htoadNY2+LTval4fbO0XIr2DQvycyny4uB6qCiBoGHhGy7qfMJPC1wzUVleRdfEs+oQ49AknKLyWDoCjW2v8v+sdDIiIwt5FtnMLYVZXBanblBGgR1cIGSnrfgKQwtcs3SjMNU+JZibFUXWjFDQa2gaF4x+hXLfkFRaBzkr+kgsLZzLC1cNw7TA4+ny37ueqdiqhMil8zZzRaCAvPQV9/An0iXHkXE7EaDBgbWuPb8fu5iZ6Ny9/mRYVlqvwvLLrU2cNYePBJVDtREJFUvhamJrKcq4mn0afcAJ9QhwludcAcPHwxv+7lgn/Tj2wdXRWOakQjawiV+n3qy6GwGHgGSXrfhZKCl8LV3L9GvrvLt+9mnyK2qoKNFodXu064R8RRWCXaNqGdESr1akdVYiGV1ep7PgsvgRtukPwCNDKcYKWRgqfBTHU1ZGTmmS+hT437QKYTNg6OOHfuRf+kcr6oLOHl9pRhWg4JqPS63fta3Dyg/DxYCOHylsSKXwWrLKshMykk+ZCWF6UB4CbdwCBkdH4R0bj16E71nb2KicVogEUJCu7PnW2SvFzDlA7kWgkUvgEoPQOFmWlk/HdSTJZF85SV1ONVmeFT3gXcxO9R0CoHKkmWo6K60q/X00JBA0Hz15qJxKNQAqf+Fl1NdVkpcSbm+gLMlMBsHdxVxroI6Pxj4jC0a21ykmFuEV1lcrN7iWp0LYnBN0j634tnBQ+8ZuUF+cr9w7Gx5KZGEdlWTEAHgGhygW8XaLxDouUI9VE82QyQuYh5Y4/J//v1v1k53NLJYVP/G4mo5E8/SXl8t2EOLJS4jEa6rCyscW3Q3flgO3IaNx9AqV3UDQvBYnK7e46O6XZ3dlP7USiAUjhE7espqqCa+fPmI9UK87JBMCpdVtlNBgZhX/nKOycZOecaAbKc5R+v5oypd2hbQ+1E4l6JoVP1LvSvGxlbTAxjsykk9RU3ACNBs/gDuaTZDzbdUZnJesooomqrYDLm6HkitLoHjgMpNe1xZDCJxqU0VDH9SsXzJtkrqcmYzIZsbF3xK9TD/P6oGtbX7WjCvFjJgPov4Ds40qrQ/h4sHZSO5WoB1L4RKOqLi8jM/mUcrZoQixlBdcBcG3rq6wNdumNX8ce2Ng7qJxUiO/kx8OVnWDloKz7Ockvac2dFD6hGpPJRHFOpnk0eO38GWqrK9HqdHiFRirXLUX2pm1Q+B/qHaysrMTeXprvRT0oz1b6/WpvQMgoaNNN7UTiFkjhE02GobaG7MuJ6L9ros9LTwHAzskV/869zE30Tq3a3Pw1DAY2b97MqVOnOHfuHPv27aOyspKUlBS6du3aWG9FtES15XBpE5Smg1dvCLhb1v2aKSl8osmqKCkiMynOfPdgRUkBAK18gwmIjKbHyAdxdG31o+dkZWXx8ccfs2HDBmbMmMHAgQNZuHAher0eo9HIqFGjmD17thpvR7QEJgNkHICcb8ElCMIeAGtHtVOJ30kKn2gWTCYTBZmp5mnRrEsJPLZ0Jzb2P/5H5/vpzSlTpjB58mSCg4NJTk7mvvvu4/jx42zcuJEFCxZw/fp11q9fT0ZGBk888QS9eslRVeJ3yDunrPtZO0H7ieDorXYi8TvIfnLRLGg0GjwCQvEICKXHiMnU1lSj0/30/7729vZkZGRw+fJl+vXrh4uLCx06dACUolhWVkZycjKLFy+me/fu9O7dm+XLl+Pn54eXl9xKIX6jNl3B3gNSNkDSSggZDR5d1E4lfiM5bVg0S9Y2tmh1P7++cvbsWTw9PXFxURrm9Xo9GzZs4Nlnn+XBBx8kMzMTd3d3Zs2axWOPPUZCQgJZWVmAskb4/cdPPvmETz75hKKiIkAZdQph5uQLkY+Do69yx1/GPmUqVDR5MuITLc6uXbu44447AFizZg2HDx/GZDKxe/du/Pz8WLx4McHBwdjZ2VFQUEBQUBC2tsoZo7rviumUKVPw8vKipKSEbdu28eGHH+Lh4UFeXh6tW7dGKzdUCFCmOjtOVYpe9jfKqS9hD4C1tOM0ZfK3V7QoRqORgIAAHnjgAaZOncq0adPo2rUrH3/8MUFBQQDk5OTg7+8PwJkzZ3BzczO3PXw/qnvrrbd4++23WblyJQ4ODiQnJwMQExND7969mTx5Mu+++y5VVVWN/yZF06LVQfBwCBkDZXpIXK4UQNFkSeETLYpWq2X+/Pn4+fkxZ84cPvroI06cOMEdd9zBq6++ipWVFZcuXcLbW9mMsGXLFkJDQ82fG41GAHx9fTl8+DDz5s2jurqa9u3bc+bMGa5cuUJsbCxz586luroaKysrqqurWbRoETt37qSsrEy19y5U1rY7dJoGRgMkfQT5iWonEjchuzqFRaipqSE9PZ3w8HC2bdvGokWLCAsL4/r166xcuRIfHx/z9xoMBnQ6HatXr+bNN99k/vz5TJw4kX/84x+sWbOGjh07MnToUB5//HH0ej3vv/8+ubm51NXVYWVlxb///W9AKaIyJWqBasrg0kYoywSffuA/CDTy/4OmRAqfsEiZmZmcOnWK3r174+3tzcmTJ0lJSWHixInce++9rFu3DgcHBw4dOsSaNWt49913ycjIwMPDAw8PD+6//37mzp3LbbfdRmZmpnnqdObMmfzpT3/Cw8ODbdu2sW7dOkJDQ3n00UcZOHCgyu9aNBpjHaTvhdyT4NoOwsYpR56JJkE2twiL5O/vby5W339eUlKCVqtl+PDhPPjggwwePJgbN25gY2NDYWEher2eyMhIAFq3bk1ubq75uevWrePYsWPodDoCAwNZsGABrq6uHD9+nP/85z+cP3+egQMHUltbi7W1NcXFxdjb25s31YgWRmsFISOV/r70PZCwQun3c/BUO5lA1viEAMDT05NBgwYBMG3aNB555BEyMjJwdXVl+fLlpKSk8OabbwJw4cKFn5wDevHiRY4dO8b06dOxsrJiz549lJeXM3HiRPLz8+nbty8VFRVYW1tz9uxZ7r//fp577jnzmmBOjmyGaJE8e0KnP4GxFhI/goIktRMJZKpTiN+kuLiYf/7zn+zcuZOIiAiGDx9OVFQUmzZtYubMmbi7u/Pvf/+bI0eOMH36dIYNG0Zqaip5eXm8+eabLF26FCcnJ9avX8+RI0c4d+4czzzzDJMmTaKyspI777yT6upqoqKimDBhAoMGDZL1wZakphRSNsKNq+AzAPzvknU/FeleffXVV9UOIURTZ2dnx6BBg5gxYwb9+vWjb9++tG3blh07dvDpp59SU1PDvn376N+/Pzk5OTg4OPDQQw9RU1NDSkoKaWlpJCUlUVBQwKOPPkpaWhp33XUX3t7erF69Gjs7OzZt2kSbNm24du0aXbt2Ze/evaxevRoAPz8/c4+haIZ0tsrJLrU3IOcElGeBWxhordVOZpHkVw4hfidvb29zEfrb3/7GQw89xNGjR3nkkUd45JFH8PPzw93dHYCEhASqqqpISUlh/fr1fPnll3z00UcUFhYSHh5OXl4eSUlJnDlzhokTJ1JRUcFDDz1Ebm4umzdvxsbGho0bNzJ06FAuX74MIC0TzZXWCoJHQfAIKEmFxBVQkat2KoskU51C1LPq6mqeeuopkpOTcXFxISYmhrvvvpva2lpOnjzJvHnzSE1NZcGCBUyYMIGMjAyCgoI4fvw4W7Zs4b333mPjxo0sXLiQF154gWHDhuHm5kZtbS0XL15k6dKlnDlzhp49e/Lyyy+bWzGkfaIZKc1QWh4MtRB6L7TqqHYiiyKFT4gGYjAYyMjIICQkxNzjBzB16lSmTp3KwIED+de//sXEiRPx8PAAoF+/fixbtozk5GQyMzOxsrLiwIEDrFy5kqKiIj788EMCAwN57rnnWLx4Mb6+vjzwwAPmn5mRkUFgYKAq71f8TtUlyiHX5Vngewf43SHrfo1E2hmEaCA6nY6QkBBMJpO56BUUFBAVFYWXlxdarZbc3Fw++ugj5s6dS2xsLGVlZXTo0IH27dubWx3Onz/PsWPHSE1NpaSkhKSkJMaMGcOECRPo3LkzoJxAs2XLFmpqanjhhRfo1asXp0+fxs3NjZCQENX+G4hfYOsKnadB2h64dhgqsqHdfWBlp3ayFk9+vRCigWk0GvOfW7duzcyZM4mIiABg8uTJfPvtt9x+++2sXr2af/3rX5w9e5bbb7/d/JyOHTty8eJF9Ho9tbW1fPjhh8yaNYtTp07RoUMHsrOzMZlM5OfnExwcbB7xnTx5kqlTp/LAAw/w+OOPc+TIkcZ94+LXaa2VMz6D7oGiS0rLQ2W+2qlaPJnqFKIJqKqq4saNG3h4eHD9+nWee+45vLy8cHZ25tq1a0yYMIGvv/6a4OBg/vSnP3H+/HnuvfdeLly4AChHsr377rs4Ojry+OOP/2gH6P79+3nwwQeZO3cuMTExfPrpp2RlZTFw4EB69Oih1lsW/6s0XWl5MBkg9D5wb692ohZLRnxCNAF2dnbmdT5PT0/efvttwsLCcHZ2Zs6cOQwePBgrKyvzzs4tW7YQFRVlfv7Vq1fJzs7+UduDyWQiLS2NN954g7Vr1xITE8MHH3zAvn37KC0tZfbs2Zw/f978Gt/fOyhU4hKk3O9n1wouroOrh8FkVDtViyQjPiGaidOnT/PGG2+QlJTE4MGDeeSRR+jevTsAn332GUePHmXSpEnmY9VOnDjB1q1bad26NXPmzMFkMmEwGKioqMDFxYUVK1aQnZ3N/Pnz+eSTT1i3bh21tbX07duXF1980bzGaDKZfjRdKxqYsRau7IL8eHDvoOz61MnRdvVJNrcI0Uz06NGDzZs3U1ZWhlarxdHR0fy1s2fPYm1tjZ+fn/mxpUuX0qdPH5588kkA8yabCxcusHr1aurq6hg1ahRnzpzh/fffZ8eOHVRXV/Ovf/2L0tJS2rRpAyhrlJcvXyY0NLRx37Cl0lpDu3uVcz4z9ivrfuETwb612slaDCl8QjQzzs7OP/rcZDJx1113UVpaam6cT0tLIzExkXfeecc89Xnjxg1cXFwwGAxcvHiRQYMGMXLkSB599FEcHByYP38+tbW1TJo0CRsbG0pKSti4cSM7d+6kuLiYr7/+WkZ/jUWjAe++yqHWlzYpl9uG3g/uYWonaxFkjU+IZk6j0dC3b1+GDh0KKIWwqKiI0aNHm9cNDQYDS5cuZe/evfTt25eDBw/y/vvvU1payu7du5k2bRoffPABjo6OVFVV4erqyrlz5/Dz8yMlJYVx48aZX1s0ItcQiHgcbN3g4n/g2tcg/xvcMlnjE6KF+36U9vXXXzN37lyGDBmCq6sre/bsYffu3QQFBXH9+nUA1q5dS1JSEgsWLECj0WBlZUW3bt1Yvnw50dHRKr8TC2aogSs7oSARWnWCdmNk3e8WyIhPiBbu+6nJAQMG8PHHH+Pi4oKDgwObN2+mtraWESNGcPz4cbKyskhMTMTNzQ1ra2usrKzIysqioKBAip7adDYQOg4ChkDheUhcCVWFaqdqtmSNTwgL0qFDBzp06PCjx+655x6ef/55AMaPH8/kyZPNX9u7dy/dunUD5CxQ1Wk04NMPHLyUdb+E5RB2P7jJpqPfS6Y6hRAA5Ofn4+bmhpWVlfmm+P79+zN+/HhmzZr1o40tNVUVnNr1CbVVFfhHRuPXoTvWdva/8hNEvakqhJT1UJEHAYPB+zalMIrfRAqfEOKm3nnnHR566CFza8P3jAYDB1a8wZW4r6irqUars8InvAsBXaIJiIjGIyAUjYwOG5ahGlJ3QGEytI6AkNHKlKj4VVL4hBB/WF1NNVkp8egTYtEnxFKQmQqAvYs7ARFRBERG4x8RhaOb9KA1CJMJso5C5hdK60P4RLBzVztVkyeFTwhRb8qL89EnxqGPjyUzMY7KsmIAWvu3IzCyNwFdovEOi8TKRnYk1quiS3B5izLdGfaA0gYhbkoKnxCiQZiMRvL0l8yjweyUBIyGOqxsbPHt0J2AyGgCIqNx9wmUpvj6UFUAF9crtzsE3g1efWTd7yak8AkhGkVNVQXXzp9BnxCHPuEExTmZADi1aqtMi3aJxq9TL+ydXVVO2owZquHyNii6AB6Ryrqf1lrtVE2OFD4hhCpK87KV0WBiHJlJJ6mpuAEaDZ7BHcyjQc92ndFZSdfV72IyKie8XP1SOe8zfIJy8oswk8InhFCd0VDH9SsX0CecQJ8Qx/XUZEwmIzb2jvh16kFARDQBXaJxbeurdtTmo+giXN4KGt13637BaidqMqTwCSGanKryUq4mn0YffwJ9QixlBcqRaq5tfc2jQb9OPbCxd/yVV7JwlfnKul9VAQQNA89oWfdDCp8QookzmUwU52SaN8lcTT5NXU0VWp0Or9AIcyFsG9Reegd/Tl0VpG5TRoAeXSFkpMWv+0nhE0I0K4baGrIvJZoLYV5GCgB2Tq74d+5lbqJ3atXmV17JgpiMyo3u1w6Do893636Wu4lICp8QolmrKCkiMzEOfWIs+oQ4KkoKAGjlG2weDfp26Ca9g6AccH15G+isIWw8uASqnUgVUviEEC2GyWSiIDPVPBrMSonHUFuDztoGn/Zdv2ub6E1rvxDL7R2syFXO+awuhsB7wLOXxa37SeETQrRYtdVVZF08iz4+Fn1iLIXX0gFwdGuNf0Q0AZFRBEREYe9iYcd81VUqOz6LL0Gb7hA8ArSW0zYihU8IYTHKCq6TmRhHRkIsV5NOUnWjFIA2QeEERPYmIDIK77BIdFYWsPnDZISrX8G1I+DkB+HjwcZF7VSNQgqfEMIiGY0GctMukpkQS0ZCLDmXkzAZDVjb2uPbsTsBXXoTEBGFm5d/y54WLUhWdn3qbJXi5xzw/+3dXUxb9xnH8a8xLzGvIRASEmwIaVJGsNdk2GiaVFXqNDWRNqWdtvUyVaVKvU+l9WqXXaXe7abqVXeZ9EXt1rWbqm3KLqoVk6YDkyWkhGAD4aUUjMEmfju7+DtOWtElxMcY8O9zhwPHT65+Oud/nucpdUVFp+ATEQGSiTUio5eJp80xswAABtVJREFUhEwQrszPANDY2o7b68fjHcDde4qauoYSV1oE8TnT75eMQtcZc+63iyn4REQ2EJ2bZjI3SWbq6mVS63EcFU4OHu3F3een0xeg7UgPFc5dcjaWTsCNdyE6Dm0/gq7Tu/bcT8EnIvIAmXSa2fFRM0kmFGR+4hpYFjW19bhP9OP2Buj0BmhoPVjqUgtjZSHyD7Pjr8FtWh6qd98droJPRGSTErFl81g0dz64trQAwN52D53eAG5vgI6ek1TtcZW40ke0GDLb3Z17TLN7Q0epK7KVgk9EpACWZbE0c4vJ4UHCI58zfe1LMqkkFc5KDh335SfJtHoe21kj1dZmTb9fMmbaHdpOlboi2yj4RERslE7eYeb6cG6SzCCLkXEAXI3NpoHeG8Dd56dub0uJK30IqTh89S5Eb8IBP3Q+AxXOUldVMAWfiEgRrS1/TTgUJDw8SCQUJBFbBqDFfZRO7wAeX4D2Y97tO1LNykD473D7M9PqcPzXUFVf6qoKouATEdkiVjbLQvhGfqTa7bERspk0ldU1HO45mZ8t2nyoc/v1Dn49DDf/BJW15tyvfufuRlTwiYiUSHI9zvR/rxAeCRIe+Zzl2QgA9fvacnNFA3T09uNq2CabFNZum36/1Cp0/xz2P1Hqih6Jgk9EZJtYWbht7gZDQSKjQyTjq+BwcOBIT/5u8MDREzgrS9hfl1qDG+/Ayi04OACen+24cz8Fn4jINpTNpJm7eY1wrol+bvwqlpWl2lVHR+8pPH0BPL4ATW0leORoZWDyU5j9NzR2wbFfQVXd1tfxiBR8IiI7wPraClNXvzBN9CODxBbnAGhqO5y/G+zoPUW1awsDaOE/5tyvqh4efx7q2rfuuwug4BMR2WEsy2J5NpJ/SWbq6hekk+tUOJ0cfKwvH4T7u45TUezHkKvTMHYB0nHo/gW0+or7fTZQ8ImI7HCZVJLbN0L5IFyYHANgT30T7hP9+Sb6+n37i1NAahXG3oHYJLT/GDw/Bcf2PfdT8ImI7DLx6BKRUDDXRB8kHl0EYN/hI/m7wcM9T9jbO5jNwOTfYG4QGo/kzv1q7bu+jRR8IiK7mGVZLEbG83eDM2PDZFJJnFXVHHr8h7m2iQFaOrrt6R2cvwITH5nh1sefh7rtN7hbwSciUkZSd9aZuf4l4eFBwqFBvpm+BUDd3hbcfQE8Xj+ePj+uxuZH/5LYlDn3yySg+yy09tlTvE0UfCIiZSy2OEckFGRyZJCp0SHWV1cA2N91HI93AI/XT/sxL87Kqs1dOBmDGxchFoFDPwH30+DYYEj3/Dy8/TYMD0M0Ck1N4PPBCy/A/uKcSSr4REQEgGw2w/zE9fy6pdmvRrGyGapqXBz+wUk8vgE8fX72HnQ/3GPRbBpu/RXmh6DpKBz7pRl5BhAMwmuvwSefmJ/X1+/9ncsFlgWnT8Orr4Lfb+v/U8EnIiIbSibWzN7BkAnClfkZABpb23F7/Xi8A7h7T1FT94BltXOX4dZfoLrJ9Pv98X04fx4SCRNwAE8+CZcuwZtvwssvm88cDhOCb7xx7zMbKPhEROShROemmcxNkpm6epnUehyHo4IDR3vxeAN0+gK0HemhwrnBSLVYGMYuwsV/wR8+hcR9d3gejwm9rq5vB99dtbW2hp+CT0RENi2TTjM7PmomyYSCzE9cA8uiprYe94l+3N4And4ADa33vdX52T/h6WdgPXnvsxdfhNdfh5bcfsKNgg9M+F26BP39Bdeu4BMRkYIlYstERi/nZ4uuLS0AsLfdk58r6vnd73H++aN7jzcBJiaguho+/NAE3vcFn8MBzz4L771XcK0KPhERsZVlWXwzPZFftzR97UuqY6uce3+Iyux3Iuell+DCBTh71rzd+X3BB7BnD4TDBb/tWcLdFiIishs5HA5aOrpp6ejm5OnfkE7eIfbb8zicV8ybnvd7663NXNiE4yuvFFSfgk9ERIqqsrqG5vklSKUf/Mv/TyIBIyMF17NBN6GIiIjNolF7rrO0VPAlFHwiIlJ8TU32XKe5gFFqOQo+EREpPp/PvJxSCJcLvN6CS1HwiYhI8Z07V/g1LMuW66idQUREtsZzz8EHH3y7j+9hqY9PRER2nGAQnnoK4vHN/62Nk1v0qFNERLaG329mbtZucjP73VmdNoQeqI9PRES20t2pLN/dzrARbWcQEZFdY2jI7OP7+GMTcInEvX+7u4/vzBmzj8+mO727FHwiIlI6CwtmDNnIiGlOb242LQvnzmkDu4iIiB30couIiJQVBZ+IiJQVBZ+IiJQVBZ+IiJQVBZ+IiJQVBZ+IiJQVBZ+IiJQVBZ+IiJQVBZ+IiJSV/wE/tlAFPY+LfwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "G = Graph(3,'Euclidean')\n", + "show(G)\n", + "draw(G)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3x3 asymmetric graph:\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
012
0inf56.098.0
185.0inf51.0
245.075.0inf
\n", + "
" + ], + "text/plain": [ + " 0 1 2\n", + "0 inf 56.0 98.0\n", + "1 85.0 inf 51.0\n", + "2 45.0 75.0 inf" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAb4AAAEuCAYAAADx63eqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdd3yV5f3/8dfZWZBBEgIhIYtAQgghkAUJKwgGEFBAFBygVeuotS22tr+2traV2mFr+7WuqoiKAoIBlCU7DBlhE/YegSQEyDo58/79cYcgdTFOcs5JPs/HIw/KyX1uPqGSd67rvj7XpVEURUEIIYRoJbTuLkAIIYRoThJ8QgghWhUJPiGEEK2KBJ8QQohWRYJPCCFEqyLBJ4QQolWR4BNCCNGqSPAJIYRoVST4hBBCtCoSfEIIIVoVCT4hhBCtigSfEEKIVkWCTwghRKsiwSeEEKJVkeATQgjRqkjwCSGEaFUk+IQQQrQqEnxCCCFaFQk+IYQQrYoEnxBCiFZFgk8IIUSrIsEnhBCiVdG7uwCXKSuD6dNh1y64fBkCAyE1FaZMgbAwd1cnhBDCQ2gURVHcXcQt2bIFpk2DxYvV39fXX/2cry8oChQUwC9/CRkZ7qlRCCGEx/Duqc7XXoOBA6GwUA28+nro318Nu9deA7NZfa2wUL3utdfcXbEQQgg3896pztdeg6lToa7u6mvR0fDee1+/VlHU66ZOVX//+OPNU6MQQgiP450jvi1bvh56Dz8M27ZBTMy3v+9K+G3d2uQlCiGE8EzeGXzTpqnTmF/161+DxfL905lms/p+IYQQrZL3BV9ZmbqQ5X/X5EybBsnJsGnTd79fUWDRIigvb7oahRBCeCzvC77p07/59TffVNsYrodG8+33EUII0aJ53+KWXbuubVm4GWYz7N4NgLPuMtajxViPbAKrmTZjf4dG630/DwghhLg+3hd81zuq+x6Ok4ep/mAqSs2Fqy/q9OpoUAghRIvlfcEXGOiS2zg1lmtDD8DppLrwRXRBEWgD26MLbI82KAJd23A0BpNL/lwhhBDu5X3Bl5oKc+fe2nSnry/64ffg268X5o2zwOkAFDT+wWi0Omyn9qAcWHfNWzQBIeiCO6ILjmz4tSPa4I5oTX639vUIIYRoVt4XfJMnw/PP39ItFKcTzeTJ+ISFYYjuQe2KN3GUHcWYkIVf9nj1GqsZR1UZzkvncVw+h/NSKY6LZ7GcPQAOW+O9NH5BahCG/E8g+gTcUo1CCCGahnfu1XnXXeo2ZDdRuhPY0NaPPb9+jvsee5qAtoEoTie2o1vQd+yG1u+7p1IVpxNnTQWOyrM4L57BcfFsw0cp2C2N12l82zYGoS4kEu2VUPRte8M1CyGEcB3vDL4tW9S9N7+6c8t1Unx9mTFhDDM2r6VNYBAPPvkz7rj7PvQGwy2VpChOnDWVOK8EYeXVUMR2dVpW4xOALvhqEOradULXLlqmTIUQopl4Z/DBN+/V+X38/OBvf4PHH+dQyR5e++vv2bFpA1Gx8fzw2d+QPWAIGhev6lQUBaX24ldGhuqHs/IMivVq7do2YehCo9C1i0YXGo0+NBqNf4jL6xFCiNbOe4MProaf2fzd054ajXpEUUPoXaEoChtXf8Hrf/0Dp48fpVdWPx7/+W9JSEpp8tIVRUGpu4zjwikcF05irziBo+IUzsvnAfVr0fgENAShGoj60M5ogyLQaHVNXp8QQrRU3h18oG44PW0azoULUBQFnd1x9XNXzuMbPlw9j69Pn2+8hd1mY8Gs95nx6t+prrrMsDF389CPf05oeEQzfRFXKbZ6HBdOYa9QA9FRcQJH5Wlw2NULdHp0IZ3QhXZuCMModO2i0Bh8mr1WIYTwRt4ffA2+/MMjRGw7TEybKJSLF1n+5QZ8s7LIffe96z6BvfryJT544198+sE76A16xj7wCBMeepyANu5dkKI4HTgvlWKvONkQhuqHYqltuEKj9h2GRqFvCERdeKysLBVCiG/QIoJPcTpZ/Mu7iM4uIOXOxzi4r4ThA3PQarV8tnI9iUnJN3S/MyeP886//sKqRfNpGxTMpMeeZvS9D2I0ek4Tu6IoKDWV2L8ShI4LJ3FWVzReo20bjj48Dl37OPXXdtFo9Le2iEcIIbxdiwi+2vKzrHzxYXpOeIbo7GG89eorvPTCbwGIiYtn/vK1+Pvf+Ojn4N5dvPWPaRRvWEv7jp2Y8vSz5I+4E53Oc5+xOS216vRo2THsZUexnz+KUndJ/aRWh65dVEMYxqMPj0Ub2B6NRvYmFUK0Hi0i+Ep3b2DrO38g95l/Ety5KxPHDGfzxvWNnx819m7+/uqbN71CcuuGtbz18oscKtlNXNckHvnJr8jMG+Q1Ky6dNRexlx3BXnYMR9lR7OXHG1ssNEY/dOGx14wMpddQCNGStYjgO7hsJgcWv0/Bnz/FbLHQp1ssDofjmms27DpAePubX6zidDpZvWQhb7/yEqWnTpCWmcMjP/1/JKX2utXym53idOK8dBb7+aPYy47iKDuqLqBp+E9B2yYUXbgagvrwOHRhndHojW6uWgghXKNFBN/W6S9y+fQh8n/9LhcqKhgxMAeTjw9nTp1kzPh7mPjgQ6RnZLnkz7JZrXw250Pef+0fXKq8QP+hw3nox78gOjbBJfd3F8VmUVsqzl8dGTqvbOKt1aEL6YS+fTz6DonoIxLRBgS7t2AhhLhJLSL4Vv35UfzDOpH58G8bXzPX1ZEa15EfTX2Op6c+5/I/s662hjnT32TWO69htVoYMfZeHnjyp7QLa+/yP8tdnHWX1RFhw8jQXna0cYpU2yYMfYcuahB2SEQbGOE1U79CiNbN64PPYbey+Bd3kpB/N92GP3jN54bkpNOtewr/998ZTfbnV1aU88Hrr7Bw9vsYDAaPaYFoCorTofYYlh7EXnoAe+khlPpqQN2bVB9xNQh17aKk0V4I4ZG8PvgunznC2r89RfoDzxHZa8A1n3tiyiQOHzzAsvVbm7yOMyeO8c6//+rRLRCupigKzkvn1CA8dxB76cGr7RQGn6tTox0S0YfHyXNCIYRH8PrgO711Jds//CsDf/E6bSI6X/O5f/7lRf7zj7+y+1gpJp/m2dnk4N5dvPXyixRvLPKaFghXctZUNowID2I7dxBn5Rn1E1o9urAY9B0SMXRIRBfRRTbmFkK4hdcHX8nCtzm6ppDhL32KVnft8YKLFnzK049MZv7ytXTv0bNZ69q6YS1v/v1PHN63h7iuSTz09M/JGXhbq3sO5qyvwX7ucOOo0FF+vOHgXw26dp3U0WBksnoklAShEKIZeN9BtP+juvQ4bdpHfS30ALomdQfg4L6SZg++Pn37k56d29gC8esnp9C1RxpTnppKRu7AVhOAWp8AjDFpGGPSgIbVo2VHG0eFlv1FWPasAI0GXVgshsgk9J2S0bfvIrvMCCGahNcHX1XpCdrFdf/Gz3WOjcNoMnFwf0kzV6XSarUMHj6a/rcNZ9mCT3j/tX/y3GP30b1XH6Y8NZVe2bmtJgCv0BhMGCKTMEQmAaA47NjPH8F+pgTb6RLqdyyG7Z+DzoA+oguGTsnoI5PRhXZGo5UdZoQQt86rpzrtlnoWP3cnXYc/QOJt937jNXfk5xIW3p53PprbzNV9nc1qZfG8j/ngjVeoOH+O1D7ZTHn6WXr2yXZ3aR5DsZqxlR7Afnof9jMlamM96g4z+sgk9JHJGDolN2y11rp+aBBCuIZXj/jqLpQC4B/a8VuvSeyWfM32Ze5kMBoZdc8D3H7n3Xw2ZyYz3/w3P3lgLOnZuUx5+lm6p33zsUmticboi7FzGsbO6tSos+4y9jP7sJ0pwX66BNuxYsyAxj8YQ2Qy+k7JGCKT0foHubdwIYTX8Orgq604C3x38MXExTP/k1nUm834+Po2V2nfyWjy4a77HmLEuHtZ8PEMPvrvq/xo4mgycwfx4FM/88pt0JqK1i8QY5dsjF2y1faJqrLGaVHbiR1YD6o/1GiDO14Nwg5d0chCGSHEt/Dy4Lsy4uvwrdd0jokD4NTJE3Tp2q1Z6rpeJh9fxk9+jJF338/8j6bz8dv/4cl7RpIz6DYmPzmVLslNfxK8N9FoNOgC26MLbI8peRCK4sRRcbJxRGjZvxbLnuWg0aKPSMAQnYo+OhVdSCeZFhVCNPLqZ3w7Z/+Lc7vWM+yPs771mh3FWxk3PJ83ZnxM/rCCZqzuxtXV1jDv/beZPf0NaqoukzukgMlP/Yy4xCR3l+YVFIdNXShzei+2k7txVJwAGqZFo1PVj8gkNEbPGPkLIdzDq4Nv43+ew2G1kPvMP771mouVlWQkxfKr37/IQz98shmru3k11VXMnfFfPnnvTWprqhl4+x08+OTP6Bzfxd2leRVn7UVsp3ZjO7kb26k96j6jWh36Dl0bg1AbJHuMCtHaeHXwLX/hQULiUki/79lvvUZRFNITOzN63N38btrfmrG6W1d16SJz3nuTee+/Tb25jvwRd3L/E88QFRPv7tK8juKwYz93GNvJXdhO7sJ5Ud1RRts2rDEE9R27ybZqQrQCXht8DruVRT8fQ+LQiXS9/b7vvHbM0AEEh7Tj3Y/nNVN1rnX5YiWz3nmNwpnvYrVYuG3UOCY9+iM6NTy/FDfOUV2B/eRuNQjPlIDdqvYORiY1BqGubZi7yxRCNAGvDb7q86dY/edH6TXpWTr1Gfyd1z79yGT27t7Jii+3N1N1TaOyopxZb/+H+R/PwG6zMuD2O5j06I/kGeAtUuw27KUHro4GL58HQBvU4eposEMimm/YHUgI4X28NvjO793E5v/+jtwfv0xwzHd/4//7iy/w1quvsOfEefR67//mVVlRzicz3mL+zOmY62rJGXQb9z36NEk9091dWovguHSu4dngLuxn94PDDgYfDFE9MMb2whDdU9olhPBiXpsCV3r4/L6jh++K6JhY7HY7Z0+fIjomtqlLa3IhoWE8+tNfce/DT/Dph+8y7/3/8uS9d5Cencukx54mLbOvLNi4BbqgCHRBEfj0uA3FZsF2dh+2EzuxHd+O7egWdYFMZBLGmHQMMb2keV4IL+O1I77dc//D6a0ruf3FOd/7TX7zxvVMHDOcd2fNI29gfjNV2HzqamtYOOsD5kx/g8qKMpLTenPfY0+T1T9fAtCFFMWJ4/xRrMe2YTtWjLOqDNCgax+nhmBsOrqgCHeXKYT4Hl4bfF++8WusNVX0/9m/vvfac6VnyU1L4vcv/Z1Jk3/QDNW5h9VSz+J5H/PRf/9DWekZ4rsmM+nRH5E3dESrOQ+wuSiKgvPiWazHirEd29bYM6gNjsQY2xCCoZ3lBw8hPJDXBt/KPz1MYKcEej/4y++91ul0khrXkYkPPsyvfv+nZqjOvew2G8s/m8fMt/6P08ePEhUbz70/eJIhI+9Cb5CjfpqCs/oC1uPbsB3bhr30ACgK2oB2GGJ6YYhNVxfHaOWHDyE8gVcGn9NhZ9HPxxA/eBxJIyZf13sK+mfTOTaO19+b2bTFeRCHw0HRss/58M1/c+RACe07duKehx+n4K57MJqa50T61shprm54JliM7dRecNjQ+ARg6JymBmFUivQLCuFGXhl8tRVnWfmnh+l5z0+Izhp6Xe/54YMTOXHsKIvXftnE1XkeRVH4cs1yPnzjX5Ts3EZIaDjjJz/GHRPuw88/wN3ltWiKrR7bqT3Yjm3DdmInirUO9EYMUT0wxKZj7JwmK0SFaGZeuarz6ubU37+i84romFjWrVmJ0+lE28oONNVoNOQMvI3sAUPYvmk9H77xL9742x+Y+ea/uev+h7lz0hTaBgW7u8wWSWPwwRjXB2NcH3X3mLMHsB0rxnp8O7ZjxdTp9BiiUjEmZGLonIbGYHJ3yUK0eF4afN9/HNH/6hwbS73ZTNn5c0R0uP73tSQajYb07FzSs3Mp2VnMh2/+m/de/Tuz332dEeMnctd9PyAispO7y2yxNDo9hqjuGKK645t3n7pC9MhmrEe2YDu+TR0Jdk5TQzAqFY1enscK0RS8MvjqKkrRGU2Y2l7/KOVK/97J48dabfB9VXLP3vzp1ekcOVDCR/99lXkfvMO8D95hwLCR3D35Mbqm9HR3iS2apuHoJH1EAr4592A/dxDr4c3Yjm7BdmQzGHwwxqZjjM9E36m77BojhAt55TO+zf/9HXWV5xn489eu+z0njh8lP6sX0/7xf4yfeH8TVuedzp89w7wP3ubzOR9SV1tDz4wc7p7yGFn981vd1LA7KU4H9jP7sB7ZjO1oMYq1Do3JH0Nsb4wJmepG2rI6VIhb4pXBt+rPjxIQHkXGQ7+57vfY7XZSOrfnkSd/zM9+9dsmrM671VRXseiTmcx9/7+UnyslOi6BcQ8+ytBRY2UlaDNTHHZsp/dgO7wJ6/EdYKtH49sWY1wfDAlZ6CMS0GjkhxIhbpTXBZ/idLDo52OI7T+G5FEP39B7B2elkZKaxr/emt40xbUgdpuNNUs/Y9a7r3N43x6C24UyZuJkRt3zIIHBIe4ur9VR7FZsJ3ep06End4LdisY/GGN8Bsb4THThcdIsL8R18rrgq7tYxooXHiR1/I/o3Hf4Db13yj13cbHyAoXL1jRRdS2Poihs37SeOdPfYNPalZh8fBg25m7GPfCIHIvkJoqtHtvxHep06Mnd4LSjbROKIT4TY0IW+tBod5cohEfzuifmdVdaGcJufIFKdEwsO4q3oiiK/HR8nb66EvT44YN88t6bLJ77MQtnvU/fwcOYMOWHdO/VR/4+m5HG4IOxSzbGLtk4LXXYjm/Dengzlp1LsOxYhK5dFMbEvhgTsmUDbSG+gdeN+E5sXMyu2f8i/7fv4RccfkPvfef1V3nx+V+xZd8xgkNkuu5mVZaXUfjRdBZ89B5Vly+R3DOd8ZMfI3dIgewJ6kZOczXWI1uwHlyPo+woaDToO6Vg6toPQ0wv2S1GiAZeF3wlC9/m2JpChv+l8IZXty1fsogfPngvnyxaQVrvPk1UYethrqtj2fzZzJn+FmdPHadDVGfG3v8DCu6cgK+/v7vLa9Ucl0qxHtiA5dAGlJpKMPpijMvA2LUf+oguMkIXrZrXBd+Wd/9IzbmTDPrlmzf83kMH9lPQP4uX//NfRo0d3wTVtU4Oh4MNq5Yx+93X2bt9K23aBjF83L2MuucBOnSS503upChO7Gf3Yz2wAevRrWC3oG0Tpk6FJvZFF3hjsyZCtAReF3xr/vokPkGhZD3y+xt+b73ZTEpMBD/++a/40c9+0QTVib07tvLJe29RtHwxitNJzsDbGDNpCr1z8mSU4WaKzYL1WDHWA+uxn9kHKOgiumBK7IchPgOt7BkqWgmvW9xSX3WB4M7dbuq9Pr6+RHSM5OTxYy6uSlzRPa0P3dP6UH7uLAtnf8Dncz5kw6plRMXGM2biFIaOHod/QBt3l9kqaQwmTIl9MSX2xVlzAeuhL7EcWE/d2umw/gMMMb0wJfZDH5UiTfKiRfOqEZ/TYefzZ0eROHQiXW+/76buMW74EPz8/JjxyQIXVye+idVqYc2Szyic+S77dm3H18+fYWPuZszEyUTHJbi7vFZPURQc5cewHtyA9fAmlPoatUm+Sw7GxL7SGiFaJK8KvvrLF/jid/fRY9xTxPQbcVP3eHzyJE4cO8qiNRtdXJ34Pvt376Bw5rusWrQAm81K75w8xkx6iOwB+bIa1AMoDrvaJH9wPbYTO8HpUFsjuuZiTOyL1keOsBItg1cF36VThyl6+Uf0eeg3dOjR96bu8Ztnn2HJ5wvYUnLUxdWJ63XxQgWLPpnJglkzKD9XSkRkFKPueZCCsRMIDGp9bSYXL14kONizjoVy1tdgPbwJ64F1OMqPg06vHq+UNAB9h67yvFZ4Na8KvvMlm9n81vPk/vhlgmOSbuoer/x1Gv/395coOVWOwSDHvriTw25n/cqlFM58lx2bN2I0+ZA/YgxjJk6hS3KKu8trNmPHjuXUqVMMHjyYsWPHkpGR4e6SrmGvOIl13xqshzaiWM1oAyMwJfXH2LUfWt+27i5PiBvmVYtbLNUXATC1vflRQWhYGIqiUHmhgvYRHVxVmrgJOr2e/kNH0H/oCI4e3Mf8mdP5YuFcFs/7mJT0DMZMnEL/24ajb8E/oOzcuZNjx46xevVqvvjiC9566y3i4+NZu3YtMTExpKWlubtE9KHR6PPuxzf7bqxHt2DZtxbzl7Mxb56LISYdU/IA9JFJsmG28BpeNeI79MXH7F/0HsP/Mh+d4eZ2oVi2aCFPTLmP+cvX0r2HnDnnaaovX2JJ4Wzmz3yPs6eO0y6sPSPvvo8R4ycSGh7h7vJcymKx8MorrzBjxgz69OnDT37yEyIjI3nxxRcBOHnyJNXV1Xz88cceNxXqqDyDZd9arAfXo1hq0bYNw9itP6auubJNmvB4XhV8e+a9xumtK7n9xTk3fY9tWzZx98ihvD3zEwbk3+bC6oQrOZ1ONhetonDmdDYXrUSr05EzYAgjxk8kI3dQi1gMoygKe/bsITw8nMOHD7NkyRIqKio4d+4cP/nJT0hJSWHBggVkZWWRlHRzU/tNTbHbsB3bimXfWuxn94NGi6FzGqak/uijeqCRsxyFB/Kqqc76qouY2tzaT76hYepOFRXlZa4oSTQRrVZL9oB8sgfkc+bEMT6f+xFLP53F+pVLCYvoQMFd91Jw1z207xjp7lJvitPpZPbs2aSnp9O+fXvat2/PU089xc6dO3nmmWdYt24df/jDH5g2bRrR0Z7bUqDRG9TWhy45OC6dU0eBB9ZhO74NTUAIpm55mLrloQ1o5+5ShWjkVSO+9f9+Fo1WS98nX7rpe9TV1pIa15Gp/+95fvj0T11YnWhqNquVjau/4PNPZrJ1vXq0VGbeIEaMm0T2gHyvexY4bdo0Kioq+Pvf/05xcTEDBgygffv2bNu2jcDAQP74xz8SFxfHxIkT3V3qDVEcdmzHt2PZtwb76b2g0WCISsWY1B9D557SHC/czqtGfJbqiwR2urWmZz9/f/z9A6goL3dRVaK5GIzGxsUw586cYtHcj1g8bxa/ffphQkLDKbhrAgVj76VjVGd3l3pdhg4dyksvvURmZiY5OTmMGTOG6OhoAgMDAQgKCqK4uJiJEyd61VFaGp2+4YDcDBxV5Vj3r8Wyfx22pf9G4xekjgKTB6INaH2tK8IzeNWIb/FzdxGVNYyUOx+7pfsMzkojNS2df77xjosqE+7isNvZVLSSz+Z8yOa1K3E6nfTOyWPE+En0GzwMg9Hzj+I5c+YMfn5+tG3blkmTJhEVFUVkZCR79uxh/PjxDBs2zKuC75soTge2Ezux7luL7eQudRQYm44pZQj6Dole/bUJ7+M1wWe31LP4uTtJGjmFhPy7b+leE+4YhsFg4IN5n7moOuEJys+dZcmns/j8k48oKz1DUEg7ho4ez4jxE4mKiXd3edfl5MmTzJ49mwMHDvDrX/+a6OjoFhcKjqpyLHtXYd2/FsVSi65dFKbu+Ri7ZKMxmNxdnmgFvCb4aitKWfmnh0i796dEZd7aaswnH7qPw4cOsrRos4uqE57E4XBQvGEtn835kI2rv8Bht9MzI4eR4yeRd1sBRpOPu0u8bt4+0vsuis2C9fAmLHuW47hwCo3RD2O3PEwpg9G1leOSRNPxmmd8rmhevyI0vD2bNqy75fsIz6TT6cjMG0Rm3iAqy8tYUjibRZ98xJ9+/hRtA4MYMmosI8ZNIrZLV3eX+r1aauhBw2kRSf0xdsvDce4Q9XtWYNmzHMuuZRiiUzH1yEffqbs0xguX877gu8V2BlBbGi5dvIjVasXoBc+AxM0LCQtn4iNPcc/DT7Bj03o+/2QmCz6awbz33yaxeypDR41j8IgxBIXIcnt30Wg06DskEtAhEWfNRSz7VmMpWY3t85fRBrbH1H0wpq65aOS8QOEiXjPVeXzdZ+ye+ypDX5h5y+H30Yx3+M2zP6FoewkdvLQPTNy8S5UXWPl5IUvnz+FQyW50ej1ZeYMZOnoc2QOHYDTKcyZ3Uxx2bEe3UL9nBY7zR0DfcJZgSj66EPk3K26N14z46qsqQaPF6H/rm+KGhrUHoKLsvARfKxQU0o677n+Yu+5/mGOH9vPFgrl8sXAeG1Yto03bIAYNH8XQ0eNISk1v0VONnkyj0zc2xtvLjmHZswLLgSIsJavQRyZhShkiPYHipnnNiG/nrFc4v3cTQ1+Yecv32r51C+NHDOGtD2Yz6LZhLqhOeDuHw8G2L9exrHAO61YsxlJfT6eYOIaOGseQO8YSEdnJ3SW2ek5zFdb9RdTvXYlSU4k2oB2m7oMwduuP1reNu8sTXsRrgm/zW89jvlzBgKmv3vK9Tp88wcCMVF58+d/cPekBF1QnWpLammrWLlvEsvlz2LlFPbA4LTOHoaPH03/oCPz85UBWd1J7Andg2b1c3R9Up8eY2A+fnsPQBcmJK+L7eU3wrX35aYz+gWQ/9odbvle92UxKTAQ//eVveOKZqS6oTrRU586c4ouFc1lWOIczJ4/j4+tL7pACho4eT6+sfi1is2xv5qg8Q/3uL7AeXA8Ou7pBds/bpSlefCevCb4vfn8/YYm9SLvXNftrpiVEcdfd9/LbF//ikvuJlk1RFEp2FrNs/iesWryAmqrLtAuP4LY77mLo6PHEJCS6u8RWzWmuwrJnJZa9K1Dqa9CFxeDT83YMcX3kOaD4Gq8IPsXp5POfjyZ+4F0kjZziknsOyUknOSWVf7013SX3E62H1VLPxtXLWbbgEzatXYnT4SCxeyr5I+9k4LCRhEV0dHeJrZZis2A9uIH6XUtxXj6vPgdMHYqpWx4ao6+7yxMewiuCz1pbxdJfT6D7mMeIGzDGJfe8d3QBaDR8VLjIJfcTrdPFCxWsXFTIsvmfcKhkNwA9emcxqGAU/YeOICQ0zM0Vtk6K4sR2fAeWXUuxlx5EY/TFmDwQn5Tb0AZ41qG+ovl5RfBVl55g9V9+SPoDzxHZa4BL7vnUDx7g4L4Slq3f6pL7CXHq+BFWL17AqsULOX74AFqtlrTMvgwaPpq8IQW0DZJvuO5gP3+U+l1LsB3dqrZEJWSpzwHbRbm7NOEmXhF85Qe38+VrvyLnyYidf4IAACAASURBVJcITUh1yT1//8tnKfxkFtsPnXTJ/YT4qmOH9rNq8QJWLZrPmZPH0en19Onbn0EFo+g7eBgBbW69H1XcGEdVOZZdy7DsLwK7BX2n7vj0HIa+U4oshGllvKKB/cp2ZT4u2KfzitCwcKqrLmOpr8fk4z2bFgvvENulG7FdujHlR89yaN+ehpHgAv78y2cwGE1k5g1iUMEocgbehq+fbMXVHHRtw/DLnYRPxhisJaup372cms9fRhfSCVPqMIxdstDovOswY3FzvCL4rDVVABj9A112z9Bwdff3ivIyIqOiXXZfIb5Ko9GQmNyDxOQePPLTX7Fv1zZWLprPmiWfsX7FEnx8fckeMIRBw0eTlTfIq06O8FZakz8+vUZgSh2G9fCX1O9cQt3qtzFvnotPjyEYkweiNfm7u0zRhLwi+OxWMwB6F35TCGnYlPjixUoJPtEsNBoNyT17k9yzN4///Hn2bNvMqsULWLP0M1YvWYiffwD98ocxqGAUvXP6e8Uhut5Mo9Nj6pqLMbEf9tN7qd+5BPOmTzAXL8TUfSA+qbej9Q9yd5miCXhF8Dks9Wh1erR6101D+Pqr00vmujqX3VOI66XT6eiZkUPPjBx+9Ks/sH3zBlYtmk/R8sV8sWAubdoGkXdbAblDCkjPyZWNs5uQRqPBEJWCISoFe8VJLDsXq88C96zA1DUPU9pwdG1D3V2mcCGvCD67xYzO5NoeHD8/dduputpal95XiBt1ZeFLn779eea309i6YQ2rFi9g9ZKFLJr7EX7+AWT1H0y//NvJ6j8Y/wDZl7Kp6EOj0ec/hk+fO6nfsQjL/iIs+9Zg7JKDT68R6IJlS7SWwGuCT+/y4FNHfHV1EnzCcxiMRnIG3kbOwNuwWi1s27iO9SuXsmHlUlYtXoDBYKRXdi65Q26n76Ch0ifYRHSB4fgPmIxv79HU71yCZd9qrAc3YIjrjU/6HehD5fGIN/OKdoat7/6R6vOnGPTcGy6758njxxiclcZLr/yHsfdMctl9hWgKDoeDkh3FrFu+mHUrllB6+iQajYbuvfqQm387uUMK6BjV2d1ltlhOcxWWXV9Qv3cFWM3oo1PxTR+JPqKLu0sTN8Ergu/LN36NzVxD3jP/dNk9L5SXk5WSwPPT/sb9Dz3isvsK0dQUReHowX2sW76EdcsXc+RACQBxiUkNIXg78d26S29aE3Ba6tSzAXcvQ6mvQd+xGz7pI9FHJsvftxfxiuBb96+fodMbyXlimsvuWVdbS2pcR5799e947Ec/cdl9hWhupadPsm7FEtYtX8KebZtRFIWIyCj65Q8jd0gBKb0y5BQJF1NsFiwlq6nfuQSl7hK68Dh80keqh+NqtO4uT3wPrwi+NX99At+QCDIf/q3L7ul0OunaMYQnf/Isz/zi/7nsvkK408ULFWxc/QXrli+meEMRNpuVwOAQ+g4aSu6Q2+mdkye9gi6kOGxYD6yjfvtinNXl6EI6qQEYl4FGKwHoqbxocYtr/7FqtVp8ff2olVWdogUJbhfK8LH3MnzsvdTV1rB57UrWrVzK2mWfs3jex/j4+tE7J4+s/oPJzBtEeIdId5fs1TQ6A6Zk9RR46+FN1G//nNrlr6MN/BSfXsMxdumLRucV32ZbFa/4f8RuqXf5qk4AP39/zLKqU7RQfv4BDCwYxcCCUVitFnZs2sD6lUvZXLSK9SuXAupzwcz+g8nqP5juPXujN8iWXTdDo9VhSuyLsUs2tmPbqN+2kLrV72LeOh+ftAJM3QagcWEfsrg1XhF8Dqvr2xkAfP38pI9PtArGhv1BM/MGoSgKJ44cYtPalWwqWsGc6W/w8X9fxb9NW/r07a+OBnMHERIW7u6yvY5Go8UY1wdDbG/sp/ZQv20h5nUfUr99Eb7pIzF2y5P9QD2Axwef4nTgsFrQNcEhkv7+AdTJzi2ildFoNMQkJBKTkMiEh35IbU01xRuL2Lx2JZvWrmTN0s8ASOyeSlbDaLBrSposkLkBGo0GQ3QPDNE9sJ3Zh3nLp9QVvU/99kX4pN+BsWs/mQJ1I49f3GKrr2XJL8eRPOoHxA8a69J73z1yKD4+Psz4ZIFL7yuEt1IUhSP79zaMBldSsqMYp9NJ26BgMnMHkdV/MH1yBxAY5LqTUloDRVGwny7BvGUejrKjaNuE4dN7FMbEHDRa+YGiuXn8jxwOSz2Ay7csA3Wqs7amxuX3FcJbaTQaEpJSSEhKYdJjT1N16SJbN6xl09oVbC5axfLP5qHVaumW2ovs/vlk9c8nIUl6Br+Puh9od/SdkrGf3IV5ayF1q9+mfttCfPqMxpiQLatAm5HHj/hqyk6zatoj9Lrv53TqPcil935iyiSOHz3KojUbXXpfIVoih8PBwb27GkeDB3bvACAkNJz07FzSc3JJz86VlaLXQVEUbMe3U7+1EMeFU2iDOuDbZzSG+AzpA2wGHj/iszeM+JpmcYus6hTieul0OpJSe5GU2ovJT/2Myopytq5fzaaiVRRvXMvyz+YB0CkmriEI8+iV2Zc2gXK0z//SaDQYY9MxxKRhO1qMeWuh2gaxbSG+fcZgiE2XAGxCXhB86uITV/fxAfj7+0sfnxA3KSQ0jKGjxzN09HgUReHYof0Ubyxi+5fr+GLBXBZ8PEM9iLd7Kr2yc+mdnUtKegYmH9f/EOutNBotxvgMDLG9sR3dogbgslfRtYvGJ2MMhs5pMo3cBDw++Bqf8TXBqk5fPz85j08IF9BoNMQlJhGXmMT4Bx/FbrOxf/cOijcWse3LdY0tEwajiZRefRpHhIndU2W1KKDRajEmZGGIy1BPhd86n9ol/0IXFoNvxp3oo3pIALqQxz/jO7N9Ddtm/JmBv3idNhGu3X3+lb9O499/+zMHzlbKPz4hmpC5tpZdxZvY1hCEVzbW9m/TlrTMvqRn59I7J4+o2Hj5Bo/axmU9uIH64gU4qyvQtY/Ht8+d6DvJZtiu4DUjPr3Jz+X3vnImn9lcR4Ac7ilEk/H192/sCQR1T9Edm9ez7cv1bNtYxPoVSwBoFx5B74ZFMql9coiI7OTOst1Go9Vh6paHsUsO1gPrMG9bSM3nf0PfIRGfjDsxdOzm7hK9mscHn91iBkDXBM/4/Pz9ATDXSfAJ0ZyC24UyqGA0gwpGA3D21Am2fbmO7V+uY9PalSyb/wkA4REd6dE7ix69M+nRO4vO8V3QtqJl/xqdHlPyQIxd+2HZt5b6bZ9Rs+Al9FE98M0aJwfi3iSvCT69sSmCLwCA2toawmjv8vsLIa5Px6jOdIzqzMjxk3A6nRw7tJ9dWzexu3gTOzZvYMXnnwLQNjCIlHQ1BFN7Z9IluUer2F9UozPgk5KPqVselj0rqN/+OdWf/A5jl2x8Mu5C1zbU3SV6FY8PPofFjFanR9sEG7w2TnXKAhchPIZWqyW+azLxXZO5c9IUFEXh7KkT7C7exO7izewu3sSGVcsA8PH1JSk1vTEIk3r2xtfP9Y9FPIVGb8QnrQBjUn/qty/CsvsLrEe2YOo+GJ/0kWh9Zebqenh88Nmt9U2yawtcneqUjaqF8FwajYbI6Bgio2O4/c4JAFSWl7F722Z2F29mV/EmPnj9nzidTnR6PV2SetCjdyapvbNI6Z3RIrdX05r88csej09KPuathVj2fIHlQBE+PQvwSR2KxmByd4kezfODz9I0JzMA+Pk1BJ80sQvhVULCwhkwbCQDho0EoKa6ipIdxewu3sSu4s0UzpzOnOlvANA5PpHUhmeE3Xv1ISIyqsWsjNQGhOA/8CF8et6OedNc6rfMw7J3Bb59RmPsmicbYX8Lj/9badLgkxGfEC1CQJu2jccuAVgt9ezfvbNxenTlovksnP0BAEEh7ejWI42k1F50S02nW0pPr99dRhfckYDbf4T93CHqvpxD3doZ1O9chm/mXRji+rSYoHcVjw8+h7UeXRMsbAEanwXI0URCtCxGkw+pfbJI7ZMFqPuMHj2wj5JdxezftYP9u7azae1KrrQxd4qJU4Owh7olW3zXZAxGozu/hJuij+hCm9G/xHZiJ+ZNc6j94j/owuPwzRqPIVJaIK7w+OBTnM4mO7bD1/fK4hYZ8QnRkul0Orokp9AlOYXR9zwIqNOjB/fsZN+u7eouMxuK+GLBXAAMBiMJSd1JSk1vHB12jI7xipGTRqPBGJOGIToV68H1mLd8Ss3ChhaI7PHo20W5u0S38/jga0qtqR9ICHGtgDZtSc/JIz0nD1BPTCg/d5Z9u7Y3huGiuTOZ98HbgNpK0a1HL7o1bNTdLTXNoxfOaLRatQk+IetqC8Sc5zEm5uDT585W3QLh+cHn2TuqCSFaCI1GQ3iHSMI7RDYumnHY7Rw/fIB9u9Xp0f27dzSuIAXoGBVDt9Q0Erql0CWpOwlJKQQGe1YYfmMLxOHNmFIG49OrdbZAeH7wATTR7IKHb1MqhHAznV5PfLfuxHfrzsjxkwCoq63h4N5d7N+9g327trOneDMrPy9sfE9YRAfiu3UnoZsahAndutOhU7Tbp0m/1gKx+wss+4vwSRuutkDove+Z5s3yjuBrYu7+D1II4T38/ANIy+xLWmbfxtcuX6rkyL69HN7f8LFvL5uLVuF0OADwD2jTGIbx3brTJak7neMT3bKAprEFInUY5s2fUL95LtaS1fhmjcWQkNUqzgH0guCTUZkQwrMFBoVc87wQwFJv5vjhgxzat4cjDYG4aO5H1JsbzhjVG+gc30UdFSZdDcWANm2bpWZdSCQBt/8Y25n9mDd+RO2KN9HtXo5fzj3oO3T5/huUlcH06bBrF1y+DIGBkJoKU6ZAWFiT138rvCD4QNNEc51Xpjqb6v5CiNbL5ONL15SedE3p2fiaw+Hg7KnjHNm3l0P79nJkvzoyXFo4u/GaDp2iie/WnbjEJGISEukcn0inzrFNNjo0RHZDP/Z5rAc3YN40l+r5L2KI64Nv1nh0geFff8OWLTBtGixerP6+vv7q5+bNg+efh4IC+OUvISOjSWq+VR4ffPIYTgjRUuh0OqJi4omKiWdgwajG1yvLy74yTbqHw/v2sH7FksYfzrU6HZ06xzYGofrRhaiYOIwuOLlGo9Fi6pqLMS6D+p1LqN+xCNvx7Zh6DMEn/Q60JnWzD157DaZOBbNZ/ebs5wczZsCdd0JtLbzyihqKhYWwdCn87W/w+OO3XJ+reXzwAdBEz+BkcYsQwhOEhIWTGRbeuPMMqFOlp44d4cSRQxw/cpDjhw9y9OB+1i1f0riqVKvV0jGqM50TuhIT36UxFKNi4/HxvfEdrzQGE759RmNK6o95y6dYdi7Dun8dPn3GYFp3CM3UqfDVDT/++U+4/34oKYGQEHjxRThxAmbOVK+bOlW9zsPCzzuCr6nJ4hYhhIcx+fg2PP9LueZ1q9XC6eNHOXHkICcOq6F44vBBvlyzHIfdDqgL9iI6RdM5vgsxXwnF6NgEfBu2avxfKz4vZMm8j3niud8R26Ub/gMfwpQyBPPGj7F++Aqmfy0H81emNf381NA7fRp69oSuXWHPHvjhD9Xgg6vhl5EBffo0yd/TzfCC4LuxUZnNZuPtt9/moYce4uDBg9TV1dGzZ09MJtmtXAjh/YxGE3GJScQlJl3zus1q5czJ42ogHjnU+Gvx+rXYbNbG68IjOhLZOZZOMXHqR8P/XrNkIcUbi3h07DB+8MwvGffgI+hDowkY+SzKm2ug3nJtIWlp4OOjPvOz22HvXrh4UQ04jebqcyqzWZ3+nDu3qf9qrpsXBB831Mc3ZcoUAgMDcTqdbNq0ib/+9a/4+/ujKArbtm275lqZ6hRCtBQGo5GYhERiEhKved1ht3Pm1HF1yvTwAU4fP8rp40dZvXgh1VWXvnYfh93OG3/7AwtnzeAP//cOsYEhaJav/PqCi44d1V8rK6++VlkJ8fHqtOeFC+prigKLFkF5uces9vSO4LsBJ06coKioCICHH36Y2bNns3TpUgYPHvyt75E+PiFES6XT64mOTSA6NoG8IQXXfO7ypcrGIPzbb6biaOg7BDh76gT/N+15/t6t9zff2KdhUY3NdvW1hqlW/vf5okajtj48++wtfjWu4fnBd4OjMq1Wy9mzZ+nYsSOHDh265v9IIYQQVwUGhRCYFkKnznGN3ytNPr7k5t9On34DGDx8NDz00LUtC1dceU33lUMEDAb1V7P52mvNZti9uwm+gpvj+cHHjfXZvfTSSwwZMoQ2bdpw4cIFPvzwQwBiY2O/dq1MdQohBLQNCuaJ535H26AQ2oRGcPzESb7cWcKMOYX8ePlyMr/pTefOqb8GB199LThYXdByZZrzqy5ebIrSb4pXBN+NyM7OZs+ePZSWltKhQwdOnTpFRUUFb7/99re+R6Y6hRCthcVi4dChQxw8eLDx48rvy8rKGq/TaDRER0fzyLc1zu/cqU5zZmWBXg9duqjBt3btN1//1YB0M48PPgXlhndW0Wq1REZGAlBWVsbzzz/PokWLvuHmMuITQrRMdXV1HDhwgJKSkms+Dh8+3NgHCBAREUFiYiJ33HEHiYmJdOnShcTEROLj4/Hx8YG//EXdjeV/pzurq+Gjj+CBB9QQDGk4leL1179ejK8v9OjRhF/tjfH44ANuqM/uhRdeuGYKU6PRcOjQIX7605/y8ssvf8vtZcQnhPBO1dXV7N+//2sBd+zYscbvhXq9nsTERFJTU7nnnntISkpqDLk2bb7nWKLJk9Xg+yZPPKEOIMaOVac4f/UrNQz/l6Ko9/EQnh98CjfUzhAREfG11571kJVEQghxsy5dusS+ffu+FnAnT55svMZoNNK1a1cyMjKYPHkyycnJJCcnk5CQgOHKwpPvcnYDmMvAYQV7HZgrwBio7r1ZWPj1WbLaWjXQvivUNBoYPtxjWhnAG4IPuJHke/TRR6/7WlncIoTwNBaLhb1797Jjxw527tzZGHBnz55tvMbHx4ekpCTy8vIawy05OZm4uDj0+lv4tn5mDTj+p1HdEKBuOL106bXblV0vX1/1/R7ES4KvaclUpxDCHSorK9m5cyc7duxgx44dbN++nX379mFv6Ifz9/cnOTmZ22677ZqA69y5M7qvthG4gqJAcFeo2HX1NZ0PJN0PBn91w+n/3avz+/j5qe/zoO3KwBuCT0ZlQggvpygKJ06caAy3K0H31WnKjh07kpaWxh133EFaWhppaWnEx8ej1TbDwbA1Z+DEUqg+CRotKA2LX+JHqaEHVzea/urpDN9Go1FHenI6w81rqgGZTHUKIVzNarVSUlLSGG5XPi5fvgyoq867du1Kv379ePLJJ0lLS6Nnz560b9+++Yu1XIJTK6BitxpwsXeA3gcOzYF2KRCSfO31jz+ubjg9bZq6DZlGc22zuq+vGojDh6vTmx420rvCK4KvqclUpxDiZpjNZnbs2MGWLVsaR3J79+7F1rCNl5+fH6mpqdx7772No7gePXrg5+fn3sLt9XB2PZRuVH/fMQ8ic0FnUoMr6UEIiPzm9/bpo244XV6ubkO2e7fanB4crLYsTJ7sUQtZvonHB59yg6czCCFEU3A6nRw4cIDNmzezadMmNm/ezM6dOxufx4WHh9OrVy+GDRtGWloavXr1IiEhwfXP4m6F0w7nt8KZteqqzdBUiBoMpqCr12g0EPj1na6+JizMY/bevFEeH3wqOYhWCNG8SktLGwNu8+bNbNmyhaqqKgDatGlDRkYGU6dOJTMzk8zMzMZNMzyS4lSnM0+vUqc3A+MgaggEdHR3ZW7hJcHXtGSqU4jWraamhq1bt14zmjt9+jSgNn+npqYyceJEsrKyyMzMpGvXrp41kvs2igKXD8PJ5VB3Hvw7qM/xguLdXZlbeXzwabU6nE57k9xbRnxCtD52u509e/ZcE3IlJSWN23jFxcWRl5fXOJLr1asXvv97zI43qDmtBl7VcTAFQ8JYaNddXbXZynl88OmMPliqv35YoitYreqpxMZv24RVCOH1qqqq2LBhA0VFRaxbt44tW7ZgbliJ2K5dOzIzMxk7dixZWVlkZGQQGhrq5opvkbkCTq2EyhLQ+0FMAYT3Bq3Hf7tvNh7/N6E3+VJ7obRJ7l1XWwOAn39Ak9xfCNH8SktLG0OuqKiIXbt24XQ60el0pKen8+ijjzZOWcbFxbWcRx3Waji9BsqKQWuATgOhQ466UlNcw+ODT2fywWH9hkMQXaC2thYA/wAJPiG8kaIoHDp0iKKiosawO3LkCKC2EmRnZ/Ob3/yG3NxcsrOzCWiJ/9bt9VC6Hkq/BMUB7TMgsj8YW+DX6iIeH3x6ow8OS9MEX92V4PP3b5L7CyFcy263s2PHjsbR3Lp16xrPkAsNDSU3N5fHH3+cvLw8evXqdX0bM3srpx3Ob2loTTCrDedRg8EnxN2VeTyPDz6dyRd7U434amSqUwhPVldXx6ZNmxpDbuPGjdQ0/LuNiYlh2LBh5OXlkZubS7du3VrOtOV3udKacGolWC+rrQnRQ8C/dbYm3AzPDz6jCcVhx2m3odW79qe3q8/4ZMQnhCeor69n/fr1rFixglWrVrF161bsdjsajYYePXrwwAMPNAZdp06d3F1u81IUuHQYTn2lNSFuVKtvTbgZHh98eqO6jNhuqcfo4uCrrZOpTiHcyW63U1xczIoVK1ixYgXr16/HYrGg0+nIzMxk6tSp5OXlkZOTQ3BwsLvLdZ+q43BqFVSfaGhNGAftkqU14SZ5fPDpTD4A6gIX/+85KfgGXXnGJ1OdQjQPRVHYt28fK1asYPny5axZs6Zx8+bU1FSeeOIJ8vPz6d+///efDN4aVJ9UA6/qmHouXsxwCE+X1oRb5PF/e3qjGnx2q/l7rrxxdbU1+Pj6escODEJ4qZMnTzaO6FauXElpqdqeFBsby/jx4xkyZAiDBg0iPDzczZV6kOrT6vZil4+opyZ0Hgbt+6htCuKWeX7wmdSpzqZY2VlbU4Ofn0xzCuFKFRUVrFq1qjHsDh8+DKibOA8ePJj8/Hzy8/OJjb2OjZBbm5qzauBdOqQ2n0ffprYn6GSTDVfy+ODTNY74miD4amvl+Z4Qt6iuro61a9eyfPlyVqxYwc6dO1EUhTZt2jBgwACefPJJ8vPzSUlJaR2rLm9GbSmcXg0XD4DeF6LyISJTms+biMcHn/7KM74mGPHV1dbK8z0hbsKhQ4dYvHgxixYtYvXq1VgsFoxGI3379uWFF14gPz+fjIwM9HqP/xbjXnXn1cCr3Ac6H+g0CCKy1MNgRZPx+P8qdU38jE92bRHi+5nNZtasWdMYdlemL7t27coTTzzB7bffTm5urvsPWPUW5nI18C7sVacxIwdAh2x1tCeanOcHXxM+46upqaFN27Yuv68QLcHRo0cbg27VqlWYzWZ8fX0ZPHgwzzzzDAUFBcTFxbm7TO9iroAza9QGdK1BPfm8Y476PE80G48PPn0TPuOrq60lokMHl99XCG9ksVhYu3ZtY9gdOHAAgISEBB555BEKCgoYMGCAdx7R4271leoG0hW71FaEDv2gY191xaZodh4ffI19fJYmmOqsk2d8onU7ceIEixcvZvHixaxYsYLa2lpMJhMDBw7kiSeeoKCggC5duri7TO9Vf1HdS7N8B2h06nRmh36ygbSbeXzwaXUGNFpdE4345BmfaF1sNhvr1q1j0aJFLF68mL179wJqT93kyZMpKChg0KBB8qzuVtVfgDProGInoFFXaHbMBaM05XsCjw8+jUaDrolOaKitrZU+PtHi1dTUsGTJEgoLC/nss8+4fPkyRqOR/v378/DDDzN8+HASExOl1cAV6s7DmSJ10YpGqx4A2zEXTIHurkx8hccHH6gtDa4+k89ms2G1WPCXqU7RApWVlbFw4UI+/fRTli9fjsViITQ0lLFjxzJq1Cjy8/Nb5tl07lJ9Gs4WqX14WiN06KtOa8oIzyN5RfDpjD4ub2eQkxlES3PkyBEKCwspLCxk/fr1KIpCTEwMTzzxBGPGjKFfv36yPZ8rKYq6h+aZIvVXva966nlEpqzS9HBeEXx6k6/LpzprGzeoluAT3klRFLZv305hYSGffvope/bsASAtLY3nn3+eMWPGkJqaKlOYrqYocOmgGng1p9XNo6NvU/fSlJ1WvIJXBJ864nNt8F05mUGme4Q3sdvtFBUV8emnn1JYWMipU6fQarXk5eXxj3/8gzFjxhATE+PuMlsmxQkXStQpzbrzYAqCmBEQniabR3sZrwg+vckHS81ll97z6lSnBJ/wbLW1tSxbtqxxcUplZSU+Pj4MHTqUF154gZEjRxIaGuruMlsup13tvzu7Tu3H8wmF+DHQrgdoZerYG3lF8OmMPjis5116z9oaecYnPFdVVRXz589n7ty5LFu2DLPZTHBwMCNHjuTOO+9k6NChssF6U3PaoGwbnF0P1irwi4Aud0NINzkA1st5RfDpTb7Ym+gZn3zzEJ6ipqaGzz77jFmzZrF48WIsFgudOnXiBz/4AWPGjCEvLw+DQabUmpy9Hs5vgXNfgq0W2kRD3B0QmADyvLRF8IrgU0d8TfOMT6Y6hTuZzWYWLVrErFmz+OyzzzCbzXTo0IHHHnuMCRMmkJ2djVYro4tmYauBc5vh3CZwWNSgi8yDtp3dXZlwMa8IPr2PH/b6OhRFcdkKtSvP+GTnFtHcLBYLS5cuZdasWSxYsICamhrCw8OZMmUKEyZMkLaD5mYuh9KNUL4TFAeEJKmbRwd0dHdlool4RfCZAgJRnA5s5hqMfq5pCK2urgIk+ETzsFqtLF++nFmzZlFYWEhVVRUhISHce++9TJgwgQEDBsjZdc1JUaDqOJRuUE871+ghLA065ICvLBRq6bziX5qpTTAAluqLLgu+ivIyfH39ZOcW0WTsdjurVq1i1qxZzJs3j4sXLxIYGMhdd93FhAkTyM/Pl2d2zc3pgMq96givtlRtNO80ENpnyEkJrYiXpc70BwAAGxlJREFUBd8l2rSPdsk9y8vKCA0Pl+Ze4VIOh4OioiJmzZrF3LlzKS8vJyAggNGjRzNhwgSGDh2KySRNzs3OXg9lxerzO2uV2pIQeweEpUoPXivkJcEXBIClqtJl96woO09YeHuX3U+0XoqisHXrVj744ANmz57NuXPn8PPzY+TIkUyYMIGCggI5w85dLJeg9Eso3wYOK7SNgdiREJQgLQmtmJcEXwigjvhcpbysjLiEBJfdT7Q+J0+e5IMPPmDGjBkcOHAAk8nEiBEjuPvuuxk5cqS0yrhTzRl1OvOCeuwS7VLUk879ZcGK8JLgM/gFoNHpsVRfdNk9K8rPk9m3n8vuJ1qH6upq5s6dy4wZM1i1ahUAeXl5TJ06lXHjxhEUFOTmClsxxQkXD6qBV31C3TezQw5EZMmxQOIaXhF8Go0GU5sglwWf1WrlYmWlTHWK6+JwOFi+fDnvv/8+8+bNw2w2k5CQwAsvvMB9991HbGysu0ts3Zw2tRWhdKN6AKwxEDoPhbB00Pu4uzrhgbwi+ABMAcEuC74LFeUAhIaFu+R+omXavXs3M2bM4MMPP6S0tJSgoCAefPBBHnjgAbKzs2VhlLtZq+H8VnWXFXudOo2ZMBbaJYNG+iDFt/Oe4Gsb7LLFLeXnzwHIiE98zblz55g5cybvv/8+O3bsQK/XM2LECB544AFGjBghKzLdTVGg5pS6w0pliTq9GZyoHvzaprNsKSaui/cEX5sgqs4cccm9ysvKAAgLlxGfULcNmz9/PjNmzGDZsmU4HA4yMjL497//zT333CMnH3gChxUu7FEDr+6c+vyufabaf+fbzt3VCS/jRcEXjKX6EorTieYW9y4sL1NPegiVEV+r5XQ6KSoq4v3332fOnDlUVVURFRXFL37xC+6//366devm7hIFqMcAnd+qnpLgqAe/cLUdITQVdEZ3Vye8lFcFn+J0YK2rxhRwayu0KsrVEV+70DBXlCa8yNmzZ5k+fTpvv/02R48eJSAggHHjxvHAAw8wYMAA2RDaEyhOuHxUHd1dOgho1P0zIzJlOlO4hNcEn0/D7i3W6ku3HHzlZecJCg6W5zWthN1uZ8mSJbz11lt8/vnnOP5/e3ceHXV193H8PdkzWSYr2Qn7HgUVJZY+AoqKJRaoqEcehQo9VEs9KngE1BbaGhZJJBArNSRGoEjtYdFH67GFHsUei4i2rAGUbAhZJnsyk0kyM7/nj5sQQPZs88t8X+fMSTJbLhjy8d7f/X6vw8HEiRNZvnw506dPd7l6u85sxq4rdhuY/wtl+9VMzzsA4v4Hom4Dn+CeHp3oRXQTfD6t3Vts9VUExXTsmJCK8jJZ5nQDhYWF5OTkkJOTw5kzZ4iKimLRokXMnTuXwYMH9/TwfkDTNPLy8hgxYkRPD6V7Wcug9CuoOKhKEwLjYdAECBsBHrr5FSV0RDc/VX7Bnde9xVxeTqSUMvRKzc3NfPDBB2RlZfGPf/wDgPvvv5/169czdepUl20K/dJLL7Fnzx5CQkKYM2cOU6dOJbA3nxyiOaDqhJrd1RWq8oOIJLVhRY4DEl1MN8F3rl9nJ9TymcvLGHPr2A6/j3AdJ0+eZOPGjeTm5mI2m0lISOA3v/kNTz75JH37dk5j887Qtoy5d+9etm3bxpQpUwgLC8NisbBjxw5KSkp47bXXGDNmDEOHDu3p4Xa+lga1UaXsgGoW7WOCvvdA5Bg5HUF0G90En5dfAB5e3h0OPk3TqCgvl6XOXqCxsZHt27eTlZXF3r178fT05MEHH2TevHncd999LnmYq8Fg4KOPPmL16tXMnj2b8vJynnvuOaZPn05lZSUOh4PS0lKXXIq9YZpTzerKv4GqPDXbMw2Afg+oGjxpFi26mW6CT7UtC6WprmPBZ7E00NholRo+HTt8+DBZWVls3ryZmpoaBg4cyIoVK5gzZw7R0dE9PbwraruO98ADD/Dkk08CsGzZMkaNGsVjjz1GS0sLo0eP5uWXX2batGncfvvt+t3s0lyvNquUfwNN1eDpB1G3ttbeyY5q0XN0E3zQWsvX0LFrfBWtxesy49OXhoYGtm3bRlZWFvv378fHx4cZM2bwi1/8ggkTJuimDMFgMOBwOAgMDKSpqQlfX19MJhNbtmxh0qRJZGRkALB06VL++c9/cvvtt+sr9DQn1Hynwq76BKCpEoSEiaokQc6+Ey5AZ8EXQmO1uUPv0Va8LjM+fcjLy+ONN97gnXfeoaGhgeHDh5Oens7jjz+u244qjzzyCGvWrOH555/H29ubn/zkJ2zatImqqiqsVit///vfOXXqFKtWrerpoV67phoo/w+Y/6Ou3XkHqDZifcaAvz7/O4neS2fBF0pN8ckOvce54IuUGZ+rstvtfPjhh2RmZrJnzx58fHx4+OGHeeqpp0hOTtbXDOgS+vXrx+9+9zvefvttpkyZgs1mw2QyERoaysyZMzGZTPzsZz8jMbFjZTtdzulQs7ryb6D2O3WfaSAk3q+u3UkpgnBRuvrJVEudtWhOBwaPG9u4IEudrstsNpOdnc2bb75JcXExCQkJpKamMnfuXPr0shl6RUUFBoOB7OxsvvjiC9LT00lOTubnP/85fn4ufpROY6UKu4r/QotFFZfH3QWRo8EvtKdHJ8RV6Sv4gkNBc9JsqT9X3nC9zOVleHp6EhoW1smjEzfqwIEDZGZmsm3bNpqampg0aRJr164lJSUFLy9d/YhesyFDhjBkyBACAgJYsmTJuWVblw09Z4vakVn2tTrkFYOa1fW5FUIGyc5MoSu6+q3iG9hey9eR4IuI7KObzRC9VVNTE3/961/JzMzkyy+/JCAggLlz5/L0008zcuTInh5et5g6dWpPD+HqrGVqdmc+qJpE+4ZAwiQ1u5M2YkKn9BV8wWoZRdXy3dip1xXmciJ62bKZnpw+fZoNGzaQlZWF2WxmyJAhrFu3jieeeAKTqWM9WEUnabGqI4DMB8FyRnVVCRumZnfB/WR2J3RPX8HX2qja1oFaPnN5mRxA2800TePTTz8lMzOT999/H6fTSUpKCgsWLODuu++W2bcrcNqh5lsVdjUnVVmCsQ8k3gsRN0tXFdGr6Cr42k5o6Ej3lorycoaPTOqsIYkraGhoYPPmzWRmZnLs2DHCwsJYuHAhv/zlL+nf/8Zm7KITaRo0fA8Vh9QMz96oAi76DhV2Aa7dDECIG6Wr4PPyM+JtDMRaVXpDr3c6nVSYy2XG18VOnTrFunXryM3Npa6ujjFjxpCTk8Ojjz6Kv79/Tw9P2KpV2FUcVMf/GLzUUmbEzRAyQC1tCtGL6Sr4AIzhMVgrSm7otaUlZ3E4HMTExXXyqATAF198wZo1a9i1axdeXl7MnDmTBQsWMG7cON3X3ume3QZVx9RSZn2Rui8oEWLHq+N/vFx0N6kQXUB3wRcQEUtN8Ykbem1RQT4A/foP7MwhuTWHw8HOnTtJS0tj3759hIaGsnjxYhYsWEBsrBwv06M0B9Tkq5ld1XHQ7OAXBvETIeImqbkTbkuHwRdDycHPcTrseHhe3/Dbgi+x/4CuGJpbaWhoICcnh7Vr11JQUMCAAQNYv349c+bM6d3nyOmBpVSFXcUhVWDu6Qd9RqulzMB4kNm3cHM6DL5YNKeTxqpyAiKvb0ZRXJiPt7c30bGy1Hmjzp49y/r169mwYQM1NTUkJyfz2muvMW3aNJc8BshtNNVC5VEVeNYyVXIQMgQib4aQwdI+TIjz6O5fgzE8BgBLZcl1B19RYQEJif3kF/QNOHToEGlpabz77rs4HA6mT5/OwoULSU5O7umhua/menXdrvIo1Ber+wLi1Dl34SOlBEGIy9Bd8AVEqLCzVJwFbr2u1xYXFJDYT5Y5r5WmaXzyySekpaWxe/dujEYj8+fP59lnn2XgQLlO2iNaLKp1WOURqCsCNHW2XfxEFXZyEoIQV6W74PMNDsXTx/e6d3ZqmkZRQT533Dm+i0bWezQ1NbF161bS09M5cuQIMTExpKamMn/+fMKkx2n3s1vV5pTKI1BbAGjgFw5xP4bwUarQXAhxzXQXfAaDAWN4TOuM79pVmMuxWi30lY0tl1VZWcmGDRvIzMyktLSUpKQkcnNzefTRR/H19e3p4bkXu00d+VN5BGpPqU4qviEQ+yM1szNGyyYVIW6Q7oIP1M7OhvIz1/Ua2dF5eQUFBaSlpfH2229jtVq59957eeedd5g8ebLU33UnRxNUn1TX7Gq+VeUIPsGqk0r4KAiIlbATohPoNPhiKc87gOZ0YrjGPo/FhQUAJPaTVlltjh07xsqVK9m6dSseHh7MmjWL559/nqQkaenWbZwt54XdSdUz0zsIom5TYRcYJ02hhehkugw+Y3gMTnsLtrpK/EMir+k1RQX5eHp6Ehuf0MWjc31ff/01qamp7Ny5E39/f5555hkWLlxInHS06R7OFqg5pcKu+rj62jsAIseoZcygvhJ2QnQhXQZf+87OkusKvtj4BHx8fLpyaC7t888/59VXX+WTTz7BZDLx0ksv8cwzzxAZeW1/h6ID7Fao/lYFXc13Kuy8/CEiSc3sghOlR6YQ3USnwadq+awVJTDopmt6TVFhvlte32srSXj11Vf517/+RWRkJKmpqTz99NNy/l1Xa6pVQVd1HOoKAU0tY0aOhtChENwfPCTshOhuugw+v5BIDJ5e17Wzs6ggn5QZM7twVK7F6XSyc+dOUlNT+eabb4iPjycjI4N58+ZhNBp7eni9k6ZBY7kKuurjYGktufGPULsxw4a1blCRZUwhepIug8/D0xNjWBSWa6zlq6muoq62lr5usLGlpaWFbdu2sWLFCvLy8hg0aBAbN27k8ccfd+tl3i6jOdWZdlXHVWF5U+tZkYHx0PceCB0mReVCuBhdBh+o5c5rnfEVFbTt6Oy9S502m43c3FxWrVpFYWEhSUlJvPvuu8ycOVNatHU2Z4sqJK8+rmrtWixqFhc8QM3sQoeCT1BPj1IIcRm6DT5jeAxVBcfQNO2qtWa9uYavoaGBP/3pT6SlpVFSUsIdd9zBunXrmDp1qtTgdSZ7o6qtq2rbnNIMnj6qAXToMPVRzrQTQhd0G3wBEbHYbVaaLbX4BoZc8blFhfkYDAb6JvbrnsF1g+rqatavX09GRgZVVVVMmjSJLVu2MHHiRAm8zqBpYKtUYVfzrdqcojlV2UFEkrpeF9xfTj0QQod0+6/2/J2dVw2+gnyiY+Pw9dP//5FXV1eTnp5ORkYG9fX1pKSksHTpUsaNG9fTQ9M/R7MKuJpv1ayu7XqdXwREJ6uwk4JyIXRPt8FnPK+WL7Tf8Cs+t7iwQPcdW2pra8nIyCA9PZ3a2loeeughXnnlFW666drKOcRl2CpVyFW3zersahYXPABiktUSppxULkSvot/gC48Cg+GadnYWFeRz931TumFUna++vp7169ezZs0aqqurmT59OsuWLZPAu1HOFnWcT9sSpq1K3e8XBlG3qqALTgQP754dpxCiy+g2+Dy9fPAPibzqzs76+joqK8y629hisVh44403WL16NZWVlaSkpLBs2TJuueWWnh6a/tiqz7tWV6D6YRq8wNRPNYAOGaSO+RFCuAXdBh+onZ3WyivP+M41p9ZJ8FmtVjZs2MDKlSsxm81MmTKF5cuXM3bs2J4emn447VBf1L6EaatQ9/uGQuQtKuiC+6ldmUIIt6Pr4AuIiKH0yL+v+By9lDLYbDbeeustVqxYQWlpKZMnT2b58uUkJyf39NBcn6ZBo1nN5mrz1c3ZonpfBie2L2H6hcuxPkII/Qdfc0MtLTYL3n4Bl3xO24zPVbu2NDU1kZ2dTWpqKmfOnGHChAm89957/PjHP+7pobm2phpVRF6Xrz62NKj7fUMg4mYIHdw6q5MDdIUQF9J18LXt7LRWlGCKH3TJ5xQV5BPZJ4qAgMDuHNpVNTc3k5ubyx/+8AdOnz7N+PHj2bx5MxMnTuzpobmmFovadVmbr2Z2bZtSvANUPZ2pv9qJKTswhRBXoevgC+wTD0B92enLB19hgUvN9ux2O5s2beL3v/89hYWFjBs3juzsbO655x4pPD+fo1ldp6ttXb60lqr7PX0gqB9EjQXTAPDvI8uXQojrou/gi4zD4OFJfWnRZZ9TeOo7xk+Y1I2jujSHw8HWrVtZvnw5p06d4rbbbuOPf/wj999/vwQegNOhmj23Xadr+F51SjF4QlACxE9UQRcQK0f5CCE6RNfB5+HlTWBUAvVnCy75eE11FeVlpQwZduUC966kaRq7du1i6dKlHD9+nNGjR/PBBx9IL03NCday9ut0dUVqQwqocItJVkuXQQmy+1II0al0HXwAQdGJVBcdv+RjJ4/nATB42IjuHNI5e/fu5cUXX2Tfvn0MGzaM7du3M23aNDw83LDlldMOlrNQV6yWMOtPg8OmHvOLUIezmgaoDSle/j06VCFE76b/4ItJ5Ox/PsNus+Lld+EBqyfyjgEwdHj3Bt/hw4dZsmQJH330EXFxcWzcuJHZs2fj5aX7v+5rZ7dBw+n2oGs4A5pDPeYfAeEjIChRbUrxCe7ZsQoh3IrufxMHx6iNK/WlRT/o2Xky7yjBJhNR0THdMpaioiJ++9vfsmnTJkwmEytXruTXv/61e5x43lzfOpMrVmFnLQM0wKCWLqNvh6C+6uZ96dITIYToDroPvqDoRADqSgp/GHzH8xg6fGSXX0urrKwkNTWVzMxMDAYDixYtYvHixYSFhXXp9+0xbUf21Bera3P1xe0nGXh4q9PH4+9SIRcYL9fohBAuRffBZwyLwtPHj/qSC3d2aprGyeN5pMx4qMu+t8ViISMjg1WrVtHQ0MDs2bNZvnw5CQkJXfY9e4TmAEupCri2W4tFPeZlVAEXPVYtXRqjZdelEMKl6T74DB4eBEb1pbr4JGVHv8Q/tA/Bsf0pOfM99XW1XXJ9z263k5OTw7JlyygpKeHBBx8kNTWVkSNHdvr36naaBs21qpyg4Yy6Wc6qzSmgOqOYBqqQC+6rNqa48+5UIYTu6Dr4aopPcOz/cqg7m4/msLN/4zJCE4cx/tnXz+3oHDq888JI0zR27NjB0qVLOXnyJHfeeSfvvfce48eP77Tv0e3sje0B13AGLGfaZ3MGTwiIgT63qiXL4ETZiCKE0D1dB19D+Rkqvzt0wX0hiUMBOJF3FIDBQ4d1yvf69NNPefHFF9m/fz8jRozg/fffJyUlRV+1eE676oByftDZKtsf948A0yB1ynhgPBj7qENZhRCiF9H1b7W4Wydy9r97KTv65bn7+gxXx/ecyDtGdGwcppCO9W48ePAgS5Ys4eOPPyYuLo7s7GyeeOIJ1y9N0Jyqn+W5kPtehZ7mVI97B6pwixytgi4gFrz8enbMQgjRDVz8t/eVGQwGRj+2kM9WP4WtthKDhyfhA5MA+PZ4Xoc6thQXF/Pyyy+zZcsWTCYTq1evZsGCBfj7u2Bxtaap0wqspWApab0+d7a9QNzDBwJjIToZguIgIE4tWepptiqEEJ1E18EH4GMMYuyTr/D568/iFxKJp7cPLS0tfPftCcZPuP6TDurq6li5ciWvv/46mqbxwgsvsHjxYkJDXaTrv9Ouzp6zlLYGXetHR1PrEwxgjILwka1LlnHgHwkGN+wWI4QQl6D74AMI6TuUMbNeICAyDoDC/FO0NDcz5CobW3bv3s2mTZvIysrC09OTnJwcXnnlFcrLy5k1axapqan07du3O/4Il2Zv/GHANZrblys9vFXIRSSpMoKAmNbrct49N2YhhHBxvSL4AOL7joLcXDh0iNizZ1lnc3DnNwdhwt0QGfmD55vNZh555BGqqqrw8fFh3759HD16lPHjx/Phhx8yduzY7ht8WwnBxSHXVNP+HO9AFW4hgyEgWn3uFyYzOSGEuE4GTdO0nh5Eh3z1FaxYAR9/rL622dof8/dXoTJlCixZAueF2cyZM9m+fTttf/zExETS0tKYMWNG1+7UdDRDYwU0ll8YdI7zxu0X3h5uATFqVucT1HVjEkIIN6Lv4HvzTVi0CBobYeBASE+H8ePBaoUdO2DxYvW5waBCcM0aeOop3nrrLebPn3/BW82bN4+srKzOG5vd1hpw5gtv58/iDF4q1AKi24POGCUtvoQQogvpN/jaQs9qBV9fOHQIhgyBf/8boqOhf3/IzoZ589pfYzTCmjX4PfccTU1NF7xdfHw8p0+fvv5x2BtVoFkvCrjmuvbnGDxVjZx/ZPvNGNm6VCntvYQQojvpM/i++gomTFChBzBpEuzZA++/D9OmQXAwlJaqxwIDwelsf63RyHu/+hX5YWEMHjyY4OBggoKCGDhwIJGXuBZ4TovlwmBrC7qWhvbneHhdGG5tN78QCTghhHAR+tzcsmKFWt5sc+IEzJoFhYXq67o69bjJBD4+F173a2zk4VOnYPXqH76v065OGWisVB1NbJXq80Yz2K3tz/PwUYEWMujCgPM1yWYTIYRwcfqb8ZWXQ2LihWF2sYcfhr/8BY4ehVGjfvi4ry8c+QwCuTDkmmpRZ8i18jKqjSbGi2ZwUvwthBC6pb8ZX27ulR+/7TbYuFF9vnbtZZ7kgLUvw//+CDx91bW2wHiIuBn8w9XXfuHg5YJdWoQQQnSI/oLv0KHLz/ZGjFBlDUFBsH17ewBerMkOFUFwyyJ1GrjM3oQQwm3oL/hqay99f2wsfPIJRETA7t3w2GNXfh9LC/gEdv74hBBCuDT97cQwmS59/9atEB8PBw7AT38Kzc1Xfh9X6b0phBCiW+kv+G66CfwuOj5n8mS46672r//8Z9i5U90uFZT+/pCU1LXjFEII4ZJ6x67OjAx45plLPz86GsrKLrzPzw+Kiy/Zw1MIIUTvpr/gA5gxA3btUn04r5fBANOnq80vQggh3I4+g+/izi3Xw2iEzz5TZQ9CCCHcjv6u8YE6ZWHNGhVi16O1V6eEnhBCuC/9lTO0eeop9bHtdIYrTVwvOp1BCCGE+9LnUuf5DhxQvTv/9jcVcOf38Gw7j++BB9R5fDLTE0IIt6f/4GtjNqt2ZocPQ3W1qtNLSoI5c2T3phBCiHN6T/AJIYQQ10Cfm1uEEEKIGyTBJ4QQwq1I8AkhhHArEnxCCCHcigSfEEIItyLBJ4QQwq1I8AkhhHArEnxCCCHcigSfEEIItyLBJ4QQwq1I8AkhhHArEnxCCCHcigSfEEIItyLBJ4QQwq1I8AkhhHArEnxCCCHcigSfEEIItyLBJ4QQwq1I8AkhhHArEnxCCCHcigSfEEIIt/L/Wmqpu+AGgGsAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "G = Graph(3,'asymmetric')\n", + "show(G)\n", + "draw(G) # BUG..." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 3) Solution methods" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.1) Exact method - Exhaustive search" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Idea" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The idea is to:\n", + "- Consider vertex $0$ as the start and end point.\n", + "- Iterate over all permutations of the vertices $\\{1,2,\\ldots, n-1\\}$.\n", + " - Calculate cost of each permutation and keep track of minimum cost permutation.\n", + "- Return the cycle with minimum cost.\n", + "\n", + "More formally, the pseudo-code is as follows:\n", + "\n", + "**Input**: $G$.\n", + "\n", + "**Output**: a cycle in $G$ of shortest cost." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Pseudocode" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1. $bestcycle\\gets \\emptyset$\n", + "2. $bestcost\\gets \\infty$\n", + "3. **for all** possible cycles $p$ in $G$ (starting and ending at $0$) **do**\n", + "4. $\\quad$ $c\\gets$ cost of $p$\n", + "2. $\\quad$ **if** $c\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
01234567
022122221
122212212
212221222
321222122
422122122
522211222
621222221
712222212
\n", + "" + ], + "text/plain": [ + " 0 1 2 3 4 5 6 7\n", + "0 2 2 1 2 2 2 2 1\n", + "1 2 2 2 1 2 2 1 2\n", + "2 1 2 2 2 1 2 2 2\n", + "3 2 1 2 2 2 1 2 2\n", + "4 2 2 1 2 2 1 2 2\n", + "5 2 2 2 1 1 2 2 2\n", + "6 2 1 2 2 2 2 2 1\n", + "7 1 2 2 2 2 2 1 2" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "([0, 2, 4, 5, 3, 1, 6, 7, 0], 8)" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAb4AAAEuCAYAAADx63eqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOydeXwTdf7/X0nv+6ClFEpPznIUOUQR5RBUxBMEV1mvXRGBfpdF2R+ugoKIeLLqqoDKWkFw5UZAhAIKyCWwCm2hHD2hUHq3tGmaJvn8/nhnOkmatjlmkkk7z8cjD+h0OjNtJvP+vI/X+61gjDHIyMjIyMh0EJSuvgAZGRkZGRlnIhs+GRkZGZkOhWz4ZGRkZGQ6FLLhk5GRkZHpUMiGT0ZGRkamQyEbPhkZGRmZDoVs+GRkZGRkOhSy4ZORkZGR6VDIhk9GRkZGpkMhGz4ZGRkZmQ6Fp6svQEamQ1FSAqSlAWfPAtXVQEgIMHAg8NxzQGSkq69ORqZDoJB7dcrIOIGTJ4Fly4Ddu+lrtZr/np8fwBgwYQLwz38Cw4a55hplZDoIcqhTRkZsVqwARo8Gtm0jgxcTA/zwA1BRAVy9Crz7LqBU0vdHj6b9ZWRkREP2+GRkxGTFCmDePECloq99fCjM2asXcOwY0KULkJAArF4NPP887ePvD3zwATBzpuuuW0amHSMbPhkZsTh5kjw4zugBwNixwP79wPbtwCOPAMHBQHExfS8wENDr6f/+/sDBg8DQoU6/bBmZ9o4c6pSREYtly4D6etNtFy4A06YB771HX9fU0D7e3vTiqK+nn5eRkREc2eOTkRGDkhIgLs60iMUSU6cC338PZGUB/fubfs/XFygslKs9ZWQERvb4ZGTEIC2t7X2GDgW++or+/9FHzb+vUFh3HBkZGZuQDZ+MjBicPdu6t5ecTNKGoCBg82beABpTXw9kZIh3jTIyHRTZ8MnIiEF1dcvf69oV2LMHiIgA9u0Dnnyy5X0rK4W/NhmZDo5s+GRkhITpgdqrgFcr3t769aTlO3UKePhhQKNpeV9/BaCtb/n7MjIyNiO3LJORcZSGaqA6B6jKAWpyyVBFA/DxAhoaTfcdPx4YNYr/et06/v/PPmvqKfp4ApH1wKn3gMAYIDQJCEkCArsBCnnNKiNjL3JVp4yMregbgZp8MnTVOUB9KW33CgRCe5BxaggES+oLRUOD6c9+/DHwt79ZPm6XLsCNG/zXvr5A1hHAqwqougzUXaPtHr5ASCJ/Lp8QwX9FGZn2jGz4ZGTagjGgvsRg6C4DNQUA0wEKDyA4DgjpQd6YX2eqxARw9OhR1N5zD+6uq4OHHafUAbiUnIweZ87A09MQmGmsA6rz6BqqcoDGm7TdL4KuISSJrsfDu8XjysjIyIZPRsYyjXVAdS4fwmwyMpFkYEJ7AEGxzYxMfX09Fi5ciOXLl2Ni587YVlUFD3OvzwrUHh4YqdMBQ4YgLS0N/c01foyRp8kZwZoCgGmNjLEhLOof1WSMZWRkCNnwycgAgF4H1F7hw5cmYcUkPr/WSljx6NGjeO6553Dx4kXMmDED77//PoK+/da0V6c1GHp1boqMxKxZs1BVVYU33ngD8+fP572/ZtffSMavOofCosbhV+Pr9wqw/jpkZNopsuGT6bioK8hIVOcANXmATgNAAQTF8OHLgK5tFpIYe3ndu3fH6tWrMW7cOH6Hd+cDb/wL0GjJU2sJhYIKYpb/C5g5CwBQWlqK1NRUbNiwAUNa8v4soanhQ7PVuXxlaEA077EGxgBKub5NpuMhGz6ZjoNWTUUpXHiwwaCR8wnljUFwAuDpa/UhLXp5QUH8DpqbwJlPgXwN8N0ZEq0rFKY9PLl5fOPuACYlAvf9BYi+zeQ8mzZtst77M4fpgbrrvJG/eQUAA5TeQEg8b+R9O1n9e8vIuDOy4ZNpv3APfC78V3uVtim9yMCFJtFD3zfc5jxYm14ex6WNQEU2kDKLDEtpKbUhO7wVqFEBsQOBAQNIyhARAWSvA2oLgZRUwDvY5FB2e3/maNXk4XIeYUMVbfcJ48OiNi4AZGTcCdnwybQvmkJ8hpd5iC8kCQjq7lCIr00vj6PqMpD9LRAzBogZZfq9rK/p337PmW5XVwBnPgfCegK9Hrd4foe8P0uoy43+ZnmAngv5duc94YBoWTso026QDZ+Me6NvBGoK+fBlfQltNynqSKSvHcRqL4+7rjOfk7EYOLO5oW3J8AFA0WHgyn6g95NAWC+LhxfM+2t23VryjLmwaN112u7pR39HLixq5o3KyLgTsuGTcS+ayvgN4UvjMv6gWF7ULXAZv9VeHkfhfuDaYaDvM0BIQvPvt2b49FogYxUV26TMblWXJ7j3Z05jHS/pqM4BGmtpu18k/7cOjqPwsYyMmyAbPhnp06iiVmDcw1dTQ9t9I/gy/eB4UYTbNnl5HKoSIGMl0GkA0ONRy/u0ZvgAMujnvgai7wDixrd6OtG8P3MYA1Q3+DByk5Dfk4wf914YCfllZKSIbPhkpAfTATev8p5GXRFtb2rVxWnqQkW9DJu9PICKZ86lkVeaktqybq4twwcAOduBsjPAgBnkwbaB6N6fOToNcLOAL5KpL6Pt3kF8PjUkCfDyt+mwWVlZiIuLQ2Cg4+FpGRlLyIZPRjSKioqwfft2XLhwAU899RSGDh3a8s7qSqMuJHmArgGAghoycyG1wK4U0hQZu7w8jpL/Abk/AIkPAZ0Ht7yfNYavUUVSCN9woN9frCoucZr3Z4mmZt0G7aDOMKEioKvRexgDKC2/h3q9HuvXr0daWhoaGhoQFRWFFStWIFKeQC8jMLLhkxEFvV6PSZMmoWfPnrj11luxYMEC7N+/HzExMfxODTXAtV/J4KkraJt3CC8zCEmgogonYpeXx9FYR4bKLxJIfq71cJ81hg8ASv8AcrYBCQ8AUa0sHMxwuvdnDtMDtdcMAvoc8uDBAA8fkkpEDATC+5gYc41Gg59++gnh4eEYOXIkXn/9dUREROBvLTX1lpGxE7k+WUYUTp8+jaSkJCxevBhTpkxBz5498euvv5ru5OEFlP5O+ra4+yg0eMvfyVvqlOxUo1dfX4958+Zh5MiRUKvVSE9Px8qVK603egBQsJc81YQHhMtxRaRQ/rJwH6CptfrHHnvsMWRlZeHRRx/FggULcNtttyEzM1OYa7IGhZI64MSMBvr9FRj6/4BeU4FO/alStL60WRcbb29vPPTQQxg5ciQA4Ny5c6iqqnLeNct0HJiMjAio1WpWX1/PGGMsKyuLTZw4keXm5prupNcxpmt0wdWZcuTIEdarVy8GgM2YMYPV1NTYfpCqXMaOvcFYwT7r9s/8D72sQVXK2PE3Gbu4yfbrYoxt3LiRRUZGMi8vL/bWW2+xxkYX/831+lbf98zMTPbwww+zWbNmseLiYidemExHQfb4ZISD6Zv+6+PjA19fX+j1eixfvhzjx49HQoJZWb9C6dJekYJ4eQDJD/J2UueTmLuEv1C/CKDrSKA8g3KgNuJy788chcLi+37u3Dm8/vrrmDt3Lh5//HG8++67iIoyFPXIGRkZAZENn4z9cJq668epQ0neLkNRCs+xY8cQGhqKOXPmQK1WSyZ0dfToUQwaNAgffvghXnjhBWRmZlpfwGLOtV+p+0nCRPH0bN1GUpFL/i4Sx9tIZGQkvv/+e2zcuBGFhYUYPHgwli5dCq1WK8LF2k5mZiYmTpyIvXv34ptvvsETTzyBwMBAMM7g1ZcCZz+ncHJVjl1/AxkZDrm4RcY2tPVGc+ouG2nqOgGd+lFOx6hgYdiwYQgMDESPHj1w4sQJLFq0CJMmTXLNtcPBik2LByynB3J4H6DnFOt/ztriFmOqc4Dza4FudwHdx9p2nUa4tPKzBVQqFdLT03HgwAFcunQJNTU1WLlyJV0XYzQy6srPwM1CkrsoPYGgeCPtYKSsHZSxGtnwybQO0wG1Rbx4vLYITdV5IYm8Vss3rNmPlpWVYfbs2RgwYADGjx+P4cOHO//6jXCoYtMSjAHn19DsvpRU0q9Ziz2GDwAubwHKM6kNmp9jZf4ur/xshfPnzyMhIQG+vmaNsnUaw4QNw8JLXU7bvYNNW9R52qYdlOlYyIZPpjkNVXyvxuo8gx5LQTo6rldjYDenaOqEQHAvj6PsLBmi+PuBLrfa9rP2Gr7GWuCPT0nQnvysw16OFL0/m2ioMp072KT/7Go0d9B97lUZ5yAbPhmjVbRBQN5sFc1p6txvFS24l8ehrSfNnk8olevbOrnAXsMHADdOA3k7gKRHgMhBtv+8BaTs/VkN05F2kFu02RCdkOlYyIavI8L01HORC1+2w7yJaF4eR+4O6tIyYAYQ0MX2n3fE8DE99fGsLze0RRNmQeL23p85reWjm+YOxpNhlOlQyIavo6Cp5ZsLV+dQlxEA8O/Mhy+DYttFl33RvDyOm4VA1n+A6NuBuHvtO4Yjhg+ghUvGKhK4Jz1s3zFaoF14f+YwBqjL+LBoTT7JUBRKuu+5yIZ/lDx3sAMgG772il4L3LzChy9VxbTd09/Q6LkH/duO5qqJ7uUBgF5nGBmkNowMstNbcNTwAUBhOnDtCLVHC46z/zgWaHfenzl6LS1guLCo6gZt9wrg5w6GJAHecqPs9ohs+NoLjFFurmlOXT5pnRRKILA73/8yoEu7XNGK7uVxXPuV2of1+hNJGOxFCMOn05CUQukJDHhRlGYA7dL7s4TmJh8NqcoBtCra7h9lFhFph797B0Q2fEJQUgKkpQFnzwLV1UBICDBwIPDcc4CYneW19TTJoIrLYVTTdt9wo7EwCe06h+EUL49DXQmc/YwehL3/5NixhDB8AFB5EbiwnnR93UToGoMO4P2Zw/QUITHJgespDRAcz+cHfSPEzYG76rnSAZANnyOcPAksWwbs3k1fq9X89/z8yAubMAH45z+BYcMcPx/TU6Uatyqt5TreewPBiUYfyHDHz+UGOM3LA+i9vLCehq+mzAZ8Qhw7nrqS/hWiwvDiBjKAKbNEfe87jPdnjq6BIihcflDsSSLOfq50QGTDZy8rVgDz5gH19a33EVQo6Gb94ANg5kzbz9PqjDPDh66VGWftEad6eRzl54BLG6iYJfp2cc9lK5oaklYEdgf6/FlUL6TDeX+WUFcapRQEnh3prOdKB8dj0aJFi1x9EW4Hd3OqVPy2/v2B778HPv8cePppunF//52+19gI/PwzEB7e9gpNpyEDd+MkUPATcOUAUHkB0KqBsF5A1zto7E307ZSE9wltlzm7ljh69CgmTJiAnTt3YsaMGdi2bRv69u0r7km1avL2fMOBpIek9/f28CGv/8Zv1NDaimnt9hIQEIApU6agf//+WL9+PT7++GMolUqMGDECSqXE/i5i4elHhi2iPxA9goyddxB5guUZNGqr+Dfq6KNVk9zE07ft41p6rgDAXXcB+flAly7Arl38dlueKzImyB6frZw8CYwebXpz+vgAly8DXbsChw4BgwYBoaHA5MnAli38fv7+wMGDgPEkcsaoooxLrNcUkKZO4UmVek2aus5uq6kTApd4eRz5P9KDrP/z5F1LEaYHMr+iPG9KqlNmGcrenwUaVUBNLh8W1dyk7b4R/Gc5OJ4WKsZYeq4AQGwsPTPi44GVKy17d5aeKzKt47QBSO2FRx9lTKFgjEwWve68k7G6Osb+/W/6eupU2nf9etP9FArGJk1iTFPLWOkZxi5tYezU+zTH7dgbjP3xKWP5PzFWeYkxncaVv6WkEGRenr3cvErvTe5OwQ99/PhxNmrUKOEOWFvE2LFFjOXuEO6YViC5eX9SQa9nrO4GY9eOMnZuDWPHl9C9dPxNxrLSGCs6zFjtddrP0nPlr39lrKyMP96KFabfN3+uyFhNB8hMC0hJCSWczZ3kw4eBoCCAa6jLzRCrqDDdjzFg5w/AvkVAWACtyps0Q4mOF0y0M8y9vPT0dOd5eQB53nk7Aa9AoPvdgh76vffew9q1axEQECDcQQO6Us/Q4hNAxCCagO4EHnvsMYwaNQqpqalYsGABtm7dKnt/AEVo/DvTK/p2khfVFPLa2sJ9APYBNwHs2tn8ubJgAdDQQCHQ1vJ4jAE//giUlsrVnlbSQYLyApGW1vL39HoKU3z/PbB8OZCXB7zzTvP9FArgyE2g/3RgyD9olE3nW2SjZ4ag8/LspfgkUHcdiL/PuhyNDSQlJWGLcRhcKLqPpXxT3g4y3E5C6vP+JIHSi8KdcfdSBe7gl4DEh4H0ywAsZJyWLQOSk4ETJ9o+tkLR+vNJxgTZ47OFs2dNS4vNUSiARx4BPD1p9WWptL6hEXu+3Iplv2aLd51ujE6nQ35+Pq5evQofHx8MHDgQ2dnZePDBB516HZHBPvjm5WHIyK/G/FdS7T9OZCTWrFkDPz/TnNvkyZORn59v8WfWrl2L1atX233OO/tFYMlT/fH5689gw+Grdh/HXnr27IlLly5hwYIFeOedd9CnTx9hPdt2xqvnz+MejYUFwhdfWH+Q+nogI0O4i2rnyB6fLVRXt/59xoCICGDiREo0t7CiD5JXwRaprq7G6dOncfXqVURHR2Po0KEIC3NNJ/3Uh3rAQ6nAR9svueT8jnA4qwxHz5fhufEJ6Bzi/OYFXl5eSE5ORnJyMhoaGnD69GkUFBTw09RlTAgU6nlQWSnMcToCrk4yuhXTpllOLgOMRUQwFhzMf11QQD/TqVPzfac96drfQ2KoVCr28ssvM4VCwWJjY1l6erprL6gim4oQrh4S9TR5eXls+PDh4hxcXcnYibcYy14vzvGtpKSkhE2dOpUBYEOGDGEZGRkuvR7Jodcz9viklp8rAGPPPEP7tlTcwr2eesqlv4o7IXt8tjBwIF/AYsz06RTaXLyYvo6OpgKX2trmBS4+nkBYKXAuDSg6TDkkphf90qWKJHJ5xug0QN6PNJJJakJ1W/AJBWJGkwa04rzLLkPO/VmgsZYfYvy/D4BONYC3g1knPz9gwABhrq8DIOv4bKGkBIiLa57ni4yk+HpUFOn4evYk4/fmm8Abb5ju6+MDHF0DeJZ36I7wLtXltUbBXuD6UVEmHjgdvQ7I/IJ6ujoySUIgOqzur2lSiqHbi/mklMZwYPD9VMFpiWeeocKVlnR8AC3ICwvlqk4rkYtbbKFzZ+qRt22baelxaSkwfjxVc956K339z38C771n+vMKBXDPaGDwVPqa6whfZXiVGZLT/l34vpvtsCO8U3ts2kJdMXD9GBB5i/sbPYDa2CU8AGStBq78TNWpLoTz/qZMmYJZs2Zh8ODB7bPnp8mklBxqa2Y8KaX7WNNJKVoVcFcKsO83i8WdbaJQAPffLxs9G5A9PltpqcOCNfh6AZ8/C4x5BOg+zrR7g3FH+KrLQO0VCx3he9D0aDft4CJZLw+gv3XWf6jt1KBUWo23F3J3AiWngQEvAAHRrr4aAO3Q+9OqjTq25AANVbS9rUkpFdmkFT17CZj9DVDfgtfXGnLnFpuRDZ89tNRTrzX8/YH33gUmJpHA2CeMJmcHx1vev6kjvGFQptgd4UVGsl4ex41T9ABKehSITHH11QiLtp6aWHuHUNs1CfUadduJD0wP1F7jxei2TkrRqoD8nyjX5x8FJD0CrNkGNm8eFLY+V+RG1TYjGz57+fRfwD/mAw3atruo+3gByz/ib86afCBnO9BQSZ02zL0/S6gr+Q+Z0B3hRUTSXh6HppYMQ0A00Pdp53jUOsPK3ll5t7IM4PJmIP5+uuckhNt4f0JNSuG8PK2KZih2HdmUzvjtL39Bv6+/hp9CAWWrzxUAvj7Ah/+SjZ4dyIbPXi5+Dxz9Bdh2Fdizjx6W9fX897m5WWNvBx7rATwwC4gcxH9fpwGu7LfO+zNHr6MVJpdDqCui7R6+hiIZw2rTJ1SgX9Y+JO/lcVzaDFScAwbOpOkGziDP0GU/YaJzzscYkL2W5jmmzAa8g51zXhuQnPen0wA3C/iG0/VltN0riG84HZJIxWnWYMnLMwo9V1ZWok+fPrgvIgJf9+4N5e7dLT9X7uwPTBsG/Oltl3/O3RHZ8NmD+dTr0lIgLQ17PvgAQVotRkycSKXFzz4LRHSiadvqcuqa72WWO7LH+zOnUUUr0GobO8KLhFt4eRxVOWQQuo0Cuo9x3nmFmsBuC+py4MznQFgfoNcU553XBlzq/Yk5KaUVL4/jxRdfxJdffolTp07hlltuaXqu4PBWoEYFxA7knyvBXsCZz8jw9n5CsD9BR0E2fLai09AN5+ENDJhhcvOOHj0aAPDLL7+Y/ozqBpCxCohIIc/O0jHt9f7MYQyoLzUalFkAMC2FQINi+ZCMf5QoIT238fIAqrQ7u4L+P3AmFRI5C1cYPgC4ehC4+jPQexoQ1tO557YBp3l/jXW0aORy6Y21tN0vkk8hBMfZf2+04eVxHDt2DCNGjMDcuXOxfPly02+2dK9cOwIUpgO9HgfCRZ5J2c6QDZ+tFKQD149Y1Hm1aPja+LkmhPD+zDHvCF9fQtu9Amm1GGqYDOHlmHbQrbw8jisHgKJDlNcLSXTuuV1l+PRa4OxKWgwNnOW0KIA9iOL96bWUJuDCl3XXabsYk1Ks8PIAoLGxEUOGDEFlZSXOnz+PwECzz2JL94peB2SuoopSCeg03Qk3KJ+SEKobQLGdOq+YUUB5JnXNH/CiZW1ecDx5Hpz3V3nJMe8P4DvChyYBcQA0NXzJddUlWokCtArlyq6DutukHXQrL4+jvhS49isQMdD5Rs+VKD2BxAcMnYMOAbHSXZwIpvtTl/P3fHUeoNcAUNB9HjOGFn8B0cJVu5p7eX2mtSoj+eijj5CRkYGtW7c2N3qtofQAEh6UjE7TnZA9Pmsx1nlZytWhDY8PaJ4bbA0xvD9zmJ5WvFxYtPaqkXYwgQ+L+oZbDIu6pZcHUDj4XBotZAalOuzt2oWrPD6OnG30YB4wgx7OEscm70+rpsrnJk2doXmzTyjdz6FJdH8LPGoKgNVeHkdBQQGSk5Mxbtw4bN++3fJObd0ruTuAkv9JSqcpdWSPz1pK/keGIekRi0bPKsJ6USz+6iGgU/+WNT6AON6fOQolySECu9GHVKsmg8uFRasu0n4+obyA3vDAcEsvj6P0D6rWS3jQNUZPCsSOpz6eeTsp/C4hbZ8lWvX+PJS0gOPydE0LOG8gJJ56roYmAT6WF3CCYKOXBwCMMaSmpkKhUODf//63/eeOHQdUZpMBlJhOU6rIhs8aNLU0LTk4ngpUHCF+An0483YBff7c+gfRw5v2D+9L3t+5NPG8P4BWwOF96AWQd8s9TMoygJLTqFdrsTDtJJavSUf3mK5I37sH48bfI/y1iEVjHVC4l8JcnW9x9dW4Dq8AIPYeIHc7UPo70HmIq6/IKrhp7wvn/x2Xj23CgVX5GDskAZ7Q0A4B0UD0CFqkBcY4p92fsZcXM7pNL49j69at2LlzJz744APExsbaf35PPxpue3kLNWKQmE5TisiGzxoK9lCRSMJEx1eM3sFAzFig4CegPAuIsCJZ7wzvzxK+4fQh6nIroNfh6P5teO7Fv+Ni7lXMeGQI3k8dj6CQ34GL1Xypt9QnyRemk3g84QF5ZRw5iLzfgnQgrLe0vV99I1UoV+cgsuoyVr7QE0BP3Kiow3c/nUJQzC14YNrf4OnnxPvPDi+Po6amBv/3f/+HlJQUzJkzx/Fr6TSA3ssr+2nhKkGdppTo4J98K6jKAcozaBXnJ1AT2C630gekYDe1k7IGzvtLfpa+PpcG5P9IUgiRqa+vx7z/Nx8j750CtVaJ9PR0rNxwEEEpT9ID82YBkPsD8Pu/SOqR/xMVzugbRb82m6jJp4dD9O1ukdcSHYWCCl30GppKISUYA1QlNCnj/Frg5LtA9rdA8W+AdxCFage8COXQf2DneS88Ov113Hbn3cjMzHTO9VVkkyayPJO8vP7TbcqvLVy4ENevX8eqVauEkWkoFLQw12vp8yfTKrLH1xr6RiB/F3k+3UYKd1yFkvJLmV/SCi3hAet/1sneX6u5vIgB9GKMZBJcWPTGSaD4OGkHg+P4ggJ7hL9CoddSOMonlMTqMoRfJC3qig6RB+jKCtemRgyG+4hrxOAXAUQN5TV1RmH+yAA4d+KDA14ex+nTp/Hpp59i5syZGD58uHDX5tuJcvVXf6bngoR1mq5GrupsjSad11P0oWuDNqs6zcnfTcar3/NAUIzt1ydi5adDFZsmrZ5ySDoA2N/qSQiKDtH72ftJKjJyNa6u6jRG30jei0JpEPI7aT1s0nrvMlB3jbZzrfc4jamVLblE7/piY8WmJXQ6HYYPH46ioiJkZ2cjJMSK0Kwt94ob6TRdiezxtUSTzmuAVUbPLrqPpR6ReTuoFNnWBtMieX8OV2x6eAOhPekFGDX3zaGHR+kftD2gK99XNLB728197UVdQZW04cnSMHpSQ+lFUYfstXTPx4wW71zqCn5BZNJsPYbOG9LD0Gzd9iyMaPP+BPDyOD777DOcPn0a//3vf60zerbiRjpNVyJ7fJYw1nmlpFo9Ed1mjw8gw3dxA1XYdR1h86U2IYD35xRdHtPTyp7rnHHTeJxLgtHcwVakHjadj1FuqPaK4b2USNJfSh4fx6VNQMV5YZt16xpINM71vzQZr2WsqRN2vJZg3p8AXh5HUVER+vbtixEjRmD37t1QWBv2t+decTOdprORPT5LlJ0x6LwesNro2U1YXyC0F8XlOyXb32nd2PurzgW6NdIH1MqVs9N0eQolre4DY6ibTZPY2JDXqbxA+/mE8QL64Hj7xcblmXTc+AnSMXpSJe5eKkrK22X/eCamp0n2TXPqzAYqdxlOixuRByo77P0xRg2qb16hkLwDXh7HnDlz0NjYiM8//9x6o2cvbqbTdDay4TOnUUUVboHdgc6DxT+fQgEk3G+ohtztWKd1rvKT6Q3H5m92rVYLDw8Pix+4hoYGTJ06FR4eHkhPT3du9xVPX9Iphvelh426gn9olp4hXRJnLLmmwda2l9LWk2wkoCsQNUz838Xd8Q6i0FjeLvIWrB3Iq7lpOqdOaxik6t+FKmhDetjcBk8oON1famoqFixYgNtvvx2jR4+GUml6/6hUKpLMN2QAACAASURBVPz222+IiopCXV0dhg4dSlMZuo+ll4Nh+F27dmHz5s1YunQpEhOdUEDkpjpNZyEbPnMK02nAZKITdV4+oZTfKEynUJOjndaNrpsxBoVCgVdeeQU+Pj5YunRp890VCuzfvx9du3Z1bfcVhQLw60SvLsMpUX/zCh8mu3KAXp5+fF/R0KSWPbkr+2kh02eavOK1ls5DaMFRsIeqAj0tdCnSNwI3C/lwtYprfB7AL05CksSPllgJ5/3NmTMHKSkpzYweAOzYsQMbNmzAsWPH8Nxzz5HhAwTJO9fV1WH27NlITk7GvHnzHD6e1biTTtPJyIbPmJoCWh1F3+H8uHiX2yjEmr+bKtkE6rSuUChQXl6OkydPorq6Gvfeey/uusu0T6i3tzd69+4tyPkERekJhCTQC+NoZEx1Ll8cUW7QbPl1NgqLxlJY7eZVQxeL28jjk7EOhZJC/BmrqFtR4kMGT7yMPLqqHOBmPi1KuFFX3cfR398/StILjBEjWs6hP/744/Dx8YFGo8GSJUsEPe+bb76JgoICHDp0CN7eTqyy5HSaZ1dQFKvHJOedW+LIho9Dr6XqSu8Qyj05GxE7rV+7dg3jx49H//79sXjxYuzduxceHiJVUIqJVyBNU4gYaDo0tOoyCZuvH6PwVFAsVeV6BYhbodheCehCurkbJymMqbpBUz0Ays11HuL04cZic+HCBSxfvhyLFi2y6BHaS0ZGBpYvX46//OUvuPPOOwU7rtX4RQJd7wCKDrtepykhZMPHcf0oUF9GOi9XfZiDutNDpfgE5VcE6rTev39/KJVK9OnTBz/88AMWLFiAZcuWCXJsl6FQ0AM6oAt9sHUaQ4NtQ19RLs909nM+9BaSaH+D8fYO0wG1RXz4sraItlddpjBZt1GGRs92Fl9JGK1Wi+XLl+OOO+7A2LFjBTuuXq/HjBkzEBoaivfee0+w49pMt7uAskzK3TpTpylh5L8AYKTz6ut6nZcIndYVCgX69esHAHjttdfw17/+FXv37sU997hRc+m28PCm986/M03SCE6kKtnqXMqblv5O+wV040X0gTHiaQfdAXUlnz+tzjXS1HUjQ+fhReHOwG5AVPstjli9ejWys7Nx4MABQY/71Vdf4dixY0hLS0OnTp0EPbZNKL2onVn2t+LrNN0E2fAxRishpZIqIl2NgJ3WucIWY5KSkvDEE09g586d7cvwAfRe5v9I/096iLyTqKEGb+YaHxYtOkziXg8fs7mDYa69frHRNfBecVUODWgFqDioUz+DV5xgWtBy8ypQdNAwRqt9/n2Cg4OxaNEik/C/Xq93KOR548YNzJ8/H6NHj8bTTz8txGU6RmgPeg+LDtO/Quk03RTZ8HE6r7j7pKPzEqDT+tGjR3HixAlMnz692VTnF154QXwdkSuozKZhv7HjTUNyCg8KIwd1p9Wutt4gqjYUa1Rm036+4UZzB+MFKzByGUxP+TlOI3mz0KCp86TfL2oYGX3fiJY1dfETDFKbXUDvaa7rtSoiTzzRXEJ05coVfPfdd5g3b55dXV9efvll1NXVYcWKFdL5rAmh02wndGzD16TzipbWDCuu0/qZz4H8PUCvKVb/qHH3lfj4eEyfPt3C4Vu44XWNgE4FePi5X9GCroG8Pf8oquRsDU8/CoN2SjZULJbzxqH0DyrqUChJy8l1F/HvIumKxSY0tYbQpUFT11hH27m/SyinqfOy7ng+IUD3MSRvqDhHnqG7UXudPBwP635nxhhWrVqFZcuWYdOmTTZ3fdm3bx/WrVuHhQsXok+fPvZetfB4B1EFbr6NOs12SMc2fFLWeRl3Wq8axPe9bAVL3VfMvb0W4QxA1mqqnnTGvD8hufIzVSD2nGpb3k6hoIeiXwQQfZtBO2ikUbuyn16e/rxuMCSJHiJSwOR6cwBVMW0X8nq73EravvzddCx7u+g4G+Mem9F3ALF3W/U5VygUePvttzF48GCbu76o1WrMnDkTPXr0wKuvvirUbyIcUUOAsj9a12l2ADqu4WvSeQ2Xrs6r6x30oc3b1WqndfMem3Z1X+GqJPtMc860dyGpu0aVsJ2HkjfjCEpPqv4MSQQw3tCVJJcPi5Zn0H7+UXxY1BYPylHMPdSafBKUcx5q97uF91AVHkAiN0brAHUakjqWpqLb+Pcw7/qydevWNr2/t99+G5cvX0Z6ejp8fSW4QOBGohnrNDsgHdPwMZ1BsxdE7YikitKTxMTnv2mx07rgPTZdNe3dXpgeyN1JMoXYu4U/vncQhYQiU5rnzIqPkwyGy5lxcwdby5nZg3lOUlNN233DgchbDI2e48XNSQZ2A6JuBW78Rn+LwG7incsRBJykANjW8zM7OxvvvPMOpk2b5ty2f7YS0IWiG9ePkbYvKNbVV+R0OuZ0hmtHgcK9QK+pNKpGIOyazmANl7eSp2HUad0pkxREnPcnGMUnKATXYzKNkHImrVVJNrXuSrQ8eaC1jvtMTzo6rgq1tgg0wYKrQjUc29lVllo1Fbp4BQADpts+RktsBJykYInWJj4wxjBmzBicOXMG2dnZiIoSsPOTGJM8dA30Xnr40nOlg8l6Op7H11BFebPQXjQZwR2IuweoutjUaf3osePOmaQgde9PU0PXFpJIJdrOxsOHxN1hhnZvxrq48izSE3K6uKa5g90sG4yGKt6AVudSv1iAdIfd7iRjF9DNtQ8oT1/qKHRpI3XKib7ddddijMBeXku05v2tW7cOBw8exKpVq4Q1emLh4QPE3w9c/C9FLbq5oKuMC+l4Ht+F7+jBkjJb8C4Uonl8AFDyO5C7HRtOqfGnv70nnpfXElL0/i5uoNErKbOoGEhKNOuEcg3ktfmSVq6umPItoT0M3mIZ/Zx3EB8yDZZgpxnGgAvrqa9tymyq+nQlInt5LWHs/aWkpKCwsBB9+/bF4cOHBW15BkDc2Y0X/kv358DZ7VanaYmO5fFVnKcHpbnOyw04elkFz4slGNcrCC//7UW8vuRd505SkJr3V3mJyutjxkjP6AF8A+egWJIDNNaRVKI8i7SGTEf7FZdTf9jIwVRxF9BV2voqhYI8hbPcGK0/ueY6nOTltYSx9/fUU09BrVZj8ODBDgvfnU4H0Glawo3eIQfRNdAH1b9z2zovCVFfX4958+Zh5Mg78c8vfkVokD/eTx3nmvFB3Ly/5Gfp63NppJ3TaZx7HToNfVB9I6jyVao01tKD+fIW6pBfmE4VqL6dKE/mFUhenbYOKP0fkPUf4PwaoOhXoO46P1dRaviGAd1GGxoGXHD++SuySeNankkVm/2nO9XoGRMVFQW1Wo3evXvj008/xW233YbMzEyXXItdcDrNqsu0kOwgdByP7/oJygn1nOI2iVxLFZvKqt9c32nd1d5f0SHKiSU/K62Gu+bzA+uu03ZL8wO58FXy02bz7XKAK/vo5RVg1GBbOvPtAFB+r+wskPcjFdw4I+ztYi/PHI1GgxkzZiAuLg6nT5/G7t277Zv27mo4nWbBXqp9sFLo7864wbsiAIzRBzUgynGdlxNoVZcXIJFO65z3F97Xubo/1Q1KxkcOcn2RjfnE+Jo8M03dWOsmxiu9eOMGmE40r7pMD3qAtHlcX1EXTTTnr9mDZr1l/Qe4+gsVYImJJV2eixc9H3zwAc6fP4+dO3ciICDALt2fJFB4UFW0h3eHCXV2rOIWxkR9Y4UobrFKl1d1mTqtx4yWRqd1nYb3/nzCxPP+mB449zWNj0pJJY/IQYqKirB9+3ZcuHABTz31FD95uyW0ajJwnJavoYq2+4QZDcONb7u7ibUFC0xPhTCcca29Yui36UXnaZI2dLLq3s7KykJcXJz1HX3aIvcHKrwaMIP0YUJj7uUlPeJSL48jJycH/fv3x8SJE7Fp06Zm39+0aRNmzZqFqqoqx70/MYtbrMRSw3t3pl16fFqt1vJNJuE3zqbuK1LrtO4s76/0dwolJj4siNHT6/WYPXs2evbsiZEjR2LatGnYv38/YmJi+J2YnvJyXHXmzaug6kxvCvFFj6D3wzfc4euxiEIJBHalV7e7KFddnceHU/Mv0X7eIXxf0eCEZtpBvV6P9evXIy0tDQ0NDYiKisKKFSsQGRnp2PXFjjN4YzuAfn8VtvWfBL08gIzA7Nmz4eXlhY8//tjiPm7r/ZlRU1MDT09P6HQ619QViES7K2755JNP8PTTT2PhwoWuvhSrOXr0KAYNGoQPP/wQL7zwAjIzM9uWKcTdSw+BvF3kyUoBLvfXZTjpvM6uIBmEEDTWAgXpQFAchTkF4PTp00hKSsLixYsxZcoU9OzZE7/++iu/g15LLboyvyLtp14HdBtJucUh84HeT5CBF8voWcLDhyZ2JEwEBv2NXvETyQsqzyCJx+8f0bUaodVqm8bvHD58GMnJyfjuu+8cvx5Pf7oXa4uAG6cdPx5Ahu7yFtKYeQVQ8UrMaEkYPQDYsGED9uzZg7feegvdurXcwYar/Ny4cSMKCwsxePBgLF26FFqt1olX6xiHDh3Cs88+i9mzZ7v6UoSFtSPWrFnDJk6cyP744w82atQotmHDBsYYY3q93innHzVqFBs1apTV+6tUKvbyyy8zhULBYmNjWXp6um0nvP4bY8feYKzkD9t+zhlU5zH2v4/o+vJ2MaZtcOx4lzYzdnwxY6oSIa6OMcaYWq1m9fX1jDHGsrKy2MSJE1lubq7pTqoyxkrPMqapFey8jDHGMv9DLyHRaRmrzmes9Eybf+/JkyezxYsXC3NevZ6xrDTGfnubsYYax45Vfp6xU+/Te33lZ8Z0jYJcolBUVlayLl26sCFDhjCtVmv1z5WUlLCpU6cyAGzIkCEsIyPD+pOKca9YgV6vZ2q1ml25coXNnDmTvfnmm06/BrFoNx5fY2MjNm/ejLlz5yIlJQUvvPAC9u/fD4BCE3V1dS6+QlPs8vLMiRpCnUAK9tAqWUoI6f1V51KOp+tIwM/B0JwRPj4+8PX1hV6vx/LlyzF+/HgkJCSY7uTXiVqhCRBaFR2lBxAcB0QMbDHEnJWVhUceeQRRUVGYMWOGMOflxmjptXQv2oPEvTyO1157DSUlJVi1apXJ4Nq2cAfvT6/X49///jcWL16MQ4cOIS8vDz4+PoiJicH06dNRXV0NvV6iEhsbaTeGz8vLCyNHjsSFC6QrevDBB1FQUAAAeOWVV/Dhhx+68vKa4HV5I6FWq5Geno6VK1faFz/nOq1r66nTutQQQvenb6Q8j0+YY22VGuuAsgz6W5lx7NgxhIaGYs6cOVCr1aiqqrL/PBLl3LlzeP311zF37lw8/vjjePfdd/nWWjoNLSzqiu0Pm/tF0PtTnkmFP7YgIV1ea/z2229YsWIFUlNTMWTIELuO8dhjjyErKwuPPvooFixYICndn1KphFarxZIlS3DixAlMmzYNDzzwABYvXoy7774bPXv2dC9xfiu0q6rOoqIiMMYQExODuro6zJ49GzNmzMCSJUuwceNGBASIu2pvq6pT8EkKHAV7qNN6v79It9O6vZWfV34Gig4CfZ6iwg1r0euoApLTxtVdo+0JDwGdB5kUYQwbNgyBgYHo0aMHTpw4gUWLFmHSpEm2/X624sRKvczMTDz44IOIiorC1q1bER1NRoVxlXr6RuDkMirk8Qo0neNni6er15Jnz/TURq6tUU0Srdi0hFarxbBhw1BSUoLz588jODjY4WNaXfnp5KrOSZMmYf78+Rg+fDh++eUXXLlyBd27d296vrUH2pXhM+e+++7D8ePHsXr1akyePFn087Vk+ESfpOBOndZt6flZX0YP0vC+QM/H2j62usJoTl2ewbNUAEExfP/LgK4mRq+srAyzZ8/GgAEDMH78eAwfPlyQX7NNnPgwU6lUSE9Px4EDB3Dp0iXU1NRg5cqVphWGmhq+crU6l/eMA6L5uYOBMW2HHqvzaIxWtztpNmBLuKjHpr0sX74cL7/8MjZt2iTos6S1iQ9NONnwHTx4EK+++iqOHDnilPO5gvZl+Mx0elu2bMGuXbuwevVqp5zekuETzcszpyKb8iPdx1HloZSxxvtjjNp31V0jzZ6lCeJatWEskEHj1lBJ231C+Yd1cII0J4a7UJt1/vx5JCQktDwolemp6wy3iKi9atAOegMh8fwiwifcskTo8hYKWw6c2Twn60ZeHgfXgHrMmDHYsWOHKHq2Vr0/F9wrX3zxBSZPnozw8HD6fUXWQDub9mX4agroQ6T0BBRKMMagUqlED3FyGBs+p8zLM8fdOq235v2VngFytlLRRNQw2sY9kJvm1F3lxdwhCYbuJwZNndQ/pBIQJVsNJ9rnxiaZLDCMtYMGQ9pYC/zxKRm25Gf598LNvDyOhx9+GPv27UNWVhbi4+NFO0+L3p+r7xWdhhagQbHC6jRdiPTvOmtprKWRQ8HxQK/HAQAKhcJpRs8Yp3l55jR1Wv8R6P2k9B/+LfX89O9MecvAGOodWPI7L9g2DsFFjyBj5+r2Xe0dT18KN4cb5leqy/ncadlZoOQUKKTcnc8Pxo4nUXvpH0B4b0n12LSFbdu24YcffsB7770nqtEDWp739+rD0a7tmnLzKpC9xnQR6ua0H4+vtfCKk7jrrruQl5eHoqIi58/L47h+jIxGzylAp37OPbcjGHt/3iGApppCaQ0V9H2TootE+tqdcfUqXij0WvK8ufwg15jbw5e8A52GQqR6tVt5eQBw8+ZNJCcnIywsDKdPn4aXl/OaNxt7f6fWpKJP794IuDXVaec3wZq0g5vRPgxfdS69MW0l1EXk6NGjGDduHOrr653r5ZnDdEDGl+QBp6RKM79lDGNAfSk9NCsvGbR+hlvSvwtp6EKSyFOQugdrC+3F8JnTWEefx4psesHQQcYnjDrOhCSR1rCtik8J8NJLL+Gjjz7CkSNHcPvtrpk2v2nTJkRX7oFWq8WvFT1cN/HB1kIzieP+hs/WEmqBMc7leXt7o3fv3jhz5oxTr6EZtUVA5pdA1K1Awv2uvRZLNKro4ciFLzU1tN2nE6BT0Xvp4Uten1SmvQtNezV8gGkuz68zoCqm0KaqhBZmCk8yfpwH79dZcoua33//HUOHDsX06dOxcuVKl16L5o8vcOnSJfSf+kHLlZ/OoEla9GcqHHNj3N/wXf2FXi54M8xzeVlZWfDw8HBoOoNg5P0I3PiNxMCBLfcTdAp6HYXDuOKIuiLa7uFLYUtOM1aWQfm+3k9QsYQzJj64ivZo+CxVbPp2As5+Tsau31/ovefCovVl9HNeQfw9EJIEePm79NfQ6XS4/fbbUVBQgOzsbISFubhQzHCvbDofJNzEB3vQNwJnV7rMyRAS9wi2t0R9GT+hwIlGr6VJCpISeHYfSxOVc3cAA6bTzC1noq40nVOnawCgICMcM5oecIHd+CoxdSWtJsP6AGG9aZsr5v3J2EdrkxQSJgLZ64AbJ4GYUUBoT9reUM1X6FZkUyEMQFpLbsRTYIzTdakrV67EyZMnsW7dOtcbPSNcPvFB6QUkPEA6zaJDLksrCYH7Gj7GaDKB0pO6wzsJl1Vs2oqnLxmOSxupV2a0yDkKXQPl5zjtl9pQlOIdQkU2IT1IcmA2LgcAvZf5uwAo6ZqNcfW0d5nWsWYqemhPILwfPSwj+pMXCAA+IUDnwfRieqD2mkFAnwMU/UqLWm78EyebEHkSxrVr1/Dqq69i3LhxeOKJJ0Q9lz20VPnpNO8vJIF6wV47Qv+6qJDQUdzX8JWdJU8ifqJTqoxsmpcnFcKTyRO+8jP93ydEuGMzPeVuqjhNndmA1KhbDXPqrBiQWnGOjhF3n+VrdNW0d5nWsWVeXvx9ZNTydlH7OfN7QqGkDjtBMXQsbb1h4K/h/qqkHrw08NcwfDckgcY0CcjcuXPR0NCAFStWSHrwqku9v7h7gMqLQO5OU52mG+Gehk+rMui8utGEApFxGy/PHIWCFgZnPwPydwO9/+TY8TQ3+TxddQ4/EcK/C9DldlqRB8XaVq6uVdO1BUSTMWsN2fuTBtZ4eeZ4B1FoLP9Hkh1FDGh9f08/WqyFJ1NEQF3O33ulf1DYVKEEArvzYdGALg4JrH/66Sds2LABb775Jnr0kH7xhsu8P69AIG48pVFK/wA63yLeuUTCPYtbcn8gUfOAGXSzi4St3VfaalLtMooO80UjXP7MGvSNNPGcC1+qbtB2rwC+ECEk0TGPO28XcOMU0P9524pwbOn5KUXctbjFke4rTE9DfTXVBqmNhbC3Nei1dF9y+UFVMW339DcUS/Uw3JfWN5JWqVTo378/vL29cebMGfj4COtJOoQV94pVPT+FhOmBc19TnUVKqnuM7TLC/Ty+mgKg5H/UtUNEo+e2Xp4lokfQ6jzvR8qXtGQgGAPUZXzVXU0+PWQUSvLkuo+j1bV/lDCti2qv0sq9y622V542eX/7KIcpe3/iYo+XZ45CCSQ+CGR8QWO0Eh+071qUnoYWdQlA7DhAU8tLY6pzyKMEqANQiCEsGhzbahXiW2+9hby8PPz888/SMnpW4nTvjxuJlrESKEynCl43wr0Mn15Lq03vEMoDiIBb5vLaQulBD5ms/5D0I+4e/nvael5TV3WZ19T5dqKig5AkMiYC51LAdJQj8AoCYsbadwwPbyD+fgqHybk/8TDx8kZRowh7u68ERBuGEx8HIgdRmzNH8Q4EIlPoxfQUmeDCosUngOtH6XqD4nnZhF9kU24qKysL77//Pp555hlpVWbbgVNzf/6daVF97Vd6L91o0eleoU57Q3ZW4qiXJ9lQJwcXIk56CFBXGTrvFwFgZNhCEvkQpthNroVurabT8N6fO+j+3CHUKdYkBW6Mlqcv0F/kMVo6jWGCh2Fhpy6n7d7BQEgS9MEJGPXoTJw7n40LFy4gIiJCvGuxFzvvFavn/TmCTsPrNAe+6Dbt6Nyn1bYlnZdACDoVXYo0VFEeTVMLgJF3VHSQ/t/tLhIWD/1/1Nw7aqj4Rq+hGrhywFDmnizMMTnvz5Fp7zI8xlPRu40Sdiq6hw9V6apKyPMTEw9vIKwXnW/Q/wG3/J1CdIHdgIpz+PpfC/DrkaN4f84DiKg/C9wspGhEO8Ap0949vKmATl1GEgc3wT3Mc2s6LwdpV7k8jqZVrkFAbrzKDYoDbhZQ9/yud7jm+vJ3A2BkqIQuhZZzf44hRC7PGsL70gL26i/k8fuECn8OS/iEUiV41BCU3LiOf6x4F3feOgDPPTqSIkpFh8gwByfwsgl3GPHVAk7J/YUZFrDmOk0J4x6Gr0nnda9gWrR2lcvj8hqczIBbtSo9DZq6oQZNnSGMc36N4SYd6PxO61U5QGU25eHEeqDIuT/7EDKXZw1NY7R+omiDk/Vg8/4xH7V1Kqz8+r9QJCeb5bsN9ylAovmmuYPxwue7nYDoub/4++jv1pJOU2JI3/BxOi//Lm3rvKykXXh55pVsjXW03T+KigeaNHUWKtkSJlJj74I9zu20zhhV18VPpMIZsZG9P+twlpdnjk8okPiwocCFAXDew/LAgQNYu3YtXnvtNSQnG8Ltnn7kfXbqZ1bhnAOU/k69b7kK55AkWkwKVeHsBET1/ryDqU1i/m7rdJouRvrFLQI2WxZ7KrqoxS1N2iVD+NJEu5TEV6tZ68G5stM60zv/YSE13Z9UiluMvbyud4rv5ZnDWKveAWNM8A4qDQ0NGDhwIHQ6HTIyMuDnZ4WeUK+lSAon9THRtCYaZBMOalpbQoR7RRTdn1A6TScgbY+vtoiMXpQdOi8z3M7LM+lWwWnqGvluFd3vJkNnb7eKbiOB8gwKTYjUaV2r1VpeSbpihSx7f6a4ysszpwWjVlNTA09PT+h0OsE/p++88w4uXryIPXv2WGf0AIN2MJFeGG/oYpTLL0TLMmg//yg+LGprFyMnIor3p1ACiQ/QPNDC/fR/iSJdj0+ggapie3nGOOzxaeuB6jwjTV01bfcN50MrQuYYmgb43kVhCgH55JNPcPz4cSQlJWHJkiWCHtthpOD9udLjc7WXZwU7d+7EmjVr4OvrizVr1gh23IsXL2LAgAGYNGkSvvvuO2EOaty3tinHbtS3lovI+EbYl/sS+V4R3PvL/4mqdfv9VRidpghI1/AJoPNytpdns+FjevJquWR67VWQps4bCDaaUydmR/rLWygmP3CmYJ3W165di++//x5Lly7FnDlzMHv2bEyZMkWUsJXduFr35wrDJ5YuT2AYY9BoNCgtLcXbb7+N6OhoLFy4UJDjjhs3DqdPn0Z2dja6dBGp81PTpBJDWNR4UkmoUas/a0OBTrpXBNP9Nek0/YD+Lzh9rJQ1SGuZx9FQTTmo0B526bwkXbHZUM2HR6pzAZ2atgd0pZV3SJJzZ5AJ3Gm9sbERmzdvxty5c5GSkoIXXngB+/fvbzJ8KpUKAQES6OvX0So/nV2xaQN6vR6fffYZKioqMGbMGMTExCAxMRExMTGYPn061q1bB71eD6XSsRD5unXrcODAAXz++efiGT2AIjJhvXm9sbqSj+KUZ1HLRW42JRfJCezq/JmZZghW+cnpNC9+T56fq2RTrSCNO9+c/N0A9FT9Z+ODWHK5PJ2G+otyc8aMp06H9+GT4q6aOi1wp3UvLy+MHDkSFy5cwN13340HH3wQa9euBQC88sorCAwMxOuvvy7ElQtDe8/9SSWX1wpKpRJarRZLliyBv78/5s+fj06dOmHYsGH4+OOPsWzZMoeNXkVFBV566SUMHz4cM2bMEOjKrcQ3DPAdSrIivc4whd6w+C06SC8PX0P/UUN+0Fm6RjMEy/2F9aHGAc7WaVqJ9Axf5QWDzutum3RekvLy6or5FR6nqVN4AsFxhv6XPUx6BbqcyFvI6BXupZvVwU7rTzzxBLgIulKpRFRUFI4dO4bMzExs3LhRiCsWlvbq/UnYyzNn7ty5OHz4MO666y784x//wC+//IIrV65gy5YtgvTPfOWVV1BRUYH0M/0UkwAAIABJREFU9HSHjahDKD2o6CUolvLqWhVFfriwaMV52s83gg+LOlnqAQjg/SkU9Jk68xlV5vd+QjrPO0gtx6droDZJHt7AgBetDve53MtrrAOqczB64pOAth6/fPYUbffrzN+8wXGiVE4KhqqEOq1HDBS80/p9992H48ePY/Xq1Zg8ebKgxxYcZ+X+xMzbuEkuz5yDBw/i1VdfxZEjwra+OnLkCEaOHImXX34ZH3zwgaDHFhTGgPpSPudfkw8wLX3Pw5cqsUM47aDzjIhDub9rR2lB3WuqcO0JBUBahq9gDxW19PsLrYjawJkVmybotVSIws2pq7sOABg9ew3g6YdfdnxLBs+GeWCSoHAfdVpPflbQh/2WLVuwa9curF69WrBjio7YlZ9iGT43qNhsjS+++AKTJ09GeHg4FUK1ofNri8bGRgwePBjV1dU4d+4cAgMDBbxakdE3AjWFQO52qvjWN9J2bh4mN3fQS/zfye7KT6ajMVRaFVXnS6TrjXQMX10xkLGKckyJD7W5u1O9PMaAhgo+HFGdD+g1Bk1dTNNNOPqBaQAkPJ2hLYTqtK6poRWq0gNQeEirqMUWxPT+hDZ8burltYpOQw3W/TvbfYh3330Xr7zyCrZv346HHmr7uSJJuHul52ReMlGdS+85QF2tuL6iQd1FXejY5f3dvApkfUUdpQTutWwv0jB8TA9krabqp0Gp1I2kBZzm5WnVQE0eb+waqmi7T5hR+DLBRF8o+bFE1lB5CbiwDogZA8SMsv3nmZ5yZI0qtxpT0ipieH9CGj439/Ja5NpRWngMmEHG3Eby8vLQr18/3Hvvvdi6dasIF+gkLN0rTE+RpiYp1BUj7WCCkRSqk+BhUbu8v7ydwI3TwIDpVMHuYqTx6bhxmvRsSY+2avRE9fKYHqi7ZiRCvQKAAUpvqraKHmEQoUq/87hDONppvfQPKuhJfKh9PHwB6VZ+ukHFpkNEDqLQe+4OSn/Y0PGHMYbU1FR4eHjgk08+EfEiXYRCSXKIwG7UgEKrNp07WHWR9vMJNWp+kWB3IxBj7Kr87H43LdBydwL9n3d5f1PXP5k0N+mBEpxAhRUWEK1iU1PD5+mqcymODtDDo+tIMnSBMe3nAW4t9nZab6wDCtMpPxs5SNxrdDZSq/x0o4pNu/HyJ51pzjbSvkUNtfpHN2/ejB9//LHpmdHu8fQleVR4H/pabZSaKc8ASk4DUABBMQYJVZJBO2i/AbKp8tPTj6brXN4M3DhJYU8X4vpQ56VNVMI7cCbg13z6saBenr7RoKkzrIrqS2m7V6BZsti+XFS7CHVyFJ8gPWWPydZ3Wr+8lT5kA150KC8jeYTI/dkb6myPubzWYAw4/w3VAKSkAt5tF3JUV1ejb9++iIqKwsmTJ4WfOu5sHA2L63VUjMc1zqi7Rts9fOl5x+UHHRj5ZlXujzEg+1sKy6akurT4z7V3RNVlapcVM7qZ0RPEy2MMqC/hw5c1BVQerPAgeUHkIHrT/TpLSmMiCaKGAaVngIKf6G/UVnul6jyg7Ax5yu3Z6AHCeH/2rLQ7gpdnjkLBj9Eq3EMLsTZYsGABiouLsW3bNvc3ekKgNDzvguMo5NhYZzp3sOIc7ecXyfcVDYqzKZJhlffHvZdnPjfMYJwq8C9qPeJ7fCUlQFoacPYsUF0NhIQAAwcCz/wZuLaRHgADZ5p8gB3y8szf1MabtN2BN9Va2pXHB9DKMONLoPOQ1jut67X0YGI6YOAs9xZ924q93h/3sbNmwdXRvDxLXDlAeee+TxlE3ZY5efIkhg8fjlmzZuHTTz914gWKiJiaz2bOQb6h4YbBWHKRMBucgza9v6JD9H72fpIaZrRkI557DogUpn+wOeIZvpMngWXLgN276Wu1mv+enx+537clAm8sA8aQYNquis1W3XijOXUCTW5vjXZn+ADrOq1fPQhc/ZmKK0J7Ovf6pIJYur/2WrFpK/pGWlwBhoVy82YQWq0Wt956K4qLi3H+/HmEhIj/mXcKzmxozqWDuNoHO9NBrVZ+6rXULCMjF9iUA+zZS9vNbQRjwIQJwD//CQwbJuiv6bFo0aJFgh4RAFasAJ58EsjMBLRaegHA1q3Af/8LpKcDOblAYTmw8QcgPBxHGxsxYcIE7Ny5EzNmzMC2bdvQt29fy8dXVwBlmbRyyN9JidubVwDfUGoJ1n0cFWhE9KeVsQCVTNbg4eGBwYMHIyUlxSnncwpB3cnTqMkDIgc3D9HVlwOXN1HYr9udrrlGKeBjuPf0DeT9lWfSrER7exRqVVTNeGU/te7rM41yrW4y7VtwFB6UDik+AUBJldZmfPLJJ0hLS8N//vMfDB482PnXKBYKJT3HAkRsrN10Lg+aBhPagxZwkbcYUhd6ci7KzgLXj1JryYZqujavwGb3ZUBAAKZMmYL+/ftj/fr1+Pjjj6FUKjFixAgoPTyB7/YCc94HzmUD3t7AqlXAmjXAnDmAlxfw889kNy5cANatA8LDBTV+wnt8K1YA8+YBKpXp9ocfBrZto/+PHg0cPNj0LY2nJ+ZotfgxNtayl6drMJ1T11BJ25tKdTlNnXQn/ro1Feep03rseNNO64wB2WtJipKSKs70aXekyfurAgb9je5TW3LIjNGcxJsFHdvLs8TlzUD5uWbFcFevXkXfvn1x5513YteuXdIZf9WeaEvy1TR30FQCZe79bZ8wAd2WL+dtxBdfANOnA+fOkYHr0gWYNg1Yv54/iL8/8MEHwMyZgvwqwhq+kyfJqJkbvYAA4Px5gCsrNjN8ANDg6Qntvn0IGDXKpeJMGQswBlz8jhYfKbN5L6bsLM3zi7+fVocyPDoNyWXsuUcZA8Cof6ozVvnuhKYWOPMp/V36PtP0t500aRJ++uknZGVlISGhuTcoIwI2NvnYtGkTvpg+HVurqtAUKPX3B8rLgbIyICEB6N2bIoWHDwN33WV6Pn9/shtDrZe1tISwy8hly4D6+ubbly4FunUDMjKAAZZL4310Ovi8/ybQdWbzdjzRI5zSjkemBSx1WtepqbdqQFeb9FUdBg9vi/IcY9RqNfbu3Ys9e/Zg0qRJuPvuu+kbCgU15JeNXnO8A4HYcZT3LDsDRA7Cjh07sHXrVixbtkw2es7E0xcI70svxigFVW0wgqVngBun+LaOoT3w2H2348Hbb4cXV/cBAIMGAb6+5DRptUBWFlBZScaN69XKUV9PNmbzZscv3eEjcJSUUCGLuQM5eDAweza5s76+LRo+MAakHwIKRgLxKYZOA4lW6XZknIBPKMlOCtOByvOGilkV0OfPHTfv5CDV1dXIyspCz549sWTJEpw6dQrz58+nb8qRjJbpPNggtdmLOu8YpKamol+/fnj55ZddfWUdF4UC8OtEry63Nm/kf+UAcGYHfPanm/5cV0P7sooKfltFBZCURGHP8nJ+O2PAjz8CpaUOV3sK98RKS7NwdCUZvIoKqsxp82o8gd8DgB6TqIuLbPSkRZfbqJw+11BQ1GV4xyurF5CoqCjMnz8ff//737F9+3ZcuHAB9ZYiJjKmKJQkr9Gpkfnjv1BYWIhVq1bBy0vCY78EoKGhwdWXYD1KT5L1xI6jXqtD/gGc0DZfJPsaCg8bG/ltXDGkn4WaDYXCsq2xEeE8vrNnTctRAeD//g8YMgR4+mmgqqrtY6jVwOFtwP3iaDcEIfZuq0YmWUSnobFL1bnCXpMzYTCEoRVU1MKVWss0p8+fAY/WH8ZKpRJnzpzBV199hcLCQvhxH3bGKKxcX+KEC3VPSmr0GJ7ghXf/9iDuCL0IZF109SXZT9+nm+aP7tixA6mpqfDy8sLSpUvx+OOPAwAmTJiAAwcONP9ZvQ64sJ68LCnzv+NAg8Z0G2czPIxmr3ILGEuLwPp6Spk5iHCGr7q6+bZHDANN16yhF8cvvwCLFgGLFzf/mRpV820y0kHPrToZaX4kMl9LklgIATPG8PPPP+Prr7+Gr68vLl++DD8/PwwbNgybzXMXXv6A7ABaRK/X4/HXvsM3r92Pl/40zOG5fVJi6dKl+P3338EYw5QpU6BWq/HMM8/A1d0lHeamhZu5uJj+DQvjt4WFUYGkcZjTmMpKhy9FOMNnSSz666+mnt7gwUBsLG3PzrZ8nKhYKp5wkvbOUcaMGdMsBMEYg0KhwNGjR0139vCmUT/2jPuRAupKmtcX0gNQFdODPfkZOcdnAyqVCl9//TU2b96MgwcP4pZbbgFjrClMp9Fo4O3tTQ/x7mNcfLXS5YuVK/HLyYu4rJ2LWEUxTRVpJzpSb29vhIeHAwC2b9+OsWPHIjY2tmWJhtKDOtpIEeMK/SALocszZyjMOXw44OkJ9OxJhu/QoZaPaWwk7UQ4wzdwIFXbGIc7Fy403efrr4FnnwUWLGgmZwAA+HgCkfXA6feaKoEQkkR5JIk+XN955x1Mnz4dW7dubd99ARkD8n+k/yc+QBoeiXRadycCAgKwdu1a3HnnnXjjjTcwadIkPP/8802LJVl/1jbFxcV45ZVXMHbsWIyZNAO4tIG6B3XqR+JrNyc+Ph4vvfQSlixZgqCgIGzZsgX33nsvqqxJF0kBTY3lgbk9ogFfb0BtFO68eRP47jtKh505QwUtALBypeVj+/m1XCBpA8Lp+EpKgLi45nk+YzjDZ0HHB4ASnVm/Ap6V9Eeru07bPf3IAHICSRd29bbE+++/jx49euDRRx919aWIR/k5esDE3UPyEgl1WpcsbYTfLly4gPfeew8ffvghQkPNOry0o9Cd0Dz55JPYvHkzzp49i969e9OD9synQGB3Q5Wxe//dtFotvv32W0ydOhX+/jSf9MaNG1i2bBk++ugjF1+dBfSNQE0hL2VQGfLSXgFGswATgco6IC62eZ4vIAD47DNg8mQKcX70EckWLOHrCxQWOlzVKayAfdIk6s5izyEVCmDi3cAOo3LXxjpexF6dAzTW0na/zkYCyTiLfftkBESrJg2fVwBNUFYYEtHqCuq0HtbLpZ3WJUlFNq124yfYJ2BXFQOlv7tu3p9E2bt3L+6991688cYbMOm2eP04TRLp8Ri1KpQRD8aohyf3bL6ZT4U1Cg8q/AtNonSIf2c+UtdQBeT+AMxcBhy6YL+NePRRQXR8zuncYg2+3sDnzwB3jAcS7m/eBJUxQHXDsKrgRgzpAIUnGT/uj+0X6bIVH1eK7mepDNedyd9NPRL7P08haGPMO613dMwnKfR63Pbwm14PFP7k2Ly/dkh9fT0GDBgApVKJs2fPwtfXqA6A6YHML2mwdcrs9tW+UG8o9XflAl+rooUc54Roami7b4SRExLffJHGGA0RLtxD/6+IASbPss9GCNi5xXm9OlvD3x94/z3g4QHA1V9oskLCRIrZt4ROww+Vrb4M1JfRdu8gQ1iU6yLu79CvYwtTpkwBAGzcuNFp5xSd2mv0QIkaSu+JOVyndb22440kMkfoSQpiTXxwUxYuXIi33noL+/fvx9ixY5vv0Na96q5c2ED/9nZiVIXpSK5UxU29KaLt3PBaLu3UWhN2zsurziWjmPgwNVxfsQKaOXPgbazdawtJ9+rk4IxffX2rLq0OgM7LC94ff8z/QqobQM42yu+F97Ps/VmiocooLJpLLbUAaqnFFckExjRpZcSg3Y0lMllFp7ZcaVuTT8NYu95Bjaw7GvbMy7M2hyfEtPd2wPnz55GSkoLHH38ca9eubXnH1qIT7oqzxhKpK/lBADV5NBwACiCwm9EztCuf6mgJcy8v9h4gakhT2PPSpUv4uG9ffAjAR69vPeypUFBBi4BGDxBzHt+pU5Sg/PFHunhjMaJh1tJvERGYU1yMtMxMSlJz6HXA9SPWe3/mMD2tVpqaXF8FwEhzZtLkWtgKsHZn+GzJm+Rsowf/gBn08O8o2OvlqUooTO9n5T3Ygb0/xhhGjx6NjIwMZGdno3Pnzi3v3FI+2p0Ry/DpGui+4ppMqw1tw7xD+GdkSKJtYeOWvDwDjDHcc889+O2335Dz/feI+PLLVm0E7r+fun4JEN40Rrz6+6FDKQlZWkotZjIySHgYFkblqM8+izi9Htl9+uDFF1/EgQMH+FJupQfQ7S4grDc9UC9tpKpCa70/hZIaWgd1p/6S2nq+i3jVZaDSoCH0DeerRUMSZDG2MZoa4OoB+ttYs+iIHU8zunJ30gdUovITwTD38vpMs619W94u+tfah1lwPI3i4by/yksdxvtLS0vDoUOH8OWXX7Zu9ACKSsRPoArk4hNUgSxDMD0VTTWNFSo0mnoTD0TdahgrFGFfQZaxlxc/0cTL4/juu++wb98+fPrpp4i47z7gvvtatRHuN4HdSlatWoUXX3wR33zzDZ5++unmOzjq/ZnDGKAuN3Lp8yl5rFBSOTRXJBPQxeaHd7vy+C5+Tw/XlFnWe8YlvwO524GEB+mmb68IkctzZBXfgby/srIy9OnTB3369MGhQ4egVFrxmWQMuPAdLXaNx2i5K47cK5qbfEFgdS5VygO0WAvpQc+7oFjHctFteHkclZWV6NOnD+Li4nDs2DF4eLjOG3e54dPr9Rg5ciQuXbqE7OxsdOrUyfKO9ub+2rwALYmxqw1JXJWhhY6nP5/ADUmyashquzF8lRep91/3seR5WwtjlOtT3QAGpdJk5vaEPbm8lnA0fNVBcn/PPfccvv32W/zxxx/o18+GBW9DFYU8QxKpE5Q7Y8u9oteSJ8dNRVDdoO2e/vyiPiRRmKHRbeTyzHnxxRfx5Zdf4tSpU7jlllscP78DuLzViFKpxMqVKzF48GDMnz8fX331leUd/aOAfs/z3l9NnuPeH0ArnZAEesWOp0GXTSukHKA8gz8/ZwiDYtuvdlCnoTCcX6TtYSKFgrq6nF0BFOylKRvtBWMvr9so109F9/CmGYnhyeT9nUtrd97f/2/vvMOjKNc2fu+mdwgkgRSTUCQJIRQBBSJViAUUKZZz8ANrEDig4BHbAQWPqAhHxSAoKkWKBQEpEgKE0LtAOiGkkVACpLfN7s73x7OzuwmbZMvM7Gwyv+vaKzqZnZkls/O891OTkpKwdu1avPPOO6YZPaDhGK27GYB3GC/XaHUYBqi9rXNf6nuwPO4DgkZRYoqrH7fhByNVHsuJEyewevVqvPnmm1Y3eoAIDB8AREVFYe7cuVi6dCmmTp2Khx9uoueepbE/Y3B0B3x604tR04qJDf7eOAlcP04PPI8QMoLtupnnExcr15IARRkQ8aJ5D3YXH8A/mgwoo7b9WJ+lsTy+aaWxP7aF26BBg/Cfxq0PjaXTQzSsNndP64rhK2vI4LDJewrNgADnDoBPX3oueYbw83mNjOXpU19fj9jYWAQGBmLRokXcX5MZWN3VyVJVVYWePXvCzc0Nf//9NzXqbQ6uY3/GoFLQiop1i9Zquoc7egJeXbHwy59x7koJdv21n9/r4Ivqm0DyaqBjb3p4mgvDTm4w/DdkH2qih+u6PH34yNRrZbE/hUIBuVxuWQ/cigIg9Qeg8yAgOIa7ixOS1J8oA7N9DzJ2lYVomKWuKTVoRnFxgokqj2Xp0qV4++23sW3bNoxnJ/ZYGdEYPgDYtWsXxo0bh08++QTvGjO4FuAv9mcMbN0LGzhW1UGlZmDnGagLHLsH2EZKNaMGUn+klObes3gp/C8vL4e9vT1UKhU8PDiIMfAFl7G8puAtRb1txP5M4upOUim9XhOXWm+OulKdp+luBmgQJuh5wva/FOrZYmIsT5+8vDxERETgkUcewY4dO/i/ViMRleEDgIkTJ2LPnj1ITU1Fly5djHuTNdRfYxgVZk59GgPu98a08dENV2VspwMhVmXmcvMsqZuu4wGfPrycYteuXVi/fj2cnZ2xXn8+o5jgU+Xpw3dRcitTfxahrKEm1o7tgMiXxel+13qTNNnm+t4kRk1lGj1foiQVITFT5QHk2XnyySeRmJiItLQ03HefmQO8eUB0hu/atWsIDw/HkCFD8Ndff5nmErOm+kOjrE5lNVCWo7uRtb3tOuiyqzyDxRF3UFTSg8GtExA+lZd4JcMwUCgUKC4uxieffILOnTubH7vhAyFUnj5CdOOwAfWXkJAAhUKBJ57gucXY7UvAlT8oIajTQH7PZQxsI3Jto+d8ahOmnz/g1ZVi5mlr6T18d25pfH1mqjyWP/74AxMnTsQXX3yBefPm8XixpmP3YYMW59bH09MTbm5uiIuLQ3h4OCIjTei07uBOwV25PXDrLNWVObWjLuECsHbtWgDAtGnTKOvT1Zf88p0eos4nzh0AVQ1wN52C7tePU3aqohKwcyAjbY3YV85O+hKG/YOzhYJarcY333yDvXv3Qi6XQ61Ww8fHB56envD398eZM2fwyCOPiCPWdzcDyNhI/QgDhgLdngacDAxW5pLiC/TTl8cMN7kd0K47GbuSTErOUlYDHsG8tu4zhRMnTmDu3LnIyclBVFQUPD15Gm/l4ksjtG5fJI+GNRac9ZXUPKPoGJC7G7h+gpSUnSPQMYqyUEOfoHvCI0j3PBDiXtGnrpQSB2+cousIe4EMsQnf1YqKCowdOxZdunTBjz/+aFz9pYCIIquzMbNmzcKGDRvwxhtvICYm5t5ZZc0hROanqchktHJz8QE6P0SJHxUFulqbgv30YudXsS9HAergSrOB28n0b+bCXZcEuVwOpVKJxYsXw9XVFfPnz0eHDh0wYMAAfPXVV1iyZIn1vwxiz9jkChFnfjo4OOCBBx5AUFAQJk+ejClTpmDGjBncn0gmI6NycSX9ze+fzP05GqOtEdZ4fRrUCHfRJKV0Ec8sSzMyNpviP//5D4qKirB161ZRDugWnauT5dy5cxg4cCCmT5+OuLg48w4icOzP7AJ2trsCW4vDTix27aRzeVjaXcEQ6nqquQPowchDbeKECRMwf/58PPjggzh06BAKCgoQFBSk/beyGkLF8ppCqMbDjRFZ7C8nJwdJSUmYNm0akpKSEBcXh9LSUnz66afo168f9ye8lgRcS6RFTrvu3B67QVeobPLmcNEVSoh7xYJYXmM4eXbzjGgNHwDMmTMHK1aswMmTJzFwoAV+eYFif5x0btHvp1d6hdwz+v302Iwu5w6Wu0ULDtI8vfAX6Lg8kJSUhPfeew/Hjh3j5fgmI3QsrymsZfgA0cX+VCqVtn1VVVUVVq5cicjISDz22GPcn0ytpMUeo+JmjJayFijXm1NXV0rbndrrygw8Q5qebGIMfN4rHMTy9FGpVHjwwQdRWFiIjIwMeHnxHDIwE1EbvvLycoSHh8PX1xdnzpyxTDILoP54aVmm7aCucYve00G9GxXnmjp4s6aYHgAdegLdJnJ3vQb47rvvMHHiRHh7e1s3pmdtlaePNQ0fi8jUn2CU5QDp66jRwn2PmPZeRk1z/9haXu3kF0eqqWPLmLic/MLXvcKhymP5+uuvMWfOHGzZsgXPPvssN9fJA6I2fACwdetWTJo0CcuWLcPcuXMtPyCP6k+QXp21JbovXZMzswKaX7Hp99TsPUuYWCKLWkU/hUyuEIvK00cMhg+wuvqrr69HXV0d3N0F7ut6ZRu1I+w1veXkt7oyXZzunlmfmsUnn7M+ub5XOFZ5LIWFhQgPD8fgwYNNz8gXGNEbPoZhMG7cOBw6dIi7WhCe1J/gTarVKlpxsjGFxlOS2fhg4+70xRfI+IeOpWnVQlJ9C7j8K2WQcjwP0SBiUnn6iMXwsVhB/TEMg6effhq9e/fGwoULhU12qq+iEh4XHyBiWsOHvkoBVOTpCshrbtN2B4+Gc+qESpbj8l7hQeWxTJo0Cbt37zatBttKiOAJ0DwymQzffPMNIiIiMHv2bGzfvt3yg4ox89Mc5HZUC+gZTJMU6qt1PfzKrgB302g/5466lamLDzWQdg8CfHlIHmgJOyeqaczZQwkGfK0K20rGJldYIfNz27Zt2LFjBx5++GHhM3wd3Kgp/dU/qezJPUDXhak8j2KAMnv6bvn209TU+dpuT14OMzYNsXv3bmzduhX//e9/RW/0ABtQfCyff/455s+fj+3bt+OppyzoI9kYDtWfqMYSMQzF8bRzB/MARglABoCh2kKfPpqu7QJ/mdnJ7t0nAR1MqNM0FrGqPH3Epvj0EUD9VVRUIDw8HB07dsTZs2eFT3mvryJFlxcPKKt021189JJSgsUxhcXSe4VHlQeY0WdZBIjsadA0b775Jn7++Wf861//wqhRo7iLCbQW9dcYmYxiF66+1KBXXQ/cOAPk76M6ohsn6eXgrjd3sIswM/Q6DdR0zd9LKtSSjDd9JJXHDQKoP8HrvNRKCguw7suq67TdzgkUIw+khRjfjQuEhGeVx7Jo0SLk5eXh8OHDNmH0ABsyfA4ODli1ahWGDBmChQsXYtmyZdyegK95f6JBBhSfp2zQ3jMpQM+mYJdeJkMEkKFgC+g9gvhRSjI5xRdT1gAFB+jf2VLENi/P1uFx3t/58+exYsUKTJ8+HQ8++CA312uI2ju6e7wsB1ArAMjovg4cQcrOrTPV9RUeoYzp1mL4eFZ5LMnJyVi+fDleeumlpsfJiRCbcXWyxMbG4ocffsDZs2fRpw8/zZTNzfwUlauzMYWHqW6vxz+A9vc3/B2jps/KukUrr2lqBx0BrxCNIexGyShcukVz95CiiHyFVtzmIMaMTWMQs6uzMRxmfqpUKjz00EO4du0a0tPTTevK1BLKWlqwamvqSmi7UztdmYFn6L0eBnU9dXSRyTWNHES2YDLlXuEpY9MQarUa0dHRyMrKQkZGBjp06MD5OfhCZH/hlvn000+xfft2xMbG4vjx49rCV05pbeqv9i5w7TDgHX6v0QM0nSUC6BUwVPMAydWVTZRcpv2c2ukK6A09QEwlcCRwJx24ugvo9arpI1YklScMHKq/lStX4uzZs9i8ebPlRo9dsLE1ro0XbJ0HkbFzamHBJneg73fGz0DRUeqZaYsIpPJY1qxZgxMnTmDt2rWvRTFGAAAgAElEQVQ2ZfQAG1R8ALBx40ZMmTIFcXFx/PT108cE9SdKxccw9IWuLNDU7JnRF7D2ru7h0sBlpDd30M3fvFXlnVSKqwbH0IPKGGxV5eljS4pPHwvUH1vnNWjQIOzdu9e8Oi9FuS5OV3aVRg4BOhd9O7amzowFUNbv1EA+agbgIqIHeUv3ioAqj+XmzZsICwtDnz59cPDgQVHX7BnCJg0fwzAYM2YMTp8+jYyMDHTuzPNDz8jMT1EavtspwJXfgeBHqUG2pahVZERZd1JVEW23dwE89WsHjYyVMAyQuYkUZu9ZLb/PFjI2jcFWDR+LGZmfkydPxq5du5CSkoKuXY1skaeup4xk1g1fU0zbGyRldeUmEU1RoRnP5Q+E/594Sheau1cEVnksU6ZMwa+//opLly4hLCyM9/NxjQ0+Mai2b+XKlejVqxfefPNNbNmyhd8T2mrmp7KGygbcOnM3g0xuR18wzxAAoygtnK0dLL0C3E2l/Vx89NyizaSFy2TkRrsUB+T+BfR4ronPImVsigoTMz/37NmD33//HR9//HHzRk9bhsN2J9KU4cg0Nas+fei+4qMMx9GDDHjuburq0jGK2+NziUAZm4bYv38/Nm7ciP/85z82afQAG1V8LIsWLcLChQvx119/4dFHHxXmpM2oP9EpvpzdNFk98lXA3Z//8zEMUHNL5xbVFgJrHlqsW9RQIXDhUXqI3v8c4N3oy9RaVJ4+tq749GlB/VVXV6Nnz55wcXHBhQsX7k151zZe0Nw3igra7tJR04tWU1MnRB9RRg2k/kBKqvcs03vg8kHje8VKKg8AamtrERUVBYZhkJycDGdnjkqRBMamnx7z58/Hpk2bMGPGDKSkpMDV1ZX/kzan/sRExTXg5hmg04PCGD1AUzvoRy//IY1aP2VTDWE+DLd+6jyI1FzuHmq6beckqTxboQX1t2jRIuTm5iIpKYmMXoNWe1d07vKWWu0JgUwOhI4DklcD+fuBLuOEv4amsKLKY1myZAmysrKQkJBgs0YPsHHFBwCJiYkYOXIk3n33XXzyySfCnryR+lu49gySUoqtr/gYFZD8Ha2ke8/krkDcUrTNfjWGsHGzXwcPMnydB9GU8Nam8vRpTYpPn0bqL7XCH336DcAL/3gGP372hsYToN9cPVBn6Fpqri4kefE0Ib3nSzQL05qk/kTuXjsnq6g8lszMTERFRWHSpEnYuHGjoOfmGps3fAAwdepUbNq0CRcuXEDPnlYoOdDL/Dx48RZGvrTUurG/ouOkrro/A3SIsN51NAejppU+m6FXoRnvIpPT7wCaOdh9UutUea3V8AGk9PPigVvnUFhcideX7sKP7z2Jju1cNeO09GvqROBKNISqDrgYRyq0V6yw00T0YRhKuKm9Sws/ATI2DV8Gg5EjR+LChQvIyMiAn5+foOfnmlZh+IqLixEWFoaIiAgkJSUJ3/AWANQqrFn8IqaOCoGDs7v16v7qSukL6xlCxepiyUxrCWUtxflunNT0FNXg1F7XYNvSgZ5iorUZPkYNVN3Qm1NXgJ1H0hER4oOugd6k4IMf1Uwft5F78m4GcHkLxSwDooU/v34sz86JRigJrPJY1q9fj6lTp2L16tV47bXXrHINXNIqDB8A/Pjjj3j55ZexZs0avPzyy1a5huHDhyPUzw0/ffAk79PemyRzM31RomZY7UtiMo1jee0jgMJEKphWK8k1pq7XFNoH6poIu3UWj2vMVFqD4VNUNJxTp6ym7a6dcEvpjbBRr2Fg/77467t/Q3ZTHNPeTSZzCxnzqJnCfZ8ax/IcPCjj1Er3yp07dxAWFob7778fR44csY6w4JhWEzR58cUXsX79emRnZ4NhGKsVVObcrLJe15e76UBJJo1bsRWjZ6j7iswOqNTUbrGZdRUFurExBQfpZe+i6yvarqt5xfkSxqOuByryde7p6lu03cFNtxjx6go4umPeCy+gsqoaX674FrLQMHK5c9zzUxBCHiMPSu4eYTwohjI2szkYxWYBRUVFcHNzw6pVq1qF0QNakeGTyWSIj49HfX299bsIWKPuT1VHdXCuvjRySOy0lLEZ8gRwaaVmfNFkyvT0CgXwCFBfSQ8GNknmTgq9x8VXzy16n0kjZVJTUxEcHCz8JHAxwzBA7W1SdKXZQEUuKXCZnBI+gh6hf29XvwbKe//+/fj555/xwQcf6Oq8rDDvjxOcvICgERSzvJvG3wJWBBmbTdGjRw9kZmbCycnJ2pfCGa3G1dkSJSUlcHZ2hosLf8F0g3V8PE17v4fcvRQf6/kydZ8XM8bW5V07RK+wKaQoDMEwlFzEutwq8hsOEWWViIuPwdW6Wq3Gpk2bsHbtWtTV1cHPzw/ffvstfHx8OP3I9yCgq7OwsBA7duxAZmYmXnjhBfTv37/pnZXV1JaOrcVUlNN25w56c+pCmlRr+nVely5dMvx9s8K0d4tgVEDy99SsgY8s6Zbq8lqDW1xktBrF1xzZ2dnYsGEDsrKy8NRTT+GZZ54R7uRCqL+q68CNU4DvA+I2eqbW5flHA7eTqRC/9wzDCk4mo4QJt0662sHyXF3ZRF487efoSQ9tv/6avqJkBJVKJTw9PfHhhx8iOjoaCxYswObNmzF79mzuP78VUKvVmDlzJrp3747o6Gj885//xIEDBxAYqDcNQ1VPzZnLrgCVRQAYSqbw6gJ4DdM0ejaupk6/zqvJRaatqT+ZHdXzpXwPXDtInYa4QMQqr7XTJgxf165dtQbv1q1bGDJkCPz9/YV1ifI18YFRA1d3Ag6uwH2PcHKpvGDOJAW5Pc3tS19H0yXuG9XyeewcaQIFO4WirlRnBO+m07+33t/d0dERTz75pPb/09LSEBUl4lZVJnLu3Dl07doVH330EVxdXbFu3TocPXoUzz2n1xpOJqNmB87etEhrx9bUmZbCn5mZiU8//RT/+Mc/8MgjLdyLPM774wX3AMBvIBnqjr3p/y3Bit1XmiIhIQEKhQJPPMHBfEyR0+oN3+3bt/H1119j//79eOONNzBz5kzrXQwf6u/mWaqH6zZBnDVRlnZf8QqlB831Y0DHXhTDNAWndqSEfR8glxUML3ZSU1Px/vvvIyAgALGxsaadQ8RERUWhV69ecHZ2RlpaGgAYGP4qA/rO0UwjNw+GYTB9+nS4urpi+fLlxr/RltRf0EiK8+XsohmSpo7RAkSt8m7evIn33nsP48ePx/z58xEQYKFxFzGt2vBt2bIF69atg6+vLzZv3ozg4GBrXxLBlfpTlNMEc68uQIdevFyqRXA1Ly94DE2Jz9kFREwz/yFh4EGVlpaGLVu24OTJk3jxxRcxbty4hgkuDGM7dWcsjBqADJDJtAkJarUay5cvx+jRoxEaGtpwf7kdAMsKtDds2IBDhw5h1apVphc324r6s3emLM+s34AbZ0yfdiJClaePg4MDHnjgAQQFBWHy5MmYMmUK/2PfrESrNnx//vknpk6d2tCtIxa4UH+58ZRlF/qEuB7OXPfYdHCjEo2rfwLFFwDffpxcZkpKCsaNGwc/Pz9s27ZNO95KWw7DMPQZiv/WlUy4dhLF6vweFJWaco8rlIRx/7MNFNyJEyfQrl07zJkzB7W1taitreVs+vmdO3cwb948DBo0CK+++qr5B7IF9ecdQUk+BQdpsLMx47dErPL0GThwIGpqajBt2jQMHDgQcXFx2L59Oz799FP068fNd04stOqsTqHr+cyezmBO5mdpFpCxEQgcAQQOM+dy+YGvSQqMmpRATTHV9nGQGFRdXY2EhAQcPHgQWVlZKC8vx6pVqxAZGak75+1k4PpxyhwFAHvXhnPgHD3MO7mlmXpqpV5NXTZQfaPh9XUd36DN1oABA+Du7o5u3brh1KlT+PDDDzFhwgTzzt2IV155BWvXrsX58+e5i4+KOfOztoTGaLXrTguM5uBC5QmY1alSqWBnR/dNVVUVVq5cicjISDz22GO8n1tIWrXhExqLxxIZO+1dpaAaN5kdrZDF0LxZiKno1beA5FXk1u32NLfHBpCeno7Q0FDDXecVFbrROaXZel1K/HRzBz3uM/5vYerDjGGA2jt6I59y9brZBOn6XxpQpLdv38bMmTPRq1cvjB492kCMz3yOHDmCoUOH4t///jc+//xzzo4LwKJp77xTeITCDD2eJ69NY7icii6VM3BOmzF89fX1kMvl2tUMH3Ayj88Y9Ze/n9LPw6dqirqtjJDz8sTw2Rk1LVJYI1SRT9vk9vRgZucOOnds2gVtzMNMWUM1dayxVZTRdmdvvSG/IRYlpViCQqFA3759UVVVhdTUVLi58dScQYzqT62iRZhKQbV9+tfDdSxPAMPHMAxqamqEGe0mAkQgFfiHYRicPXsWH330EXbu3AkHB+M7eghOS7G/6lvkeuvY2/pGzxrz8gKGUqeWnF3WU7syOX1Ot85k5FV1DWsHS/cCedBMItCbO9hS1i2jBioLdcX4lYXQ1tR5hlKjZK9uokmIWLZsGdLS0rBz507+jB4gztifXFPbl/ojLVKDx9hMLM8QX331FW7evInFixfD3r71m4XW/wlB7cxu3bqF+Ph4LF++HPPnz7f2JbWMoczPkMeBm6fpQRg8xrrXx1XGpqnYOZIKzthIyi9wOP/nbAk7J1qosC6v2hJdX9E7qfQwhIxqv9j4IJstql9nWHZVb0ZhAP2benWlxtzWGovTBFevXsWiRYswYcIEjB07lv8TijHz0+M+SrS6foIWoddPiDZjszny8/PxwQcfYPjw4bx6xMREm3F1AsD48eOxb98+pKam3pvSzQGcuDoNoR/7A4DgGBrWag2EiOUZQ9ZvZHyjZgAuHYQ/v7EwKlJubGNntjMKAKop1Py3owepOe1UevG6nBiGweOPP46jR48iPT29YRcYIRBT7K++Gvj7S0281Y6+m1yrPJ5dnexzMS0tDSEhIbycQ2yIX4NzyIoVKyCXyzFr1izYlL139QN6PEf9JwEKrN9JFf467mYAF1eSqzFgGBD5qvWGxAY/SgozZxepJ9EiB+SOgJ0D/WxQQK933ew+do7iSFZqht9++w179+7Fxx9/LLzRA3TqL2Ia/X/aWpqeoFIIex11pcCV3wG1AgBDCr3TAJtwbbLs2LEDO3bswIcffthmjB7QxhQfACxfvhzz5s3Db7/9hkmTJnF6bN4UHwBc+YMMTvfJQOFhYef9iUXlNebGaXrgdZsAdBRRmzHt9AjNnLr6StquPz2iMInsXtdxBqYf2JEbTVs76Ceah2lZWRnCwsLg7++P06dPW981Zg311ziWFzQaKEmj72TvWeaXuDQFT4qvsrISERERaNeuHc6dOyfu3AeOEffSkgdmz56NDRs2YM6cORgzZgw8PW1ghlvZVTI6/g9T0Wy7+4Wb92etWJ4x+PUHii9SI+p23a3Xsk2tbDgvkHVJNzcvsPAwiT8XH3p1HtRo3l02PdAL9tPChj2OZt6dtXj//fdx69Yt7Ny50/pGDxA+9tdUxma7LsClb+le7M7tgpovFi5ciIKCAmzZsqVNGT2gDRo+e3t7rF69Gg899BA++OADfP3119a+pOZRK2k6gVN7IHAobRNi4oM1MjZNRSYHuowFkr+jMocu44Q5L8MAtXd1ZQaNJ8QHjTRvQrzcQWfcgIYTzkuv0N8CoFo9Vjl6BAm2EDl9+jRWrlyJWbNmNT/ayBrwnfnZUsamS0eaJlKYBPj0aXqMlki4cOECvvrqK8TGxmLw4MHWvhzBaXOuTpZZs2Zh5cqVOH36NGdfYl5cnS3NpONj3p+QdXlckBdPGXU9XyIXIR8oa8nAsbV7daW03am93vDbEONntZlcwK4Gqm7ojG1lgaZ20IHOy87Kc+7AS/s6pVKJAQMG4NatW0hPTxe3p4Truj9j6/LU9aT6GKbpMVrmwLGrU6VSYfDgwcjNzUVGRgbat7eN7FMuEfHTjF/++9//4o8//kBsbCxOnTolztqVmtuUyNIhsukVJJfqT1lDU9zFrPIMETickn2u7gJ6xXKT+s+oaeoFm41ZcQ0AQ0koXqFA58H0N3H2tvxcxiCTA+7+9AoYSrWDZTk692puFu3n6KXr4uIZypn79+uvv8aFCxfw+++/i9voAdypP1Pr8uQOmjFa6+l7GzTS0k/CC6tXr8bp06excePGNmn0gDas+ADg119/xbPPPosvv/wSc+bMsfh4nCo+hqEvUFWR8QFzS9Qfo6YVa+YWUk1iV3mNuZsBXN5CMwn9o807Rl2Zrqau/CotBAAaXMvG6dyDuDGsXCcs1N7VxQbLr2oyHGXkemWL6N0DzEqSyc/PR0REBIYPH46dO3cKO8fSUspzgZy/gC5P0N+x0T3dZD9fS7qvsIloUa9T/NZSOLxXrl+/jrCwMAwcOBD79u2zrb8lh7Rpw8d1PRKnhq/4IpC9jVaZnQaY9l627k9ZQ0az0Ze9trYW+/btQ3x8PCZMmIBRo/QGvNriGB6WzM304I+aadxDSl1PD0bWYNQU03YHd53r0KsLP1mzfNZmqVVA5TVdfLCqiLbbOdPnYT+bMZMF0ArqvNQq+qm3YFEoFHj77bfh4+OD/v37IyYmpuH+RUeAomPm9disrwQufENek4hpln+fOLxXnnvuOWzfvh0pKSno1k3ccUg+saElPffIZDLExcWhZ8+emDNnDrZu3WrtSyKU1RS3cg+gL52psF1f6ithaPBqWVkZUlNT0b17dyxevBhnz57VdbOxVaMHUHbfxW+oxKHHP+79LAwD1NzSuS/L86jAXGYHeAYDPn1JHbn42va/g1zzeTyDyd1WX9Ww5+ddGkgLl466onnPYINxMLbO67PPPrNNowfco9Bzc3Mxa9YsPPDAA+jZsycmTpyIwsJCeHl56fb3j6b7wcjFQQMc3IHg0cDVnZoxWn05+BCWEx8fj19++QWLFi1q00YPaOOKj2XJkiV47733sHPnTovaL3Gm+K7+Cdz6m+JVbp0sO1YTqNVqyOVylJWV4c0330RcXBxcXEQ4wd1Urh8H8vYB3Z8BOkRoHvpXdS7M+graz8Wn4VQFodteWavjPsOQstVmpOYBjFJn/NmsUlc/VFZVtco6r+TkZCxevBi//vorAOCFF17AnDlzGia5Wer5YNRA2k8Up7d0jBYH90p1dTUiIyPh6OiIixcvagcUt1XatOJjmTdvHn7++WfMnDkTI0aM4LfhbktU5FNAvfMg3oweAMjlcly8eBFr1qxBfn5+6zB6AOA7ALh5lly9hYd1c+rsnBvO0TNnJd8akMkAV196dR6scffm6dyi+QkAEgAHd6RnlSA63AtvLPy61Rg9AHB2dsaUKVOgVqvBMAzy8vLQsWPHhjtZqvhlciB0HE1wyE+gpg9W5OOPP0ZOTg4SExPbvNEDJMMHAHB0dMTq1avx8MMP46OPPuJ+rpixqFWUmejoyXnzZYZhkJiYiJ9++gnOzs64cuUKXFxcMGDAAPG4eM2l9q7enLocXeuq+koa1NuuKyU2iKT7iaiQO2iyQLtRn0lFOVCajZLcs+jS/hY2fTQRwCEgOVOnkN0DbSvxqRHdu3dH9+7dwTAMjh07Bnd3d4SEhKCoqAiurq6cTabXLi6KjlJtn5X6iaampmLp0qWYOnWq1ivV1rHdu5djoqOj8fLLL2P58uWYMmUKd5OkTeH6CYpB3f8c5zPWqqur8dNPP2Hr1q1ISkpC3759wTCMba7klbWaMUAad11dCW13akdDatt1oxT24r+po4u7v1Uv16Zw9ISqQxQeHTcd+fl5yDyXCE/1LVpUXD9OD3G5I+AVojd3UMRNwpuBndoyefJk7NixAwsWLMDnn3/eMNHFUvTHaPWaLviCQa1WY/r06fD09MQXX3wh6LnFjGT49Pjss8+wY8cOxMbG4tixY5DLBVQItSVA4SGgfRjgHcb54d3c3LBhwwY8/PDDWLhwISZMmIBXXnlFl84t5mxORk1twLRz6q7pFW+HAp0f0syp89Z9Bs9QoPQykLOTmmlLas9o2Dqvn3/+GZ7+4QDCgcBhuiJ+Nl5acpne4NRe50b2DDW+iF9oGAYA0+Be2L9/P9atW4fJkyfj999/R/fu3bk9p50jZWZnbqSFQ8BQbo/fAj/99BOOHj2KH3744V53bhtGSm5pxPr16zF16lSsWrUKsbGxJr3X7OQWhgEyN1GspfdM3uNPmZmZ+Pzzz7Fs2TJy66gUlLrt6stfz09T0bjctAXa2pq6zroEjJbadd1Ooe75wY+ScRQT1kpuaQGT6rxq7+j9jXI0Uwpk9HdhDaFYXMx1pRRr6/JkA2/KkiVL4O3t3fR3nasF4eVfaaHQe4bpTQ/MvFeKi4sRFhaGnj17Iikpqc3W7BlCMnyNYBgGo0aNwvnz55GRkYFOnYxPMDHb8N1JpY4rXMzZU1ZTIbZzB+MzFVX1lIFWVSTcxIfGNEiyyCaXL0Cp4dqklC70/8bCMEDGz9TeK4r/BYVJiNTwsXVeycnJpqkftZKUOFsq0qBRdxddfNBR4K4vjbuv9PgHxdo0RoDNbjaIWtPUobaY4pqWoCgHLsbRccKmmGZMzbxXpk6dis2bN+PChQuIiIgw6b2tHcnV2QiZTIZvv/0WUVFRmDt3LjZt2sTvCZW11CbMtRP1FbQEbY/NGiB8Kq28jfmC2TkAkS+T6hNi4gPQfFq9x32Az2htWr3ZK26ZjD7HxZVA3l7g/me5/QytDLbO66OPPjLd5Se3J4PiGQJglK6MhE06YudHuvjoCug9g7nrZ2mIBt1XQkntNWps0Gw4g1FSU4SKXMt7fjp6Uk1l7l8U8+vYy7zjGEliYiLWr1+P9957TzJ6BpAUXxMsXLgQixYtQnx8PMaMGWPUe8xSfDl7gJungchXzF9VcjkvT3/aO9fqr75aV1NXlk2rYABw7qgrM/AM4b6mrvAwUHAQ6PE89TQVAyJTfDU1NYiMjISDgwP3dV7axgFs5i3bOMBeVzvIZeOAxirPnO4rLFzO+2PUQMoaQFFGtX3G9lE18V6pq6tDVFQUlEolUlJSWk+pEodIiq8J3n33XWzevBkzZsxAcnIyPzdPZSEZPb8B5hs9ruflufqREeZC/TVonZUNVBXSdm3rLLamjqP08aboPBi4nUyLDM9Q4YvVbYCPP/4YV69excGDB7mv85LJ6L5y9QP8h5AxqcjTuUXz9wH5ABw8dPeEV1fAwdX0cxmh8kyCy3l/2jFa3wP5B+i/eeCzzz7D5cuXsXfvXsnoNYGk+Jph//79GD16ND744AMsXry4xf1NUnyMir4A9ZWa1Z+JmXBCTEU3R/3VljScU6eqAzVLDtC5uNz9yaUpJOV5FMfsPBgINk7B84qIFF9aWhr69OmD559/HuvWrRP+ArTNwTUT61W1tN3NXzfyyT2w+ebgXKq8puBK/eXuBW6cBHq+TOGIljDhXsnKykKvXr0wfvx4bNmyxfRrayNIhq8FpkyZgl9//RUXL15EeHh4s/uaZPiun9BNa+4QadpFCTkvj1Hp1J+hiQ+qOk2jZ40bq/YubXf00j20vLgbj2MR2TuodyKPreCMRiSGT61WY9iwYUhLS0NGRgZ8fDiYJmAJjBqoLKLFU1m2bhyUnSMpOG3toF5mJNcqryUsnfenqqNEF3sXIPK1lqd9GHmvMAyD0aNH48yZM8jIyEDnzjYwUsxKSK7OFli2bBl2796N119/HYmJidykBNeVAQWJ9CX2NsGFaI2p6DID8/5unQPcAqi9WuOBqH4DNXPq+BmIahH3jQZKMmnR0PMlcaTZWxm2zmvNmjXWN3oA/U08AukVOJwStcpzyINQeoX+foCudhAy4PYF2tbSvDyusHTen50TEPIYcPkXUn7+Qzi5rE2bNuHAgQOIi4uTjF4LSIrPCL7//nu89tpr+OmnnzBt2rQm9zNa8WVuoRWtseNzAOtORVdU0Oq75ApQmkkp3gCpug6RtAL3uM822lgVXyADHjoW8Ovf8v58IQLFp1/ndejQIWEbNpgDw1DtYFk2fR/KcwFoHl9uAYB3D1pMunUSblFjrvpjGODyZqp/7D2z+Ti3EfdKSUkJwsLCEBoaimPHjsHOTuBQgo1hA08q6/Pyyy9j3bp1eOuttzB27FjLOiCUZAIlGUDQKOOMnjVUnroeqCjQuS+rb9J2e1fqKuPsC9xNoe11pXRdtmD0AKBjbzJ++fupS46jCXWBrYy33noLFRUVWLVqlfiNHkAeBOcOFK+tKiRvhO8DdO+VZVPmbsFBuk+1cwe78Fs7aK76k8k0Y7TiaIzW/c9b5CF55513cOfOHezbt08yekZgI08r6yKXy7Fq1Sr07dsXb7/9Nn788UfzDqRSUGahiw8lWbQE1xmbTcEwQO1tvTl1uVSQLJOTkgsaRQ8RVz/dSjpgsLB1f1whk5Hau/StJsY60dpXZBVsss6r2VjeaEBRqSuVKcumejmAOhJp5w7ex33toLmZn07tqIl6/j5aDHs3n0PQFMePH8d3332HefPmoXfv3uZ9hjaG5Oo0gXfeeQefffYZkpKSMHTovT33WnR15u2jfn09XyKD0hRCZGwqa/Tm1F3Rq6nr0KimroXUdj7r/vikIBEoTALCXqDPKzRWdHXaXJ2XORmbjJruTbaUpiKfErXk9oBHiO4ed/HhNhZtauYnowKSv6PvfO9Zhr9vzdwr9fX16NevH8rKypCWlgZ397brwTAFSfGZwIIFC/DLL79g+vTpuHDhAhwdTcjkqrpBmZy+/Zo3enypPEZFdYNsb8XKQlC2nJOmpdRQehCYmg3HZd2fkAREA3eSgdzd5Kris4OIyLCpOi9zMzZlclosunWmaeoqhWaih2ahlxdP+zl6NmyJZ29G7aA+pqo/mR3N7UtdQ4uxkEdNOt3//vc/pKSkYMeOHZLRMwFJ8ZnInj178MQTT+Djjz/G+++/3+B3TSo+Rg2k/kip/n1mGf5y8TDk2u0AABjLSURBVKHy6kp1cbqyHE19lIzq6Ni0cPcA7mrqbE39lWUD6RsoazVopLDntpLis5k6L77r8upKda79sqt69ab+enMHLfxumKL+cnYBN88BvV6l+kV9mrhXcnNzERERgZiYGGzbts3862yDSIbPDCZPnoxdu3YhJSUFXbvq3GRNGr6bZ4Cc3UDXpwEfAz54rjI2tataTQF57R3arl3VsjV1Fq5qm6Oluj+xcWUr9ZGMep3cXkJhBcNnM3VeQtflMSqqHWQXifd4Q7qa5w1hMSbzU1lDiS6OnuRB0TfwBu4VhmEwbtw4JCUlIS0tDUFBRhTCS2iRDJ8ZFBUVISwsDIMGDcLevXshKy4G1q7FvmXL4K5UYvBjjwFRUcCLLwJezsDFb2gVF/5/DeMJlqo8No7Bui8NxTHadaNemELX1NmK+lNU0t/H1Q+ImCbcv5MVDN/GjRsxZcoUxMXFYcaMGYKd12iE6L5iDA3i39nUWxOg+Ld27mCIacOijVF/t5NpIRbyGNDpQeDWLWDtWuDINqCiBgiM1D5Xth4+jEmTJmH58uV48803OfrgbQfJ8JnJihUrsH72bGwbMACBycm0sbZWt4OLC315H44Cnu8LPPcx4KJXBmGuymucuVZfRdtd/XRfSg8eMtfMwVbU382z9LfoOh7w6SPMOctz6ae5DY9NhK3zCgkJwfHjx8WX8i60yjOWBhnP2ZqM53pdxjPrSdHPeG6O5tQfO0br9AngjwJg337a3ui5wqjV+Esmw8b77sO61FTY20upGqYiGT4zUcfFoW72bDiq1Wj2ESID4OwELPsf8Prrpqs8tZJq6lj3ZfUN2t6gVqkr4OjB4afjGLGrP0ZNCqz2DmXWmdMcWeTExsbihx9+wNmzZ9Gnj0DG3RjEovKMRa0kzwobH2RrXB3cNG5Rtnawme9jc+rv6y+A+e8BdUrNxPgmDgEAzs6wW76cnisSJiEZPnP49lvgrbeA6mrdtpEjgQMHGu534wbAxlFcXYGP3gJGeDSv8vS7U5ReabjCdA/S9b8UsjsFF4hd/VXfBJJXU4F716esfTWccvz4cQwZMgRz587FsmXLrH05OsSq8kxBUaFxi2oWpkrNM8HVT5dA1lRXo8bqb/dV4O35uufK1Knk6jTE8OFAUhI9V774QjJ+JiIZPlM5c4ZuOn2jBwBz5gBffgkcPQrcvk3bSkqAl17S7ePsAPw4F3hyTkOVp6yhrEttTR0bU/DWBda9Qk2LKYgVMau/vATg+jEg4kWaE9cKEGWdl62pPGNh1OSRaRBz1+tjy4Yi9GPurPo7uA2YuQ6ordcdb8QIYPZs3f/b2wNjxwKVlUBEBFBQQNtdXckI9rdiCz4bQ3IOm8qSJUBNzb3be2kmKr/yCpCZafi9dUrgt0zgOT+N+1ITPK/U70DfheqOGnegby2Iue4vcBh1+8jZCfSazlsbNqVSiZdeegm5ublQKBR4//33MW7cOF7OxdZ5bd++XRxGrzWovKaQySmJzc2fvDnaySUat2hpFpAHvcklmtrBkMeBbV/R80GfxER6scyZQ4Zv7lyd0QPoebRkCbB1qxCfslUgKT5TuHULCA5uGGxmOXUKGDgQWLoUCAwE4uMBQ7PNHB2AnW8DnpqHqpu/3py6FmaOtTbEqP5KLgOZm6iuL+De7jxcsHbtWly6dAnLly/H3bt30bdvX+Tl5XF+HrbOa8yYMdi+fTvnxzeJ1qryTKG2RC+EoTerss4DiHkXqFM0/V4fHyArC8jPB3r3vjf+5+xMvxPDhA0bQFJ8ptCUv10mA3pqFMu//00/n38eCAkBPvqo0b4McLAAeOvf5L609oPemohR/bW/n7puXDtMkyd4UN3PPPMMJk+eDIDqsRwcuM/AZRgGs2bNglwux4oVKzg/vkm0ZpVnCs7tAef+NBVEraJG26VXgP/FkUu0OV5/HfDyAj791HDSi0xGzyf2+SPRLJLiM4UpU4CNG+/d7uUF/PQTUFcHzJsHBAXpXBRBQcCdOw33HzcIWPIq/9drS6jrgZrbgFpBGavOHaynBtj2bnZOZJwtwd4N6P60wfKSiooKPPXUU4iNjcWzzz6r+0XxRVJHFlB8+zZSU1PRtWtXBAUGWnQsi6iv1A0ndmov7uxja/HOd8Cuk03/3s4OyM0FnJyAgACgvt7wfi+8AKxfz8sltjbakJ+BA8rKmt4+YQKpvKIicnvu30+1fIa6pZdX37utrSN3oIQfp3aUGVdZqMuQExqZHT2kVbW6OkmOKSgowMiRIzF16tSGRo8DlCoVsrKy4O7ujsCAAE6PbTSMklzZtXdoAeHmLxm9pqgwkDOgz7BhFD7ZvbtpowdQMp2EUUiuTlPw8jK83dkZ6NKFFF92Nm2rq6OfhopLg3pZdQCp6BFD7I9RAylrKMM28mXAnrtmzjdv3kRMTAzi4uIwYsSIe3fw6W24tZ2RzJ09G998swYnT56ELHKgBVdqBo1jeUJNRbdh6nz/ghMuNr0De4/s3dv8gdq3QfexmUh3oylERZGRa8wDDwCpqcDmzYBcTunFgwcDCgVwsdEN7WQPdCil+p07KdZTNWKGjf0FjQRK0qmH4Z1UYa9BJge6jAXqq4GCAy3vbwJLlixBaWkpFi9ejBEjRmDkyJGoYxdKFnL27Fl88803mDFjBgYOFNjo1ZUCGRsoK9YtAIiaAXQaIBm9RiiVSpw4cQIffvghBg0ahP/89huafQo8/DD9PHeu6X1cXHSZ5RItIsX4TKGprE65HDh9mgxgcjIZvq5dqdC9cU9EJ0fg0DeA3W1+OsK3Nqyt/nL/Am6cAnq+AnhYMVZmBEqlEg8++CCuX7+O9PR0eDXloeAaKWOzRfLy8rBv3z7Ex8fjwIEDKC0thVwux4ABAzAhOhpvrVgBuaKJrM6rVym25+zcdDcXKavTJCRXpyn4+gKPPQZs397wBlSrgSefpAL2UaPod19+Ccyf3/D9MhnwxFjgoVfvnY9XeAQoPMxdR/jWgrUzP4NGAnfTNLV9r4l6URIXF4fz58/jl19+Ec7oSRmbBqmqqsKhQ4cQHx+Pffv2IVNT2xsYGIiJEyciJiYGo0aNgre3Jmv46tV7nyssvr7A3btNGz2ZDHj8ccnomYCk+Eylqc4txtBchwVldaPuLexEdG9d6yNTO8K3Nqyl/u6mAZd/JSXjP5j/85nBtWvXEB4ejujoaOzZswcyvqdMSCqvAWq1GpcuXdIauqNHj0KhUMDFxQXDhg1DTEwMxowZg/DwcMN/G76eKxIGkQyfORjq1dkSpvTUa9ARnu3XqTS/I3xrwho9PxkGyNxMarP3TMo8FRkTJ07Enj17kJqaii5duvB7MknlAaAkpYSEBMTHxyMhIQE3b1LD6l69eiEmJgYxMTGIjo6Gs6G8AEPw/VyR0CIZPnNhb9Kamma7qEMmo8CzJTenup5anLGDMs3pCN/aEFr91ZVSko1XF6DH85YfT6VJS7ezvHh9165dGDduHD755BO8++67Fh+vSdq4ylMoFDh27Bji4+MRHx+PCxcuAAA6duyI0aNHIyYmBqNHj4a/v38LR2oGIZ8rbRjJ8FnC2bPUI2/PHroR9Xt4svP4Hn8cePddbt0Qigpdn88yEzvCtyaEVn9Fx4D8BOD+ZwHvcMuOde0w/Qy0rC1aVVUVIiIi4O7ujr///huOjo4tv8kc2qDKYxgGWVlZWkN36NAhVFVVwd7eHoMHD9aqur59+0Iu59D4W+u50oaQDB8XaCawIzmZikjbt6fU4mnT+A84m9MRvrUhlPpTq4CU1YCyllyelsRbOZrA/vbbb2Pp0qU4cuQIoqOjLTqWQdqYyistLcXBgwe1xo7todqtWzeMGTMGMTExGDFiBDw8BPCuWPO50sqRDF9ro3FHeLZdVOOO8BwWZIsCodRfRQGQ+gPQ6SEg5FHzj8OB4bt06RL69euHadOmYc2aNeZfS1O0AZWnUqlw5swZbanBqVOnoFKp4OHhgVGjRmmNHe9xUwlBkQxfa6epjvDuAXq1g/6iTtM3CSHU39WdpIJ6vdZwrqIpWGj41Go1hgwZgitXriAjIwMdOnQw7zoM0cpVXkFBgTb7cv/+/SgpKYFMJkP//v212ZcPPfQQL83DJcRBKw8CSTTZEb40GyhMopedM02KYOODIsxaNBoh6v7uewQoySADGPmKVQzC999/j5MnT2LdunXcGr1WqPKqq6uRlJSkNXbp6ekAAH9/f4wfP15bU9exY0crX6mEUEiKry1TXw2UX9W5RRUVtN25o84t6hlCA3JtET7V3+1LwJU/aIhoJzNag1mg+G7evImwsDD07dsXBw4c4KZmrxWpPIZhkJycrI3THTlyBAqFAs7Ozhg6dKg2KSUiIoL/ekcJUSIZPgmCYYCaYj23aB512JfZUYYoawhdO9lWkgxfsT+Gob6UlYWU6OLoadr7LTB8//znP/H777/j0qVL6NGjh8nvv4dWoPKKi4u1NXX79u3DjRs3AAA9e/bUGrqHH34YLi6tLLYtYRaS4ZMwjLoeKM8nJViaDdTcou0ObrrYoFcXwMHdqMOlpqYiODgY7u7G7c85fKi/2jvAxZVA+x7A/c+Y9l4zDV9CQgLGjBmDBQsW4KPGQ45NRWQqr7a2FocPH8aYMWNa3FehUODEiRNaVXf+PM0v9Pb21tbUjRkzBgHWGsskIWokwydhHIpyXclEWTag1NQWuXbSGMGugEfQPbWDarUamzZtwtq1a1FXVwc/Pz98++238LFGOjYf6u9aEnAtEejxT6B9d+PfZ4bhq6mpQVRUFGQyGS5dumR8RxBDiFDl/fHHH3jvvfdw8eJFODk1LBVhGAbZ2dlaQ5eYmIjKykrY2dlh0KBBWlXXr18/2Nm1kkQtCd6QklskjMPRE/DtSy9GTcqJLaK/fhwoOgp4BANhUxp0I1EqlfD09MSHH36I6OhoLFiwAJs3b8bs2bOF/wwyOyBgKCm07O1A1m/AnTTL1J//EOB2MpC7G/CcwWs89JNPPsGVK1eQkJBgvtET6by8I0eO4JtvvoGzszNOnTqFoUN1hf1qtRo7d+7E+PHjAQChoaGYMmUKYmJiMHLkSHh6muhmlmjzSIpPwnKUtVQ7KJOR8mumY8ykSZMQFRWFBQsWCHd9huBS/ZXnAmlrAf9oyvg0BhMVX3p6Onr37o1nn30WGzZsMOsyxajyWPLz81FTU4OEhATk5+fj888/b/D7iooKrF+/HjExMejWrZuVrlKitSApPgnLsXcGvMOa3SU1NRXvv/8+AgICEBsbK9CFNQOX6s8zBPDpQ8q3Yy8qqeAQhmHw+uuvw93dHcuWLTPnAKJUefoEBQVBJpMhPz8ff/755z2/9/DwwMyZM61wZRKtEcnwSfBKWloatmzZgpMnT+LFF1/EuHHjdAkujAq4nUKGw0mg+XGN4aru777RQEkmkLMLiHiRU6Oybt06JCUl4bvvvoOvr69pbxaZyqupqcHhw4cRFBSEiIgI7Xa2rKBfv35QKBS4du0aAgPFPfhXwnaRXJ0SvJGSkoJx48bBz88P27ZtQ+fO1OWEYRh60NXcAS6uoJ1dfHR9RT2CrVM7aGnm562/gas7gC7jAN8Hmt/XSFfn7du3ERYWhrCwMBw+fNj4ZsgiydhkGAapqanapJTDhw+jrq4Or732Gr788kuD5QVPPfUUHn/8cXF4BiRaJZLhk+CN6upqJCQk4ODBg8jKykJ5eTlWrVqFyMhI2oFhqExCO3cwj1SgzA7wDNaVTbj4Clc7aEnsj2Eo1ld9E+gzq/lSDyMN30svvYQNGzbg77//1v27tYSVVd7t27exf/9+bU1dUVERACA8PFybfTls2LAma+pOnjwJb29v3H///YJds0TbQjJ8EoKRnp6O0NDQpjMSVQqaLsHOHawppu0O7o1qBwWYum6u+qspBi59C3SIBLpNaHo/Iwzf4cOHMWzYMMyfPx+ffvppy+e2ksqrr6/HyZMntaru3LlzYBgG7du3xyOPPKKtqQsKCuL1OiQkjEUyfBLipa6s4dxBVS1td+us6yvqHsjf3EFz1V/BAaDwCBD+f2SoDdGC4VMoFOjTpw9qamqQmpoKV1fX5s8psMrLzs7WTjQ4ePAgKioqYGdnhwcffFCr6vr37y/V1EmIEim5RUK8OHkBvv3oxaiBqiKdW7ToKFB0BJA7ahpss3MHOWzYbG7mZ8BQStrJ2Q1EvW6WYV66dCnS09Oxe/fu5o2eQBmbFRUVSExM1Kq67OxsAEBwcDCef/55bU1du3Y23OBcos0gKT4J20RZSxmYrFu0rpS2O7XXGUHPUCq14AJT1V/pFSDjZyBwOL0a04ziy87ORmRkJMaOHYvffvut6XPwqPLUajXOnz+vVXXHjx+HUqmEq6srRowYoVV13bt3lxo9S9gckuGTsH0Yhgbusn1Fy3Oo16hMTq5QNj7o1tlyJWRK7C/rd+BuOqk+l0Yjb5owfAzD4NFHH8WJEyeQkZEBf39/w5+Xh1heUVGR1tAlJCTgzp07AIC+fftqB7IOHjz4nnZiEhK2huTqlLB9ZDLApQO9Oj0IqJU0KZ3tK3otkV72LhRzY+ODpk5UAEyr+wuOAUqzyOUZ/n9GZab+8ssv2LdvH77++mvDRo9DlVdbW4sjR45osy+Tk5MBAL6+vnjssccQExOD0aNHw8+P24J8CQlrIyk+idZPfSUZCjZJpr6Strv46BpsewYDchMnbhuj/m6coT6eXZ8GfHrrthtQfKWlpQgLC0NQUBBOnjzZMDGEA5XHMAzS09O1cbqkpCTU1tbC0dER0dHRWlUXFRVlfL2ghIQNIhk+ibYFw5DBYucOVuRragftyfi160qK0MXHuNrBlmJ/jBpI/QGoLaHavruVwNq1wJFtQEUNEBgJREUBL76IGQsXYvXq1Thz5gz69eunO4YFKu/u3bsNauquXbsGAOjRo4e2zGD48OFwcxOgRERCQiRIhk+ibaNSUJNptmyi9jZtd/QgJejF1g62UE7QnPqrugH8sgDYcgk4cpG21dbq3uviArVKhe0KBXKefRbztmyh7WaoPKVSiVOnTmlV3ZkzZ8AwDLy8vBrU1AUHB5v37yUh0QqQDJ+EhD51pXq1g1f1agf9dW5R90BAbqA+rSn19+23wLw3gdo6gP22zZkDvPEG0LEjkJQExMZCVVgIuYsLZMuWAS89b7TKy8nJ0SalHDhwAOXl5ZDL5Rg4cKDW0A0cOBD29lJIX0ICkAyfhETTMCqgskjnFq0sBMAAdk5kjLS1g94N36ev/vYWAks3AtU1ut/PmQN8+SVw7Rpw4wbQvz+QmAiMHEm/d3EG/jUGmDjQoMqrrKxEYmKi1thlZWUBoAkHbJnByJEj4e3d6LokJCQASIZPQsJ4lDVAWY6ubEJRRtudvTVu0a5UTG/nREZzzxpg0r+A2nrdMezsgOvXAbkc6N4dKCkBTp8G2rcnA1jGHtMR2P8XMGQk1Go1Lly4oI3THTt2DPX19XBxccHw4cO1xq5Hjx5STZ2EhBFIhk9CwhwYBqi9oyugL8/Vqx0MIiX4+hJglyY+x9K3L3D+PLBjB6CZKG7w8DIZ8vv1w3s9eiAhIQHFxdS3NCoqSmvohgwZYv4kdgmJNozk9JeQMAeZjIrSXToCnR/S1A7m61qqXdwJxO9vaPQAIDRU9/6DB0nlHTkCxMaS65M9PMPA99w5nM/NxWiNoRs9erR2tJOEhIT5SIZPQoIL5Paa4vguAEYDuxdrEmCUDfdj+24++SRw5Qpw+TLw+OPAzp3AAw8AarV2VycnJ6S+/Tbkb78t2MeQkGgLSFWqEhJ8kJpJWZyNYcsYCgqAyEhSfPv3A336AAMHNthVXlcHeUqKABcrIdG2kAyfhAQfsEkqjWHdmZcvA3Uaw3j2LP0MDLx3/5IS7q9NQqKNIxk+CQk+8PIyvP3vv4GKClJ47TV1eRER9DMn59792ws3OV1Coq0gGT4JCT6IigIMZVzW1QFffQV06ABcugQcP07xvhMngHPnGu7r4gL06iXM9UpItCGkcgYJCT64dQsIDm7YmoxFJgMWLQJee43q+vbvB2bPpvfo4+wM5OcDPj7CXLOERBtBMnwSEnwxYQKwffu9JQ3GIJMBTz8NbN3K/XVJSLRxJMMnIcEXZ84Aw4cD1dWmv9fVlXp49u/P+WVJSLR1pBifhARfDBgAfPGFrnbPWFxd6X2S0ZOQ4AWpgF1Cgk9ef51+vvUWUFPTvNtTJqOEli++0L1PQkKCcyRXp4SEEJw9CyxZAuzZQwauRm9ag4sLGcTHHwfefVdSehISPCMZPgkJISkupgnsyclUnN6+PZUsTJsmZW9KSAiEZPgkJCQkJNoUUnKLhISEhESbQjJ8EhISEhJtCsnwSUhISEi0KSTDJyEhISHRppAMn4SEhIREm0IyfBISEhISbQrJ8ElISEhItCkkwychISEh0aaQDJ+EhISERJvi/wHXsGjk3nqMjQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "G=Graph(8,'easy')\n", + "show(G)\n", + "draw(G)\n", + "exhaustive_search(G)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Testing exhaustive search time cost" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Test completely random graphs:" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "5, 6, 7, 8, 9, 10, " + ] + } + ], + "source": [ + "MAX_REPETITIONS = 10\n", + "\n", + "exhaustive_data = pd.DataFrame(columns=['n', 'time'])\n", + "\n", + "i=0\n", + "for n in range(5,11):\n", + " print(n, end=', ')\n", + " for repetitions in range(MAX_REPETITIONS):\n", + " G = Graph(n)\n", + " # Time the search\n", + " t0 = perf_counter()\n", + " exhaustive_search(G)\n", + " t1 = perf_counter()\n", + " # Record the data\n", + " exhaustive_data.loc[i] = [n, t1-t0]\n", + " i += 1" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
time
minmaxmeanstd
n
5.00.0001080.0002340.0001970.000038
6.00.0005270.0011390.0008210.000262
7.00.0034180.0136440.0055170.003238
8.00.0266080.0917780.0472380.023578
9.00.2466880.3200850.2774250.024113
10.02.3440412.8288562.6525320.172485
\n", + "
" + ], + "text/plain": [ + " time \n", + " min max mean std\n", + "n \n", + "5.0 0.000108 0.000234 0.000197 0.000038\n", + "6.0 0.000527 0.001139 0.000821 0.000262\n", + "7.0 0.003418 0.013644 0.005517 0.003238\n", + "8.0 0.026608 0.091778 0.047238 0.023578\n", + "9.0 0.246688 0.320085 0.277425 0.024113\n", + "10.0 2.344041 2.828856 2.652532 0.172485" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "exhaustive_data.groupby('n').agg(['min','max','mean','std'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us plot this data to see it visually." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAs4AAAF/CAYAAABZkk9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdeXjU9b3//VcmyWRfCISwBhJ2RIuiUqyKqBSUVRDZCihoe3r33K31uryL/mzr0kv0eI7tOf7ckEWhdUFKFWqLGxy1VKnagogoEAj7mmSSzCSTzGS+9x8fJ5PJAgEyM5nJ83Fdc4V8l5l3QOXVdz/f9yfOsixLAAAAAM7IFukCAAAAgGhAcAYAAABageAMAAAAtALBGQAAAGgFgjMAAADQCgRnAAAAoBUIzgDQxgYNGqRJkyZpypQpmjp1qsaNG6fp06drx44dIfm8V155RUuXLm2z91u4cKFKS0slSXfddZf27t3bZu8NANEsjjnOANC2Bg0apI8//lg5OTn1x5YvX6533nlHr732WgQra53m6gcASAmRLgAAYp3X69WxY8eUlZUlSXrqqadUVlamX/3qV02+nzdvnoYPH65//vOfOnbsmEaNGqVHHnlER48e1e23367Ro0dr+/btqqio0L333quxY8cG3X/99dfrlltu0ccff6xjx45pypQpuvvuuyVJS5cu1dq1a5WWlqbLL79c77//vjZt2hRU63333SdJWrBggZYuXaq5c+fqv//7v1VVVaUnn3xS3bt31/79+5WSkqIf/vCHWr16tfbv36/vf//7uv/++yVJmzZt0rPPPiuPx6Pk5GT94he/0KWXXhqu324ACBmCMwCEwIIFCyRJZWVlSkpK0pgxY7RkyZJW3Xvw4EGtXr1aVVVVuummm/SPf/xDvXr10qFDh3T11Vfrl7/8pd5++209+uijGjt2bJP7q6qq9PLLL+vEiRMaO3aspk+fruLiYq1bt05r165VRkaG/s//+T/NfvaSJUu0bt06vfTSS006zjt27NCvf/1rDR06VHfeeaeWLl2qVatWyel06tprr9WiRYtUXV2t3/72t1q1apU6deqkPXv26I477tA777yj1NTUc/xdBID2heAMACHgD547d+7UD3/4Q40cOVKdO3du1b1jxoyRzWZTenq6+vTpo/LycvXq1UuJiYkaPXq0JGno0KFyOBzN3n/DDTdIkvLy8tS5c2eVl5frgw8+0Pjx45WZmSlJmjt3rj755JNz+pl69eqloUOHSpLy8/OVkZEhu92unJwcpaWlqby8XJ9++qlOnjyp22+/vf6+uLg4HTx4UIMHDz6nzwOA9obgDAAhdNFFF+m+++7T4sWLNWTIEPXq1UtxcXFq+HiJx+MJuic5Obn+1w2vTUxMlM1mqz/ekqSkpCb3JyQkBH1mfHz8Of8sdrs96PuEhKZ/hfh8Po0aNUq/+93v6o8dO3ZMXbt2PefPA4D2hqkaABBiEydO1CWXXFK/VKNTp07auXOnLMuS0+nU5s2bQ17D6NGj9c4776iyslKStHbt2havjY+Pl9frPa/PGTVqlLZs2aKioiJJ0gcffKDJkyfL7Xaf1/sBQHtCxxkAwuCXv/ylJk+erI8++qj+6/e//33l5eXpyiuvVKgHHI0aNUq33XabZs6cqeTkZA0YMEApKSnNXjt+/HjNmzdPTz311Dl/Tv/+/fXwww/rnnvuqe90P/vss0pLS7vQHwEAIo5xdADQAezYsUP/+te/NH/+fEnSypUrtX379qAlFQCAMyM4A0AH4HQ6df/992vfvn2Ki4tT9+7d9cgjjygvLy/SpQFA1CA4AwAAAK3Aw4EAAABAKxCcAQAAgFYgOAMAAACtEBXj6EaOHKmePXtGugwAAADEuCNHjmjr1q3NnouK4NyzZ0+tW7cu0mUAAAAgxk2bNq3FcyzVAAAAAFqB4AwAAAC0AsEZAAAAaAWCMwAAANAKBGcAAACgFQjOAAAAQCsQnAEAAIBWIDgDAAAArUBwBgAAAFohKnYOBAAAQOzz+SwVl7h0osKtvMxk9e2cJpstLtJl1SM4AwAAIOJ8Pksbdx7XPWu2ye3xKTnRpidvG67xF3VrN+GZpRoAAACIuOISV31oliS3x6d71mxTcYkrwpUFEJwBAAAQcScq3PWhOc4KhOeTle5IlhWE4AwAAICIy8tMVnKiiab9Th9Sptup5ESbumYkR7iyANY4AwAAIOL6dk7T/51zqb7ac0w9dhzVqcF9NGBoX/XtnBbp0urRcQYAAEC7UOu19Ne/fqr3/1Gkl/5+QLVeK9IlBaHjDAAAgIgrLnHpyT9v14962WTrVaiLBvXR4xt3aXC3DBXmpke6PEkEZwAAALQDJa4aLehj11//fEJer1e7S7M0f+IIlbhq2k1wZqkGAAAAIs7m8WrzWx/rdEKKJMnt9el/Nu1RnNrHDGeJ4AwAAIB2wHnwsLwer3y2+Ppjbo9Ppa7aCFYVjOAMAACAyPL51PP0EdWkZQQdTk60KS8zKUJFNUVwBgAAQGSdOqXeyTbdOWaQkhLM0ozkBJsenjxMg3IzznJz+PBwIAAAACLHsqQ9e3TQa9Oazw9qyvCeSq1I0bEBffT0/+7RoG7p+k7vTpGuUhLBGQAAAJFUViZVVuqUN17Hymu05rPDyqly6IsT6XKkZOp4uVvf6R3pIg2CMwAAACKnqEhKTVUXn6WkhDjVNNj0JDnRpm5Z7WfLbdY4AwAAIDIqKqTTp6X0dBV2SdOPr+sXtMb5N1OH6aLuWREuMoCOMwAAACLjwAHJbpckJSTYdN2ArsrvlKqKQ8eUfNXlGjy0pxIS2k+fl+AMAACA8Kuqkg4flnJz6w8lJNg0sFumFF8j9cyW2lFolliqAQAAgEg4dEhKSJDi2s/OgGdDcAYAAEB41dRIxcVSVvtZv9waBGcAAACE19Gj5mt8fNNz33wjPfaYme/czhCcAQAAED5er7R3r5Sd3eSUz2fJ/cR/yrPtCxWfrJDP177CM8EZAAAA4XPihAnPCcEzKnw+S1/+5QMlb/uX1vS9UrOWf6qNO4+3q/BMcAYAAEB4+HzS7t3Nrm0+Wl6t+BXLVZ2eqdSpE/WDUX30+MZdKi5xRaDQ5hGcAQAAEB4lJZLbLSUlNTlVu/0LXXRwl14fcp3+9FWJfv/xAc28PF+lrpoIFNo8gjMAAABCz7JMtzk9vdnTXV/7vSqTUrVhwFWSJLfXp//ZtEeJ8e0nrrafSgAAABC7HA6zxXZqatNzX3+t9E8/0RtDrlN1YnL9YbfHp6raujAWeWYEZwAAAIReUZGUktL8ueXL5UtL1zsXXxt0ODnRprzM5ObviQCCMwAAAEKrslI6dUrKyGh6bu9eafNmxc2aqR9NGK6kBLOTYHKCTU/eNlx9O6eFudiWJZz9EgAAAOACFBdLdnvz55Yvl1JTFTdnjq7KyFTfWZeq8tBRpVz1XeUP6Cabrf1syU1wBgAAQOhUV0uHD0u5uU3PFRdL770nLVggZWXJJqlXp1TJmyV1SZfaUWiWWKoBAACAUDp0yGytHddMCF6xwoymmzs3/HWdB4IzAAAAQqO21nSVm9leW4cOSW+/LU2fLnXqFPbSzgfBGQAAAKFx9KiZ3xwf3/TcypXm+Lx54a/rPLX5GmePx6P7779fR44cUW1trX784x/rhhtuqD+/cuVKrV27Vjk5OZKkhx56SIWFhW1dBgAAACKprs5MzGhme20dPSq99ZbpNnfpEv7azlObB+f169crOztbTzzxhMrKynTLLbcEBeedO3fq8ccf17Bhw9r6owEAANBenDwpeTxSYmLTcy+9JNls5qHAKNLmwXn8+PEaN25c/ffxjVrzO3fu1NKlS3Xq1Cldd911+tGPftTWJQAAACCSfD6zvXZmZtNzJ09K69dLkyZJeXnhr+0CtHlwTkszQ6qdTqd++tOf6u677w46P2HCBM2ZM0fp6en693//d23evFljxoxp6zIAAAAQKaWlUlWV1LVr03OrVplgffvtYS/rQoXk4cBjx45p/vz5mjJliiZNmlR/3LIsLViwQDk5ObLb7Ro9erS++uqrUJQAAACASLAs021OT2967vRp6U9/km6+WerRI/y1XaA2D86nT5/WwoULde+99+rWW28NOud0OjVx4kS5XC5ZlqWtW7ey1hkAACCWlJebV2pq03O//71Z97xw4Znfw7LMGuh2ps2Xajz33HOqqKjQM888o2eeeUaSNGPGDFVXV2vmzJn6+c9/rvnz58tut2vUqFEaPXp0W5cAAACASCkqklJSmh4vK5PWrpXGjZN69275/upqKSOj+WkcEdbmwfmBBx7QAw880OL5qVOnaurUqW39sQAAAIg0p9M8/Nfc9tovvyzV1EiLFp35PSorpSuuaJcd5/ZXEQAAAKLTgQNm/Fzj7bXLy6U1a6Qbb5T69m35fpfLdJo7dw5pmeeL4AwAAIALV11tttFubonFq6+aUHy2brPTKQ0e3DR4txMEZwAAAFy4w4dN4G28xMLplF55RbruOql//5bvdzrNLoKdOoW0zAtBcAYAAMCF8Xik/ful7Oym5157zYTiO+8883u4XNLAge222ywRnAEAAHChjh41m5okNJo7UVVlHgq8+mqzBKMlFRVSt27NB+92hOAMAACA81dXZ0bQNRd61641DwaeqdtsWZLbfeZlHO0EwRkAAADn7+RJM2YuMTH4uNttNjwZOVI604Z35eVSz55SZmZo62wDbT7HGQAAAB2EZUl79jQfetetk0pLz95trq2V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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(12, 6))\n", + "sns.scatterplot(data=exhaustive_data, x='n', y='time', ax=ax)\n", + "sns.lineplot(data=exhaustive_data, x='n', y='time', ci='sd', color='red', ax=ax)\n", + "plt.title('Running time')\n", + "plt.xlabel('n')\n", + "plt.ylabel('Time (s)')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Theoretically, the ratio of \"the time taken for a graph of size $n$\" to $n!$ should approach a constant, as $n$ gets larger and larger. Let us check and estimate this constant." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
timetime/n!
n
5.00.0001971.640750e-06
6.00.0008211.140125e-06
7.00.0055171.094643e-06
8.00.0472381.171573e-06
9.00.2774257.645103e-07
10.02.6525327.309667e-07
\n", + "
" + ], + "text/plain": [ + " time time/n!\n", + "n \n", + "5.0 0.000197 1.640750e-06\n", + "6.0 0.000821 1.140125e-06\n", + "7.0 0.005517 1.094643e-06\n", + "8.0 0.047238 1.171573e-06\n", + "9.0 0.277425 7.645103e-07\n", + "10.0 2.652532 7.309667e-07" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "exhaustive_data['time/n!'] = exhaustive_data['time']/exhaustive_data['n'].transform(factorial)\n", + "exhaustive_data.groupby('n').mean()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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oQnNzMzo7/7u73T8+HElk0ndcsstOu+882rdLDSRJ554Ql/96ld133336ejRo7rppptkWZYuvPBCfeYzn1EgUD/9l4TWVcjn85Kk++67r8YtQbM7dOiQfvvb3+p73/uepqam9K1vfavWTUIT2rdvn/bt2ydJuvXWW7V//34CKzbcz3/+cxWLRX3/+9/Xr371K33ta1/THXfcUetmoQn94Ac/UDwe1w9+8AM9//zz+tznPqd/+Id/qHWz0CTuvfdePfTQQ4rFYpKk2267TTfccINe9apX6ZZbbtG///u/6w1veEONW7l89ROvfeiZZ57R1NSU3ve+9+ngwYN6/PHHa90kNKlf/vKX2rVrlz70oQ/pgx/8oK688spaNwlN7He/+52effZZHThwoNZNQRPasWOHSqWSyuWyJiYmZNvcn0dtPPvss7r88sslSTt37tRzzz1X4xahZ5pdnwAAA19JREFUmWzbtq3qht2TTz6pSy+9VJJ0+eWX69e//nWtmnZOeCdfhWg0quuuu07XXHONXnjhBb3//e/Xww8/zAkSGy6bzWpgYEB33XWX+vr6dP311+vhhx+WZVm1bhqa0N13360PfehDtW4GmlQ8Hld/f7/e9KY3KZvN6q677qp1k9CkXvKSl+iRRx7R61//ej3xxBM6deqUSqWSgsFgrZuGJnD11Verr69v9rHjOLPXhYlEQuPj47Vq2jmhp3UVduzYoT/90z+VZVnasWOH2traNDg4WOtmoQm1tbXpNa95jcLhsHbu3KlIJKLh4eFaNwtNaGxsTM8//7xe/epX17opaFLf+c539JrXvEY//elP9c///M+66aabZofzABtp//79SiaTOnjwoB555BG99KUvJbCiZirHr+ZyubobvkNoXYUHHnhAX/rSlyRJp06d0sTEhDo7O2vcKjSjPXv26Be/+IUcx9GpU6c0NTWltra2WjcLTejRRx/VH//xH9e6GWhiLS0tsxMktra2qlgsqlQq1bhVaEa/+93vtGfPHt133316/etfr61bt9a6SWhiF198sQ4dOiRJ+o//+A/90R/9UY1btDKW4zhOrRtRr9xZ4QYGBmRZlj72sY/pla98Za2bhSb15S9/WYcOHZLjOLrxxhv12te+ttZNQhP65je/Kdu29Rd/8Re1bgqaVC6X080336zBwUEVCgUdPHhQb33rW2vdLDSh4eFhffSjH9XU1JRSqZS+8IUvqLu7u9bNQhPp6+vTRz/6Uf3gBz/QkSNH9OlPf1qFQkE7d+7U5z//+brq+Se0AgAAAAB8i/JgAAAAAIBvEVoBAAAAAL5FaAUAAAAA+BahFQAAAADgW4RWAAAAAIBvEVoBAAAAAL5FaAUAAAAA+JZd6wYAAADjwQcf1M9//nNNT0/r2LFjev/73699+/bVulkAANQUPa0AAPjIxMSE7r77bn3jG9/QPffcU+vmAABQc4RWAAB85KKLLpIkbdq0STMzMzVuDQAAtUdoBQDARyzLqnUTAADwFUIrAAAAAMC3LMdxnFo3AgAAAACA+dDTCgAAAADwLUIrAAAAAMC3CK0AAAAAAN8itAIAAAAAfIvQCgAAAADwLUIrAAAAAMC3CK0AAAAAAN/6fyZ6kToakSxdAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ratio = plt.subplots(figsize=(16, 4))\n", + "sns.lineplot (data=exhaustive_data, x='n', y='time/n!', alpha=0.3, ci='sd', ax=ratio, color='red')\n", + "sns.scatterplot(data=exhaustive_data, x='n', y='time/n!', alpha=0.3, ci='sd', ax=ratio)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "7.309666914682565e-07" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "exhaustive_constant = exhaustive_data[exhaustive_data.n==10]['time/n!'].mean()\n", + "exhaustive_constant" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us estimate how long it will take to solve the problem for graphs of size $n=10,11,\\ldots,30$ using this code on the current machine." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "10\t2.652531930000009 seconds\n", + "11\t29.1778512300001 seconds\n", + "12\t5.83557024600002 minutes\n", + "13\t1.2643735533000042 hours\n", + "14\t17.70122974620006 hours\n", + "15\t11.063268591375037 days\n", + "16\t5.90040991540002 months\n", + "17\t8.238765384952803 years\n", + "18\t1.4829777692915038 centuries\n", + "19\t28.176577616538577 centuries\n", + "20\t563.5315523307715 centuries\n", + "21\t11834.1625989462 centuries\n", + "22\t260351.57717681647 centuries\n", + "23\t5988086.275066779 centuries\n", + "24\t143714070.60160267 centuries\n", + "25\t3592851765.040067 centuries\n", + "26\t93414145891.04176 centuries\n", + "27\t2522181939058.127 centuries\n", + "28\t70621094293627.56 centuries\n", + "29\t2048011734515199.2 centuries\n", + "30\t6.1440352035455976e+16 centuries\n" + ] + } + ], + "source": [ + "def time_human(t):\n", + " if t<60: return f'{t} seconds'\n", + " t /= 60 # now in minutes\n", + " if t<60: return f'{t} minutes'\n", + " t /= 60 # now in hours\n", + " if t<24: return f'{t} hours'\n", + " t /= 24 # now in days\n", + " if t<30: return f'{t} days'\n", + " t /= 30 # now in months\n", + " if t<12: return f'{t} months'\n", + " t = t*30/365.25 # now in years\n", + " if t<100: return f'{t} years'\n", + " return f'{t/100} centuries'\n", + "\n", + "for n in range(10,31):\n", + " estimated_running_time = exhaustive_constant*factorial(n)\n", + " print(f'{n}\\t{time_human(estimated_running_time)}') # constant_min is used" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Clearly, we cannot wait that long! We need alternatives..." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Discussion" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "* Exhaustive search exhibits combinatorial running time $O(n!)$:\n", + "* So it is only useful/possible when $n$ is small, up to about 13 on the current machine if it needs to finish within an hour." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 3.2) Approximation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.2.1) Greedy search" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Nearest neigbours" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Idea\n", + "\n", + "Start at city 0, move to the nearest city, then from there to the next nearest city, and so on, until all cities are visited. Finally, return back to the start city." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Pseudocode\n", + "\n", + "1. $city \\gets 0$\n", + "2. $visited\\gets []$\n", + "3. **while** not all cities are visited **do**\n", + "4. $\\quad$ $nearest\\_city \\gets \\text{nearest city to $city$ that has not been visited yet}$\n", + "5. $\\quad$ Append $city$ to $visited$ $\\qquad\\qquad\\text{(i.e. mark $city$ as visited)}$\n", + "5. $\\quad$ $city\\gets nearest\\_city$\n", + "6. **end while**\n", + "8. **return** $visited$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Running time analysis" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The while-loop costs $O(n)$, and searching for the nearest city on line 4 costs $O(n)$ also, while the rest can be assumed to cost $O(1)$.\n", + "So the total cost of this greedy approach is therefore $O(n)\\times O(n) = O(n^2)$." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Implementation" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [], + "source": [ + "def greedy_nearest_neighbours(G):\n", + " ''' Returns best found cycle and its cost '''\n", + " unvisited = G.vertices\n", + " visited = [] # solution to be built\n", + " city = 0 # Start city\n", + " while len(unvisited)>0:\n", + " # Find nearest neighbour\n", + " nearest_city = None\n", + " shortest_distance = oo\n", + " for neighbour in unvisited:\n", + " if G[city][neighbour] < shortest_distance:\n", + " shortest_distance = G[city][neighbour]\n", + " nearest_city = neighbour\n", + " # Update 'cycle' and 'cities' and G then 'city'\n", + " visited.append(city)\n", + " unvisited.remove(city)\n", + " city = nearest_city\n", + " return (visited, cost(G, visited+[0]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Example" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "5x5 easy graph:\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
01234
021122
112212
212221
321221
422112
\n", + "
" + ], + "text/plain": [ + " 0 1 2 3 4\n", + "0 2 1 1 2 2\n", + "1 1 2 2 1 2\n", + "2 1 2 2 2 1\n", + "3 2 1 2 2 1\n", + "4 2 2 1 1 2" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "([0, 1, 3, 4, 2], 5)" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "G=Graph(5,'easy')\n", + "show(G)\n", + "draw(G)\n", + "greedy_nearest_neighbours(G)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Test time and quality" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us first test the greedy approach on **cycle graphs**, as it should work perfectly all the time." + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "10 20 30 40 50 60 70 80 90 100 " + ] + } + ], + "source": [ + "MAX_REPETITIONS = 500\n", + "\n", + "greedy_data = pd.DataFrame(columns=['n','time','quality'])\n", + "\n", + "i = 0\n", + "for n in range(10,101,10):\n", + " print(n, end=' ')\n", + " for repetitions in range(MAX_REPETITIONS):\n", + " G = Graph(n,'easy') # this has shortest cycle length = n\n", + " t0 = perf_counter()\n", + " cycle, length = greedy_nearest_neighbours(G)\n", + " t1 = perf_counter()\n", + " greedy_data.loc[i] = [n, t1-t0, length/n]\n", + " i += 1" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
timequality
minmaxmeanminmaxmean
n
10.00.0000350.0002020.0000551.01.01.0
20.00.0000910.0004970.0001191.01.01.0
30.00.0001770.0014150.0002401.01.01.0
40.00.0002910.0009080.0003671.01.01.0
50.00.0004350.0012280.0005401.01.01.0
60.00.0006070.0019000.0007731.01.01.0
70.00.0008030.0021060.0009441.01.01.0
80.00.0010380.0026710.0013151.01.01.0
90.00.0012930.0048520.0016271.01.01.0
100.00.0015800.0086220.0023601.01.01.0
\n", + "
" + ], + "text/plain": [ + " time quality \n", + " min max mean min max mean\n", + "n \n", + "10.0 0.000035 0.000202 0.000055 1.0 1.0 1.0\n", + "20.0 0.000091 0.000497 0.000119 1.0 1.0 1.0\n", + "30.0 0.000177 0.001415 0.000240 1.0 1.0 1.0\n", + "40.0 0.000291 0.000908 0.000367 1.0 1.0 1.0\n", + "50.0 0.000435 0.001228 0.000540 1.0 1.0 1.0\n", + "60.0 0.000607 0.001900 0.000773 1.0 1.0 1.0\n", + "70.0 0.000803 0.002106 0.000944 1.0 1.0 1.0\n", + "80.0 0.001038 0.002671 0.001315 1.0 1.0 1.0\n", + "90.0 0.001293 0.004852 0.001627 1.0 1.0 1.0\n", + "100.0 0.001580 0.008622 0.002360 1.0 1.0 1.0" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "greedy_data.groupby('n').agg(['min','max','mean'])" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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AAAAAAYjtAEAAACAwQhtAAAAAGAwQhsAAAAAGIzQBgAAAAAGI7QBAAAAgMEIbQAAAABgMEIbAAAAABiM0AYAAAAABiO0AQAAAIDBCG0AAAAAYDBCGwAAAAAYzE3iTaMo0pYtW/Tll18qnU6ru7tb55xzThIfBQAAAACzWiKVtrffflue52nXrl3asGGDnnrqqSQ+BgAAAABmvURC2/79+7V69WpJ0mWXXaaDBw8m8TEAAAAAMOslEtpyuZzq6urKjx3HURAESXwUAAAAAMxqifS01dXVaXh4uPw4iiK57uQfNTg4qI6OjiSGAgAAAADGGxwcnPS1RELbFVdcoffee09r167VJ598ora2til/fmBgIIlhAAAAAMCMZ8VxHJ/pNy3tHvnVV18pjmM98cQTOu+88870xwAAAADArJdIaAMAAAAAnBkcrg0AAAAABiO0AQAAAIDBCG0AAAAAYLBEdo8EfN/Xpk2bNDg4KM/ztG7dOp1//vnauHGjLMvSBRdcoMcee0y2zfcGqK5ffvlFHR0deuWVV+S6LnMURtmxY4feffdd+b6vW265RatWrWKOwhi+72vjxo0aHByUbdvaunUr/x+FMQ4cOKBnn31Wvb29+vbbbyecl/39/err65Prulq3bp2uvfbaag97UlxFSMSePXvU2NionTt3qqenR1u3btWTTz6p9evXa+fOnYrjWO+88061h4k5zvd9Pfroo6qpqZEk5iiMMjAwoI8//lhvvPGGent7dfjwYeYojLJ3714FQaC+vj51dXXp+eefZ47CCD09PXrkkUeUz+clTfz3+5EjR9Tb26u+vj69/PLLeu655+R5XpVHPjlCGxJx3XXX6d577y0/dhxHn332mVatWiVJWrNmjT766KNqDQ+QJG3btk0333yzFi1aJEnMURjlww8/VFtbm7q6unT33XfrmmuuYY7CKOeee67CMFQURcrlcnJdlzkKI7S0tGj79u3lxxPNy08//VSXX3650um06uvr1dLSoi+++KJaQ/5NhDYkora2VnV1dcrlcrrnnnu0fv16xXEsy7LKrw8NDVV5lJjLdu/eraamJq1evbr8HHMUJjl27JgOHjyoF154QY8//rgeeOAB5iiMMm/ePA0ODur666/X5s2b1dnZyRyFEdrb2+W6Y11gE83LXC6n+vr68s/U1tYql8ud9bFOFz1tSMyhQ4fU1dWlW2+9VTfeeKOeeeaZ8mvDw8NqaGio4ugw17355puyLEv79u3T559/roceekhHjx4tv84cRbU1NjaqtbVV6XRara2tymQyOnz4cPl15iiq7dVXX9XVV1+tDRs26NChQ7r99tvl+375deYoTFHZV1mal3V1dRoeHh73fGWIMw2VNiTi559/1h133KEHH3xQN910kyTp4osv1sDAgCTp/fff15VXXlnNIWKOe/311/Xaa6+pt7dXy5cv17Zt27RmzRrmKIyxcuVKffDBB4rjWD/99JNGRkZ01VVXMUdhjIaGhvJN7vz58xUEAX/Xw0gTzctLLrlE+/fvVz6f19DQkL7++mu1tbVVeaSTs+I4jqs9CMw+3d3deuutt9Ta2lp+7uGHH1Z3d7d831dra6u6u7vlOE4VRwkUdHZ2asuWLbJtW5s3b2aOwhhPP/20BgYGFMex7rvvPjU3NzNHYYzh4WFt2rRJR44cke/7uu2227RixQrmKIzwww8/6P7771d/f7+++eabCedlf3+/du3apTiOddddd6m9vb3aw54UoQ0AAAAADMbySAAAAAAwGKENAAAAAAxGaAMAAAAAgxHaAAAAAMBghDYAAAAAMBihDQAAAAAMRmgDAAAAAIO51R4AAADVsnv3bu3du1ejo6P67rvvdOedd6qjo6PawwIAYBwqbQCAOS2Xy2nHjh168cUX9dJLL1V7OAAAnILQBgCY0y666CJJ0pIlS+R5XpVHAwDAqQhtAIA5zbKsag8BAIApEdoAAAAAwGBWHMdxtQcBAAAAAJgYlTYAAAAAMBihDQAAAAAMRmgDAAAAAIMR2gAAAADAYIQ2AAAAADAYoQ0AAAAADEZoAwAAAACDEdoAAAAAwGD/BzgByjwUkGsFAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "greedy_data['time/n^2'] = greedy_data['time']/greedy_data['n']**2\n", + "plt.figure(figsize=(15,5))\n", + "plt.ylim([0,6e-7])\n", + "sns.lineplot(data=greedy_data, x='n', y='time/n^2', ci='sd')\n", + "sns.scatterplot(data=greedy_data, x='n', y='time/n^2', alpha=0.1)" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA20AAAFFCAYAAAB/kgW4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdeYxcaX3v/8/Za+vd9nif8XhmgGEN82O7IRBI7k3yu5cLIRACAoRQooQgEpIoLCM0AaGAyCIRIpFhkFAEQsOSEIHyQ5BcJUEkNyFcLhACMwPMbntst3up/ezn98epqq5uu93u7uruU+33S7Kq69SpqsfV1VXnc57n+T5GlmWZAAAAAACFZO51AwAAAAAA6yO0AQAAAECBEdoAAAAAoMAIbQAAAABQYIQ2AAAAACgwQhsAAAAAFJi91w0Y9t3vfld/8id/ok996lObvu8rXvEKTUxMSJKOHz+uD37wg6NuHgAAAADsusKEto9//OP60pe+pHK5vOn7BkEgSVsKewAAAABQZIUZHnny5En9+Z//+eD6Aw88oDe84Q16wxveoLe97W1qNpvr3vf+++9Xt9vVm9/8Zr3xjW/Ud77znd1oMgAAAADsOCPLsmyvG9F35swZ/e7v/q4+97nP6Zd/+Zf1gQ98QLfccos+//nP68yZM7rjjjv0R3/0R6vu8/a3v10nTpzQd7/7Xb361a/WI488ol/7tV/TV77yFdl2YToSAQAAAGBLCptqHnzwQb3vfe+TJEVRpFOnTulFL3qRXvSiF122bxiGuvHGG2UYhk6dOqXp6WnNz8/ryJEju91sAAAAABipwoa2U6dO6UMf+pCOHj2qb33rW5qfn19337/6q7/SD3/4Q733ve/VhQsX1Gq1dPDgwV1sLQAAAADsjMKGtve+97165zvfqSRJJEl/+Id/uO6+r3rVq/Tud79br33ta2UYhj7wgQ8wNBIAAADAvlCoOW0AAAAAgNUKUz0SAAAAAHA5QhsAAAAAFFghJn4973nP07Fjx/a6GQAAAACwJ86ePatvfOMbV7ytEKHt2LFj+sIXvrDXzQAAAACAPfHKV75y3dsYHgkAAAAABUZoAwAAAIACI7QBAAAAQIER2gAAAACgwAhtAAAAAFBghDYAAAAAKDBCGwAAAAAUWCHWaQMAAACAneZHieI0k20aKjnWXjfnmhHaAAAAAOx7y51QQZwOrvtRoumKu4ctunYMjwQAAACwr/lRsiqwSVIQp/KjZI9atDmENgAAAAD7Wpxmm9peNIQ2AAAAAPuabRqb2l40hDYAAAAA+1rJseTZq6OPZ5tjU4yEQiQAAAAA9r3pikv1SAAAAAAosnEKasMYHgkAAAAABUZoAwAAAIACI7QBAAAAQIER2gAAAACgwAhtAAAAAFBghDYAAAAAKDBCGwAAAAAUGKENAAAAAAqM0AYAAAAABUZoAwAAAIACI7QBAAAAQIHZO/GgURTpXe96l86ePSvTNPX+979fp0+f3omnAgAAAIB9bUd62r72ta8pjmN95jOf0Vvf+lZ9+MMf3omnAQAAAIB9b0dC26lTp5QkidI0VavVkm3vSIceAAAAAOx7O5KmKpWKzp49q1/4hV/Q0tKS7r777p14GgAAAADY93akp+0v//Iv9cIXvlBf/epX9cUvflHvete7FATBTjwVAAAAAOxrO9LTNjk5KcdxJElTU1OK41hJkuzEUwEAAADAvrYjoe1Nb3qT7rzzTr3uda9TFEX6nd/5HVUqlZ14KgAAAADY13YktFWrVf3Zn/3ZTjw0AAAAAFxXWFwbAAAAAAqM0AYAAAAABUZoAwAAAIACI7QBAAAAQIER2gAAAACgwAhtAAAAAFBghDYAAAAAKDBCGwAAAAAUGKENAAAAAAqM0AYAAAAABUZoAwAAAIACI7QBAAAAQIER2gAAAACgwAhtAAAAAFBghDYAAAAAKDBCGwAAAAAUGKENAAAAAAqM0AYAAAAABUZoAwAAAIACI7QBAAAAQIER2gAAAACgwAhtAAAAAFBghDYAAAAAKDBCGwAAAAAUGKENAAAAAAqM0AYAAAAABUZoAwAAAIACI7QBAAAAQIER2gAAAACgwAhtAAAAAFBghDYAAAAAKDBCGwAAAAAUGKENAAAAAAqM0AYAAAAABUZoAwAAAIACI7QBAAAAQIER2gAAAACgwAhtAAAAAFBghDYAAAAAKDBCGwAAAAAUGKENAAAAAAqM0AYAAAAABUZoAwAAAIACI7QBAAAAQIHZe90AAAAAANgNfpQoTjPZpqGSY+11c64ZoQ0AAADAvrfcCRXE6eC6HyWarrh72KJrx/BIAAAAAPuaHyWrApskBXEqP0r2qEWbQ2gDAAAAsK/Fabap7UVDaAMAAACwr9mmsantRUNoAwAAALCvlRxLnr06+ni2OTbFSChEAgAAAGDfm664VI9c62Mf+5j+4R/+QVEU6bWvfa1e/epX79RTAQAAAMCGximoDduR0PaNb3xD3/72t3Xvvfeq2+3qE5/4xE48DQAAAADsezsS2v75n/9Zt912m9761req1WrpHe94x048DQAAAADsezsS2paWlnTu3DndfffdOnPmjN7ylrfoK1/5igxjPKqzAAAAAEBR7Ehom56e1s033yzXdXXzzTfL8zwtLi5qbm5uJ54OAAAAAPatHSn5f8cdd+jrX/+6sizThQsX1O12NT09vRNPBQAAAAD72o70tL3kJS/RN7/5Tb3qVa9SlmW66667ZFnjWakFAAAAAPbSjpX8p/gIAAAAAGzfjgyPBAAAAACMBqENAAAAAAqM0AYAAAAABUZoAwAAAIACI7QBAAAAQIER2gAAAACgwAhtAAAAAFBghDYAAAAAKDBCGwAAAAAUGKENAAAAAAqM0AYAAAAABWbvdQMAAAAAXM6PEsVpJts0VHKsvW4O9hChDQAAACiY5U6oIE4H1/0o0XTF3cMWYS8xPBIAAAAoED9KVgU2SQriVH6U7FGLsNcIbQAAAECBxGm2qe3Y/whtAAAAQIHYprGp7dj/CG0AAABAgZQcS569+jDds02KkVzHKEQCAAAAFMx0xaV6JAYIbQAAAEABEdTQx/BIAAAAACgwQhsAAAAAFBihDQAAAAAKjNAGAAAAAAVGaAMAAACAArtqaGs2m+p2u6u2nT17dkcbBAAAAABYsW5o+/znP69f+qVf0ste9jJ9/OMfH2x/97vfvSsNAwAAAIBR8qNErSCWHyV73ZRNWTe0fe5zn9Pf/u3f6stf/rLuv/9+3X333ZKkLMt2rXEAAAAAMArLnVD1bqR2EKvejbTcCfe6Sdds3cW1LcuS67qSpA996EP61V/9VR0/flyGYexa4wAAAABgu/woURCnq7YFcSo/SsZiEfN1e9qe/exn621ve5uazaZs29ZHPvIRfeITn9D999+/m+0DAAAAgG2J0yuPFlxve9Gs29P2jne8Q9/4xjfkeZ4kaXJyUvfee6/uvffeXWscAAAAAGyXbV55tOB624vmqtUjn/e856nRaOiDH/ygJMnzPL3pTW/ajXYBAAAAwEiUHEuevTr6eLY5FkMjpav0tM3Pz+uee+7Rj3/8Y73+9a/fzTYBuAZ+lChOM9mmMTYfOAAAAHtluuKO7fHTuqHt61//uv793/9d73//+/WMZzxjN9sEYAPLnXDVZFo/SjRdcfewRQAAAMU3TkFt2LrDI1/5ylfqIx/5iO6991698Y1v3M02AbiKq1U/AgAAwP6zbk+bJN1444364Ac/qDNnzuxWewBsYNyrHwEAAGBzrhraJOm+++7TZz/7WQVBMNjWL0wCYPeNe/UjAAAAbM6Goe1d73qXXv/61+vw4cO70R4AGyg51mVDJMep+hEAAAA2Z8PQduDAAb361a/ejbYAuEbjXP0IAAAAm7NhaDt27JjuuecePeUpT5Fh5MOvXvjCF+54wwBcHUENAADg+rBhaIuiSA8//LAefvjhwTZCGwAAAADsjnVD25133qkXv/jFes973qNqtbqbbQIAAAAA9Kwb2n7/939fX/va1/QHf/AHCsNQd9xxh17ykpfo5MmTu9k+AAAAALiurRvaZmZm9IpXvEKveMUrFMexvvnNb+rTn/60Hn30Ud1999272UYAAAAAuG5tOKctSRL9zd/8jZ544gm99KUv1a233rob7QIAAACua1SKRp+50Q533XWXzp07p3/5l39Ru93WO9/5zt1oFwAAAHDdWu6EqncjtYNY9W6k5U64103CHtowtD322GP67d/+bbmuq5e+9KVqNpu70S4AAADguuRHiYI4XbUtiFP5UbJHLcJe2zC0JUmixcVFGYahVqsl09zwLgAAAAC2KE6zTW3H/rfhnLa3v/3teu1rX6v5+Xm95jWv0Z133rkb7QIAAACuS7ZpbGo79r8NQ9tzn/tcffWrX9Xi4qJmZ2d3o00AAADAdavkWJcNkfRsk2Ik17ENQ9tnPvMZffazn1UQBINtX/7yl3e0UQAAAMD1bLriUj0SAxuGtk9+8pO65557NDU1tRvtAQAAACAR1HbAuAbhDUPbk570JB05ckSWNT7/KQAAAAAYttwJNd/yFcWpHNvUwVpJ0xV3r5t1TTYMbc9//vP1sz/7szpx4oSyLJNhGPrkJz+54QMvLCzola98pT7xiU/o9OnTI2ksAAAAAGyWHyV66FJLzW482Nb0Y91+ZGosetw2DG2f/exn9eEPf1gTExPX/KBRFOmuu+5SqVTaVuMAAAAAYLuW2sGqwCZJzW6spXagI9OVPWrVtdswtN1www16+tOfvqn12T70oQ/pV37lV3TPPfdsq3EAAAAAsF1xkvUuU8VZJtswZFvmYHvRbRjawjDUy1/+ct16660yjHxtiD/90z9dd/8vfOELmp2d1U/91E8R2gAAAADsucmyoyRN1QxWetsmS7Ymy84eturabRjafv3Xf31TD/jXf/3XMgxD//qv/6r77rtP73znO/UXf/EXOnjw4JYbCQAAAABb5TmWpquuWn6iThSr4tiarrryxmA+m3SV0PaP//iPeslLXqKHH374stue+9znrvuAn/70pwc/v+ENb9B73/teAhsAAACAPROnmTphrGbQUSvIlKShOqGjOB3z4ZH1el2S9L73vU+/+Zu/Odg+vMg2AAAAABRdve3re48s64fzLSVpKss01WhlOjVbUc2r7XXzNrRuaIuiSK95zWtULpf19a9/XZKUpqniONbv/d7vXdODf+pTnxpNKwEAAABgix671NX9F5s63/SlTJIhpVmmZ13q6tjsGIe2l7/85XrBC16gj33sY/qN3/gNSZJpmpqbm9u1xgEAAADAdtWDUHU/VM02FaSZPNNQ3Q9VD8K9bto1WTe0ua6r48eP6/3vf/9utgcAAAAARmq65ChLM33vfGuw7SmHa5ou7ZPqkQAAAAAwzpI0U5JJZcdUlkmGISVZvn0cENoAAACAAvKjRHGayTYNlcakNH1RNaNYRydLqtiW/EQqWdJ0xVEzije+cwEQ2gAAAICCWe6EavrRILRNlBxNV9y9btbYOjpZkmEamql5g9dUynR0srTXTbsmhDYAAACgQPwo0aVWoHo3UpJmskxDQZyq5Fj0uG3RM07O6YcXmvr+ubo6YaaKa+ipR6f1jJPjUWSR0AYAAAAUSDuINd/01QqSQWgL40QzFZfQtg2HJsv68XxDYWTJc/Lr44LQBgAAABRIGCVabIeKkpUiGWGcKIySPWzVeHt4vqFvPrKgViAZltQKpG8+sqATs2WdOji5183bkLnXDQAAAAAwxJAsw1Q7iNXoRmoHsSzDlIy9btj4OrvY1VInVhin8sNEYZxqqRPr7GJ3r5t2TehpAwAAAArEtS3FaaooSZWkmdLMUJymcm2GRm6VY5tqBZGCeKX30ksMOfZ49GGNRysBAACA60SapnIsU1NlZ/DPsUylabrXTRtbhyY9HZ1aPYft6FRZhya9PWrR5tDTBgAAABRIJkMzFVeOZSrJMlmGoZpnK2N85JZVPVdPPz6tuaqtdpip6ho6OlNT1RuPZRQIbQAAABgJFoMeDc82VfFsmYYUxqlc21TJteWNyVC+IvJsUydmq6p5ltphrKpra6ZaGpvXdDxaCQAAgEJb7oSq94pm1LuRljvhXjdpbE1VXJlGpoYfqxXGavixTCPTFItrb1n/Ne1GqYIoVTdKx+o1pacNAAAA2+JHiYJ49XyrIE7lRwk9blvgR4lsy1TZNRXFhhzbkG2ZvJ7b4EeJljuhLjS68uNEJdtSzbPG5jUltAEAAGBb4jTb1HZcXTuIFcaZJkorvUBhnKkdxGMRMIroQqOjH11s6XzdV5qmMk1TaSYdmynrxrmJvW7ehghtAAAA2BbbvHKBjPW2A7ttuRXq4UsdLbV8RYnkWFI3SvWsY6FunNvr1m2M0AYAwJigyAOKquRYlw2R9GyT9+kWVT1bJcdUvRspSTNZpqGpsqOqx6H7VoVJqosNX00/UppmMk1DUZpvHwf85gEAGAPLnXDVAbEfJZoekwn0uD5MV1xOLIxIybHk2qYsw1Bm5CX/XULwtqSp5FmGznTCQRA+UHU1LkvfEdoAACg4ijxgXPB+HA0/SuTZljzHUBpKnmPIs8enaEYRxWmqOEk0WXIUJ6lsy1ScJIrHJLUR2gAAKDiKPADXlzjNdHa5o2Y3liQ1/UTdKFXVm9zjlo0vMzNk9RYn78c0S4bMbDzmXRLaAAAoOIo8ANeXbhCp2Y0VJulgKF+zG6sbRKoxr21LTMtQZqSacE2FqeSapjIjlWmNx+cov3UAAAqOIg87g/lXKKpMhqI0VTuIB9uMkq1M4xEwiihKUqUy9H8eW1IqyZT0/NOziihEAgAARoUiD6NFYRcUmaFMjmmq4liK4lSObcoxTRliSPRWXWq09f1zdRnKZCoPbd8/V9elRnuvm3ZNCG0AAIwJgtpoUNhl53BiYTTKniPHkuabkcI4kWtbOlqyVPacvW7a2PGjRK0g1qV2rHaQqhHkf/uWKVlOpuWh3swiI7QBAIDrCoVddga9l6OTJKmCOFMUJ/LjWIakIM6UjMlQvr2UpJlaQax6J9TFZqCmH8swJLf3VnTtvL/SlJSmmSa98Ti5QGgDAADXFQq7jB69l6PVCWOdWWrpzFLQ2xIpzlI9+fCEpgjCl+mGiZp+pIvNQIvtUGmWyTQMVVxLB2qeJGmp6ek5N07r/zy2rCyTLNPQHSemNFWt7HHrrw2hDQAAXFco7DJ69F6O1mLL13I3UckxlaaSaUrL3USLLV9HpscjZOykOEnVCmIttELNNwP5cSJJKtmWpsqOTOPyEzCWaajkpnrBqTl1/FCViquykco1zd1u/pYQ2gAAwHWHwi6j1e+lDOOV19S1LXovt8qQnH6Y6L01HdPU9Vo8MssytcNEjU6k+ZavpU4kSbJNUxXXUvUalkHIUqkTG/rh2UUlkizD0JOPTiobk+IuhDYAAHBdIqiNTsmxdLHpa74ZDNYVOzjhqeSU9rppY+nQRFkHJlzN17sK0kyeaejAhKtDE+W9btquCeJELT/WQjvUxUagOM17xiuOrdmKK+MKvWlX0wh8/eBsQ5da+eMYkuKzDf3kqYakwyNu/egR2gAAALAtfpTIj5K8uIORF3nobyMcb97BybIO1TxdbPgylSkzDB2qeTo4uX9DW5pmaoWx6p1IFxq+Wr2qjq5lqubZsrbZa9tsSRcakbpDxSLjRqJmd1sPu2sIbQAAANiWdhArjDM5tqV+UfowztQOYkLbFtQ7oVzH0s0Ha+oEsSqeLdexVO+E+6oQiR8lavqx5pu+FlqhkiyTZeTDleeq3kifq1SRap4tx8yHQxqSSq4hZ7RPs2MIbQAAAECBNLqR6p1IfpTKNE35Uap6J1KjG411aOsXEFnq5EMeu2EiGZJnW5ooOdvuTbua2bKrZxyv6ftnWpLy0Hb7sZpumpnYseccJUIbAAAAtqXq2So5pprdSHGWyTYMTZSdayoQgculStWNklXbulGiVOO1TluWZer0yvFfaARa7obKspUCIpXa7r0/piplHamUFNwg+UGkcsnVjRNlHZsbjyGn/CUBAABgW0qOJdc2ZRiGjCyTYRhyWUZhy2qeq1rJVstfmYBVK9mqecXvZQvjfjn+QBebgaI4lQyp7FiaKW++gMiopMrk2rZma578kqVJ11Gl4kgGJf8BAABwHfCjRJ5tqepZCmNTrm3Isy0KkWxR1bN1craii42u/ChVyTF1aLJcyJ7LNM3UDmMtd/LFrZt+Xo7f6fWm2SVng0fYHXGSqR7F6saJkkQyDMmPMvlhtNdNuybF+80DAABgrMRppno3VBjnRR6COL9exJAxDkqOpZJjqew6cu18CYX+tiLoFxC51Ap0qZUv82AahsqOtaVy/LshUyZbhpI4U5Ck6gSxaq4tYzyWaSO0AQCA6xOLa49OkqSDwNYXxpmSZLzmYBVFv+fy0IS3arHyveq5TNJMLb9fQMRXJ0qUZXm4nPB2toDIqGSZFCX52m9xKmVJqqpjKc7GI7UR2rAr+GIEABTJcidUEK8ECj9KND3GVfn2mmWZKjlm74A4lW2aqpVsWdZ4zBcqmjjNg4RrW3KvsH2nZVmmbpSo2Y10sRVqsRUqU16Ov+LamquOX4QIwkjzoa9MhrI0U5QZuuD7Wm4zPBKQxBfjTiEIo+h4j6Ko/ChZ9b0kSUGcMv9qG+xeT0uWZcp6l8PbsTn9163RG3Lq2oYmy+6Ovp5Rkqrlx1poB5pvBgp7fyMlx9J0xZFZwCGPm9HxA2WZ1F+lLcukJMt0frkp6cjeNu4aENqwo/hi3BkEYRQd71EU2Xq9FbvVi7FfpdnqxbXTMRl2VkQlx9JD803NN8PBtihJdcNkaWTPkWWZ2mGieifUxWag5W4kQyvl+GteMQqIjEoaS1Eg3XeurizLC5E87dikknjj+xYBoQ07ii/G0SMIo+h4j6Lo1uutoFdo6+I001TZlR8lStKVwhl8329NvRMqzQxJmTpRrIpjK80M1TvhthbX9qNkUI5/vhkoTjIZhvIhjwUtIDIqiS89uthVOLT83aOLXSWdvWvTZhDasKP4Yhw9gjCKjvfozqn3ejA929zWgdv1ruRYl51c8FhTbFv63+trX0O+77cmiFM9stDSxUagJE1lmaaaQaxDE96mHidJM7WCeNCb1vRjGYbkWXlP2jgUEBmVZio1g0gTpZX3aDOI1ByTWjmENuwovhhHjyCMouM9ujMeW2zr0fmO2lGsqmPrxoMVnZyt7nWzxtZ0xWXe5Qj1v+/r3WjQ0zZVdnhdt6gdhDq32FUnipVmkmlIcZyqfSSUdPUhkt0wUdPP10xbbIdKs7wcf8W1dKC2udC3n9RM6YaaqwuNSJYhGYahY5OeamNSK4fQhh3HF+NoEYR3Du/T0eA9Onr1TqhvPbygs3V/cAB3qdXVVMmhx20beE+OnmlIqZFfYuuiJJNlpGqHicI4kms7mnBNRcnlIxbiJO0NeQw13wzkx/n4v5Jtaao8/gVEtiLLMi20Qz0439KDF1t6cL6tB843VPfzCWw1WypZ0k0Hq6pO73FjrxGhDbuCL8bRIgiPHoUzRov36GidWWzp0aWumn6kNJVMMx9uemaxpanK7F43b2zxHh2d/oma4RL1zGXdOsOQFluBzi101E0yla1ArioyjJUCIo1OpPmWr6VOXrK+X0DkelvQPMsyXWgEeUAb/Gur3s1fF9OQjs1UdNvhCUUdXyXPUck1VXUs1ZTq5kPj8Rl6ff1WgX2EL8HRoXDGzuC1G51WkGipFSrpV+NLpDgO1QqSq98R6+JEzWgxl3W0Wt1I8/VAfpgoSFMZiaknljp69FJXFxqR4jR/71YcW7P7vIDIsCTNdG65uyqcPTTfUrtXXcQyDd04W9Fzb5rV6YNVnT5Y000Hqio5ln70xLK++v2zSjOp44eKbFO+NAh3RUdoA3Dd42ADRTdZtlR2LHXjZDA/pWxbmiwTjLeCEzWjx1zW7UnTTGGSKkpSRUmmRy+1dK4d6PtnG4N9nnpsUufrDT3t+KHrooBInKR6fKmjBy+2ByHtoUvtwd+uYxk6daCqF912UKcP1nT6YE03zlXkrLOge5xEenTR14VGoEySY4W6YcpTd0xq/hPaAFz3ONjYGQw9G51Dk1XdeKCkH13oSGnvbPKBkg5NUohkKzhRM3r9uaxNPxr83U+UKETSF/fCWD+YdcNE3ShRJ4zVDfOTCHmB/3xoZL0b6j/PNrXsr5xc+M+zTf3Xpxzcl4EtjFM9stAe9J49ON/SI5fag7/JsmPp5oNV/bfbbxgEtOMzZdnrBLQriZJMJcdU2bGUGZJrmfJsQ3E8HuUjCW0ArnsUzhg9hp6Nlm0aOnVwUq5tqR0kqnqWjs1UObGwRZyo2Tl+nCiKUzm2qQntr8WZ15NlmaIk6/WSpQrjVJ0wUSeK1Q1SdaNYcZqp/+7KJJmGIcc0ZVuGSvblC1l/vyuVHGkiXnlPlhypPSZril1NN0z00KWVoY0Pzrf02GJH/XMmNc/W6YNV/c9nHh0EtCPTpW0XVKmVXKWSZqqOMkmeZcqQNFkaj+8mQhsAiMIZo8TQs9GzLFOuZWqmUtJEKZVt5tetTZxlxgpO1IyeHyW61AoURJkkQ0GU6VIrUMmxxv51HR66GMb5v3YYqxul6gax/DgZBI5+b5ltmrJNQ7ZlbGk9tFpFOlCxNVM2BhVjLSNTrTLy/96OavmxHry0UsHxwfmWzi131e/Tni47On2opueemhvMQTs04e3IHD3XcfTUGyb17bMNpUki17L0zKNTmq0R2gBgrIz7gUVRMPRs9JIkr8o3VdFgDSzXtpQk4zGsp4imKy6LlY9QO4jlR6mW2766UaqyY2q6WlI7iAv/2ToYuhinCpP8BNPw0MUwzj+7sl7UMGQMApljmZp2rJGHjLIt3Xq0poVGpDiWbFuam3RULvCR+3InHASz/r8LjWBw+8EJTzcfqOrFgzloVc1Wd6+ISsm2VTZN3X7DhPw40lTFVcWxVCkV+EUdMvJWRlGkO++8U2fPnlUYhnrLW96in/mZnxn10+w4zrgDwNb0h5iF8crnqGtbDD3bBssyVSYxI8sAACAASURBVHJW96qVHHratmO5Ew4Wgu5GhjKJIbzb9PB8Uz8+31AziDXh2brl8KSOTF19IeidlmX9XrJMUZz3lg0PXexEsZKrDF0sO7Zq3u5/dsUtqdVO9e3HG/k8N0nPv2lGcWvXm3KZK62B9uB8SwvtcLDPkamSbj00oZ9/6hGdPljVzQdrmirv9XDZTJ0s1XwrUJKlSjJDFceVxuSE4shD25e+9CVNT0/rj//4j7W0tKRf/MVfHLvQxlwM4PrEyZrRKDmWLjZ9zTeDQa/QwQlPJWdvD97GWb+og2cThEfBjxJdbPqDHhRJCuJkXwzl2yt+GOmbDy7ovgtNhXEq1za11I707JPTkrwde94kzeeShUmqaM3QxU5v6GK2ztBFxzI1WSrm4tONWPr7Hy7JHTov8/c/XNL/c/TArrYjyzKdb/h5MLu4UsFx7RpoTz8+NZh/dvOBaiHXiutEsRZbkVphojRNZJmGljqBGt3rtHrkz//8z+vnfu7nBtcta7w+/JiLAVyfljvhZVXPOFmzNX6UyI8ShUmiOE5l2+ZgG5+jW9OfgyVpsHAxc7C2rh3ECuNMUZwozjLZhiHJGouhfEV1/xMNPbzQ1vmGP5iDVbJN3f9EQ8dma1t+3H5xjyjOVg1dbAexOmGiKEllyFg1dNGxDNmmKcfKKwWO4xpm3URyTSkcOiR1zXz7TtnOGmjjIIoTdeNY7SBSmmVKZajqxmoH12loq1bz8sOtVku/9Vu/pbe//e2jfoodxVwM4PrTn0DvRyvfjkGcctZ9i9pBrIVWoG6YKk5T2Ym0kAWaq3q8nttAsZzRagWR2n48CG3Vki2J3uCteqLe0oVmW0cnS4pTyTalC822nqivP55vvaGL7SBWtxfO1g5dtAxDtpX3lFVde1+Wv5ek2Tnp2JSrs0srQw6PTbmanRvN42+0BpprmZtaA20sZJnSLP+/5eu0GYqydNATW3Q70nf5xBNP6K1vfate97rX6WUve9lOPMWOoQwwxgUT6EenP4F+mB+lnHXfojBOVO/kw5JyicLYUhjv4CliYBNs01A3TNQcOsNumgbf9dvgGoaecsTTgfKEmn6giZKnS91MjqSGHymKUwVRPnSx01ujLFgzdFGSLNMc9JQVdejibrjtwKxeenND//DQ0qDn8qU3z+i2A7ObfqwgTvToQmfDNdB+7qmHBz1ox2cq+y4QG4ahsmuq2VXvNTVVsi1ZY/LfHHlou3Tpkt785jfrrrvu0gte8IJRP/yOowwwxsFji+1VY7DrfqSTsyyyi+IwjHwtnv6ctjKfodu23Ak135uH5dqGDk6UGMK7RXGaL7Lb8Q11wlgV11bJMRlVswlr1yYzjEwzTkVnG10FidQIuzpcqcjMpG8/uqxMmUzlFRf7S1ZUxnTo4m7oholurVR04pllPR51dcIpq5TkJxuqpfULenTCWA9fag/C2UO7tAbaOLAsUyU7PxkQppnKtiHXMOWMyffTyEPb3XffrUajoY9+9KP66Ec/Kkn6+Mc/rlJpfIYcMAQFRVbvhJdNmm10Y9U7IT1uW1T1bLm2oU6Q5MP5TFMVzyrkROpx4NqWwiSf05ZmmZLMUJgkcm0+S7fKjxI91KvO1g/CTT/W7Uen+I7aosVWoMeXOopSyTEDycikG/a6VcVxtQIfw2uT9Q/105b0aD3UP/54afAYL7llRk+ZlWarfDdtVqpMj5nSE8uhJEuLCnVkytNBrZxY2HANtIqjWw7W9LzeGmg37+AaaOPAMk1lcaogSuSnUpZI06VMrj0eQz5HfkTynve8R+95z3tG/bC7ji9BFNXaQjkbbcfG+nPXLja68qNUJcfUbK3G58AWpWkqyzRV8xwlvZ8t01Sa8h7dqqVWoCfqXUXJygFbGCc6MlnSkZkxW223APww0qW6r04QqR1lqjqGLtV9+WGknax0WBRre8nCJJUfJr1S+Im66xT4uNraZN+PtSqwSfn15xzf3WqH+4VjmPncattQkmQK01QPzrd1sRHqXMO/4hpopw9W9dNPWpmDRlheLYgiNaJIpmXKMfMhp0t+V8tDSxUUGaeRgTHjrXNGaL3t2JgfJbrUDNSNMiWp1I0yXWoGOjRRIrhtQSZDB6qe6maoMEnlWqamyq5WyglgszpRvCqwSVKUZOpE41H1rGjq3Uhnlrv6ztn6oGjGs45Nqd6NdGyvGzcCm+0lG0WBj16BQXlDH5lBsrL9etcvutIJksG8vn7RlU4Yqx3mYblfFXO5G+p83R9c94dOzBZzDbTia7cCeWVLZteQGUmuLTllQ+cWmpKO7HXzNkRoA8bMVMVV3Y9WDZGcLNsMjdyGpVagph/LMgzJzA9emn6spVZAL8YW9E8gWKYpp3c5vB2bV3FtlR1LrSBWmmUyDUM1z1bF5Wt8Ky7Uff3HuYbCKK9cmFqG/uNcQ//lFl+3Fzy17UQv2SgcmJNOz5X04II/2HZ6rqQDI6p2uJfSLJMfJWoHiTq9wNUOY3WC3uveC12dIF4dyHr7tMNY3TC5pjmTZcdSxc1Hf8RJKtsyNFd1NVNxdOpAVf/zGUd1mO+lLTG7khGb+t7Z5cG2O26altnew0ZtAp/2wBg6OVuleuQIJb0v5IuNrvw4Vck2dWiyrGRc6gAXjOdYsi1DWZYfMmZZJtsy5NFruWUzVU8TJUstP1TYW+9uomRpprr/h/LthG6UyPUSnZquqBMlqjiWznY76kZ73y20F71ko3DL3Kyee6KuOM1HLFim9NwTk7plbvPVDkcpSbM1oSpRd831QRALVgewTtS7DBNt9G1gGvnJlYqbh66qZ2uu6urkjK2KZ6viWPlc6d4+Va+/r62qa6ni5Sdm+r+7i42u/veDl1TvhAqjVK6Tf9eb41LqsIBCSd96tK7W0OJ333q0rhceHo8zC4Q2YEx5jiWr9yWN7fFsU48vtXShHgwONoIk0bNPTu9108ZSnGaqlWx1gkhplMmzDdVKNpX5timV5Pd6V2QaYobg1jmWoRO1kuqdRL6kJEh0olaSs8MHxBv1knWCXi+Z0d+/H8jyiov2DvWSjULdj3RrqaxjTyvpfNDRYa+iSmSo7keqbnHoXj+wdq7Qw7XSo7U2kK3e51rme9umMQhRVddWxbN0ZLq0KlBVewFreJ+quxK8So450t9LnEhpGCmJUvlBKEuu0jASK6dsXT2RWkGyasHyVpCoPiavKaENGEPLvV62Pj9KKP29DZ0wVhQl8qN0sB5OFOUHA9i8JEm10ArUjvKeglTSQivQDRPjU0W4aJbagVrdRGmaKU4zWWmmVjfRUjvQkWmGSm3Wcr2t841Y//CjlcIZL711Rsv17Y2TWttLFkSpOlFvXbIwkb9mXbJMysNYb+hizRvfxaINQ/pux9fFVqgsy/TDrKHpsq3/Uq+o4a/t0VozxDBaG8Tyfa7lRE/JMVeHKdfSgQmvF7J6PVneUI/Wmp6uqmcXcsFo25TOd3ydX+6dTOyEOpx5YpT51k1Y0qRnqu6vHD9NeqYmxmQQCKENu4IlFEanv45gGK+8pv3tvLZbU++EimXq4ISrKM7k2IZimap3xqOiVNHEaaaldqj51srrlyQuPW3b0AljPb7Y1vmGryRJZVmm/DDVrTewPuNWNJpaFdik/PpPHlu/0uGVesm6vSDSDVN1enPJ+pkrk1atS+ZYpsoF7SW7VmmWqd6NtNAKtdgOtNAOtdAOtdgKdW65q8eXOuqsmbv1d/dduuJjGVIeqoZ6sWYqro5Nrw1Zq/epepbKQwFsXEPuRhYbLSVZqrlqSUEsebaUZIkWGy0dmirvdfPGRpplipNMcZqqZkrPOTWtf3twcXD7c05NqzYm57wJbdhx9AqNVpxmavqRWn48WFOsVrJZU2wbPDc/mOpGktt7a5YdS57LKc2taAWhwiRT2TEH8y7DJFMrCDVXYw7WVoRxoifqHTWDlb/7LMtP3mDzmuu8bM1EavjRdddLJuXfzWvD2EIr/3mxd32pHV528sU0pOmyq4mSrZmyrYNVR5aZf4ZOeLaedHRax2crl83lKjnWdbGg81ZFYao4kn54vqFUkinptsNVRSEDo/uGA1l+mUlDsw8zrcw1rHm2VJUOlx29+NYDCpNMrmVoxrOkMRmswFEedlS/V2hYEKf0Cm1DkqRabIVDE+YThXGqgxwMb9nhyapumGxrsR0OKvPNVl0dnqQXYytMmQrCRBfbK2sIHap6MkUI3qowSZWl0nIn6lWUM1VzbIXJ3h/AZVmmLNOg6Ex+2btN2crP2cr1bPi+/f03uD3Ldxg8T5rmCxCnvRCRZvlBXNp7wizrb0vz+6T5vMA0zTQ7LZ2cdvXY8kpv8MlpV7PT0rcfXdpXvWRJ2u8dWx3G+kEs7ykL1L5Cbf6yY2mu5mqu6uppRyc1V/UG1+dqnmarrmYqrizT0KWGr7/7/hldbEYKE8m1pEMTjl54+oAOTDI0erOiVPrRfFdnmtFgm2F19eKb97BRuyjNssFw434gy9YsHGMMBTLPMVV1bbl2PvfTtUw5Vl6gp6/RDvSDc0s6MlNWs93VRLUsv9PV8dnxmL9OaMOOWm84FMOkti5OMyXZ6gO1JEt5TbdhquLqmSdm9NhCa7C49sm5GlU5t8g0MiWSqq49WFw76W3H5mRZfrDS9RNNdwMZVUcLQag5z9FUx1e9FeliIy+xnvaCTKZMadYLNr0gMwhDvdCTpplSZYMgsxK8evftP066UgE036//uKvDVZ8hSUZeOXRwfdAvNfT/Wnuf4StXeNxVN2eSYRi958q39cNU/7EMIy9zv3J7//75DwcnJvTTp2f0tYcWlPXu9+KbZ3R0elKzY1SRsxPGg+GJC+2g11PWD2P59aVOqLVfD6YhzVZdzVZdHZ8u65nHpjRbc/NQVnV7P7ubWlKiE0Va7IZ6bKmjNJVMU7LtijpRJInQtllNX6p3Ah2fdAbv0XonUNPf6J7FtzaQJb3Po+GKqP0esqqXF3nZKJBdixMHqjo0Pamz9Y7akaRupGPTkzpxYDxO0BLasKPWq2xIxcPtmSi5CuJESZrJMg15Nr2W23VytqqpksMyCiPg2LYOT3q60PSVJJJlmbphwpNj85Uj5YEpStPeQUt+wBIn6WAUQhjnPwdxkvewZdL8ckvLtrToR/JTQwt+pMwzdaHRUWqa0lWCTG/TukEmv91YCTa9/YxeT9PK/Y2h2/v7judnedW19aRySaeeeVxnopaOOzW5cSbXKsZnaZJmWuqEq4cr9oNZOxyEsystUVD1LM32wteJExXN1XpBrLrSQzZVdkY+lHOp1dGFui/XlBLlVXgv1H0ttTo6OTcx0ue6HtQy6fhsWQ9d7A623XyorFrBz31dNZAZ+UmXwfIInq3yiALZtZgoObrj9CHNzTfUDCJNeI5uOjipidJ4LEzONyh2VMmxLhsi6dkmQyO3oerZcm1D0spr6NoGc9pGgKA2Gp5tquxamnActRWr6tgqu9a+Xlw7TvLe7jjNlCR5KIuTVH60NoytFGkYHDIPDmTyBZCt3r+SnVfDMwxD85eWdbaV6O8eWBg853970pxuj2PNjVHPUFFYpnTRtXVuqaMwttSwAx2dqeimHX6LZlmmdpjkvWHrDFdcbIVa7l7eO2aZxiB43TRX0R03zqwEsaHhinv1/ZqkkuekmiqVFWaSa0h+0lUBRvCOJcfMl6YYPi/iWIacPfwYHQ5k+cmmK/eQlZ2VQFZxbLlOPsTYtczBAu97Yari6vB0Sa5tDuYGz9bcsfnu5ygPO2664ursYkvNINaEZ+uGydpeN2mslRxLhyZK+vajC1poh5qruvqJG+cIwiNAldPR8BxLnSDWE82u4iRVw4pU9syxWly7Xykw6feK9YJYFKfqRnkPmB/lCx+Hg8WOjcGci3w400oA66+1VfO21sPRampVYJPy6y84srcLF4+rJJU6QaQozRSmqYzUUCeIthUwoiTVUqc/VPEKwxV7Ie1K64ZNeLbmaq5mq55OHagOhbGVOWSTZafQhTtcUzpQKykIDaVJJscyVCuXRD2nrVlMpU6Q6PhMaTCqphMkWtyhENwfir02kJnGyrBq05BKtlXIQHatxnlUDaFtHRy8jc4Pzi3rPx9fVDOMNeHaetqJWLcfHY9Jn0X19Qcu6D/OLKkVRqq5jlp+rJf9xIm9btZYo8rp6Cy1A9W7kbrdSPUw0pTrqN6N9nxNsbVniOM07x0LokR+f0hib2RA1Dt6XzsbyzRWAphpGPIsU5VdKFBRTy5vi9Hbjs3rRrGaQazldqAolRwzVskx1Y1izWj1332WZWoFcW94Yh7GFtcMV1xshap3o8vm4tmm0Qtdnm4+WNNzbnIH1/uXM1VnXwxxN2MpSkw9cL4+qHb4lGNTMlnucktsQ3pkMdCh2srQvYutSPYWPmr6gWy40uKVesiGA1nZseQ51lgFsms1TkFtGKHtCjh4G535Rlf/6z/P6T+faClJElmWpfN1Xwdrng5Oss7IVvzg7KL+/gcXdN/5xqDS4YVGqNOHqrr9GGfdt4Iqp6PV6IT6v48t6r4nWoP36FM6gZ56ZHKkoe1KByJxmimM89+nH/eGJEb5sMS8N0yDSf39S8s0ZRkrvWLVAq79NDsjHarautheOQI+VLU1O7OHjRpTaZapGyWar/u990esdmZqqd1UlBhKMg3mkfXD2ZWqdE6VncFcsVsP1gbDE/s9Y7NVT5Mle2zn/W2W35V+dL6lZX/lTMKPzrf0kzfM7WGrxtfsjPSTp2b0Tw+urCf406dnLvub30wgK3u2yo6zKpA5vTC2XwLZfkZoW4ODt9H6/pllfedMQ4vtqDdsKNZ3klTPOLOsn76d0LYV951d0g+eqMuPVt6nP3iirvvOLhHatogqp6N1brmrpaClF948o+V2S9PVmn68vKRzy109aYNe9vWKdPQ/m4N+CEuSXm9YPnZnOIiZMmSaK/PDHMsc+zWhbjs0p//x5Ib+9r6Lg//r/3jynG47tPsHxP2qlMNBuf97GszrG7ot7t2WDzVdve/an6M0UzL0OKv36z9er7d0+Dn775V06LGS1e3o3361P+vvPtGUa5m9oYqubj00oeffvHrOWD+oXe8HuVlvflPSu2xm0nw7Uisc2keRmpm0MLT8h7QylHj1tvWrhq7aZ81OVwrFV/xLNzbe51oD9tq9rnQ340rPcA2b+o9106E5PflgVyVHg8W1b5qu6oaZaS32Xs+1gaxkO6q4lwcy2zSum5MH+xmhbQ0O3kZruZufrRw+S7nQzrTcDa5yL1xNJ0rkR6naQXLZdmxNv5ppww8Vxakc29RkyaXK6RZ1wkQvtEp6LErkp5nCKL/e9CMtd/LFeaN4pUBHf1himKwsXTF8lljSqp4wyzRUcWyZ7vhWL7xWaZapHcS6sOyrnNn62dMHdT7qasYsqd3J9E8PXJRpGUMhJg8qUa8gyqqQMzQkdG3IWXX9ivdbXYBgp78RrV7ozheuNlddtyxTTu99YPcOSMvuyiLXwwteW/2fh26zTEP1jq8fztdVNm1lMjThWUrNWC976nE9/eSBff++uppk6Hfff1+lQ0lp0EttSK5lyrMtlT1LVUOyjOESWfn1qiE9/diUpCuHsrUhLN/vihuvdnWwbMXax177WMPrCPbvd6WnurbHuvJzbtD0wdIZlz3Wmju97Dk36VuPX9DigjQ7J/3Mk47ngcw05dgEsusNoW0NStSP1kTJlWMZGl6z07EMTZQYbrpVs9WKZivOqtA2W3E0W927uULjruRYemi+qfP1QEmWyTIMHZ5KdQMLwkrS4OCtXzksTvP1u5IsvwyTvCBHP4x1/I7+LUz1xW893nuEBb386Qf1wtDXdx9fvqxIR//A3Bvz3rCrybJMfpSq6Udq+LFaQTz4uelHaq66XPm5FcTrBKRm7/Lius+5ElxWgky/59EahJg82DimIc82ZVt2vq819LtZG4KsoV5Mc/Vj9UOUddn9hp63d5tlGZeFr/7tO30Qev8jFzTtZWp0M3UzqWxIk2VXbpbuywPglQCWKk3zXtIku/IJEscyVbIt1TxLbq/as+eY+e/ayn/n/d/38Gv1f79/QbcdrumBJ5qDbbcdrsk2pbkaFU636qm9wAsQ2tbol6hv+tGgEMlEyWFo5BbdcnhCzzoxpYcuduQnqUqWqZsPVXTLYdZs2arbDtf0tGNTMk1TcZLItizdfmRCtx2mKudW1TuhWn6iqFeAwrFMtfxE9U44thOWh/UDVv/ArR+2kqHekyjJL8M47ZWrz8NYnKwMJxueBza8xTCMQYEO05Ray9IXvze/qg1f/N68njU3rScfH/+DtyhJ1fJjNYbDVrASthp+fPntfnzVERtlx9JEye79c3Ro0tNEycmve7biJNU3H15QGKfKjPzEwoRn6xXPPq7jM9XLe6M4+351Sd4jfKEdKwgTea4l27LzBcbGRP9ESr+XNP8bT1f9jfbfcbZpquSYqni2SrY5WHrHtlYCmG2avRLzW3vfzB4q6eiCI8eYUphIriUdnLI0e4iTX8AoENrW4cfJYJjUhMZj0b0iumGyolsOVdXsxGpGkSYcR7ccquqGSXqFturQZEU/ceOsJquWGm1psiqdPjClQ7ymW9b0Iy22QzX9UEGcyLMtZb3tRQhtw6ErHQ5fve1xnAesKEl7Zen7QSz/txK6Vpfh6B/QmWtCl2lsbwjiehUNi1bpsD/0cLh3q3GFELa2F+xKCxr32aahyZKjWi+AHZsua6I0MQhjg0svv72/70bzo370xLJ+fLGhS01fcZLJsKSSa6lim/RibEG3Kz24EOiB8+3BNv9wVT+xxzUzhv++h+f89RdE78ukQXXrkpsHsFIviPV7Lp2hoaLmLowW+u/POqnHz9VlJh35qVQypSdNVfTfn3Vyx58buB4Q2tbwo0SXWoGCKD+wCaJMl1pB/oFIb9umLTS7qnczVTxbpmGq5JqqdzMtNLs6NkvP0FZYlqkj02V1w1jTpUQV19KR6bKs63xS/HYkaaqL9Y4eW+oqihM5tqWTM2UlR0bzHs2y1XNDkjRTmioPXP01wJI0H2aY5KErTjJFST7PK816wSmT+mFrVWWwXuGN4dBlGqsXZ95Ns3PSlGepPjSEd8qzNLtDB8SDoYfB5cMLLx+CeC1DD/PXt+at9HzNVFydnK1oouRocm0A6/WG5aMyzB15vW1LMo0kXwcrkjwnv74PKsXviSCRHrjQVjBUd+yBC20Fp0f/XP3qfmvD2Oo1/fJLy8yXkfAcS5OO1esRM3tzl3q9Yr0hirsRxDbrN/7fp+v/+85jOlv3dWyqRGADRojQtkY7iHvzDkJFcSbHNiS5agcxoW0Lzjd8zTd8+XGqMMukONV8w9f5hk9o26JubwHYw9MVdcNYZddWkubbax5/0lsRpqkWL7Xkura6HV9Vr6bFSy2F6QFJq6uk9cNWkgwPOewtspysDCuM4qw3zPDy4hr9I7RBT1cvdJnGSi+XaRj5BH/XHrt5Xkdrk3rV0w7o8/+xMkTyVU87oKO1yQ3vOzz0sBXE6wauhh+p1dvW6A1nX09/6GGt17M1GHo4FMomh26fKNmqesV63cMo0ZOmPAWGo6YfaqLkyssihRQg2pLQkmwzD299tplvvxbDJ2KG53mmWr24etZbnNiz83lhE7Ytz7byIGabg/lhw3P+xh1BDdgZHOFdwfl6d7BWm2ebmq4kOjLFmOytiOJMC91Qy51osG26kh/QYmsyGfLDROebviRpuRvr8ERpaFWW8dGv9pX1f9bqCl394lr9bVfaN99h/duzoXSU9kJXprxkeb90+Y/Ot2RHkaySrcCTyqZkRJG+9+iyLtTDfML+cLUx5QvHZnm1eRnKA1c/bJm9Hi/PyhcoLdLB/24wDOnWzNJvPPeYHu62NKWS0nqof3t4QYZp9IJYrNYVesE2Gno43Lt1dLrcC1qX93htZujhOMiCWPXU1LceWVCs/Mv7jpumlQWsXLwVk5JOzJT06KI/2HZipqRJSUGcDKpmJmuCmClDaS+IuXbeE1YtWSrZ+T/XMVcVZOn/DADbRWhbI01TLTYDPbzYkh+lKjmmTs3WlKaXL6yJjbmWoYplqGMZStNMpplfd63r6yB2lKI4VieK5VlSN4rl2rYafqiGH6ji2ZsPNL19+oEm7e/bCzRptlLuOcvU25ZPds9SKVU+56ofhPqPlfUvtfJYWe+x1mQgSb1eKKM31yrr90qtWbnHGKSkoX1W9Pccvm82dKNh9FbO6c0P6Q9ja9fbeiyVPvdPj/R2vqRf/okbdEMQqOZN7Yuz39cqyzIFcapOmKgdxuqGidpBPLjeCRN1gljtMFGnf31on06YDzuMkiucmPnxgqSrDz0c7vmaKDmqeSuhbKeGHo6Dbkf6l4cWdaG+cgLMTxf1tKmNey+LbtVnUrbyN9v/rJB05RM3Q58jae9K/hF0+XvP0MqnSSapNC3dfnRisHyBofx6aVr595Sb94yVbEuubckZ6g0jiAHYC4S2NZpBpLPLbV1qBuqGocquK9c01AwiHRSLQW9WtWRptlqS3ysF7timZqslVUsMNb2S/sLCcdKb05SmiuJU3ShREOfrsy20Aj1yqalHLnUUxalc29TJuYoqJUdnl4INA420UpDiWgJN/3EMo3e/we0rjzV8HN3fzzQlq/dMg8cyhh+vOAffP25Ln/v2hVXbPvftC7p9anKsAluaZYPg1AmGQlZvWztYCVrt3j6XXY/+//buPkaust4D+Pe8zJnZedmd2W23lLbbdltWWntpobWXGtqI/sHLlStp4F4gARO8RkkTBdHIRasYGhU1RuMfpBIIsQptE0gkJv5xAS16gUYLllugIKWwdOlu97U77+f1/nFe53SGbpednbO7349BZp55O2nPLvM9v+f5PXaV4XzaYhKSioRkXEZKkZBJxLCkPYGUIkHVDZwcVzmITwAAFl9JREFUKSBfMQBYiEkilrYruG7DxdiwIoekIs+pP9coGDeAoUkNwbra0KSG8SnOjqwNQLUXbuyw5P9GcC++eBdiUBuSrDq/YITQPfe9wp1Gw7+H3OmDbgfS4BRhAQIkyVmjKQqQBPt3iCSKEAD7d4wg2q8RBYgQIEn+7xz3943o3RYgiM7vr1WdODv0Ojr6ujE5WUJ7exLLYOHmK/um9gdKRDTLGNpChiYq6B8tYKKko2oC8UoFum5vbNq7eO5f0Zxt6XgMogx70bTsrNWR7fGFwl2E7oYwO5D5mwqXNQOqs8mwbtYuTHf/323lLYkCJAgYGlcxUdZQVTXElRjaJlRs6ZGRS7GL3HRMNPji22i8GTTDPKdiVXSqWufc1wwvgBVVA2UnkH3U1EKXKAApRUYyLiGpyEgqEhal4+iJJ5FU7ACWVGSk4hLaYhJScfs5Kee5ybiMNqdDXSMnz0zgN4ffwWUXZ1Eoq0i3Kfgwn8dFHQoyiYXzsz9Vwaq22yHUtOyLOO7thGSHlGBLelG0x8eKVS8A1Yvb7kUWN/yIggARTtAJrqUU7FAjwt0yoHaNZXAKMNyLM4J/wccbrxeWhMAFncBrBKF1F3D+6wsb8fu/v4v+VAI9HTK+sKW3JcdBRDQVDG0hY4UKhvIqXh8oeF+cP7ksjbFC5XwvpTpMS8DKzhQkQUBFs5CICVieS8K05v5Vdnd/K91pyaybFlTNRFnXUdVNVDQTVc3u/hec7ud+rZIEZ4NZZ/PZdDw2perD0EQJg5MlDBWqMHULomxAMC1MVlTkMgxt09GZs9eoBSdBi874+bidC+tVrOwA5gar+tMM3ft1pxOGKJKIZDwQoBQJuaSCVCCAuYEspchoC91PKvYanGZ/SS4Vq9i6KAMzmUBBsZBOJbA8bo/PN+FpxKZ5bvgKVp2CF2SC47Jkb3AtyyISkmTflgQokt05cODdcWxbmcVL7014n71tZRYZC9i6usurdov1KkwRqmpHDYMaEc0VDG0hY+UK3hkuIq/6lzPfGS5irMzQNh2yJCChyGiPixBgIRO378sRXdNmWRY0w27Drhn+HjkVzUBFN1FWDVQ1A1XDhGFaEAUBplW7SN0NYZLYnJbrk+USlmWr2LyiGxPVArLxNAbzZzBZLgHgpuVT4f49u1NO2+QE/m1dJ/7w5pj3pXrrigxeHyjjtVPvBaYZ6qFqmD02hdmEXshyq1kdbTEs7Uj41a24jGRM8gJYSrE7RwYD2VxpqCFZgAoRg6MlVE1golLCRW0ypIj1H2oUuGoqXRcYuOIx8ZzAJUl2FUsS/a0Z3IqV5FTQzyfdHcPiSRk71uag6oAiA9mUhHR3DG0Kp5sTEc13DG0hhg7IgolPdCdgWvZUorNlFQYbdE1LUpExfLaMEyNlb02bIEhIrlk0q8fhVsLcqphmWFB1ezpZVTPtyphuQKupivlf0iSnIiYJ9gL0eAs7AsZMIIEMnn37DAwNkGIlbFmaQWwe9coJh6qK7v492feD/646j4fvV+u8Lnj/o4KWBeDlD/J4+YO8vcm0UlvdWtKe8AJYUvGnEAYDmB26/IrXguogWQLePavh+XfGvKHPru3EJ2bwmsJUA5e7ThOWM3XPQk0Qm43ANRP+ffNqjHw4if44kC8WkUml0CPZ40RENP8xtIUkYsCqRWkcG5j0vrFvWNYOLsOYnjP5MsaKKkqqvV5LMy2MFVWcyZfRkVQ+1nubbghzqmJ2GLOnJbrrxSpOAw/T8he9e1UxwQ1h9hevZEyGFI/+F2vdAA5/WMCx0yVvzLAErO2evTWXrQ5V9cii4HV7szeklRCP2cEpl4p54/GYZD/mbFoblyVUVQNvnZ7AWEmDbuhIxRWszCXwuU8uw4quJKeXXaARoCawwbn/qeX27toXWuFyu98IFmAJfsfTuRK4ZsqdN2zEM0dOov9sG3o6YgxsREQLCENbmACouoml2ThM017orermua34aEpGz1YxVtIQl0VIBiBLwFhJw+jZKi5ZUv81blVMczYq1kyzNhBoflUMqP2rsZwvcm7jjphkf3mfT1WO4QJw7HSxZuzY6SKG1/r351uocp/faDwuix+rBfeJwXGgMoZMzyKMlwvItaWRz49D01UIQmra7zvfBLdyMEz/thkMYaZVs2FxUNUAxkrVBRm4ZgqDGhHRwsTQFjKZB2TJQqFqeqEtl7QwmW/1kc0N4bbQgiTAMExMVnRopgFZFJGOy1AtE4NnyyirTiBwQoHqVcXgLSJxq2Ju90RZFJGa5y3DK5qBQrV20+F8RUe+quGNU5N1X/Po397DY0fem5ehqtm0igoTCfzP8WHoBiBLZWxdloZWUVt9aB+bG6TMUMCyglWtwJzg2rVbtVtFiALsQCXYYSsmiZBEuztszLlYosgi+icm0JNT0D/u//n15BR0dgFXrV3sdQ8kIiKiqWFoC1FiwPHTRVRN/wtmsVLEtZfO/rGEA1CjfXXqPuc8rw22krYsC4YJmLCDqgV/epJlAkbg6rr9uPMlEP5r3bHaPXiAgqqhqhkYKVSgW4AsAG2SiLxq4K3BQk0re0USkYxJ8+rLXFU3UPBCl4Z81Q9ghaqGyYruPO6Es6p9XzUaL1CzK4hCTbfBXFJGTy6BizqSiMeCIWp+hKpmq1aA/+0/i+PDfsMhzTCwOteabT7sKta5Qcv9GfPXa/lTfv19yO15hO6eXO7PV0wSEZMFSKLfmVAWRcQk+zHBrWA5bd/dypYgBG9P7Wfzjiv78P5gGc+/dQYGAAnAZz/RjTu4BxYREdG0MLSFaCawKB1H/6jfmnpRVxyaCYwV1ZYEICFQcQKC+3dZ3hMsK7yRqf9kywqNuRsp19lEObiBsuhdefc3T3Yfl6X6myaHv9TpuokrFRnFVTl8oBWwIpZGqqgjIUroTH28NW2zSdVN5CsaClXdCVpO4KoGApl33w9gqv7R4as9EUM6ISOTkLE0m0BfPIZMQrbHnNv+PzGk4zJ0zcCfj36ANycqUFVAUYB12QSu3tSDVBsXX07HeBU1gQ2w749PsUN9OGAFf8ZrqluhDYfrdSME7HNDlkQ7oMsCYqLkTPu12/7LoghZ8qcN2vtv+Xto+Xtrta6itfvGjVj58tsYGwU6u8DARkRE9DEwtIUost09csPypDNNCihVNCgA/m9gYloByN1U1B6ffgCai0qqhr8bGg78+ZQzMoL/vGIJrlI1AG2zfjyaYdaErLwTssLVsEJFx6QT0vIVe9+1RmRRcIJWDO0JGUvaE1jbbYesTNwOYF44izvjCXna+2WNVDT0CgJSKzowViygM5XGkoKKsm4gBYa2C+GGLaFBx3RBAkaL1cZLWp0LJm4XQkkU7KmCsrOmUraDl7u+UpIErwGOu6lxlILWTGNQIyIimhkMbSFpRcDqxe148cSoN/bpNV1IJoHOJDcuvlCjhTIOvDJUM3bglSGsW9qOVYunP/VMM0w7aAUqW8Gg5VbDwtMRK1rj8CU54csNVkvaE1gTCFlutcsNYhmnGpaINX+z4qCxs3kcLRdRVXWUVAv5agmDRhWbz+axKJOYteOICsvbyLh2U2N3LFzdAvyqtSjYYaszC2xb1YGX3jvrPWfbqg50ZoH1F7fXTA/0phA6gcsNYERERETNwtAWUjUtjBTKWNOd9vZpGymUUeY+bdMyUb9nhjeuGSYKdSpbNQ04qk4AC6z5KmsN2tPBCV9esIphcTqO1YtSaHeqYXYo86cbtjvTEdvmyHq6StnEkCriuX+e8cY+d0kOlfLc3ajNbZZhOFMKDa95hh2+wk0yRAheS3i3OUZMEqHIdpVLkUSvC6FbAfP+CXQfdJvZfHrNIrw/WIYsAboOyDKwfnEGt7FSRERERBHA0BaimUCqTcf6iy5CoVhCOpXEG4ODMBpnhMgJVhp006k4uLetwO3gP1bovmnBME0YFvzbpr3mzh733980A7dDn3smX6p7jI///ST2vvzuR4YvUUBNsOpKK1jVlfKqXu50xHSoGjZXwtd0aVXguX+O14w9989xbF82uxuWh7nnXbDK5Y65a0Fr12P667hEAVBkCTFRREKxQ5csCYjLEhRZ9LqHioHGNcGxmfDfN27Eb7gGi4iIiCKIoS0kKQDdqRwefqHf+5K5Y00Wp0aLMMVRJ+DYe4mZ4eBiWdCNc4ORGRg/f1Ca3ngwPF1gp/cZ467PkUXRborgrNNJxkSUAtMSL25XsHpxBl3peM10RG/NV5tdDUsq8zt8TdeEAeQSEsYrfuDNJSRMzMCFhdqphaGqV2CaYbglvNth0O5QaG8LYFe67LG4LPp7bUmhaleEphcyqBEREVEUMbSFlEvA748OecHHAnDoxAQOnZgA8OEFv1+96Vh1v7jWeV4sJl746wPjbhVCEuxmJ2Jg3KtUSP6XZrnBcTQ6vvB4vYD14XgRk8dPoZhJ+d0j80W0X7ocF+e4afF0dHbZ3Umzcb9FvwkTnV21XQzDa7vOF7wAZ5qh00BDkSTn3374Cv/dB/fPY8AmIiIiag6GtpAxFQg3ChQB3LxxOf61rysUfvyKkuxsOCuKgCyK864L3HRNThbwN1PEwT+/54yM4D8uX4JPTRYY2hzBoOW1ig9vgOxUuyAAPbksbtq0DPuPnPLe45bNy9GTy2KirEJ213PJgh28nLVdcVn0Qr177gbPYQYvIiIiomhiaAvJSkA6DmTaFOiaATkmIV9WsS7XhkuWZFp9eHNOMQ8cfLW2e+TBV4ewvqM1mxbPBDdAWXA3QfYDl2H5myIHJ6o2qmy5j4XbxcdEyb4wENgAWZZEpzU8sGlFFisvavPWX92yZW1NYw0iIiIimj8Y2kJSSeCGDUvw5JEh50u2gVs3L0Eq2eojm5sarbOaifVXU9Fw02NnuqC3+bllQRD89VnBVCUIgv+4BW86oLvvVszZ9DjmVFhjzqbINXtyOVVY0atoITA+vaDF9VdERERECwNDW0hZA17pH8HnNyyGZlqIiQJe6R9B3xyuDLVSZ9eFjc90FctujuJucOxveiy7QcsJWDFJ9PbgEgU4Gx/X7sflVrk4hZCIiIiIZhNDW8hYBXhj2MAbw8O149rsH4tl2fHDgl3hCT8W7hJpBcJM8Pnu7eAr/DF4N8KvDb5/8FgQetyyrJqdi4OFqp5cFl+6cjkefdlff/WlK+31V2PF6jmfI4t+qJKlQLia5SoWEREREVFUMLSFpKXG4+OlqhOMfOEqT81gqPYTDllCvTFnCp7g3AbsMGI/ZgcSAX61R6wZd/4nuq+zxwB44UV031ewNyh2H3OPNPiZAuz3dXNP8PPdYwq+1t8AWfDeRwDwL8s6atZf3bhpNatYRERERERTxNAW0pEFPr9hMf5wzK+0fX7DYnRkgY0rcjVhBHCCjHfbfcwPLQg85j4z+B5uSAm+x3wMLlx/RUREREQ0PQxtITdf2YdTg0dxy6ZulHUTbbKIJQkFNzN0EBERERFRCzC01XHPjRvxm5ff9qbzsUpEREREREStwtDWAIMaERERERFFgdjqAyAiIiIiIqLGGNqIiIiIiIgijKGNiIiIiIgowpqyps00TTzwwAN46623oCgK9uzZg5UrVzbjo4iIiIiIiOa1plTann32WaiqigMHDuDee+/Fj3/842Z8DBERERER0bzXlNB25MgRbN++HQCwadMmHDt2rBkfQ0RERERENO81JbQVCgWk02nvviRJ0HW9GR9FREREREQ0rzUltKXTaRSLRe++aZqQZW4JR0REREREdKGakqSuuOIK/OlPf8L111+Pf/zjH+jr++iNqgcGBrBz585mHAoREREREVHkDQwMNHxMsCzLmukPdLtHvv3227AsCz/84Q+xZs2amf4YIiIiIiKiea8poY2IiIiIiIhmBjfXJiIiIiIiijCGNiIiIiIioghjaCMiIiIiIoowhjYiIiIiIqII4+Zp1BSapuH+++/HwMAAVFXFXXfdhbVr1+K+++6DIAi45JJL8P3vfx+iyOsG1Fqjo6PYuXMnHnvsMciyzHOUImXv3r14/vnnoWkabr31VmzdupXnKEWGpmm47777MDAwAFEU8eCDD/L3KEXG0aNH8bOf/Qz79u3D+++/X/e8PHjwIPbv3w9ZlnHXXXfh6quvbvVhN8SfImqKZ555BtlsFk888QQeeeQRPPjgg/jRj36Eu+++G0888QQsy8Jzzz3X6sOkBU7TNHzve99DIpEAAJ6jFCmHDx/Gq6++iieffBL79u3D4OAgz1GKlEOHDkHXdezfvx+7du3CL37xC56jFAmPPPIIvvvd76JarQKo/9/34eFh7Nu3D/v378ejjz6Kn//851BVtcVH3hhDGzXFtddei69//evefUmS8Prrr2Pr1q0AgB07duDFF19s1eERAQAeeugh3HLLLeju7gYAnqMUKX/961/R19eHXbt24atf/So+85nP8BylSFm9ejUMw4BpmigUCpBlmecoRUJPTw9+9atfeffrnZevvfYaLr/8ciiKgkwmg56eHhw/frxVh3xeDG3UFKlUCul0GoVCAV/72tdw9913w7IsCILgPZ7P51t8lLSQPf300+js7MT27du9MZ6jFCXj4+M4duwYfvnLX+IHP/gBvvnNb/IcpUhJJpMYGBjAddddh927d+P222/nOUqRcM0110CW/VVg9c7LQqGATCbjPSeVSqFQKMz6sU4V17RR05w+fRq7du3CbbfdhhtuuAE//elPvceKxSLa29tbeHS00D311FMQBAEvvfQS3nzzTXz729/G2NiY9zjPUWq1bDaL3t5eKIqC3t5exONxDA4Oeo/zHKVWe/zxx3HVVVfh3nvvxenTp/HFL34RmqZ5j/McpagIrqt0z8t0Oo1isVgzHgxxUcNKGzXFyMgI7rzzTnzrW9/CTTfdBABYv349Dh8+DAB44YUXsGXLllYeIi1wv/vd7/Db3/4W+/btw7p16/DQQw9hx44dPEcpMjZv3oy//OUvsCwLQ0NDKJfL2LZtG89Rioz29nbvS25HRwd0Xed/6ymS6p2Xl112GY4cOYJqtYp8Po8TJ06gr6+vxUfamGBZltXqg6D5Z8+ePfjjH/+I3t5eb+w73/kO9uzZA03T0Nvbiz179kCSpBYeJZHt9ttvxwMPPABRFLF7926eoxQZP/nJT3D48GFYloV77rkHy5cv5zlKkVEsFnH//fdjeHgYmqbhjjvuwIYNG3iOUiScOnUK3/jGN3Dw4EGcPHmy7nl58OBBHDhwAJZl4Stf+QquueaaVh92QwxtREREREREEcbpkURERERERBHG0EZERERERBRhDG1EREREREQRxtBGREREREQUYQxtREREREREEcbQRkREREREFGEMbURERERERBEmt/oAiIiIWuXpp5/GoUOHUKlU0N/fjy9/+cvYuXNnqw+LiIioBittRES0oBUKBezduxcPP/wwfv3rX7f6cIiIiM7B0EZERAvapZdeCgBYunQpVFVt8dEQERGdi6GNiIgWNEEQWn0IREREH4mhjYiIiIiIKMIEy7KsVh8EERERERER1cdKGxERERERUYQxtBEREREREUUYQxsREREREVGEMbQRERERERFFGEMbERERERFRhDG0ERERERERRRhDGxERERERUYQxtBEREREREUXY/wOZmoSo8pwSHwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "greedy_data['time/n^2'] = greedy_data['time']/greedy_data['n']\n", + "plt.figure(figsize=(15,5))\n", + "#plt.ylim([0,2e-7])\n", + "sns.lineplot(data=greedy_data, x='n', y='time/n^2', ci='sd')\n", + "sns.scatterplot(data=greedy_data, x='n', y='time/n^2', alpha=0.1)" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA74AAAF1CAYAAADPzjZfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzde5RdZZ3u+++8rmulKpUbISGIkYgNRgKtjdum3YlwtD1N0004ScgRemjEVk97AYeajUIjJoDdinSj0A1qjza6d4LoOcrQM9qG0IaDvXUkENwoFymSgkAglbqv27y+548iFYqkUklVrVUrVc9nDEey5qq55jvLMZh51u99f69ljDGIiIiIiIiITFP2VA9AREREREREpJ4UfEVERERERGRaU/AVERERERGRaU3BV0RERERERKY1BV8RERERERGZ1hR8RUREREREZFqrS/BN05QbbriBtWvXcuWVV9LZ2Tni/e3bt7N69WrWrl3Lvffee1zn3H///axdu3b49b333stll13GmjVreOihh+pxGyIiIiIiIjINuPX40AceeIAwDNm2bRu7d+/m1ltv5a677gIgiiJuueUW7rvvPnK5HFdccQUrV67kscceG/WcJ598kvvuu49DWw53dXWxZcsWfvjDHxIEAevXr+dd73oXvu/X43ZERERERETkJFaXiu+uXbu48MILATj33HN54oknht/r6OhgyZIltLa24vs+559/Pjt37hz1nN7eXr761a9y3XXXDX/Gb37zG1asWIHv+7S0tLBkyRKeeuqpetyKiIiIiIiInOTqEnxLpRLFYnH4teM4xHE8/F5LS8vwe4VCgVKpdNRzwjDkC1/4Atdddx2FQmHE5x/tM0RERERERERery5TnYvFIuVyefh1mqa4rnvU98rlMi0tLUc956mnnqKzs5Mbb7yRIAh49tln2bx5MxdccMFRP+NY/uiP/ohFixZN1i2KiMhJxhgwgAVY1sQ/78UXX+RXv/rVxD9oBtOzWUREJtOxns11Cb7nnXceDz30EO9///vZvXs3y5YtG35v6dKldHZ20tfXRz6fZ+fOnWzYsAHLso44Z/ny5fz0pz8FYN++fVx77bV84QtfoKuri9tvv50gCAjDkI6OjhHXOJpFixbxox/9qB63KyIiJ4FalBCnBte2yHrOhD/vsssu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OgBWrFjBnj172Ldv34jnHDhwgJUrVwKwatUq3n77bUzTZPny5UQiESKRCHPmzOHQoUMsXbp0Im4HgNp6sB2XFbMT+D6YJuQdl8tmRpg1pXbCvldERERERETGZ0I2Zc1msyQSifLrUCiE67rl95LJZPm9eDxONps95zlBEJRXHo7H42QymXNeYyI9eMN8bm5p5FTWoWvA4VTW4eaWRh7UtGIREREREZGL2oSM+CYSCXK5XPm17/tYljXie7lcjmQyec5zTNMc9tlUKnXOa5xPW1sba9euHfe9mTkbzwXTgj3/G2Xtb8Z9SRERuQS1tbV98ofkvCpVm0VEROD8tXlCgu+1117L66+/zp133sm+ffuYP39oVHTu3LkcP36cvr4+amtr2bNnD1/60pcwDGPEcxYtWsTu3bu5/vrreeONN7jhhhtYunQpzzzzDLZtUywWOXr06LDvGMnu3bsn4lZFRETkAqk2i4jIp8UIgiD45I+NzZkVmo8cOUIQBPzgBz/g4MGDDAwMcO+995ZXdQ6CgLvvvpsHH3xwxHPmzp3LsWPH2LRpE47j0NrayubNmwmFQuzYsYPt27cTBAGPPvooa9asqfRtiIiIiIiISBWYkOArIiIiIiIicrGYkMWtRERERERERC4WCr4iIiIiIiJS1RR8RUREREREpKpNyKrO8ulxHIfHHnuMtrY2isUi69at48orr2Tjxo0YhsG8efN44oknhm0LJefW09PD2rVr+dWvfoVlWerHC/D888+zc+dOHMfh/vvvZ+XKlerHMXIch40bN9LW1oZpmjz11FP6fRyj9957j5/85Cds3bqV48ePj9h3O3bsYNu2bViWxbp161i9evVkN1uqhGpzZak2j59q8/ipNo/fZNdm/clc4v74xz9SX1/Piy++yAsvvMBTTz3Fli1b2LBhAy+++CJBEPDaa69NdjMvCY7j8PjjjxOLxQDUjxdg9+7d7N27l9///vds3bqVjo4O9eMF2LVrF67rsm3bNtavX88zzzyjfhyDF154ge9973vYtg2M/He5q6uLrVu3sm3bNn75y1/y05/+lGKxOMktl2qh2lw5qs3jp9pcGarN43Mx1GYF30vc7bffzte+9rXy61AoxIEDB1i5ciUAq1at4p133pms5l1Snn76ae677z6ampoA1I8X4K233mL+/PmsX7+er3zlK9x2223qxwvQ0tKC53n4vk82m8WyLPXjGMyZM4ef//zn5dcj9d3777/P8uXLiUQiJJNJ5syZw6FDhyaryVJlVJsrR7V5/FSbK0O1eXwuhtqs4HuJi8fjJBIJstksX/3qV9mwYQNBEGAYRvn9TCYzya28+L388ss0NDRwyy23lI+pH8fu9OnT7N+/n5/97Gd8//vf51vf+pb68QLU1tbS1tbGHXfcwaZNm3jooYfUj2OwZs0aLGvoSZ6R+i6bzZJMJsuficfjZLPZT72tUp1UmytDtbkyVJsrQ7V5fC6G2qxnfKtAe3s769ev54EHHuCuu+7ixz/+cfm9XC5HKpWaxNZdGl566SUMw+BPf/oTH3zwAd/5znfo7e0tv69+HJ36+npaW1uJRCK0trYSjUbp6Ogov69+HJ1f//rX3HzzzXzzm9+kvb2dL37xiziOU35f/Tg2Zz9vdabvEokEuVxu2PGzi63IeKk2j59qc2WoNleGanNlTUZt1ojvJa67u5tHHnmEb3/723zhC18AYNGiRezevRuAN954g+uuu24ym3hJ+N3vfsdvf/tbtm7dysKFC3n66adZtWqV+nGMVqxYwZtvvkkQBHR2dpLP57nxxhvVj2OUSqXK/9DX1dXhuq7+Xo/DSH23dOlS3n33XWzbJpPJcPToUebPnz/JLZVqodpcGarNlaHaXBmqzZU1GbXZCIIgqNjV5FO3efNmXnnlFVpbW8vHvvvd77J582Ycx6G1tZXNmzcTCoUmsZWXloceeognn3wS0zTZtGmT+nGMfvSjH7F7926CIODrX/86s2fPVj+OUS6X47HHHqOrqwvHcXj44YdZsmSJ+nEMTpw4wTe+8Q127NjBsWPHRuy7HTt2sH37doIg4NFHH2XNmjWT3WypEqrNlafaPD6qzeOn2jx+k12bFXxFRERERESkqmmqs4iIiIiIiFQ1BV8RERERERGpagq+IiIiIiIiUtUUfEVERERERKSqKfiKiIiIiIhIVVPwFRERERERkaqm4CsiIiIiIiJVzZrsBojIxeHll19m165dFAoFPvroI7785S+zdu3ayW6WiIjIZ5Zqs0jlaMRXRMqy2SzPP/88zz33HL/4xS8muzkiIiKfearNIpWh4CsiZQsWLACgubmZYrE4ya0RERER1WaRylDwFZEywzAmuwkiIiJyFtVmkcpQ8BUREREREZGqZgRBEEx2I0REREREREQmikZ8RUREREREpKop+IqIiIiIiEhVU/AVERERERGRqqbgKyIiIiIiIlVNwVdERERERESqmoKviIiIiIiIVDUFXxEREREREalqCr4iIiIiIiJS1f4f+8kIaQWBD/sAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, (time,quality) = plt.subplots(nrows=1, ncols=2, figsize=(16, 6))\n", + "time.set_ylim([0,0.004])\n", + "sns.scatterplot(x=\"n\", y=\"time\", data=greedy_data, alpha=0.1, ax=time) # raw data\n", + "sns.lineplot(x=\"n\", y=\"time\", data=greedy_data, ci=\"sd\", ax=time) # average measurements\n", + "sns.lineplot(x=\"n\", y=\"quality\", data=greedy_data, ci=\"sd\", ax=quality)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us next see what happens with **symmetric graphs**." + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2..............................3..............................4..............................5..............................6..............................7..............................8..............................9..............................10.............................." + ] + } + ], + "source": [ + "MAX_REPETITIONS = 30\n", + "\n", + "greedy_sym_data = pd.DataFrame(columns=['n','time','quality'])\n", + "\n", + "i = 0\n", + "for n in range(2,11):\n", + " print(n, end='')\n", + " for repetitions in range(MAX_REPETITIONS):\n", + " print('.', end='')\n", + " G = Graph(n,'symmetric')\n", + " # Solve exactly\n", + " actual_shortest_length = exhaustive_search(G)[1]\n", + " # Solve with Greedy\n", + " t0 = perf_counter()\n", + " cycle, greedy_length = greedy_nearest_neighbours(G)\n", + " t1 = perf_counter()\n", + " # Collect data\n", + " greedy_sym_data.loc[i] = [n, t1-t0, greedy_length/actual_shortest_length]\n", + " i += 1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us now look closely at timing and quality data." + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
timequality
minmaxmeanminmaxmean
n
2.00.0000100.0000240.0000121.01.0000001.000000
3.00.0000120.0000290.0000211.01.0000001.000000
4.00.0000150.0000360.0000231.01.4198471.032627
5.00.0000170.0000460.0000221.01.8493151.070357
6.00.0000190.0000310.0000231.01.6026491.126165
7.00.0000220.0000560.0000271.01.9107141.232097
8.00.0000280.0000450.0000331.01.5588241.209685
9.00.0000340.0000590.0000401.01.7469141.185161
10.00.0000390.0000940.0000531.01.8468471.326331
\n", + "
" + ], + "text/plain": [ + " time quality \n", + " min max mean min max mean\n", + "n \n", + "2.0 0.000010 0.000024 0.000012 1.0 1.000000 1.000000\n", + "3.0 0.000012 0.000029 0.000021 1.0 1.000000 1.000000\n", + "4.0 0.000015 0.000036 0.000023 1.0 1.419847 1.032627\n", + "5.0 0.000017 0.000046 0.000022 1.0 1.849315 1.070357\n", + "6.0 0.000019 0.000031 0.000023 1.0 1.602649 1.126165\n", + "7.0 0.000022 0.000056 0.000027 1.0 1.910714 1.232097\n", + "8.0 0.000028 0.000045 0.000033 1.0 1.558824 1.209685\n", + "9.0 0.000034 0.000059 0.000040 1.0 1.746914 1.185161\n", + "10.0 0.000039 0.000094 0.000053 1.0 1.846847 1.326331" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "greedy_sym_data.groupby('n').agg(['min','max','mean'])" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.lineplot(data=greedy_sym_data, x='n', y='quality', ci='sd')\n", + "sns.scatterplot(data=greedy_sym_data, x='n', y='quality', alpha=0.3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Euclidean graphs**" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2..............................3..............................4..............................5..............................6..............................7..............................8..............................9..............................10.............................." + ] + } + ], + "source": [ + "MAX_REPETITIONS = 30\n", + "\n", + "greedy_euc_data = pd.DataFrame(columns=['n','time','quality'])\n", + "\n", + "i = 0\n", + "for n in range(2,11):\n", + " print(n, end='')\n", + " for repetitions in range(MAX_REPETITIONS):\n", + " print('.', end='')\n", + " G = Graph(n,'Euclidean')\n", + " # Solve exactly\n", + " actual_shortest_length = exhaustive_search(G)[1]\n", + " # Solve with Greedy\n", + " t0 = perf_counter()\n", + " cycle, greedy_length = greedy_nearest_neighbours(G)\n", + " t1 = perf_counter()\n", + " # Collect data\n", + " greedy_euc_data.loc[i] = [n, t1-t0, greedy_length/actual_shortest_length]\n", + " i += 1" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
timequality
minmaxmeanminmaxmean
n
2.00.0000100.0000200.0000151.01.0000001.000000
3.00.0000130.0000400.0000221.01.0000001.000000
4.00.0000150.0000350.0000261.01.1534041.026460
5.00.0000170.0004540.0000381.01.2390661.031820
6.00.0000200.0000890.0000261.01.2260211.069438
7.00.0000260.0000660.0000381.01.2507301.064770
8.00.0000320.0000840.0000411.01.3350681.083553
9.00.0000330.0000920.0000561.01.3963221.104747
10.00.0000370.0002420.0000571.01.2911171.090440
\n", + "
" + ], + "text/plain": [ + " time quality \n", + " min max mean min max mean\n", + "n \n", + "2.0 0.000010 0.000020 0.000015 1.0 1.000000 1.000000\n", + "3.0 0.000013 0.000040 0.000022 1.0 1.000000 1.000000\n", + "4.0 0.000015 0.000035 0.000026 1.0 1.153404 1.026460\n", + "5.0 0.000017 0.000454 0.000038 1.0 1.239066 1.031820\n", + "6.0 0.000020 0.000089 0.000026 1.0 1.226021 1.069438\n", + "7.0 0.000026 0.000066 0.000038 1.0 1.250730 1.064770\n", + "8.0 0.000032 0.000084 0.000041 1.0 1.335068 1.083553\n", + "9.0 0.000033 0.000092 0.000056 1.0 1.396322 1.104747\n", + "10.0 0.000037 0.000242 0.000057 1.0 1.291117 1.090440" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "greedy_euc_data.groupby('n').agg(['min','max','mean'])" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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YXH99deTSqW4+eab+fnPf865554bmiwBMC+/XygU6rp2c9oG/7GxMW655Rb++q//mhtuuCHo4dR85zvf4b777gMgHo+jaVooXmz/8R//wb//+7+zbds2Nm3axOc+9zm6urqCHhYPPvggf//3fw/A8PAw+Xw+FOO6+OKL+eUvf4lSiuHhYUqlEq2trUEPC4CnnnqKyy+/POhhzJPJZGqL9i0tLTiOg+u6AY/KT49dfPHFbNu2jauvvpq1a9cGPaR5zjnnHJ588kkAHn30US655JK6fe3TNu3zla98hVwux7333su9994LwP33308sFgt0XNdccw0f//jHeec734njONxxxx1Eo9FAxxRmN9xwAx//+Md5+9vfjqZp/N3f/V3gKR+A173udTz11FPccMMNKKW46667QjGJA+zZs4eenp6ghzHPn/3Zn3HHHXfwjne8A9u2+chHrVIT0gAAAQRJREFUPkIikQh6WPT19fHP//zPfP3rXyedTvOZz3wm6CHNc9ttt3HnnXfyT//0T2zYsIFrr722bl9bunoKIUQTOm3TPkIIIY5Ngr8QQjQhCf5CCNGEJPgLIUQTkuAvhBBNSIK/EEI0IQn+QgjRhILfLSPEKeihhx7iF7/4BeVymf379/Oe97yHLVu2BD0sIRZNrvyFOEH5fJ777ruPf/mXfwlVMzwhFkOCvxAn6Oyzzwagu7ubarUa8GiEWBoJ/kKcoLC0bxbiREjwF0KIJiSN3YQQognJlb8QQjQhCf5CCNGEJPgLIUQTkuAvhBBNSIK/EEI0IQn+QgjRhCT4CyFEE/r/Absliu4YGDxkAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.lineplot(data=greedy_euc_data, x='n', y='quality', ci='sd')\n", + "sns.scatterplot(data=greedy_euc_data, x='n', y='quality', alpha=0.3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# asymmetric" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2..............................3..............................4..............................5..............................6..............................7..............................8..............................9..............................10.............................." + ] + } + ], + "source": [ + "MAX_REPETITIONS = 30\n", + "\n", + "greedy_asym_data = pd.DataFrame(columns=['n','time','quality'])\n", + "\n", + "i = 0\n", + "for n in range(2,11):\n", + " print(n, end='')\n", + " for repetitions in range(MAX_REPETITIONS):\n", + " print('.', end='')\n", + " G = Graph(n,'asymmetric')\n", + " # Solve exactly\n", + " actual_shortest_length = exhaustive_search(G)[1]\n", + " # Solve with Greedy\n", + " t0 = perf_counter()\n", + " cycle, greedy_length = greedy_nearest_neighbours(G)\n", + " t1 = perf_counter()\n", + " # Collect data\n", + " greedy_asym_data.loc[i] = [n, t1-t0, greedy_length/actual_shortest_length]\n", + " i += 1" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
timequality
minmaxmeanminmaxmean
n
2.00.0000090.0000350.0000181.0000001.0000001.000000
3.00.0000120.0000400.0000211.0000001.8461541.072733
4.00.0000160.0001100.0000281.0000001.5327871.099817
5.00.0000170.0000980.0000271.0000002.9687501.309027
6.00.0000210.0000670.0000381.0000002.6125001.408578
7.00.0000240.0000600.0000371.0000001.8500001.236999
8.00.0000320.0000890.0000511.0000002.3203881.461596
9.00.0000350.0001560.0000521.0382172.1612901.584231
10.00.0000400.0001060.0000561.1179252.2697371.566619
\n", + "
" + ], + "text/plain": [ + " time quality \n", + " min max mean min max mean\n", + "n \n", + "2.0 0.000009 0.000035 0.000018 1.000000 1.000000 1.000000\n", + "3.0 0.000012 0.000040 0.000021 1.000000 1.846154 1.072733\n", + "4.0 0.000016 0.000110 0.000028 1.000000 1.532787 1.099817\n", + "5.0 0.000017 0.000098 0.000027 1.000000 2.968750 1.309027\n", + "6.0 0.000021 0.000067 0.000038 1.000000 2.612500 1.408578\n", + "7.0 0.000024 0.000060 0.000037 1.000000 1.850000 1.236999\n", + "8.0 0.000032 0.000089 0.000051 1.000000 2.320388 1.461596\n", + "9.0 0.000035 0.000156 0.000052 1.038217 2.161290 1.584231\n", + "10.0 0.000040 0.000106 0.000056 1.117925 2.269737 1.566619" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "greedy_asym_data.groupby('n').agg(['min','max','mean'])" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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qyxevLgWTRVCiJqqyKRO13XZuHEjLS0t3HPPPbS2tvbbv337dpYtW0ZLSwtbt2495zGtra2sXLmSVatW8eCDD+K6bul1Ojs7ufPOOykUCgCkUin+5E/+hN///d+npaWFn//855U4PSGEEBeora2Nz33uc3zmM5/h05/+dGm7Uoo/+IM/IB6P4/P5uPXWW3nnnXdq2FIhhKidigTkr7zyCqZpsmXLFu677z4effTR0j7Lsti0aRNPP/00mzdvZsuWLbS3tw96zKZNm1izZg3PPfccSim2bdsGwOuvv869995LR0dH6bWfeeYZbrjhBp599lk2bdrEww8/XInTE0IIcQE6Ojq49957+frXv87v/u7v9tuXTqf51Kc+RSaTQSnFrl27JJdcCDFqVSRlZc+ePdx8880AzJ07l3379pX2HTx4kGnTptHQ0ADAggUL2L17N3v37h3wmP3797Nw4UIAbrnlFnbu3Mkdd9yBrus888wzLFu2rPTaf/iHf4jPV1xly3Ec/H5/JU5PCCHEBfirv/orkskkTz75JE8++SQAn/3sZ8nlcrS0tLB27Vo+97nP4fP5uPHGG7n11ltr3GIhhKiNigTk6XSaSCRSemwYBrZt4/F4SKfTRKPR0r5wOEw6nR70GKUUmqaVnptKpQC46aabznrfWCwGQHt7O1//+te5//77K3F6QgghLsADDzzAAw88MOj+u+66i7vuuquKLRJCiPpUkZSVSCRCJpMpPXZdF4/HM+C+TCZDNBod9Bhd1/s9tzfoHsx7773HH/7hH7J27drSyLoQQgghhBD1qiIB+fz589mxYwcAe/fuZfbs2aV9s2bNorW1la6uLkzTZPfu3cybN2/QY66++mp27doFwI4dO7j++usHfd/333+fr33tazz22GNy61MIIYQQQowIFUlZueOOO9i5cycrVqxAKcUjjzzCyy+/TDabpaWlhfXr17N69WqUUixbtozm5uYBjwFYt24dGzZs4PHHH2fmzJn9atp+1GOPPYZpmvzFX/wFUByNf+qppypxikIIIYQQQpSFppRStW5ELd199928+OKLtW6GEEIM2Wjsv0bjOQshLg3n6r8qkrIihBBCCCGEuDASkAshhBBCCFFDEpALIYQQQghRQxKQCyGEEEIIUUMSkAshhBBCCFFDFSl7KEYXpRSJrEWmYBP2e2gKeUurqwoh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999/P1pbW7VkyAoEAnjxxRdRVVWF3377Ddu3b8fRo0cdLyJ9fX3o6elBc3MzLl68iF27duHo0aNQSjmaY7SWlhbs3r1b2+sDQCgUQnd3Nx599FH09fWhublZS47Vq1fj+PHjKC8vx+nTp9Hb2wvTNB1t1rZs2YKLFy/mHotI7v1RUFCAwcFBx7LMZazZ47FmT2ym1W3W7BHzpWZzhTxPly5dQnV1NbZu3YrHH39cdxw0NTXh2LFjaGxsxPDwsOOv/8UXX+DkyZN4/vnncfbsWdTW1uKvv/5yPAdgX80/8cQTUEph5cqViEajWrJEo1Fs3LgRPp8PZWVl8Pv9uHr1quM5sgYGBnD+/Hnce++92jIAwCeffIKNGzfi2LFj+Prrr1FXV4dkMul4jqeeegrhcBjV1dU4fvw41q5dq3XlFMCY2cOhoSEt86JzFWv2WKzZE5tJdZs1e6z5UrPZkOfh8uXLqKmpweuvv47KykqtWb766iu0tLQAAILBIJRSWt6gn332GT799FO0tbVh9erVaGpqwqJFixzPAQBHjhzBu+++CwDo7e1FLBbTkmXdunX44YcfICLo7e1FPB5HNBp1PEfWqVOncN9992l7/azCwsLczVtFRUUwDAOmaTqe48yZM1i3bh3a2tpQXl6OZcuWOZ7hemvWrMFPP/0EAPj++++xfv16zYnmBtbs8VizJzaT6jZr9ljzpWZzZCUPzc3NGBgYwKFDh3Do0CEAwMcff4xAIOB4ls2bN6O+vh7PPfccDMNAQ0MD/H6/4zlmksrKStTX12Pbtm1QSuGdd97R8tHnQw89hFOnTqGyshIign379mm9mr9w4QJKS0u1vX7WCy+8gIaGBjz77LNIp9N47bXXEAqFHM9x22234YMPPsDhw4cRiUTw9ttvO57herW1tWhsbMT777+PsrIybNmyRXekOYE1e2abKTUbmFl1mzV7rPlSs5WIyBRkIyIiIiKim8CRFSIiIiIijdiQExERERFpxIaciIiIiEgjNuRERERERBqxISciIiIi0ogNORERERGRRmzIiYiIiIg04sFARNOgvb0d3333HRKJBP744w9s374dFRUVumMREdEEWLNJN66QE02TWCyGlpYWfPTRR2htbdUdh4iIJsGaTTqxISeaJnfffTcAYMmSJUilUprTEBHRZFizSSc25ETTRCmlOwIREd0g1mzSiQ05EREREZFGSkREdwgiIiIiovmKK+RERERERBqxISciIiIi0ogNORERERGRRmzIiYiIiIg0YkNORERERKQRG3IiIiIiIo3YkBMRERERafRfnkv8sccjAi4AAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, (time, quality) = plt.subplots(nrows=1, ncols=2, figsize=(12, 4))\n", + "sns.lineplot(data=greedy_asym_data, x='n', y='time', ci='sd', ax=time)\n", + "sns.scatterplot(data=greedy_asym_data, x='n', y='time', alpha=0.3, ax=time)\n", + "sns.lineplot(data=greedy_asym_data, x='n', y='quality', ci='sd', ax=quality)\n", + "sns.scatterplot(data=greedy_asym_data, x='n', y='quality', alpha=0.3, ax=quality)" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'pnts_n' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mpnts_ratio\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;36m100\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mpnts_t\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m/\u001b[0m\u001b[0mpnts_n\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m**\u001b[0m\u001b[1;36m2\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mpnts_n\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[0mconstant\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0msum\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mpnts_ratio\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m/\u001b[0m\u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mpnts_ratio\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[0mfig\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mtimes\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mquality\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msubplots\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnrows\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mncols\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfigsize\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m12\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m4\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mNameError\u001b[0m: name 'pnts_n' is not defined" + ] + } + ], + "source": [ + "pnts_ratio = [100*pnts_t[i]/pnts_n[i]**2 for i in range(len(pnts_n))]\n", + "constant = sum(pnts_ratio)/len(pnts_ratio)\n", + "\n", + "fig, (times,quality) = plt.subplots(nrows=1, ncols=2, figsize=(12, 4))\n", + "\n", + "ratio = times.twinx()\n", + "ratio.plot(pnts_n, pnts_ratio, 'bo-', color='0.8', label='Ratio: time/n^2')\n", + "ratio.tick_params(axis='y', labelcolor='0.5')\n", + "ratio.set_ylim([0,2*constant])\n", + "ratio.set_title('Running time and O() constant')\n", + "ratio.legend()\n", + "\n", + "times.plot(pnts_n, pnts_t, 'ro-', label='Time (s)')\n", + "times.set_xlabel('n')\n", + "times.set_ylabel('Time (s)', color='red')\n", + "times.tick_params(axis='y', labelcolor='red')\n", + "times.legend()\n", + "\n", + "quality.plot(pnts_n, pnts_q, 'bo-', label='Quality (%)')\n", + "quality.set_xlabel('n')\n", + "quality.set_ylabel('Quality (%)')\n", + "quality.set_title('Quality')\n", + "quality.legend()\n", + "\n", + "fig.tight_layout()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## An ad-hoc heuristic method" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [], + "source": [ + "def my_adhoc_heuristic(G):\n", + " ''' Works like Nearest Neighbour but looks at 2 unvisited ahead at each time.\n", + " Returns shortest found cycle and its cost '''\n", + " n = G.n\n", + " unvisited = list(range(n))\n", + " visited = [] # solution to be built\n", + " city0 = 0 # Start city\n", + " while len(unvisited) >= 2:\n", + " #print(unvisited, visited, city0, end='\\t')\n", + " shortest = oo\n", + " city1 = city2 = None # the next 2 unvisited\n", + " visited.append(city0)\n", + " unvisited.remove(city0)\n", + " #print('->', unvisited, visited, city0)\n", + " # Find the next 2 best unvisited\n", + " for c1 in unvisited:\n", + " for c2 in unvisited:\n", + " if c2==c1: continue\n", + " cost_of_next_2_steps = G[city0][c1]+G[c1][c2] # cost of path: city0 -- c1 -- c2\n", + " #print(c1,'to',c2,'costs',cost_of_next_2_steps)\n", + " if cost_of_next_2_steps < shortest:\n", + " shortest = cost_of_next_2_steps\n", + " city1, city2 = c1, c2\n", + " # Add 'city1' to 'visited', and set 'city2' to be the next starting point (city0)\n", + " #print(city1, city2)\n", + " if city1!=city2:\n", + " visited.append(city1)\n", + " unvisited.remove(city1)\n", + " city0 = city2\n", + " #else:\n", + " # print('dbg:',unvisited,visited)\n", + " if len(unvisited)>1:\n", + " print(\"left...\", unvisited, \"city0 =\", city0)\n", + " visited.append(unvisited[0]) # append last city left\n", + " return (visited, cost(G, visited))" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "([0, 3, 2, 1, 7, 5, 6, 4], 7)" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "G=Graph(8,'easy')\n", + "draw(G)\n", + "my_adhoc_heuristic(G)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Testing time and quality." + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 0\n", + "10 0.0001395000003867608\n", + "20 0.0008555999997952313\n", + "30 0.0028480999999374035\n" + ] + } + ], + "source": [ + "MAX_REPETITIONS = 500\n", + "MAX_TIME = 10 # 10 minutes\n", + "\n", + "data = pd.DataFrame(columns=['n', 't_greedy1', 't_greedy2','quality'])\n", + "\n", + "n = i = 0\n", + "t_greedy1 = t_greedy2 = 0\n", + "\n", + "started_at = perf_counter()\n", + "while perf_counter()-started_at < MAX_TIME: # in seconds; if it takes too long then stop testing\n", + " print(n, t_greedy1+t_greedy2)\n", + " n += 10\n", + " t_greedy1 = t_greedy2 = 0\n", + " for repetitions in range(MAX_REPETITIONS):\n", + " i += 1\n", + " G = Graph(n,'asymmetric')\n", + " # Greedy 1\n", + " t0 = perf_counter()\n", + " cycle1, length1 = greedy_nearest_neighbours(G)\n", + " t1 = perf_counter()\n", + " t_greedy1 = t1-t0\n", + " # Greedy 2\n", + " t0 = perf_counter()\n", + " cycle2, length2 = my_adhoc_heuristic(G) #greedy_nearest_neighbours_2ahead(G)\n", + " t1 = perf_counter()\n", + " t_greedy2 = t1-t0\n", + " # Save data\n", + " data.loc[i] = [n, t_greedy1, t_greedy2, (length2-length1)/length1*100]\n", + " #print(i, n, t_greedy1, t_greedy2, length2/length1)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
t_greedy1t_greedy2quality
minmaxmeanminmaxmeanminmaxmean
n
10.00.0000360.0002090.0000500.0000990.0011890.000135-63.00940465.354331-20.334158
20.00.0000950.0004940.0001340.0007470.0025250.001018-52.40793265.158371-12.233776
30.00.0001860.0006360.0002390.0025580.0079680.003216-49.27113777.292576-10.297831
40.00.0003080.0009230.0003620.0060960.0176250.007077-48.71794946.153846-10.818624
\n", + "
" + ], + "text/plain": [ + " t_greedy1 t_greedy2 quality \\\n", + " min max mean min max mean min \n", + "n \n", + "10.0 0.000036 0.000209 0.000050 0.000099 0.001189 0.000135 -63.009404 \n", + "20.0 0.000095 0.000494 0.000134 0.000747 0.002525 0.001018 -52.407932 \n", + "30.0 0.000186 0.000636 0.000239 0.002558 0.007968 0.003216 -49.271137 \n", + "40.0 0.000308 0.000923 0.000362 0.006096 0.017625 0.007077 -48.717949 \n", + "\n", + " \n", + " max mean \n", + "n \n", + "10.0 65.354331 -20.334158 \n", + "20.0 65.158371 -12.233776 \n", + "30.0 77.292576 -10.297831 \n", + "40.0 46.153846 -10.818624 " + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.groupby('n').agg(['min','max','mean'])" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7AAAAFxCAYAAABKlkT6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzde2xk533f//dzbnPndXdF7cUrrXVx5ESJZFdy+ovlJLXhNkBvbos6AXJB0gJNE7RyC9SGG8tpazRtg7gpfobr/hGggRW3aVEDCdD/ojRWYgeqf47lxJIvsqxd7a52l7vkkJz7uTzP748ZDodcDndX5s7wkJ8XvObMmZkzXw6pw/M5z8045xwiIiIiIiIiB5w37QJEREREREREbocCrIiIiIiIiOSCAqyIiIiIiIjkggKsiIiIiIiI5IICrIiIiIiIiOSCAqyIiIiIiIjkQjDtAu7Uk08+yalTp6ZdhoiIiIiIiNwFly9f5oUXXtj1sdwF2FOnTvH5z39+2mWIiIiIiIjIXfCBD3xg7GPqQiwiIiIiIiK5oAArIiIiIiIiuaAAKyIiIiIiIrmgACsiIiIiIiK5MLFJnJIk4SMf+QiXL1/G8zz+zb/5NwRBwEc+8hGMMTz44IN8/OMfx/OUqUVERERERORmEwuwX/jCF0jTlP/+3/87X/ziF/nN3/xNkiTh6aef5sknn+SZZ57hueee433ve9+kShIREREREZEcmVhz5/3330+WZVhraTabBEHASy+9xBNPPAHAU089xZe+9KVJlSMiIiIiIiI5M7EW2HK5zOXLl/lrf+2vUa/X+cxnPsOXv/xljDEAVCoVGo3GpMoRERERERGRnJlYgP2v//W/8iM/8iP883/+z7ly5Qo/+7M/S5Ikw8dbrRYzMzOTKkdERERERERyZmJdiGdmZqjVagDMzs6SpimPPPIIL7zwAgDPP/8873znOydVjoiIiEiuNboJNxpdGt3k1k8WETkkJtYC+3M/93N89KMf5ad+6qdIkoQPfehDfP/3fz8f+9jH+OQnP8m5c+d4//vfP6lyRERERHLrUr1NvbUVXOcrIafny1OsSERkMiYWYCuVCv/pP/2nm7Y/++yzkypBREREJPca3WRbeAWotxJmSwm1YjilqkREJkOLroqIiIjkSC/J7mi7iMhhogArIiIikiOF0L+j7SIih4kCrIiIiEiO1Ioh85XtXYXnK6G6D4vIkTCxMbAiIiIisj9Oz5eZLSX0koxC6Cu8isiRoQArIiIikkO1olpdReToURdiERERERERyQUFWBEREREREckFBVgRERERERHJBQVYERERERERyQUFWBEREREREckFBVgRERERERHJBQVYERERERERyQUFWBEREREREckFBVgRERERERHJBQVYERERERERyQUFWBEREREREckFBVgRERERERHJBQVYERERERERyQUFWBEREREREckFBVgRERERERHJBQVYERERERERyQUFWBEREREREckFBVgRERERERHJhWDaBRw2jW5CL8kohD61YjjtckQkB3TcEBEREbk9CrD76FK9Tb2VDO/PV0JOz5enWJGIHHQ6boiIiIjcPnUh3ieNbrLtJBSg3kpodJMxrxCRo07HDREREZE7owC7T3pJdkfbRUR03BCR70Wjm3Cj0dVFLxE5UtSFeJ8UQv+OtouI6LghIm/WpXqbS/UOSZoRBj6n50safiAiR4IC7D6pFUPmK+FNY9k0IYuIjLN53Nh5EqrjhojspdFN+ObVBo1OOtiS0OylzJZ03iEih58C7D46PV9mtqTZREXkzoSewXk+oWemXYqI5MBqKx4Jr32NTspqK9a5h4gcegqw+6xW1NVPEbk9m5M4RYFPNDga11sJs6VExxERGWvcBCaa2EREjgId60REpkSTOInImzFXiViobL/ItVAJmatEU6pIRGRy1AIrIjIlmsRJRN6MWjHkrSeqVNe7xKkjCgz3zBbVc0NEjgQFWBGRKdmcxOmaTkJF5A71590INe+GiBw5Ew2w/+W//Bf+8A//kCRJ+Mmf/EmeeOIJPvKRj2CM4cEHH+TjH/84nqdezSJytCTWkdoMY9XyKiK3T/NuiMhRNLG0+MILL/DVr36V//bf/huf/exnuXr1Kr/2a7/G008/zec+9zmcczz33HOTKkdEZOo2J3GqRAFz5QKVKKDeSmh0k1u/WEREROQImliA/ZM/+RMeeughfumXfol/9I/+ET/6oz/KSy+9xBNPPAHAU089xZe+9KVJlSMiMnWaxElERETkzkysC3G9XueNN97gM5/5DJcuXeIXf/EXcc5hTH/dw0qlQqPRmFQ5IiJTp0mcRERERO7MxALs3Nwc586dI4oizp07R6FQ4OrVq8PHW60WMzMzkypHRGTqNImTiIiIyJ2ZWBfid7zjHfzxH/8xzjmuXbtGp9Phh3/4h3nhhRcAeP7553nnO985qXJERA6MzUmcEuumXYqIiIjIgTaxFtgf+7Ef48tf/jJ/9+/+XZxzPPPMM5w+fZqPfexjfPKTn+TcuXO8//3vn1Q5IiJTNzqJE1H/cFxvJcyWErXCioiIiOxiosvo/It/8S9u2vbss89OsgQRkQNjr0mcFGBF5FYa3UTrwIrIkTPRACsiIlsKoY8Bemk2HANbCHxN4iQit3Sp3qbe2lpya74Scnq+PMWKREQmQwFWRGRKasWQOLO8vtoZbju7WFZLiojsaXP4wSgNPxCRo0IBVkRkShrdhND3uHeuSJJmhIFP6Hs0ujoJFZHxNPxARI4yBVgRkSnZPAkdncRpc7tOQkVkHK0hLSJH2cSW0RERke10Eioib8bmGtKj5iuhLnyJyJGgFlgRkSnZPAndORGLTkJF5FZOz5eZLWkWYhE5ehRgRUSmSCehIvJm1Yq64CUiR48CrIjIlOkkVETeDK0DKyJHkQKsiIiISM5oHVgROao0iZOIiIhIjoxbB7bRTca8QkTk8FCAFREREcmRvdaBFRE57BRgRURERHJES3CJyFGmACsiIiKSI1oHVkSOMk3iJCIiIpIzWoJLRI4qBVgRERGRHNISXCJyFCnAiohMmdZyFBEREbk9CrAiIlOktRxFREREbp8mcRIRmRKt5Sgi34ur621eubrB1fX2tEsREZkYtcCKiEzJXms5qiuxiOzlzy7UubCyFVzPLvZ4/Oz8FCsSEZkMtcDus0Y34UajqxYUEbklreUoIm/G1fX2tvAKcGGlrZZYETkS1AK7jzSWTUTuxOZajjuPG2p9FZG9NDrp2O1LsxMuRkRkwhRg98m4sWyzpUQnoyIyltZyFJE7VSvtfvo2bruIyKi8r36gI90+0Vg2EXmztJajiNyJpdkyZxd7vPTGOt04pRgFvP3kLEuz6vUlIns7DD1GNQZ2n2gsm4iIiEyKAQqBRxT6FAIPM+2CROTAOyyrHyjA7pPNsWyjNJZNRERE9tvV9TbnV9qEvs9MMSL0fc5rEicRuYW9eozmiboQ7yONZRMREZG7TZM4icibcVh6jCrA7jONZRORO5X3yRREZLI0iZOIvBmHZfUDHelERKboMEymICKTtTmJ0+hasGcXy5rESURu6fR8mcBr0+ik1EpBLo8bCrAiIlOi5bdE5M16/Ow8J+cKuT4JFZHJG71w3m0kpLaduwvnCrAiIlOi5bdE5HuxNFvWmFcRuW2H5cK5ZiEWEZmSwzKZgoiIiBx8h2UWYgVYEZEp0fJbIiIiMimH5cK5uhCLiEyRlt8SERGRSdAsxCIisi+0/JaIiIhMwmG4cD7xLsQrKyu85z3v4dVXX+XChQv85E/+JD/1Uz/Fxz/+cay1ky5HREREREREcmKiATZJEp555hmKxSIAv/Zrv8bTTz/N5z73OZxzPPfcc5MsR0RERERE5Mi4VG9z/kabK+s9zt9oc6nevvWLDpiJBth//+//PR/84Ac5ceIEAC+99BJPPPEEAE899RRf+tKXJlnOXdHoJtxodGl0k1s/WUQEHTdERETk7hu3jE7ezj8mFmA///nPs7CwwLvf/e7hNuccxhgAKpUKjUZjUuXcFZfqbb59tcEr11p8+2ojl1c0RGSyLtXbvHRpna9dXOelS+s6boiIiMhdcViW0ZnYJE7/63/9L4wx/Omf/inf+MY3+PCHP8zq6urw8VarxczMzKTK2XeNbsKry01WR65qNHspsyVNziIiu2t0E756oc5rN7ZC6/VmT8cNEbktjW6+J2IRkcnSMjp36Hd+53eGt3/6p3+aX/3VX+XXf/3XeeGFF3jyySd5/vnnede73jWpcvbdWium3kpIsowkc4S+od7qb9cfFRHZzdW1DudX2jgcaeYIfMP5lTZX1zrUlnTcEJHxLtXbNy2FcXq+PMWKROSg0zI6++DDH/4wH/vYx/jkJz/JuXPneP/73z/Ncr4nFljrxGx00uG2mVKA5lUWkXE6aUYnyVhvb/0hmS2HdNJ8deURkckaN45ttpTk7kRURCbrMCyjM5UA+9nPfnZ4+9lnn51GCfuuEBhS57ZtS52jEJgpVSQiB12tEJBklkLgkVmH7xmSzFIraIluERlvr3FseTwZFZHJyvv68xNfB/awCjyPB49XOVaLmCsHHKtFPHi8SuDpIxaR3dWKIfctlmn2Upq9hGYv5b7Fcq7/qIjI3XdYxrGJiLwZusy/Twqhz2KlQLUQEKeOKDAUAl9/TERkrNRaKlHIgycqbHRSZkoBlSgktRp8ICLjHZZxbCIib4YC7D6pFUPmKiH1FkSDT3VOf0xEZA+B57HS6nF+pQPAajvB8zz13BCRWzoM49hERN4MBdh9pD8mInInGt2Edi9jsRqRWkfgGdq9jEY34VitOO3yRERERA4cBVgRkSlJM8dCNWKlGRMMGl0XqhFp5vZ+oYgceVpGR0TerLyvIa0Au48u1dtcW+8Ox8DeM1vUHxMRGatWCqgUAkqhP1w/2vMMtZIOzSIyXqObsNZKiNNseM6x1kLL6IjILR2GvKKzpH3S6Ca8utxkdeRqaLOXMlvSOFgR2d3SbJm3LPS4sNImGiy59ZaFMkuz+fpDIiKT1UsyVlq9beccC5WQpdmCzjlEZKzDklcUYPfJWive9ssAsNpKWGvFufqFEJHJevzsPCfnCjQ6KbVSoPAqIreUWstqK6GTpKSZJfA9VltoBnMR2dNhySsKsPvEAsaAtW5bV0D9KRGRW6kUQgLP07JbInJbAs8jc5a1dkySQehDNKMZzEVkb5u5ZPTiVykMcpdXFGD3yUIlwjnHpXpnuO3MQomFSjTFqkTkoNNELCJyp1JriRNLN7Gk1pFZQ5xYtcCKyJ4WKhGptVyud8isxfc87jtWyV1eUYDdR7VSyLFaNryiUSvlpyleRCav0U22hVeAeivRRCwisqckdcSZJfC84QzmcWZJUs1gLiJ7izyD7xl6g0mcIs9Mu6Q7pgC7T3pJxj21ItVCQJJmhIFPJQroJZlOREVkV70kG7tdxw0RGccCc6WIcrQ1g3nk+7nrBigik7XairnR6tGNU5LU0SXlRqvHqsbAHk2bY9cqUQBRcNN2EZGdCqGPAXojS2EUAl/HDRHZ00IloloKaHT6418BqqUgd90ARWSyGp2Y71xrstZJcYABGt2UJ++PgcqUq7t9CrD7pFYMma+EnL/Rot1LKBdC7jtWydXVDBGZrFoxJM4s37rWGA49eNvSjI4bIrKnWjHkbUs1LtU7w15fp+dLOnaIyJ46qSVxsDnYwAGJ62/PEwXYfbS80eONtU6/O08npRwFmoxFRMZqdBPW2jGBZ+gmlmLos9aOaXQ1BlZE9nZ6vkySZqy2YhYqkc43ROSWZoohc6WAyDdk1uF7hnLkM5Ozcw4F2H1ydb3NhZU2oe8Pu/NcWGlzcq6gdR1FZFerrZjzKy2+eaVBnGVEvs/b7q3x1hNVBVgR2dOfXajzzasbw94b9XbK42fnp12WiBxgJ+dK/MDpWS6utml3U8rFgDMLZU7OlaZd2h1RgN0njU46dvvS7ISLEZFcaHRi/ux8nZX21kzE7V7KE/fNk6exKCIyWVfX27x4qU6zm9JLLIXQ48VLdV00F5E91Yoh1Sik2U1o9jIsjmoU5u6iuQLsPqmVdv8ox20XEVnvxKTWUQq9YVee1DrWO/G0SxORA+x6o8fVeodXlpvDWYgfPFHleqOnACsiY11db/PSG+ustFKstfRSx0tvrPP2U7VcHTu8aRdwWCzNljm7uP0Hf3axnKtfBhGZrHIYUIo84tQSZ444tZQij3KoC18iMl6SWl5+Y4NGL6UdZzR6KS+/sUGSs4lYRGSyLtY7XNvoEfkexTAg8j2ubfS4WO9Mu7Q7orOkffT42XlOzhVodFJqpUDhVUT2NFeJWJotsdFO6GWOgm9Ymi0xp6UwRGQPcZIyV4n49tUmln5rxNJSlTjZfTiTiAj0jxWGrVmIGdzPW4umAuw+W5ota8yriNyWWjGkVvA5PlMkSS1h4FEr+LkbiyIiE2Y8bOZ464kKSZYR+j42c2DydhoqIpN0ar7E2WNlLq22SSyEHpxeKHNqPl+TOOlIJyIyJY1uQmYNi9UC89WIxWqBzBoa3eTWLxaRI2uuEnJ6oUS7l9KOLe1eyumFEnMVXfwSkfGWZsu89ViVmXJEJTLMlCPeeqyau16jaoEVEZmSNHMsVCNWmjGFoL/+1kI1Is3cLV4pIkfZXDki8A2LtcKw90bgG+bKGn4gIuM1ugnWwL0zRTpJSCn0sYbcrT+vACsiMiW1UkC1GFAMfTpxRinyCXyj2ctFZE9J6jg1X6GT2OGx49R8hSTVxS8RGW+1FdPopJSigFLUP9dodFJWW3GuAqy6EIuITMnSbJlqFHC53mG1FXO53qEaaQI4EdmbBRKbsViNWCiHLFYjEpuhOYhFZC8eYAw411/5wDmHMfkLhLrMLyIyJY1uwomZIr4HrV5KpRCwWC3mriuPiExWITDUmzHfvtbC0Z9F9KF7KhQCM+3SROQAm6tEBAa+vdKil2YUAp+HTlRzt/qBAqyIyJT0kgyAxWqRxer27QqwIjLOeifFObhntkAvsRRCD+f627USgojs5Vqjx41mj8w6fC9ltpS/8428tRgfeI1uwo1GV7OIisgtFcL+xE0rzS6vrzRZaXa3bRcR2U2SZmTOsdroUW8nrDZ6ZM6RpNm0SxORA+xyvUWrl1GNfIqBRzXyafUyLtdb0y7tjqgFdh9dqre5VO+QpBlh4HN6vsTpeY1lE5Hd1YohyxtdXnpjY7jt7SfhB06rCUVExvM9wxtrXbqpJc0s1vd4Y62L76kLsYiMl2aOjW5MK85IUkdsHZY4d6sfKMDuk0Y34ZtXGzQ66WBLQrPXb5ZXV0AR2c3V9TbNXsrSbIFOklEKfZq9lKvrbU3kJCJjpdZRijwursSkzhEYw7FaRGrzdRIqIpNVKQR4Bq6vd4kzS+R71E5UqBTyFQnzVe0BttqKaXZTnHMkmSP0Dc1u/qalFpHJaXRS6u2YjcGFr3VSZkoBDY1jE5E99FJLvRkTBgZjIfD6kzr1Us1DLCLjpZnDc4Ysc1gH2eC+WmCPKI/+LKIrzXi4bbEaaZCxiIwV+GYYXjdtdFICX90ARWRv1VLAejfFM2CMoar1o0XkFlaaPZYbXe6ZK9BNLMXQY7nRZaXZ48FpF3cHdLTbJ2FgSDOLw5FmjsDv3w81pb2IjFErhrxlocR3lpvD6ewfOFFVrw0R2VOtGFL0fY5XC8NugEXf17FDRPbknCXD8eLr68Q2I/J8Hr63inP56r2hALtPAs+jXAhYacVkzmEslAsBgac2WBHZXSH0wfRbYhPb/4rRLMQisrfZUsDSXIFk1eGnEAU+S3MFZtUKKyJ7KIQBF5ZbrLZjLA6PjAvLLQphvo4d+ar2AEutJfA8lmaLpJkl8D0CzyO1+bqiISKT0+olXK53uN7oDz1odmNC36PVS9SSIiJjJakj9Hya3bTfAju4n6T5GscmIpO13k0olyJK3ZTMOXxjKJci1nO2/OfEAmySJHz0ox/l8uXLxHHML/7iL/LAAw/wkY98BGMMDz74IB//+MfxctpiGXgei5WQqxsZznkEnmGxEqoFVkTGut7oYR2cmCkMhx5Y19+uWYhFZJx6J+biWodyIcBPUwpBwMW1DvVOzBkq0y5PRA4og8MHTs2XSK0j8Az+YHueTCzA/v7v/z5zc3P8+q//OvV6nb/9t/82b3vb23j66ad58skneeaZZ3juued43/veN6mS9lUh9DGAtY5OnOAXQgzqCigi40WBj3NgMISDiZuc628XEdlLu5dyZb2HAwwJ984Wpl2SiBxwi5WIB5YqfOdaC0u/BfaBeyosVqJpl3ZHJhZg/+pf/au8//3vH973fZ+XXnqJJ554AoCnnnqKL37xi7kNsACvrbT49tXm4I9Jhziz/NDZ+WmXJSIH1Mm5EmcGkzhl1uJ7Hg+cqHJyrjTt0kTkAAs9g3FQjvzhECbj+ttFRMa57/gM983XqYQ+jV5GreBzvBpx3/GZaZd2RybWv7VSqVCtVmk2m/yTf/JPePrpp3HOYYwZPt5oNCZVzr57Y61Do5NyYrbAXDnkxGyBRifljbXOtEsTkQOqVgw5t1jh7GKZxWrE2cUy5xYrGv8qInsKPI8H7qlSK/oUAp9a0eeBe6oatiQitxRn8NXX13jpjQ2++voacTbtiu7cRI90V65c4Wd+5mf4m3/zb/LX//pf3zbetdVqMTOTr/Q/Kkkz4syyvN5jrZ2wvN4jzixJmsPfChGZiEY34WK9zYWVNtc2elxYaXOx3qaRs8kURGSyAt/QihN80x9+4Jv+fa0hLSJ7eeXqBl9/Y4NjM0WO1yKOzRT5+hsbvHJ1Y9ql3ZGJdSG+ceMGP//zP88zzzzDD//wDwPwyCOP8MILL/Dkk0/y/PPP8653vWtS5ey7SiGgm2Sk1pI6CAx0k4xKQRM9i8jurq51+PPL67R6/Qtdndjy55fXeXipRm1JrbAisrtWL+X8SofXrreGM4n2Mkurl067NBE5wOrtmHaScWmlTeIcoTGcXixTb8fTLu2OTCxdfeYzn2FjY4NPf/rTfPrTnwbgX/7Lf8knPvEJPvnJT3Lu3LltY2TzplYMuWemSL2dkKQpXhBwz0xRXQFFZKx6J6bV6/fesNb2e6X0+ttFRMZZacU0uinVYjCcSbTRTVlp6dghIuOVQo8r9Q6JtTggcY4r9Q6lMF/DDyYWYH/lV36FX/mVX7lp+7PPPjupEu6q1FpacYoxDP+14lTrwIrIWPOlCIMjs47Mgo/D+I75Ur5mAxSRySqHHlnmaMUZzjqMZwg9j3LOTkJFZLLixHL2WJn/+91VUucIjOHhczXiJF95RUe6fbLeSWl2Uwzg42GAZjdlvaPuPCKyu1op4C2LZZIko5tmJEnGWxbL1EoaeiAi482VCzxwTxXPOaxzeM7xwD1V5spaSkdExkudY3m9x4NLVd56osqDS1WW13ukTuvAHknNbkKcWq43esPuPKXQp6nJWERkjCTtt77OViO6saUYeWTWkaT5+kMiIpNl6XcF/Ev3LdBOMsqhTxR65KsNRUQmbaYUsVANubbRzyupZ7hnpsBMznp+KcDuEwNcqndoD5rg48xxqd5B8wGKyDitOOmPgU0svTTFMwGtXkYr1oUvERnPOQs4mnFGN02xDhZCM9guIrK7e2dLnJwvkWaOnrUUPI+T8yXunc3X+vMKsPskCDyW5opcb/TIrMP3DMdrBYJAvbRFZHe+8bi20eHyepdeklEIfZyz+EbHDREZzzceza7lwo0WKRDQI/JrOnaIyJ5Sa6kVQ4wB5wzG9CeizducPQqw++RErcDZYxVmiiG9NKMQ+MxXI07UNB5FRHbXiROavYyLK+3hZAqzxZCOWmBFZA/tOKHVS6mVQhJrCT2PVi+lrWOHiOyh1Utpd1NOL5TpJBml0KfdTXO3BJcC7D5Zmi3z+Jl5vnx+hVavvy7s42fmWZotT7s0ETmgljd6XF1rUwz6Y9c84Opam+WN3rRLE5EDzPc8orC/7JY3aHWNQg/fUwusiIxnrWWtm/C119cGvTfgB98yh1UL7NHlAbPFEN9AtRBqimcR2VMzzvB9j1KB4dAD3/doxtm0SxORA6xSCDhRK9JLMuLUEQWGE7UilYJO60RkvFZseW25jTMePuCA15bbtGIF2CPp6nqb/+9inXa3f+LZjmOaSZ2luYJaYUVkV7PFgKXZIsuNLmkGgQ8nakVmizo0i8h4tWLI0myBZjcdrnywNFugVgynXZqIHGCdOOW+E2Uya+n0LKVCv+dGJ1YX4iNpudEbhtdN7W7GcqOnACsiu1qaK5FkjhvNHlkGvg/z5QJLc/maDVBEJiu1lplKyCOnZrmx0eHYTIliweRuIhYRmax750oEBl673h52IX5wqcq9OTvvuK0AmyQJYairenspBT4GSKwdXg0NPY9S4E+7NBE5oC6uNllrx8Qp/eOGM6y1Yy6uNvm+k3PTLk9EDqjA87i22uFrl9bopI5SsM4Pnp4jOLs47dJE5ADbaPVY3ujxyo3WcOjSbDlko5WvuTduK8B+4AMf4F3vehd/7+/9PR566KG7XVMuLc2VuHc24uU3NmgnlnLo8cjJGbWkiMhYjbblwo02nu9hAOvgwo02jbZaUURkvDfqLV58fZ1vLbdIbEbo+ThreOd98xyrFaddnogcUBdWO1xcbfPWY2US6wg9w8XVNhdWOzw57eLuwG0F2N/7vd/jj//4j/nUpz5FvV7nb/yNv8FP/MRPUKlU7nZ9ubLc6HF5rUsvyyj4Pse0hI6I7KEUeSyUI642usNZiJdqRUqRpoATkfEurnY4v9KkVgxIrUfgeZxfaXJxtcOjb5l2dSJyUJUjn8D3eO1GmwzwgXtni5SjfPUYva2zJM/zeOqpp/g7f+fvMDc3x2c/+1l+4Rd+gd/93d+92/XlxjevrPEXl9dpxRnd2NKKM/7i8jrfvLI27dJE5IA6NVfiB87Mcma+yL2zRc7MF/mBM7OcUs8NEdlD6iyh7/Hy1XW+ebXBy1fXCX2P1Kn3hoiMd6xWZKYY0MsyemlGL8uYKQa567lxWy2w/+E//H1T+/kAACAASURBVAeee+45nnjiCf7hP/yHPProo1hr+cAHPsDf//t//27XmAv1Zky9ldBOLA4wiSXNLPVmPO3SROSAmqlEzJUiziyU6SSWUugxV4qYqUTTLk1EDjBr4UYzxjMengeY/n3N4SQie2nHKfPViEdPzxGnGVHgM18OaR/GWYjvv/9+Pv/5zw+7DG9sbDAzM8OnPvWpu1pcnlSLAY7+ekoMvrrBdhGR3cSZI04zgsCj6AxBYIjTjDhzt36xiBxZSZKxWI1o9lIyB76BxWpEkmgNaREZLwg8ktSxUA7pJj7F0CNOHUGQr6FLe1Z7/fp1XnvtNf7n//yfw9uvvvoqP//zPw/A6dOnJ1JkHpxZqPLO++aZKfiUQ4+Zgs8775vnzEJ12qWJyAHV6iZkQKtr2eiltLp2cD+ZdmkicoAt1CKSNOPBe6o8eKLCg/dUSdKMhZp6b4jIeMfKEafmSpy/3ubSWpfz19ucmitxrJyvY8eezYNf+9rX+O3f/m1ee+01PvaxjwH98bA/8iM/MpHi8mSuEvGu+xdZmimw0cuYKfjct1hlTl0BRWSMIPCoN2Ma3YTUOZLUUmx6ubsSKiL7zzmHcyM9u5zr9+5ycHK2zDvOLvDtaxukgIfjHWcXODlbJk4txoABjDGDr/3bInK01Vs9VtsxM6WAxDlCY1htx9QP0zI6733ve3nve9/LF77wBd7znvdMqqZcqhVD7j9RxXiGdi+hXAi571iFWlHr54rI7iLf4PuGZi8ldY7AGJZmi0S+TjRF9jIa7jaDXX87OPqP7by/+VxgGATZ5fGd+xr8D2sd1jms6z+v/xUstv/c0efhcBbsSK12M4Da/n77z9u+r34tg/oNw+9jp24cs9KOubIRD5fCWKzFvF5vsdzavQfHZpD1jMEYgzcItR7geQaDwXj0t2PwvP5jxgNvcH90H97oPja3DZ7DYB+7Bun+g1u1jGzfzNhmr9criIu8afVWyusrLXqJJcERYugkGfXWIRoD++lPf5p//I//Mb/3e7/H7//+72977Dd+4zfuamF5FRiD7/kEOsCKyC300gzfGE7OlYhTSxR4+MbQSzWOTd683cLdMIzBnuFuNLyNC3ej+2IzmA2+joa7fmBze4Y7a7c/xw6KuzncuWEN1vWDDM5s1THCDP/fDb+w9WXkOSN3xuxr84WbAWrzhZuhauv2SDDb3O3wuTcHM88YPN/cvC+z/f443252+fqlDVpJigVi4OuXNvjRt53g1PzuS/iN/vxG78PWz9RmkA0fcyOPcdPvw7Z9jF4gGFP6zs1jfx6DH9peMwHsFsY3Q/XW9u1fvWFo9oa3jQGP/kRYBgahvX9h8U6C+G6PKYzLQeT50Eks1xu94TI6x2sFvHytorN3gP3xH/9xAD74wQ9OpJg8a3QTvrvc5EYzJskc674hziyzpVCtsCKyqyyDaiFgpdmjN2iCqc4UyZRf75q9wt1oa9e4cLcZ7OAW4W7wHOscdrPFbUe42wx+/eeBdXbYQjca7qzbarVzm/tge7izbnuwgM2Qt1tQGEl1gye6kW9+t6Cx2742HxwNd1vhbXy4Gz1nH3ei720GiNF93Wa4OwracYbFUQqD4SROFkc7Hn/w2BnCxybNHLhVGLeuf5GE4X+j0w3jww9+c5/OgHGD/34OVqu4wvjhVir4lCOP0Df4rv+7VY48SoV8JdhbjoH92te+tutjTzzxxF0pKK/WWjEX6x3eWOuQWYvveXSSEverG7GIjOEBzTghG3RNzGz//jRGwLqRMLVXuNt6zvhwt+35u+xrtEtmvwtmvzslcFO4Gz5vtJWO8eGu/7r+++0V7jaZkfC2W7hz3Hzuue1zG90XO1rxdgl3oyd5e4W70ZNGRp7neZuP7tiXwt2Rck8l4p5ake/eaA1/R88dq3DPEZl340iFcevIBsn6zYbxzVdtO8aNBGkzeNCN9ETYj1bxgxDGN1vhFcT7eknG6YUqjW5KZsH34PRClV7OZjDfM8Bev359UnXkXjvJ+O6NJt14cxG2jG6a8c775qdal4gcLM45UuvIrGOjl1BvJXRiS4olxbDaSKi3Yq6sdbZ1yewHuc2WvO3hzg7OUobdNt1Ii9+O8XYMWu/soHVir3AHWy1vg3ujd24Kbzv3snOf256xR7jbGeTuJNz5O8Ld5gkKHP4TEzk6ZooRj5+ZY64c0E4s5dDj3GKVmeLRCLCHyWEO45tDAg5DF3VjDP4h6KIeGEN9o8P9JypkKfgB1Dc6uRv6uGeA/eVf/uXh7eXlZdI0xTnH8vLyXS8sb5yzBKZ/5SqzDt8z/ftOq4qLHDbO9f87zza/7viXZJY4dSTWEqeWOLMkqSXJLKndvLptuNGMafVS3mh0to4bvmG1m/Dta809w92wg+Ue4W74h43+frdevz3cKdiJ5ItzDuMZQs8Q+v2vxtveFVxk0naGcT+nYfwwd1FvxClztSLfubZBAoTAA/fM4Ods8YM9A+ymj370o7z44ot0Oh263S5nzpzhf/yP/3G3a8uVShQyXwnpJhmpzQi9gPlKSCVS92GRg2pb8HSOLOt/Ta0lyxxx1g+gSbYZQvvbUmu3dSfd6prVv73Z/cn3tro+hb5HIfDxva0/P61uj3Lo8/DxKj3rKAweKwUeC0ekK6CI3LlGL+GL37nO6/XucAzsxXqHx87MUq3sPomTiNyew9wqHuKzutFlrhyROkdoPFYbXVzOvsfbCrDf/e53+d//+3/zzDPP8KEPfYh/+k//6d2uK3fCwBCnGa+vtoeziS5WQ8IgX78QInljd7SEprbfXTYdjCvtJVk/fG62ig5uJ5ll0Bg67No6ehFzc0yOb/pdUzcDacUPht2JvleeB8dnC/z562ukDgIDj75lbjDOUURkd9eaPW60E8LAEAxaWW60E641e9y7UJ12eSJyQOwM490spRD5fP2NDSz9IPj2U7O04kO0jM6mSqWCMYZ2u83CwgJJsvsaY0fZcqPHd5dbdJKMzEGWZHx3ucVyo8fSbHna5YkcaJtdcjdD52YI3QylWy2hbtgddzOUZiNdcvtJtB9FHa4/LtIw0hra/1oMfCpRMPWus87C1y9uUO8kw+nsv35xgx976PhU6xKRg60Y9pfr8wN/ePHNDLaLiIzjnMeFlRaB7wEOz3i8fqOFs/lqcLutAPv2t7+d3/qt3+LEiRN86EMfIk3zldIn4cZGl+vNZKSzO1xvJtzY6E61LpFJ6odQi7UMv252yU0H3W+TbPu40DhzZG6XLrkjwznMji65vmeIfI9S6OPlePzmRiclM5ANPieMITP97SIi48yXA548t8Dl1TaJdYSe4dRCmfnybZ3WiciR5ZgphzTq3UELbMbMTBnfz9e51G0d6f7ZP/tnNJtNisUizz//PD/4gz94t+vKnWIUUI586t2MLHW4wFCLfIqR/phIvtgdLaHZSJfcbGRSos0xoZvjQ9PRLrnDbrj9JU9g9y65ge8RBWbbuNCjpFwI8BwcnymQZJbQ98D2t4uIjGNx+AaubvRInCM0hrcslvszkouIjFEp+JQCn3IhwA3Gz5dCj5livnpv3NZZ0qc+9alt919++eVtMxQLnDte4fRiifVLMRngOTi9WOLc8cq0S5MjaHSpltEuuZtfe6klzrLhpET9INofK7oZQj0MFodn+suzbM5hu9kCOtottxwGeJFms71TC8WAR8/M8IVvXSexEHrwnoePs1BUgBWR8Rodyx994zrFYv8k1Br4o29c5y/dv8i9s9OuTkQOKuOgFPr49Ccr9j0oBH5/Qd4cua2zpGPHjgH9k+KXX34Za7U0zG5OzxVJ4my4JtvpueK0S5IcG12qZbRLbmotmXP97re3WKrFM5vLKmyte7bZJdc321tEC4FPKQpy3SU3bxLnaMYZb7t3ZtgNsBlnJFoKQ0T20OzFVEoBvcHM6ViolAKavXjapYnIAdZK+kO3ziyWSK2j6PtYoNnN1/xGtxVgP/jBD267/w/+wT+4K8Xk2UqjRzvOKBUCjMkoRj7tOGNFkzgdebt1yR3OmDvofns7S7VsTpW7GW1265K721ItcnAtN2Kurfcohh5ZZjF4XFvvsdyIWZzRcUNEdrdYLlKOfNbXusMJ4ObniiyWdeFcRMYrRh61UsB6O8HiiHHMlwOq0SHsQvzaa68Nby8vL3PlypW7VlBepc5yda3LciOmm2YUA58TtYjUqbX6MNi5VMvomqGZvfVSLWZznZaBzZuG7RMT3Y2lWuTgikKDwXFhpU3mHL4xLM0UiEL93EVkvJiUMwtl3ljrYh14Bs4slInRBHAiMl4t9KkVAl652sQaR2Q8Ts3PMlfO19rztxVgn3nmmeGJdKFQ4MMf/vBdLSqPCoHPtUaPCysdRjtsFoJ8XdE4zEa75Gb25n/jlmpJB11yjTFbi4UOuni6wf/tHBN6kJZqkYOrFvrMlALKUTDsQhz4/e0iIuN0u5bvXmvwlx9YIMkg9OGVKw26DyxOuzQROcBaccaV9S73HS+TpI5C5HFtvUsjzleD220F2PX1dZrNJoVCgV6vx7/6V/8K5/on9M8999zdrjEXGp2E0DcsVMLhbKKhb2h08tWnPA+2Bc+RltC9lmpJBsu77GwFHW0Y9Q7pUi1ycG0kKXOViD+/sEbiIDTw6Nk5NpKUE9MuTkQOrNCHhZkiz39nlWwwk+jb762ha18ispcks0ShRyHorxMRegZ8n26cr94btxVgH3vsMf7W3/pbPPbYY3zrW9/it37rt/jEJz6xLwVYa/nVX/1VvvWtbxFFEZ/4xCc4e/bsvux7kqyFY5UCSWrpph7FwHCsUkDzXe1uZ5fc0Vlyxy3VsvnPsbU+6E0hVEu1SI5YZ3jx/BobcTrsBvji+TX+8luPTbs0ETnAPD+g3owZThvvoN6M8XzNYC4i4xUij5lCyFcv1EnoXzh//Ow8PvkKLLd1pHv11Vd57LHHAHj44Ye5cuUKUbQ/faX/4A/+gDiO+d3f/V1efPFF/t2/+3f85//8n/dl35M0Uw4xGJLUkTlLknoYDDPlcNql3TWbXXJHJyi65VIt1hKn2dZ6oRgcblsINWOWaimFARUt1SKHSDdOSZyjk9jh1ZhS6HJ3JVREJitJUnzfMF+JsM71/1b6hiTRsUNExmv1Ui7V26z1Epztr55zabXNWjebdml35LYCbK1W4zd/8zd59NFH+cpXvsLJkyf3rYCvfOUrvPvd7wbgh37oh/j617++b/ueJGcdqc2oFny6GRR9n9RmOHvwl8PIBt1rb3eplnTwNXNu2yy5o62hY5dqUZdckaFiFBAYw/2LJVILgQetbkYxUiuKiIwXBgFpZnHWYQHj+rPah4GOHSIyXqOTcGG1zUIlwg16fl1YbbPWydcSXLd1pPuN3/gNPve5z/H888/z8MMP86EPfWjfCmg2m1Sr1eF93/dJ05QgZwfhaxtd1rsZr9c7w8lY3uJ5XNvo8sgE3v9Ol2pJs34LaWbtSGvonXTJ1VItIt+rKIDHzs7yR9+8QeogMPCjbzuG8quI7MW5mNMLZf7va6vDi18PLi3gXL5OQkVksoqhz0whoJlsNbDVCgGV8BDOQlwul+/a2q/VapVWqzW8b63NXXgFaCcZK2ttzi6UiC1EHtxYa9NObr9J3u0Mn7dYqiXNXL+LbrZ3CB27VEukpVpEpimO4cL1Nqfny6TWEngeF663ic9NuzIROcisDbi21uWtx6rDSZyurXWxNn/nTyIyOeViwNvuneE7yw1S+kHwgRM1qkVv2qXdkakf6R5//HH+z//5P/zET/wEL774Ig899NC0S3pTemnCqeMVXrvRGl4Nvf94hW4Ss9aOxy/VMri/uVQL9APn6HS5WqpF5HDqpAnrvYz1TowFPGC2FNFJNXu5iIwX+AZjzOBvvxveDnydC4jIeNZZrHXUCsFw9QNrHc4dwkmc7qb3ve99fPGLX+SDH/wgzjn+7b/9t9Mu6U3yuFzv8N3rrWFXwMj3wM3ytYtrWqpFRG5SDkO6SUqSDcaTG+gmKeXw8E7+JiL7wIPT80Uu1jukFpwHZ+ZL/atgIiJjJInhWqPL8kZM5hy+MVggb6t+Tj3Aep7Hv/7X/3raZXzPOknC+RttskFSzRycv9Gmk1oWKoXpFiciB5J1lnPHqrx8ZX24jM65Y1Vszq6EisiE2YzMwWorHl40PzlXApuvmURFZLJiG7PeTlhu9YYXzguBIU7zNX5+6gH2sDDOA+OYLQXDMahpZsFpVXERGS9NM956vDqc/C1NdQIqInvrJJZXrjWZr4ZkFnwPXrnW5KmHFqZdmogcYM5B5hz3zhSHeSXDDRvg8kIBdp/UigFnF8r8+eX14dXQR0/NUiqoP4+IjGOxwKsrneGWBxZLkLMFxUVksgJ8wsDQS9yw90YYGAJ00VxExgs9w71zJV6+2sTRH3XwfUtVQi9feUUBdp/4niEKfO5frAxnBAwDH18DUkRkjMx6rDR6LNWi4UnoSqNHZnXcEJHxwoLPQjlio5cOzzlmCgFhQQFWRMYLwwiXOZaq0XAMrMsclegQLqMjt5ZmDg9HrRSSZI7QN3g4EquWFBHZXepSTswVaXVSEvoH5Nm5IqlLp12aiBxgLospRj5fubSGzcDz4f85t4jL8jWOTUQmzFlqlZBmnGKcITBQq0QEObturgC7T5yB9mBMyta6SlW1v4rIWAvlIj6G8/X2cPmtR0uzLJSL0y5NRA6wTur4+uV17lss4ywYD75+eZ2/8n2L0y5NRA6wghewvNalHAUkzhEaw/X1LmGQr5VQFGD3ibVQb8dkAM6RGjNY/zVfvxAiMjndxLLajikXAqwFz4PVdkw3Uc8NERnPOVisFjm/2hoG2PsWKricTcQiIpPVzVJOLVR4dXmDDIgw3H9PjV6Wr/MOBdh9ZIzh1GyJ1Fl842FtlruFgUVkclpxSifJOF4JiTOIfGj2MlqxuhCLyHgL5RI+MBMFZIA/+LdQLk23MBE50Iznsd7uUQh9MgehMax3YvrzEeeHAuw+qUU+bz1eIU4svcxS8D2i0KNU0EcsIrurFQOO1wr82cU1sgx8Hx4/M0etqOOGiIwXGHh4qYa5Bt3MUfQND91TI2e9AEVkwoyDVpxxZa1LRv9Yctor5yy+KsDum9B3HK8UeO5b14Zj2f7Kw/dQivL2KyEik2JdvyvgvTPFYRdi5/rbRUTGSYB2nLI0U6CbWYq+RzvuTwYnIjKWhcAznFkokzpLaDyMAXJ23qEAu0+ubsT8wTeW8QIPn/54lD/4xjLff6rM0mxt2uWJyAHU7CZsdBJKoT9cRmejk9Ds6jRURMZLYsv1Ro9vX2+SWfA9eOh4lSTWsCURGc/3+2vBXm30hucdSzP5mzhSAXafNHoZq50YC8OrGJ6B9e40qxKRg6wYGLLM4QWmf9wwkKWOovoBisgemkmPejvhkaXZrZlEG12aSW/apYnIARZnKaXIJ07scPx8OfRop/mae0MBdp/MV0NmCwH1brp5HspsIWC2pI9YRMYw8MipWb673CD2IDJw7tRM3uZSEJEJK0QRx2oR3762gQU84MF7qhSiaNqlicgB1sssjU7K28/MkqSWKPBY3eiR5Gz1A6WrfTJTCvjxR07wR9+8TmIh9OBH33acUkkrwYrI7kp+SKMb43kGzzo8z9DoxpT8cNqlicgB5htHN7FUisGwG2A3sfgmZwPZRGSiSmFAoeDxJ69cJ3PgG3j8LXMUczbpbL6qPcCqQUhofN794DE6qaUUeATGo+j50y5NRA6oTpZxsd7l6np32IrSTiydLJt2aSJygKWppVoMqLdjnANjoFoMSNN8taKIyGS5zOPyapcT1eKwx+jl1S45WwZWAXa/NOKMb15rYK0jGczqhXG8876FaZcmIgdUN0nYaCfMl0NS15/OfqOd0E00iZOIjOcbr78MhusPn88cXFnr4hv1+hKR8dpxj/sWy2TO0sscBd/gG492nK/x8wqw+6SXZqRZRqkQ4KWG0De0eymJWlJEZIwoMJxeLPPVi2vDmUQfOzNHpEmcRI4s5xyZdWSDr9ZC5hx2ZNvVRo/AN1xZ7w0nYjmzUOLyepdysQ2m37JiMP0lMui30prBA/3HGNw2g8c2n2eGj3mDF5vdXr+5313eY+ux/v62Htu6LyKTVy37WODFSxvDLsSPnZmjWipMu7Q7ogC7TyLfcKxS4PJ6m3TwC3FytkwY6mqoiOzOxyME3n1ukdg6Is/QSzJ8dNyQo8fuCGmbwS2zg/sjwc7are3D5zu2tu/yuuHrR/ZrR/e323tZR7a53x2vyezo89n+mh112m2hlLHvZ517U+tAJ8Ar1zv8x+de3fefy90yDMWbgZndQ/Lmo8OQvRmSh7e3h+7R4G4GG7cH9FuHbAb72xbUd77H5nN2rdFsf+2Y17PtPcxIyB9z8WHMe2zuaftnNOazNP3hKjfVOPI9326Nm1XdtI+dr9/lc9394sluF0lu3uf4iydjXr/tPXavebiPW36ut/rd2/uz3V7/zZ/RXp/rzt/vnZ+ZN/Zz3Xr9StNy/nqLNLMYY8gcXFxp524JLgXYfWJd/w9iO7H9lhTTv4qat4WBRWRyUpcxWy3wzTfWh12I33ZyltSp58ZRYncEmZ3BbdcgdFOg4qbHdz7X7hLcdr7HzuA2fO7mYzcFt+0h7qaAuePxce+bWXdg/lz6nsE3Bt8zeF6/FXJ0m++ZrW2ewTNbr/E8Q+AbCoG37bne8PXbn7ttX6P7HHm+t8v7rjQ7fPXCGmvtlMxZfOMxXwl4x9l5TsyUcQzOQWBwu39reFriwOFGHmPwmBu53b9hh6cyu7x+87Wjrx88Z/P129/DjTzGsE63y3vcVPPI60ffY/h9uh3vuXPfI98zO99jt9cPvzd302e0ed/eTo3D/blbvsduP5ud399en+tuNY77+dvRn9VNn+voY3vUuO09dvwc5MBbKAdEnqHZS+kmWkbnSOoklhvNmMw60sFsLDeaMUmiE1ER2V0YFPjahTqt1GKdwzOGr12o895HTky7tIkYF7Z2DULbWtpuDm7jQ9jOlrbx4XArpG0Pbnu35o200N3U0nZ739tBOdnbGdyGt8cEt63HGRvctr7eHNx23f+YoLfr+w4fZ1v42/ke3pjva7c6PbPVInKQfevqKtcbPdKshXUenoFT8yV+4HSNh5c094ZM31Zw334fdgnZu1482RGad+xz5wWamy+ejLn4MHxst9Ddf77do+bbvXiy18WBfv2D99vt9XtcGLjVhSl7i891eaPDn7xyg5VWzHonwffg3GKFubK6EB9JBmjGKa1ehh3cD7wEl4M/hCIyHeudHtVyyMqN1nAc20KlxPmVJtVCtEcI2z24bbu9a0vb9rF0u4bDHSFr9xB2c3C7dcgbhMeR7QcluAWjIWZHwPF2CVnbA1R/CIm3S3DbLeSNa2nbq4Xu5hBmdgQ2tu9nl9bCwxLcpC9LHZdvtDm1UCLLwPfh8o02WXpQ/quSo2602+pgy/SKkaHvXK9jcPzFxXVS+kHw7adm8HO2aIoC7D4JPEMx9LEuHq7JVgp8As0IKHLopZmlFWe0emn/3+B2c3C/ucu2Vi9lrRPT6G710kiB11Y6/L9/+Brw2l2vO9ijFWtnCLs5QPWDmx96tw55m90sd21p270b5u4hbExwu2U3zJH979KiKJI3loyluSKvrXSGF7/uXyhhUa8vERkvTQ29XsoT98/TiTNKkc9aJybJ2cUvBdh94nuGauRTCDwy5/CNoVIMcF6+fiFEjiLrHO042xYu+//62/q9K0bCaG8QVge9Ljq3GCrgGagUAqqFYPh1sRJx0oasNFNeW2ljB7MQf//JGb5vqcTJ+dnx3TfHteaNbaHbMZZPwU0k10LfZ6UZk1mLHQxbWmnGhHlrRhGRifI8x3qc8YXvXOnPQuzBD52Zw8tZe5sC7D4xpt+3vFoMyKzD80y/JdbpJFHkbnPO0UmyXcLlVuAchtN4x/1eSjvO9uzOaoBywacS9cNntRBwcq5EZbBtezj1qRSC/nOL/a/F0Nu1e+Y3Ll/n2T+9zDtOzw4ncerGGY+dmeP7Th2/a5+XiORbL7M4Y1hrJ8OlMOZKEb0sXzOJishkxUl/FuKl2dJwArjzN1q0e/k6dijA7hNroRB6LJaj4YloFHpYoxZYkVtxztFL7U3dbUdbPZu9bBhKd2sJtbf4T60U+tsC5olagcpipR9CCztCaLR9Wyny70qLZSd1dDNHqx0PT0J949HJWVceEZmswARcXe+Q2sEELgaurncIjE7rRGS81GXMVSI6cYZzBodjrhyROM1CfCRlWOZLBa5nXcgcxjPMlSKM04moHA1JZreP+RwJl1vbR8eJpjS7W2E1vUUCLQTeVqiMfObLEWfmg+G2SuQPA+dmEB1tIfW9g9cbolooUI4MzR7g+j05ypGhWsjXbIAi8v+3d6cxll53nce/5zzbXWvrql7ddnuN43a8DI5hkk4gAU+YjBhEhCMQCgpBiVgMCSE7OMZyjGWFSEgRsgxSUBQiIkcJkDeIiSCEcewJIMb22CaOHS/d7m67t6rquz/bmRe36tbSVeVu+3bdety/j2T1vafucqp0/dzn95xz/mdzZXnCdC3CaydkODwMk5WALE9G3TUR2cJqkUclsDx9vNHf9tPC9bvHqUbFioTF6u0WlgOZy2n3UmLnCFJDXg1H3S2Rs7a6ENHqkdDm8mC6xkho/ApT13xrBlNqF0PmjrFSP2yGS4Fz+TrRfns/mAZewRZonAXfz9m3rcYPX2rgyAmtZd+2Gr5frKk8IrK5As+wZ7KEtZDm4FvYNV4i8LbehToR2TpacYbFcOOeCVLn8BfWQLZ7xbr4pQA7JHnmePrlBidbCQv1FOgmGT/5hm2j7ppcILLc0YmzNQoOLaz5jM9sWz5C2k02Dk3WsGxkc6kQ0fK2Rj4w+gAAIABJREFUxZHQlaOg/RAaemuvA72QpQ7mOikY1x8hNo65TopmEIvIRvygRJY6Is/DWghMf2sdPyiNumsisoVZIPQtx5sxKQ4fw0wtxBZsmyMF2CHpxhnHmzGnu/1iMIZ+ZdO4WFPKZYTWK0TUn2a7svDQUkGipRHSsy1EtLTOc6kQ0SBshisLES1vX68Qkbx6cS/h8RfnaKc5bmEK8bHTMe/aPzXqronIFtbudsiB2XZM7CA0UC/5tLsdoD7q7onIFhX5cKoVc2i+O8grnoGwYImwYN3dwkxOvdT/cy5+IOolH2u0J9uFYqNCRCvWgG4wEvpaChGtHgmthd5gym71PBYiklevHcNkLWDSmcHMDYyjHY+4YyKypfk24LEX50mW1dmYaye869qdI+yViGx1rRji3DFV8gd7SMe5ox0Xa+qXAuyQRIHHNbvH+I/nZwfVRK/ZPUbJ155sRbJYiGjNabbdxem2ZwbTV1WIKPLPKES0YguWFZVxPSrh1ixEJK/eeAX2TpR57lRncNy4dLLMeGXUPRORrSzNMmolnxfnu+Q5WAsXjZdIM100F5H1BRayPKfRSwcXzgPfEBSszIgC7JCU/YBOnPLGXWMkuSOwhk6cEnoq5LSZlhciWmua7VqFiJaH1XMtRFQvBewaL62afrtUeGixEFGt5FMJvddlISJ59TzrkznoJNngJLS/sbgOzSKyPt9zBJ5hIloaRQk8g+8VaxRFRDZXEATUwoAXTnXIXb++ycWTFcKwWLsf6CxpSBqdmMBauokjyx0WQymwzPe0HuVcrC5EtBQulxUi6qbLChUtC6vxqyxEVItW7Pu5PITWwpVtoa8AKsPT7Ga8fLrHWCkgy3M8a3n5dI9mV6MoIrI+z7Ncur1KfKRJSv9k7tLtVTxdJBWRDcRxShAY3rizRuL6BeCCwJAkxSraowA7JLUo5Mh8l5dP9wZD8jvGIqrhhVURcK1CREsjoUuFiFYE02Ujpu144xN3A0v7ey4rRLR81HNxxHNxC5blU3EjX4WIZOsIPZ/ZZo9eDplzeMYQ2X67iMi6XI5xhqt310nSnMC3/QIcTltwicj6Qt8H1z/nyDPIPMBBVLAljzpLGpJenhL6lnaSDobkQ79MUrD1KOsVIloeOBcLES1Vxz23QkSVxdHOcFkhounqwnRbb9Uo6MK6UBUiktehwDdcvXucZ483B0sPLpupEfj6jIvI+nIc3STjhy83B+ccV+2okW9Yi15ELnS+b5mqhRx/qUeeg2fhoskKXsH2kN60ANtoNPj4xz9Os9kkSRI+9alPceONN/LII49w991343keBw4c4LbbbtusLg1VO8lodhKu3T1OkuUEnuVUo0cv3fyNgZMsp7neNNvBvp9nBtNzKUS0fBruYiGipbYzR0JViEjkTJFn2DERMVH26KQ5Zd8SRT5Rwb5IRGRzxSk8e6zFWCUYbMH17LEWcTo96q6JyBbW7vVodlLGSj6pA99As5PS6hZr+4NNC7B/+Zd/yU/8xE/w/ve/n2effZbf//3f52/+5m+44447+OIXv8jevXv50Ic+xBNPPMH+/fs3q1tDM1WK2DlR5v8emiNbuKJx495xqqVzL+K0USGilfuArj0SeraFiBYLDC0vRLRyP9ClQkSL7SpEJDI8iUtxOTxzsk2age/BNTvHSFyx1qKIyCYzholawIlmPBiBna6F/SQrIrIO5wzPHmswWSuxOEf02WMNMoq1BdemBdj3v//9hGE/zGVZRhRFNJtN4jjm4osvBuDAgQM8/PDDhQywWKgEHm/eO0kvz7DOYJzh8GyXdjy3shDRYgiNz2w7m0JEnjWDqbaLwXK6vlSIaOV+oAuFiEr+oCCRChGJbA2dOOfRQ3N0k3ywf/Sjh+b4L5eo8JuIrK8S+JBDntM/CXVAvtAuIrIO38C+7XUefXFucPHr+osm8P1iLT84L0e6r3/963z5y19e0fbHf/zHXHfddRw/fpyPf/zjfOYzn6HZbFKr1QaPqVarHDp06Hx06bxrL+yn9NjR08x2lkZPHnxu9ozHnlGIKPLZs6oQ0eqR0OWjoCpEJPL60O464jxntpsMpgFu8wLa3WJ9kYjI5mp1EnZMlEiynMQ5AmPYMVGi1dn8ZUsiUhxBENLsJFw0XhpUIW52Emq+ttHh1ltv5dZbbz2j/amnnuKjH/0on/jEJ7j55ptpNpu0Wq3Bz1utFmNjY+ejS+edsZYjp9pMVQNCz+J7hjx3/Ldrd/GGnWODQkS1kk8pUCEiEYFayaPXy2l1s0H18prvUSsVqxqgiGyuUhBwqtFjrBqQZ2A9ONXoUQqCUXdNRLawJE3ZNVWi2ekvOQw9S63s0cuKtXRp0+aaPPPMM3z4wx/mT//0T7n66qsBqNVqBEHAwYMH2bt3Lw8++GBhizilaczOyTL//sLsYCTlpksmecOOiDftGR9190RkCwp9y+6JMnGWkwEesHuirGn+IrIxzxGFHi/Nd8kceAZ2jpfA0+wNEVlfGPh0uxmH5zqDKcSXmDIlv1jLDzatt1/4wheI45i7774b6IfX++67jzvvvJOPfexjZFnGgQMHuP766zerS0PlWZ8fHm1QL/u4HIyFHx5t8N/37xh110Rki8qAyWpA7krEOYS2f79Ym2+JyKZzhjSHZjcjdQ7fGNJ6v11EZD1pknK8lXB4vkueg7VQiXxasaoQr+m+++5bs/2GG27ggQce2KxunDdJmrFrosxLjS656U8F3DlRopfrVFRE1maBTpzR6eUk9ANtJ8zQ+KuIbMQ6y9HZDu1kafnB0dkO1unoISLra8QZJ5td9k1VBsUjTza6NHrFyivFGi/ewsLQw7icvRMVkjwnsJY0TSlpyxkRWUcvSSmHHnumyvRyR2QNxhh6SbHWoojI5upmMZXI4tlwsPwgCgzdrFijKCKyuaqhx3gp4NBcZxBg946XqIfFqr2hADskobXMjFf49lMvk6bg+3DLG7bjBZrOIyJri8IQayDJ+18iuYPA9ttFRNYT+f3t85491iKlfzK3Z6pKVLB1bCKyucLAcslMhbl2Mjh2XDJTISzYFlzF6u0W1u5lPPzsCXbUSoMiTg8/e5K3XrFt1F0Tka3K5WS548FnT5Jm4Hvw9su3gdt4L2gRubBZDyyGeikYjMBaDLZYgygissl6cUrg+fzU1TP0UkfkG5pxTjct1swvBdgh6WYZkWfJ8nwQYEPPkqTFmlMuIpun3Uv494NzVAMPF/RHYf/94BzvuFoXvkRkfe1ehjOwrRoR5zmhtTjTbxcRWU8QhASeYa6d0Mlyyp6lHPmUvGJFwmL1dgvbVgm5fKbKS43uYCRlZ73EWLVYGwOLyOZJcwh8S6ubDgqxVEs+qQZgRWQDZd/j5OkejSQbVBKtBx5lX0OwIrKRmFYv5X//6ARZCp4Pb7t8mswlo+7YOVGFoWHxHTNjJVqdjGYvo9XJmBkr4dliDcmLyOaply07axETlYDJcsBEJWBnLaJe1qFZRNaXA9vHSsS9jG6SEfcyto+V0LUvEdlIu+f41+dPMVkKma6FTJZC/vX5U7R7xdpDWiOwQ9JqOR4/NM/lO2okuSOwhscPzfPmSydH3TUR2aKMM1y1q8b3nz5FAgQOrtpVw2gvRxHZgAVm2wmT9XCwbGm2nWhUQkQ25HKoBT4vN2Mc/WPJ9lpI7hRgL0i5y+hlOY+9eHpQlnqi7ONyXQ8VkbUlGRw81uLHLpskzhyhZzh4rEWyTxe+RGR9BkucZByca5M58AxcMlHBKMKKyAaqJY+xks9sNyZ3YA2MlXxq5WDUXTsnCrBDEgYe07WQY63eYD3KdK1COdCXiYiszZFTKQV85wfHByehN+6dwGkioIhsoJel1Es+1+wcI3Xgm/5ISi/TsiURWV+a5Vxz0TiTtZAkcwSeYfdEmSwr1nmHAuyQpGnKeDngyu11stzhWcN4OSDOVBFQRNbmW5/ZZo8b904MKonONnv4VodmEVlfNQrYMVEiyx1xmhP6Fs8aqlGxRlFEZHPVSyU68SnKvocxGSXPox2nTJWKtf+8zpKGxBqfRidhphIS547QGk53YjyjLxMRWVueJ1yyvc6jh2YHU3mu3ztJnherGqCIbK5yZCh5lgefPzEYgT1w+TTlSOvnRWR93Tyl0U154vBpUvpBcP+eMXq51sBekIxNmKiG/Ovzs4Mvk5v3TWKtTkRFZG2+F/GDI/O0etlgG50fHJnnnW+YGXXXRGQLO3U65rHD89RLAWkOvoXHDs9z86WT7Bwbde9EZKtqdVKePdGiFCxtufXsiRan2sXKKwqwQ5LlHkfmulw8VRl8mRyZ65JluhoqImtr9no4wPfsoPibW2gXEVlPL89Jc4jTnAyHhyH0LT0VjhSRjThHK05Jlq1w7GfZYi15VIAdkizPiEKPl+e6ZIAH7JgokRasLLWIbJ7QsxggdzkuB2PB4BF6Kv4mIuurRj5l33JovkOegfXgqm1VqpFO60TW45zDDW6vbAdwKx678O9C68rHr/zZyjYGN1Y/d+XrL3vPVT93zvWvaK9iMCvec7GN1W2m/55uxeP698MArt09zv89NEeWg2fh2t0TlLxiDbjpSDckkefT7WU04nRQTXS8l+lEVETWFQSGmXrEidZCOXsHM/WIICjWF4mIbK4sy5mpRZyOk8FJ6EwtKlwlUTnT6jB1XoPWGs9dPexyLkHrzCi1FKY2+lZba6jHrL7jlree+Xc4m/c3ZrHNLNzvN1iz8MpmaSMqa83CaxrMQmP/cWbFz+3i6xqwy3622NPF97TG9F/L9NvOfP/+z5bed+nXXXy1xeex7Lkrfq+lJyxrW/n4f/lBzHQ14Oev30UvyYkCS7uXUi2VKBIF2CGJ84xqyafeCwbFWKoln1hfJiKyjk6cY6zhoonyYO28sYZOrOOGiKwvzjLmOjG7xsuDrfvmOvGm7nzwWoLW6slpznHGyNKrCVrLR78W/1nsy4YJahmz6vaK34GlQLTW45e39h+38rcyxiz1Z4P3Xx56Fp93RuhZ0W4GQWvx+WZVmDKwFMTOMmjZ5YFv4f0X+7T8ucuD1lrBafV7vFLQWuvxZvBmSz9bHuyW/nbLAuDi41Y/+QI2XQkYL0d896ljxM4RGsNPvmE727QP7IXKEscpb7pojCTNCXzL0ZNtrPFe+akickGKfJ8Xj7eYmSgT4LAYXjzeIvJ1aBY5n5YHrFcbvNYb3VpvCuFrmT64fOqgMVAOIxzw9EvNQSXRi6fKlMOIU634zGmGq1PX4DWX3vmVgtbq6YtnBq01Qs/C45aPZlnT37TWrgoz6wWt5eFp8fdfDC+DMLXsPe2yPi2Gl+VBa63Qs7y/K3+29MavGJJWve4ZrzN43NL7nfEaClpynnXznO89fZzcgMkNuYXvPX2cW/YXq3ikzpKGpFyyXDxT5aFnTpI4CAy85YptlAKtgRWRtXme4U2XTPG/nz42KP72tiu34xVsLYqMzrmu6VpvmuHZTDE8l3Vczrn+CNTC41aPZC233qd99WjXihA2eMGVI11r5LR133N5uFk9wrVm8FqcMrjB6JZZ9tj1AteK93mFUa31gs93/vMI0/UIa83g2DFVDcHl3HjJxFlNM3w1QWv5FEwRKZ6TzYQo8mk1YzLnyJ2hXgs42VQV4guS7yzHT3d54+46aebwPcPx012gWEPyIrJ5Sp7Hkdk2V+0YI81zfGs5Mtum5F14Mzc2CmKvZTSs38ZZBbGVI2dL7Wcz9XB5IY2VYW3ZyNlC+9ovt/SsjfKXWfV6a001XDEatfC81eu5BgGOpVGq1Wu5Voa6le9jV73P8iC2YtRrWTBabwTrXEa71ptSuFb7us99HYQvYy0nGjGNXjKou5Hn/faxks47RGRtExUfl8FkLSTN8v4uCFm/vUiK1dstrBvneJ7lqaONQRXiK3fW6abFuqIhIpsnznLGygFPHp0frJ1/465xOklKO04Hj3ut0xLXWwO2elriIKstS2CL7WuFqjNjwGLLyiC2fDriyhG1M4trrJ6KaBYeuHq91/JpiK80BXF5UYxXWue1upjG2YyGrX7t1UFs+WNXjMqtMxL2Suu6Xk9BTF4dCwSe4VgzHqyBnaqEqGykiGxkR73MW6/axveeOk7uHLict75hhh318qi7dk4UYIfFwvPHW7RTtzB1yvD88RbW6QRD5PXIOUfuIHeOLHfki/eX3V575G0pNCYpHD7V4vq9E/TSnMi3vHCsCcajGvmbPi1xrXCFObvRMJbdX/0aG76PQpjIOfONIc5yLpmsDC6ax1mOr/+fRGQDp9sxSZJz+fYa3Syj5HkkSc7pdjzqrp0TBdghyXOYqkUYGw9GUiYrIekrP1VENtkwwqcBfM8SWIPvW0qe17/tGULPEngWzzN4xuDZfvgc3F749389+SLXXzLJt/7fUdIUfB/+55t2UYng2j3jo/njiMiWV408puslXj7dJc8dnjVM10tUowtv+YGInL0TrYRvP/kyp3spOf3ZHGORz82XTo26a+dEAXZISqGlEnjMLps6Vgk8SoEm9IgM0zDCpzXg2dcWPj372kc6ssTw8A9PsG+iMvgiefiHJ3jHVdtf82uLyOvXWDmgFllaoUfiHIEx1CLLWMG2whCRzTXfjWkl2VKdB6CVZMx3NQJ7QYqTlMC3+NaQOodvDIFvyTONwYosOpvwCf1FkcaBW0igxpjBuk5jHMFCyAx8Q2C9wf97/XaDZ20/ZBqDtawMnmZpTeSone71GKtFHJ5tD4L2nskKp3u9UXdNRLaw+XaPbpoz304G2+iMVwPm2zp2iMj6JkohO+ohh+a65M5hjWFHPWKiFI66a+dEAXZIellOnGaMV/xBRcA4zeik2kZHXh9y5xaC5sJt58hzFsqw93+2bNnkimqri/8XWMOG4TP07aqguXXD5zBMViIarZhd4yVSB76BRitmshKNumsisoXNdXOeP97mdDcdHGvz423muvmouyYiW9hUxePaPeN0EzcYcLt2zzhTlWItP1CAHZJaGHKqGTNZCwdfJqeaMdVIJ6IyegqfW1Pd93jHNTv4zpMvk9DfdOsd1+yg7hfri0RENlea5XTTDGvMYBSlm2akmQKsiGzAWspBwE9fM0M7zqiEHnHSby8SBdghyci4cd8k//bcqcFIypsvncLlxZpTLluPwufrmG+Js5yfvmaGRi+jHnl0sxz8Yn2RiMjm2jUesWeizItzXXDgGcOeiRK7xnXRXETWVwp8PAvPH2/TTjMqvsfeqQqloFiRsFi93cKM8Xn6pSaR7+E7h2cMT7/U5C2XTY+6azJCrxQ+nXNLe2Wydvj0rFkoMNQPmoHXD52+7YfR0LODIkPWrgqhCwFUW5VsTSXfcrzR5ZljLVIcPoYrtlcpKcCKyAamqiVmaiWOzHVx9PdJnqmVmKqWRt01EdnCrIUX59o8d6I12ILL2MINwCrADkuWJuQ44jRf+EA4osDSyzQCW1RnEz4H9W2NY3B3WSL1jFnYamUhfPqGwNpBsaFA4fOC1k5STrUSemlGlkNm4VQroZ2o+JuIrO9EswvGcN2eMTpJRjnwwJh+u4jIOo7MdjjW6NGKs8GgybFGjyOzHa6/eNS9O3sKsENirU+aOZq9dHBFoxx6eEZ/4lFYqnDbD52D24sVb5dtswJLI5+D7KnwKZug2ctwuWPXeJkkzwmsxeWOZi8bdddEZAvzrSXOMo7OdQZ7z++aKOMXbRhFRDZVN3XMNROi0JJl4Hkw10zoFqzorNLVkDjjqIaWRuCR5g7fGqqBxbMqqHCuhh0+o8AofMqWVA089kyW+cHRBomDwGRcvatONVARJxFZX+RbTndSTrRi8rw//a8aBURafiAiG5goW665aIwfvdwkNf2aPZfvqjFRLtaxQwF2SJI0ZbwScqqT4Of9IDReDUkusIqArzV8AvhW4VMuDLXIJ8v7yw3swghsljtqkQ7NIrK+NIed4xElz9DLcyJrmaiFpBfWKYeInKN9M2PsqJ1gIvLopI6yb4gCn30zY6Pu2jnRWdKQlPyIp442mK5Hg+k8Pzh6mv9x/a5Rd+2sOHfmWs+1wqeBhcRpwIBx/dHn/ouwEDwNvm+JgoXbXr/QUOBZPM8MQuZiCF1e7dYaFD7lgpHk/eIJuybKJJkj8AzG9ttFRNbje9CNc+a7CYlzdI2hFPpoBy4R2UinlwKO//PcLL3MEXmGn7xqeqG9OBRghyR3KddcNMbDz54czCn/iUunSNPz/4FYHj6XRkAXQufCbbds5HNZ6aEV7a81fHraZkXknDjn8Kyl04uJ85zQWsphuFAgTERkbUmSk2QZL833Blv3TVVDEl39EpENvDDb5j8OzjNeDUiz/sWw/zg4z1uvanPNRZOj7t5Z2/QA+6Mf/Yj3vve9PPTQQ0RRxCOPPMLdd9+N53kcOHCA2267bbO7NBST1ZAXXm7xxl3jpKnD9w0vHGtRv+GiDZ83jPBpDXh2KXyWPE/hU6QAPGPIc8dzJ1tkODwME9UAT7MQRGQDJ1oJzV7K7vHyYAuuZi/lRCsZdddEZAtzuSN1MH86GWSK8UqAy4t14XxTA2yz2eTee+8lDMNB2x133MEXv/hF9u7dy4c+9CGeeOIJ9u/fv5ndGgqbO67aPc73njlO5sAz8JYrpum4lJOtnsKniJyhm6WcbifsmiiRZDmBZzndTuhmxZrKIyKba6zi0UtyxsshqXP4xjDfiRmraA6xiKxvph4xVfbpJtlgyeNU2WemHo26a+dk0wKsc47bb7+dj370o/zWb/0W0A+0cRxz8cX9jYcOHDjAww8/XMgA20wcB0802b9rjF7uCC0cOtEidDu57qKJpSJDy4PnQhEiEbkw+Z6PMYZmN104Cc2p1n18T6s7RGR9l02PcdO+Kf7fi3PEuSO0hpv2TXHZdLEKsYjI5pqoRLz1ym38+/NztJOMSuBx074JJioKsHz961/ny1/+8oq23bt38+53v5urr7560NZsNqnVaoP71WqVQ4cOnY8unXeNXo9qOeD/vDA7KGn/5ksmaSU9pqrhK7+AiFxwKr5lvOyRu4helhN5/fsVbYUhIhtI85xemtHLcrppjvMtvTQjzbUGVkTWVy/3dz/YOVGim2SUAo8sd9TLxbpwfl56e+utt3LrrbeuaLvlllv4xje+wTe+8Q2OHz/OBz7wAe6//35ardbgMa1Wi7GxYl49DLyAF0+0uHnfFGme41vLoeNNAi8YdddEZIuKk5SJasSLsx2SHFKbcelMlTjRFGIRWd/R+S7PHG/SinOyPCfL4ZnjTY7Od7l0pj7q7onIFjXbijk026XRS8ly6CQ5aeaYbcXsHK+MuntnbdPi9re//e3B7Xe+85186UtfIooigiDg4MGD7N27lwcffLCwRZzGAsvlO+s89NxJ0hR8H95y6TbGAo2kiMjaOlnOk0fmSZ0hx5E6w5NH5nnX/u2j7pqIbGGNbsxcOyHNM/IcHBlz7X67iMh6TjR61Es+nSQjyzJ861Ev+Zxo9EbdtXMy8vHiO++8k4997GNkWcaBAwe4/vrrR92lVyU1cHS2w57xElkOnu3fT7XEVUTWkWQ5pTBgdq4zKP42NlEmyTQNUETWV/Ytk9WQY/NdjAVLfzeEspYfiMgGxso+L811OdVJyJ3D9jLyzDGmKcSv7J/+6Z8Gt2+44QYeeOCBUXRjqJqdhKl6xGw7HlT1mqyENDsqaS8ia5uolqhFHm/aMzYoxNJNcyaqpVF3TUS2sJLvs3s84th8l8w5rDHsHo8o+cU6CRWRzTVRLTFZDTl6ukcOWByT02Hhzjt0pBuSejmg1U3ppdmgiFOrm1Ivaw2siKxtR73EdReN8dAzJ+mmOSXf8pYrtrGjXqwvEhHZXNZCo5ty6UyFXuqIfEOjm2I1ACsiG+gmGXsmK0xUA1q9jGrkUQ0Dukk26q6dEwXYISkHHjvGIw6/0CF14Bu4YqZGOdCebCKytjTPOd7oUY58fN8ReIbjjZ4qiYrIhpy1gOHZ4y1SHD6GK7bXFtpFRNZWCTymqiFxllMrWXxrmKqGVAqWVxRghyTJcjpxxo17J+hmOSXP0okzrWUTkXWdaMU0ehmBtUBOYC2NXsaJVsylM6PunYhsVXGcMt9JCX2LzcG3MN9JiWNVMBeR9U1UQyaqPq2epdXNqUaWiarPRMG2/FSAHRJjDJmDR16cGxRjuXJHHWNUxUlE1mYBiyHO+mXsnZdTw0djKCKykW6aM1UNyV1OuhBgp6oh3VQXzUVkYy/N93js0GkSB4EBzyvW6Cug86Rhsab/33glYLwcMF4JBm0iImuZqoaMVQKS1JE5SFLHWCVgqmBXQkVkc+2eKGPoHy/GSz5jlQCDY/dEedRdE5Et7IUTTZ491qIU+VRDSynyefZYixdONEfdtXOiEdghCTyPLAeDwVowQJb320VE1mKtZe9kGePcoIjTRZNlrNaxicgGLpqqctO+Kb73zEkwDnLDTZdNcdFUddRdE5Et7HQ3BQOBZ8iMxbMGzEJ7gSjADonDUYs8PBuR5I7AGsqBh8ONumsiskVZwFrD9FiJXpwThRZrjabGiMiGeknGzfu2sW+6wqlWwlQ1YHutTC/JqJe0+4GIrG3XeAkPaCc5We7wrKEeeuwaL9buBzpPGpJaFLBrvII1BjBYY9g1XqEW6YtERNYW+IbQ82j3MuIso93LCD2PwNfaAxFZXxR45EC9FLJrvEK9FJIvtIuIrGe6XuLimSqNTkKjG9PoJFw8U2W6YNv3aQR2SCaqIcbkBJ4lc/1/jckLV9VLRDaPby21ksd4yaOTepR9qJU8fE0hFpEN1EsBcZbz5NHTdOOUUuizf/e4Rl9FZENzrZhtlYi3XrmNZjelVvKZKEfMteJCHT8UYIfEWksvdbTilCSDLM/ppU5r2URkXWme0+pldFJHmjk6GFq9TPvAisiGGt2EHx2gpcCaAAAN9UlEQVRvLuwb7fB7GT863uTKHbVCnYSKyObKAQeMlyPGyxEs3C/aWYfS1ZAcm2/T6CYEC9P/As+j0U04Nt8edddEZItKUkeS9tehZM6R5f37Saq18yKyvsOzLY7OdfGtpeT3Z20cnetyeLY16q6JyBY2VQ2pl306SUqjG9NJUuplv3C7HyjADkmS5lRDf2HrHIM1UA19Eu3JJiLryOlXLLfW4Fz/X0PxroSKyOZKs7Uvcq3XLiIC/eUHU5WQLHf0kowsd0xVwsLN3NAU4iEp+ZbQt3TinMw5UmMIfUvJ1zUCEVlb5BvmOgnHT/f6DZ3+VcVIRZxEZAPT9YjpWsjB2TZxkhEGHhdPVpiuR6PumohsYY1uwmw7phr6/aKRnmG2HdPoJoUKsQqwQ+KHPidaPSZr/VHXwLecaPXwQ/2JRWRtSerYXu9vvdWNE0ph0L+vKcQisoGd4xWqkUeS5GQ5JElONfLYOV4ZdddEZAs71Yo53UkxxhAuXCw/3Uk5pSJOFyYDjJUDHjt0mjjPCK3HdXvH0DiKiKwnB5q9lNlWj17qiJKc8ZKvKcQisqGX5tuA4Q276nSSjHLgAYaX5tsKsSKyrvXmhRZtvqgC7JDkec7L8z3CwBLkBmMNL8/3yFVNVETWkec5PzreZLadAtAAsrzJT+u4ISIbaHRScke/cKTX3/s1d/32neMj7pyIbFkT1ZCpasCpVjJom6oGhdv2UwF2SDpxzp6JMgC9LCPyPPZMlOnEOhEVkbU1eimT1Yg074dZay2T1YhGLx1110RkC6uX1z59W69dRAT6RZwu316jNt8lTh2hb9gxXirU9GFQgB2aWsmnl+b4niF3Ft8z9NKcWkl/YhFZW9n3qIQeeybL9JKcKLD41lD2vVF3TUS2sJ3jFS7Z1uOFk0tb9V2yraLpwyLyii6arDBeDuglGVHgFS68ggLs0HjW4Ft4+uUmGeAB//WyKTyrVbAisradE2WmqyGPHz6NA0wHrt0zxs6F2RwiIuv5L5dMsnsiotHp7+Oo8CoiZ6teCgoZXBcpwA7J0bkOR+a7XDpdJc0dvjUcme9ydK7DG3dPjLp7IrJFzYyV2O+g0UuoRwEzY6VRd0lECmLneEVrXkXkgqMAOyRp7mh2M5I8J3cOawyBtaS5tsMQkbX1kgwHOAOlwMMZcAvtRb4yKiIiInK+FK1q8pa1czzispnK4A9qgctmKuwc16biIrK2NM9pdFLKgU+9FFIOfBqdlFRViEVERETWpBHYIbl0ZoxLpyt04ow4ywk9y6XTFS6dGRt110Rki/KtXbOcvW91bVFERERkLQqwQ9LqJWwfK+OMpd1LqUQ+2+sRrV6iqYAisqYo8NhWjahF/qCcfeR7RIGqEIuIiIisRQF2SBqdlErJZ4/nMd/uMV6JCAOjTcVFZF31UsBENWC2BeHC0XiiWuzKgCIiIiLnkwLskNTLPodPdXjkhVkSB4GBGy6Z5M2XTI66ayKyhfX3Y0sKvR+biIiIyGZRgB2STpzx1Eunme9lg7anXjpNJ94xwl6JSBEUfT82ERERkc2iSiFDcnS+SzUM2DkWMlHx2TkWUg0Djs53R901ERERERGR1wWNwA7JWMmnHad0EgcYOonDkDJW0p9YRERERERkGDQCOyTT9Ygrd9ZX7AN75c4603XtAysiIiIiIjIMGh4cEt9art5RZ3u9RLObUCsFTFW0n6OIiIiIiMiwKMAOSRR4zNRLBL6lHlkqUcBEOdR+jiIiIiIiIkOiADsk9VJAnOUcb8QAtOKYSuirsqiIiIiIiMiQaH7rkDS6CYFnmaz4hB5MVnwCz9LoJqPumoiIiIiIyOuCAuyQ9JKMlxtdZtspcQaz7ZSXG116SfbKTxYREREREZFXtGlTiLMs45577uHxxx8njmN+53d+h3e84x088sgj3H333Xiex4EDB7jttts2q0tDleY5jU66oq3RSUnzfEQ9EhEREREReX3ZtBHYv/u7vyNNU772ta9x33338cILLwBwxx138IUvfIG//uu/5tFHH+WJJ57YrC4NlW8t26oBSZbRjlOSLGNbVVWIRUREREREhmXTRmAffPBBrrrqKj70oQ/hnOP222+n2WwSxzEXX3wxAAcOHODhhx9m//79m9WtoVmsNuxbi3MO35oV7SIiIiIiIvLanJcA+/Wvf50vf/nLK9omJyeJooj777+ff/u3f+PTn/40X/jCF6jVaoPHVKtVDh06dD66tCmS3G14X0RERERERF698xJgb731Vm699dYVbb/3e7/HT/3UT2GM4eabb+b555+nVqvRarUGj2m1WoyNjZ2PLp13vSTDt4ZumpFmOZmzbLMhvSTTVjoiIiIiIiJDsGkLNH/sx36M7373uwD84Ac/YNeuXdRqNYIg4ODBgzjnePDBB7nppps2q0tDleY5p1oJ5cCnXgopBz6nWomKOImIiIiIiAzJpq2Bfe9738sdd9zBe9/7Xpxz3HnnnQDceeedfOxjHyPLMg4cOMD111+/WV0aKt9axso+8+2EJHMEnmG8oiJOIiIiIiIiw7JpATYMQ+65554z2m+44QYeeOCBzerGeRMF3ppTiFXESUREREREZDg2LcBeCJLcUQ58CJbui4iIiIiIyHAowA5JL8nYUS9Ri1KSNCPwPaqhryJOIiIiIiIiQ6IAOySLU4WroQ+hf0a7iIiIiIiIvDaqMDQk9VLAZHXlSOtkNdDoq4iIiIiIyJBoBHaILpqsMF5O6CUZUeApvIqIiIiIiAyRAuyQ1UsadRURERERETkfNIVYRERERERECkEBVkRERERERApBAVZEREREREQKQQFWRERERERECkEBVkRERERERApBAVZEREREREQKQQFWRERERERECkEBVkRERERERApBAVZEREREREQKQQFWRERERERECsEfdQfO1eHDh3nPe94z6m6IiIiIiIjIeXD48OF1f2acc24T+yIiIiIiIiLyqmgKsYiIiIiIiBSCAqyIiIiIiIgUggKsiIiIiIiIFIICrIiIiIiIiBSCAqyIiIiIiIgUQuG20dmKHn30Uf7kT/6Er3zlK7zwwgt86lOfwhjDlVdeyR133IG1uk5wIVv++XjiiSf4jd/4Dfbt2wfAL//yL/Pud797tB2UTZckCZ/5zGc4fPgwcRzzm7/5m1xxxRU6dsian42dO3fquCEAZFnGH/7hH/Lcc8/heR733HMPzjkdO2TNz0aj0dCxQwZOnjzJe97zHr70pS/h+36hjxsKsK/RX/zFX/Ctb32LcrkMwD333MNHPvIRfvzHf5zPfvaz/OM//iO33HLLiHspo7L68/Hkk0/ya7/2a3zgAx8Ycc9klL71rW8xMTHB5z//eWZnZ/mFX/gFrr76ah07ZM3Pxm//9m/ruCEAfOc73wHga1/7Gt///vcHAVbHDlnrs/HOd75Txw4B+hdHP/vZz1IqlYDi55XiRO0t6uKLL+aLX/zi4P4TTzzBzTffDMDb3/52HnrooVF1TbaA1Z+Pxx9/nH/+53/mV37lV/jMZz5Ds9kcYe9kVH72Z3+WD3/4w4P7nufp2CHA2p8NHTdk0c/8zM9w1113AXDkyBGmp6d17BBg7c+Gjh2y6N577+WXfumX2L59O1D8vKIA+xq9613vwveXBrKdcxhjAKhWqzQajVF1TbaA1Z+P6667jk984hN89atfZe/evfzZn/3ZCHsno1KtVqnVajSbTX73d3+Xj3zkIzp2CLD2Z0PHDVnO930++clPctddd/Gud71Lxw4ZWP3Z0LFDAL75zW8yNTXF2972tkFb0Y8bCrBDtnz+eKvVYmxsbIS9ka3mlltu4dprrx3cfvLJJ0fcIxmVo0eP8qu/+qv8/M//PD/3cz+nY4cMrP5s6Lghq9177738wz/8A7fffju9Xm/QrmOHLP9sHDhwQMcO4Rvf+AYPPfQQ73vf+/jP//xPPvnJT3Lq1KnBz4t43FCAHbJrrrmG73//+wD8y7/8CzfddNOIeyRbya//+q/z2GOPAfDwww+zf//+EfdIRuHEiRN84AMf4OMf/zi/+Iu/COjYIX1rfTZ03JBFf/u3f8v9998PQLlcxhjDtddeq2OHrPnZuO2223TsEL761a/yV3/1V3zlK1/hjW98I/feey9vf/vbC33cMM45N+pOFN2LL77IRz/6UR544AGee+45br/9dpIk4bLLLuNzn/scnueNuosyQss/H0888QR33XUXQRAwPT3NXXfdRa1WG3UXZZN97nOf4+///u+57LLLBm1/8Ad/wOc+9zkdOy5wa302PvKRj/D5z39exw2h3W7z6U9/mhMnTpCmKR/84Ae5/PLLdd4ha342du3apXMOWeF973sff/RHf4S1ttDHDQVYERERERERKQRNIRYREREREZFCUIAVERERERGRQlCAFRERERERkUJQgBUREREREZFCUIAVERERERGRQlCAFRERERERkUJQgBUREREREZFC8EfdAREREVnbN7/5Tb773e/S7XY5ePAgH/zgB3nPe94z6m6JiIiMjEZgRUREtrBms8n999/Pfffdx5//+Z+PujsiIiIjpQArIiKyhV199dUA7Nq1iziOR9wbERGR0VKAFRER2cKMMaPugoiIyJahACsiIiIiIiKFYJxzbtSdEBEREREREXklGoEVERERERGRQlCAFRERERERkUJQgBUREREREZFCUIAVERERERGRQlCAFRERERERkUJQgBUREREREZFCUIAVERERERGRQlCAFRERERERkUL4/8ozAmkpo1sTAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#sns.lineplot(data=data, x='n', y='t_greedy1', ci='sd')\n", + "#sns.lineplot(data=data, x='n', y='t_greedy2', color='red', ci='sd')\n", + "plt.figure(figsize=(16,6))\n", + "sns.lineplot(data=data, x='n', y='quality', ci='sd')\n", + "sns.scatterplot(data=data, x='n', y='quality', ci='sd', alpha=0.2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Metaheuristics" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "............................................................\n", + "\n", + "............................................................\n", + "\n", + "............................................................\n", + "\n", + "............................................................\n", + "\n", + "............................................................\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# References" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "* Garey, S. and Johnson, D. (1979). **Computers and Intractability: A Guide to the Theory of NP-Completeness.** Freeman.\n", + "\n", + "* Hoos, H. and Stutzler, T. (2005). **Stochastic Local Search: Foundations and Applications.** Morgan Kaufmann.\n", + "\n", + "* Sipser, M. (2013). **Introduction to the theory of computation.** (3rd international ed.). Cengage Learning." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.3" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +}