Skip to content

Instantly share code, notes, and snippets.

@mirrornerror
Last active April 20, 2023 14:38
Show Gist options
  • Save mirrornerror/b7652b496099de052eef89e006c27d82 to your computer and use it in GitHub Desktop.
Save mirrornerror/b7652b496099de052eef89e006c27d82 to your computer and use it in GitHub Desktop.
TSP/MST_Euler.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {},
"cell_type": "markdown",
"source": "# TSP: MST + Eulerian circuit"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Tour Construction Heuristics\n* Greedy \n * One-way \n * Two-way \n* Insertion \n * Nearist insertion\n * Farthest insertion \n * Convex hull \n * Giftwrapping \n * Graham scan\n* MST: minimum spanning tree \n * Kruskal \n * Prim\n* Eulerian circuit\n * Double Tree algorithm\n * Christofides algorithm \n * Minimum-weight perfect matching M\n* Resolution reduction \n* Neural Net\n\n## Tour Improvement Heuristics\n* Flip N Reverse \n* One Insertion \n* Two Insertion \n* K-opt\n\n## Python Libraries \n* pyconcorde: https://github.com/jvkersch/pyconcorde (approximation algorithm: Chained Lin-Kernighan)\n* networkx: https://networkx.github.io/documentation/stable/index.html "
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Libraries"
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2019-02-08T04:19:48.610304Z",
"start_time": "2019-02-08T04:19:48.602432Z"
},
"trusted": true
},
"cell_type": "code",
"source": "%matplotlib inline\nimport numpy as np\nimport matplotlib.pyplot as plt\nfrom itertools import permutations, combinations\nfrom tqdm import tqdm_notebook as tqdm\nfrom concorde.tsp import TSPSolver\nimport networkx as nx\n#from numba import jit, njit, prange\nseed = 42\nnp.random.seed(seed=seed)",
"execution_count": 58,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2019-02-08T04:19:48.619884Z",
"start_time": "2019-02-08T04:19:48.611538Z"
},
"code_folding": [
0
],
"trusted": true
},
"cell_type": "code",
"source": "def gen_param(num):\n path = np.concatenate([np.arange(num), [0]])\n X = np.random.random(num)\n Y = np.random.random(num)\n XY = X + Y * 1j\n return num, path, X, Y, XY",
"execution_count": 59,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2019-02-08T04:19:48.624499Z",
"start_time": "2019-02-08T04:19:48.621069Z"
},
"code_folding": [
0
],
"trusted": true
},
"cell_type": "code",
"source": "def score(path, A, B):\n c = XY[path[A: B+1]]\n sc = np.sum(np.abs(np.diff(c)))\n return sc",
"execution_count": 60,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2019-02-08T04:19:48.638976Z",
"start_time": "2019-02-08T04:19:48.625720Z"
},
"code_folding": [
0
],
"trusted": true
},
"cell_type": "code",
"source": "def plot_path(path, size=6):\n plt.figure(figsize=(size, size))\n cmap = plt.get_cmap(\"tab10\")\n plt.axis('equal')\n plt.plot(X[path], Y[path], alpha=0.0)\n plt.scatter(X[0], Y[0], s=80, c='r', marker='o')\n for i in range(len(path)-1):\n plt.arrow(X[path[i]], Y[path[i]], \n X[path[i+1]]-X[path[i]], Y[path[i+1]]-Y[path[i]], \n head_width=0.02, head_length=0.02, length_includes_head=True, \n fc=cmap(0), ec=cmap(0))\n \n for i in range(num):\n plt.text(X[i], Y[i]+0.01, s=i, fontsize=10, color='gray')\n print('Total Score: ', score(path, 0, len(path)-1))",
"execution_count": 61,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2019-02-08T04:19:48.652063Z",
"start_time": "2019-02-08T04:19:48.640479Z"
},
"code_folding": [
0
],
"trusted": true
},
"cell_type": "code",
"source": "def plot_list(path, plist=False, size=6):\n plt.figure(figsize=(size, size))\n cmap = plt.get_cmap(\"tab10\")\n plt.axis('equal')\n plt.plot(X[path], Y[path], alpha=0)\n plt.scatter(X[0], Y[0], s=80, c='r', marker='o')\n plt.scatter(X[1:], Y[1:], s=40, c=cmap(0), marker='o')\n if plist:\n for p in plist:\n plt.plot(X[p], Y[p])\n \n for i in range(num):\n plt.text(X[i], Y[i]+0.01, s=i, fontsize=10, color='gray')",
"execution_count": 62,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2019-02-08T04:19:48.800498Z",
"start_time": "2019-02-08T04:19:48.653326Z"
},
"run_control": {
"marked": true
},
"trusted": true
},
"cell_type": "code",
"source": "num, path, X, Y, XY = gen_param(20)\nplot_path(path)",
"execution_count": 63,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "Total Score: 9.502991518859062\n"
},
{
"data": {
"image/png": "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\n",
"text/plain": "<matplotlib.figure.Figure at 0x7fbab01269e8>"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## MST: Minimum Spanning Tree"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Kruskal MST Algorithm \ngenerate MST"
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2019-02-08T04:19:48.857332Z",
"start_time": "2019-02-08T04:19:48.802750Z"
},
"code_folding": [
0,
29
],
"run_control": {
"marked": false
},
"trusted": true
},
"cell_type": "code",
"source": "def kruskal(path):\n dist = []\n idx = []\n for i in range(len(path)):\n for j in range(i+1, len(path)):\n dist.append(np.abs(XY[i] - XY[j]))\n idx.append([i,j])\n arg = np.argsort(dist)\n edge_list = [idx[a] for a in arg]\n \n plist = []\n group = []\n for edge in edge_list:\n if set(edge) & set(sum(group, [])): # either in all groups\n merge_list = []\n for i in range(len(group)):\n if set(edge) <= set(group[i]): # both in one group\n continue\n elif set(edge) & set(group[i]): # either in one group\n merge_list.append(i)\n if len(merge_list) > 0:\n group[merge_list[0]] = list(set(sum([group[m] for m in merge_list] + [edge], [])))\n [group.pop(i) for i in merge_list[1:]]\n plist.append(edge) \n else:\n group.append(edge)\n plist.append(edge)\n return plist\n\ndef list_score(path):\n sc = 0\n for p in path:\n sc += np.abs(XY[p[0]] - XY[p[1]])\n return sc",
"execution_count": 64,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2019-02-08T04:19:49.010937Z",
"start_time": "2019-02-08T04:19:48.859145Z"
},
"code_folding": [],
"run_control": {
"marked": true
},
"trusted": true
},
"cell_type": "code",
"source": "#num, path, X, Y, XY = gen_param(30)\nedges = kruskal(path[:-1])\nplot_list(path, edges, 6)\nprint('MST Score:', list_score(edges), ' Num Path:',len(edges))",
"execution_count": 65,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "MST Score: 3.033652590015278 Num Path: 19\n"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAFpCAYAAABnHGgVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3Xt809X9x/HXSdImbXqlN6CUcitQ7mJRJtOhclUQdYpMHTovTNGpm9NtP8ecsoubkznndKIwL1MBLwgioMz7HeoF5GKhXEpb6JVe0yZN8j2/P0oraKGFXr5J+nk+HjweTfJt8i5tPzk9V6W1RgghRGixmB1ACCFEx5PiLoQQIUiKuxBChCAp7kIIEYKkuAshRAiS4i6EECFIirsQQoQgKe5CCBGCpLgLIUQIkuIuhBAhyGbWCycmJup+/fqZ9fJCCBGUPvvsszKtdVJr15lW3Pv160d2drZZLy+EEEFJKZXXluukW0YIIUJQq8VdKbVUKVWilNp6jMeVUuohpVSuUmqLUmpsx8cUQghxItrScn8SmHacx6cDGYf/zQMebX8sIYQQ7dFqcddavwccOs4ls4CndaNPgDilVK+OCiiEEOLEdcSAaiqQf8TtgsP3HeyA5+52Vq1axc6dO3E6ncyfP/+oxz766CM2bNjAHXfcQWRkpEkJhRDBoCMGVFUL97V4vJNSap5SKlsplV1aWtoBLx16xowZw5VXXvmd+6uqqtizZw+xsbEmpBJCBJuOKO4FQNoRt/sAB1q6UGu9WGudpbXOSkpqdZpmt5Senk5ERMR37n/99deZNGmSCYmEEMGoI4r7amDu4Vkz44EqrbV0yXSgnJwcoqOj6dmzp9lRhBBBotU+d6XU88BEIFEpVQDcDYQBaK3/DawFzgNygTrgJ50Vtjvyer28//77LXbVCCHEsbRa3LXWP2rlcQ3c1GGJxFEOHTpERUUF//73vwGorq7mscce4/rrrycqKsrkdEKIQGXa9gOibVJSUrjjjjuabz/44IOkpaXx6KOPHjWj5q233iInJwelFE6nkwsvvJDo6GizYgshTCbFPcC89NJL7Nu3j7q6OhYtWsTEiRMZO/boRb8jRozgjDPOYOXKlc33TZgwgXPOOQeATz/9lHfffZcZM2Z0aXYhROCQ4h4AXB4fxdVuUmIc/PCHPzzutbfddhsAlZWVR91vt9ubP25oaOj4kEKIoCLF3UQ+v8HCNdtZtikfm0XhMzRzxqWxYMYwbNYTn8j05ptvsmXLFux2O1dddVUnJBZCBAvZFdJEC9dsZ0V2Pg0+HyO8W/H4/KzIzmfhmu0n9XznnnsuP//5zxk5ciQbN27s4LRCiGAixd0kLo+PZZvyqfcaTLF8xnL7Qp4N+xMDfLtZnp2Py+M76eceOXIkO3bs6MC0QohgI8XdJMXVbmyWxp0b3jJO4W7vVWRa8njNfhf3Wx6mvGDXCT1feXl588c5OTkkJiZ2aF4hRHBRjdPUu15WVpbuzicxuTw+xi7cgMdnNN8XTR032FZzrXUddptCnf5TOPN2iIhv/pziajeb3l5HQf5+6urqcDqdTJw4kdzcXMrKylBKERcXx/nnn09MTIxZX54QopMopT7TWme1ep0Ud/PcvWorK7Ibu2aaRIRZuG5UOLfbXoTNz4MjFv+Zv+SPJRN49rPiDhl4FUIEr7YWd5ktY6IFM4YBsDw7H6tS+LVmdlYat84YBtZz4XvzYcPdWDf8lmt0EqXGZazxjUdjYUV24y7L98waYeaXIIQIUNJyDwBHznN32m3feezmPzzAHepZnsu4gPdixnLgYys+bDjCLHz228nf+RwhROiSlnsQcdptDEhqeZ+Y4mo3G9VoZjQMIyIqAqe/Ht/hcXCrUhRXu4/5uUKI7ks6bANcSowDn6HxKwvl0QkUVsY1P+bXmpQYh4nphBCBSop7gHPabcwZl0Z4XDhYFZZqL9A48HpZVpp0yQghWiSVIQgsmDGM7WEG72PgrPNDmIXZWWnNA7JCCPFtUtyDgM1qoe+AOOJKq3jtuvH0jI2QFrsQ4rikQgSJzTX1jImOZGCy7NEuhGid9LkHgXq/wQ5XPaNjIs2OIoQIElLcg8C22nr8GsZER5gdRQgRJKS4B4Eva+oAGCMtdyFEG0lxDwJfVteREm6jlz3c7ChCiCAhxT0IbK6pY3S0tNqFEG0nxT3A1fj85NZ5pEtGCHFCpLgHuM01dWhgjLTchRAnQIp7gNtcUw8g3TJCiBMixT3AfVldR5ojnIRwWW8mhGg7Ke4B7suaOumSEUKcMCnuAay8wUe+u0EGU4UQJ0yKewDbfHjx0mhZmSqEOEFS3APYlzV1KGQwVQhx4qS4B7Avq+sYFGkn2mY1O4oQIshIcQ9gsjJVCHGypLgHqIOeBoobfDKYKoQ4KVLcA9SX1Yd3gpSWuxDiJEhxD1Bf1tRjVTA8SmbKCCFOnBT3ALW5uo6hTgcRVvkWCSFOnFSOAKS1ZrOsTBVCtIMU9wCU526gwueXwVQhxEmT4h6AZDBVCNFeUtwD0Jc1ddgtiqFOGUwVQpwcKe4B6MvqOoZHRRBmUWZHEUIEKSnuAcavNVtq66VLRgjRLlLcA0xunYc6vyGDqUKIdpHiHmCaBlNlTxkhRHvI2W0BZuuG9VxdkMebOz5iyPz5ALzzzjt8/vnnREY2Fvxzzz2XjIwMM2MKIQKcFPcAk5PSF1vaQPru+Oyo+8ePH88ZZ5xhUiohRLCRbpkA0mAYfOqIZnB8rNlRhBBBTlruAeRrlxuPoRnmjKDsW49t3LiRzZs307t3b6ZMmUJEhMyBF0Icm7TcA0jTYOqwaMdR92dlZXHLLbdwww03EBUVxRtvvGFGPCFEEJHiHkA219QRb7OSag8/6v6oqCgsFgtKKU499VQKCwtNSiiECBZS3APIl4eP1VPq6JWpNTU1zR/v2LGD5OTkro4mhAgy0ufexR588EHsdjtKKSwWC/PmzQOgrK6Br2vdnJW3iSVvllBXV8eiRYuYOHEieXl5FBUVARAXF8eMGTPM/BKEEEFAirsJrrrqquY56z6/wcI12/nvziL8WYk8VZnKjwedwoIZw7AdPqhj7NixZsYVQgQhKe4mW7hmOyuy8/H0apz94q/wsKI8H4B7Zo0wM5oQIoi1qc9dKTVNKZWjlMpVSv26hcf7KqXeVkp9oZTaopQ6r+OjhgalFM888wyLFy/mo083smxTPvVeAxJrUQ1ulMeg3muwPDsfl8dndlwhRJBqteWulLIC/wImAwXAJqXUaq319iMu+y2wQmv9qFJqGLAW6NcJeYPeNddcQ3R0NC6XiyX/eYqelgQOJn6EP/p0bB4X4AQUVqUornYzICnK7MhCiCDUlpb7aUCu1nqP1roBWAbM+tY1Gog5/HEscKDjIoaW6OhoAJxOJ4MGD6JH9PvYk94icucGLJ84gMaZMn6tSYlxHOeZhBDi2NrS554K5B9xuwA4/VvX/B54Qyn1MxqbnpM6JF2IaWhoQGuN3W7nYNVB3tvyFjVROfjLzsNTeibqcGGPCLMwOysNp12GRIQQJ6ct1aOl44D0t27/CHhSa/2AUup7wDNKqRFaa+OoJ1JqHjAPoG/fvieTN6i5XC6WL1+Ox+/hQM0B8p35/Gr6r/hgc0+WV+ZjVQq/1szOSmPBjGFmxxVCBLG2FPcCIO2I2334brfLtcA0AK31x0opB5AIlBx5kdZ6MbAYICsr69tvECHL5fFRXO0mJSaaYTOGcce7dxCVFMU/z/0nwxKGMbkf3Dlt6OFrHNJiF0K0W1uqyCYgQynVHygE5gCXf+ua/cC5wJNKqUzAAZR2ZNBg1DSHfdmmfGwWhRH9Abbk1QyNH8LD5z5MijOl+Vqn3SaDp0KIDtPqgKrW2gfcDLwO7KBxVsw2pdS9SqkLDl92O3C9Umoz8Dxwtda627TMj6VpDrvX6ybB9jy25FUYtcMYbPzqqMIuhBAdrU1//2ut19I4vfHI+353xMfbgQkdGy24uTw+lm3Kx+MzOLvuRYbtq+QF6/coqZnJS0Wl/N90n3S/CCE6jWwc1kmKq93YLIqM2lxGlFSxJTGVkppZgKV5DrsQQnQWKe6dJCXGgdN9iHPK3uGAvScfRn2z2ZfMYRdCdDYp7p0kHB+XVL6J32JlffJkDGUFGuewXyZz2IUQnUyKeyfQWvPmkkexVpdgnHUF/ogYnOFWHIcXJ8kcdiFEZ5PmYyfY+vYGtr37Jt+75HLOuPQibm+e5y5z2IUQXUMqTQcr2beHN5c+SvqoUxj/w8sAmcMuhOh60i3TgTx1Ll5d9GciomM472e/xGKxmh1JCNFNSXHvIFprXn/0H1SVFjPj1l8RGRNrdiQhRDcmxb2DfL52Nbs2fsRZl19N6lAZMBVCmEuKewc4sHMH7z27lEHjxnPqjIvMjiOEEFLc26uuuopXH/wL0YlJTL3xNpRqaYdkIYToWlLc20EbBusefoD66ipm3vZrHE6ZESOECAxS3Nvhk5XL2bf5c865+qekDBhkdhwhhGgmxf0k5X31JR+98ByZZ57NyHOnmh1HCCGOIsX9JNQeKmftP/9GQmoak6+7SfrZhRABR4r7CTL8ftb846943W5m/vw3hDlkd0chROCR4n6CPlj2NIVfb2PyvJtJ6JPW+icIIYQJpLifgNzsT9m0+iVGT55O5vcnmh1HCCGOSYp7G1WVFLH+kUWkDBjExLnXmx1HCCGOS4p7G/gaGnj17/cBMPPnv8YWHm5yIiGEOD7Z8rcN3nn6CYr35DLrjgXEJvc0O444hlWrVrFz506cTifz588HoKioiDVr1uDz+bBYLJx//vmkpqaanFSIzict91bs+OAdNm9YS9bMixmUdbrZccRxjBkzhiuvvPKo+zZs2MAPfvADbrjhBs4++2w2bNhgUjohupYU9+MoL8hnw+KHSR06jO/PmWt2HNGK9PR0IiIijrpPKYXH4wHA7XYTHR1tRjQhupx0yxyD1+3m1b//GZvdzvm33onVJv9VwWjq1Kn897//ZcOGDWitueaaa8yOJESXkJZ7C7TWbHjiX5QX5nP+z+4gukei2ZHEScrOzmbq1Kn8/Oc/Z+rUqaxevdrsSEJ0CSnuLfjqzdfZ8f7bnHHp5aSPGmN2HNEOmzdvJjMzE4Bhw4ZRWFhociIhuoYU928p3pPLW08+Rr/RYxl/0WVmxxHtFB0dTV5eHgB79+4lISHB5ERCdA3pSD6C21XLqw/eR0RMLNNvvh1lkfe+QOfy+CiudpMS42D9mlXs27ePuro6Fi1axMSJE5k5cybr16/HMAxsNhszZswwO7IQXUKK+2GNB1w/SE1ZKZf9/j454DrA+fwGC9dsZ9mmfGwWhc/QzBk3hAW3XYTNevSb8rx580xKKYR5pLgf9tmaleRu+oSJc6+j9+BMs+OIVixcs50V2fl4fAaew/etyM4H4J5ZI8wLJkSAkH4HoPDr7bz33JNknHYGY8+bZXYc0QqXx8eyTfnUew1sfj9z93yO1e+n3muwPDsfl8dndkQhTNfti3tddRVr/vEXYpNSmHrjrXLwRhAornZjszR+n36yfwc/2vIcS976G2cc+Arr4ceF6O66dbeMYfhZ+8+/UV9TzeV/eAB7pNPsSKINUmIc+AzN4AYLcXFZrBpj45Tdq1mw8SlyctOJPa8HJMlWEaJ769Yt909eWk7eli845yc3kNxvgNlxRBs57TauGNqL6fXhHLBpHk8fyo1n384jp84mzVdNyU+uJv/G+Xhyc82OKoRpum1x37f5cz5+6XmGnXUOI8+ZYnYccQI89T4G7KzHGmZlfawXh91KuD2MHrMvZeRbG0i67TbqNm1izwWzOLhgAd7iYrMjC9HllNbalBfOysrS2dnZprx2TXkZz/zqFiJj47jij4vkHNQgog3N2n9/xf6t5cz6+SnE9o1qnufutH/Ty+irqKDs0UepeH4Zymqlx9y5JFx/HVbZOEwEOaXUZ1rrrNau63Ytd7/Px5oH/4LP62XmL+SA62CTvW4f+7aUMeHSQfTOiMNptzEgKeqowg5gi4+n5//9HwPXvkb0pEmUL17M7slTOPTUUxgNDSalF6LrdLvi/v7zT3Fg5w6mzLuZhFQ54DqY7PuqjI1r9jLk9J6MnNinTZ8TnpZG6t/up99LL2LPHErxn+9jz3nnU/XqGrRhdHJiIczTrYr7rk0f89malYyecj5DJ/zA7DjiBFQW17Fh6XYS+0Qx8YohJzxlNWL4cPouXUraE09giYriwB13sO+SS3F99FEnJRbCXN2muFcWHeT1Rx4kZUAGE+deZ3YccQIa3D7WPfYVFoti+k9HYgu3ntTzKKWI+v4E+r/8Er3/+hf8lZXsv+Za9l97He4dOzo4tRDm6hbFvemAa6VU4wHXYWFmRxJtpLXm7We+puKgiynXDScmMaL1T2qFsliIveACBqxbS/KvfkX91q3svfiHFN55Jw0FsiWwCA3dori//eRiSvbtZtpNvyA2OcXsOOIEfLFhP7mflTD+woGkZfbo0Oe22O0k/ORqBm14g4TrrqXm9TfYM306xff9BV9FRYe+lhBdLeSL+/b332bLm+sZN+sSBp56mtlxxAnI33GIT1buZuDYZE6Z0rfTXscaE0Py7bczcP06YmbO5NDTT7N7ylTKHn8cwy1bGYjgFNLFvSw/jw2PP0yfzBF8/7Ifmx1HHENubi4PP/wwDz30EB988AEA1WX1vPHENuJ7OTln7tAu2fMnrFcvev/pj/R/ZSWRY8dS+sAidk+bTuVLL6P9/k5/fSE6UsgW9wZ3Pa/+/T7CHRGcf+udWKwnNwgnOpdhGKxdu5YrrriCm266ia1bt3LwQBHrHvsKw9BM/+lIwh1duwWSY/Bg0h77N32ffgpbcjIH77qLvRdeSM3bb2PWoj8hTlRIFPdVq1Zx//3388gjjwCNg3Dr/v1PCq2R1A8ew8o1r1FfX29yStGSwsJCevToQXx8PFarleHDh/P6ig8py69l8k+GEZcSaVo252mn0W/5MlIf/DtGQwMFN85n/4/nUr95s2mZhGirkCjuY8aM4corr2y+vXnDOrbt3sOAgQP4xS9/Sf/+/Zv/3BeBpaamhpiYmObbVYU+ig+UM25Gf/qNSjQxWSOlFDHTpjFwzRpSfrcAz5497LtsDgW33kbDvn1mxxPimEKiuKenpxMR0ThFrmj3Lt55ajEqsSczftRY8EePHk1OTo6ZEcUxHNnNcWBXJTs3FhOTEMG48/qZF6oFKiyMHpdfzsA33iDxppuoff99ds+YSdG99+IrKzM7nhDfERLFvYk2DF79+31Exsaj7A5iYhvPQY2OjsblcpmcTrQkJiaG6upqais8rF/8FWHRfjJP64uyBOahKdYoJ0k/u5lBr68n7tJLqFi+gt1TplL68L8w5GdMBJCQOaxDa03toXLCD5Vz2e/v4+mXXzE7kjiWmhpYuRKKikhNSaH80CFW//tTGhr8qL5VDBs+2eyErbIlJdHr7rvpMXcupX9/kLKHH6Zi2TKSbppP3CWXoDpwodzHH3/MF198AUBKSgqzZs3CZguZX13RSUKm5b7lf+tpqK/jB1f+hN6DhxIVFUVNTQ3Q2K/rdMopS6bTGv78Z0hJgZtugrvuwnLzzfT5sJjddZ/g6vMlo0aPIDk52eykbWbv358+D/2DfsueJ7xfOkX33MuemRdQ/fobHTKzprq6mo0bN3L99dczf/58DMNg69atHZBchLqQKO4F27ey6dWXCI+M5JTpFwAwePBgNh+e1bB582aGDBliZkQBcN998Ic/QH091NaCz8f2PmdRlDiFSW/v43afm7POOsvslCclYswY0p95hj6PPAI2K4W33sq+OXOo27Sp3c9tGAY+nw/DMPB6vUTLnvSiDYL6sA6Xx0deQRGrFz+I1xEJtjCcTicTJ05k6NChvPjii1RVVREbG8ull17aPOgqTFBT09hiP2JKalHyUFZe8HdSD2xhxrrfYIlwQHExREWZGLT9tM9H1SuvUPrQP/GVlBA1cSLJt/8Ce0bGST3fJ598wltvvUVYWBgDBw7k4osv7uDEIpi09bCOoOy48/kNFq7ZzvKNeZx/4FWS6w9iTLuJu348CZv1mz9G5s6da2JKcZSVK+GIhWS7UxN54OopjM07yJQ3/4hFG2CxNF734+BeTaxsNuIuuYSY88/n0NPPUP744+yZdSGxF11I0s9+RljPnm1+rvr6enJycrj11ltxOBy88MILbNmyhVGjRnXiVyBCQZu6ZZRS05RSOUqpXKXUr49xzWyl1Hal1Dal1HMdG/NoC9dsZ0V2PuNLNtG7roB3Es5k2W4/C9ds78yXFe1RVARH7NPy8CVD+HDgu3zv4z/h8FQ33ul2w8GDJgXseJaICBJ/Oo+BG96gx4+vpGr1q+yeOo2SBxbhr65u03Ps2bOHuLg4nE4nVquVzMxM8vPzOzm5CAWtFnellBX4FzAdGAb8SCk17FvXZAC/ASZorYcDt3VCVqCxK2bZpnwGVx5gZHU2xRFD2RGdSb3XYHl2Pi6Pr7NeWrRHz55w+EjDkjgb742oYMZHLobvzv3mGocDevUyKWDnscXHk/Kb3zBw3Vqip0yh/PHH2T15CuVPPtnqkX+xsbEUFhbi9XrRWrN3714SE81f3CUCX1ta7qcBuVrrPVrrBmAZMOtb11wP/EtrXQGgtS7p2JjfKK52Y7MotkYkUek8gzT7JAY3NH4ZVqUorpZd/ALSRRfB4c23npqWiN+iuGFV3tHXGEbjdSEqvE8fUu//K/1ffgnH8OGU3PcX9kw/j6pXX/3OkX8uj489pbXEJ/UkMzOTxx57jEcffRStNaeeeqpJX4EIJm3pc08Fjvw7sAA4/VvXDAZQSn0IWIHfa63Xd0jCb0mJceAzNH6LleeTRjO71sr5dRZclgbKwzQpMXLgdUCKjoYFCzj04J944ewenP9xJWml3m8ej4yE3/426AdT28IxbBh9ly6h9sMPKfnbAxy4407K//Mfkm+/Hcf477FwzXaWbcrHZlH4DM2ccWksuHH+UeNJQrSmLcW9paWC355iYwMygIlAH+B9pdQIrXXlUU+k1DxgHkDfvie3P7fTbmPOuDRWZOdT7zV42dnA5bV2LnaF4xqTgNMelGPE3cOvf80z0V/iDtvGtW/Xgc3W2BXj9zcW9l+3OJwTsqImTMD5ve9R/dprlD74D/KvvY6ijFFsSp+EJ6o3nsPXrchubFvdM2uEeWFF0GlLU6AASDvidh/gQAvXrNJae7XWe4EcGov9UbTWi7XWWVrrrKSkpJPNzIIZw5idlYYjzILVYeXVOC9h4Vb6bnVRc0i6ZQJVVUM1z/fIY0raJAbc/Q/44x/hkUegpAR+8xvogj3bA42yWIidOZMB69YS98s7iMzL5YH/LeKvOe9yRn0tgIwniZPSlmbuJiBDKdUfKATmAJd/65pXgB8BTyqlEmnsptnTkUGPZLNauGfWCO6cNpTiajcpMQ7qSupZ+cDnrHl4MxfdPhaHU85JDTTPff0cLq+L68feCD1kUdmRLOHh1M+azc258Zy/7X9c3XscA11VfBTR2E3VNJ40ICn0u61Ex2i15a619gE3A68DO4AVWuttSql7lVIXHL7sdaBcKbUdeBu4Q2td3lmhmzjtNgYkReG020hKi+a8G0ZSWVzHun9/hc8rJ+cEktqGWv67/b+cnXY2Q6SwtyglxkG1zcGTw8+j2JlAbmzv5sf8WsaTxIlp0wiN1nqt1nqw1nqg1vqPh+/7ndZ69eGPtdb6F1rrYVrrkVrrZZ0Z+lj6DO3BpKuHcWBXJf9buh3DkFNzAsXynOVUN1Qzb9Q8s6MErKbxpIgwC1is1IbZAYgIs3BZVpqMJ4kTEnLD7xnjUphwySB2f1HKByt2ybFoAaDeV8/T259mQu8JjEiUQcHjaRpPsgIWi8IRZmF2VhoLZgxr9XOFOFJINgXGTOpLbaWHzf/LJyreztip6WZH6tZe2vkSh9yHpNXeBk3jSYXbPyWpTxSzZw+RFrs4KSH7UzPh4kHUVTXw8crdOGPDGTI+9FY+BoMGfwP/2fofxvUcx9iUsWbHCRpKQ3REmBR2cdJCrlumibIozp2bSeqQeN56+mv2b+v08V3RgldyX6GkvkRa7SfK0AF7GpUIDiFb3AGsYRbOu2Ek8b2drFu8lZK8tm3WJDqG1/Cy5KsljEoaxek9v72oWRyX1iDFXbRDSBd3gPAIGzNvHk2EM4w1D2+mqrTO7Ejdxmt7XuOA6wA/HfVTVDdcoNQumpbXhgvRRiFf3AGccXZm3jIaw9C8+tBm6qqPvxOfaD+/4eeJr54gs0cmZ6aeaXacoKMNLW+Iol26RXEHiO/p5Pz5o6mt9PDavzbT4Jal3J3pjbw3yKvOY96oeVKkToaBdMuIduk2xR2g18BYpl43nNL9Nbz++Db8fqP1TxInzNAGi7csZmDsQM7pe47ZcYKT1t3st1N0tG7349N/dBI/uHwI+7eV886zObLIqRO8vf9tcitzuX7U9VhUt/sR6xDSLSPaq1tOoh1+Ziq1lR6yX9tHVJyd0y8YYHakkKG15rEtj9E3ui9T+001O07w0ki3jGiXblncAU6b0Z+6Sg/Za/fhjLMz4qxUsyOFhA8KP2DHoR3ce8a92Czd9ser/bSW2TIdrKysjBdffLH5dkVFBWeffTbjx483MVXn6ba/fUopfnD5EOqqG3jv+RwiY8IZMObk95gX37Taezl7MWPgDLPjBC2t9eGpkFLdO1JiYiI33HADAIZhsGjRIoYOHWpyqs7TrTtELVYLU64bQXK/GN5Yso2DuZWtf5I4po1FG9lcuplrR1xLmEX20z9ph8f5ZYVq59m7dy89evQgLi7O7CidplsXd4Awu5XzbxpFVLyd1x7ZwqEDLrMjBa3FWxaTFJHEhRkXmh0luDUN8nf7387Os3XrVkaMCO0dSuXHB4iICueCW8ZgsVl49Z9fUlvhaf2TxFG+KPmCjUUbuXr41ditdrPjBLem4i7dMp3C7/eTk5PDsGGhvY2yFPfDYhIjmHnzaDx1PtY8/CWeOq/ZkYLK4i2LibfHc8ngS8yOEvR0U7eMFPd03/ZCAAAgAElEQVROsWvXLnr16kVUVGgfWSjF/QhJfaOZ/tORVBxsPKrP75VFTm2xrWwbHxR+wNzhc4kMizQ7TvCTbplO1R26ZEB+fL4jbVgPzrkqk8Kdlfzvye1oOaqvVYu3LCY6PJo5Q+aYHSU0GNIt09FcHh97SmuprK1nz549ZGZmmh2p03XbqZDHM+T0nriqPHz88m6csXYmXDpI/kQ+hp0VO3kr/y1uHH0jUeGh/WduV2nucpfZMu3m8xssXLOdZZvysVkUPkMzZ9x52MLCzY7W6aS4H8Mpk/viqvSw+a18nHF2TpnS1+xIAemJLU8QaYvkiswrzI4SOppb7ubGCAUL12xnRXY+Hp9B0zSJFdn5ANwzK7S7ZqRb5hiUUnz/kgwGnZrMRy/nkvNpkdmRAs7eqr2s37eeOUPnEGuPNTtO6Gjuc5fq3h4uj49lm/Lx+jzcOGop/WPyAKj3GizPzsflCe2dYaW4H4eyKCZdPYzUwXG89fQO8nccMjtSQHniqyewW+3MHTbX7CghRWbLdIziajc2i2JKv7fJ6vklzvBv1rBYlaK42m1ius4nxb0V1jAL028cRXzPSNb9+ytK99eYHSkgFNQU8Nqe17hk8CUkRCSYHSe0GDJbpiOkxDiICS9nxoDX+ax4FFvLvpnX7tealBiHiek6n/z4tIE9wsaMm8dgj7Tx6sObqS6rNzuS6ZZuXYpFWbh6+NVmRwk9soipQzjtNm4btxYFLMu5uPn+iDALl2Wl4bSH9pCjFPc2ioq3M/NnYzB8Bq/+czP1td33qL4iVxGv5L7CRYMuIsWZYnackNN8xID0ubdLWfk7JIZ9QqFvDnX+RJzhVhxhFmZnpbFgRmivTgWZLXNCevR2ct78Uaz+x5e89q8tzPr5KYSFW82O1eWe2vYUWmuuGXmN2VFC0+FuGWm4nzy/38POnfcQGTmAayb+Hz86x0JxtZuUGEfIt9ibSMv9BPUeFMeUa4ZTsq+aNx7fitHNjuorqy/jhZ0vMGPgDFKjZA/8TiGzZdotb/9i6uv3M2Tw77FYwnHabQxIiuo2hR2kuJ+UAackcdacwez7qpx3n+teR/U9vf1pvIaXa0dca3aUkNU0W0aa7ienvn4/eXmPkpx8Hj16TDA7jmm6z9tYBxvxgz7UVnr4bF0ezjg7p81s+1F9hmHw+OOPEx0dzeWXX96JKTtWpbuS5V8vZ2q/qfSL7Wd2nNClpVvmZGmtydl5L0rZyMi4y+w4ppLi3g6nXzAAV1UDm15rPKpv+Jlt66b49NNPSUxMxOMJrq2Fn/36Wep8dVw/8nqzo4Q2Q7plTlZZ2ZuUl7/NoEG/wWHvaXYcU0m3TDsopZh4xRD6Dk/g3edy2Lu5tNXPqa6uZteuXYwdO7YLEnacmoYant3+LOf2PZeM+Ayz44Q2mS1zUvz+enbuuhenM4O0PleZHcd0UtzbyWq1MG3eCJL6RvPGE9so2lN13OvXr1/PpEmTgm714bKvl1HjrWHeqHlmRwl5WmbLnJR9+x7B7S5kyOB7sMgxj1LcO0LjUX2jccbZWfOvzVQUtXxU386dO3E6nfTu3buLE7ZPnbeOp7c/zZmpZzIsIfTnB5tOZsucsLq6veTtf4KeKRcSH3+62XECgvS5d5DImHBm3jKal/76Ga8+tJkf/upUnLFHHze3f/9+cnJy2LVrFz6fD4/Hw8svv8zFF198jGc1z6pVq5rfjJw/cFLpqeSy3pexZMkSGhoaiIuL4+KLL8ZulyP1OlzzbBlTUwSNxkHUe7BYwhk06NdmxwkYyqxpfFlZWTo7O9uU1+5MJXnVrFz0BbFJEVx8+1jCI1p+/9y3bx8fffRRwM6WycvLIzw8nJdXvsyLiS8yMHYgp+8/ncmTJ9OvXz+++OILKioqOOecc8yOGnLcuyspe/wrEq8fiWNgnNlxAl5xyTq2br2ZwRkLSEu72uw4nU4p9ZnWOqu166RbpoMlp8cwfd4IKg64WPfYV/h9wbnIKT09nYiICKo91ZTVlzFv1DzKyspIT08HYMCAAezYscPklCGqqc9dumVa5fO52LXrD0RFZZKaeqXZcQKKFPdO0Hd4AmfPHUrB1xW8+dQOauu97CmtPWr/6H79+gVsq72J1++lwlPBKcmnMK7nOJKTk8nJyQFg+/btVFdXm5wwRMlsmTbbt+9hPJ4ihgy5B4tFepmPJP8bnWTo+F7UVLjZuGovy7cW8km0cfiIr8ZNi2zWwH9ffXP/m/gMH/NGzUMpxaxZs1i3bh3vvfcegwcPxmrtfvvqdIXmrlKp7cdV69rF/vyl9Op1CXGxp5odJ+BIce9Eazy1FDn8jK23Eal9bHT4eHFTcBzx5TN8LMtZRqY1kwm9G5dwJyYm8uMf/xiA8vJydu3aZWbE0NU8FVKq+7ForcnJuRurNZJBA+80O05AkuLeSVweH8uyC2iwGwzw2xnqtjE/zEEEUP5xOUWFXxLWw4Etzo41zo417puPLQ7zvy3r963nYO1BJjgmNBcZl8uF0+lEa817771HVlarYzriZDQN00i3zDEVF79KZeWnDBl8L+HhclhMS8yvIiGq6Ygvj4IXIxs41Wfla6uPFCykWiwkaY3eX0P9V2XgP3rGknJYDxd6x+HCbz/qTcAaHY6ydt4vvqENNry6gcm1k3EbbhYtWsTEiRNpaGhg06ZNAGRmZjJmzJhOy9CtSbfMcfl8NezK/TPR0SNJTZ1jdpyAJcW9k6TEOPAd/vO6VGnWh30zmOqwWph93Uicdhva0Bi1DfgqPfiP+Oer9OCvcNOwvxqj7lsH+VrAGmM/ovB/903gZFv/Lo+Pl3PW8lbcW9x/wf1M6z/tqMfHjx9/Us8r2q6pz11my7Rsz95/0NBQyuhRj6GUjPscixT3TuK025gzLo0V2fnUe7+ZDhlx+CSYpn2llUU1FuoYO/Rt+bkMjx9/VVPRdze+AVQ0vgE07K+hfkvZN5tNHXairX+f32Dhmu0s27SfsL4Pg0rko829mdTXCIrB35Aii5iOqab2awoKnqZ378uIiRlldpyAJsW9EzUd5bU8Ox+rUvi1Pqkjvix2K5bkSMKSI1t8/Dut/4oj3gQqPa22/m1xdj4sraHuYCVDIr9ir/0g9Qcu5YX9hShlCfjB35Aj2w+0qGkQ1WaLYdDAX5odJ+BJce9ENmtjYbxz2tBOPeLrhFv/Fe6jun/cedWMrHBzCg6uSdxAlDeKmqox+DBYnp3PndOGdqsTbMymZbZMi4qKXqaqKpvMoX8mLCze7DgBT35ju0DTEV9mOl7rf09pLbMe+oBwr8EpxediDS/mII19mValKK52m56/W5HZMt/h9VazK/c+YmJOoVevS8yOExSkuAtSYhw0aE0NmgpvPMOMBhqXSTZ2JaXEOMyO2L00d8uYGyOQ7NmzCK+3klPGPIlS8h/TFvK/JJoHfyPCLNTpMKxKY8dPRJiFy44Y/BVd45sVqtJyB6iu2UpB4bP06XMF0dHDzY4TNOS3VgDfDP5+9Fk5AHFhPqZlDTzhwV/RAQ53y0ifO2htkJNzN2Fh8Qzo/wuz4wQVKe4C+Gbw9+thESx7NpelV4xk+NDBZsfqnqRbptmBgy9QXf0lwzLvJywsxuw4QUV+fMRRkno07h/u89SbnKT7apot0927ZbzeCnbvvp/Y2Cx69rzI7DhBR4q7OEpUVOOsmNraWpOTdGNNtb2bz5bJ3f03fL5qhg65V7qoToIUd3EUu91OWFgYNTU1ZkfpvgzZW6aqejMHDiynT5+riIoaYnacoNSm4q6UmqaUylFK5SqljnlIoVLqEqWUVkrJdoFBLCoqSlruZurmK1S19pOTs4Dw8CQG9L/F7DhBq9Xirhp35vkXMB0YBvxIKfWdKRRKqWjgFuDTjg4pulZ0dLQUdxPpbj5bprBwGTU128gY9Btstmiz4wSttrTcTwNytdZ7tNYNwDJgVgvXLQT+Crg7MJ8wQVRUlHTLmKkbz5ZpaChj956/ER83npSUmWbHCWpt+fFJBfKPuF1w+L5mSqlTgDSt9ZoOzCZMIt0yJuvGs2Vyc/+K31/HkCH3dNu/XDpKW+a5t/Q/3Ly/rGpcC/x34OpWn0ipecA8gL59j7HDlTBddHQ0Ho8Hr9dLWFiY2XG6naaGu8/v48klT+L3+zEMg8zMTM4++2xzw3WiyspsDha9RHrfeTidg8yOE/TaUtwLgLQjbvcBDhxxOxoYAbxz+J22J7BaKXWB1jr7yCfSWi8GFgNkZWUdvQG5CBhHToeMj5fd97qcoUGBzWbjqquuIjw8HL/fz3/+8x8yMjLo06eP2Qk7nGH4yNl5N3Z7T/r1u9nsOCGhLd0ym4AMpVR/pVQ4MAdY3fSg1rpKa52ote6nte4HfAJ8p7CL4NFU3KXf3SRag0WhlCI8PBwAwzDw+/0mB+s8BYXPUFv7NYMzFmCzOc2OExJabblrrX1KqZuB1wErsFRrvU0pdS+QrbVeffxnEMFGFjKZS2ua+9sNw2Dx4sUcOnSIcePGhWSr3eMpYc+eB+nR40ySkqaaHSdktGlvGa31WmDtt+773TGundj+WMJM0dGN08+kuJvE0M1jqRaLhRtuuAG3283y5cspKSkhOTnZ3HwdLDf3PgyjgSGD75ZB1A7UDSdbidZERkailJJuGbMY+jsLmBwOB+np6eTm5poUqnNUVHxCUfEq0tOvJzKyv9lxQooUd/EdFosFp9MpLXezHO6WcblcuN2Ny0a8Xi979+4lMTHR3GwdyDC85Oz8PQ5HKv3SbzQ7TsiRLX9Fi2SVqnm8Xj8GmtJDlby+dg2GYaC1Zvjw4QweHDrbMOcXPInLtYtRIx/Dao0wO07IkeIuWiQLmbqez2+wcM12UrJLOEvb+OFjW5gzbgILZgzDZg2tP7Ld7oPs3fsQiQnnkJQ0yew4ISm0fmJEh5EtCLrewjXbWZGdD1rjQ+PxGazIzmfhmu1mR+twu3L/hNZ+Bg9eYHaUkCXFXbQoKioKl8uFYRhmR+kWXB4fyzblU+81sNB80h71XoPl2fm4PD4z43WoQ4c+pKRkLenpNxIRISvVO4sUd9Gi6OhotNbU1dWZHaVbKK52Yzs8Q+Zz/KzH2/yY0o2PhwLD8JCz824iIvqS3nee2XFCmhR30SJZpdq1UmIc+A5vGPYGXhbjaX6s3mfw6Du7Ka3xHOvTg8b+/Uupq9vL4MF3Y7XazY4T0qS4ixbJKtWu5bTbmDMujYiwo38lHTbF0J7RrPyikIn3v80/39xFfUNwbkNQX1/I3n0Pk5Q0hcSEiWbHCXlS3EWLZJVq11swYxizs9JwhFlwhltxhFm4bFxf1vzs+7zx87P4fkYiD2zYyTkPvMNLnxVgGMG1996uXQsBGJwhg6hdQaZCihZJy73r2awW7pk1gjunDaW42k1KjAOnvfFXdEBSFI/9OItP95Tzx7U7uP2FzSz9cC93nZ/JGQMDf2FTWdnblJZtYOCAX+Jw9DY7TrcgLXfRorCwMOx2u/S5m8BptzEgKaq5sB/p9AEJvDJ/Av+YM4bKOi+XP/4p1z65idySwP0++f0edu66l8jIAfTte63ZcboNKe7imGSVamCyWBSzxqTy5u0/4FfThrJx7yGmPvg+v33lK8pqA2/QNW//Y9TX72fI4N9jsYSbHafbkOIujklWqQY2R5iVGycO5J07JnLF6X15fmM+E+9/h3+9nYvbGxiDrvX1+8nLe5Tk5PPo0WOC2XG6FelzF8cUFRVFYWEhAKtWrWLnzp04nU7mz5/ffM2nn37Kpk2bsFgsZGRkMHnyZLPidlsJUXbunTWCq87ox5/Xfs39r+fw7Cd53DFtCLNGp2KxmLONrtaanJ33olQYGRl3mZKhO5PiLo7pyJb7mDFjOO2001i5cmXz43v37iUnJ4cbbrgBm82Gy+UyK6oABiZF8cRVWXy8u5w/rt3Oz5dvZukH+7jr/EzGD0jo8jxlZf+jvPxtBg36DQ57zy5//e5OumXEMUVHR+P1evF4PKSnpxMRcfTOfdnZ2Xz/+9/HZmtsIzidcjxaIPjewARW3/R9/n7ZaMprPcxZ/AnXPZXN7tKu62Lz++vZuWshTmcGaX2u6rLXFd+Qlrs4piOnQ9rt311NWF5eTl5eHm+99RY2m43JkyeTmpra1TFFCywWxUWn9GH6iF4s+WAvj76zm6l/f48rTu/LLedmkBDVuatD9+17BLe7kLGnPIfFEtapryVaJsVdHNORWxAkJHz3z3rDMHC73Vx77bUcOHCAF198kVtuuUWOSgsgjjArN509iMvGpfHg/3by30/38/Lnhdx0ziCuPqMfjjBru1+jqqqKV155hdraWpRSjBzZD6/vCXqmXEh8/Okd8FWIkyHFXRxTa6tUY2JiyMzMRClFamoqSinq6uqkeyYAJUbZ+cOFI7n68KDrfeu+5pmP87hz2hBmjurdrkFXi8XClClT6NWrF263m4cf/gOZwxIYNOjXHfgViBMlfe7imFpbpTp06FD27t0LNHbR+P1+IiMjuyyfOHGDkqNZcvU4nr3udGIjwrh12Zdc9MiHbNx76KSfMzo6ml69egFQVf02dnsRCT2uwG5P6qjY4iQorc3ZnyIrK0tnZ2eb8tqibbTWLFy4kMwxWRhuFwX5+5tb5hMnTmT06NGsWrWKoqIirFYrU6ZMoX9/OeQ4WBiG5uUvCvnb6zkUVbuZOjyFX0/PpH/iyf3l5fO5ePudC/j8s9O55Za7iIiQv+A6g1LqM611VqvXSXEXLWk68q3u89WUEsPH/oHMGZcWkke+dXf1DX6eeH8Pj767mwafwZXj07n13AzinSe2mnTHjvt4be0BJk6cQtapMzoprWhrcZffUtGipiPf6nQYYUZDSB/51t1FhFv52bkZvHPHRC7NSuPpj/dx1v1vs/i93Xh8bVvpWlWdwxsb9jFoYLQU9gAhxV18x5FHvh2M6kFRr8a+01A88k18IznawZ8vHsn6287i1PR4/rT2a8594F1e3XyA4/2FbxgGL7zwGE5nHeed94suTCyOR2bLiO8oqKzH3zMCT2okH8Wl4mjwoPPLUBqsSlFc7WZAUpTZMUUnGZwSzZM/OY33d5Xyx9d28LPnv2Dph3v57fmZnJreo/k6l8dHcbWbsrxXKCyIJT4+iaVLXwDg3HPPJSMjw6wvQSB97uIIxR4vTx8o4+nCckq9PpTLR/j+asIKa/H5G+dDO8IsfPbbyS1uRytCj9/QvPR5AX97PYeSGg/njezJ7ZMH8/THeSzblE9UmJv/O+1erLZkzj97DWE2WbDU2dra5y6/od2c1prPq+tYUljGqyWVeLXm3B4xhOfX8vGnpbi9Bj4aC3tEmIXZWWlS2LsRq0UxOyuNGaN68fh7e3nsvd2s31qEUuA34MKBa4gJr+Fvn/2UL+pyuGfWCLMji8Pkt7Sb8hgGq0oqWVJQyuaaeqKtFq5OTeAnqUkMiLTjG2Gw0G9heXY+VqXwa83srMbZMqL7iQy3ceukDGaN6c05D7yD34BR0buYlPYu7xeMJ+dQGnnZ+dw5bai8+QcI+S50Mwc9DTxVWM4zB8op9/rIiLTz58F9uDQlnijbN0vRj3fkm+i+DK2JCLPiavAzodcm/P5wXsqdCch4TKCR39ZuQGvNxioXSwrLeK20EkPDlMQYrk1N4sz4qOPuBdN05JsQACkxDnyHD+b+au/p1BxMx+Vt/Pnwa01KjMPMeOIIUtxDWL3fYGVJBUsLythaW0+szcr1fZL4SWoi6RGduyugCE1Ou40549JYkZ1PBD4qPPGAjMcEIvlOhKACdwNPFpbx3MFyDnn9DHU6uH9IHy5Oicdpbf8ugKJ7axp3qfp8Cy4cOA4XdhmPCSxS3EOE1pqPKmtZWljGutIqAKYnxXJNaiJnxB2/60WIE9E0HvOXr18jbUBfHrxApsYGIvmOBDmX38/LxRUsKSjja5ebeJuV+X2TuSo1kTSHnDQvOofP56O+vp7eSfFS2AOUfFeCVF69h/8UlvH8wUNU+fyMiIpg0dA0LkqOJ0I29hKdrOm83KZtoUXgkeIeRLTWvF9RyxMFpWwor8ai4PykOK5NTeS0WKd0vYguU1NTA3xzoIsIPFLcg4DL52dFcQVLC0rZVechIczGrekpzO2dQG/pehEmaDrARVrugUuKewDbW+dhaWEpyw4eosZvMDo6gocy+3JBUhwO6XoRJpKWe+CT4h5gDK1551ANSwrKePNQNWFKMTO5setlbEykdL2IgNDUcpfzcgOXFPcAUePzs7zoEEsLythT7yE53MYv+/Xkx70TSLHLTnsisNTU1OB0OrHKuomAJcXdZLtcbpYWlrGi6BAuv8GpMZE80j+dGUmxhFuk60UEptraWulvD3BS3E3g15o3y6tZWlDGOxU1hCvFrJQ4rk1NYkxMpNnxhGhVTU2NFPcAJ8W9C1V5fTx/8BD/KSwjz91Az/AwftW/J1f2TiApXLpeRPCora0lJSXF7BjiOKS4d4GvXfUsLSjjhaIK6g2D02Od/N/AXpyXGEeYRQZIRXAxDEO6ZYKAFPdO4teaN8qqWFJQxgeVtTgsiotS4rkmNZGR0dL1IoJXXV0dWmuZBhngpLh3sENeH88dKOfJA2UUuL2k2sO4a0AvruidQI8w+e8Wwa9pjru03ANbt6w2breb1atXU1JSglKKCy64gLS0tHY957baepYUlPJycQVuQ3NGXBT3DEplakIsNul6ESGkaY67tNwDW7cs7uvXr2fQoEHMnj0bv9+P1+s9qefxGZp1ZVUsKSjlkyoXERbFpT17cE1qIplRER2cWojAIFsPBIduV9w9Hg95eXnMmjULAKvVesILMcoafDx7oJynDpRxwOOlryOcuwf25ke9ehAnXS8ixMnWA8Gh21WiiooKIiMjWbVqFcXFxfTq1Ytp06YRHt76Blyba+pYUlDKqpJKPIbmrPgo/jy4D5MSYrDKtgCim6itrcVutxMWJtN3A1m3K+6GYXDw4EGmT59Onz59WLduHR988AHnnHNOi9d7Dc1rpZUsKShjU7WLSKuFH/VK4JrURAY75TBg0f3U1NRIqz0IdLviHhMTQ0xMDH369AFg2LBhfPjhh9+5rrTBy9OF5Tx9oIziBh/9I8JZOCiVy3r1IMYm+2mI7kvmuAeHblfco6KiiI2NpaysjMTERPbu3UtiYmLz459XuVhSWMbqkkq8WnN2j2ge6JPEOT2isUjXixDU1NS0e3aZ6HxtKu5KqWnAPwAr8ITW+r5vPf4L4DrAB5QC12it8zo4a7u4PD6Kq92kxDiYPn06L7/8Mn6/n/j4eKbPnMmLRYdYUlDGFzV1RFktXJWawE9SExkYKV0vQjTRWkvLPUi0WtyVUlbgX8BkoADYpJRarbXefsRlXwBZWus6pdSNwF+Byzoj8Iny+Q0WrtnOsk352CwKn6GZMy6NBddeR5nPz1OFZUz4Yi9lXh8ZkXb+lJHK7J49iJKuFyG+w+124/P5pM89CLSl5X4akKu13gOglFoGzAKai7vW+u0jrv8EuLIjQ7bHwjXbWZGdj8dn4AE08NzOIv73pp+8cI1fw6SEGK7rk8RZ8VFyGIYQxyFz3INHW4p7KpB/xO0C4PTjXH8tsK49oTqKy+Nj2abGwq4t4O8Zib+vE09sODVeP9f2TOL69GT6RdjNjipEUJCtB9pv1apV7Ny5E6fTyfz58wHYtm0b7777LqWlpVx//fX07t273a/TltMgWmrK6hYvVOpKIAu4/xiPz1NKZSulsktLS9ue8iQVV7ubl/77e0fiGxkPFoVtWwU9Pirl2oR4KexCnADZeqD9xowZw5VXHt25kZyczOzZs0lPT++w12lLy70AOHJovA9w4NsXKaUmAXcBP9Bae1p6Iq31YmAxQFZWVotvEB0pJcaBz2h8GevBelSdD8uhBhRghFlIiZHBUiFOhLTc2y89PZ3Kysqj7ktKSurw12lLy30TkKGU6q+UCgfmAKuPvEApdQrwGHCB1rqkw1OeJKfdxpxxaUSEWVB+jfVwYY8Is3BZVhpOe7ebCSpEu9TW1mKz2XA4pGEU6Fqtblprn1LqZuB1GqdCLtVab1NK3Qtka61X09gNEwW8cHhAcr/W+oJOzN1mC2YMA2B5dj5WpfBrzeystOb7hRBt1zQNUiYeBL42NV211muBtd+673dHfDypg3N1GJvVwj2zRnDntKHN89ylxS7EyZGtB4JHW7plQoLTbmNAUpQUdiHaQRYwBQ+pdEKINqupqWHAgAFmxwg6R66QX79mFfv27aOuro5FixYxceJEIiIiWLduHXV1dTz33HP07NnzOzNqTpQUdyFEm3i9Xjwej7TcT0DLK+SHsOC2i7BZj+44yczM7NDXluIuhGgTOaSj7ZoWKrkMGytqh+Lx+omrO0SxM4EV2Y1rQu+ZNaJTM3SbPnchRPvI1gNtN2bMGH44ew5V9V7qvQaT9mfz+Jt/ZVBlAfVeg+XZ+bg8vk7NIMVdCNEm0nJvu/T0dGp9FhQQ43Fx3bZX2RmXxu7Yxm0FrEpRXO3u1AxS3IUQbSIt9xOTGGVHA9dsew2n183Do3+IVo0l1691p6+Ql+IuhGiTmpoalFJERkaaHSUoRNptJFgNpu7fyMpBZ7EvthfQdSvkZUBVCNEmTXPcLRZpE7aFbmggqrYCV1wiL42YijPM2qUr5KW4CyHapKamRrpkTkDFiy+hGxoY8qd7+WjCmV2+Ql6KuxCiTWpra4mNjTU7RkBrWqz06WsvsT9/P57YWB7/8gsmxsUyduzYLs0ixV0I0Sa1tbWkpqaaHSMgHbVYScGv31/F9EN7yFj7GhF9zPk/k84zIUSr/H4/LpdLpkEew5HHeY7Z9yVZRTv4b+ZU7vuswrRMUtyFEK1yuVyATINsSdNxnvVeg2h/DfP8y9kd05sX0yd0yWKlY5FuGSFEq2QB07E1HVJWGmYAAA7oSURBVOfZL34XNw1aii/WxX/XXYJhsTYvVhqQ1PVvilLchRCtkgVMx9Yjop45g5/hjN6fUFqXwFtvnc0nYacAXbNY6VikuAshWiUt9+/SWlNUvIpdu/7I+F5VvJE3mZW7ptJghAONi5Vmm3icpxR3Idqhafc/p9PJ/PnzAXjxxRcpKysDwO1243A4uOGGG8yM2W5NLXen02lyksBQV5dHTs7vOFTxATExpzBq1EI+qPVjsebjtAXGcZ5S3IVohzFjxnDaaaexcuXK5vsuueSS5o9ff/31kDhMuqamhsjISGy27l0yDMPL/v1L2LvvIZQKY8jge0hN/RFKWblnFgF1nGf3/k4J0U7p6elUVla2+JjWmu3btzN37twuTtXx5Hg9qKr6gq+/votaVw5JSVMZPPh3OOw9j7qm6TjPQCDFXYhOsn//fpxOJwkJCWZHabfufDC2z1dD7u6/UVj4LHZ7CqNGPkbS/7d378FR3dcBx79nV7t6gZCEHl49jEEyARljI4tXnGBsybELNHLaNCYeN2mHhok740zqmaZpPJ0mTjzTOA1JE9txyIzHCbQOjjuTMok9BmRsEydA5OBYYAQI+aGXQQI9ERLS7q9/3JUEQqArod27e/d8Zu7MXemiPYddjn787u93NrfK6bAmpcVdqQipq6tjyZLIftpOtPT19ZGbm+t0GFFljKG9/RWOH3+MwQunKS76IgsW/BNJSbExMp+MFnelIiAUClFfX8/mzZudDuWahUIh+vr6EmrkPjDQyrHj36Sjo4ZZs8pYuvQZMjKWOh3WlGhxVyoCGhsbycnJISMjw+lQrtn58+cJhUIJMeduTJCm5l/Q2LgFYwylpV+nuOjv8Xjir1TGX8RKxYCR7n9/3PsyzU0f0t/fz5YtW1i7di3l5eUcPnzYVVMy4P4NTL29Rzha/yi9vXXMnXsHH1v4GKmpRU6HNW1a3JWagku6/3mE4dAsNi6/h3/bUEaSd6xV03333edglDPL7RuYgsF+Ght/SFPzc/h8WSy56b/Iy1uPiDgd2jXR4q7UFIx0/8sYPkM7mYDwQm0TAN+qdsdIfTw3j9w7OvZy7Pi/MzDQQkHBRkpLvobP546e9VrclbJppPvf0PAwbyb/C+dJ5vXgUt4I3sJLtef42r2LHN+4EgmxPnKfaJfwrl27OH78OF6vl+zsbKqrqy/ZTDY42M7xE9/m9OnfkpZWym3lO8jMrHAqhYhw3ztRqQgZ6f5nCPK94ftZ43mHDd79PJC0l2HjYfi5Z2DRPVB6FwSWgUs+a7Svrw+/34/f73c6lAlNtEu4pKSEqqoqPB4Pu3fvZt++fdx9990YE6K1dQcNJ58gGBxgwfyvMm/eZjyeZAcziAwt7krZlJ+RwnDIcAEfzwcreT5YSRLD3CoNVPrq2Gzeg73fsY60ubDgTiitgpK7YHa+0+FPW6xvYJpol3BJScnoeVFREUePHqXv3Anq6x+lu/stMjNXsnjR46SlzY92uFGjxV0pm9KTk9i4vJgXaq0PZgAYJokjSWXcdNs9eKuXwLkOOLkXGvbAyRo4/KL1h6+7OVzoK6F4JSTF5ih4IvHeeuDQobfIzWvh4MFv4PWms3jxdwlc99dxf8N0MlrclZqCkS5/O2qb8MoE3f/Sc2Dp31hHKASn6qChxjp+/2P43Q/APwvmr4HSSqvYZ8f26LG3tzduPzv1lV3/TVf3AfLyXyI/7z5uvPEb+P3x3w7CDi3uSk1BktfDt6qX2Ov+5/FA4Bbr+OQjMNAD7++zRvUNe+DYS9Z12SVWoS+tghs+Af7YaatrjInLkfvQUCe7d3+P+voelq84SlnZz5mb/Qmnw4oqLe5KTcO0uv+lZMCi9dZhDJw5aU3dNOyBQ9vh4Fbw+uH61WPFPq8MHJw+GBwcZGhoiM7OTp5++mkAysvLWbVqlWMxXY0xho8++jX7D/yMEycWsW7dPBYv+k+83vhvuzxVYoxx5IkrKipMbW2tI8+tVMwZGoAP/xAu9jVw+l3r67MD1tRN6V3WDdq07KiG1dHRwZNPPklGRgYPP/wwXq+X7du3s379ese7XV6+S/gcfv8QRcUHaW25DY8nk/R0q/1DUVERGzZscDTemSIibxljJl23qSN3pWKBLwVK7rSOT30Hulvg5KtWsa//Dby9HcQDhbeFi30VFJaDxxvRsEY2MOXn5+Pz+QBrdUp9fT233357RJ/7SsbvEjYmhUc+3kN56q8Q8VFa8s8UFj6AiDuWok6XFnelYtGcQij/W+sIBaHlT2MrcN54Al7/D0jJDP9CqLSmcTIKZjyMkQ1M7e3t9Pf34/P5aGhoIBAIzPhz2TWyS3hwOETRnEa+ULaDouQ2Tg2u5jNrv09ycvwuO51JWtyVinUeLxQvt447/xX6z0Lja9b0zckaOBLevJNXNrYCZ97HIenaN+aMjNxXr17Ntm3b8Pv95Ofn44nyBi1jDOd7umn94AMO7dnDssGzrF32exYs/JCzA1n86NCXONZ1C3+5di7u2440PVrclYo3admw5K+swxhrfr4hfGP2wE+tJZe+NGvlzcja+rkl07ox29vbi9frZcWKFaxcuRKAmpqaiLUyHhoY4GxbC50jR+vIeSuD/ecAuAMI4iE5NMiRYwv5Scs/MBBMId0vnOoZiJmPuXOaFnel4pkI5N9kHbd/BS6cg/d/N1bsT+yyrsucN7YCZ/4aSLa343RkGWR/fz/p6el0d3dz9OhRNm3aNO2Qg8PD9LSforOtlc62Fs62No+e9509c8m1s3NyyS4oYvEn15IVKCQtJ8CDLzZyhjRMkwBjv7CCxpCfkXirYq5Ei7tSbuJPh4X3WAfA2ffCK3BehXdegNpnwZMExavCxb4S8m++Yh+crp4efClpPP/LHQwOnMfr9bJu3TpSU1OvGoYxhnNdnaOj77HReCvdp9oIBYOj16bMmk1WQSHzbr6VrEAhWQWFZAUKybwugM9/+STL+tbUS3YJA6T6PHyuotiVjdumS5dCKpUohi9A88GxTVQf1VlfT8+z+t+UVlk3aNNzRlek9Pzpt/SSwr7gQjYuL76sb/1gfz9dH7WGR98toyPwzrYWLpw/P3pdks9PZqCArEABWYFCsguKRs9TZ09timcktot3Cd9fcXlsbmV3KaQWd6USVe+pseWWJ1+F/jOAQMGtvB5cytbW+Vzv6eO9YBb1/Znkmx7W5MPy7ODoXPi5rs6xnyfCnNw8a/R90Qg8O1DI7Lk5yAzfhB1Z537VXcIupMVdKWVfKARtb0NDDcETezBNBzEiPM5XKO6tp6u5b/TSlNlzyC4oJCtQcMkIPDM/QFKMtgV2E93EpJSyz+OxNkUVlvNB2UM88ONXWHbhz9zqaaIllMWbOSvo8mVyIT2b//1qla5IiQNa3JVSl8jPSKEzlMbLZiUvB4Hk8AGkeDy6IiVOuP/ug1JqSkb61qf6Li0PqT4P9+uKlLihr5JS6jKT9q1XMU9vqCqlrihRV6TEMr2hqpS6ZtPqW69igs65K6WUC2lxV0opF9LirpRSLqTFXSmlXEiLu1JKuZCt4i4i94rIMRFpEJGvT/D9ZBHZEf7+ARG5YaYDVUopZd+kxV1EvMBTwF8AZcDnRWT8ToZNQKcxphT4AfDdmQ5UKaWUfXZG7iuABmNMozHmAvBLoHrcNdXAz8PnLwKVItP4TC+llFIzwk5xLwSaLnrcHP7ahNcYY4aBbmDuTASolFJq6uwU94lG4ON7Fti5BhHZLCK1IlLb3t5uJz6llFLTYKe4NwPFFz0uAlqvdI2IJAFzgLPjf5AxZqsxpsIYU5Gbmzu9iJVSSk3KTnH/I3CjiMwXET+wEdg57pqdwBfD558FXjVOdSRTSillryukiKwDfgh4gWeNMY+LyGNArTFmp4ikANuAZVgj9o3GmMZJfmY78IHNOHOADpvXuo3mnrgSOX/N/crmGWMmnfpwrOXvVIhIrZ0Wl26kuSdm7pDY+Wvu15677lBVSikX0uKulFIuFC/FfavTAThIc09ciZy/5n6N4mLOXSml1NTEy8hdKaXUFMRUcU/k7pM2cn9ERN4VkXdEpEZE5jkRZyRMlvtF131WRIyIuGYVhZ3cReRz4df+iIj8T7RjjBQb7/nrRWSviBwKv+/XORFnJIjIsyJyWkQOX+H7IiI/Cv/dvCMi5VN+EmNMTBxYa+hPAgsAP/BnoGzcNf8IPBM+3wjscDruKOZ+J5AWPn8okXIPXzcbeAPYD1Q4HXcUX/cbgUNAVvhxntNxRzH3rcBD4fMy4H2n457B/NcA5cDhK3x/HfAyVmuXVcCBqT5HLI3cE7n75KS5G2P2GmP6ww/3Y7WBcAM7rzvAt4EngIFoBhdhdnL/EvCUMaYTwBhzOsoxRoqd3A2QET6fw+VtT+KWMeYNJmjRcpFq4BfGsh/IFJHAVJ4jlop7IneftJP7xTZh/VZ3g0lzF5FlQLEx5jfRDCwK7LzuC4GFIvKmiOwXkXujFl1k2cn9m8CDItIMvAQ8HJ3QYsJUa8JlkmY0nGszY90n45DtvETkQaACuCOiEUXPVXMXEQ/WB8D8XbQCiiI7r3sS1tTMWqz/re0TkSXGmK4IxxZpdnL/PPCcMeb7IrIa2BbOPRT58Bx3zbUulkbuM9Z9Mg7ZyR0RqQIeBT5tjBmMUmyRNlnus4ElwGsi8j7W/ONOl9xUtfue/z9jzJAx5j3gGFaxj3d2ct8EvABgjPkDkILVdyUR2KoJVxNLxT2Ru09Omnt4auKnWIXdLfOuMEnuxphuY0yOMeYGY8wNWPcbPm2MqXUm3Bll5z3/a6yb6YhIDtY0zVWb8sUJO7l/CFQCiMhirOKeKB8EsRP4QnjVzCqg2xjTNqWf4PRd4wnuEB/Huov+aPhrj2H9Ywbrxf0V0AAcBBY4HXMUc98DnALeDh87nY45WrmPu/Y1XLJaxubrLsAW4F2gDqvjquNxRyn3MuBNrJU0bwOfcjrmGcz9eaANGMIapW8Cvgx8+aLX/anw303ddN7zukNVKaVcKJamZZRSSs0QLe5KKeVCWtyVUsqFtLgrpZQLaXFXSikX0uKulFIupMVdKaVcSIu7Ukq50P8DM5H6eg2vLiEAAAAASUVORK5CYII=\n",
"text/plain": "<matplotlib.figure.Figure at 0x7fbab0259f28>"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Prim MST Algorithm \ngenerate MST"
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2019-02-08T04:19:49.201567Z",
"start_time": "2019-02-08T04:19:49.012934Z"
},
"code_folding": [
0,
11
],
"trusted": true
},
"cell_type": "code",
"source": "def nearest_node(path, index):\n best_dist = np.inf\n best_node = None\n for p in path:\n if p != index:\n d = abs(XY[p] - XY[index])\n if d < best_dist:\n best_dist = d\n best_node = p\n return best_node, best_dist\n\ndef prim(path):\n copy = list(path)\n if path[0] == path[-1]:\n copy = list(path[:-1])\n node, _ = nearest_node(copy, path[0])\n plist = [[path[0], node]]\n copy.remove(path[0])\n copy.remove(node)\n \n while len(copy):\n best_dist = np.inf\n best_edge = None\n for p in set(np.ravel(plist)):\n node, dist = nearest_node(copy, p)\n if dist < best_dist:\n best_dist = dist\n best_edge = [p, node]\n plist.append(best_edge)\n copy.remove(best_edge[1])\n return plist\n\nedges = prim(path)\nplot_list(path, edges, 6)\nprint('MST Score:', list_score(edges), ' Num Path:',len(edges))",
"execution_count": 66,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "MST Score: 3.0336525900152775 Num Path: 19\n"
},
{
"data": {
"image/png": "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\n",
"text/plain": "<matplotlib.figure.Figure at 0x7fbaae7a60b8>"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Minimum-weight Perfect Matching: \nadd more edges to MST to make a Eulerian circuit "
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2019-02-08T04:19:49.224874Z",
"start_time": "2019-02-08T04:19:49.202738Z"
},
"code_folding": [],
"run_control": {
"marked": false
},
"trusted": true
},
"cell_type": "code",
"source": "def min_weight_perfect_matching(edges):\n # find odd-degree nodes from MST(edges)\n odd = []\n for i in range(num):\n cnt = 0\n for e in np.ravel(edges):\n if i == e:\n cnt += 1\n if cnt % 2 == 1:\n odd.append(i)\n print('Odd-Degree Edges:', odd)\n \n # get combinations of edges from the odd-degree nodes\n combs = list(combinations(odd, 2))\n \n # calculate weights on the edges\n weight = [abs(XY[c[0]]-XY[c[1]]) for c in combs]\n \n # negating the weights to get minimum-weight from the max_weight_matching function\n edge_weight = [(combs[i][0], combs[i][1], {'weight': -weight[i]}) for i in range(len(combs))]\n \n # find minimum-weight perfect matching(negative max_weight_matching) by NetworkX library \n G = nx.Graph(edge_weight)\n M = nx.max_weight_matching(G, True, 'weight')\n M = [list(m) for m in M]\n G.clear()\n return M",
"execution_count": 67,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2019-02-08T04:19:49.517700Z",
"start_time": "2019-02-08T04:19:49.226425Z"
},
"run_control": {
"marked": true
},
"trusted": true
},
"cell_type": "code",
"source": "M = min_weight_perfect_matching(edges)\nprint('M Edges:', M)\nprint('M Score:', list_score(M))\nprint('MST Score:', list_score(edges), ' Num Path:',len(edges))\nplot_list(path, M)\nplot_list(path, edges)",
"execution_count": 68,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "Odd-Degree Edges: [2, 6, 7, 9, 11, 14, 17, 19]\nM Edges: [[2, 7], [9, 11], [17, 6], [19, 14]]\nM Score: 1.5636620973512492\nMST Score: 3.0336525900152775 Num Path: 19\n"
},
{
"data": {
"image/png": "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cM+se7hh/A39vvBox44dvP7669x66614velR/34yJXcROaMDBw7w7rvvcuedd+J2u/nVr37F+PHje73bZWukld99+Dse3fIoexr2MDZvLEsuWcJ1Y6/D6+574u1ulfDSpUuZPXs2r732GpFIhCeeiO0gWlRUxNy5c/v8XslIyV1EzujgwYMUFRV19oBLSkrYtm0bl1xyyRk/7+SFR2XDy/i32f/G5WMuP6eFR6euEs5hwcyr41YJz5gxo8+vnyqU3EXkjILBIC+99BJNTU14vV527NjByJEjT9u+LlTHU1uf4sltT1IXqmPWiFksuXQJnxr5qX4Z+16yppIVFTWEwlFC7de0SvhUSu4ickYFBQVccsklPPHEE2RkZFBYWIirmz3yT154NLt4NndMvYMLCi7ot1gaQ2GWrY8l9q6a26Isr6jh7jkTNcHdTv8KItKjGTNmdA51/OEPf4jbynhP/Z7OE4+iNsqcsXO4fcrtZ1x41Fe19S14XKazx96VVgnHU3IXkR41Njbi9/upq6tj69at3H777VQdqeKRzY/wQvULeIyHG8bf0G8Lj06nMOAjHO1+PyytEo6n5C4ip9VRkfLS6hWEWppxu91M+IsJ/MMb/8Are1/B7/Vzy+RbuLns5kE58UirhHtP/xIicopTK1JGMHv6EZr967h/8/0MzRzKN6Z/gwUTF5CXmTeosWmVcO9oy18ROcU/rdrS3jsO48ndQkb+y7h9H5NlhvHtmXfxhU98gWxvtqMxdvxWkW6rhLXlr4j0SUdFSitH8I97GFfmISKhApo/+hJtTTP4/I3XkO11PnWk2yrhs+X8V0hEEkpnRUprgEjLKEIHrybcMBlwkZnhVkVKklByF5E4JypSXLR89NW451SRkjx0+KCIxOmoSMnyxqeHLK+LG1WRkjT0VRKRU6giJfmpWkZETitdK1ISmaplROScqSIleWnMXUQkBSm5i4ikICV3EZEUpOQuIpKClNxFRFJQr5K7MWaOMabKGLPDGHNPN89nGmOWtz//ljGmtL8DFRGR3usxuRtj3MD9wDVAGfAVY8zJKxluB45aaz8B/Bvwv/o7UBER6b3e9NxnATustTutta3AMmDeSW3mAb9s//gZ4ArTHyfhiohIn/QmuY8Garo83tt+rds21towUAcM748ARUTk7PUmuXfXAz95z4LetMEYc5cxpsIYU3Hw4MHexCciIn3Qm+S+Fyju8rgI+Oh0bYwxHiAPOHLyC1lrH7LWlltrywsKCvoWsYiI9Kg3yX09MN4YM9YYkwEsAFaf1GY1cEv7x18CXrJO7UgmIiK92xXSGHMtcB/gBh611v7EGPMjoMJau9oY4wOeAC4k1mNfYK3d2cNrHgSqexlnPnCol21Tje49faXz/eveT6/EWtvj0IdjW/6eDWNMRW+2uExFuvf0vHdI7/vXvZ/7vWuFqohIClJyFxFJQcmS3B9yOgAH6d7TVzrfv+79HCXFmLuIiJydZOm5i4jIWUio5J7Ou0/24t7/zhhTaYzZZIz5gzGmxIk4B0JP996l3ZeMMdYYkzJVFL25d2PM/Pav/fvGmKcGO8aB0ovv+THGmJeNMe+1f99f60ScA8EY86gx5oAxZstpnjfGmP9o/7fZZIyZcdZvYq1NiD/Eaug/BMYBGcBGoOykNouAX7R/vABY7nTcg3jvlwHZ7R//TTrde3u7XOAV4E2g3Om4B/HrPh54Dxja/jjodNyDeO8PAX/T/nEZsNvpuPvx/j8DzAC2nOb5a4HniG3tcjHw1tm+RyL13NN598ke791a+7K1tqn94ZvEtoFIBb35ugMsAX4GtAxmcAOsN/d+J3C/tfYogLX2wCDHOFB6c+8WCLR/nMep254kLWvtK3SzRUsX84DHbcybwBBjzMizeY9ESu7pvPtkb+69q9uJ/a+eCnq8d2PMhUCxtXbNYAY2CHrzdZ8ATDDGvG6MedMYM2fQohtYvbn3fwZuMsbsBdYC3xyc0BLC2eaEU3j6NZxz02+7TyahXt+XMeYmoBz47IBGNHjOeO/GGBexA2BuHayABlFvvu4eYkMzs4n9tvaqMWaKtfbYAMc20Hpz718B/sta+3NjzKeAJ9rvPTrw4TnunHNdIvXc+233ySTUm3vHGHMl8H3gemttaJBiG2g93XsuMAX4ozFmN7Hxx9UpMqna2+/5VdbaNmvtLqCKWLJPdr2599uBFQDW2j8DPmL7rqSDXuWEM0mk5J7Ou0/2eO/tQxMPEkvsqTLuCj3cu7W2zlqbb60ttdaWEptvuN5aW+FMuP2qN9/zzxKbTMcYk09smOaMm/Ilid7c+x7gCgBjzCRiyT1dDoJYDdzcXjVzMVBnrf34rF7B6VnjbmaItxObRf9++7UfEfthhtgX92lgB/A2MM7pmAfx3v8bqAU2tP9Z7XTMg3XvJ7X9IylSLdPLr7sBlgKVwGZiO646Hvcg3XsZ8DqxSpoNwOecjrkf7/3XwMdAG7Fe+u3AQmBhl6/7/e3/Npv78j2vFaoiIikokYZlRESknyi5i4ikICV3EZEUpOQuIpKClNxFRFKQkruISApSchcRSUFK7iIiKej/ARYIZbapwsOKAAAAAElFTkSuQmCC\n",
"text/plain": "<matplotlib.figure.Figure at 0x7fbaae6a5c50>"
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": "<matplotlib.figure.Figure at 0x7fbaae83a7f0>"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Tour Construction"
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2019-02-08T04:19:49.543769Z",
"start_time": "2019-02-08T04:19:49.518990Z"
},
"code_folding": [],
"run_control": {
"marked": false
},
"trusted": true
},
"cell_type": "code",
"source": "# T, M=False: Double Tree Algorithm\n# T, M=M : Cristofides Algorithm \ndef tsp_tour(T, M=False):\n if M:\n TM = (T + M).copy()\n else:\n TM = (T + T).copy()\n \n tour = [TM[0]]\n TM.remove(TM[0])\n\n while len(TM):\n for tm in TM:\n if tour[-1][1] == tm[0]: # tour(n,0) == TM(0,m) \n tour.append(tm)\n TM.remove(tm)\n elif tour[-1][1] == tm[1]: # tour(n,0) == TM(m,0)\n tour.append(tm[::-1])\n TM.remove(tm)\n if tour[0][0] == tour[-1][1]: # when meets deadend\n tour = [tour[-1]] + tour[:-1]\n\n newtour = []\n for t in tour:\n if not t[0] in newtour:\n newtour.append(t[0]) \n zero = newtour.index(0)\n newtour = newtour[zero:] + newtour[:zero] + [0]\n return newtour",
"execution_count": 69,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2019-02-08T04:19:49.868739Z",
"start_time": "2019-02-08T04:19:49.545228Z"
},
"run_control": {
"marked": true
},
"trusted": true
},
"cell_type": "code",
"source": "path = tsp_tour(edges)\nplot_path(path)\npath = tsp_tour(edges, M)\nplot_path(path)",
"execution_count": 70,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "Total Score: 4.782999442918013\nTotal Score: 4.3570515156892125\n"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAFpCAYAAABnHGgVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3Xd8VGXWwPHfnUnvpAJJCJAESOgQqiC9KCgKa0GxvBaWRd21y9q7rruia0Ndu65lFRGULgpIJ/SaEFIIISSkh7Rp9/3jJiGhpE8mmTnfz2c/r5ncmRzyJifPPPc85yiqqiKEEMK+6GwdgBBCiJYnyV0IIeyQJHchhLBDktyFEMIOSXIXQgg7JMldCCHskCR3IYSwQ5LchRDCDklyF0IIO1RvclcU5RNFUbIVRTl4ic8riqK8pShKkqIo+xVFGdTyYQohhGgMpwZc8xnwDvDFJT5/BRBd+b9hwKLK/1unwMBAtWvXrg0KUgghhGbXrl05qqoG1XddvcldVdWNiqJ0reOSGcAXqtakZpuiKH6KonRSVTWzrtft2rUr8fHx9X15IYQQNSiKktaQ61pizz0USK/x8cnKx4QQQthIQ7Zl6qNc5LGLtppUFGUuMBegS5cuLfCl7cPSpUtJTEzE09OT+fPn1/rcli1bWLt2LY888ggeHh42ilAI0d60xMr9JBBe4+Mw4NTFLlRV9UNVVeNUVY0LCqp3y8hhDBgwgDlz5lzweGFhIcnJyfj6+togKiFEe9YSyX0ZcGtl1cxwoLC+/XZRW0REBO7u7hc8vnr1aiZOnGiDiIQQ7V292zKKonwDjAUCFUU5CTwDOAOoqvo+sAK4EkgCSoH/s1awjiQhIQFvb286duxo61CEEO1QQ6plZtfzeRW4p8UiEhiNRv7444+LbtUIIURDtMQNVdHC8vLyyM/P5/333wegqKiIDz74gLvvvhsvLy8bRyeEaA8kubdBISEhPPLII9Ufv/nmm8ydO5e1a9deUFXz22+/kZCQgKIoeHp6cs011+Dt7W2r0IUQbYQk9zZg8eLFpKamUlpaysKFCxk7diyDBl3YxWHAgAEMHTqUJUuWVD922WWXMX78eAC2b9/Ohg0bmD59eqvFLoRomyS5twGzZs2q8/P3338/oFXVFBQU1Pqcq6tr9X8bDIaWD04I0S5JcrcD69atY//+/bi6unLbbbfZOhwhRBsgLX9trNxovuCx9LxSdqflNfg1JkyYwAMPPEDfvn3ZsWNHS4YnhGinJLnb0IoDp+j11CqiHl9BSk4JAKqqctcX8dzw4TaOnznbqNfr27cvR44csUaoQoh2RpK7jZwprmDB4gPodWCyqIz713qmv/UHX+84QXpeKSaLyrwvd2EyW+p8ndzc3Or/TkhIIDAw0NqhCyHaAUU7g9T64uLiVEdt+auqKjd8uI3daflYVJXbRnYl0MuVf65OqHWdu7OeO0d14+EpPYHaVTWenp6MHTuWpKQkcnJyUBQFPz8/pk2bho+Pjy3+WUKIVqAoyi5VVePqu05uqNrAx5tSOHCyEJNF+8O64kAm2x+fiKuTjtfXJFJWuQ9fZjTz0aZkJvcOoV+Y30Wrai5WMimEELIt08qOZBbxrzUJ1QkcoLDMyL70At789VitxwHKjRb+/OWui954FUKIS5Hk3orKDGbu+jyecmPtfXSLBb7YmkqJwYSnix4vVye83Sr/5+rE6cJy5n25yzZBCyHaJdmWaUWlBhPlRjNOOgU3Zz2lBhMWFQxmC3tO5LNlwXjKjRbKDGbKjGbKjWbKDGYeXbyf9YlnbB2+EKIdkeTeigK8XNn11CRKKkw8+sN+lh/I5O7R3TiYUYS7i56OPm4oyoWDrfK+MNA/TAZ2CCEaTpK7DXi6OrH7RD4AT0yLrfPaqr32m4dFWD0uIYT9kD13G8ksLKd7oGe91x09XQzA0G7+1g5JCGFHJLnbQNXZgun9OtV77bojWQBEBMhwbCFEw0lyt4HcEq174/DuAfVe++XWNICL7sULIcSlSHK3gaRsrWdMVEj9U5UKyoyMjpaWAkKIxpHkbgM7UrSOj0FernVeV1JhAuCGIeFWj0kIYV8kudvA8gOZQP1bLQczCgEY1KWD1WMSQtgXSe42kHC6uN5VO8Cqg6cB6OTrZu2QhBB2RpK7jVzZt2O913y5TW6mCiGaRpJ7KysqNwIwpmdQvdeaLCrT+tZfLimEEOeT5N7KjldWykQHe9d5XUGpVi45c1Co1WMSQtgfSe6tbG96AQChfu51XrfvpHYzdUC4n9VjEkLYH0nurWxFZaWMTlf3PvrSvRmA1mxMCCEaS5J7K9uZmo+7s77e637cndEK0Qgh7JUkdxuY2qf+ShmA2XJ4SQjRRJLcW1FV+96JMSF1XpddVA7A9P6drR6TEMI+SXJvRclnSgDo2bHuSpk9lTdd+8qADiFEE0lyb0UHT2kVMPW17/0+/iQAPm7OVo9JCGGfJLm3otWHtHYCzvq6v+2/Hslq0E1XIYS4FEnurWjdkex6r6ka5HHrCBmrJ4RoOknurWxCr+A6P38yvwyAyb3rvukqhBB1keTeSoxmCwBTetddBrkrTRucHdtJbqYKIZpOknsrScstBaB3qE+d132z4wQA7i6y5y6EaDpJ7q0k4XQxAJFBdY/W256SR7C3tBwQQjSPJPdWsu5oFgBudVTBWCxyM1UI0TIkubeSlQdO13tNco52yGlMj7pvugohRH0kubeSMqOZuIi6Z6FuT8kF6j/BKoQQ9ZHk3gqqtluurGeq0leVY/VcnOT/LUKI5pEs0goyCrTa9QFd6h68cSSzmO6Bnq0RkhDCzklybwVJlaP1ooIvXSljqqyDv0VupgohWoAk91awIfEMUHcjsMQs7Q/AZVGBrRKTEMK+SXJvBVWj9eqyKUn7A1BfHbwQQjSEk60DcATZxRX0CKk7acdvXMuNbrl88H4a8+fPB2D9+vXs3r0bDw+tRfCECROIjo62erxCiPZPkruVVXV5nNa37qlK+0r96B4SQRdSaj0+fPhwRo4cabX4hBD2SbZlrOzM2QoAhnbzv+Q15UYzWRZvpg+Um6lCiJYhyd3KkipvlEafty1jtqgcOlWIwWThSGYRAP3DLyyV3LFjB4sWLWLp0qWUlZVZP2AhhF2QbRkr25aSB0CAp0utx3/Zf4oHvtuLTlHQ6xQA9qYXYDBZMFtU9DqFuLg4Lr/8chRF4bfffmPNmjXMmDGj1f8NQoj2R1buVlZVKaMoSq3He3f2xdVJj8miUmHSatzf/PUYabmlPPz9PgC8vLzQ6XQoisLgwYPJyMho3eCFEO2WJHcrS8o+S0cftwsejwzyvKDNQLnRDArMGd4FgOLi4urPHTlyhOBgaSgmhGgY2ZZpBdP6Xjh9SVEURkUFsrxyZT/GOZlO+mLcdSY2LP4MZexY0tLSOH1a6ybp5+fH9OnTWzVuIUT7JcndigrLjACM6hHEm2++iaurK4qioNPpmDt3LpNiQ1ifmE1JhZltahQTooN55aZB1Vs4gwYNsmX4Qoh2TJK7FVX1lOkR4s0+4Lbbbqs+kAQwMioAo0lFp0AnXzcWXj/ggr15IYRoigbtuSuKMlVRlARFUZIURVlwkc93URTld0VR9iiKsl9RlCtbPtT2Z88Jbdh1Z98L99wBgr3d8HF3wkWv48s7h9U5pUkIIRqj3pW7oih64F1gEnAS2KkoyjJVVQ/XuOxJ4H+qqi5SFCUWWAF0tUK87cryGpUyZhU+/fwLnPU6Bg8ezMCBg5j7ZTw5Zw08OS2GcH+Pel5NCCEariHbMkOBJFVVkwEURfkWmAHUTO4q4FP5377AqZYMsr3ac6IAL1cnLBaVJSXRmMrc+PHuQfz0w7c88nMyyeUePDqlJ3eN7m7rUIUQdqYhyT0USK/x8Ulg2HnXPAusURTlPsATmNgi0dmBK/p0ZH1iNvkGPQZzBfO+O4TutB4PivjijrFc3iPI1iEKIexQQ/bcL3aHTz3v49nAZ6qqhgFXAl8qinLBayuKMldRlHhFUeLPnDnT+GjbkTKDGYDxvYJ577dEKgwGjGaVhFP5hOqKWHDtMEnsQgiracjK/SQQXuPjMC7cdrkTmAqgqupWRVHcgEAgu+ZFqqp+CHwIEBcXd/4fCLty/IxWKePurCf5VA7TXI8BoKCSrgayr8iNUbYMUAhh1xqS3HcC0YqidAMygBuBm8675gQwAfhMUZQYwA2w76V5PQ5mFALaTdVCiwtLTb1rfX736gQGR3RgePcAW4QnhLBz9SZ3VVVNiqLcC6wG9MAnqqoeUhTleSBeVdVlwEPAfxRFeQBty+Z2taqRuYNadUg7Wbps3ykqx6Pi6aLHaFHxcXNiRPcAukiFjBDCShp0iElV1RVo5Y01H3u6xn8fBi5r2dDat/UJ2huXCpOFjr5uXBYZwOU9ghjWLYCOl6h7F0KIliInVK3s7dkDuKp/qK3DEEI4GOkKaQVbj+cCMDiigyR2IYRNSHJvYfklBmb/ZxsAz8/oXc/VQghhHZLcW5DFojLwhbXVH0cGedVxtRBCWI8k9xb02I/7AbgsUitvlEZgQghbkeTeQjYknuH7+JPcOaobO9PybR2OEMLBSXJvAdlF5dz2yQ48XfU8OS0Gg8nC8O7+tg5LCOHAJLk3k8lsYejL6wDY9vcJWCqPbl3Rp5MNoxJCODpJ7s0098tdAPxy3yi83ZzJyC8DoH+4ny3DEkI4OEnuzfDzvlP8djSbR6f0pE+oLwCJWcUARAVLpYwQwnYkuTfRyfxS7vtmD+H+7swfF1X9+PpErRGml6sc/hVC2I4k9yYwmCyM+sfvAKy5f0ytz608cNoWIQkhRC2S3Jvg+g+2ArDuoTG4u9SuZc8tMRDTydsWYQkhRDVJ7o301dY09qYX8NI1fS44gVrV5Xh6v862CE0IIapJcm+EpOyzPLn0IAPD/bh5eMQFn88urgAgLqJDa4cmhBC1SHJvoDKDmYkLNwDw3Z9HXPSaY1naaL3oENmWEULYliT3Bpr8ppbYNz02Dheni3/btibnAODv6dJqcQkhxMVIcm+A935PIj2vjLdnDySsw6VH4y3fn9mKUQkhxKVJcq/HwYxCXludwPhewVzVv+4bpam5pYT6ubdSZEIIcWmS3OtQVG5k+tubAPjwlsENes60ftJTRghhe5LcL0FVVYZXNgTb8cQEnPR1f6sKSg0AjIoKtHpsQghRHzkjfwkvLj9CqcHM53cMJdjbrd7rk7KrKmWkp4wtLF26lMTERDw9PZk/fz4Ap0+f5pdffsFkMqHT6Zg2bRqhoTLTVjgGWblfxI6UPD7elMJ1cWGM6RHUoOfEVw7o6OhT/x8C0fIGDBjAnDlzaj22du1axowZw7x58xg3bhxr1669xLOFsD+S3M+TX2Kobi/wj5n9Gvy8FQe0ShlFUawSl6hbREQE7u61b2YrikJFhXawrLy8HG9vOX8gHIdsy9RQc8D13qcnodM1PFHvP1mIr7uztUITTTBlyhS++uor1q5di6qq3HHHHbYOSYhWI8m9hoe/3wfA4r+MwM+j8QeRruzbsaVDEs0QHx/PlClTiI2N5dChQyxbtoxbb73V1mEJ0SpkW6bSb0ez+HFPBn++vDuDIxo3/7SkwgTA2J7B1ghNNNG+ffuIiYkBIDY2loyMDBtHJETrkeQOZBWVc8dn8fi6O7Pgil6Nfv7xM1qlTE/pKdOmeHt7k5aWBkBKSgoBAQE2jkiI1uPw2zIms4VhlfXsmxeMb9IN0QMZhQCE+1+6NYGwrsWLF5OamkppaSkLFy5k7NixXHXVVaxatQqLxYKTkxPTp0+3dZhCtBqHT+53fr4TgBV/Hd3k0XhV05f0jbgBK1rWrFmzLvr43LlzWzkSIdoGh96WWbY3gw2JOSy4ohexnX2a/DqbknKQvC6EaEscNrmn55Xy12/30i3Qk3ljIpv9elP7SKWMLaTllBCfmlc9BUsIoXHIbZkKk5nRr2kDrlf+bXSzXwtgcqwk99aUllvCW+uO8ePuDKrS+rJ7L6NfmJ9N4xKirXDI5D7rvS0A/P7wWNyc9fVcXbfUnFIAYjo1fVtHNNzBjEIWrk1kc1IOJosFN2c9946L5J9rErn6nc34ujvz872j6BIgN7eFY3O45P7FllQOniriH7P60i3Qs9mvdySzCICugZJMrCk+NY+XVxzhcGYRFSYLVbswZkXl+iFdmD8uih93Z/DQ9/u4/J+/M6iLHx/dNkSmYgmH5VB77knZxTy97BBxER24YUiXFnnNNYe1ShlXp+a9AxB1+9eaBPamF1BuPJfYATxc9QR5u6IoCrMGh3HspSu4f0I0u08UMOiFtTzy/T7KDGbbBS6EjThMci81mJi4cCMAX989vMVed/WhrBZ7LXFpH9wSx7BuAbift43WL9S31sfOeh33T+rBoeemMKN/Z77fdZKYp1fx7u9JmMyW1gxZCJtyiOSuqioTF2oDrrcsGH/JAddNYbaoXBYlJx+tzdfdmbdmD6TMeG4V7qxXGBF58e+9p6sT/549kPgnJ9Knsw//XJ1A1BMrWbY3QyprhENwiOT+9rpjnCooZ9HNg+jcgjNOzRYtSVzRR0brWZvJbGHIS78CsPD6/ni4aCv4AeEd6nxeoJcrv/x1NL8/PBZ3Z71W/vr3FexMzbN6zELYkt3fUD1wspCFvx5jSu8Qrujbskk4PU+rlOkX5lvPlaK55ny8HYBf7htFn1BfBoT78dEfKfQPb9j3vlugJ0demMqutHxmLdrCde9vRa8orHnwciKDZHqWsD92vXIvKjdy1TvagOv3bm7YgOvGSMgqBpDkYGWfb0llW3Iez14VS5/KPfbuQV68PLMvHi6NW58MjuhAyitXsujmQZhVlQmvb2DyGxvILi63RuhC2IzdJndVVRla+TZ+5xMTrdL3Zf3RbEDb3xXWcTCjkGeWHWJoN39uv6xbi7ymoihc0bcTx1++ksev7EVi1lmGvrSOv3y1i7OV7ZuFaO/sNrk/9/Mhyo0WvrpzGEHerlb5GisPnrbK6wpNQamB6W9r77y+vmtYi7++Xqcw9/JIjr4wlZuGdWHlwdP0eWY1r606isEklTWifbPL5L4tOZfPtqQxe2g4o6IDrfZ1CsqM9A2Vk6nWYLaoDHheG3kY/+REnPTW+1F1c9bz8rV92fv0JIZ18+e99cfp8eRKvt1xQiprRLtld8k9r8TAjR9uA+Cla/pa7etU/dJP69fZal/DESQlJfHOO+/w1ltvsWnTpurH5321C4DFfxlJoJd13nmdz8/Dhe/+PIJNj40j0MuFBT8eoNvfV/DHsTOt8vWFaEl2tVlstqgMqhxwve/pyY0acN1Yp4u0G3CDI+ouxROXZrFYWLFiBbfccgs+Pj785z//oWfPnmw4Uc7aw1k8MqWHTb6/YR08iH9yEgczCpn+9iZu+XgHAKvuH02vjvJOTbQP7TK5L126lMTERDw9PZk/fz4AZWVlvPjOJ8xyLaZ7WDAuiglwtloMx7K00XpRUinTZBkZGfj7+9Ohg5bAe/fuzeb4/Ty8oZyYTt7cMy7apvH1CfUl9dVp/J6Qzf99upOpb/5BJ183Fv9lZIuelxDCGtrltsyAAQOYM2dOrce+Wrqa/YWudBx5Df1jetR6i28Nm5NyAOggjamarLi4GB+fcythF3dPvt2SAMDSe0bZKqwLjOsZTPLLV/LSNX3ILCxn5Ku/ccvH2yksNdo6NCEuqV0m94iICNzdz62cTheWc+TIUXJdOvHw5J7079+fhIQEq8aw/ECmVV/fEdS8WWmxqDy99BAqCtsfn9CiLSJagk6ncPPwCBJfvIK5l3fnj2M59H9+Dc8sPUi5URqTibanbf0GNdC6I1kcP6MdIDKaLQx/ZR1uiom1j01BURS8vb0pKSmxagwn88uIkIHYzeLj40NRkdYy+aHv9+GiVnB1XHdCfNxsHNmluTjpePzKGPY/O5mJMcF8vjWNXk+t4tPNKVgsUlkj2o52l9xVVeW+b/Yw9/NdFJUZ+b9PtQHXXq5OrX6YaFo/6SnTHKGhoeTm5vLj1qMs3ZPOEN+zTBox0NZhNYiPmzMf3TaE7Y9PoFugJ8/9fJjuj69gzaHTUj4p2oR2d0M1s7Aci0Wlwmwhq7iCTWdyeHRKTyyHUiguLsbb25vi4mI8PZs/iONScs9WADAy0no19HatuBiWLEF3+jSDPXz5cdVPXOehMHbYCIKDg20dXaOE+Ljx+8NjOZZVzKQ3NjL3S62Ec+k9l9E/vGVG/m3dupU9e/ZoXy8khBkzZuDk1O5+dUUra3cr98OninCuPNCiqiquTjq+i08nJLwb+/btA2Dfvn307NnTajEkZWuVMtEhUinTKKoKr7wCISFwzz2UPvM8c06G8WNFX55zUrl8dPPm2dpSdIg3qa9O45vKWQEz3t1Mv2dXcyK3tFmvW1RUxI4dO7j77ruZP38+FouFgwcPtkTIws61uz//+zMKGKwmEuJajBsmZjjtYW9BZ57f6c/9kUns2bMHX19frrvuOqvFEJ+WD0Cwldoa2K1XX4UXX4SyMlTgsvv+C8CmRf+Hm6kEFBX+/nfbxthMIyIDSHnlSpbsyeDB/2kj/waG+/Hx7U0f+WexWDCZTOj1eoxGI97e3i0ctbBH7S65x6fms8XQvfpjVycdOh3cMrwrt07tWb2qt6bl+7VKGUWx3iEpu1NcDC+8AGVlADw98c/ke/jyyffPElZUeQL0xRfhvvvAq32/I1IUhZmDwri6f2fe/f04b/yayKAX1vKnwWG8MKMP7i4NH8no4+PDiBEjeOONN3B2diYyMpLIyEgrRi/sRYMyoaIoUxVFSVAUJUlRlAWXuOZ6RVEOK4pySFGUr1s2zHOqBlK7Oulwd9Zz16hubP37BB6fFtMqiR3gcGaRDF5urCVLQK8ltc0R/fly8FXcvHs545Pjz12j02nX2QknvY6/TYzm8PNTmDGgMz9Ujvx757djF4z8M1tUVh86fcHjZWVlJCQk8Le//Y0HH3wQg8HA/v37W/OfIdqperOhoih64F3gCiAWmK0oSux510QDfwcuU1W1N3C/FWLlTHE5+aVG3J11/GVMJNufmMAjU3vh59H6ifbKvh1b/Wu2a6dPYymv4I3LbuLOWU+jWCws2PBZ7WvKyyHT/s4PeLg48e8btZF/fUN9+deaRKKeWMnSPedG/v2wK50/f7mLf687Vuu5ycnJ+Pn54enpiV6vJyYmhvT0dFv8M0Q705Cl7lAgSVXVZFVVDcC3wIzzrrkbeFdV1XwAVVWzWzZMjYuTtvIrM1q4d3wUPm7Way9wKcXl2qnEsT3aV1WHrRUEdeKmG1/kw6EzKXd2xclixqKc9+Pn5gad7Le8NNDLlZ/vG8WGR8bi4aLnb9/trW5M9sqKowD8549k9qUXVD/H19eXjIwMjEYjqqqSkpJCYKBUaYn6NSS5hwI1lwonKx+rqQfQQ1GUzYqibFMUZWpLBViTr7szP8wbAcCUNzfapJ74+BntcFSPELmp1VD7TxYwIT2EXSE9KHPRDigpqBcmd4sFrr3WBhG2rogATw4/P5Ul80cCcMvHOyitPOVabrTw5y93UWrQhoaEhYURExPDBx98wKJFi1BVlcGDW36qmLA/DUnuF7treH5WdQKigbHAbOAjRVEuKPJVFGWuoijxiqLEnznTtDaqcV39eXv2QI6fKWH+f3c36TWaY/9JbVUV2kEaRzXEusNZ/GnRVnJLjRidzr3TUlQVs67Gj5+HBzz5ZLu/mdoYA7t0YM9Tk3DWK7WGg+SXGnhm6aHqj8eNG8e9997L/Pnzufbaa6XGXTRIQ5L7SSC8xsdhwKmLXLNUVVWjqqopQAJasq9FVdUPVVWNU1U1LigoqKkxc1X/zjw8uQcrD55m4Vrr9pA538oD2vQla4zts0e+Hs74ejjjcV6FiAJYnF20ZO7uriX2BRe9V2/X3vg18YKqqwqThZ/3n+K3I1k2ikrYg4Yk951AtKIo3RRFcQFuBJadd81PwDgARVEC0bZpklsy0PPdOz6aGQM689a6JJbsPmnNL1XL1uRcnPWS2Bsqrqs/WxeM54GJ2t/66iTv4oJ5wQJ47z3Iztbq2x2stFRVVVYcyESnaO0zvN0q/+fqhNmsMv/r3eTI4G7RRPW+v1NV1aQoyr3AakAPfKKq6iFFUZ4H4lVVXVb5ucmKohwGzMAjqqrmWjNwgDdvGEDC6WIe+N8+Ovm5M7x7gLW/JABX9LHfm37W4KTXseqQtgr9x6y+/GtNIidyS9HNnw9tuEmYtSmKwpoHxlBQaqDcaKHcZKbcaKbCZKGw1MD93+3jUGYxY7wd93skmq5Bm3eqqq4AVpz32NM1/lsFHqz8X6tRFIXlfx1Nr6dWcuOH2/j1wcuJCrbejc6q1q4TY0Os9jXsUe7ZCnal5TN3dDeu6h/K9H6dySwsb9PdH1uLv6fLRc9MVFVl6R3s3YxoOe2ut8z59DqFA89OAWDiwo1kFVnvbWxKjlYpE9NRKmUa46HvtZ4/D0zS+v0oiiKTjOphqby/Krd2RFO1++QO2vT6vU9PAmDYy+soKrfOhJzDp7TTsREB1us4aW8KSg2sTzjDTUO7NOrYvaMzV5b5WnMOsLBvdpHcQZtcv+mxcQD0e3YNFaaWn46z+rBWKdPWpgS1ZU/+pHUwfHxajI0jaV/MlYM/pCpLNJVdZamwDh78cp82e3PkK7+1+GScNYekNK0xisuN/LI/k6v7d8arlQeptHeWqpW77LmLJrKr5A7axPpPb48jt8TATR9tb/HXH9Oj6fX5jualFUcAeOGaPjaOpP2pSu6ychdNZXfJHWBcrxBemNGbbcm5PL20ZQYbVHXrm9pHGoY1RKnBxLc70hnXMwhf99bvAdTeVW3LSG4XTWW375VvGdGV42fO8tmWNCKDvLhtZNdmvd6JPG2iTt9Q3xaIzv69viYRgH9d19/GkbRP56plJLuLprHLlXuVZ6/uw8jIAJ5Zdoh1zTzKnXC6GIDuQVIpU59yo5mPN6UwpGsHArxkWlVTmGVbRjSTXSd3gK/uHEaQlyt3fh7PwYzCJr/Ob0e1LsYeLnb7ZqfFLFp/HIB3bxoDzFgpAAAgAElEQVRk40jaL6mWEc1l98ldp1PYvGA8ANPf3kR6XtMGFq88eLolw7JbRrOFf687RkxHb4LlBGqTqarsuYvmsfvkDlpd+oFnJwMw+rXfyS8xNPo1zlaYGBB+QRdjcZ5PN6UA8NHtQ2wcSftmllJI0UwOkdwBvN2c2fH4BAAGvrCWMkPDDzlV1ctP7ycNw+pitqi8vPIoYR3cCZX2As0i2zKiuRxqAznYx41fHxzDxIUb6Pvsao6+MBWnBgzVzqzsVzOwi6zc6/LNjjRAu88hmkeqZawrJyeHH374ofrj/Px8xo0bx/Dhw20YVctymJV7lahgL/735xGYLCrT397UoFF9x7K0SpmoIGkYdikWi8qTPx3Cz92ZroFSUdRc0lvGugIDA5k3bx7z5s1j7ty5ODs706tXL1uH1aIcLrkDDO3mz5s39Ofo6WL+9u3eeq//41gOoE0VEhf3094MAL6vnHErmqf6hKqs3K0uJSUFf39//Pzs6525Q23L1HTNwDBSckr597pjRAV78dcJF0wFrLbiQGYrRtb+qKrKg//bh16nEC2Dw1tE1X0enUMuv1rXwYMH6dPH/lpkOPSPzgOTejCtXycWrk3k530Zl7wus7CcSDm8dEmrD2llokvvuczGkdiP6huqsnK3KrPZTEJCArGxsbYOpcU5dHIHeGf2QKKDvbjvm73sTM274PNVe/LT+nVu7dDaBVVVmffVbkBr2iZahpxQbR3Hjh2jU6dOeHl52TqUFufwyV1RFFb+bTQ6Ba57fyvHz5yt9fncypr44d38bRFem7ch8QwAi/8y0saR2Jeq+/yKrNytyl63ZECSO6ANcD703FQAJry+gewaE+ePZWnJPirE/v6yt4TbP90JwOCIDjaOxL5Inbv1GY1GkpOTiYmxz0Eyktwrubvo2f2UNqpv6EvrqgcUV23VBEkDrAtsS84F4L93SV17SzNLtYzVOTs78+ijj+LmZp9tMiS51+Dv6cIfj2qj+vo+uwaDycLy/VqljLw9vtCNH24D4LKoQBtHYn+kWkY0l/zonCfc34Of79VG9Y1+7TcSsooJ8pZV+/n2phcA8PFtcTaOxD6dG9Yhi4qWtPV4DluO59g6jFYhyf0i+ob58tGtg8kqqgBgWl/pKXO+a97dDMD4XsE2jsQ+VY3/lW2ZlmEwWXhjbSKz/7OdOz+Lt3U4rUKS+yVMjO3IY1N7ApBR0LQ2wfbqSGYRAG/PHijbVVZSvXKXG6rNFp+ax7h/reeDDUkADOvuGJVvktzrMKx7AABrD2fz321pNo6m7Zi5aAsgXTKtyVg5s1c0XWGZkYf+t5c5H28no6CMcpP2B3NYtwAbR9Y6HLb9QEPsPaHtKw/t6s8TPx0ktIM7Y3s69jZEUvZZygxmXpvVV1btViTJvXlO5JYy7e0/qDCaMZhrNwfs5Guf1THnk5V7Hap6ynw7dzgdPJy5/dOdHD5VZOOobGv2f7QKmT8NDrdxJPbNaK6/W6m4NDdnHcHerujPKzdyc9bRwdPFRlG1LknudYhPy8fdWY9Op7CtctDHlW/9QUZBmY0js430vFLOFFfw7FWxshdsZbJyb55gHzfWPDCGByf1AM6NK9QrCgGS3AXA1D4dAXB10rO/clTfZa/+RkFp40f1tXe3fbIDgDnDI2wcif2T5N58ep3C5sqyx6rqowqTBX9J7o6t3KiN4ZsYE1L9mI+bM9srV/ADnl9bfY0jyCwsIzmnhEem9GzQ9CrRPCaLbMs0V1J2MesTznD7CG0xcv/EaG4e1oVABzltLr+ll1DVQKxnx9r9yUN83Fj7wOUA9H9uTXXJWn0sFgsffPABX3/9dcsG2kr+/MUuAO4e3d3GkTgGo0lW7s2hqioTF24EwNNVqxuZNyaS52b0wcXJMdKeY/wrm+BQhnbjNCLA44LPRYd48/Xdw6gwWZjxTsNG9W3fvp3AwPZ5TP9McQX7MwqZPzbSYX4xbE22ZZrn6x0nAPhh3gjeXX8cL1cn3Jz1No6qdclv6iVUDaBwvsQWxMjIQF6/rj8HTxXx0P/21flaRUVFHDt2jEGDBrV4nK3h/m/3ANQ5rUq0rPPL90TDna0w8cSSg3QL9CTcX1ucvfanfjaOqvVJcr+EdUez671m1uAw7h0XxY97Mnjv96Tqx3el5bM9Jbf641WrVjFx4sR2WReeX2Jg8/Fcbh0R4XArH1syycq9ye78TGtDvfgvI/lkUwoAE2Ic73yKHGKqw4QG9E15eEpPjmUX89rqBCICPFBVeOB/ewnwcmXb3yeQmJiIp6cnnTt3JjU11fpBt7AFP+4H4LGp9jUZvq2TG6pNc/R0EdtT8nhwUg/8PV34YGMyHTyccXVyvIWJJPeLqNrvnNK7Y4Ouf3/OYMa/voF7vt6Dm7MOo1klv8RAZmEZJ06cICEhgWPHjmEymaioqODHH39k5syZ1vwnNMvSpUtJTEzE3cOD1eldmTUolOL8HL5dvhyDwYCfnx8zZ87E1dUxqg5swSAr90ZTVZWpb/4BwL3jojhVeR7lH7Mcb0sGJLlfVFqu1iisd6hPg58ztkcQKTkllBu1X0q9TuGPYzlcP3EiEydOBCA1NZUtW7a06cQOMGDAAIYOHcqiz78B4Jmre/Pdl58xadIkunbtyp49e9i8eTPjx4+3caT2S6plGu/TzamANqhdp1P4zx/JAA7bMkT23C8i4XQxAJFBDRutd+83e/h2Z3qtx0oNZlYdPN3isbWGiIgIVJ0zRWVGJvcOwcfNmZycHCIitHrh7t27c+TIERtHad9kW6ZxCsuMPP/LYWI7+dA/3A/Qkn2Ij6vDVnjJyv0ifj2SBdDgG4iZlW//dMq5k3CgjaGzWNTqo/pdu3ala9euLRqrtXyw8TgA/5ipvaUNDg4mISGBXr16cfjwYYqKHLvHjrVJKWTj3PrxdgC+uXs4oLXKAHh1pmNuyYCs3C+qsSvuH+dfxo/zR3J9XDjuzno8XbQ/CipwOLP9JcFyo5nFuzPwcHGqbrI0Y8YMdu7cyYcffkhFRQV6vePdoGpNktwb7sDJQvadLOTxK3rh6+EMwKL12uJkVHT7PFvSEmTlfhFlRjNxER0a9ZyYTj68Oqsfz1zVm+UHTvHRHykcPV3M9Lc3oVNgUJcODOvuT78wP8I6uBPm54GPu1ObLI98+zetrLNma9TAwEBuueUWAHJzczl27JhNYnMUBtlzbxCLReWqdzYBcFeN09Nf7zhBeAf3S55TcQSS3M9TNZj4yiaO1nN30fOnweH8aXA4W47n8I+VR9l3spD4tHzi0/Iv+bxOvm4M6+bPkG7+RAZ5EernTkdfN6v8cO5LL6Czn/tFZ8MaTBbe/T2JuI7e6HXn3sGUlJTg6emJqqps3LiRuDiZnWpN0vK3Yd6v3D785b5R1dufqTklALx0bV+bxdUWSHI/T1U73wFd/Jr9WiMjA1laOWy7SrnRTGZhOacKyjh6upgdKbnsSMkjs7Ccn/ae4qe9py76WjVX//3D/Ajr4EGon3uTVv83frgNnQIvzOjDtYNCaz3/oz+SGeOcTG9jBbnFZSxcuJCxY8diMBjYuVM7HBITE8OAAQMa+d0QjSHbMvUrKDXw2qoEBnfpQJ9Q3+rH3608UDgy0jEmLl2KJPfzHMvWKmWightWKdNYbs56ugV60i3Qk8uiArlzVLdan1dVldwSA6cKyjiRV8qeEwVsS87l0KmiBq3+h3cPYEhXfyKDPOl8kdX/2QoTRrMFk0XliZ8O8r9d6bxxwwA6+bpjMlt4bXUC3QL78vnDYy94/eHDh7fY90HUTerc63fDB9rgmE/vGFLr8e93nSQyyNPhu5dKcj/PxkSt/7OPm7NNvr6iKAR6uRLo5Uq/MD+m9+t8wTU1V/9HMovYmZpXvfpfsieDJXsyLvraOkX7o+WkVzBZVMqMZnam5jPh9Q08OS0Wg0lrYfzFHUOt+m8U9ZM697rtPpFPQlYxz14VW+t3taqb6wsz+tgqtDZDkvt5lleO1mvLzl/933VeG96aq/+0XG31vz1FW/0nZp2l5iaO2aJSajDz3M+HqDBZCPRyqW62JGxH9twvzWxRmfmeNqT9tpFda33u379qN/qrhts7Mknu5zlTXEHPEO/6L2zDzl/9X9X/3Or/6+0neP6XQ9UnaQE8XfUoKIyKCuSVmY59E6qtkD33S3t7nZbAV99/+QX3m5btO0VsJx/0MgZSkntNVX3Zp/VrWqVMe3AiT2uR4OGix2xRubxHEDcN68LoqECH36NsS+SE6sXlnq3gzXXHGBkZcMEgnWNZ2v2yZ6/ubYvQ2hxJ7jWcOVsBwJCu/jaOxHoi/D0ZEO7HnOFdmNqnE16u8iPQFsnK/eKurdyO+c+tF5bivr4mEaDRZ1Tslfxm15CUpd2MiQ6xTqVMWzB7WBdmD+ti6zBEPSS5X2hHSh4n8kp5dWbf6tF5VVRVZdWh0wwI96uud3d08j68hm0peQAEOMh0dNF2yQ3V2kxmC9d/sBWAG4aEX/D5o5XN/p6aHtuqcbVlktxrWL5fO0DUFlsCCMcik5hq++fqBADWPTTmor+fVZ8f1AKHD+2FJPcajp8pqdVPRQhbkRuq55wpruCDjclM6BV80Tbcqqry29Fshnbzl4VZDZLcz9PUnjJCtCTZcz9n2lvadKW3bxp40c8fOqV1Xn3iyphWi6k9kOReqbDUCDh2i1DRdsjCXbM5KYfs4goWXt8fD5eL13+8ulIbHNMvzPein3dUDUruiqJMVRQlQVGUJEVRFtRx3Z8URVEVRWl3LQOTzmg3ZHq08wNMwn446x17i8FotnDzR9oQjmsHhl70GlVV2ZSUy6ioQNmSOU+9yV1RFD3wLnAFEAvMVhTlglvSiqJ4A38Ftrd0kK1hd1oBAJ1lz120EY5+yvKl5dqKfMMjYy+ZuPefLARgwRW9Wi2u9qIhK/ehQJKqqsmqqhqAb4EZF7nuBeA1oLwF42s1VT1l5K+/aCscedDE6cJyPtuSyrS+nYgI8LzkdS8uPwxA784NH2bvKBry0xMK1Jz+fLLysWqKogwEwlVV/aUFY2tVe9ML5LSmaFOcHHjlPumNDQC8fn3/S16jqqrW1bRXsCzKLqIh2exi37Xq2z2KouiAN4Db630hRZkLzAXo0qXtnZK8ok9HW4cgRDVnvQ6TycSnn36K2WzGYrEQExPDuHHjbB2aVf1+NJvichPv3DSwziH1u09oW6kPT+nZWqG1Kw1J7ieBmkfCwoCa44K8gT7A+sq/nh2BZYqiXK2qanzNF1JV9UPgQ4C4uLg2Uw9QajABML5XsI0jEeIcJ72CXq/ntttuw8XFBbPZzKeffkp0dDRhYWG2Ds8qDCYL//fZThS46CyDmp7/+RAAvTpKEcTFNGRbZicQrShKN0VRXIAbgWVVn1RVtVBV1UBVVbuqqtoV2AZckNjbsuQz2szF87vMCWFLznodiqLg4qK1w7BYLJjNZhtHZV1PLzsIwMZH6353YrGo7DtZyNTeHWVL5hLqXbmrqmpSFOVeYDWgBz5RVfWQoijPA/Gqqi6r+xXavgMZ2h33LjKkQthQ7tkKMgrK0FUmq1KDmaTsYlBV1v74Nfn5eQwZMsRuV+0ZBWV8uyOdWYNC6x0YUzVu8qHJPVojtHapQXcQVVVdAaw477GnL3Ht2OaH1bpWHTwNIP3MhU09seQA645m4+qk7TPnlRiY8e5myo0WHr9yMg/Gdea7774jOzub4GD720Ic+8/fAXi5AQNjnqlc4UfLuZRLkmwGbEg8Y+sQhOC6uHCc9TrOVmj3gMwWlZIKM046hcmxHXFzcyMiIoKkpCQbR9ryVh08jdGs8tGtcdV/3C7FbFE5klnM1f3r3pN3dJLcK03uHWLrEISDG98rmGBv11qPeepMTO8dSLi/B0ajkZSUFAID7atFRrnRzLyvduHurGdibP2/h9uTcwH428Roa4fWrjl8Ybehcsr8lFgpgxS2pSgKj03txUPf76PUoN049dKZ6JYfz6JF8aiqSu/evenRw772mR9bvB+A3x4e06Drn1qqbclcrEOkOMfhk3tarlYpEysn3EQbMKV3R15cfoRSQxnOeoUJg3pw78xZtg7LatLzSlm69xQ3D+tCJ1/3eq83mS0cP1PCdYPt86ZyS3L4bZnDmVq70G6Blz7iLERr0ekUHp3SEzdnHTpF4f5J9r31MPo17SbqM1c1bKj1luPalsy946OsFpO9cPjkvu5INkCdJ+GEaE3T+3fGSafDzUmH2maO+rW8ZXszAPj8jqG4ODUsFT2+5ABAnf1mhMbhk/vKg5m2DkGIWvQ6hYXX96Ow3MSwl9dxz393V5+ithdlBjN//XYvHTycGdMjqEHPMZotnMwv42YZ8N4gDp/cjWaV4d39bR2GELVM7t2Joy9MZfbQcJYfyCT26dUsWp+E2U6meNz/3R4AVt9/eYOf88cxrWR53phIq8Rkbxw6uVf9olzRR0bribbHzVnPKzP7sevJifTu7MM/ViUQ+fgK1h3JsnVozZKSU8LqQ1ncOaobwT4Nn5+wYLG2JVPf6VWhcejknpFfBkD/cJmYLtquAC9Xlv91NL8+qJUK3vl5PF0XLOfo6SIbR9Z4qqoy7l/rAfh7IwZsGEwWsosruOOyrtYJzA45dHJPyNJG60UFS72saPuigr1IfXUaX945FICpb/7BuH+tJ7u4/czHWbzrJABf3z2sUe0+fk/QCh/uGt3dKnHZI4dO7hsStR8YGdIh2pPR0UEkv3wlz1wVS0pOCUNfWsffvt1DmaFtd4wsNZh4+If9dPJ1Y2Rk407ZLqg86NTZr/5aeKFx6OS+4sBpW4cgRJPodAr/d1k3jr4wleviwli69xQxT6/iw43H2+xN1798tRuAn+8b1ajnVZjM5Jca+fPlsmpvDIdO7nklBmI7yclU0X65Oev555/6E//kRHp19OblFUeJfHwFvx/NtnVotSRlF7Mh8Qz3jI0k0Mu1/ifU8Oth7d9yx6hu1gjNbjlsclcrT4dM6yeVMqL9C/RyZdX9l/Prg1pp4f99tpOuC5aTWHlfyZZUVWXiwo0APDi58SPxHl28D4CQRlTWCAfuLZNdXAFAXEQHG0fS9i1dupTExEQ8PT2ZP39+9ePbt29n586d6HQ6oqOjmTRpkg2jFABRwd6kvjqN9QnZ3P7pTia/sZHoYC++vns4Qd6NWzG3lK+3nwDgh3kj0Ddy6He50UxJhZn7xkm7gcZy2OR+LOssIM3+G2LAgAEMHTqUJUuWVD+WkpJCQkIC8+bNw8nJiZKSEhtGKM43tmcwyS9fySebU3hx+RGGvPQrswaF8tK1fVu11cbZChNP/HSQboGexHVt/GHB1Ye0+2K3jIxo6dDsnsNuy2w5ngOAv6eLjSNp+yIiInB3r12lEB8fz6hRo3By0tYHnp7S66Ot0ekU7hrdnSPPT+XagaEs3p1Br6dW8cmmZCytdNP1zs92ArD4LyOb9PxHvteqZIK9ZUumsRw2uS/fLz1lmiM3N5e0tDQ++ugjPvvsMzIyMmwdkrgEdxc9b9wwgB1PTCAyyJPnfzlC98dXsNHKE8iOZBaxPSWPByf1aNIiqsxgxmC28OAk++pf31ocdlsmLa+UsA5SM9tUFouF8vJy7rzzTk6dOsUPP/zAX//6V5lE34YFe7ux7qGxJJwuZsqbG7n1kx0A/PrgmBY5yFdYWMhPP/3E2bNnURSFXzLcgBDubeJ++fID2gJMGoU1jcOu3AGm9ZVKmaby8fEhJiYGRVEIDQ1FURRKS0ttHZZogJ4dtZuun9weB8DEhRu44t8byT1b0azX1el0TJ48mXvuuQeX2In0csrmy5t6oWvkTdQqD3+vVckENLJ0UmgcMrnnlxgAuCzKvmZRtqZevXqRkpICaFs0ZrMZDw9p6NSejO8VwvGXr+TvV/TiSGYxg1/8lccW76fc2LSTrt7e3nTq1InCMiMvrjqGxcWbzk28FVNSOST8samNL50UGofclkk6U1UpIz1lGmLx4sWkpqZSWlrKwoULGTt2LAMHDmTp0qW899576PV6rrnmGtmSaYf0OoU/j4nklhERLFh8gO92pvPdznSeuzqWW4Z3bdKq+5aPt+OlVNDF3UBYWNPG4f287xQANw6RLZmmcsjkHp+aD0BHORTRILNmnZvheaa4gs1JOfyw9DCPTJlOB6k2sgseLk68NXsgT06L4foPtvLMssM8s+ww/71r2AXvcL/YmsqgLh3oE+p7wescOFnI4ZN5/F9QBldcMRVX16ZtqSz4UWvvKz9fTeeQyX3FAW1VICvN+pUbzexMzeO3o9n8ejiL00XluOh1lJss3DSsi/zy2ZlgHzfWPzKOI5lFXPHvP7j5o+0A/PbQGLoHebHnRD7P/3yYQC9Xfn94LO4u52rmLRaVq9/ZyCSX44wbMYyYmJgmxVBcbgTgqWlNe77QOGRyP5BRhK+7s63DaLMKy4y8+Wsin25ORa+Au4sTpQYTVaXRRrMZJ51CDzkAZrdiOvmQ+uo01h7O4u4v4hn/+gb6hfpiMFswWVTySw08/8shXpnZr/o5izYkMco5jTH9ujNyZNPq2gF+2qstvv40OLzZ/w5H5pDJHeDKvh1tHUKbk3C6mL98tYvkHO20aY8QLwxGC6eLyjn/zIvJovKPlUeY3LsjfUJ98ZS2yXZpUqx20/WDDcd5bXVC9eMVJgtL9mRwVb/OjIwKpKDUwOdrdzHNNZeiM3ref/99ACZMmEB0dHSjvuZTPx0EwNdDFmDN4XC/kVV34cf2DLZxJG2D2aLyy/5T/O3bvdWPzR8byfxxUXi5OlFuNPPY4v2sOZRF2XlVFB9vTuXjzanVH3u66Ll5eASTYkPo3dkHDxeH+/GyS/rKk66fbknlTPG5cslyo4V7v9nD+kfGcv0HW8m2ePPAY4/j49b0pFxYpm3JPHd1bLPjdnQO99t3vLJSpqeDbynklxj455qE6qZOAJ/cHsfYHsG1KiTcnPX8+8aB/HdbGi8sP0y50YK7s55nr47l+rhwMgvL2XOigB92pfN7whk+3JjMhxuTq5/v7ebEnGFdmBgbQmwn31p7tKL9+HxravVeeE1nK0zM/3IXiVlnefaq2GYldoAf4tMBmDmoaVU24hyHS+77ThYCjjtk9/CpIu7+Ip6MAm1+7OCIDiy8vj8RAXUXJN88PIK+Yb7c/ulOCkuN9A31Q1EUOvu509nPvbp1sqqqZBSUsftEAT/Ep7PxWA6LNiSzaMO5hO/n4cycYRGMjwkmtpNPqzayEk1zPPssqgpVf/eddLrqDo+bjucCcNvIrs3+Oi8sPwKAdzP/SAhQqvqat7a4uDg1Pj6+1b/uzR9tY3NSLqmvTmv1r20rJrOFn/aeqj7xB/DAxGjuGt290Xvl+SUGlu8/xY1DuzR4BqaqqpzML2P3iXz+F5/O5qTcC64J8HThluERjO0VTK+O3pLw2yhVVTGYLZQZzJQazJQaTGQVVTAg3K/Z913ySwwMfGEtr8zsy+yhUt9+KYqi7FJVNa6+6xxu5b45KbfRPaXbq9yzFbyy8ig/VA4lBvjijqGMjg5schloB08X5ozo2qjnKIpCuL8H4f4ezBgQCmhJIj2vjPi0PL7bmc72lDzeXHeMN9cdq35esLcrtwyPYEzPIHp29MbVSRK+rSmKgquTHlcnPX6Vb36jgltmi/O7yi2Zq/p3bpHXc3QOl9wBpvQOsXUIVrX/ZAF3fhbPmcpeISMjA/jHrH5taitKURS6BHjQJcCjen/VYlE5kVfKzlQt4cen5fP62kReX5tY/bzOvm7MGRHB5dFB9AjxxsXJITto2KVXVx4FZGB9S3Go72KFSav2mBxrf2WQRrOF7+PTeXzJwerHHpvak9tHdms3NzF1OoWugZ50DfTkujitxtliUUnNLSE+NZ+vd5xgb3oBr61K4LVV58rywjq4c8vwCEZFB9IjxBvnBm4XibajqmnZv67rb+NI7IdDJffUHK1rYYwdDcXOLi7nhZ8P83Nlf3q9TuHLO4cyonuAXZzA1ekUugd50T3Ii+uHnEv4yTkl7EjJ45sdJziQUcgrK4/CynPP6xrgwZzhEYyMDCQ6xEsSfhv39Q6takvOn7Qch0ruhzO1SpmugW1ne6Kpdp/I5/ZPdlBUrtXtj+sVxEvX9KWzn/33qNfpFKKCvYgK9uKmyl7fZotKSs5Ztibn8c32ExzOLOLFysqLKpFBnswZHsGIyACigrwafENYWN/raxJx1ityNqIFOdR3cu3hLIB2e2OuwmTmm+0nePbnw9WPPTUthpuHRzh8dYlepxAV7E1UsDe3DNfmbZotKsfPnGXr8Vy+3n6ChKxinqvxvQPtFO7Nw7SEHxnk5TA329uSqoNRsiXTshwqua86eNrWITRJVlE5Ty89yOpD2h8nd2c9X9w5lLiIDnax9WIt+sr+Nz1CvKtrsE1mC0lnzrIlSUv4iVlneWbZoVrPi+nkzU3DIhjR3Z9ugZLwre2LrakATOktWzItyaGSu0WFy6ICbB1Gg6iqys7UfG79ZDvlRgsAU/t05LmrexMirYqbzEmvo1dHH3p19OGOUd0A7Wb0sayzbDmew1fbTnAks7i6v0mVvqE+zB4awbDu/nQL8GzydCFxobd/S8LDRe/w7z5bmsMkd3Nl56sr+rTt0XrlRjNfbUurtV/8/NW9uWFoeLvdTmrrnPU6Yjv7ENvZh7tGdwfAYLKQmFXM5qQcvtqWxoGMIg4sOVDref3D/bhpaDhDuvrTVRJ+k2QVlQPwzz/JlkxLc5jknp6nVcr0C7twwEBbcKqgjMeXHGB9gjaR3s/dmU/+bwiDunSwcWSOycVJR59QX/qE+vLnMZHAuYS/IfEM/92exr70AvalF9R63uCIDtw4REv4EQEesm1Wj083a6MaJ8ZKI7+W5jDJPSGrGIDIoLYzWk9VVbYez2XOx3gYa50AAB14SURBVNurW+rO6N+ZJ6fHEuQtQ4HbmpoJ/55xUYB2kzvhdDEbEs7w1fY0dqXlsystv9bzhnXz54Yh4cRF+BPu7y4Jv4b3NyTj5+4s70qtwGGS++9HswHaRN/xMoOZTzan8M8a/bFfmdmXPw0Ok3rsdsbVSU+/MD/6hflx3wStb3m50czR08WsP5rNV9vT2J6Sx/aUvFrPGxkZwA1DwhnUpQNhHRwz4Z+qbF736qx+9VwpmsL2ma6VrDiQaesQSM8r5dHF+9la2UUv2NuVj28bQt82ulUkmsbNWc+AcD8GhPtx/6QegJbwD2cW8fvRbL7alsaW47lsOV67gdro6ECujwtnUEQHOvu62X3C/+gPrVPo+F6yJWMNDpPci8pNNtlvV1WVjcdyuO2THdWPXR8XxmNTexHgJVsvjsLNWc+gLh0Y1KUDD03uCWjv4A5nFrLuiJbw/ziWwx/Hcmo9b1zPIP40OJyBXfzoZGcJ/5PNqQR5u0p/ICtxiORe1db4yr6tVylTUmHiw43J/LtGl8PXr+vPjAGd5WSkAMDdRc/gCH8GR/jz6NRegPZzcziziLWHs/jvtjR+TzjD75U32atMiAnmusFhDAjvQIiPa7tM+FUFDq/O7GvjSOyXQyT3zEKt3GpwhPUrT9JyS3jgu73sPqFVUYR3cOeDW+KI7Ww//WyE9Xi6OjGkqz9Duvrz+JUxgDbt6FBGIWsOZ/H19hOsO5LNuiPZtZ43pXcIMweFMTDcj+B2cA7i/Q3HAbi8R5CNI7FfDpHck7K10XpRVqqUsVhUfjuazV1fnBs+csvwCB6a3AM/DxerfE3hOLxcnRjWPYBh3QN4aro2W7S43MjBjCJWHzzNf3eksfpQVvUJ5irT+nbi2oGh9A/3a3PVV//dfoJQP3cpILAih0jum5JycMHE2uU/kZ2djaIoXH311YSHhzfrdYvLjby3/jiL1h+vfuyt2QOZ1reTHFkXVuXt5syIyABGRAbw7IzegDZc+lBGISsOZPL1jhMsP5DJ8vMKCa7u35lrBnamX5gfgTa655OWWwLAy7IlY1UOkdyX789kmHM6UVEjuf766zGbzRiNFw77bajkM2e595s9HD5VBGjdBhfNGUwPBx+6LWzL192ZkVGBjIwK5MVrtcRZWGrkQEYhyw+c4psd6Szbd4pl+07Vet61A0O5ekBn+of54e9p/Xea7/6eBMBlke2jFUh75RDJPbvgLKM9zjJw4EAA9Ho9en3jDk1YLCprDp9m3le7qx+7c1Q3/johGl93GeYr2iZfD2dGRQcyKjqQV2Zq9eT5JQYOZBTyy/5T/C/+JEv2ZLBkT0at5103OIzp/TvTP8y3xbcW/xd/km6BnlJYYGUOkdy9lQo8PTxZunQpWVlZdOrUialTp+LiUv8PbWGZkbfWHePjTSnVj70/ZxCTYztKLxHRLnXwdOHyHkFc3iOI1yp7uuSVGNh/soBl+07x4+4Mvt91ku9rzN4FuHFIONP7daZvqC++Hk1b0CSf0e5/vXhNn+b9I0S97D65556tQEFFLc0nLu5awsLCWLlyJZs2bWL8+PGXfN6xrGL+8tVukip/GGM7+/D27IFtqn2BEC3F39OFsT2DGdszmIXXDwC03539Jwv5aW8GS/ee4tud6Xy7M736OToFZg/twrS+nfj/9u48PMryXvj4957JJDMJ2TcSskASIIQUAsSAK6BgkXpAqiIgx3qOlaNcdjldrK2n9ry2PbX2FLUtr9Wqr7V1F1FeBZFyEBAFCRCBsIQQQhIIIYFsJEwyk7nPH0+ICQQyhFnI8PtcV65r5tnm99yZ+c0z93Mvo4dEuvUL9kzT4EkZUiXjbQGf3EuPn6JVBxMWHk5KSgrHm+wkpGWy/8vCc7btcGk+3FXNd1/f0bXswcmZLJ6aSbhVql7ElSV2UAhTsxOYmp3AM/OMKs3a5ja+rGxgedERPtxZzatbKnh1S0XXPhazYkFBGjNyk8gdEnHO5+b9oqOMHBwuDQ58IOCT+9byk5zGQnRkJIeqqpn3SjFZzgq+NSmla5uG1nZ+/3EJf9t8uGvZC/fkc2N2glS9CNFNfHgI03ISmZaTyNIFxrLjTXaKKht4d/sRPio+xl8/P8xfP//qsxQSZOLuiWldfT3+z6zR/gj9iqPO9N70tfz8fF1YeO7Vs6fd8swG9lY3s/Ghcfzx5TdodzhpVVbuuH0OqXGRLHqlkMp6YwCjvNQonr4rj6FxYV6PS4hAVtNkZ0dFPcu2H+ma3rK70GAzd09MY3rOYEYnR1wWA/oNFEqpbVrr/D63cye5K6VmAM8AZuAFrfUTZ63/AfBtwAnUAv+qtT58zoG68VVyH/rIh8SEBXNtZixr9tRgd7rO2eZ7Nw1n0Q0Z8gYTwktcLhcZP1tFWkwomQlhrNtXe8424dYgFk5MY1pOIjlJkdiCZRjg3rib3PvMZkopM7AUmA5UAVuVUiu01t1nGt4B5GutW5VSDwJPAnf1L3TPS4228Y+9x89J7L+8LZeFE9MG5NgcQgwkJZ29xJ+6aywT0mMAY8yno43GFf7bhVWsL6nl2fVlPLu+rGu/KJuFuyelcdOoRHKSImQqvovgzqVqAVCqtS4DUEq9AcwGupK71npdt+03Aws9GWR/NduNjkp7qptwdPT8hRJkUuw92iSJXQgf+N1HxtwF3WcWU0oxJMrGkCgbt45JBoyEX1V/mu0V9bxVWMmm0hMsXXeQpeu+6gUeGxbMwklpTM1OJHtw+IBO+O+//z4lJSWEhYWxePFiAIqLi1m/fj21tbXcf//9JCcn9+vY7iT3IUBlt+dVwMQLbH8fsKq3FUqpRcAigLS0NDdD7L/W9g7AeMMMCgniTB53aU2708Wy7VX8YlaOzAIjhBdprVm77zj56dF9XkwppUiNCSU1JpTZeUO69q88eZptFSd544tKthw6yTNrS3lmbWnXfgnhISyclM7kEfFkJ4UPmM90Xl4eBQUFLF++vGtZQkICc+fO5YMPPrikY7uT3Hv7b/RaUa+UWgjkA5N7W6+1fh54How6dzdj7LfECCs7f3EzLe1Omk47abI7aLY7aDrtpNnuwGoxD5g3gRADVXHnMB3/0Tno2cVSSpEWG0pabChzxhmt3LTWVJxsZWt5PW9urWBreT1L1pSwZE1J135JkVYWTkrnhuHxjBwcflmOG5+enk5DQ895eOPjPTNSpjvJvQroPsJWCnD07I2UUtOAR4HJWus2j0TnARE2CxE2C0ky2ZEQfvHEqn0AjPXgZDlKKdJjw0iPDeOOCUbCd7k0h0+2svXQSV7fWsGOigZ+t3p/j+ksU6JtLJyUznVZcYxIvDwTvqe4k9y3AsOVUsOAI8A8YEH3DZRS44DngBla6+PnHkIIcSXSWvNpaR3XZMZ6/f6WyaQYFhfGsLgw5l5lXI+6XJpDJ1r44tBJXttSwa4jjV1fNmcMjQ1l4aR0rsmMY3jioIAZhrjP5K61diqlHgJWYzSFfElrXayUehwo1FqvAH4HDALe7vwHVmitZ3kxbiHEALCzqhGga+IRXzOZFJnxg8iMH8T8AuM+X4dLc6juFJvLTvL6FxUUH23iVx/u7bFfRnwYd09M59qsWLLiBw3IQc7catittV4JrDxr2WPdHk/zcFxCiADw65VG0hx9Gc1EZjYpshLCyUoIZ+GkdMBI+AdrT7G57ASvbqlg/7FmfvnBnh77jUgcxIKCNK7OjCMrYdBlP4RCwPdQFUL4h9aaYT9dydSR8fy/fynwdzgXzdnh4mBtC58drOPVzRVdgwh2NyopnAUT05k0LIaM+ItP+MuWLaO8vJzW1lbCwsKYMmUKNpuNVatW0draitVqZfDgwSxc+FXrco/2UPUGSe5CBLZth+u5/dnPWPnd6wNmDmFHh4vS46fYVFrHq1sqOFTXcs42uckRLJiYTsGwGDLiwjw+PpXHeqgKIUR/nKnWGJUUODOUWcwmRiVFMCopgm9fnwEYCb+kpplNpXX8fXMFu4828bPlu3rsNzY1igUFqVw1NIahsZ5P+L2R5C6E8DiXS1NU2cDNOYkB3wvcYjYxOjmS0cmRLLohE4B2p5HwNxyo5e+bKxh0bAc7PvyEz3UQ77XlYrOYKXpsOiFe7F0ryV0I4XGFh+sB+NHXR/o5Ev8IDjKROySS3CGRLJ6SxeHDmWiTib+9sYzgDhOnHR20OTu8mtwHXvseIcRl7z9XFAPIpPGdXGFx/OS9/Zxsaafd6cJiVkTYvDsZuVy5CyE8qsOl2VPdxK1jkvwdit+1OTv449pSXthYhsV1miSL0YAlwgczu0lyF0J41JZDJwD4/rQRfo7E/+56bjPFRxtxdGiCut16iAnz7lU7SLWMEMLDHnvPqJLJSpDJ5O+7dhhWi/mcMWziw0O8/tqS3IUQHuPscFFae4rbxw/xdyiXhX/KS+bTh2+k/ayJgpIirV5/bamWEUJ4zGcHjSqZ79w43M+RXD52HmlgsqWMDFsrLkcbc61fEtOmgDyvvq4kdyGExzza2XlHJpk3tDtd/POLXwAZvPz4TJwuzZtbK5k8wjNjtl+IJHchhEc4OlxU1p9mfkFq3xtfIX767k4APv3JVJRSWMyqa7Ayb5PkLoTwiE8P1AGweEqWnyPxPa01TXYntc12jje1UdNs53BdK8u2H2F+QSop0aE+j0mSuxDCIx7pvEpNjfF9IvOXZruDrz+1gePNbShl9Ew1KYXLpWlt72B0UjiPz871S2yS3IUQl6zd6aKmqY17r/FNlcPlIiTIjMmkcLqMzkmOjo6udTaLmRfvLfDbzE6S3IW4BO+//z4lJSWEhYWxePFiAN555x3q6owqCrvdjtVq5YEHHvBnmF73yX5jds37OwfOulIEB5l4Zl4ed7+wBbvjq+aONouZ700bzmAfNHk8H0nuQlyCvLw8CgoKWL58edeyO+64o+vx6tWrsVr99wH3lZ8sM6pkhkTZ/ByJb7U7Xby6pQK7wxgvxtFhXMHHhYdw33XD/BqbdGIS4hKkp6djs/We0LTW7Nmzh9xc/9S5+kqbs4P6Vgf3d45vfqXYXHaCEf+xine3H+Guq1KxdY7waLWYWDJ3rN8n2pYrdyG8pKKigrCwMGJjY/0dilet3WtUyfj7StVXGk87uPPPn1FSY0y7t/HhqaTGhHL98Di+89oObspO5KqhMX6OUpK7EF6za9eugL9qB3j4HaNKxp/1y76gteb1Lyr42fLdAPx6Ti4LCtK6JiP5xteScMx1cYMPOii5Q5K7EF7gcrnYt28fixYt8ncoXmV3dHCqzclDUwO7bXtVfSvX/XYdAJnxYbz74LVEhvYctlcpxZzxKf4Ir1eS3IXwgrKyMuLi4oiICIyJoc9ndfExAO4J0CaQzg4Xv/pwLy9/Vg7Aa9+eyDVZcf4Nyk2S3IW4BMuWLaO8vJzW1laWLFnClClTGD9+PLt3774iqmR+3FklkxAeeFUyRZUN3LZ0EwCz85J58o4xhAR5b1o8T5PkLsQluP3223tdftttt/k4Et873d5Bu9PFv08LrBEgW9qcfOulL7rmgV37w8lkxg+8sekluQvhIVprqupPU3y0kUkZsUSFen+2HX9auasagLt9NBCWL6woOsJ33ygC4JFbsvm3GzK6bpgONJLcheiHNkcHn5bWUdvcxt7qJrZV1HPweAsajbND86Ovj+SByYHdW/NHb38JQNwg788q5G01TXZueHIdbU4X8YNC+Oj71xM7wM9LkrsQ/fD7j/fz/MZDva4zKSirbWHVrmqSomwMjrASHx6C2TQwrwB709LmRAMPf32kv0Pp0ttQEB9//DElJSWYzWZiYmKYPXt2jx7DLpdmyZoS/rSuFIAX7slnWk6iX+L3NEnuQvTDD28eSfnJVj7ZV0t7R88p1Fwa3iqs5K3CyvPuPzxhEOPSoshLjWZoXCiDI6wMjrQSGjwwPpL//8ujAMwvSPNzJF/pbSiIzMxMpk2bhslkYs2aNWzcuJHp06cDsLe6iVue2QjA1JHxPLtwAlbLwLlh2peB8U4S4jITYjHz3MIJLFlTwl82lvUYNKq79JhQ7pyQQlxECAdqTrHtcD07qxo4cPwUB46f4q3CqvO+RlSohbzUKManRTMqKYKkSCuJEVZiw4Ix+flXwCPvGjMuRYddPvcV0tPTaWho6LEsM/OrqrGUlBT27t2L3dHB4le38z/7jJ61q753PaOSAq/JqiR3IfpJKcUPbx5JQngIv165F7vDRViwmV/MGk16TCh/Xn+Qdftr+e81JV37zL8qlV/PySUnKQKlFFpr6lsdHGu0U9NkZ9+xZnZU1LOjsoHa5jY+2V/LJ/trLxhHbnIE49OjGZMSRWq0jcGdXwLeugpttjsAeHRmtleO7y1FRUUQnUL2zz8C4KGpmfxg+ki/f1F6iyR3IS7RP189lPjwEL7/ZhFtThc3ZicQNyiEiRnGmDJ1p9r4uLiG36zay+tbK3l9q1FdEx1q4ZFbspmeM5ic5AhykiOYmp3Q62vYHR3UNNmpbrRTcbKVnZUNbK9oYE91E7uPGn9w+LwxJkaEMC41mry0KEYmhpMYYSUp0kpUqOWiW4O8V2RUyczNv3yqZPqy+h/r2FBSx6rT4QQHmdn48FQSIwKvbX53SmvtlxfOz8/XhYWFfnltIbxhS9kJPi2t44c3n/8mo8ul2VPdxF8/K+ftbT2rZKaPSuTfJmeQlxpFUD9GFHS5NHUtbdQ0tlHdeJq91c3sqKynqLKBhlZHn/sHmRRjUiIZnxbN11IiSYm2kRhhJSHcSnDQV/EMfeRDAMqf+MZFx+htDQ0NvPbaa103VLXWPP3WGkr37OSjthE8NW8Cs/KG+DnKS6OU2qa1zu9zO0nuQvhPs93B+pJa/nv1fspPtPZY98gt2cwam0yyh8dIb2lzcqzJTk2jnbK6FnZWNbDtcD0Ha1v63DfHXMOIoFqsFjNJmaMYN6Ggqxoowhrk1Tbhjg4X+481kzsk8rzbdE/uB2tPcc9TKyiwVHI0YSIvfvs6BoUM/MoKSe5CDDBaaw7VtfBWYSV/Xl/WY11eahTfmzacqzNifdKiw9nhou5UO9WNpznaYKf4aCPFByuJOb6DFW3ZuDBxc3AJnzvSadLnVm+EBpsZmxLFuLQocodEkhRpJSnSRtyg4H79KgF4u7CSH7+zkxuzE/jt7WOID+/ZDr37UBAOUzCftyYyJugYCYMsRIaHAcZN1VtvvbVfr3+5kOQuxABnd3Sw5dBJ/rj2QFdX+DMWXZ/B3KtSyYwP81kPyuLiYv7rjU/Y5BhK+RPfYP369Ti1InXUOI412jlYe4qiygZ2VDRQcbK17wNijLA4IT2asalRDIsNIzHSyuAIK2G9XGH/4R8HeHptCWalsASZ+MU/5TA3P7XH+X92sI4Ff9kCwD1Xp/PYrTn9/jK5XElyFyLAVDee5oMvq/nNqr24un1sU6Nt/HhGNlNGxhNhtZz/AP1Q29zGcxsOMn1UIrFBbfzfF18hb9oc5k/K4JVXXiEpKYmZM2de8BjtThfHm43WQFX1p9lV1cj2inp2HWnsmpbuQqJsFsamRnH4REuPqitbsJnsxHCenpdHlC2Ybz67qatq6cwEGoFIkrsQAczZ4eLLqkb+srGMj3Yf67Hum+OH8C/XDGN0csQlN/PbUFLLv768lRCLida2DrLMtcxIbCEmPJT4+HiCgoKYMWPGJb0GGFVSDa0OjjXZOdZop6SmmR0VDeyorKemqe28+5mU8efs7GbwX3Nymd9tAo1AJMldiCtIfUs7a/bW8NtV+zjR0t61PDTYzE9njmLG6MHn1FG74/CJFm55ZiOt7R2AkUhtFjOWIBOLh59mXFYyV111lcfO40ImP7mOw92qe4JMiiCzYnCElfyh0fz81tFE2jz7y+Vy5G5yH/i3joUQRIcFMzc/lbn5qWit2XesmVc3H+bvWyr4+Xu7+fl7xtRwNwyPY/HULCakR7s1gXNylI22br1vg7WDlnaI6rBTf7Sc3Ntu9to5ne3Ml1ZYiBmzUtyZn8r8glSyEsJ9FsNAIsldiACjlGJUUgS/mvM1fjXna7S0Ofm0tI7ff7yfDQfq2HCgrmvbH0wfwZxxQ85bP20xm4gOs1B3ykisU4MPYjM5SYwM5c7Zs7DZPNtM83y01qTG2EiKtHHP1elclxUXcDdKPU2qZYS4whw+0cLy7Ud4eu2BHstzkiL49+kjuC4rDlvwV80tb1u6iaJKY8wWq8XEE98cw23jBnZHoIFM6tyFEH1qd7ooLD/Jn9aV8tnBEz3W3XvNUOYXpPGXjQd5Z9sRrBYTT94+ZsD38BzoJLkLIS7a8SY7K3dV85tV+2hz9hzp8k/zx3Hr2GQ/RSbOkBuqQoiLlhBh5d5rh3HvtcPocGl2HWnkpU8PMSkjRhL7ACPJXQjRK7NJkZcaxR/mj/N3KKIf5HazEEIEIEnuQggRgCS5CyFEAJLkLoQQAUiSuxBCBCBJ7kIIEYAkuQshRACS5C6EEAFIkrsQQgQgt5K7UmqGUmq/UqpUKfVIL+tDlFJvdq7fopQa6ulAhRBCuK/P5K6UMgNLgVuAHGC+UirnrM3uA+q11lnAU8BvPR2oEEII97lz5V4AlGqty7TW7cAbwOyztpkN/LXz8TvATSqQJzEUQojLnDvJfQhQ2e15VeeyXrfRWjuBRiDWEwEKIYS4eO6MCtnbFfjZg8C7sw1KqUXAos6np5RS+y/wunFA3QXWB7or/fxByuBKP3+QMujt/NPd2dGd5F4FpHZ7ngIcPc82VUqpICASOHn2gbTWzwPPuxOYUqrQnQHpA9WVfv4gZXClnz9IGVzK+btTLbMVGK6UGqaUCgbmASvO2mYF8K3Ox3cA/6P9NcWTEEKIvq/ctdZOpdRDwGrADLyktS5WSj0OFGqtVwAvAn9TSpViXLHP82bQQgghLsytmZi01iuBlWcte6zbYztwp2dDc6/6JoBd6ecPUgZX+vmDlEG/z99vE2QLIYTwHhl+QAghApBfk7sMa+BWGfxAKbVHKbVTKbVWKeVWM6iBpK8y6LbdHUoprZQKqNYT7py/Umpu5/ugWCn1mq9j9DY3PgdpSql1SqkdnZ+Fmf6I0xuUUi8ppY4rpXafZ71SSv2hs2x2KqXGu3VgrbVf/jBuzh4EMoBg4Esg56xtFgN/7nw8D3jTX/H6sQymAqGdjx+8Esugc7twYAOwGcj3d9w+fg8MB3YA0Z3PE/wdtx/K4Hngwc7HOUC5v+P24PnfAIwHdp9n/UxgFUZ/oknAFneO688rdxnWwI0y0Fqv01q3dj7djNHPIJC48z4A+CXwJGD3ZXA+4M753w8s1VrXA2itj/s4Rm9zpww0ENH5OJJz+9oMWFrrDfTSL6ib2cAr2rAZiFJKJfV1XH8mdxnWwL0y6O4+jG/wQNJnGSilxgGpWusPfBmYj7jzHhgBjFBKbVJKbVZKzfBZdL7hThn8J7BQKVWF0XLvO74J7bJwsXkCcLMppJd4bFiDAczt81NKLQTygclejcj3LlgGSikTxkij9/oqIB9z5z0QhFE1MwXjl9tGpVSu1rrBy7H5ijtlMB94WWv9e6XU1Rj9anK11i7vh+d3/cqD/rxyv5hhDbjQsAYDmDtlgFJqGvAoMEtr3eaj2HylrzIIB3KBT5RS5Rh1jisC6Kaqu5+D97XWDq31IWA/RrIPFO6UwX3AWwBa688BK8a4K1cCt/LE2fyZ3GVYAzfKoLNK4jmMxB5oda3QRxlorRu11nFa66Fa66EY9x1maa0L/ROux7nzOXgP48Y6Sqk4jGqaMp9G6V3ulEEFcBOAUmoURnKv9WmU/rMCuKez1cwkoFFrXd3nXn6+SzwTKMG4U/5o57LHMT68YPwD3wZKgS+ADH/f2fZDGfwDqAGKOv9W+DtmX5fBWdt+QgC1lnHzPaCAJcAeYBcwz98x+6EMcoBNGC1pioCb/R2zB8/9daAacGBcpd8HPAA80O3/v7SzbHa5+/6XHqpCCBGApIeqEEIEIEnuQggRgCS5CyFEAJLkLoQQAUiSuxBCBCBJ7kIIEYAkuQshRACS5C6EEAHofwE3ghezuGrsugAAAABJRU5ErkJggg==\n",
"text/plain": "<matplotlib.figure.Figure at 0x7fbaae758ba8>"
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAFpCAYAAABnHGgVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3XdYVGf2wPHvnaFXC8UCAvYuKvbeNc0kbkzTmOoa03vv9Zdk3WySTdt00xNjNLHHGI1d7BVEQAVFqhRpU97fHwNjQ0EZuDPM+TxPnsidOzNHheM7bzlHU0ohhBCiYTHoHYAQQgjHk+QuhBANkCR3IYRogCS5CyFEAyTJXQghGiBJ7kII0QBJchdCiAZIkrsQQjRAktyFEKIBqja5a5r2maZpmZqm7TrH45qmae9ompakadoOTdN6OT5MIYQQF8KjBvd8AbwHfHWOxycA7Sr+6wd8UPH/8woJCVHR0dE1ClIIIYTN5s2bs5VSodXdV21yV0qt0jQt+jy3TAS+UrYiNes1TWukaVpzpdTR871udHQ08fHx1b29EEKIU2iadrAm9zlizr0lcPiUr9MqrgkhhNBJTaZlqqNVca3KUpOapk0HpgO0atXKAW/dMMybN4/ExET8/f2ZOXPmaY+tXbuWZcuW8cgjj+Dn56dThEIIV+OIkXsaEHnK1xHAkapuVEp9rJSKU0rFhYZWO2XkNmJjY5kyZcpZ1/Pz80lOTiY4OFiHqIQQrswRyX0+cFPFrpn+QH518+3idFFRUfj6+p51fcmSJYwePVqHiIQQrq7aaRlN074DhgMhmqalAc8BngBKqQ+BhcAlQBJQDNxSV8G6k4SEBAIDA2nWrJneoQghXFBNdstcX83jCrjLYREJTCYTf//9d5VTNUIIUROOWFAVDpabm0teXh4ffvghAAUFBXz00UfccccdBAQE6BydEMIVSHJ3QuHh4TzyyCP2r99++22mT5/OsmXLztpV8+eff5KQkICmafj7+3PllVcSGBioV+hCCCchyd0JzJkzh9TUVIqLi5k1axbDhw+nV6+zqzjExsbSt29f5s6da782aNAgRo4cCcCGDRtYuXIll112Wb3FLoRwTpLcncCkSZPO+/j9998P2HbVHD9+/LTHvL297b8uLy93fHBCCJckyb0BWL58OTt27MDb25tp06bpHY4QwglIyV+dlZosZ107nFvMloO5NX6NUaNG8cADD9CtWzc2btzoyPCEEC5KkruOdh/Jp+Mzi2nz5EJSsk8AoJTi9q/iufbj9RzIKrqg1+vWrRt79+6ti1CFEC5GkruONqXkogEWq2LEW39x2Tt/8+3GQxzOLcZsVcyYvRmzxXre18jJybH/OiEhgZCQkDqOWgjhCmTOXUdL9hxDAd5GjegQf3YdKeCpuSd7oqTllfD2H/t5eFwHoOpdNUlJSWRnZ6NpGo0aNeLSSy/V6XcjhHAmktx1YrZY2XooD4Ayi+JQbgljO4fz9/5sSirm4UtMFj5ZnczYLuF0j2hU5a6aqrZMCiGETMvoZGd6Ph6Gk9WSS0wWlu45Zk/slUpNVv45e3OVC69CCHEuktx18vf+bMrMVc+n+3sbCfTxsP3n7UFGfikzZm+u5wiFEK5MpmV0snR3BiaLsnU60cDToGE0aLQLD+SFK7pgVbZtkiXlFh6ds4O/ErP0DlkI4UIkueukkZ8nXVoE0S+mCZ+tSaVnq8Z8P70/mnZ2Y6vcr8rpESENO4QQNSfJXSdf397f/usf49PYkJJbZWKvnGu/sV9UvcUmhHB9MufuBG4aYEvcttL4p9uXUQhA35gm9RqTEMK1SXJ3AqM7hwNwKLf4rMeW7z0GQFRTaY4thKg5Se5OoHPzIAA2pJxdT2b2uoMAVU7ZCCHEuUhydwI+nkYAvll/8KzHjpeYGNJOSgoIIS6MJHcnEdnYl+1p+addO1FmBuDaPpF6hCSEcGGS3J3EtIHRAKcVCtuVbkv2vVo11iMkIYQLk+TuJAZXTL3szzxZ5nfxrgwAmgf76BKTEMJ1SXJ3Em1DAwBYvT/bfm32ellMFUJcHEnuTsLDaPur+Gpdqv2a2aq4tFtzfQISQrg0Se5OpEdkIw7nlQBwvNjW7PrqXi31DEkI4aIkuTuRG/u1AmwlByp3zsRGNtIzJCGEi5Lk7kT6VZQY2HO0gHnb0gFoGuCtZ0hCCBclyd2JtGpiKzHwx55j/LIlXedohBCuTJK7E6ncFfPl2lQArpfDS0KIiyTJ3cmM7BjGiXJbmd/LerTQORohhKuS5O5kJsedHK13kwYdQoiLJMndyfRqdXJ3TJCPp46RCCFcmSR3JxMWZCs1YDTIqVQhxMWT5O5kKrsxWaxnd2USQoiakuTuZNIqTqgKIURtSHJ3MpsP5tl/nVlYqmMkQghXJsndyXy38ZD911sPHdcxEiGEK5Pk7mQ2pOQSFmgrOfBj/GGdoxFCuCpJ7k7EWrGIetOAKPy8jCzfm6lzREIIVyXJ3YkkZ58AYFj7MKYNiAJO7p4RQogLIcndiWxIyQGgQ7NARnduBsDhXNk9I4S4cJLcncjXFW31vDwMdGkRBJxM+EIIcSEkuTuRvUcLaR3iD4CPpxGAbzYcOt9ThBCiSpLcnYTZYgVgasVcO0DLRr5sOyzbIYUQF06Su5NIPFYEwKC2IfZr0wbaEn1l4hdCiJqS5O4kVidlAdAmNMB+bUi7UACSsop0iUkI4bokuTuJ+FXLuM5nGx99+IH92tG9m5nss51fvvmCDz/8kP379+sXoBDCpXjoHYCw2V7ciNbhUbQixX7NYNDYYw6n0NKalTNG6BidEMLVyMjdCZSaLByzBnJZz6izHmse5MPB3GIdohJCuDJJ7jqxWBW7j+RTbray92gBAD0iG511XwwZTPTezS9zf6WkRA40CSFqRqZldPL7jiM88MM2DJpm77q07fBxys1WLFaF0aARFxdHq869GTlrJf3QWLp0KRMnTtQ5ciGEK5CRu066tAjG28OI2aooM9u2Or79x34O5hTz8E/bAQgICCAmNADQOGRoRnp6uo4RCyFciSR3nbQJ9cfL4/Q//lKTBTSY0r8VAIWFhWiabVS/YctOwsLC6j1OIYRrkmkZnWiaxuC2ISzYeRSAYZ7JNDcW4msws3LOF2jDh3Pw4EEyMjK4MaiEjFID48ZN0jlqIYSrkOReT95++228vb3RNA2DwcD06dMZ0zmcvxIzOVFmYb1qy6h2Ybx2Qy/7aL1Xr14ALNp5lDu/2YLy9NHztyCEcCGS3OvRtGnT8PPzs389sG1TTGaFQYPmwT7MmhxrT+yn6h3VGICdafmnlScQQohzqdGcu6Zp4zVNS9A0LUnTtMereLyVpmkrNE3bqmnaDk3TLnF8qA1PWKAPQb4eeBkNzL6tn70S5Fn3BdlG7L9vP1Kf4QkhXFi1yV3TNCPwX2AC0Bm4XtO0zmfc9jTwo1KqJ3Ad8L6jA3V1FgWff/kVH3/8MZs3b8ZqVdz+5Sayi8p5eFwHIpv4Vfsa322SnqpCiJqpyci9L5CklEpWSpUD3wNnbrZWQFDFr4MBGWKewmpVzD3Rjtl57bjsqmvYsHEjo1/8mT/2ZvLouA7cPqR1ta/xj94R9RCpEKKhqElybwmcOmRMq7h2queBKZqmpQELgXscEl0D8VdiJnnlRnJOlDHjh90sTTfiZy7gq1v7MnNE2xq9xsTYFgBkFZbVZahCiAaiJsn97BU+20j9VNcDXyilIoBLgNmapp312pqmTdc0LV7TtPisrKwLj9ZFvf9nImXl5ZgsioQjebQ0FPD4Vf0Y2j60xq/RPcJWmmDroby6ClMI0YDUJLmnAZGnfB3B2dMutwE/Aiil1gE+wFnbOpRSHyul4pRScaGhNU9sriwps4jkI9lc6r2Pid67meC5hwwas73gwrY1Bvt6AvDT5rS6CFMI0cDUZCvkJqCdpmkxQDq2BdMbzrjnEDAK+ELTtE7Ykrv7DM3P43+rksm3ejHP3OW061uWJNA7qjH9Wzet8Wv5ehpZtueYo0MUQjRA1Y7clVJm4G5gCbAX266Y3Zqmvahp2hUVtz0E3KFp2nbgO+BmpdSZUzdup6DUxK/b0qnskufvZcTLw0BIgBeXdW9OqxrskDnVTRX9VeWPVghRnRodYlJKLcS2UHrqtWdP+fUeYJBjQ3NtSimu/WgdZWYrzYJ9GNSmKUPbh9IvpinNgi/upOnYLuF8tCqZtLySGm2dFEK4LzmhWkdeXbiPvUcLeff6WC7vcebmoovTpUUwABtTciW5CyHOS6pC1oH41Fz+93cyV/dq6bDEDthPsH6z4aDDXlMI0TBJcnewvBPl/OPDdQC89Y8eDn/9Fo182HLouMNfVwjRsEhydyCrVdHzpWUAbH1mDAZDVUcEamfagGjA1qZPCCHORZK7Az32yw4AfpoxgMb+XnXyHkPa2c4HJGUW1cnrCyEaBknuDrIyMYuf4tO4bXAMfaKb1Nn7tA8PAGBNUnadvYcQwvVJcneAzIJSpn22EX9vI09f2qlO38vDaPsr+2pdap2+jxDCtUlyryWzxUrfV5cDsP6JUVU223C0ri2DSM0prvP3EUK4LknutTR99mYAfr9nMIE+nvXynlP7206qlpkt9fJ+QgjXI8m9Fn7bfoQ/99lqsndtGVxv79s3xlaPZu/Rwnp7TyGEa5HkfpHS8oq557utRDbxrXFNdkeJbmo7nfqHFBETQpyDJPeLUG62Mvj/VgCw9P5h9f7+lfP6sqgqhDgXSe4XYfJHthOoyx8ahq9X1U2t69qw9qEUlJp1eW8hhPOT5H6Bvl53kG2Hj/PKlV1pExqgWxzX9rH1TyksNekWgxDCeUlyvwBJmUU8PW8XPSMbcWPFjhW99I5qDMDO9Hxd4xBCOCdJ7jVUUm5h9KyVAPzwzwE6RwPhQbaa8L9vP6pzJEIIZyTJvYbGvm1L7KsfG4GXh/P8sX278ZDeIQghnJDzZCkn9v6KJA7nlvDu9T2JaOw8TTIm9XJcrXghRMMiyb0au9LzeWNJAiM7hnF5jxZ6h3OaibG25J5dVKZzJEIIZyPJ/TwKSk1c9u5qAD6e2lvnaM7WI6IRAFuleYcQ4gyS3M9BKUX/ioJgG58aZa/G6EyC/Wy1bH7efFjnSIQQzkYaZJ/Dywv2Ulxu4ctb+xIW6KN3OOfk42lgyW4pQzBv3jwSExPx9/dn5syZAGRkZPD7779jNpsxGAxceumltGwp6xTCPTjfcNQJbEzJ5dPVKVwTF8Gw9qF6h3NeN1W03VPKvdvuxcbGMmXKlNOuLVu2jGHDhjFjxgxGjBjBsmXLdIpOiPonyf0MeSfK7eUF/u/q7jpHU71xXcIBSMsr0TkSfUVFReHr63vaNU3TKCuzLTaXlpYSGBioR2hC6EKmZU5xaoPrbc/WTYNrR+vc3FZqeFNqLpFNnGebpjMYN24cX3/9NcuWLUMpxa233qp3SELUGxm5n+Lhn7YDMOfOATTyq5sG145WWbjs2w1ymOlM8fHxjBs3jgceeIBx48Yxf/58vUMSot5Icq/w575j/LI1nX8ObU3vqLprcF0Xmgf7EH8wT+8wnM727dvp1MnW07Zz586kp6frHJEQ9UeSO3CsoJRbv4gn2NeTxyd01DucCzZtYDQAFqt7L6qeKTAwkIMHDwKQkpJC06ZNdY5IiPrj9nPuZouVfhX72dc8PrJeGlw72pB2Iby+CA5kFdE+3D0XDefMmUNqairFxcXMmjWL4cOHc/nll7N48WKsViseHh5cdtlleocpRL1x++R+25ebAFh47xACvF3zj6Myoa9Jynbb5D5p0qQqr0+fPr2eIxHCObj1tMz8bemsTMzm8Qkd6dwiSO9wLppnxenZr9Yd1DkSIYSzcNvkfji3mHu/30ZMiD8zhrXRO5xa69IiiJTsE3qHUe8OZp8gPjXX7Q9xCXEm15yHqKUys4Uhb9gaXC+6b4jO0TjGlP5RPPHLTsrMFrw99OnrWp8O5pzgneX7+WVLOpVpff7dg+heUUxNCHfnliP3Se+vBWDFw8Px8WwYibB/a9tOkH1HC3WOpG7tSs/n1i82Mfbfq/h1Wzo+nkYeGdsegCveW0OPF5ZyKKdY5yiF0J/bjdy/WpvKriMF/N+kbsSE+OsdjsNEN7WdTl2+9xg9Ihve6DU+NZdXF+5lz9ECysxWKmdhLJpicp9WzBzRll+2pPPQT9sZ+uYKerVqxCfT+tDE3zUOownhaG41ck/KLOTZ+buJi2rMtX1a6R2OQ1Vu4Wyoi6pvLU1g2+HjlJpOJnYAP28joYHeaJrGpN4R7H9lAvePaseWQ8fp9dIyHvlpOyXlFv0CF0InbpPci8vNjJ61CoBv7+ivczR1Y2i7EI6XmPQOo058NDWOfjFN8T1jGq17y+DTvvY0Grh/THt2vzCOiT1a8NPmNDo9u5j/rkjCbLHWZ8hC6MotkrtSitGzbA2u1z4+0qkaXDtS5aeRojKzzpE4XrCvJ+9c35MS08lRuKdRY0Cbqk+d+nt78J/rexL/9Gi6tgjizSUJtH1qEfO3pcvOGuEWGmaWO8O7y/dz5HgpH9zYixaNfKt/govqHdUYgJ1p+TpH4nhmi5U+r/wBwKzJPfCrKJgWG9n4vM8LCfDm93uHsOLh4fh6Gm3bX59YyKbU3DqPWQg9NfjkvjMtn1l/7Gdcl3AmdGuudzh1qlmwrWPUgh1HdI7E8aZ8ugGA3+8ZzNW9Ivj9nsFc0zuSHpHB1TzTJibEn70vjWfOnQMBuObDdbR5YiEHsorqLGYh9NSgk3tBqYnL37M1uH7/RudrcF1Xvm5g5X+/XJvK+uRcnr+8M10r5thbhwbw6tXd8PO6sA1fvaMak/LaJXxwYy8sSjHqXysZ+++VZBaW1kXoQuimwSZ3pRR9Kz7Gb3pqNEYXaLzhCFf1bFg9Qnel5/Pc/N30jWnCzYNiHPKamqYxoVtzDrx6CU9e0pHEY0X0fWU5d369uUGuVwj31GCT+wu/7abUZOXr2/oRGuitdzj15sqK5J5TVKZzJLV3vLicy961ffL69vZ+Dn99o0Fj+tA27HtpPDf0a8WiXRl0fW4JbyzeR7lZdtYI19Ygk/v65By+WHuQ6/tGMrhdiN7h1KseEbZpi62HjuscSe1YrIrYF20tD+OfHo2Hse6+VX08jbx6VTe2PTuGfjFNeP+vA7R/ehHfbzwkO2uEy2pwyT33RDnXfbwegFeu7KZzNPWvsj3gz5vTdI6kZpKSknjvvfd45513WL16tf36jK83AzDnzoGEBNTPJ69Gfl788M8BrH5sBCEBXjz+y05inljI3/uz6uX9hXCkBlV+wGJV9KpocL392bEu0eC6Lnh5GFi8O0PvMKpltVpZuHAhU6dOJSgoiP/973906NCBlYdKWbbnGI+Ma2/f3lmfIhr7Ef/0GHal53PZu6uZ+ulGABbfP4SOzVy3NLRwLy6Z3OfNm0diYiL+/v7MnDkTgJKSEl5+7zMmeRfSOiIML80MeOobqE5uGhDFJ3+noJRy6s5S6enpNGnShMaNbQm8S5curInfwcMrS+nUPJC7RrTTNb6uLYNJff1SViRkcsvnmxj/9t80D/Zhzp0DG/R5CdEwuOS0TGxsLFOmTDnt2tfzlrAj35tmA6+kR6f2p33EdzfjuzQDIP14ic6RnF9hYSFBQSdHwl6+/ny/NgGAeXcN1iuss4zoEEbyq5fwypVdOZpfysDX/2TqpxvIL26YpR5Ew+CSyT0qKgpf35Mjp4z8Uvbu3UeOV3MeHtuBHj16kJCQoGOE+urSwrao6uynME9drLRaFc/O241CY8OTo5yuRITBoHFj/ygSX57A9KGt+Xt/Nj1eXMpz83ZRapLCZML5ONdPUA0t33uMA1m2uuUmi5X+ry3HRzOz7LFxaJpGYGAgJ064X1eiSr4VR/O/c/LDTEFBQRQUFADw0E/b8VJlXBHXmvAgH50jOzcvDwNPXtKJHc+PZXSnML5cd5COzyzm8zUpWK2ys0Y4D5dL7kop7vluK9O/3ExBiYlbPrc1uA7w9sDfRRtc14XwIG82pubpHcZ5tWzZkpycHH5Zt495Ww/TJ7iIMQN66h1WjQT5ePLJtD5seHIUMSH+vPDbHlo/uZCluzNk+6RwCi6XDY/ml2K1KsosVo4VlrE6K5tHx3XAujuFwsJCAgMDKSwsxN+/4TTiuBjTBkbzxuIELFblfKdzCwth7lwMGRn09gvml8W/co2fxvB+AwgLC9M7ugsSHuTDioeHs/9YIWP+vYrps21bOOfdNchhTVPWrVvH1q1bbe8XHs7EiRPx8HC5H11Rz1xu5L7nSAGeFQdalFJ4exj4If4w4ZExbN++HYDt27fToUMHPcPU3dB2oQAkO1NhLKXgtdcgPBzuuovi515kSloEv5R14wUPxdAhrtvPtl14IKmvX8p3Fb0CJv53Dd2fX1Lrln8FBQVs3LiRO+64g5kzZ2K1Wtm1a5cjQhYNnMv9878j/Ti9VSLh3oX4YGaix1a2HW/Bi5uacH+bJLZu3UpwcDDXXHON3qHqqkOzQADWHsihXXigztFUeP11ePllKClBAYPu+QaA1R/cgo/5BGgKnnhC3xhraUCbpqS8dglzt6bz4I+2ln89Ixvx6c0X3/LParViNpsxGo2YTCYCA53k71M4NU2v+cG4uDgVHx9/wc+74X/rWXsgx/61t4cBgwZT+0fzyPgO9lG9gOjHF9A6xJ8/Hx6udyi2qZjwcCixbc98ZvQ/md37cj776XlGJld8H/j5wbFjEBCgY6COY7ZY+e+KA/z7j0QA/tE7gpcmdrUveNfU+vXr+fPPP/H09KRNmzZcffXVdRGucBGapm1WSsVVd1+NRu6apo0H/gMYgU+UUq9Xcc9k4HlAAduVUjdcUMQ1tPeobXeFLalr3DoomjuGtrYfuxcndWoeyN6jhbrGYLEqjhwvIem730nqdTm7G0eyLzSafWExTN3y+8nEDmAwwNy5MHWqfgE7kIfRwH2j23HH0Bie+GUnP29O4+fNaTw8tj0zhrU5rV6Oxar4Y+8xRnUMO+16SUkJCQkJ3Hffffj4+PDTTz+xY8cOunfvrsdvSbiQapO7pmlG4L/AGCAN2KRp2nyl1J5T7mkHPAEMUkrlaZpWJ6tiWYWl5BWb8PU08M+hbbh1SAxBPu55CrUmpvaP5sm5Oyk3W3XZN37dx+uJT83F02jAw+RPaf/rMXl4YrBauGTv37y47MPTn1BaCkeP1nucdc3Py4P/XNeTZy7rzC2fb+KtpYm8tTSR/1wbyxWxLdA0jZ83H+axOTu5Z2RbHhp7cr0oOTmZRo0a2TcIdOrUicOHD0tyF9WqyU98XyBJKZWslCoHvgcmnnHPHcB/lVJ5AEqpTMeGaePlYfs4W2KycvfItpLYq9G/dRMA9mUU6PL+wb6eGDQoMVkoxIjJw/b35Wkx89SKzzhrD4+PDzRvuN2yQgK8+e2ewax8ZDh+Xkbu+2GbvTDZawv3AfC/v5PZfvhkRc/g4GDS09MxmUwopUhJSSEkxL0qnYqLU5Pk3hI4fMrXaRXXTtUeaK9p2hpN09ZXTOM4XLCvJz/PGADAuLdXyX7iakQ3tY32/txbJ//WVuvNa7oTeMY/wF7mcq7Z+QctC6uotGi1wlVX1VN0+olq6s+eF8czd6at5d/UTzdSXHHKtdRk5Z+zN1NcbmsaEhERQadOnfjoo4/44IMPUErRu7f7dBUTF68myb2qTdJnZlUPoB0wHLge+ETTtLM2+WqaNl3TtHhN0+Kzsi6ujGpcdBPevb4nB7JOMPObLRf1Gu6isirml+tSdXn/PUcKyDlRfto1g1I8sPqbs2/284Onn24wi6k10bNVY7Y+MwZPo3Zac5C84nKem7fb/vWIESO4++67mTlzJldddZXscRc1UpPkngZEnvJ1BHBmB+Y0YJ5SyqSUSgESsCX70yilPlZKxSml4kJDQy82Zi7v0YKHx7Zn0a4MZi1z3xoyNTG4bQh59Vzgymyxctc3m+119acNiMLX04iPh4HbA47TFJMtiXt42P7v62tL7I8/Xq9xOoN//5F4VuXOMrOV33Yc4c+9x3SKSjQENRkCbALaaZoWA6QD1wFn7oT5FduI/QtN00KwTdMkOzLQM909sh37M4t4Z3kSMU39uapXRF2+ncu6rm8kq5OyKSozE1AP5RkO5RQz9M0VAMwc3oZHxnXAYlVsSMnlcG4xM568CR6+Bn791bZ42ry5bSrGjUbslZRSLNx5FINmK59hz/EKSk0WZn67hdWPjiAk0Hlr7QjnVe1Pu1LKrGna3cASbFshP1NK7dY07UUgXik1v+KxsZqm7QEswCNKqZxzv6pjvH1tLAkZhTzw43aaN/Klf+umdf2WLqey2cWu9Pw6//P59O9kXlqwF4Al9w+1H6TyMGp8fXs/ikor/oHxDmww2x1rQ9M0lj4wjOPF5ZSarJSaLZSaLJSZreQXl3P/D9vZfbSQYZLcxUWo0VBOKbUQWHjGtWdP+bUCHqz4r95omsaCe4fQ8ZlFXPfxev54cChtw+T03qmaVVRYXLjjaJ0l94JSE8Pf/IvcE+X0jWnC7Nv64u1x+kGdkADvemuX50qa+HtVeXK1sNQ2lWZ04mYrwrm5/HFOo0Fj5/PjABg9axXHCkp1jsi5VM7nzl5/sE5ef21SNt2fX0ruiXI+mtqbH/854KzELi6ctWJ91dlqvgnX4fLJHWzd67c9OwaAfq8up6BUOuScamJsi7O2N9WW2WJlxuzN3PDJBjRg89OjGVfRAUrUnqVim6+79gEWtdcgkjvYOtevfmwEAN2fX0qZWbrjVLqqp+1YQk5RmUNe72DOCdo+tYjFuzO4Z2Rbkl+7hKYy5eJQlorGH05Xrlm4jAaT3MHWtf73e2y9Nwe+9qd0xqkQW1FXfHva8WruPD+lFB+vOsCwN/8CYNkDQ3lobAenbsLtqqyVI3f5sxUXqUEld7B1rP/85jhyTpRzwycb9A7HKVQWVft5c9pFv0Z+sYkeLyzl1YX7GNimKQkvj3eeUsINUGVyl5G7uFgNLrkDjOgYzksTu7A+OYdn50ljAwBPo8bCnRkX9dy/92fR48WlFJSa+XQgkFMPAAAgAElEQVRaHN/e0V8WTetY5bSM5HZxsRrsOeapA6I5kFXEF2sP0iY0gGkDo/UOSVc39Y/i0zWpKKVqPI1isliZ8fVmlu/NxNOosfHJ0TS+yIYT4sKc3C0j2V1cnAY5cq/0/BVdGdimKc/N381yNz/KPb6brdrikfyabRVNyT5Bu6cWsXxvJg+MbkfiyxMksdcji0zLiFpq0Mkd4Ovb+hEa4M1tX8azKz1f73B006VFEADxqbnnvU8pxft/JTHirb8A+OPBYdw3ur0smtYz2S0jaqvBJ3eDQWPN4yMBuOzd1RzOrV3DYlfl52Wbgft2w6Fz3pNfbKLr80t4Y3ECQ9qFkPjyBNqGuV/NF2eglMy5i9pp8MkdwMvDwM7nxwIw5I0V5J1RhtZdhAV6syGl6pH7ykTboumJMguf39yH2bf106V7k7CxyFZIUUtu89Mb6OPJxidHAdDzpWWUlLvfIafKReVT9/+Xm63c/NlGpn22ER9PA1ufGcOIjnXSJVFcAJmWEbXVYHfLVCUsyIc/HhzG6Fkr6fb8Eva9NP60ZsQN3bD2oby5JIHk7CLahgVyIKuIUf9aCcDDY9tz14i2MrfuJGS3TN3Kzs7m559/tn+dl5fHiBEj6N+/v45ROZZbJXeAtmEB/PjPAUz+aB2XvbuaRfcNcZuEVlmCd01SNgt3ZjBrWSIAfz40jNahMrfuTKS2TN0KCQlhxowZAFitVmbNmkXHjh11jsqx3GfYeoq+MU14+9oe7Mso5L7vt+kdTr3xrPiU8vz8PcxalsjIjmHsf2WCJHYnZD+h6iYDDz2lpKTQpEkTGjU6qzOoS3O7kXulK3tGkJJdzH+W76dtWAD3jjqrK2CDs2KfrVG2Ar66tS9D2198q0NRtyrXRQxuOfyqX7t27aJr1656h+FwbpvcAR4Y056krCJmLUskJsSPy3u01DukOlFutnLLFxtZk5SDt4eBMrNVulY5OfuCqozc65TFYiEhIYFRo0bpHYrDuf244L3re9IuLIB7vtvGpmoO+LiipMxC2j+9iDVJOTw+oSML7rVVzUzIKNQ5MnE+ckK1fuzfv5/mzZsT0AB7+Lp9ctc0jUX3DcGgwTUfruNAVpHeITmEUoq3lyUyetYqAFY8PJwZw9rQOsT2TfxnxRSNcE4Vud1tFvv10lCnZECSOwAeRgO7XxgPwKh/rSSz0LVb9eWeKKfdU4t4e/l+xnQOZ/8rE4gJ8QdO7r74al2qfgGKask+97pnMplITk6mU6dOeodSJyS5V/D1MrLlGVurvr6vLLc3KHY1y/Zk0OulZZitiq9v68f/boqz75KpNKhNU3Lc9JSuq7DIbpk65+npyaOPPoqPj4/eodQJSe6naOLvxd+P2lr1dXt+KeVmq84R1VyZ2cJ1H6/njq8208jXk+3PjWVwu5Aq772ubysATpSZ6zNEcQFkt4yoLfnWOUNkEz9+u9u26DjkDddo1bf/WCEdnl7M+uQcnrqkE1ufHUOwr+c57+8d1RjAratkOruTzTpk5O5Im1JzWJOUrXcY9UKSexW6RQTzyU29OVZQxk2fbdQ7nHNSSvHWkgTG/Nu2aLrykeHcMbR1tYtwzYNtH0MX7jxa5zGKi1M5ppBpGccoN1v597JErvlwPTe6SftNSe7nMLpzM567vDOrk7J58ffdeodzlpyiMmKeWMh7K5KY0LUZSa9MIKqpf42eW5n8Z68/WJchilqwj9xlQbXW4lNzGfHWX3y86oDeodQrtz7EVJ1bBsWQlFnEZ6tTaRMSwI39o/QOCYAlu47yz6+3APDtHf0Y2KbqufXzuaJHC+ZvP+Lo0ISDmCyus97jrPJLTLz4224W7DxKqenkn6e/t3v0/5XkXo2Xr+zK/mNFPPXrLlo29mV4B/3K4ZaaLEz5ZAPxB/MICfDiz4eHE+Rz7rn187mqV0vmbz9C7olymkj7PKcjyb12DuUUc+m7f1NmslBuOX3dLDyoYe6OOZNMy1RD0zS+n96fxn6e3Pz5JvYcKdAljoSMQjo+s5j4g3k8e1ln4p8ec9GJHSA2wlYkafvh444KUTiQyeL8C/nOzMfTQFigN8Yqthu1auKnQ0T1T5J7DRgMGusrGn1c8s7fpB8vqbf3Vkrxf4v2Me5t26Lp34+O4NbBMbV+3cpm1z9vSav1awnHk5F77YQF+bD0gWE8OKY9AJ7Gk2sXbdykCqok9xry9jCyo6JV36DX/+R4cd0fAsquWDT9YOUBLuvenKRXJhDpwFGHh0FjwQ7ZMeOMJLnXntGgseaAbdvjuC7N8PawJXh36Qssyf0CBPl4sqFiBB/74jJKTXXXqm/hziPEvfwHAN9P7897N/RyeNeomwbYFogrmzEL52F2gfMVzi4ps5C/ErK4a3gb3ruhF/+9oTcAUTItI6oSHuTDsgeGAtDjhaX2LWvVsVqtfPTRR3z77bfnva/UZOGq/65h5jdbCQ/yZufzY+usPO/4rs0BOJrv2rV0GiKTC52OdkZKKXvRvAfHdgCwf+oNC/LWLa76JMn9IrQLD+TbO/pRZrYy8b3VNRr5btiwgZCQ829Z3Hu0gI7PLGbr4eO8cEUXNjw5msBaLJpWp2vLIIAGWerY1cm0TO18u/EQAD/PGGAvvpZXMZXayM89dodJcr9IA9uE8K9rerDrSAEP/bj9vPcWFBSwf/9+evXqVeXjSileWbCHCf/5G4DVj41g2sBoR4d8Fj8v207Y7zYervP3EhfmzO17ouaKysw8NXcXMSH+xEU3sV/PrSiW1+g8pTkaEtnnXguTekeQkn2C91Yk0TYsgJkj2gKw+WAeZquVfjG26ZTFixczevRoysvPXoTNKiyjzyu2ufUrY1vwr8mx9VrmNTTAm/XJOfX2fqJmzDJyv2i3fbEJgDl3Djzt+sGcYgCHr105K0nutfTwuA7szyzkjSUJRDX1Qyl44MdtNA3wZv0To0hMTMTf358WLVqQmpp62nN/236Ee77bCsBPMwbQ55RRRn2ZNjCKt5YmYrUqOeruRGRB9eLsyyhgQ0ouD45pf9bhvJTshtGIp6YkuTvAh1N6M/JfK7nr2634eBowWRR5J8o5ml/CoUOHSEhIYP/+/ZjNZsrKyvjp5zl8dTScnen5tGzky5IHhhLgrc9fxfAOYby1NJHk7BP2LWLz5s2z/6M0c+ZMADIyMliwYAHl5eU0atSIq6++Gm9v91iY0kO5jNwvmFKK8W/bpjbvrvgUfaqkTEnu4iIMbx9KSvYJew0Lo0Hj7/3ZTB49mtGjRwOQmprKkj9X8Ui8D5DPK1d21b1eTYdmgQCsS86xJ/fY2Fj69u3L3Llz7ff99ttvjBkzhujoaLZu3cqaNWsYOXKkLjG7A9ktc+E+X5MKwLy7BlX5KTQ5+0Q9R6Qv95h8qmN3f7eV7zedvihZXG5h8a4M+9dWq+LLtan2nSlrHh+pe2IH7F2aZq9LtV+LiorC19f3tPuys7OJirLF27p1a/bu3VtfIbolmZa5MPklJl78fQ+dmwfRI7JRlfccLzbh7+UeRcNARu4OcbSiHIFBO1mHG2B9cg5WqyK7qIy+ry4H4B+9R3BgUnen6o3ZITyQhGOF570nLCyMhIQEOnbsyJ49eygo0KfGjruQrZAX5qZPbTXav7uj/3nviw6pWVnshkBG7g7wy8xB/DJzIJPjIvH1NNpHBwp4/68ke2Kfc+cA3rqmh1MldoApFSdVz9dWcOLEiWzatImPP/6YsrIyjEb3GQHpQZJ7ze1My2d7Wj5PTuhIsN/5tzm2dZO6MiAjd4fp1DyI1yd157nLu7Bg5xE++TuFfRmFvLU0kVZN/Fh03xD8dVo0rc6AihOwiccK6doyuMp7QkJCmDp1KgA5OTns37+/3uJzR67Uv1dPVqvi8vdWA3D7kNbV3t9akru4WL5eRv7RO5J/9I5kQ0oOZSYrQ9uH6h3WebWu+Ki6Yl/mOZP7iRMn8Pf3RynFqlWriIuLq88Q3Y6U/K2ZDyu6K/1+z+DzbuWt7IUcHeIedWVAknudqjzE5Owqfyi+XJfKPaPaMWfOHFJTUykuLmbWrFkMHz6c8vJyNm2yHQ7p1KkTsbGxOkbc8Mm0TPWOF5fzxuIEerdqfM5BSaWCUhNgO7TnLiS5C8A2NbOu4qTqpEmTqrynf//zL1YJx5F97tW79qP1AHx+a59q77WXHnCTujIgC6qiwvX9WgFQXG7WORIBss+9OlsO5ZFwrJDnL+9co45kecW2kXtjf/eoKwOS3EWFuKjGgK0ujtCfzLmfm8WquPr9tQA1LrBX2VynsYzchbup7EI2d2u6voEIQObcz+fd5badWkvuH4qm1WxbcWVrTB9P99nCK8ldAPDTljS8jBoLdx5l6yEZvetNTqhWLaeojLeX72dgm6b20hk1kZzlXqUHQJK7wFZwafa6g5RbFKUmK/d9v01GjjqTP/+qXVUxHfO/my5sK+6BLPcqGgaS3AWwKTWPwtKTC6lZhWV8vCpZx4iEJPezbUzJ5VBuMa9f3e2CDwRKchdu6ct1qZSUn2z2XWKy8O6f+zmcW6xfUG5OFlRPZ7ZYmfzROgCu7RN5wc8/crwUJ6v6Ueckubu5wlITf+w5xpmppMxk5dGfd+gSk5BOTGd6c0kCAMsfGlbjRdQztWriPkXDQA4xub0dafmUW6x4GjX7aLF1qD/hgT6M7OjcZRMaMllQPSmrsIyPViUzqmMYbWpRG6ayX4G7kOTu5ga2acqyB4YSEuDN1sPHueXzTfx292CnLXLmLmTO/aRL37F1V3r3hp61ep02oe41cpdpGTenaRptwwJp5OdFWKCt7kZmYZnOUQkZuNusScoms7CMWZN74Od1cQMOpWx/mDFuVMsdapjcNU0br2lagqZpSZqmPX6e+/6haZrSNE1KBrqgsEAfwPYxWOjP0+hmK4BnMFms3PiJrQnHVT1bXvTrFFdsFmgW7OOQuFxFtcld0zQj8F9gAtAZuF7TtM5V3BcI3AtscHSQon5Udos/UnGaT+jL2Zq61LdXFthaOa58ZPhFL6LCyaJh7lR6AGo2cu8LJCmlkpVS5cD3wMQq7nsJeAModWB8oh5VJpO9R6WFnjOo7G/rjjLyS/libSqXdmtOVNPaTaccrywaJsn9LC2BU7s/p1Vcs9M0rScQqZT63YGxCZ3sSMvXOwQBeLjxyH3Mv1cC8K/JPWr9WnmVRcPcqCIk1Gy3TFXfYfblHk3TDMC/gZurfSFNmw5MB2jVqlXNIhT1bvcRSe7OwNNowGw28/nnn2OxWLBarXTq1IkRI0boHVqdWrEvk8JSM+/d0NMhhb4qNwgEuNkOsJr8btOAU4+ERQBHTvk6EOgK/FUxL9YMmK9p2hVKqfhTX0gp9THwMUBcXJzsB3BCIQFeZBeV6x2GADyMGkajkWnTpuHl5YXFYuHzzz+nXbt2RERE6B1enSg3W7nli01owGXdWzjkNVOybaUHajNv74pqMi2zCWinaVqMpmlewHXA/MoHlVL5SqkQpVS0UioaWA+cldiFa6iuXZmoP55GA5qm4eVlmyu2Wq1YLJZqnuXanp2/C4BVjzru08mBTPerCAk1GLkrpcyapt0NLAGMwGdKqd2apr0IxCul5p//FYQr6dYymL8SsvQOwy3lFJWRfrwEQ8UIs7jcQlJmISjFsl++JS8vlz59+jTYUXv68RK+33iYSb1aEtnEcY2s3bFoGNTwhKpSaiGw8Ixrz57j3uG1D0vopbJGtslidevdGnp4au5Olu/LxNvDNs+ce6Kcif9dQ6nJypOXjOXBuBb88MMPZGZmEhYWpnO0jjf8zRUAvHp1N4e+bmqOe47c5adXnKZ5xUGPHJl3r3fXxEXiaTRQVGYrv2yxKk6UWfAwaIzt3AwfHx+ioqJISkrSOVLHW7wrA5NF8clNcfZ/3BzFZFH209fuRJK7OI2cUtXPyI5hZyUhf4OZy7qEENnED5PJREpKCiEhITpFWDdKTRZmfL0ZX08jozuH18l71KbgmKtyr71BolqhFcnlWEEp3ZDF1fqkaRqPje/IQz9ttx+ZDzCYicmL54MP4lFK0aVLF9q3b69zpI712Bxbaek/Hx5WZ+/RJsy96sqAJHdxhsp9xUlZRYymbkZR4tzGdWnGywv2UlxegqdRY1Sv9tx99SS9w6ozh3OLmbftCDf2a0XzYN86e5+YEPcbucu0jKjSrnQ5yKQHg0Hj0XEd8PE0YNA07h/TTu+Q6tSQN2yLqM9d3qVOXr/cbCudHNm47v7hcFaS3EWVdkpy181lPVrgYTDg42FANeCjfvO3pQPw5a198fKom1R0vKL0QGVRPHciyV2cxcOgcTBH+qfqxWjQmDW5O/mlZvq9upy7vtlCcbm5+ie6kJJyC/d+v43Gfp4Ma193Hb9yK5J7IzcrGgaS3EUVOrcI0jsEtze2S3P2vTSe6/tGsmDnUTo/u4QP/krC0kC6eNz/w1YAltw/tE7fJ++ErSKkjNyFwHZKVejPx9PIa1d3Z/PTo+nSIoj/W5xAmycXsnzvMb1Dq5WU7BMs2X2M2wbHEBZUtw00Kmu5B/u6V0VIkOQuqlA5clcNecLXhTQN8GbBvUP440HbVsHbvown+vEF7Mtwvbr7SilGvPUXAE9M6Fjn71d5OtUdG59IchdniWpi2xNcUNKw5nldXduwAFJfv5TZt/UFYPzbfzPirb/ILHSd/jhzNqcB8O0d/fCoh/IWlRUh3ZEkd3GWsCDbQaasItdJGu5kSLtQkl+9hOcu70xK9gn6vrKc+77fSkm5c1eMLC438/DPO2ge7MPANvVzyjbJTStCgiR3UYXQAFtyzyyQEgTOymDQuGVQDPteGs81cRHM23aETs8u5uNVB5x20fXOr7cA8Ns9g+vtPVOyJbkLYdfIz7b4dDhPtkM6Ox9PI2/+owfxT4+mY7NAXl24jzZPLmTFvky9QztNUmYhKxOzuGt4G0IC6q+IV36Jye06MFWS5C7OUtmxZs8R11uwc1chAd4svn8ofzxo21p4yxebiH58AYnHCnWOzLaIOnrWKgAeHNuh3t+/daj71ZUBqS0jzqPylOq8efNITEzE39+fmTNn2h/fsGEDmzZtwmAw0K5dO8aMGaNXqKJC27BAUl+/lL8SMrn5802M/fcq2oUF8O0d/e1F4erbtxsOAfDzjAG67Fpxx4qQIMldnMfuipF7bGwsffv2Ze7cufbHUlJSSEhIYMaMGXh4eHDihPvObTqj4R3CSH71Ej5bk8LLC/bS55U/mNSrJa9c1c0hTadrqqjMzFO/7iImxJ+46Cb19r6nah3iniN3mZYRVWrZyJeyiqJLUVFR+PqeXngpPj6ewYMH4+FhGx/4+7vnD5AzMxg0bh/Smr0vjueqni2ZsyWdjs8s5rPVyVjradH1ti82ATDnzoH18n6nqlxYjpbkLsRJ1Z1SzcnJ4eDBg3zyySd88cUXpKen11Nk4kL5ehn597WxbHxqFG1C/Xnx9720fnIhqxLrtlfu3qMFbEjJ5cEx7XU5/l9QYis90DTA/UoPgEzLiHPoFhHM4t0Z53zcarVSWlrKbbfdxpEjR/j555+599577YuxwvmEBfqw/KHhJGQUMu7tVdz02UYA/nhwGG3Daj8vnZ+fz6+//kpRURGapvF7ug8Qzt0j2tb6tS9GZdGwxm5YNAxk5C7OofKHvdRU9cGYoKAgOnXqhKZptGzZEk3TKC6WrZOuoEMz26LrZzfHATB61kom/GcVOUW1O9dgMBgYO3Ysd911F16dR9PRI5PZN3TEoNPRf3cu9wuS3MU5hFcUdMo+xw98x44dSUlJAWxTNBaLBT8/v3qLT9TeyI7hHHj1Ep6Y0JG9Rwvp/fIfPDZnxzn/Qa9OYGAgzZs3J7/ExMuL92P1CqSFjtPdlRUhK89tuBuZlhFVqmzUnFlYxoY/F5GamkpxcTGzZs1i+PDh9OzZk3nz5vH+++9jNBq58sorZUrGBRkNGv8c1oapA6J4fM5Ofth0mB82HeaFKzoztX/0RY26p366gQCtjFa+5URERNRB1DWTfrwEAG+P+tsd5EwkuYsqVZ4iPJZfyqRJVffwvPrqq+szJFGH/Lw8eOf6njx9aScmf7SO5+bv4bn5e/jm9n4Mant6HZiv1qXSq1Vjulax6L4zLZ89abncEprOhAnj8fbWZ289QHKW+xYNA5mWcXuZhaXsSs/nUE4xx4vLMVts2x8r254lOMEJR1F/woJ8+OuRESy6bwgAN36ygejHF9gT5dZDebz42x5u/zL+rEJlVqviivdWMdLrACMG9KZTp071Hv+pkjLdO7nLyN3NPfrTDtYeyMbDaMBsUZisVjwNBny9bB9l8yqaHQj30ql5EKmvX8qyPce446t4Rv5rJd1bBlNusWK2KvKKy3nx9928dnV3+3M+WJnEYM+DDOvemoED639f+5mS3bhoGMjI3e1NjG2Bp9FAcbmFcosVpaDcYqWw1ERMiD8Pjqn/WiDCeYzpbFt0fXRcB3ak57Mvw/ZJrsxsZe7WdNYmZQO2nSlfLttMW48cCrKO8OGHH/Lhhx+yf/9+3WI/ml/qlk06KsnI3c1N6NacR+fsOOt6sK8nP0zvT7Cb7jQQJxkrTrp+vjaVrMKTu6dKTVbu/m4rfz0ynMkfrSPTGsgDjz1JkI/zfM9EN3XfHVyS3N1U3oly3lySwLcbbUWdPI0aJovtuLafl5Fvbu9f5/0thev4cl0qhaWms64XlZmZOXsziceKeP7yzk6V2MF9i4aBJHe3s/tIPrd/Gc/RfFuXpV6tGvHEJZ2Y8skGQOHjaeDd63va+6gKAXAgswiloHKWw8NgsE95rD6QA8C0gdE6RXdurSW5i4bMZLHy69Z0Hvn55PTLA6PbcfuQ1vhXNDIY3C6EFfsyeXBMe0Z1CtcrVOGkXp/UndcndUcpRbnFSkm5heJyC8XlZo4VlBEb2cipzjlUNnd311ruIMm9QcspKuPVhXuZs+VkUa+vbu3LkHYhZ/0gPn1pZ0Z2DOOGvq3qO0zhQjRNw9vDiLeHkUYV09ltwwL1DaoKJyq2aYa78dSiJPcGaEfacW75fBM5FdsYB7RpyhuTuhPZ5NyLSzEh/sS4aWlU0fBUbuFt7MYbAiS5NxDlZis/bT7MU3N32a89Nr4DNw+Mse9ZF8Jd5Ll5RUiQ5O7yMgtLefG3Pfy+4yhg27Y2+7a+DGjd1KnmQIWoT3nFtp09jd20IiRIcndZmw/mcfNnGyksMwMwokMor1zVjRaNfKt5phAN37EC224wfzf+1CrJ3YWUmS18t+EQz/+2x37t6Us7MaV/VL32xRTC2aVUlB5w50+vktxdQEZ+Kc/O28XSPccAW9u0r27tS1xUY7f+5hXiXA64edEwkOTutJRSbEzJ5abPNtobVY/v0owXJnZx6+1dQtTEATcv9wuS3J1OqcnC7HWpvLJwn/3ai1d04dq+kW7bdECIC3UwR1o+SnJ3EunHS3jyl52srOhI38jXk89u6UOvVo11jkwI12O2KpoHu/cnXEnuOlJKsfZADjd+ssF+7YoeLXjmss6EBurXwUaIhqC1mx/Kk+Sug5JyC5+uTuatpYn2a69d3Y1JvSLsHZCEELXTJsx9i4aBJPd6dTi3mId/2s6GlFzA1oT602l96BZxdi9KIUTtyMhd1CmlFCsTs7j58032a9f0juDxCR1pGiBTL0I4WpnZVjQsorH7NuoASe515kSZmY9XJfOf5SfbjL11TQ+ujG2Bh1GmXoSoK8ftpQfct2gYSHJ3uNTsE9z/wza2HT4OQGRjXz6aGifNL4SoJ7knpGgYSHJ3CKtV8ee+TG7/Kt5+bWr/KB4a255Gbv4NJkR9k4qQNm6T3EtLS5k/fz6ZmZlomsYVV1xBZGRkrV6zsNTE+ysO8MHKA/Zr71zfk0u7NXfrrutC6CmnyJbcg3xlWsYtLF68mLZt2zJ58mQsFgsm09nNfmvqQFYR93y7hT1HCwFoGxrA+1N60T7c+TrSCOFuDuXaTqe6+wDLLZJ7WVkZBw8eZOLEiQAYjUaMxgs7ym+1KpbuyWDG11vs124bHMO9o9oR7OYjBCGciRQNs3GL5J6Xl4efnx/z5s3j2LFjNG/enPHjx+PlVf2cXH6Jif/8kchna1Lt1z6c0ouxnZthcPORgRDOKEmKhgFuktytVitHjx5lwoQJREREsGjRIlavXs3IkSPP+ZzEY4Xc+fVmDmTZ6kJ3bhHEu9f3pE2oe596E8LZVdZyd3dukdyDgoIICgoiIiICgM6dO7NmzZqz7rNYFQt2HuXe77bar905rA0zR7Qh0EemXoRwBYWlZpkqxU2Se0BAAMHBwWRnZxMSEkJKSgohISH2x48Xl/PWkgS+3nDIfu2Tm+IY2TFMpl6EcEExbl56ANwkuQNMmDCBX375BYvFQuPGjZk4cSJ7jxZwx1fxpOWVABAb2Yi3r40lWr4xhHBpbULlZ7hGyV3TtPHAfwAj8IlS6vUzHn8QuB0wA1nArUqpgw6OtVaaNWvG9OnTMVuszNt2hE4v/Gl/7L5R7Zg+tDX+3m7zb50QDVprWRurPrlrmmYE/guMAdKATZqmzVdK7Tnltq1AnFKqWNO0O4E3gGvrIuCLlXuinNcW7uWnzWn2a5d3b8471/eUPqRCNBAWqwIguqmM3GsyVO0LJCmlkgE0TfsemAjYk7tSasUp968HpjgyyNrYdiiPm7/YZC8mpGFrMF1qsrAzPV8SuxANSH6J7ee8ib9rlB6YN28eiYmJ+Pv7M3PmTAB2797NypUrycrK4o477qBFixYX9do1KU/YEjh8ytdpFdfO5TZgUVUPaJo2XdO0eE3T4rOysmoe5UWyWBVXvr+W48UmKlO4AorLLVgV9ItpWucxCCHqT2VdGVdJ7rGxsUyZcvpYOCwsjMmTJxMVFVWr165Jcq9qaKuqvFHTpgBxwJtVPa6U+lgpFVBiS4wAABkGSURBVKeUigsNDa15lBfJaND4dFocAV5Gzhygexg0fog/zBdrUjiQVYTVWuVvSQjhQvLsFSFdYytkVFQUvr6+p10LDQ09bTffxarJtEwacGqFrQjgyJk3aZo2GngKGKaUKqt1ZA4yqlM4ix8YytRPN3LkeAllZitga6AL8Pxve067f0LXZkzuE0mvyMYEu8g3iBDCJq9i+lWqsdYsuW8C2mmaFgOkA9cBN5x6g6ZpPYGPgPFKqUyHR1lLEY39WHjvEO77fit/78+mxGTB19PInhfHYbIo9mUUsGR3Bp+vSWXRrgwW7cqwP7exnye3DY5hRMcwOoQHSqMNIZxYWp6taJj0Iq5BcldKmTVNuxtYgm0r5GdKqd2apr0IxCul5mObhgkAfqpYoDyklLqiDuO+YL5eRj6a2pv3/zrAv5Ym0KVFEJqm4eWh0T2iEd0jGvHIuI4A5BSVsflgHt9tPMSKhCzeWpp4WjPr/q2bMrV/FH1iGhMW6KPXb0kIcYbkLCk9UKlGG7uVUguBhWdce/aUX492cFx1QtM07hrRlrioxuct5N80wJuxXZoxtkszwLYweyCriL8SMvl0dQrrk3NYn5xjv9+gwa2DY7ikW3O6tAjC2+PCKk4KIRwjSSpC2mlK6bOQGBcXp+Lj46u/0UkVlprYfjifOVvSmLs1/azHOzcP4uZB0Qxo3ZSIxr6y5VKIetDv1T84VlBG6uuX6h1KjcyZM4fU1FSKi4vx9/dn+PDh+Pr6smjRIoqLi/Hx8aFZs2an7ajRNG2zUiquuteW5O4gSikO5RazJimHL9amkHjs7BHE5LgIroxtSY/IRnIaVog6EP34AjyNGvtfuUTvUOpMTZO7ZBgH0TSNqKb+RDX154Z+rQDsB6UWbD/KF+tS+TE+jR/jT56QbdnIl1sHxzCsfQitQwKkSJkQDiCnU20kudchH08jfaKb0Ce6Cc9P7AJARn4pG1Jy+Hr9QTal5vHS73t46ZTnjOkcznV9Iukd1Vi2cwlxEZyx58KpJ1EjB13JV+tSmX1bX3w86y4FS3KvZ82CfZgY25KJsbZDviaLlYSMQpbuzuCzNaks23OMZXuO2e8P9PHgtkExjO4cTsdmshVTiOq0CXO+kXv37j0oDIwifuUS3qjoF2G2KKjDozSS3HXmaTTQtWUwXVsG8+DYDoCtyNmWg3l8v+kQf+zN5O3l+3l7+X77c/rFNGFK/yj6xjQhPEi2YgoBtnUvgJgQ5xm5myxWvlybyssL9hKglTG64sO4p1EjoI4bAElyd0JN/L0Y3Tmc0Z3DAVtz7gNZRaxMzOKz1SlsSMllQ0ruac+5dVA0l3RrTteWwfh4ylZM4X6KyswAhAV66xwJlJRb+M/yRD5cmWy/duqKWlA9dHaT5O4CDAaNduGBtAsP5PYhrQHbN/L2w8eZuzWdnzen8dma1NOaeHdoFsgtA6MZ2CaEyCayFVM0fJWVX893hqWu5ZeYePG33czZYtse7etpxGSxYLaeXpCrPgqbSXJ3UQHeHgxqG8KgtiG8dU0PlFKk5ZWw9kA2n69JZV9GIY//svO051zdsyWTekfQI7IRAbIVUzQwuZVFw/zrvyZUVmEZD/24jVX7swEY3SmM/5vUnbVJOTz5605bTSvL/7d35/FRVWcDx38n+x5CFghmg4QQIkIIYUdZFEXWV0UFRcSNKta6dNP6qq21r61vXar11WJFsLigCIhWBCuIbAFC2AnEJIQkbEkghECYMJk57x93mCQQyBCSGZg838+Hz2eWe2fOPcw8uXPuc55Tt32kE35dyDfcTSiliG0fwJ3t47izb10q5s4Dx/lm+0E+WLOXBZv3s6DehKvoUD8eGNKZocmRJEZKKqa4sp0p9+vMM/fio9U8OCeLPYerALirXxzPjE4h2DbsMi6tE9clR9LrxWX41Pt6RYe2/rUyCe5uzM/bkz7xYfSJD+O5sakAHD5uYsPeo3yUuY/MvUd56d85vPTvHPs+13ePYnLfOPrEhxF2hdTEFgKMzzZAgE/rX3Pac6iKSTPX2atQ/mJEEjOGJzV6vWvb/mMM9S6gi381VnMNd/htpX2NAtJatY0S3NuYDiF+jOvViXG9jNVdai1Wdh+q4vucw7y/ei/f55TyfU5dYc9AH0/uH9KZG1M7khIdjLekYorL1N5yoyJka15f2rSvgtveWWu//4fxqdzdP/68Kcqna63c8/4GoAuzXxxNrVUzb2MxQ5Nbfz0LCe5tnFe9VMzHb0gG4Fj1abKLKpi3sZilOw/z1vI83lqeZ98nIz6MewbG079zOB2d8PNSCEfkl7VO0TCtNT/sKeO+2Rvtj705uTdjr4lucijzmQXbAFj92+EopfD2VEwZcGkrLDlKgrs4R7sAH0akdGBESl0qZkH5SVb9ZKRiZu2rIGtfRYN9pg1MYEyvaK6RVEzhIi1dEdJq1Xy5dT9Pzttqf+zD+/txbdeIc34daK05bqqlrMpE6fEaDleZ2FdezRfZ+5ncL5aYsIAWbZsjJLiLJnl4KJKigkiKCuK+wZ0BOFlTy9aSYyzafIDPsoqZva6Q2esK7ft0tW07OCmcuPYBkoopWt2+Iy1Ty91ssfLh2kL+aLsWpYCFjw4mLbbdOdtWmczc9PqPlFbVoJSxSIiHUlitmurTFq6ODubFCT1apF0XS4K7aJZAXy8GJUYwKDGCVyb2tKdiris4wpy1hew8cJzfLWyYijkhrRO3pcfQO66dPZtAiJZi1dCpXfOHCU+dtvDm8p9454d8wJgM9fFD/UmKCj7vPr5ennh4KPuynWZLXb6jv7cn70/r57LrVBLcRYs4k4oZ2z6AOzKMJXdrai3ssqdiFvLllgN8uaVu+d2oYF8eGNKZYd2iSIoKwvMKTMWsXxBqxowZAMyfP5/yciPf2WQy4efnx8MPP+zKZrYZzSkaVnnKzEtf7+LzTUbF1h6dQvjH1AyuauffxJ7GmfrfJqVx9z/XYzJb7Y/7e3vy+A1dXXpNSoK7aDW+Xp70jgujd1wYz44xUjFLq0xkFVbwUeY+1uQf4eUlu3l5yW77PsO6RTK5XxwZ8WGEB7l+GnlT0tLS6NevHwsXLrQ/NnHiRPvtpUuX4ucnF52d5WKCe1lVDb/6fCsrc8sAGJESxSsTexJxEZ+707VWPlpfhMlsxdtTYbYYZ/ARthMXV5LgLpwqKtiP0ddEM/qaaMBIxcw9fILlu41UzB/2lPHDnjL79v7entw/JIGbru5ISseQy27h4/j4eI4dO9boc1prdu3axdSpU53cqrYrMbLpipDFR6uZ/mEWOYeMiUd39o3lv8d0v+ihwsyCI0yamWl/jSXbD2K21OLn7cFrd/RyedqwBHfhUl6eHqR2CiG1Uwg/H9EVgMpqM9nFFXy2sZglOw7x9op83l6Rb9+nd1w77h2YQP8u7YkObfqns6sUFRURGBhIeHi4q5vi9kxmY6y70wWGUnIPVzF5ZiZHbGUKHhuRxKPnmXh0IZWnzNz+7lr7amurfjOc2PYBXNs1gsc+3sz1KR3om9C+mUfSciS4i8tOaIA3w7tFMbxbFGCkpO09cpLVP5Uza/VeNhcdY3PRlgb7TOkfx7henegZ0w5/J8xQdMT27dvp0cM1mRJtzZmiYY0tcJNdVMGt/1c38ej341K5e0D8RZ9Za635ZEMRv1u4A4A/3dKDu/rF2TPBxlwTjfkOK9c5YYKSIyS4i8ueh4ciMTKIxMgg7h2UAED16Vq2lVTy5Zb9fLKhmLnri5i7vsi+T5eIQO4b0pkhSREkhDs/FdNqtbJ7926mT5/u1Pdtq87UlTlTbVFrzQ+5Zdz3Qd3Eo79NSmNcz07NqqFUUlHNkL+sAIyhnwWPDCY0oOEwjlKKW9JjmnsILU6Cu7giBfh4MaBLOAO6hPPyrUYq5oFKE5n5R5izrpBtJZU8t2hHg33G9YpmYp9Yese1a/V62gUFBURERBASEtKq7yMMFbahllB/LxZt3s8T8+p+2c25vx/XNTLxyBG1Fisv/TuH2WsLAfj4wf4MSopokTa3NnVm9RJny8jI0FlZWS55b9E21NRayDlYxbc7DjJrTSGna60Nno8M8uX+IZ0ZnhJJ16jgZqVifvHFFxQWFlJdXU1gYCDDhg0jPT2dRYsWERMTQ0ZGk4vUixawcPN+npzXcKhu4YxB9I4La/Zrbik+xn+9vQYw5mi8MrEnvl6uH/JTSm3SWjf5wZLgLtqUsqoasgqP8vGGIlbZam/Xd23XCO7uH0dGQvuLSokTrmEyW3hreR5vrzBqH0UG+fLJ9AtPPGrKyZpa7p21wV5i4/tfDr2sFt2W4C6EAyxWTe7hKlbsKWXW6r2Unzjd4HkfLw8eGJzATT2iSY2+cCrmmVm6Ow9UMqBLeKMX90TLOG4yJh59lmVMPAr196bylJnCP4+5pNddvGU/v/jU+AXw9M0p/Oy6Lpdd6QwJ7kI0U+UpM1uKjzF/UzFfbT14zvM9Y0KZOiCebtHBFJSdZHPRMbL2HSW/9CQaTa1F86ubuvHw0EQXtN69lVXV8Ov5W+1zIYZ3i+R/b+/FtFkb2HHgeLOD++HjJq57ZQU1tVYig3z59olrL9tJdBLchWghWmsKj1SzOq+cD1bvpaC8rkCVv7cnp8yWBtsH+njy6fSBXBMT6uymuq2Simqm/2sTuw4cB+DOjBieHZtqvzDe44Wl9LL+RFrIqQalIJYtW0Zubi6enp60b9+eCRMmNJgxbLVqXvsul7/bhnX+OTXDvjD95crR4C7ZMkI0QSlF54hAOkcEco+tFnd1TS0vfLWTrxs5sz952kKgr+svvLmDnw5Xcdd76yk7UQPAo8OTeGzEuROPTtTUcsi/I1OmDG5QCiIxMZEbbrgBDw8PvvvuO1atWsXIkSMByDl4nJv/tgowfgG8M6WPW5WrluAuRDME+Hrxym096Rjix3urChoUjQIY8epKAJIig/jljclcmxwpi5JfhLMnHr0wLpUpTUw8Co2Mxt+/4QzVxMS6obGYmBhycnIwmS3M+Cib5buNFceWPH4t3aPdL2VVPm1CNJNSil/e2I2oYF/+9E0OJrOVQB9PXhh/NfHtA3h3ZT4r9pTxyEfZ9n0m941lysB4UqNDLrsLda6mtWZlbhnTHJx4VHrchMlspV2gMTSTFHXhjJYtW7ZAWAwpz30LwM+HJ/LUyG5uuzC8BHchLtE9AxOIDPbliXlbqKm1MiIlioggX/p3MWrKlJ+oYdnOw7y8JIdPNhbzycZiAMICvHn65hRGpna0z6xsi6xWzVfbDvD4p3V56rPv68vQ5MgL/gG8/R/rOHjMhMa4bvh5VglZuSX0tVRTUlHdYPWjpf9ZwY+55Sw5FYyPlyerfjOcDiHuXa1TgrsQLWBUj2jmBPiwOq/8nPz4iCBf7uofx13947BaNbsOHmfO2kI+31TCb7/Yzm+/MBY1Gdm9Az8b2oW02HbnXXDZnZgtVuZm7uMPX+2yP7ZgxiDSHZx4NCIlirnr9mG2LZShgdKqGk77WLHaRsm01rzx2Xfk7drGsppk3pzUm/FpV7X0oVyWJFtGCBeqMplZmVvGX5fuofBIdYPnnr45hfG9Ol2w0qGzZWZmkp1tDDOlp6czYMCAi34Nk9nC35fn2TNUIoJ8+OShAXTtcHETj/YdOcmNr/9ITb2Zx+HeZiYE7+X53zxJftkJpr6+mH7exRyI6s/7Dw5xi+sekgopxBVGa83e8pN8llXMuysLGjyXFtuOx2/oysAu4S7L6CgtLWX+/Pk89NBDeHp6MnfuXMaMGeNwSePjJjN/+jqHeVnGsFT36GDem5pxSYtH3/bOWjbZZpIO9S6gk1cVAR4WzB4+rKvuQE+vQ0QFeRMabNR5j4mJYezYsc1+v8uBBHchrnAms4X1e4/y1vc/2afCnzH92i7c0TeWxMhAp12Y3blzJ/n5+YwfPx6AlStX4uXlxeDBgy+4X/kJY+LRit3GxKOhyZH89fZeRAZf+iShZTsP8eRnWzhZY8Hf25NHhiXy2ne5AEwdGM/zY1PdbohL8tyFuML5eXsyNDmSobb64AcrT/H11oO8vCSHmasKmLnKOLuPDfPn16NSGNYtslWrXUZFRbF8+XKqq6vx9vYmLy+P6Ojo825fUlHNw//axA7bxKPb+8Tw3LjUFm3jiJQovD08AAsabQ/sZxbQaMvkzF2IK1CtxcrWkkreW1XAtzsONXju1vSruG9QZ67uFNLiaX7Z2dls3LgRHx8fIiMj8fLyYtSoUQ22ySs1Jh6VVhkTj2YMS+QX13dtteGkP3y1kw/WFALwP7f0YHK9BTTckZy5C+HGvDw96BMfRp/4PoBRz/y7nMP8ZcluFmTvZ0H2fgACfDx5ZnR3Rl3dsUWGQdLT06kNS2DKP9fzQqiF5A514+2biyq4pd7Eo+fHdueegQmtvpbog0M62+v5hPq3bp3+K4mcuQvhZrTW7D5UxUeZ+xqsTgVwXdcIZgxPok98WLOCbuGhI4x/NwtLzUkmBObz3089ysaSk9w7a4N9mzfuTGN8r+ateCSaJhdUhRCAUZ98dV45ry7bY1/U+YynRiZzS++rHBqfPl1r5Zk/v4nVXIMVRbYljuLauvRFRyYeiUsnwV0I0ah9R06yMHs/b3z/U4PHU6NDeHJkMkOSIhpdZPyZBdtYuHn/OXV0Lmbikbh0MuYuhGhUfHggT4xM5omRyZyutZJVeJS/r8hjbf4RHvqw7oRr2qAEJveLI7lDEAuz97No84FzAruvlwfhbbh0wuVMztyFEHalx018s/0gLy/Z3WDmpwIaixRKwa29r+LVO9Kc1sa2Ts7chRAXLSrEj2mDOzNtcGcsVs32/ZXMXrMXHy8PokP9MJmtnLZYqTFbqam1YrZYGJIU6epmi0ZIcBdCNMrTQ5EW2443JvV2dVNEM7jXvFwhhBCABHchhHBLEtyFEMINSXAXQgg3JMFdCCHckAR3IYRwQxLchRDCDUlwF0IINyTBXQgh3JBDwV0pNUoptUcplaeUerqR532VUvNsz69XSiW0dEOFEEI4rsngrpTyBN4GbgZSgclKqdSzNnsAqNBaJwGvA39p6YYKIYRwnCNn7v2APK11gdb6NPApMOGsbSYAc2y35wPXK6nYL4QQLuNIcL8KKK53v8T2WKPbaK1rgUogHCGEEC7hSFXIxs7Azy7t7Mg2KKWmA9Ntd08opfZc4H0jgHIH2ueu2vrxg/RBWz9+kD5o7PjjHdnRkeBeAsTWux8DHDjPNiVKKS8gFDh69gtprWcCMx1pmFIqy5GC9O6qrR8/SB+09eMH6YNLOX5HhmU2Al2VUp2VUj7AJGDxWdssBu613Z4ILNeuWuJJCCFE02fuWutapdTPgaWAJzBLa71TKfUikKW1Xgy8D/xLKZWHccY+qTUbLYQQ4sIcWolJa/0N8M1Zjz1f77YJuL1lm+bY8I0ba+vHD9IHbf34Qfqg2cfvsgWyhRBCtB4pPyCEEG7IpcFdyho41AdPKaV2KaW2KaW+V0o5lAZ1JWmqD+ptN1EppZVSbpU94cjxK6XusH0OdiqlPnZ2G1ubA9+DOKXUCqXUZtt3YbQr2tkalFKzlFKlSqkd53leKaXetPXNNqVUukMvrLV2yT+Mi7P5QBfAB9gKpJ61zQzgXdvtScA8V7XXhX0wHAiw3X6kLfaBbbtg4EcgE8hwdbud/BnoCmwGwmz3o1zdbhf0wUzgEdvtVKDQ1e1uweO/DkgHdpzn+dHAEoz5RAOA9Y68rivP3KWsgQN9oLVeobWutt3NxJhn4E4c+RwA/BF4BTA5s3FO4MjxPwS8rbWuANBalzq5ja3NkT7QQIjtdijnzrW5Ymmtf6SReUH1TAA+1IZMoJ1SKrqp13VlcJeyBo71QX0PYPwFdydN9oFSqjcQq7X+2pkNcxJHPgPJQLJSao1SKlMpNcpprXMOR/rg98AUpVQJRubeY85p2mXhYuME4GAqZCtpsbIGVzCHj08pNQXIAIa2aouc74J9oJTywKg0Os1ZDXIyRz4DXhhDM8MwfrmtUkr10Fofa+W2OYsjfTAZmK21flUpNRBjXk0PrbW19Zvncs2Kg648c7+YsgZcqKzBFcyRPkApdQPwLDBea13jpLY5S1N9EAz0AH5QShVijDkudqOLqo5+D77UWpu11nuBPRjB3l040gcPAJ8BaK3XAX4YdVfaAofixNlcGdylrIEDfWAbkvgHRmB3t7FWaKIPtNaVWusIrXWC1joB47rDeK11lmua2+Ic+R4swriwjlIqAmOYpsCprWxdjvRBEXA9gFKqO0ZwL3NqK11nMTDVljUzAKjUWh9sci8XXyUeDeRiXCl/1vbYixhfXjD+Az8H8oANQBdXX9l2QR/8BzgMbLH9W+zqNju7D87a9gfcKFvGwc+AAl4DdgHbgUmubrML+iAVWIORSbMFuNHVbW7BY/8EOAiYMc7SHwAeBh6u9///tq1vtjv6+ZcZqkII4YZkhqoQQrghCe5CCOGGJLgLIYQbkuAuhBBuSIK7EEK4IQnuQgjhhiS4CyGEG5LgLoQQbuj/AXyJ61JUkD7rAAAAAElFTkSuQmCC\n",
"text/plain": "<matplotlib.figure.Figure at 0x7fbaae884550>"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Improvement optimization"
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2019-02-08T04:19:50.225173Z",
"start_time": "2019-02-08T04:19:49.870258Z"
},
"code_folding": [
0,
14,
25,
30,
40,
64
],
"trusted": true
},
"cell_type": "code",
"source": "# Flip, Or, Two insert OPT\ndef flip_reverse(path):\n for interval in range(1, len(path)-1):\n for i in range(1, len(path)-1-interval):\n j = i + interval\n sc1 = score(path, i-1, j+1)\n rev = path[i:j+1][::-1]\n copy = np.concatenate([path[:i], rev, path[j+1:]])\n sc2 = score(copy, i-1, j+1)\n if sc1 > sc2:\n path = copy.copy()\n print('Improved to: ', score(path, 0, len(path)-1))\n return path\n\ndef flip_reverse_func(path):\n while True:\n sc1 = score(path, 0, num)\n path = flip_reverse(path)\n sc2 = score(path, 0, num)\n if sc1 == sc2:\n break\n return path\n\n# Or-opt function: Move one city to other place to get better score\n\ndef longest(path):\n sc_arr = - np.array([np.sum(np.abs(np.diff(np.array(XY[path[i-1: i+1]])))) for i in range(1, len(path)-1)])\n arg = sc_arr.argsort() \n return arg\n\ndef closest_n(path, n, index):\n copy = path[1:-1].copy()\n if path[index] in copy:\n copy = np.delete(copy, np.where(copy==path[index]))\n d = np.array([np.abs(XY[index] - XY[i]) for i in copy])\n arg = d.argsort()\n closest_index = np.array([copy[i] for i in arg])[:n]\n return closest_index\n\n#@jit('i8[:](i8[:])', parallel=True)\ndef or_opt(path):\n lon = longest(path)\n #print('Initial Score: ', score(path, 0, num))\n for i in lon:\n sc3 = np.inf\n c5 = closest_n(path, 10, path[i])\n for c in c5:\n j = np.where(path==c)[0][0]\n copy = np.delete(path, i)\n copy = np.insert(copy, j, path[i])\n if i >= j:\n sc1 = score(path, j-1, i+1)\n sc2 = score(copy, j-1, i+1)\n else:\n sc1 = score(path, i-1, j+1)\n sc2 = score(copy, i-1, j+1)\n if sc1 > sc2:\n if sc3 > sc2:\n sc3 = sc2\n path = copy.copy()\n print('Improved to: ', score(path, 0, len(path)-1))\n return path\n\n# Apply Or-opt to the previous path\ndef or_opt_func(path):\n while True:\n sc1 = score(path, 0, num)\n path = or_opt(path)\n sc2 = score(path, 0, num)\n if sc1 == sc2:\n break\n return path\n\ndef two_insert(path):\n for i in range(1, len(path)-2):\n sc = score(path, 0, num)\n copy = path.copy()\n if type(copy) != list:\n copy = copy.tolist()\n copy.remove(path[i])\n copy.remove(path[i+1])\n sc_best = np.inf\n best_path = path\n for j in range(1, len(copy)):\n p0 = copy[:j] + [path[i]] + [path[i+1]] + copy[j:]\n p1 = copy[:j] + [path[i+1]] + [path[i]] + copy[j:]\n sc0 = score(p0, 0, num)\n sc1 = score(p1, 0, num)\n if sc0 < sc:\n if sc0 < sc_best:\n best_path = p0\n sc_best = sc0\n if sc1 < sc_best:\n best_path = p1\n sc_best = sc1\n print('Improved to: ', score(path, 0, num))\n path = best_path \n return path\n\ndef two_insert_func(path):\n #print('Initial Score:', score(path, 0, num), len(path))\n while True:\n sc1 = score(path, 0, num)\n path = two_insert(path)\n sc2 = score(path, 0, num)\n if sc1 == sc2:\n break\n return path\n\ndef flip_or_two_func(path):\n while True:\n sc1 = score(path, 0, num)\n path = flip_reverse_func(path)\n path = or_opt_func(path)\n path = two_insert_func(path)\n sc2 = score(path, 0, num)\n if sc1 == sc2:\n break\n return np.array(path) ",
"execution_count": 71,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2019-02-08T04:19:50.421069Z",
"start_time": "2019-02-08T04:19:50.226803Z"
},
"run_control": {
"marked": true
},
"trusted": true
},
"cell_type": "code",
"source": "path = flip_or_two_func(path)\nplot_path(path)\nmyscore = score(path, 0, num)",
"execution_count": 72,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "Improved to: 4.3079877140949705\nImproved to: 4.299859314630211\nImproved to: 4.15474889063857\nImproved to: 3.8817465714343715\nImproved to: 3.881746571434371\nImproved to: 3.820502850180153\nTotal Score: 3.820502850180153\n"
},
{
"data": {
"image/png": "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\n",
"text/plain": "<matplotlib.figure.Figure at 0x7fbab2287d68>"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2019-02-08T04:19:50.457908Z",
"start_time": "2019-02-08T04:19:50.422466Z"
},
"code_folding": [
0
],
"run_control": {
"marked": false
},
"trusted": true
},
"cell_type": "code",
"source": "# Opt-n function: Optimize a sequence of cities, n is the number of continuous cities through the path\n#@jit('i8[:](i8[:], i4)')\ndef opt_n(path, n):\n for i in tqdm(range(1, len(path)-n)):\n perm = np.array(path[i:i+n])\n combs = np.array(list(permutations(perm)))\n sc1 = score(path, i-1, i+n+1)\n sc3 = np.inf\n for comb in combs:\n copy = np.concatenate([path[:i], comb, path[i+n:]])\n sc2 = score(copy, i-1, i+n+1)\n if sc1 > sc2:\n if sc3 > sc2:\n sc3 = sc2\n path = copy.copy()\n print('Improved to: ', score(path, 0, len(path)-1))\n return path\n\n# Apply Opt-n to the previous path: n=6(0.9s), n=7 (4.16s), n=8 (25s/43s@100/4m@500), n=9 (3m26s), n=10 (36m)\ndef opt_n_func(path, n):\n while True:\n sc1 = score(path, 0, num)\n path = opt_n(path, n)\n sc2 = score(path, 0, num)\n if sc1 > sc2:\n path = flip_reverse_func(path)\n path = or_opt_func(path)\n if sc1 == sc2:\n break\n return np.array(path)",
"execution_count": 73,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2019-02-08T04:19:50.779914Z",
"start_time": "2019-02-08T04:19:50.459573Z"
},
"run_control": {
"marked": true
},
"trusted": true
},
"cell_type": "code",
"source": "path = opt_n_func(path, 6)\nplot_path(path)\nmyscore = score(path, 0, num)",
"execution_count": 74,
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "00879d1efa644a9fbf79583ab0658220",
"version_major": 2,
"version_minor": 0
},
"text/plain": "HBox(children=(IntProgress(value=0, max=14), HTML(value='')))"
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": "\nTotal Score: 3.820502850180153\n"
},
{
"data": {
"image/png": "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\n",
"text/plain": "<matplotlib.figure.Figure at 0x7fbaae70e4a8>"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Pyconcorde: TSP \nComparison with Pyconcorde Library"
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2019-02-08T04:19:50.925808Z",
"start_time": "2019-02-08T04:19:50.781088Z"
},
"code_folding": [],
"run_control": {
"marked": true
},
"trusted": true
},
"cell_type": "code",
"source": "solver = TSPSolver.from_data(X*10**6, Y*10**6, norm='EUC_2D')\nsolution = solver.solve(verbose=True, random_seed=seed)\nprint('Tour Found:', solution.found_tour)\npath2 = np.concatenate([solution.tour, [0]])\nplot_path(path2)\nconscore = score(path2, 0, num)",
"execution_count": 75,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "Tour Found: True\nTotal Score: 3.820502850180153\n"
},
{
"data": {
"image/png": "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\n",
"text/plain": "<matplotlib.figure.Figure at 0x7fbaae66d898>"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2019-02-08T04:19:50.929857Z",
"start_time": "2019-02-08T04:19:50.927058Z"
},
"run_control": {
"marked": true
},
"trusted": true
},
"cell_type": "code",
"source": "print('Score:', np.round(conscore / myscore*100, 4), '%')",
"execution_count": 76,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "Score: 100.0 %\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"_draft": {
"nbviewer_url": "https://gist.github.com/b7652b496099de052eef89e006c27d82"
},
"gist": {
"id": "b7652b496099de052eef89e006c27d82",
"data": {
"description": "TSP/MST_Euler.ipynb",
"public": true
}
},
"kernelspec": {
"name": "py36",
"display_name": "py36",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.6.4",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment