{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Extending Hastings' thresholding algorithm\n", "\n", "This was initially proposed in https://arxiv.org/pdf/1905.07047.pdf as a classical competitor to QAOA for MaxCut.\n", "\n", "It works on D-regular, N-node graphs as follows:\n", "* Randomly assign a spin (±1) to each node.\n", "* For each spin, if at least T / D neighbors have the same spin, flip the spin.\n", "* The number of cuts in MaxCut is the number of edges ($0\\le K \\le DN/2$) that have nodes with different spins. \n", "\n", "\n", "Hastings defines performance $-0.5 \\le \\delta \\le 0.5$ compared to a random partitioning of equal size, which on average would cut half the edges:\n", "$$\n", "K = (1/2 + \\delta)(DN/2)\n", "$$\n", "\n", "Optimizing threshold T for each D almost always outperforms 1-step QAOA on D-regular triangle-free graphs, but with the same scaling $\\delta \\propto D^{-0.5}$.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Goal 1: Reproduce Hastings' numerical performance results for MaxCut.\n", "\n", "This was completed on July 7 2020.\n", "\n", "Hastings analyzes a subgraph of node $i$ and $j$ and their other neighbors. He defines the following functions:\n", "* $q(k)$ decides whether or not to \"flip the spin\". Here, $k$ is the number of neighbors with same spin. $q(k) = -1$ if $k \\ge T$, otherwise $+1$.\n", "* $P_n(k)$ is the binomial probability distribution ${n \\choose k}2^{-n}$, given $n$ neighbors not including $j$. In Hastings' analysis, $n=D-1$.\n", "\n", "Hastings computes the correlation function $\\langle Z_i Z_j \\rangle$, where $Z_l$ is the spin $\\pm 1$ of node $l$. $\\langle Z_i Z_j \\rangle$ is the chance the nodes have the same spin (+1), subtracting the chance the nodes have opposite spin (-1). Thus, $1/2(1 - \\langle Z_i Z_j \\rangle)$ is 1 if the nodes have opposite spin, and 0 if the nodes have the same spin.\n", "\n", "Since all subgraphs are identical, one can use linearity of expectation to count the number of edges to cut:\n", "$$\n", "K = (DN/2)(1/2)(1 - \\langle Z_i Z_j \\rangle)\n", "$$\n", "\n", "So, the performance $\\delta = (-1/2)\\langle Z_i Z_j \\rangle$.\n", "\n", "Hastings conducts the analysis for triangle-free graphs. Nodes $i$ and $j$ agree in spin with 1/2 chance. The below formulas show how $Z_i$ and $Z_j$ will update.\n", "* If they do agree, $Z_i = Z_j = (\\sum_{k=0}^{d-1} P_{d-1}(k) q(k+1))$. \n", "* If not, $Z_i = - Z_j = (\\sum_{k=0}^{d-1} P_{d-1}(k) q(k))$\n", "\n", "So, we can compute $\\langle Z_i Z_j \\rangle$:\n", "$$\n", "\\langle Z_i Z_j \\rangle = 1/2 (\\sum_{k=0}^{d-1} P_{d-1}(k) q(k+1))^2 - 1/2 (\\sum_{k=0}^{d-1} P_{d-1}(k) q(k))^2\n", "$$\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Code" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from scipy.special import binom" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "def qsimple(k, threshold):\n", " return -1 if k >= threshold else 1\n", "\n", "def q(k, threshold):\n", " \"\"\"Like qsimple above, but also works for numpy arrays\"\"\"\n", " return (1-(k >= threshold)*2)\n", "\n", "def test_qs():\n", " \"\"\"Test q and qsimple methods\"\"\"\n", " assert q(2, 3) == 1 == qsimple(2, 3), \"testing q less than threshold\"\n", " assert q(3, 3) == -1 == qsimple(3, 3), \"testing q equal to threshold\"\n", " assert q(3, 2) == -1 == qsimple(3, 2), \"testing q higher than threshold\"\n", " assert np.all(q(np.array([2,3,4]), 3) == np.array([1, -1, -1])), \"list of q\"\n", " assert np.all(q(np.array([2,3,4]), 3) == [qsimple(2, 3), qsimple(3,3), qsimple(4,3)]), \"list of q\"\n", " \n", "test_qs()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "def calc_performance(D, T):\n", " \"\"\"\n", " This calculates the performance over random after 1 step of Hastings' thresholding algorithm. \n", " Precisely, returns delta = -1/2 for D-regular graphs with threshold T.\n", " \"\"\"\n", " s1 = 0\n", " s2 = 0\n", " # go through # of agreeing neighbors, from 0 through D-1\n", " for i in range(D):\n", " # factor out two copies of 2^-n, n=D-1\n", " s1 += binom(D-1, i)*q(i+1, T)\n", " s2 += binom(D-1, i)*q(i, T)\n", " return -0.5 * 0.5 * (s1**2 - s2**2) * 2**(-2*(D-1))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "def test_all_thresholds(D, fn):\n", " \"\"\"\n", " Gets performance over random for all possible thresholds (from 0 through D+1).\n", " Returns all results.\n", " \"\"\"\n", " return [fn(D, T) for T in range(D+2)]\n", "\n", "def print_max(D, results):\n", " \"\"\"Finds and prints out the maximum performance in the input list.\"\"\"\n", " print(\"D =\", D, \"T =\", results.index(max(results)), \"performance =\", max(results))\n", " \n", "def plot_by_T(D, results, label_prefix=\"\", scaled=False):\n", " plt.plot(np.arange(len(results))/(D if scaled else 1), results, label=label_prefix + \"D=\" + str(D))\n", " plt.xlabel(\"min threshold to switch\")\n", " plt.ylabel(\"performance $\\delta$\")" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "-0.0" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "calc_performance(9, 9/2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### scratch" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "def calc_performance_qf(D, T, qf):\n", " \"\"\"\n", " This calculates the performance over random after 1 step of Hastings' thresholding algorithm. \n", " Precisely, returns delta = -1/2 for D-regular graphs with threshold T.\n", " \"\"\"\n", " s1 = 0\n", " s2 = 0\n", " # go through # of agreeing neighbors, from 0 through D-1\n", " for i in range(D):\n", " # factor out two copies of 2^-n, n=D-1\n", " s1 += binom(D-1, i)*qf(i+1, T)\n", " s2 += binom(D-1, i)*qf(i, T)\n", " return -0.5 * 0.5 * (s1**2 - s2**2) * 2**(-2*(D-1))" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "def test_all_thresholds_qf(D, fn, qf):\n", " \"\"\"\n", " Gets performance over random for all possible thresholds (from 0 through D+1).\n", " Returns all results.\n", " \"\"\"\n", " return [fn(D, T, qf) for T in range(D+2)]" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "def make_q2(s):\n", " return lambda k, t: 1*(k <= t-1) + s*(k == t) + s*(k > t)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "D = 60 T = 34 performance = 0.04353484029031557\n", "D = 60 T = 34 performance = 0.041446112492853224\n", "D = 60 T = 33 performance = 0.03682291744378499\n", "D = 60 T = 32 performance = 0.02960143695036295\n", "D = 60 T = 31 performance = 0.018419759423244197\n", "D = 60 T = 0 performance = -0.0\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY4AAAEGCAYAAABy53LJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdd3xUVdrA8d+ZSe+F9JBGQm+B0HsTbBQFEQtN19VFFnV1ZfVdRV1cV2zo2kGKrhQVBBtVkN6T0CGUBFJI78kkmZnz/jEhBVIhPef7+QzJ3HvunTOkPDntOUJKiaIoiqLUlKaxK6AoiqI0LypwKIqiKLWiAoeiKIpSKypwKIqiKLWiAoeiKIpSK2aNXYH61qZNGxkQENDY1VAURWlWjh49miKldKvoXIsPHAEBARw5cqSxq6EoitKsCCFiKjunuqoURVGUWlGBQ1EURakVFTgURVGUWmnxYxwVKSoqIjY2Fp1O19hVUeqQlZUVvr6+mJubN3ZVFKVFa5WBIzY2Fnt7ewICAhBCNHZ1lDogpSQ1NZXY2FgCAwMbuzqK0qK1yq4qnU6Hq6urChotiBACV1dX1YpUlAbQKgMHoIJGC6S+porSMFpt4FCUliApW8fGyHjU9ghKQ1KBo4mZOXMmgYGB9OjRg/bt2zN9+nTi4uJqdY+1a9fSuXNnunTpwkMPPVRyfMWKFYSEhBASEsKKFSvquupKA9MbjDz59VH+uiqczaeuNXZ1lFakVQ6ON3WLFi1i8uTJSCn54IMPGDFiBCdPnsTCwqLaa6Oiovj3v//N3r17cXZ2JikpCYC0tDRee+01jhw5ghCC3r17M378eJydnev77Sj15NOdFzl2JQNnG3Pe/PUsIzq6Y2mmbexqKa2AanE0ooULF9KhQwdGjx7NtGnTeOedd8qdF0Lw7LPP4unpyW+//Vaje3755ZfMmTOnJCC4u7sDsHnzZsaMGYOLiwvOzs6MGTOGTZs21e0bUhrM8dgMFm+P4t4e3ix+MJQraXms2Bfd2NVSWolW3+J47adTnI7PqtN7dvZ24NV7u1RZ5ujRo6xevZrw8HD0ej29evWid+/eFZbt1asXZ8+eZcKECUydOpVz587dVOa5555j+vTpnD9/HoBBgwZhMBhYsGAB48aNIy4ujrZt25aU9/X1rXUXmNI05BcaeGZNBG72lvxrQlccbcwZ0cGNj7Zf4P5evrjaWTZ2FZUWrtUHjsaye/duJk2ahI2NDQDjx4+vtGzZgc81a9ZUeV+9Xk9UVBQ7d+4kNjaWIUOGcPLkyQoHT9UspObp37+d4VJyLt/O6onj8SWQcJyXx/2LsR8d5L2t51k4qVtjV1Fp4Vp94KiuZVCfavqLOzw8nFGjRgFU2+Lw9fWlf//+mJubExgYSIcOHYiKisLX15edO3eWlI+NjWX48OF18TaUBrTzXBLf7L/M4o7nGPjrfMi8AkCwX38e7R/Gyv3RTB8QQAdP+8atqNKiqTGORjJ06FDWr19Pfn4+2dnZ/PTTTzeVkVLy4YcfkpCQwLhx4wBTiyMiIuKmx/Tp0wGYOHEiO3bsACAlJYXz588TFBTE2LFj2bJlC+np6aSnp7NlyxbGjh3bcG9YuW1pOQVsXLuU7TYvMyH6DbBxhkfWgXco7HmfeSMCsbcy51+/nFbTc5V61epbHI2lV69eTJ06lZ49e+Lv78+QIUNKzr3wwgu88cYb5OXl0b9/f3bs2FGjGVVASYDo3LkzWq2WRYsW4erqCsA///lP+vTpA8Arr7yCi4tL3b8xpd6E//IZ7xneosAxEMYsg84TQaOBojxY8wjO0b/y11G9eePn0+w4l8TIjh6NXWWlhRJN6S8TIcQ4YDGgBZZIKd+64fyTwBzAAOQAT0gpT1d1z7CwMHnjRk5nzpyhU6dOdVn127ZgwQLs7Ox4/vnnG7sqzVpT/NrWlYhFd+ORew6vf54BbZlEjkYjfDoAhIbCP+1m3OI9IGDrs8PQatQ4lnJrhBBHpZRhFZ1rMl1VQggt8DFwJ9AZmCaE6HxDsW+llN2klD2Bt4H3GriaitI4DHqCc49xwb5P+aABplbH4Ocg6TQWF7cwZ0Qwl5JzORGX2Th1VVq8JhM4gL7ABSnlJSllIbAamFC2gJSy7LxZW6DpNJdu04IFC1RrQ6lUfsxh7Mgj23twxQW63g9O/rD7HYa3b4MQsPt8csNWUmk1mlLg8AGulnkeW3ysHCHEHCHERUwtjr9WdCMhxBNCiCNCiCPJyeqHR2n+0k5sAcC248iKC2jNYPAzEHcU1+QDdPV2ZFeU+t5X6kdTChwVdcbe1KKQUn4spWwHvAj8X0U3klJ+IaUMk1KGubm51XE1FaXhaaN3cdIYQPuggMoL9XgI7Dxh97sMbd+GY1cyyNIVNVgdldajKQWOWKBtmee+QHwV5VcDE+u1RorSFBTk0CYjgiPaHng6WFVeztwKBj4Nl3dxp1MsBqNk34XUhqun0mo0pcBxGAgRQgQKISyAB4GNZQsIIULKPL0biGrA+ilK47iyHzOpJ6FNH6Kzoqsu23sWWDvT+cKX2Fpo2a26q5R60GQCh5RSDzwNbAbOAGullKeEEK8LIa7n43haCHFKCBEBPAfMaKTq1rvhw4dz4zTiW7Fz507uueeeasstX76cp59++rZeKzo6Gmtra0JDQ+nUqRN9+/atdfr2jIwMJk+eTMeOHenUqRP79+8HTNl9x4wZQ0hICGPGjCE9Pf226tqcGC7sIF+as9clnPE/juezyM8qX+BnaQd9/4wmahN3+Ut2RSWrxYBKnWsygQNASvmrlLK9lLKdlHJh8bFXpJQbiz+fJ6XsIqXsKaUcIaU81bg1rluFhYXk5uY2djUqlZmZidForLJMu3btCA8P58yZM6xevZr333+fZcuW1fg15s2bx7hx4zh79iyRkZElazLeeustRo0aRVRUFKNGjeKtt96q5k4tR1HUdl5x8iem8DCdXTvzccTHvLrvVYqMlYxfdDZNRpzkcIaraflEp+Y1YG2V1qBJBY7W6syZM/ztb3+jQ4cOJdlty3rqqacICwujS5cuvPrqqyXHAwICeOmllxgwYABhYWEcO3aMsWPH0q5dOz777LOScllZWUyaNInOnTvz5JNPlvzyX7ZsGe3bt2fYsGHs3bu3pPxPP/1Ev379CA0NZfTo0SQmJgKwZ88eOnTowIIFC7hy5Uq17ysoKIj33nuPDz/8sEb/D1lZWezatYvHHnsMAAsLC5ycnADYsGEDM2aYGpgzZszgxx9/rNE9m73sRLYWXmGTSyFj2k5g9d2rebLHk6y/sJ452+aQU5hz8zXuncDemx66owCqu0qpcyrlyG/z4dqJur2nZze4s+q/iHNzc1m7di1Lly5FSsmsWbM4fvw49vY3J6dbuHAhLi4uGAwGRo0axfHjx+nevTsAbdu2Zf/+/Tz77LPMnDmTvXv3otPp6NKlC08++SQAhw4d4vTp0/j7+zNu3DjWrVvHoEGDePXVVzl69CiOjo6MGDGC0NBQAAYPHsyBAwcQQrBkyRLefvtt3n33Xe6++2769evHN998w4QJE3B3d+fxxx9nwoQJlaZEuZ4SHmDHjh08++yzN5WxsbFh3759XLp0CTc3N2bNmkVkZCS9e/dm8eLF2NrakpiYiJeXFwBeXl4lG1S1dMdOfMOrbVyxyfPh30NfQQjBnJ5z8Lb15vX9rzNj0ww+HvUxnraepRcJAcGjsD29kUDnWew6n8z0AQGN9h6UlkcFjkbi5eVF9+7dWbJkCR07dqyy7Nq1a/niiy/Q6/UkJCRw+vTpksBxPR17t27dyMnJwd7eHnt7e6ysrMjIyACgb9++BAUFATBt2jT27NmDmZkZw4cP5/p05alTp5a0dmJjY5k6dSoJCQkUFhYSGBhYUpc2bdrwzDPP8Mwzz7B//35mz57NG2+8wfHjxyuse9n+9REjRhAREVHp+9Tr9Rw7doyPPvqIfv36MW/ePN566y3eeOONKv9/Wqqr2Vd55sI3eOmNWMpnsTQrDc6TQibhYevBczuf49HfHmXDhA3YmNuUXhw8GsK/ZlpwIovP6ynUG7EwUx0MSt1QgaOalkF9+f7771m6dCmTJk1i2rRpzJgxA39//5vKXb58mXfeeYfDhw/j7OzMzJkz0el0JectLU2b9mg0mpLPrz/X6/XAzenbrz+vLK373Llzee655xg/fjw7d+5kwYIF5c6fPn2aZcuWsX79eoYNG8YTTzxR6fsMDw8vGaeorsXh6+uLr68v/fr1A2Dy5MklYxkeHh4kJCTg5eVFQkJCyc6GLVV2YTZPb38ag6GIaQmenO9+01pYBnoP5MMRH/LYlsf45fIvTGk/pfRk0HAQWkaZH+fNwqEcjUlnQDvXBqu/0rKpP0EayR133MGaNWvYs2cPjo6OTJgwgdGjRxMdHV2uXFZWFra2tjg6OpKYmFjjLWTLOnToEJcvX8ZoNLJmzRoGDx5Mv3792LlzJ6mpqRQVFfHdd9+VlM/MzMTHx/SLquysqGPHjtG/f38ef/xxOnbsSEREBEuXLi35RX+j6Ohonn/+eebOnQuUtjhufOzbtw8AT09P2rZtW7LfyPbt2+nc2ZSubPz48SV1WbFiBRMmTKjgFVuOb898y6XMS7yfmMRpXU+6eDtUWK6PZx86unRk9dnV5WdPWTtB274EpO/HTCPUOIdSp1SLo5G5uroyb9485s2bx6FDh9BqteXO9+jRg9DQULp06UJQUBCDBg2q9WsMGDCA+fPnc+LECYYOHcqkSZPQaDQsWLCAAQMG4OXlRa9evTAYDIApb9aUKVPw8fGhf//+XL58GQBra2uWLVtWZfbZixcvEhoaik6nw97enrlz5zJr1qwa1/Wjjz7i4YcfprCwkKCgoJIZWfPnz+eBBx5g6dKl+Pn5lQt0LdH2K9vpae1FX90V/mbsykPejhWWE0LwQIcHeH3/60QmR9LTvWfpyeBRaH//F8N9BLuikvn7uKq7RBWlpppUWvX60FzSqit1oyV8beNy4hj3wzj+pvVk4tVYwrLf5dTrY7E001ZYPq8oj1HfjWJY22G8NaRM12t8OHwxnC0dXueJyGCO/N9o2qj9yJUaahZp1RVFMdkesx2AUfHniTDrSYiHfaVBA8DG3Ibx7cazJXoLqfllUox49gBbN/rojwGwJyqlXuuttB4qcChKE7P9ynZCbH1pm5fBb/mdKh3fKGtqh6kUGYtYf2F96UGNBtqNwilhNy7WWpUtV6kzKnAoShOSkp9CeFI4oy1Ns8a25oXUKHAEOQXR17Mv3537DoPRUHoieDQiL5VpbdPZHZWi0o8odUIFDkVpQnZe3YlEMqpIQ6GlC2k40KWSgfEbTe0wlfjcePbE7Sk92G4kILjT6iTJ2QVcSKpgpbmi1JIKHIrShGy/sh0fOx/aZ8STYukHQCevm7MJVGSE3wjcrN1YfW516UFbV/DpRXDWAQAOXk6r8zorrY8KHIrSROQU5nAw4SCj/UYjUi5wCW8CXG2wtzKv/mLAXGPO5PaT2Ru3l6tZZTbTDB6NZeIxQuwLVeBQ6oQKHE2USqve+tKq747bTZGxiFEefSAvheP57jXuprru/pD70QgN350vs84leDRCGpnW5jKHLqeqcQ7ltqnA0YSotOqtO636tphtuFq50gNLMi9b0+Hno0zYs5qc3XswFhTU6B4eth6M9BvJ+gvrKTQUmg769AYrJ4ZqIknMKiBGpVlXbpMKHE2ASqteWs/Wmla9wFDAnrg9jPQbSca3q4k/6IxZoQHfvZu5+qc/cb7/AK7+ZQ6ZP/1cbYthYvBEMgoyOHTtkOmARgvtRhKQvh+QHFLdVcptavUpR/5z6D+cTTtbp/fs6NKRF/u+WGUZlVa9lEqrDgfiD5Cnz+PuPQUkLt+MrW8BT4S+wK4XRmJ7JpKcP3aR88cfxP/+OyBxvPfeSu/Vz6sfNmY2bIvZxmCfwaaD7UZidmodfWwSOXA5lQf6tG2YN6a0SK0+cDQWlVb9Zq05rfq2mK3M2GWGzd51OHRzxjw0B5FvjbubI8J9GHbDhiENLxHz6HSuvf4GNr17Y+7tXeG9LLWWDPEdwo6rO/in8Z9oNVoIGgbAZOdLfHQ5sMLrFKWmWn3gqK5lUF9UWvVSrT2tepG+EK/Pf2HEYR1OU6fi2eYXInVt8ba0Lvc1Elot3m//h8vjJxD/4nz8li9DaCtORTLabzSbozcTmRxJL49e4OQHzoEM0JzkxfSBxGXk4+Nk3VBvUWlh1BhHI1Fp1VVa9etOffofRhzWkT15JJ7/fBmRfpkLRq8Kf7Fb+Pri8fLL5B0+TNry5ZXec7DPYMw15my7sq30YNAwfDKOosXAocuplV6rKNVpUi0OIcQ4YDGgBZZIKd+64fxzwOOAHkgGZkspYxq8onVIpVUvr7WlVTfm5iJWruNEgODuV95GZF4BYxEnC9wrbRE43jeJnJ07SPpgMbaDBmFVQVennYUdA7wH8PuV33kh7AVTyyVwGNqjy+lvdYWDlwKYFOpb329PaamklE3igSlYXASCAAsgEuh8Q5kRgE3x508Ba6q7b+/eveWNTp8+fdMxpWVobl/b5E8/k6c7dJTP/vce04Gzv0n5qoOcNP89uXjb+UqvK0pLk+cGD5YX77lHGnS6Csv8cP4H2XV5V3k6pfj/JCdZylcd5PfvPyNHLNpRx+9EaWmAI7KS36tNqauqL3BBSnlJSlkIrAbK9UdIKXdIKa9PQj8AqD+ZlGbLkJVF6ldLORaixb1PcUsyxTRB4aL0rnIMwszZGe+FCymIukDye+9XWGZ42+FohIbtV0xp2rFtAx5d6c8JLqXkkpStq/A6RalOUwocPkCZPAnEFh+rzGNAhR3+QognhBBHhBBHkpNVKmmlaUpdtgxjVjarhlC6c19qFIWWLmRih49z1YPXdkOH4vzQNNJWrKDgwoWbzrtYudDLvVdp4AAIHIZX9nEsKVTrOZRb1pQCR0VTfCpc6SSEeAQIAxZVdF5K+YWUMkxKGXZ9uqmiNCX6tDTSV6wkbWAnYjwEPd2KA0dKFJm2pumyNZn11ObppxFWVqRWsjp/lN8oLmRcICareCgwaBgaQwEDLS6qwKHcsqYUOGKBsquSfIH4GwsJIUYDLwPjpZQ1y8OgKE1M6pKlGHU6fh/jhpetF562nqYTKVFcM/dFCPB0tKr2PmYuLjjddx+ZG3+iKPHmRZEj/UYClLY6/AaA0DLR8QIHL6nAodyaphQ4DgMhQohAIYQF8CCwsWwBIUQo8DmmoNGylg4rrUZRUhLp//sfDvfey07thdJuqrw0yEshGm887K0w19bsx9Nl1kwwGEj/5uubznnbedPZtXNp4LByAJ/e9OME5xKzSc8trKN3pbQmTSZwSCn1wNPAZuAMsFZKeUoI8boQYnxxsUWAHfCdECJCCLGxktspSpOV+vkXSIMB46zJJOUnEeoeWnzCNE5xpsiz2vGNsizatsV+7B2kr1qNIefmjZpG+Y3iePJxEnNNOccIGoZHzmnsyeNQtGp1KLXXZAIHgJTyVylleyllOynlwuJjr0gpNxZ/PlpK6SGl7Fn8GF/1HZsvlVa9ZaZVL4qPJ33tWpzuu4/jFqZf5GXHNwAi8txqvarbdfZjGHNyyFiz9qZzo/xGAbDj6g7TgcBhCGlksPlZNc6h3JImFThaO5VWveWnVU9b+TVISZunniQiKQIbMxtCnENMJ1POIzXmHMt2wLuWgcO6W1ds+vUjbeVKZGH57qcgxyACHAJKV5G37QtmVtzrcIGDagW5cgtU4GgCVFr10nq25LTqRp2OjPXrsR89GnMvLyKSI+ju1h0zTXECh9QLGJwC0Rk0teqqus718cfQJyaS+cuv5Y4LIRjlN4oj146QWZAJZpbg15++8gSn47PIzCuqi7entCJNKuVIY7j25psUnKnbtOqWnTri+dJLVZZRadVLtZa06lm/bcKYmYnzgw+SW5TL+fTzPNG9TILIlCiy7QIA8L2FBIS2gwdj2b49aV8txXHihHIJEkf7j2bpyaXsvLqTCcETIHAYbS69hovMZN/FFO7s5nW7b09pRVp94GgsKq36zVp6WvX01auwCArCpl9fDiQcwCiNhLoVD4wb9JB2iRSXoQC17qoCU8vC9bHZxL84n9xdu7AbNqzkXBfXLnjaerLtyjZT4AgaBtthpOUZdkV1VYFDqZVWHziqaxnUF5VWvVRrSKuuO30aXeRxPF76B0IIIpIiEAi6u5n+ACAjBoxFxGpMyRK8napfw1ERh7vuIumDxaQuWVoucAghGO03mrXn1pJXlIeNV0+wcuRe8yjmn09BSlnp94Oi3EiNcTQSlVa9daVVT1+1GmFlhePEiQCEJ4UT4hyCnYWdqUBxjqoooxcOVmbYW5nf0usIc3NcHn2UvMOH0Z05U+7cKL9RFBoL2R2327SdbMAQeuqPE5eRz6WUpjspQ2l6Wn2Lo7GptOrltcS06obsbDJ//hmHu+9C6+CAwWjgeMpx7gkqM026eCruiXx3fJxvLWhc53T/fSR/+CHpq1bj9fprJcdD3UNxsXJhe8x2xgaMhaDh2J/9mUCRwK7zybRzs7ut11VakcrS5raUh0qr3ro0xa9t6tffyNMdOsq84yeklFKeTT0ruy7vKn+6+FNpoQ1PS/mfIDn2/T/kY8sP3/Zrxr30kjzTM1Tqs7LKHX9176uy7zd9pU6vkzI9RspXHeTHC+fJmV8dvO3XVFoWmkladUVpcaSUpK9ehVXXrlh36wqYuqmgzMI/MLU42rQv3tL11sY3ynJ+cBoyP5/MDeWTK4z2H02ePo8D8QdM28m6d+Eui3AOXEqjQG+47ddVWgcVOBSlHuUfOULhhYs4T3uw5FhEcgRu1m742JXZNSAlikLnILJ1+ltaw3Ej625dserWjfRVq8rNbOvn2Q97c/vSxYAdxuGXewKLokyORjfP1fhKw1OBQ1HqUfqq1WgcHHC4666SYxFJEfR071kyiyn1YhzhyYMIT+pNQJGGNgYNutyicr/wb4XztGkUXrxI3qHDJcfMteYMazuMHVd3oDfqocNdaKSB0WaR/BGl9q5RakYFDkWpJ/qUFLK2bsVx4gQ01qZWRFJeEnE5cYS6h5IUk8Vvn51g9aJz7MueyZHwAKbkWpKw5jJL/7abZX/fQ9SRxFt+fYe77kTj6Ej66lXljo/2G01mQSZHE4+Cdy+wded+u5PsOp9yW+9XaT1U4FCUepLxwzooKsL5wTLdVEkReGQHoP0tkO/+fYS48+mE9cpmptts3Mdp+NaugP6PtGfwlBDsXa3ZsuQUW5acRJdb+7QgGisrnCZNInvrNorKrLQf6DMQK60V22K2gUYD7e+gd9FRohLS1HaySo2owKEo9UAaDKSvWY1N//5YFq/al1Jy6pcUJp18lvwEI/0nBvHowoH0Cz6BrVkml8xcSbaE0IE+9BjVlvtf6EW/8UFcPJbMqtcPEnOy9gkJnR+cCno9mT/8UHLM2syawT6D+f3K7xilEdrfiaUhhz6ac+yJUq0OpXoqcDRRKq16806rnvPHLvTxCThPmwaA0SjZ+e05LE54khhwlukLB9F7XACW1maQHgMOvlzNKsLbyQqNxjT2odFqCLsrgMnzw7CyNefn/0byx7fnMBqqzlBclkVAALYDB5K+Zi2yOJMAwCj/USTlJ3E8+Ti0G4HUWnKPZQS7zqtxDqV6KnA0ISqtestJq57+7beYubtjP2okBoORbctOc3p3PBG+23AarcPcssxCz4wYcPY3TcWtYEaVm589U/4RRo/RbTm5K47da6JqNXDuNO1B9NeukbNzZ8mxob5DMdOYmXYGtLBFBA7lDrNwdp9Pxmi8vUF5peVTgaMJUGnVS+vZEtKqF8bEkLtnD05TH8AoNWz+4iRRhxPxH23NgbY/0cO9R/kL0mPAyZ/4jHy8HSueimtmrmXw5BBC7/Dj5K44wrdU//9/nf2IEZh5eJC+anXJMQcLB/p79WdbzDZTEOowDreieJzyozmdkHVL71tpPVp9ypHda8+TcvXm7TZvR5u2dgx5oH2VZVRa9VItLa16+uo1YGaG3fj7+eWTSK6eSWfI1PaEu2+HI9DDrUzgKMqHnGvoHf1Iyi6odg3HgIntyEnTsX/9ReycLWnf17Pa+ggzM5ymPkDKhx9RcOlSyZjLHf538Mq+V4hMjqRn+3Hwy98YrTnGrqiRdPVxvK3/A6Vlq7bFIYSYLYSwLP58ghDiz0KIgfVftZbNy8uLpUuXsmTJEvbu3cvjjz9eYdAAU1r1Xr16ERoayqlTpzh9+nTJubJp1fv164e9vT1ubm4VplXXarUladUPHjxYklbdwsKCqVOnltwzNjaWsWPH0q1bNxYtWsSpU6dKzl1Pqx4eHs6CBQt45ZVXCAsLq/R9lu1SqS7J4fW06k899RTh4eHY2to2+S6pGxl1OjLWrcNu1Gh2/pJM7Nl0Rk7vRPcRvkQkReBr50sb6zalF2RcNX2w8ELK6tOpC41g1IzOeIc4sX3FGeLO1Wysx3nqVISFBWkrVpYcuyPgDqzNrFl/YT04+oJnN8ZbRapxDqVaNWlxzJNSfiWEWACMAPYD9wkh7IH7pJTX6rOC9a26lkF9UWnVS7WktOpZv/yKMTOTmE73cSkimUGTg+k00AspJZHJkfT16lv+gowYABI07oChRhs4ac013PlkN9YtOsqvn53gvhd64epddYJCM1dXHCdMIPPHH3Gb91fMXFywNbdlXMA4Nl3exIt9XsSmw110uraISzExZOaF4Whze8kWlZarJmMc1zcwvgsYKaWcL6UcCywEPqm3mrVwKq16y0yrnr5qFWndxhEZUUTHgV70GNUWgITcBJLzk8t3UwGkRwMQbTBtqFXTdCNWtubcM7cHZuYafv5vJPk5hdVe4zJjOrKggPTVpWMdk0ImkafPY3P0Zmg/Dg1GBstwfjmRUKN6KK1TTQLHVSHEcsAdKPmullL+AgRWdtGtEEKME0KcE0JcEELMr+D8UCHEMSGEXggxuS5fu7FcT6seERHBm2++WWVa9dmzZ99WWvWuXbsSGBjIpEmT8PLyKkmrPnr0aHr16lbnT/oAACAASURBVFVS/npa9SFDhtCmTWm3yvW06vv27eOxxx7Dzu7mv3Kvp1Xv1KkTDzzwwC2nVe/evTsRERG8VLzR1vz589m6dSshISFs3bqV+fNv+vZodPknTpAcncEJt3vwDHJk+LQOJa26iCTTzoc3BY6MGNBacjHfFgBPx5onOHRwtebuOd3Jyyrk95Vnq51pZRkcjO3QIaT/71uMBQWAKdFigEOAqbvKqyfSzpOJNsdZdyy2xvVQWqHK0uZefwAOwCygB7AZeBa4A3gROFjd9TV9AFrgIhAEWACRQOcbygQA3YGVwOSa3FelVW9dGvNre/GFV+SXM7+Xy/6+W+ZmFpQ79+aBN2Wfb/rIIkNR+YvWPCrlh73lC99FyD7/2npLrxux7Yr875+3y8jfr1ZbNmffPnm6Q0eZ/v33JceWnlgquy7vKi9mXJRyw1xZ8LqXbP/iOhmdknNL9VFaBm4nrbqUMktKuUxKGQlMwTQuMhPwA6ZWdW0t9QUuSCkvSSkLgdVAuf4IKWW0lPI4UPMVUIrSAAqSU9kX64fe0oG75/TAxqH8LLPI5Ei6tumKmeaGYcX00jUct7LPOED3kb74d3Nl3w8XSInNrrKsTf/+WHboQNry5SUtlPHtxqMVWn6M+hG6TcHCkMs92gOsOxZ3S/VRWr5areMoDiKLpJQPSSnnSCmj67AuPsDVMs9ji4/VmhDiCSHEESHEkeRkNUNEqX87PviDTIdAht3thptf+dlx+fp8zqWdu7mbCkxdVU7+xKVXvPivJoQQjJreCUtbMzZ/eYqigsr31RBC4DJzJgVRF8jdY1q708a6DUN9h7Lx4kaK/PqBawh/tt3FuvDY287Qq7RMTWkBYEVTfG7pu1ZK+YWUMkxKGebm5nab1VKUqp3acZmLqU4Ec5ZO9/a8+XzKKfRSX37jJgBdFuSnY3TyJz5TV6MZVZWxtrdgzKzOZCTlsXvtzYtIy3K8+y7M3NxIW7685Nik4Emk6lLZHbcHes+kfeFpbNPPcSSmaad2URpHUwocsUDbMs99gfhGqoui1Ejy1Wx2r72IU/o5Bj81pMIykcmRAHR3617+RPFU3Gxrbwr1xlvuqrrOt6MLvcf6c2ZvQpXp2IWFBc4PP0zu3r3ozpmCzBDfIbSxbsP6qPXQ8yGk1pLpFr+rQXKlQjUOHMLkESHEK8XP/YQQfau7rhYOAyFCiEAhhAXwILCxmmsUpdHocov47dPjmBVk08/pLLY9ulVYLjI5En8Hf5ytnMufSC9ewyE8APC5zcAB0OfeQDwCHdj5zVmyUvIrLef84FSEtTVpxVOczTRmjG83nt1xu0nGgOgykUnavWw/fhldkdpSVimvNi2OT4ABwLTi59nAx3VVESmlHnga08ytM8BaKeUpIcTrQojxAEKIPkKIWEyD9J8LIU5VfkdFqT/SKNm2/DS56Tq6nvwCn6cfr7hc8cK/Ssc3gCvG2q3hqIpWq+GOx7qAEGxZegpDJZl0tU5OOE2aSNZPP1EYaxoEnxg8EYM0sPHiRgibjbUxl+FFu9l+pummd1EaR20CRz8p5RxAByClTMc0bbbOSCl/lVK2l1K2k1IuLD72ipRyY/Hnh6WUvlJKWymlq5SyS12+flOi0qo37bTqR36LJuZEKu2v/oR3z7ZYd6u4tRGbHUuaLq3iwJEeA5YOXMkz/RhVluCwthzaWDP84Q4kXs7i0E+XKy3n+sQToNGQ/MEHAAQ6BtLLvRfrL6zH6NsH6daJmaq7SqlAbQJHkRBCS/GAtRDCDTUttk6ptOrNI616zMlUDv18GX+XbLwubMZtzpxKy0YkV7LwD0pmVF3LKsDKXIODdd3lHA0J86DTIC+ObY7h6tm0CsuYe3riMmsmWT//TP7x4wBM7TCVmKwYtsRsRYTNprO8SErUQVJyCuqsbkrzV5vA8SGwHnAXQiwE9gBv1kutWhmVVr20nk09rXpqfA6bl5ykjZcN7Xa8i92QIVj3qCAoFItMjsTW3JZgp+CbTxav4biWpcPTwarS3GG3asgD7XH2sGHbstPkZ1ecksT18T+hdXUl8e23kVIyNmAswU7B/DfivxR1vQ+jmRVTxTY2Rqh5KkqpGv+JI6X8nxDiKDAK09TZiVLKM/VWswayY/kXJMVcqtN7uvsHMWJm5Yn/QKVVL6u5pFXPzy7k10+OY26hZUCbM+SmJ+M2p+qgeH3hn1ZTPpUMUppaHO1GkhRdgLtDzVON1JS5pZY7Hu/Cd28dYfvKM9z9l+43BSetnS1uc+dybcECcrZvx370aP4a+lf+uuOvbIjbyeSuk5kU8T2PHj3PrEEBdR7clOaptgsAz0opP5ZS/rclBI3GpNKqN6+06oYiI799foLczELGzQpB9/WX2A4ejHXPm9dtXJdXlMf59PM3r98AyE2BorxyLY760MbXnkH3BxNzIpXjOyoeq3CafD8W7dqRtOgdZGEhw9sOp4dbDz6N/BRd6CNYo6Nj0m/sVOnWlWI1bnEIIVZgSrGeUfzcGXhXSjm7virXEKprGdQXlVa9VFNPqy6lZOe3Z0m4kMkdj3dB++s3GNLTaTPnL1VedyLlBEZprHJGlXTyMwWOWiQ3rK1uw325ejqNfesu4O7vgFe78ps0CTMz3F94ntgnnyJ9zVpcHn2Eeb3mMXvzbNZkn+NRj27MTN7BX36ZyJDgNphpm9LyL6Ux1OY7oPv1oAEls6pC675KrYNKq9580qqHb73C2f3X6HN3AD6aeFKXfoXTlMnYhFb97X/42mE0QnPzwj8oSaeeZeVDod6IRz21OKA4JcnMztg7W/HbZ8fJSr15fYfdsGHYDOhPyscfY8jKoo9nHwZ6D2TJyaXk9ZlNsDGaLimb+P6ommGl1C5waIpbGQAIIVxQW8/eNpVWvbymllY96kgi+9dfJDjMnd4jPYifPx9zLy/cX6z+9ffG7aVbm244WlawDWtxi+OaxtRy8nCwvLlMHbKyNefuOd0x6CW/fnKcQp2+3HkhBB5//zuGzExSv/gCgL/2+isZBRms0OYhfcJ41XIVX245Rm6BvqKXUFqTytLm3vgApgNngTeKH2eB6TW9vrEeKq1661KXX9uoI4ny46d+lz8sOiKLCvQy4bXX5OmOnWTOwYPVXpuWnya7Le8mPwn/pOICG+ZK+XY7ueNsovR/8Wd5+HJqndW7KldOpcqPn/pd/vxxpDQYjDedj3txvjzTtZvMO35CSinlczuek32+6SNTLv8hjQuc5MqX75Pvbz3XIHVVGhe3k1a9TIBZCdwHJBY/7is+pigtzoWjSWxZegrPIAfueboHusMHSP92FS7Tp2Pbt/pMO/vj9yORDPKppIVYvIYjMcs0XlWfXVVlte3swuApIUQfT+HAjxdvOu/+4t/RurUhbt489OnpPB36NIWGQpYk7Uf0fYKHzbazb9cWkrJ0FdxdaS1qk6vKEuiJaWMnF2Dy9bxVitKSXDxmChoeAaagoS3MI+Gll7EICsLt2WdqdI+98XtxtHSki2slyQ2ur+HINC2sc6/nrqqyug33oetQH8K3XOHs/vJbxJo5O+O7eDH65GTi//4iAXZ+TAiewOpzq4noNgGjjTv/ZAkfbFWTKluz2oxxbMC0sZIeyC3zaJak2megxamLr+ml8GS2LDmFR4A9987tgYWVGYkLF6JPScH7P2+hsaq+ZSClZF/8PgZ4Dbh5/QaA0QCZsaYWR7YOF1sLLM0qKFdPhBAMnhqCb0dndnxz9qZMutbduuHx8svk7t5Nyqef8Vzv5/Cy9eK5ff9H2qh/0E1zGfNjyzmfWPWmUUrLVZvA4SulnCqlfFtK+e71R73VrB5ZWVmRmpqqgkcLIqUkNTUVqxr8Yq/MmX0JbP7yJG7+9tw7tycW1makr1lL5oaNtPnzE5Xmo7rR+fTzpOSnMNB7YMUFsuLBWATO/iRm6hqsm6osrVbDuD93wyPQgS1LT3Fqd/nd/pymPoDjhAmkfPwx2kPHWTxiMTlFOTx7bSs5/kN43nwN/924V/0MtVK1mRW1TwjRTUp5ot5q00B8fX2JjY1F7Q7YslhZWeHr61vr6wxFRnavPc+p3fH4dHDmzie7YWFtRtrKlSS++W9shw6hTfEq/JrYE7cHoOrxDSjOU6XDswG7qcqytDbj3r/2ZNPnJ9j5v3MU5OvpdYdpLZEQAs8Fr6I7e5a4518g8IcfeHPwmzy781n+4zeSV68cYNSVxby9yZ8X7+zUKPVXGk9tAsdgYKYQ4jJQgCntiJRSVjBJvWkzNzcnMDCwsauhNAE56To2fXGSxMtZhN7hR/8JQWi0GlI++5zkDz7AfswYfN59B1FJSpWK7IvfR4hzCO42lSxSLN6HA2d/ErMu0c2ngum6DcTcQstdT3Vn27LT7F93kYI8Pf0nBCGEQGNtje+Hi7k8eQqxc+cyfOkS/tz9z3x+/HM6hd7DQ8fWk7B3IZ9bL+DPwyvIxaW0WLXpqroTCAHuAO4F7in+qCjNUuy5dNa+eZi0+FzGPdGVgfcFIzSCpA8+IPmDD3AYfy8+779Xq6CRV5THsaRjDPYeXHmhjBgQGorsfEjNLWiUrqqytGYaxjzWhc6DvTm2KYY/vj2HvnjzJgt/f3zefYfCS5eInvIAj9mMYbjvcN7OiOBgj0k8afYT5tteZs2hmEZ9D0rDqs103BggC/AA/Ms8FKVZ0eUWsWdtFBsXR2Bla87k+WG06+WOlJKkt94i9bPPcZoyBe+33kKY1W6N66Frh9Ab9ZV3U4GpxeHgQ1KeESmp13QjNaXRCIY/3IFeY/04tTuetQsPc+1SJgB2Q4fi//VKZGEhV6Y9xCvybvwc/HhWd57fe9zHbLNNFP30HJtOxFXzKkpLUZvpuI8DuzDt0Pda8ccF9VMtRal7BoOR4zuu8s0r+zm+4yqdBnkxeX4YLl625J88RcxDD5O2YiXO0x/F8/XXEJra52TaE7cHazNrQt2rSEdyfR+OTNNaiPpKcFhbQggGTArmnrk9KCowsG7RUfZ+H0VRoQHr7t0J+G4tFgEBpMx9jg8SRuBj6828rCO82WU4D2i3kf3dHPacq3yvc6XlqM1PxjygDxAjpRyBKU+VGl1WmjwpJdEnUljzxiF2r4nCra09D7zclxEPd0STnU78yy8TPWUKhVeu4LXwX3j84x+3nD58X/w++nr2xUJbRfdW8RqO64voGnINR034d3Fl2iv96DzYm4htV1nzxiFiz6Vj7umJ/zdfYz9mDAWLv+C9PYE85jmJVXmXeCikO30tdpP5vxl89NN+lZakhatNO1wnpdQJIRBCWEopzwohOtRbzRTlNuVlFXLuwDXO7E8gPSEXJw8b7vpLdwK6uWLMySF16VJSPvkUY2EhLrNn0eapp9BWkH+rpq5kXeFq9lUe6fRI5YX0BZCdUDKjCppOi6MsC2szhj/ckeDe7uz45iwb3g/HPcCB7sN9aLfoXSyDPyHl8y8Yt0nL4DsH8VpQJA/4+fFC0gkePTKRVeHj8brzee4Ka6/28GiBahM4YoUQTsCPwFYhRDqgtgVTmpRCnZ7Ys+mc3Z9AzIlUjEaJZ5ADIx7tSHBnW/J37ST2083k7tmDLCrCbvhwPOa/iEVAwG2/9t540y6Kg32qGhi/CkjTqvF4HeZagYttzQffG5pvRxce/Gc/zuxL4MTOWLYtP8PeHy7QedDdhKy+m4I1y5A/buBtIQjv48wnPYr4MNCMSZmb6btpEyt3TSX0vufpFuChAkgLUpsdACcVf7pACLEDcAQ21WVlhBDjgMWAFlgipXzrhvOWwEqgN5AKTJVSRtdlHZTmJT+nkIQLmcRfyCAhKoPkqzlIo8TawYJuA1wJcEzDKuEY+SuXcGnfPmRREWZeXjg/9BAOd91Z5bavtbU3bi++dr74OfhVXigj2vTRyZ/EMzrc7et+y9i6Zm6ppfsIX7oN9yH2bDondsZybHMMRyU4ut2N59OTsL98kE5bV/HxPgNpXlYc9LHnvQCwcdiA+fc/cLIoBCuPoXj2GEto915YWzTcSnml7t1SWnQp5R91XREhhBb4GBgDxAKHhRAbpZSnyxR7DEiXUgYLIR4E/gNMvfluSnMnjZKCfD263CJ0uUUU5OrJzy4kMzmfzGs5ZCblkpVagC7ftH+6RkhcrHNpb5mMU+ZF7PbsRm5MIRvIBsz9/EzB4s5xWHXvfksD31UpNBRy6NohxrcbX3XB4n04TGs4rjSJGVU1JYSgbScX2nZyISs1n0vhycSdzyD6fAYFeR2h72tYm+uxKUglICWaTocSsdSlkG6bTpptPnF2PxF99FuO2UqknTtm9h7YuPrRxr0DbX274eUdgr29I5bm2iYfTFs7UdOUAUKIMOBlTFNwSwJOXS0AFEIMABZIKccWP/9H8f3/XabM5uIy+4UQZsA1wE1W8SbCwsLkkSNHal2f6LMn+en1/2Iw5tT62tZGALLcc9MPvSw+V+af8h+FKHkuEZjmaggkINGUFi1LSjRSj9ZYhMZQhMZYiJleh9ZQgEAizM0RFhZorK3R2NigsbFB2Ngg6jkXVFZBFufTzxPsFIyTlVPlBdMuQ/Y18BtAZGwGNhZmhHjc+rhKkyChqMBAQb6eIp0BQ5ERfZEBg6HiH0shJUIaAImQpq926YMKPpZ+L8ni75Ty32/lnyultGYWzP3mq1u6VghxVEpZ4b7QtWlx/A94ATgBGG+pJlXzAa6WeR4L3Li1XEkZKaVeCJEJuAIpZQsJIZ4AngDw86ui26AK+gIdYAOi4Jaub01u/KEtG8Yl8oYC158Yiz8t/oUhZXHIMGIKIxIwoBEghESjATONBgsLc8zNLBBaM9BaIrRahIWFKWCYm1ccbBpAcn4yWqHFwcKh6oJFOjAztTIK9UacrFvANqwCzK20mFuVD87SaErnYtAbMRolRoMRY6EeQ5EeQ5HpmDRKjEbTepbS75PSPyjKvsjN4aTi50oZRvN6uW1tAkeylHJjvdTCpMK/L2+hDFLKL4AvwNTiuJXKBPcIY+63FQZbpYaklOQXGcjJzSc3N4u8nBxyczLITI4nJyWWgqx49DkJaAsS8BYxOJqlkqXRkKnVkGzrToJne65aOxCbn0hcThx6o2mKp5u1G2GeYfTx7EM/z35Vjyk0gKtZV3nzx3uY2WUm03rfvKd6OR/3A9dgsia+wYsLtvCPOzsydVi7hqmootSR2gSOV4UQS4DtmHJVASClXFdHdYkF2pZ57svNs7aul4kt7qpyBNLq6PWVOiaEwMbCDBsLe3C2r7RckcHI0Zh0fj95kWvnDtAm/SSDM08wO3ELUmuJ6Ho/hhELuGLvytHEoxy6dogj147w22XT/us93HowtcNU7gi4A0ttw6+JWHF6BVqh5eFOD1dd0Gg0dVWF3FGyhqM5jXEoynW1CRyzgI6AOaVdVRKoq8BxGAgRQgQCccCDwEM3lNkIzAD2A5OB36sa31CaB3Othv5BrvQPcgX6cjUtjzWHr/LG7l08Ircy5eSPWER+S6BvHwLv/ZDJ7ScjpSQmK4Y/Yv/gu/Pf8dKel3j78NtMDJ7IlPZTGqwVkqZL48cLP3Jvu3srT2p4XVYcGArAJahkA6fGzlOlKLeiNoGjh5SyZhsS3ILiMYunMaUy0QJfSSlPCSFex7T37UZgKfC1EOICppbGg/VVH6XxtHWx4fmxHZjapy1v/BzKv09P4XGHgzyV8iOWS0bBvYsR3R8gwDGAAMcAHu38KIeuHWLtubV8ffprVpxaweT2k5kbOhdnK+d6reuqs6soMBQwo/OM6gunFW/V6tqOa2lNd/GfolSnNoHjgBCi8w3TY+uUlPJX4Ncbjr1S5nMdMKW+Xl9pWtq62PDF9DB2nffntZ/c+F9yT37yXIrnuj/B1UMw9k0ws0AjNPT36k9/r/4k5SWx7OQyVp1dxebozTwd+jRT2k/BTHNLM8+rlFeUx+qzqxnedjhBTkHVX5B2yfTRJYjE6Ibda1xR6lJtpnQMBiKEEOeEEMeFECeEEMfrq2KKct3Q9m5semYovbt0YvC1ZzgfNBMOfwnL7jRtwVqGu407L/Z9ke/v/Z5OLp148+CbTP15KoevHa7zev144UcyCjKY3XV2zS5Iu2SaUWXvTWKWDgcrM7UQTmmWahQ4hGk1zp9R+3EojcRcq2HxtJ70C/bgzrNjiRzwISSfg8+HQkrUTeWDnYP58o4veW/4e2QXZjN782zePPgmOr2uTuqjN+pZeXolPdx6VJ0Jt6zUS+AcCBoN1zJ1amBcabZqFDiKB6Dfl1LG3Pio5/opSglLMy2fPxpGV28Hpux2J3xc8byMNY9Awc0LNYUQjPEfw4aJG3ik0yOsOruKqT9P5Uzqmduuy7aYbcTlxDGr66yaX5R2CVxMXVqJWY2z17ii1IXadFUdEEL0qbeaKEoN2FmasXxWX/xdbHh0QzqXhhW3PH5+pvzKwzKszax5se+LfD7mc3IKc3jo14f46uRXGIyGW6qDlJKvTn5FgEMAI9qOqNlFRiOkXwbX64Gj8Xf+U5RbVZvAMQJT8LioxjiUxuRsa8HXj/XD0dqcyVssyR74Ipz4Dg4vqfK6gd4D+WH8D4xoO4L3j77P41se50rWlVq//voL6zmTdoaZXWaiETX8EcqOB70OXIIwGCXJOQVqRpXSbNV2z/EgYCRqjENpZJ6OVqyY3ZccnZ43MsZByFjY9A+IrTovmZOVE+8Oe5c3Br3B2bSzTNowiU8jP6XQUFjtaxqMBt498i6v7nuVMI8w7m1Xi2//MjOqUnIKMBglHmqMQ2mmarvnuBOmYHEv4KTGOJTGFOxux4yB/nwXHs+5Qe+AgxesnQG5qVVeJ4RgYvBENkzcwEi/kXwS8Qn3b7yfgwkHK70msyCTv2z/C8tPLefBDg/yxR1fVL3L341Si9dwuLQr2TLWw75p7fynKDVVmz3H52FKdOhe/PhGCDG3viqmKDXx9IgQHKzM+df2BHhgJeQmww+PQQ3GL9xt3Fk0bBGfjf4MvVHP41se5/k/nmftubUcSjhEYm4iUkoupF9g2i/TOHTtEAsGLODl/i9jrqll8ri0S6C1BAcfElW6EaWZq82qqMeAflLKXAAhxH8wpf74qD4qpig14WhjztyRwfzrlzP8MaQvw+78j2mg/MR30KNmiQUG+Qxi/YT1fHniS74+/TWbozeXnLM2s8YojdiZ27Fs7DJ6uve8tYqmXQLnANBoSgOHGuNQmqnaBA4BlP0zzkCjJbFWlFKPDvBn5f4Y/v3rGQbPnY72yFew89/Q9X7Q1qxlYGVmxdzQuczpOYekvCQuZ14mJiuG6KxodHodT/Z4Ek9bz1uvZNolcDVlwb2WpUOrEbjaqa4qpXmqTeBYBhwUQqwvfj4RU+4oRWlUlmZa/j6uA09/G84P4fE8MPL/4NsHIOJ/0Htmre6lERo8bT3xtPVkgPeAuqng9ay47UYCpqm4bnaWaDXq7y6learN4Ph7mDLkpgHpwCwp5Qf1VTFFqY27u3nRs60T7245R57/SPDtA3+8bdo4qbHlXAN9PrgEAsWL/9T4htKMVRs4hBBfF3+cJ6U8JqX8UEq5WEoZXv/VU5SaEULwf3d3IjGrgKV7omHk/5nSmB9b0dhVKzejCjClG3FQ3VRK81WTFkdvIYQ/MFsI4SyEcCn7qO8KKkpNhQW4MK6LJ5/+cZFUt/4QMAR2vQOFeY1bsTJrOMA0xqEGxpXmrCaB4zNgE6ZNnI7e8Kh6tZWiNLBnx7Qnr9DAhsgEGPEy5CaZMuk2prSLoLUAR1/yCvVk6/S4q8ChNGPVBg4p5YdAF+B/UsogKWVgmUcNNiFQlIbTwdOebj6OrAuPBf8BEDwa9nwAuqzGq1TJVFwtiVmmnf9Ui0NpzmqaHdcI9KjnuihKnbivlw8n47I4dy3b1OrIT4ODnzVehdIul3ZTZarFf0rzp7LjKi3OvT28MdMIU6vDpxd0vAf2fQT5GQ1fGSlvSqcO4KEGx5VmTGXHVVqcNnaWDO/gxo/hcRiMEoa+AAVZcHxtw1cm+xoU5ZUEjvjMfAA8Ha0bvi6KUkdqswDwznqrhaLUsft6+bLtTBL7LqYwJKQnePU0Tc3t+ycQDbjw7oYZVfEZ+TjZmGNnWfd7oCtKQ6lNi+MKMASYUZwVVwIedVGJ4qm9W4UQUcUfnSspt0kIkSGE+LkuXldpuUZ2dMfByox1x+JMB3rPgMSTEH+sYSuSdn0NhylwxKXn461aG0ozV5vA8QkwAJhW/Dwb+LiO6jEf2C6lDAG2Fz+vyCLg0Tp6TaUFszLXck8PbzadvEZOgR66TgZzGzjawAsC0y6Bxhwc2wIQn6HDx1kFDqV5q03g6CelnAPoAKSU6UAtNiSo0gTg+k/0Ckx5sG4ipdyOKWApSrXu7+VDfpGBTSevgZUDdLkPTv5Q4f7k9Sb1Ijj7g9YMKSVxGfn4OKnAoTRvtQkcRUIILaYuKoQQboCxjurhIaVMACj+6H47NxNCPCGEOCKEOJKcnFwnFVSan15+zvi72rDuWGzxgelQmAOn1jVcJcpMxc3K15NToFeBQ2n2ahM4PgTWAx5CiIXAHuDNml4shNgmhDhZwWNCLetcLSnlF1LKMCllmJubW13fXmkmhBDcF+rL/kupxGXkQ9u+4Nax4bqrSqbimnJUxWWYZlSpriqluatNdtz/AX/HFCzigYlSyu9qcf1oKWXXCh4bgEQhhBdA8cek2r0NRanYpFAfpIQfw+NMs6l6TYe4I5B4qv5fPCcRinJLB8aLA4e3anEozVxtto61Au4CRgMjgXHFx+rCRmBG8eczgA11dF+llfNztaFvgAvrjsUipYTuD5ryRh1bWf8vXsFUXEB1VSnNXm26qlZiyln1IfBfoBPwdR3V4y1gjBAiChhT/BwhRJgQYsn1QkKI3cB3wCghRKwQYmwdvb7Sgk3q5cPF5FxOJ2SBEl+EMAAAFOJJREFUratpJXnk6vrfqyMlyvTRtbTFYWGmoY1dXc0pUZTGUZtVSB2klGXzVe0QQkTWRSWklKnAqP9v796jq6zOPI5/n1wg4RpCAnKTICYKKkZFUNFgvdWpVu2ql9rOiF2193bZ1Xa6tO2yM+24xkun43S107FLrc7U2tpOvUzbZavUCqUCggISkHsUEoQQCAmXBEKe+ePdgUM4ITkk5Nx+n7XOOu+7z373uzec5Mn77nfvHSd9CXBXzP5lfXE+yS5XTometXhtbT1njR0ejemo/i2s/j+YdsvJO3HdWzBwOBSVAdEYjnFFhVh/DkAUOQkSueJ4y8wu6tgxs5nAgr6vkkjfGjW0gCljhjFvbXjCrqwKiiae/EWeapfCuPMgJ/ox06O4kikSGscB/M3MasysBngdmK05qyQdVJWXsPTdXextbYt+kZ9/B9TMP9IP0dcO7o864MddcDhJgUMyRSKB41pgEjA7vCYRdZZfD3y476sm0neqKko5eMhZuLEhSjj3Y4DBih4/GJiYrSvADx0OHC0HD1Hf3KonqiQjJPI47rvHe53MSor01vSyERTk5xy5XTV8PJRdCm8/G4236Gu1S6P3EDg61uHQGA7JBIlccYikrYF5uVx02kjmr9txJPGcW6BhfdSJ3ddql8CwcTD0lGhXj+JKBlHgkKxRVV7Kxh172bxzX5Qw9cZoTMfJWKejdukx/RugwCGZQYFDskZVRTT9zLx14XZVYRFUfDCa+PBQW9+daG8D7Ko5OnDs2o+ZloyVzKDAIVljculgxg4vYP7a2NtVt8Le7bDptb47UceaH52uOEYNHciAPP3ISfrTt1iyhplRVVHKgg07aDsUJnYuvyYapPd2Hz5dVbsUMBhbeTipTo/iSgZR4JCsUlVRSnNLG8s2N0YJ+QUw9YZoFPmBfX1zktql0Sy8A4ceSWrcz7gRg/qmfJEkU+CQrDJrcgk5BvNin66adlu0TseaP/T+BO7HdIy3tztbG1sYW6T+DckMChySVYYPyufcCUVHxnMATJwVPTrbF7erdtXAvgYYfyRw7NjTyoFD7YzXrSrJEAocknUuKy9lxZZGGvcdiBJycuDsj8L6V6Inonqj08A/gC1awEkyjAKHZJ3ZFSW0OyxYHxMkpt0K7W2w6rneFV77JuQVwKiph5PqtICTZBgFDsk6544vYmhB3tG3q0afHf2y7+1gwNqlMOZcyM0/krRLg/8ksyhwSNbJy81h1uQS5q2rj1YFhGhZ2XNugc2LoGHDiRV86CBsXX7UbSqInqgaVpDH0IL8Lg4USS8KHJKVqipK2bq7hQ31e44kVn4ccvLgjce6PvB4tq+Gtv3HBI66xv26TSUZRYFDstLFk0cCsGjTziOJQ0+Bsz4Cb/0cWpsTL/Rwx/j5RyVv2bWf8eoYlwyiwCFZqWzkIEYNHciijTuP/mDm56G1CZY9k3ihtUugsBhGTDoqWVcckmkUOCQrmRkzJhWzeNPOI/0cEI2/GDcdFv0XtLcnVmjtm9Ftqpg1xZtbDtLU0qaOcckoChyStWaeNpL3m1p4b2enqUYu+jzs3AAb5va8sNbmqI8jTsc4aAyHZJaUCBxmVmxmL5vZuvA+Ik6eSjN73cyqzWyFmd2WjLpK5pg5qRjo1M8BMOUGGHIKLPxJzwvbuhzwuB3joDEckllSInAA9wBz3b0cmBv2O9sH3OHuZxGtf/6ImRX1Yx0lw5SPGkLx4AHH9nPkDYAL74quOOrX9qywNx6HvEIYP/2o5I4xHJpuRDJJqgSOG4GnwvZTwE2dM7j7WndfF7brgO1Aab/VUDKOmXFh2QgW18SZZuSCO6PVARc/2n1BmxdD9W/hki/DoOKjPqptbGFAbg4lQwb2TaVFUkCqBI7R7r4VILyPOl5mM5sBDADijtQys8+Y2RIzW1JfXx8viwgAMyeNZPPO/YdvKR02pDQaELjsGdjf2HUB7vDHb8KQ0TDr7mM+rm3cz5iiAnJyLM7BIump3wKHmb1iZivjvG5MsJwxwP8An3T3uI+9uPtP3X26u08vLdVFiXRtRujnWNy5nwNg5mfh4N5oXEdXqp+DLW/AFd+GgUOO+bh21z49USUZp98Ch7tf5e5nx3m9AGwLAaEjMGyPV4aZDQN+D3zb3Rf2V90lc00ZM4yhBXnHdpBDNOfUqZdEt6vaWo/9/GALvPKdaJ6ryk/ELb+usUWBQzJOqtyqehGYE7bnAC90zmBmA4DngP929z5c51OyWW6OcWFZMYs2dTGd+qy7ofE9ePwa2PXu0Z8tfjT67Jp/gZzcYw490NbOtuYWPVElGSdVAscDwNVmtg64OuxjZtPNrGPioFuBKuBOM1sWXpXxixPpuRmTitlYv5f65jhXFWdcCx/7BezcBI9WwZqXovS9O2De96H8gzD5A3HLfX93C+4awyGZJy/ZFQBw9wbgyjjpS4C7wvbPgePcbBY5MTNj+jmumzbm2AxnXgeffQ2evQOeuQ0u/Sq0NMKBvXDN97os9/DgP11xSIZJlSsOkaQ5e9xwBg3IZXFXt6sAiifBp16G8+fAX38AS56A6Z+E0jO6PGTLrmhEugKHZJqUuOIQSab83BwumDgifgf5URkL4IYfwqkXw4pfweX3Hjf76q3NFOTnMKF4UB/WViT5dMUhAswoK+ad95uPrEN+PJW3wx3Pw+CS42arrtvNmacMI1djOCTDKHCIEE14CF2M5zgB7s6qrU2cNXZYn5QnkkoUOESAaeOHMyAvp88Cx+ad+2luaeOsscP7pDyRVKLAIQIU5Ody3oSi7vs5eqi6bjeArjgkIylwiAQzJxVTXbeb5paDvS6ruq6J3BzjjFOG9kHNRFKLAodIcNHkkbQ7LOw8zfoJqK7bzemlQyjIP3ZEuUi6U+AQCS6YOILC/Fzmre39jMrqGJdMpsAhEgzMy+XiySOZv653gWPHnla2NbUyVYFDMpQCh0iMqvISahr28V7Dvu4zd6G6rglAT1RJxlLgEIlRVRGt3/JaL646Op6o0hWHZCoFDpEYk0oGM66osFf9HNV1TUwoLmR4YX4f1kwkdShwiMQwM6oqSnl9QwMHD8VdYLJbq+qaOGuMblNJ5lLgEOlkdkUJe1rbeOu946w13oU9rW1s2rFXt6kkoylwiHRyyekl5ObYCd2uWr21o2NcgUMylwKHSCfDCvI5b0LRCT2WW13bMdWIblVJ5lLgEInjsvJSVtTuZufeHkyzHqO6romRgwcwetjAk1QzkeRT4BCJo6qiBHf46/odCR1XXdfE1LHDMNMaHJK5FDhE4pg2voiiQfkJ9XMcaGtn3fZm3aaSjJcSgcPMis3sZTNbF95HxMkz0cyWmtkyM6s2s88lo66SHXJzjFmnlzB/XT3u3qNj1m5r5uAhV8e4ZLyUCBzAPcBcdy8H5ob9zrYCl7h7JTATuMfMxvZjHSXLzC4vZVtTK2u37elR/lV1eqJKskOqBI4bgafC9lPATZ0zuPsBd28NuwNJnbpLhrqsIlpTvKe3q6rrdjN4QC5lIwefzGqJJF2q/PId7e5bAcL7qHiZzGyCma0ANgMPuntdF/k+Y2ZLzGxJfX3vp8iW7DRmeCHlo4Ywr4eP5VbXNTFlzDByctQxLpmt3wKHmb1iZivjvG7saRnuvtndpwGnA3PMbHQX+X7q7tPdfXppaWlfNUGyUFVFKYs27WTfgbbj5mtvd1ZrDQ7JEv0WONz9Knc/O87rBWCbmY0BCO/buymrDqgGLjv5NZds9qFzTuFAWzs/W1Bz3Hw1DXvZe+CQnqiSrJAqt6peBOaE7TnAC50zmNl4MysM2yOAWcCafquhZKULJhZzzdTR/Oer69ne3NJlvr9taAA0lbpkh1QJHA8AV5vZOuDqsI+ZTTezx0KeKcAiM1sOvAZ8393fTkptJat880NTOHConX/749q4n9c17ufBl97hvFOLmDpGgUMyX16yKwDg7g3AlXHSlwB3he2XgWn9XDURykoGM+fiMh5fsIk7Lpl41O2o9nbna88u51C788htleoYl6yQKlccIinty1eWU1SYz/d+t+qoAYFPLNjE6xsbuO/6qUzUY7iSJRQ4RHpgeGE+X726goUbd/KnVdsAeOf9Jh56aQ1XTRnNbRdOSHINRfqPAodID90+41TKRw3hX/+wmj2tbXzll8sYVpjHAx89R5MaSlZR4BDpobzcHL513RRqGvZx048X8M77zTx08zRKhmgKdckuChwiCbj8jFHMrihl/fY9fHzmqVxxZtwxqCIZLSWeqhJJJ/d/5Gx+seg9vnTF6cmuikhSKHCIJGj8iEF849ozk10NkaTRrSoREUmIAoeIiCREgUNERBKiwCEiIglR4BARkYQocIiISEIUOEREJCEKHCIikhCLnSI6E5lZPfBuL4ooAXb0UXWSKRPakQltALUj1agd8U1099J4H2R84OgtM1vi7tOTXY/eyoR2ZEIbQO1INWpH4nSrSkREEqLAISIiCVHg6N5Pk12BPpIJ7ciENoDakWrUjgSpj0NERBKiKw4REUmIAoeIiCREgaMLZnatma0xs/Vmdk+y69NTZvaEmW03s5UxacVm9rKZrQvvI5JZx54wswlm9qqZrTazajO7O6SnVVvMrMDMFpvZ8tCOfw7pk8xsUWjHr8xsQLLr2h0zyzWzt8zsd2E/7doAYGY1Zva2mS0zsyUhLd2+V0Vm9hszeyf8jFzcn21Q4IjDzHKBHwN/B0wFbjezqcmtVY89CVzbKe0eYK67lwNzw36qawO+5u5TgIuAL4b/g3RrSytwhbufC1QC15rZRcCDwL+HduwCPpXEOvbU3cDqmP10bEOHD7h7Zcy4h3T7Xv0H8JK7nwmcS/T/0n9tcHe9Or2Ai4E/xuzfC9yb7HolUP8yYGXM/hpgTNgeA6xJdh1PoE0vAFenc1uAQcCbwEyiEb55If2o71sqvoDx4ZfRFcDvAEu3NsS0pQYo6ZSWNt8rYBiwifBwUzLaoCuO+MYBm2P2t4S0dDXa3bcChPdRSa5PQsysDDgPWEQatiXc4lkGbAdeBjYAje7eFrKkw/frEeAbQHvYH0n6taGDA38ys6Vm9pmQlk7fq9OAeuBn4dbhY2Y2mH5sgwJHfBYnTc8tJ4GZDQH+F/iKuzcluz4nwt0PuXsl0V/tM4Ap8bL1b616zsyuB7a7+9LY5DhZU7YNncxy9/OJbkV/0cyqkl2hBOUB5wM/cffzgL308601BY74tgATYvbHA3VJqktf2GZmYwDC+/Yk16dHzCyfKGg87e6/Dclp2RYAd28E/kLUZ1NkZnnho1T/fs0CbjCzGuCXRLerHiG92nCYu9eF9+3Ac0TBPJ2+V1uALe6+KOz/hiiQ9FsbFDjiewMoD0+NDAA+BryY5Dr1xovAnLA9h6i/IKWZmQGPA6vd/QcxH6VVW8ys1MyKwnYhcBVRR+arwM0hW0q3w93vdffx7l5G9LPwZ3f/BGnUhg5mNtjMhnZsA9cAK0mj75W7vw9sNrMzQtKVwCr6sQ0aOd4FM/sQ0V9VucAT7n5/kqvUI2b2DHA50RTL24DvAM8DzwKnAu8Bt7j7zmTVsSfM7FJgPvA2R+6rf5OonyNt2mJm04CniL5HOcCz7v5dMzuN6K/3YuAt4O/dvTV5Ne0ZM7sc+Lq7X5+ObQh1fi7s5gG/cPf7zWwk6fW9qgQeAwYAG4FPEr5f9EMbFDhERCQhulUlIiIJUeAQEZGEKHCIiEhCFDhERCQhChwiIpIQBQ5JW2Z2QyIzF4cZRb8Qs395x0yvfVyvO83sRwkeU2NmJXHS/8nMvh4n/ab+mHjTzMaa2W/CdmV4TL27Y/ac7HpJcilwSNpy9xfd/YEEDikCvtBtrk7CbMmp5iaimZtPKnevc/eOQX6VQLeBQzKfAoekHDMrC+sMPGZmK83saTO7yswWhLUGZoR8h/+yN7MnzeyHZvY3M9toZjfHKfoBYHJYh+HhkDYkZl2Dp8OI9Y4rgPvM7K/ALWY22cxeChPjzTezM0O+W0Idl5vZvJhzjQ3515nZQzFtuz2sBbHSzB7sov3fsmgtmFeAM+J8fglwA/BwaMvkcDWw0MxWmNlz8dZiiFdXM/tDGKRImDDvvrD9PTO7K/xfrAwzKHwXuC2c8zYzG2JmPwvtWWFmH4051/3hPAvNbHS8dkoaS/YUwXrp1flFNC18G3AO0R83S4EniCbWuxF4PuS7E/hR2H4S+HXIPxVY30W5sdPNXw7sJppnKQd4Hbg0fFYDfCMm71ygPGzPJJp2A6KR7ePCdlFMvTYCw4EC4F2iuc/GEo3oLSUatfxn4KaY85UAF4QyBxFNn72eaKR257Y8Cdwcs78CmB22vws8EueYeHW9B/hiONcbhKnRiaYTOSP23yz23zvsPxh7HmBEeHfgw2H7IeDbyf5O6dW3L11xSKra5O5vu3s7UE20QI0T/fIr6+KY59293d1XAT39K3exu28J51nWqexfweEZei8Bfm3R9OiPEq13ALAAeNLMPk00rUiHue6+291biOYRmghcCPzF3es9mo78aaDzzKyXAc+5+z6PZgPudo40MxtOFAheC0lPxSm3q7rOD3kvBX5PdAU2CChz9zXdnPoqogXPAHD3XWHzANGaHRAF/bLu2iDpJa/7LCJJETvnUXvMfjtdf29jj4k37Xd3xxzqVPbe8J5DtPZEZeeD3f1zZjYTuA5YFuYQ6qrcntbppMwD1EVd3wCmE10hvUx01fNpol/43bEu6nowBHk49t9UMoCuOCSbNANDEz0o/OW/ycxugWjmXjM7N2xPdvdF7n4f0Yp4E45T1CJgtpmVhA7324HXOuWZB3zEzAotmsX1w921xd13A7vM7LLw2T/EKTduXd39ANGiZbcCC4muQL4e3rs8Z/An4Esx5af0Ot3SdxQ4JGu4ewOwIHT2PtztAUf7BPApM1tOdOvsxpD+cEdnN9Ev/eXHOf9WomWIXw353nT3FzrleZPoFtkyorVI4v0Ch2hW2n8MHdqTiabRftjMVhA9/fTdOMd0Vdf5wDZ33xe2x3dx3leBqR2d48C/ACM6OtyBD3TVdsksmh1XREQSoisOERFJiAKHiIgkRIFDREQSosAhIiIJUeAQEZGEKHCIiEhCFDhERCQh/w+QXunr+eOjhQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "D = 60\n", "inps = np.linspace(-0.8, 1, 5)\n", "outs = []\n", "for qf in [q] + [make_q2(s) for s in inps]:\n", " results = test_all_thresholds_qf(D, calc_performance_qf, qf)\n", " outs.append(max(results)*D)\n", " print_max(D, results)\n", " plot_by_T(D, D**0.5*np.array(results), qf.__name__)\n", "plt.legend()\n", "# plt.plot(inps, outs[1:])" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "D = 299\n", "inps = np.linspace(-1, 1, 5)\n", "outs = []\n", "for qf in [q] + [make_q2(s) for s in inps]:\n", " results = test_all_thresholds_qf(D, calc_performance_qf, qf)\n", " outs.append(max(results)*D**0.5)\n", "# print_max(D, results)\n", "# plot_by_T(D, results, qf.__name__)\n", "# plt.legend()\n", "plt.plot(inps, outs[1:])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plots\n", "This plots performance by chosen threshold. The maximum value should match Table 1 in Hastings' paper. Notice that performance vs T is a shifted odd function." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "D = 2 T = 2 performance = 0.25\n", "D = 3 T = 3 performance = 0.1875\n", "D = 4 T = 3 performance = 0.140625\n", "D = 5 T = 4 performance = 0.15625\n", "D = 6 T = 5 performance = 0.1220703125\n", "D = 7 T = 5 performance = 0.128173828125\n", "D = 8 T = 6 performance = 0.11663818359375\n", "D = 9 T = 6 performance = 0.107666015625\n", "D = 10 T = 7 performance = 0.107666015625\n", "D = 11 T = 7 performance = 0.09252548217773438\n", "D = 12 T = 8 performance = 0.0986623764038086\n", "D = 13 T = 9 performance = 0.08860141038894653\n", "D = 14 T = 9 performance = 0.09050001204013824\n", "D = 15 T = 10 performance = 0.0853198766708374\n", "D = 16 T = 10 performance = 0.08332019206136465\n", "D = 17 T = 11 performance = 0.08158713206648827\n", "D = 18 T = 11 performance = 0.07705451361835003\n", "D = 19 T = 12 performance = 0.07778230123221874\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "for D in range(2, 20):\n", " results = test_all_thresholds(D, calc_performance)\n", " print_max(D, results)\n", " if D % 3 == 0:\n", " plot_by_T(D, results)\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Goal 2: Extend Hastings' algorithm analysis to graphs with triangles.\n", "\n", "This was completed on July 7 2020.\n", "\n", "### Graphs with one triangle\n", "derivation at https://www.overleaf.com/read/thgyswvpgmwt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Code (one triangle)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "def calc_performance_one_triangle(D, T):\n", " \"\"\"\n", " This calculates the performance over random \n", " after 1 step of Hastings' thresholding algorithm on a subgraph including 1 triangle.\n", " Precisely, returns delta = -1/2 for D-regular graphs with threshold T.\n", " \"\"\"\n", " s1 = 0\n", " s2 = 0\n", " s3 = 0\n", " # go through # of agreeing neighbors, from 0 through D-2\n", " for i in range(D-1):\n", " # factor out two copies of 2^-n, n=D-2\n", " s1 += binom(D-2, i)*q(i+2, T)\n", " s2 += binom(D-2, i)*q(i+1, T)\n", " s3 += binom(D-2, i)*q(i, T)\n", " return -0.5 * 0.25 * (s1**2 + s2**2 - 2*s2*s3) * 2**(-2*(D-2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plots (one triangle vs triangle-free)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that the maximum performance is slightly reduced when adding one triangle. \n", "\n", "Perhaps it is because $j$ is slightly more likely to be \"in sync\" with $i$; i.e. they will share switch/stay behavior if they share many neighbors.\n", "\n", "It is also interesting that the minimum performance is also slightly reduced. (Why?)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "D = 10 T = 7 performance = 0.107666015625\n", "D = 10 T = 7 performance = 0.09271240234375\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "D=10\n", "results = test_all_thresholds(D, calc_performance)\n", "print_max(D, results)\n", "plot_by_T(D, results, \"triangle-free, \")\n", "\n", "results = test_all_thresholds(D, calc_performance_one_triangle)\n", "print_max(D, results)\n", "plot_by_T(D, results, \"one triangle, \")\n", "\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Y triangles\n", "Derivation at https://www.overleaf.com/read/thgyswvpgmwt" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "def calc_performance_y_triangles(D, T, Y):\n", " \"\"\"\n", " This calculates the performance over random \n", " after 1 step of Hastings' thresholding algorithm on a subgraph including Y triangles.\n", " Precisely, returns delta = -1/2 for D-regular graphs with threshold T.\n", " \"\"\"\n", " p_k_vec = binom(D-1-Y, range(D-Y))\n", " out = 0\n", " for l in range(0, Y+1):\n", " q_kl1_vec = q(np.array(range(l+1, D-Y + l+1)), T)\n", " q_kl_vec = q(np.array(range(l, D-Y + l)), T)\n", " q_kyl_vec = q(np.array(range(Y-l, D-Y + Y-l)), T)\n", " f_dyl = sum(p_k_vec * q_kl1_vec)**2 - sum(p_k_vec * q_kl_vec)*sum(p_k_vec * q_kyl_vec)\n", " out += (f_dyl*binom(Y, l))\n", " # add powers of 2 at the end\n", " return -0.5 * 0.5 * out * 2**(-Y) * 2**((-2*(D-1-Y)))" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "def test_y_triangles_formula():\n", " \"\"\"Tests Y triangle formula against 0 and 1 triangle formula.\"\"\"\n", " assert calc_performance(5, 2) == calc_performance_y_triangles(5, 2, 0)\n", " assert calc_performance(5, 5) == calc_performance_y_triangles(5, 5, 0)\n", " assert calc_performance_one_triangle(5, 2) == calc_performance_y_triangles(5, 2, 1)\n", "\n", "test_y_triangles_formula()" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "def calc_performance_y_triangles_curried(Y):\n", " \"\"\"Creates a 2-argument function given number of triangles Y.\"\"\"\n", " return lambda d, t: calc_performance_y_triangles(d, t, Y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plots (triangle-free vs many triangles)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This confirms that the triangle-free results match the general results for Y=0." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "D = 8 T = 6 performance = 0.11663818359375\n", "D = 8 T = 6 performance = 0.11663818359375\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "D=8\n", "results = test_all_thresholds(D, calc_performance)\n", "print_max(D, results)\n", "plot_by_T(D, results, \"triangle-free, \")\n", "\n", "results = test_all_thresholds(D, calc_performance_y_triangles_curried(0))\n", "print_max(D, results)\n", "plot_by_T(D, results, \"Y=0, \")\n", "\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This confirms that the one-triangle results match the general results for Y=1." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "D = 8 T = 6 performance = 0.1007080078125\n", "D = 8 T = 6 performance = 0.1007080078125\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "D=8\n", "results = test_all_thresholds(D, calc_performance_one_triangle)\n", "print_max(D, results)\n", "plot_by_T(D, results, \"one triangle, \")\n", "\n", "results = test_all_thresholds(D, calc_performance_y_triangles_curried(1))\n", "print_max(D, results)\n", "plot_by_T(D, results, \"Y=1, \")\n", "\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The more triangles shared by $i$ and $j$, the worse the performance. I think it is because the spin update of $i$ and $j$ are more influenced by the shared nodes than by the edge $E_{ij}$." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "D = 12 T = 8 performance = 0.0986623764038086\n", "D = 12 T = 8 performance = 0.08471488952636719\n", "D = 12 T = 8 performance = 0.07089614868164062\n", "D = 12 T = 8 performance = 0.0571441650390625\n", "D = 12 T = 9 performance = 0.05065155029296875\n", "D = 12 T = 9 performance = 0.044830322265625\n", "D = 12 T = 9 performance = 0.03826904296875\n", "D = 12 T = 9 performance = 0.03076171875\n", "D = 12 T = 9 performance = 0.02197265625\n", "D = 12 T = 9 performance = 0.01123046875\n", "D = 12 T = 10 performance = 0.005126953125\n", "D = 12 T = 0 performance = -0.0\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "D=12\n", "# from 0 through D-1 possible triangles\n", "ys_to_plot = range(D)\n", "\n", "for (results, y) in [(test_all_thresholds(D, calc_performance_y_triangles_curried(y)), y) for y in ys_to_plot]:\n", " print_max(D, results)\n", " if y % 2 == 0:\n", " plot_by_T(D, results, \"Y=\" + str(y) + \", \")\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Testing: what about $Y = \\sqrt{D}$?" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "5 8\n", "D = 5 T = 0 performance = -0.0\n", "10 12\n", "D = 10 T = 0 performance = -0.0\n", "20 17\n", "D = 20 T = 0 performance = -0.15308570861816406\n", "100 40\n", "D = 100 T = 19 performance = 0.008213472052512473\n", "300 69\n", "D = 300 T = 45 performance = 0.005489552896813169\n", "400 80\n", "D = 400 T = 57 performance = 0.004801671222457815\n", "500 89\n", "D = 500 T = 69 performance = 0.004359136997572702\n" ] }, { "data": { "text/plain": [ "(0, 0.4)" ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# seems like O(1/\\sqrt{D}) negative advantage.\n", "Ds = np.array([5, 10, 20, 100, 300, 400, 500])\n", "for D in Ds:\n", " D = int(D)\n", " y = int(4*D**0.5)\n", " print(D, y)\n", "# results = test_all_thresholds(D, calc_performance_y_triangles_curried(y))\n", " results = [calc_performance_y_triangles_curried(y)(D, T) for T in range(int(0.4*D), int(0.6*D))]\n", " print_max(D, results)\n", " # kunal testing 2020-11-13\n", " plt.plot((np.arange(len(results))/D - 0.1)*D**0.5, D**0.5*np.array(results), label=\"Y=\" + str(y))\n", "# plot_by_T(D, D**0.5*np.array(results), \"Y=\" + str(y) + \", \", scaled=True)\n", "plt.title(\"performance * $\\sqrt{D}$\")\n", "plt.legend()\n", "plt.grid()\n", "plt.xlabel('for now; k')\n", "plt.ylim(0, 0.4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Testing: what about Y = D/2?" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "5 2\n", "D = 5 T = 4 performance = 0.078125\n", "10 5\n", "D = 10 T = 8 performance = 0.0390625\n", "20 10\n", "D = 20 T = 14 performance = 0.02521481364965439\n", "100 50\n", "D = 100 T = 60 performance = 0.005552559437854753\n", "300 150\n", "D = 300 T = 169 performance = 0.001612017055228795\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# seems like O(1) (i.e. -0.25) negative advantage.\n", "Ds = np.array([5, 10, 20, 100, 300])\n", "for D in Ds:\n", " D = int(D)\n", " y = int(D/2)\n", " print(D, y)\n", " results = test_all_thresholds(D, calc_performance_y_triangles_curried(y))\n", " print_max(D, results)\n", " plot_by_T(D, np.array(results), \"Y=\" + str(y) + \", \", scaled=True)\n", "# plt.title(\"performance * $\\sqrt{D}$\")\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Testing: What about $Y = D^{2/3}$?" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "5 2\n", "D = 5 T = 4 performance = 0.078125\n", "10 4\n", "D = 10 T = 7 performance = 0.0472412109375\n", "20 7\n", "D = 20 T = 13 performance = 0.0350851034745574\n", "100 21\n", "D = 100 T = 58 performance = 0.014875157802169489\n", "300 44\n", "D = 300 T = 163 performance = 0.00788104941884438\n", "500 62\n", "D = 500 T = 267 performance = 0.005779483614400826\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY4AAAEaCAYAAAAG87ApAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOydd3xUVdqAnzMlmfTeE1oSOkiT3lGalWIXu7hrXV0Xdddd+7e69t57V4qgUpQOimBClRJIIJAGpPdJppzvjzuEACkzk0wIeJ7fL8zccs59b5jcd97zNiGlRKFQKBQKZ9GdbgEUCoVCcWahFIdCoVAoXEIpDoVCoVC4hFIcCoVCoXAJpTgUCoVC4RJKcSgUCoXCJZTiUCgUCoVLKMWhUCicQggRJITYJISoEEL0PumYnxBilRDiVyHEGiHESiFEzOmSVeFZlOJQKBTOUgVcAMxt4Nh44CtgpJRyDPAJcHMbyqZoQ5TiUPxpEEJ0E0JsEUKUCyHuPt3ynGlIKS1SyvxGDk8Glkgp7Y7tAGBn20imaGuU4lD8mZgDrJZSBkgpXzndwrQVQogbhBBjmzknRAghHctQFUKIQ0KIuScvSTVBBynlISFEPyHERuBOYHNLZVe0T5TiUPwpEEIYgI64+S3YMf6MQghxmxBi2vFNMbve9sn0A4qklP5SSn+gP7AN2CiE6N7MdboBewGklFullEOAfwMPtcqNKNodSnEo2jVCiEwhxENCiF1CiGIhxIdCCJPjWKwQYp4QIl8IceDk5SfH2AeEENsBCzAOeM3xjbqr45weQojVQogSIcROIcTFjYyvFEIYHPv+IYTYLoSoFEK8L4SIEkIscSyBLRdChNSb40EhRIbj2K76D27HXPc75ioVQnx97N4cxxOEEPMd91cohHjNmfuuxwdAIvA34P8AO7CwkXP7AVuPbUgpC6WUT6BZDc35KiYDS4QQ3vX2laL5RBRnIUpxKM4ErgEmoT0EuwIPCyF0wPdo34rjgAnA34QQk04aexWaQ9cXWAfc6fhWvVcIYXTM8RMQCdwFfO74Bn3y+GAppdWxbwZwvkOWi4AlwD+BcLS/qfoP8gxgFBAEPAZ8dlK00eVoD97OQF/gBgAhhB74ATgIdHLc41cu3PcxZL1XW73tk+lPPcVRjz2O6+CQazEwEXhXCHGDY/dotN/tACHEWiHEKjRl9Wwj11Kc4SjFoTgTeE1KmSWlLAKeQnuYnwtESCkfl1LWSin3A+8CV5409hXH2OoG5h0K+ANPO+ZYifawvqqZ8a9KKY9IKXPQHpgbpZRbpJQ1wAK0hzAAUspvpZS5Ukq7lPJrYB8w+KT5cx339j3aN38c58QC/5BSVkopzVLK9S7cN8BNwAHgJeBfgBdwSQPnwUkWRz2CgDqHuJRyqpQyVko5TEr5kWP3PClljZRyg5RytJRynJRyipQyr5FrKc5wzrh1W8Wfkqx67w+iPVA7ArFCiJJ6x/RoD/LGxp5MLJBVLxLo2Pxx9bYbGn+k3vvqBrb9j20IIa4D7kOzGnAcC693/uF676scMgEkAAfrWTnHcPa+kVK+7ZDhBm1T2z4ZxxJTDzQrpv5+PTCcEy2oU5BSftHUccXZh1IcijOBhHrvOwC5aA/0A1LK5GbGNtWpLBdIEELo6imPDjgcvU6MbxIhREc0a2ACsEFKaRNCbAWEE8OzgA5CCMNJysPZ+66jnmXQGL3R/B+7T9r/F6AWzRJSKOpQS1WKM4E7hBDxQohQNF/C18AmoMzhvPYRQuiFEL2FEOe6MO9GoBKYI4QwOkJWL0JLZGsN/NAUTz6AEOJGtIe0M2wC8oCnHVnZJiHECFrnvk+mP7BTSmlxyJkghHgSzSdz5bH9CsUxlOJQnAl8gebA3u/4eVJKaUN7yPdDW8cvAN5DW5N3CillLXAxMMUx/g3gOinlntYQWkq5C3ge2IC2nNUH+MXJscfuLwk4BGQDV7TGfTdAP6CvI/KrGFgOhACDpJSbWjCv4ixFqJ7jivaMECITuEVKufx0y6JQKDSUxaFQKBQKl1CKQ6FQKBQuoZaqFAqFQuESyuJQKBQKhUsoxaFQKBQKlzjrEwDDw8Nlp06dTrcYCoVCcUaRmppaIKWMaOjYWa84OnXqREpKyukWQ6FQKM4ohBAHGzumlqoUCoVC4RJKcSgUCoXCJZTiUCgUCoVLKMWhUCgUCpdQikOhUCgULqEUh0KhUChcQikOhUKhULiEUhwKhaJF2OySz347yLasElTtuz8HZ30CoEKh8Cw/7zrMw9/9AUC3qAAuGxTPtP5xhPl7n2bJFJ5CWRwKhaJFzE3NJjLAm6em9cbkpefJH3cz9L8r+OtnqazacxSbXVkhZxvK4lAoFG5TUFHD6rR8bh7ZmWuGdOSaIR1JO1zONylZLNiSw5I/DhMdaGLGwDguG5hAp3C/0y2yohVQikOhULjNwq25WO2SGQPj6/Z1iw7g3xf25IHJ3Vm55whf/57Fm6szeH1VBkM6h3L5oASm9onBx0t/GiVXtISzvpHToEGDpCpyqFB4hqkvr8OgFyy6c2ST5x0uNTNvczbfpmSRWViFv7eBi86J5fJB8fRLCEYI0UYSK5xFCJEqpRzU0DFlcSgUCrfYlVvGrrwyHru4V7PnRgeZuGNcErePTWTTgSK+Scnmuy05fLnpEF2j/Ll8UAKX9o8jXDnUzwiUxaFQKNziiR928cmGTDb98zxC/LxcHl9utvDD9jy+Scliy6ESDDrBeT2iuPzceEYnR2DQq9id04myOBQKRatisdlZuDWH8d0j3VIaAAEmI1cN7sBVgzuw90g536ZkMX9zDkt3HiYq0JsZA+K5bFACnZVDvd2hFIdCoXCZtXvzKaioZebAhFaZr2tUAP+6oCf/mNSdlXuO8m1KFm+tyeCN1RkM7hTK5ecmMLVPNL5e6pHVHmhXtqAQYrIQIk0IkS6EeLCB46OFEJuFEFYhxMzTIaNCoYB5m7MJ8/NibLcGO4u6jZdBx+Te0bx/w7lseGgCcyZ3I7+ihvu/3cbgp1bw4LztbD5UrDLUTzPtRn0LIfTA68D5QDbwuxBikZRyV73TDgE3APe3vYQKhQKgpKqW5buOcs3QDhg96IeICjRx+9gk/jomkZSDxXz9exYLt+by1e9ZJEX6c/mgeKb1jyciQDnU25p2oziAwUC6lHI/gBDiK+ASoE5xSCkzHcfsp0NAheKMY9vXsPIJMPqAdwB4+Wuv9X9O3le3HQjejvdGX3CEzH6/PY9am50ZA+KbuXjrIITg3E6hnNsplEcv7sUP23L5JiWL/1u8h/8tTWN890iuODeBMV2VQ72taE+KIw7IqredDQxxZyIhxGxgNkCHDh1aLplCcaaS8j7YbRDZE2oroKYcKgu015oybZ/d2vw8QgdeAeDtz5hKPUv8fOi+Iva4svENg6G3Q2CMR2/H39vAlYM7cOXgDqQfLeeblGzmb87mp11HiAjQHOqXD4qnS4S/R+X4s9OeFEdDGUBuLWRKKd8B3gEtHLclQikU7QWLzcIXe74g2DuYpOAkOgd1xtfo2/iAinzI2gRjH9R+GkJKsJqhpuK4Iqkpd2yXQ225Y1vbV1ZaxI6dBzgnQo+orYTyw9qY8sOwayFctxBCO3vmF3ASSZEB/HNqD/4xqRur9hzlm5Qs3l23n7fWZHBupxAuG5TABX1i8PNuT4+5s4P29BvNBuqHaMQDuadJFoWi3bE0cynPpTxXty0QxPnHkRScRGJwIonBiXUKxWQwwb5lgIRuUxqfVAhtGcvoA/7NO7rfXLqHd2z7+e3GCVDft5CzGT6bDh9Mhuu+g8geLbhT1zDqdUzsFc3EXtEcLTMzf0sO3/yexZy523ls0U4u7BvL5efGM6BDiMpQbyXak+L4HUgWQnQGcoArgatPr0gKRfth8YHFxPjF8NZ5b5FRmkF6SToZJRlklGSwPmc9VqktOemEjnj/eBIrS0iKimeIrHZvzfckbHbJgs05jOkacapDOm4A3LgEPrkUPpwK187T9rUxkYEm/jImkdtGdyH1YDHfpGTx/fZcvk7JIjHCj8sHJTBtQByRAaY2l+1sol1ljgshpgIvAXrgAynlU0KIx4EUKeUiIcS5wAIgBDADh6WUTdY7UJnjirOBInMR478Zz/W9rufegfeectxit3Co7FCdMkkv2kvG/mUcNBqxIXl+zPNM7DSxRTKs25fPrPc38frVA7igbyO+jKL98MklUFUMV38NnUa06JqtQUWNlcXb8/g6JYvUg8XodYLx3SO5fFACY7tFeDQy7EymqczxdqU4PIFSHIqzga/3fM2TG59k7kVz6RbarfkBe3+CLy6j6sovmL3/S/YU7eGDSR/QN6Kv2zLc89UWVu05yqZ/nYfJ2ERl27JczfIoOQiXfwpdW6awWpP0oxV8m5rFvNQcCipqiAjwZvoAreR7UqRyqNenKcWhVK1CcQaw+MBikoKT6BrS1bkBe5eA0Q/fxAm8Mv4Vwn3CuWvlXeRU5Lh1/XKzhWU7D3PRObFNKw2AwFi4cTFEdIOvroI/5rt1TU+QFOnPQ1N6sOGh8bx73SD6JQTz3roDnPfCGma++Svf/J5FRY0TUWZ/cpTiUCjaOXkVeWw+upkpnac459yVEtKWQtJ4MJoINYXyxoQ3sNgs3LH8Dspqy1yWYfGOPMwWOzMHOpm74RcO138P8efCvJth8ycuX9OTGPU6zu8ZxbvXDWLDQ+N5aEp3iqpqmTNvO8P+u4L31u2n1qrSxRpDKQ6Fop2zJHMJAFM6NxEdVZ+8bVCeC92m1u3qEtyFF8e9yMGyg/x99d+x2C0uyTAvNYcuEX70Swh2fpApCK6dD4njYdFdsOF1l67ZVkQGmLhtTCIr7hvDvL8OY1DHEJ78cTeTX1rLit1HVHmTBlCKQ6Fo5yzev5i+EX1JCHCyoGDaEkBA8om+hSExQ/jPsP/wW95vPPXbU04/EA8WVrIps4gZA+JdD2f18oUrv4Sel8Cyf8Kq/2oWUTtECMHAjqF8eONgPrzhXBBw88cpXP/h76QfLT/d4rUrlOJQKNox6cXppBWnMbXz1OZPPkbaYkgYoi0XncS05Gnc0ucW5u2bx0c7P3JqunmbcxACpg+Ic16G+hi8YMYH0O9aWPO0pkDaqfI4xrjukSz722j+fWFPthwqZtJL63h00U5Kq1yz1M5WlOJQKDxE2dKlpE84j73DhpM26FwK33vP5TkWH1iMTuiY1GmScwNKc+Dw9iaT/u7qfxcTO07khdQX+Pngz01OZ7dL5m/OZkRiODFBPq6IfiJ6A1z8Kgz5C/z2hrZ0Zbe5P18bYNTruHlkZ1bfP5Yrz03gkw2ZjH1uFZ9uyMRq+3P7P5TiUCg8gLTbyX/xJRCCgMmTMPXpzdHnnqdizRrn55CSJQeWMCR6COE+p1oPDbJX84c0pTh0QsdTI5+ib0RfHlr3EDvydzR67qbMIrKLq513ijeFTgeTn4bRc2DLp5rT3Frb8nk9TJi/N09N68OPd4+ie3Qg/164kwteWc8v6QWnW7TThlIcCoUHqFi9htqDB4m492/EPPIICW++iXf37uTMeYDabOdCYncU7CC7IpupXVxZploCoV0gvOmwXZPBxCvjjofp5lY0XN1nXmo2/t4GJvWKdl6GphACxv8LJj4JOxfAV1dDbVXrzO1hesQE8sWtQ3jr2gFUWaxc895GZn+SwsHCytMtWpujFIdC4QGKPv4YQ3Q0gRM1B7XOZCL+lZfBbifnnnuQ1uZzBRYfWIyXzosJHSY4d9GaCjiwVoumcsKJHeYTxhsT3qDWVssdK+6gvPZEB3BVrZXFO/KY2icaH69mcjdcZfhdcNHLkL4cPp8JZtdDhE8HQggm947h53vH8I9J3VifXsD5L6zl6SV7/lT5H0pxKBStjHnXLqo2biR01rUIo7Fuv1eHDsQ88TjmnTspmdd0UpzVbmXpgaWMjh9NgFeAcxfOWAm2Wug62WlZuwR34YVxL5BZmnlKmO7SPw5TWWvzXN+NgTfAjPcgayN8cjFUFnrmOh7AZNRzx7gkVt0/lovOieWtNRmMfXY136RkYbe3b8d/a6AUh0LRQk4Oay36+GOEry/Bl112yrkBkybhM2AA+a+9ir2q8SWa3w//TqG50PVlKlMwdBjq/BhgaMxQ/j3s32zI28D/bfy/uvuZtzmbhFAfzu0U6tJ8LtFnJlz5BRzdDR9NhbI8z13LA0QFmnj+8nP47o4RdAj1Yc7c7Vzy+i+kZBadbtE8ilIcCkULyNxewNt3r2HhS1uoqbZiq6ikdPESgqdNQx8YeMr5Qggi7/87tvwCij5pPJt68YHF+Bv9GRU3yjlB7DatjHry+aA3Nn/+SUxPns7NvW9m7t65fLzzY3JLqvk1o5AZA+LR6TxcirzrJLhmLpRmwweToOiAZ6/nAfolBDPvr8N5+cp+5JfXMPOtDdz15RZySqpPt2geQSkOhcJNaqosLP9oF0jISStm7Zdp1KTtAYsFv1EjGx3nO2AA/hMmUPjue1iLi0+d11bD8oPLmdBhgtZXwxmyf4eqwqZ7bzTD3QPurgvTfXb9N0hJm7WHpfMouG4RmEvhwylwdE/bXLcVEUJwSb84Vt4/hrsnJPPTzsNMeH41L/68l+ra9h167CpKcSgUbpB/KJMVH3yGuaKcS+7tz8Apndi76Qh5m/YBYOrRs8nxkff+DXt1NQVvvnnKsXXZ66iwVLie9KczQNJ5Lt1HfY6F6faL6MfygudJStpKQmgTHQZbm/iBWk8PadeUR+6Wtrt2K+LrZeC+87uy4u9jmNAjipdX7GPC86tZtC33rClfohSHQuEi5soKvn38n+xeNw+beTFRnQLod14CRpOeP3bZ0YeFYYhsupued1ISQdOnUfLlV6eE5y4+sJhQUyiDYwY7L1TaUug4QqsP1QJMBhN/6f4MlooeHDF+xfMpz2OXbZjsFtVTUx5e/vDRRZD5S9tdu5WJD/Hl9asH8M1twwjx8+LuL7dw2Vsb2JFderpFazFKcSgULpKRspHq8jKMPj2w1hwka+d2vH2N9BwZS05tBPQc4FRNp4g77wSdjoJXX6nbV1FbwZqsNUzuNBmDzskGnYUZUJB2QlHDlvDDtgI4ch0zki7no50fMWftHGpsNa0yt1OEJcJNSyEwRmtHu6/p7Pb2zuDOoSy6cyTPzOhDZmElF7++nn98u42j5ebTLZrbKMWhULjIga2p+AaFovM+H6PJn+0rlgLQc2gkUujJjXSuUasxOpqQa6+hdNH3mNPSAFhxaAW19lrXoqn2atenm/NhuI1httj4YVsuU3rH8cjwh7l/0P0sy1zG7J9mU1rTht+Ug+I0yyO8K3x5lZYseAaj1wmuOLcDq+4fy+xRXfhuaw7jnl3Nm6szqLGeef4PpTgUChc5eiCd4JjOCGGgc//hZKT8RnVFOT4l2YQU7eZAVbTTsfzht96KLiCA/BdeBLRlqjj/OPqGu9CpL20JRPaEkE5u3M2JLN99hDKzta4S7vW9rufZMc+yo2AH1y6+lqzyrBZfw2mO9fSIGwhzb4LNn7bdtT1EgMnIQ1N78NO9YxiWGM4zS/cw8cW1LNt5+IzyfyjFoVC4QG11FcWH8/D21Xpu9580CZvVStovazHv2klc7jqqqgUHdzhXx0gfHEzYrbdQsWYNuSt+ZGPeRqZ2nup8+fLqYjj4a4uiqeozLzWbmCATwxLD6vZN7jSZdye+S5G5iGsXX8sfBX+0yrWcwicYZs2HLmNh0Z2w7F9Q0obKy0N0DvfjvesH8enNg/HS67jt01SufX8jaYfPjPLtSnEoFC5QlJMNUmKXofiHeBPXvSth8R3YtX4V5t27iTQfwC/Iiz/WOt+iNfT66/Hq3Jmjjz+JvtbqWjTVvuUgba3i3zhaZmbtvgKm9Y9Df1LuxsCogXw69VN8DD7ctOwmVmetbvH1nMbLD676Cs65WmsG9XJfbflq33Kwn9lVakclR7DknlE8dnEv/sgpY8rLa/n3d39QVNm+iz8qxaFQuEBp/hEAzJW+hMb4IYSg5+jx5O3dQ+Gunfh270rPUXEc2lVEab5zyV86Ly+iH3sU7yMlzE4JJikkyXmB0haDXyTEDnDndk7gu6052OySGY1Uwu0S1IXPpn5Gl6Au3LPqHr7e83WLr+k0Bm+Y9ibcsw1G/E3LW/l8BrzaH9a/BJVnbqVag17H9cM7sfr+scwa2pEvNh1i7LOr+PCXA1jaafl2pTgUChcoOXIYAHOFicBwrT9F9xFjQAj2FxzG1KsnPUfEIoRg5zrnrY7iHrGs7CsYtbaozlHeLNZarUhg10layfIWIKVkXmoO/RKCSYzwb/S8cJ9wPpj0AaPiRvHkxid5IfWFtg3XDekI5z0C9+6CGe9DYBwsfwRe6AHzboVDv7X7JlGNEeLnxWOX9GbJPaM4JyGYx77fxZSX17Fmb/7pFu0UlOJQKFyg7OgRTAGB1FTr8A/1BiAwPIK4zknkBPjg1b07/iHedD4nnN2/5mG1OBcxszRzKZ+O16ELCiL3/n9gq3CiVPehX6GmrFX8Gztzy0g7Uu5U3w1foy8vjXuJy7tezod/fMiDax+k1tbGSysGL63O1Y2L4fbftIKJe5dqJUveHAG/vwc1Z4a/4GS6RgXwyU2Defe6QVhtdq7/YBM3f/Q7+/MrTrdodSjFoVC4QHlhPn5BmuM4IPR4OZDEyFiqvI2UBvgB0HdsPOYKC7vWO1e078f9P9K14wASnn+emv37yZ0zB9nc+n3aEjCYNMdxC5mbmo2XQcdFfWOdOt+gM/Dw0If524C/sSRzCbN/nk1GSUaL5XCLyB4w9Vm4b7dWql2nhx//Ds93hx/uhcNt6MxvJYQQnN8zimX3juahKd3ZeKCISS+t5ckfdlFaffrb1yrFoVC4QEVJMV4+WvFC/3qKI7ragt5mZ+fOrQDEdg0mNjmY1KWZ1Jqb7tOwt3gv6SXpTO08Fb/hw4l66CEqVq4k/6WXGx8kpebf6DJWcx63gFqrnUXbcjm/RxRBvs4XSBRCcHOfm3lm1DPsyN/BpQsv5drF1zJ/33wqLaehuZG3v2Z53LYWblkBPS6GrV/AWyPg/Ymw7WuwnFlJd94GPbeNSWTV/WOZMSCe9385wPjnVvPFxkPYTmP5dqU4FAoXqCwuQm/U+mPUtzhEXh6dbTrSNqyn5MhhhBAMm5ZIVWktKT9mNjnn4v2L0Qs9EztpTZ9Crrma4CuuoPCddzj68ssNWx5Hd0PJIZd6bzTGqrSjFFXWMmNgnFvjp3aZyrKZy/j7wL9TVlvGI78+wrhvxvGfX/7D1qNb2z4/QQiIH6Q50+/bDROf0pznC2ZrvpCf/g1F+9tWphYSEeDN0zP68v2dI+kS4cc/F+zgwlfX89v+09PDRCkOhcJJ7DYbVWWlCJ0fQoBfkFfdMUtOLt1Do9AbDKz7/EMAorsE0XNEDFuXHyJn76lVcOF4X/GhsUMJNWl9L4QQRD/8L4JmzqDwzbfIufc+7NUnRWilLdZeW0FxzEvNJtzfm9HJTdfXaopwn3Bu6H0DCy9ZyKdTPmVyp8kszVzKrCWzuHThpXz0x0cUVp+Gh5xvKAy/E+5MgVkLoONwLaT3lf7w6XTY8yPYzpzOfb3jgvjmtmG8dnV/yqotXPnOb9z+eSpZRW3bflcpDoXCSapKS0BKpN0Xv2BvdPrjfz6W3FwC4xMYOuNK9m78hbQN6wAYcVkyQZG+LH37D4pyT12+2Za/jdzKXC7ofMEJ+4XRSMwTTxA5Zw7lP/3EgekzKF+x4vi397QlWghuYEyL7qmospZVaUeZ1j8Wg77ljwMhBP0i+/H4iMdZdfkqHhv+GAFeATyf+jznfXse9666l7XZa7HZ27jMhk4HiePhys/h3j9gzINwdJfW8/zlvrDmf1B+uG1lchMhBBf2jWXF38dw3/ldWbUnnwkvrOG5ZWlUtlH72nalOIQQk4UQaUKIdCHEgw0c9xZCfO04vlEI0antpVT8WaksLQHAZvfBN8i7br+9qgpbSQnGmBgGXTSNmKRuLH39RQ5sTcXLZODCO/ui0wvmP5dKeurRE5Zuftz/I956b8Z3GH/K9YQQhN10IwnvvgtA9h13cvDaWZR+/Sm2zM2tEk21aGsOFlvjuRstwc/ox/Tk6Xw29TO+u+Q7ru5xNalHUrljxR1MnDeRZzY9w5d7vmTVoVXsLtxNibmkbZa1AmNh3EPwtx1w+acQngyrnoIXe8E318GexZCdCgX7oPwIWKrbZYivyajn7gnJrLx/DFN7R/PaqnTGP7+a+ZuzPd6+VrSX+ihCCD2wFzgfyAZ+B66SUu6qd87tQF8p5V+EEFcC06SUVzQ176BBg2RKSopbMtnt0vPdzxRnDAd3bGXukw8T0eU6wuK7ccEd5wBQk5HB/gsuJPbZ/xF00UVUlZXy7RP/ouBQJj1HjaPH6PH4h3Zk5ScZ5B8qJzTWjx7DY4js4s91G67knNg+PD/u+SavLa1WSubOo+Dtt7Hm5SF0Et/+fTH1H4x39x4Y42IxRkWhDwtD5+3d5Fz1uejV9dil5Me7new02EIsNgurs1czf998NuZtPKHHOYBJbyLaL5oovyiifaOJ9tN+YvxiiPaLJtArEKPOiFFvxKgzYtAZ0IlW+P5bmAEpH8CWz8BccupxnRFMgeAdWO816Ph2/fd1r0EnbhtMmv/FQ6QeLObx73eyLbuUfgnBPHJRT/p3CHF7PiFEqpRyUIPH2pHiGAY8KqWc5Nh+CEBK+d965yxznLNBCGEADgMRsombcFdx7ErZyE/PveaM5E1uNj+6uQGnHhf13glo9sPY8AyyyTNc4ZR7qC+P0LaF0Gn7dQIh9GDQI/T65ucUx/cA6I069AaB0duAyc+IwUuv+RuCQwmKiia2aw9ik7shWpgQ1xBpG9bzw0tPExR7E10G9GD8rB4AVKxbR9ats+n4+Wf4DhwIgKXGzK/ffsG2nxZjqdEiebx8fDF4+VJrltgsgNABOhCgdywTCSFAOO62of8WCdJaAzY7El3jJTdO/j9oeAO7lGiXPN1fkGS9f6n7hu/q06m17sJbF0ny0eXs7m7i1xE+WnMpu67NAecAACAASURBVE0r79LAay9zNQ8XNuzHquNk5TPyXug1rZUk1rDbJfO35PDM0j1aC9uB8Tw7s6/ztc/q0ZTicLLgf5sQB9SvXpYNnFyfuu4cKaVVCFEKhAEn1BsQQswGZgN06NDBLWHstloEJz3YhGz6k9zk/03T/3GnTitPOSKRJ81jrzvl+B++qHvoHNt3fJRwzHLy1Zq6KRf/dKX2O6ovtbZRf6fjjRAgdAi9DvT6eg872eClJRJpkyeY4QajDpO/AYt5J+YKLeErLL4DE276Cwm9XKgw6wQ1lVoCVk2VAZ+Aeo7xXC1Xwxh7PAfC6G1izLU3MWzmVeTu2cWRAxlUlhZTXVaG3W6ntrqG9Lz9VFdXEO+bgN0mtWel1Bzmjf/aJVSZwcsHvPy1/0ub9lCTdqkpEimPL/nIep+jk+a02SUCidEDSrY1kdovpYFPbXOfzYZ/j858ooUOLIH+GEJCCY5ofhnPP7gr9LpRS8g0l530WtrwfoOPE5K4hk4nmDkwnsm9o3ljVTpmi90tpdEc7UlxNPL9yuVzkFK+A7wDmsXhjjC9h4yi2+cjeGbJHt5bf4B+CcG8fs0A4gK9jn8YzPU/FCdvlzR+/CTzHKGHvlfAqL9DeNN1imx2G7X2WgqqC8iryCOvMo/cylwOVx4mt0J7zavMO6XxTrB3MNOSpnFV96uI8W+ZQ9VdpM2GtbAQ65Ej1OxLx7xrF1UpKdTs2QM6HQHnnUfknDl4xTcdFmq32SnKqyJnbzG71udSlFtJl8ERjJgZT9Yfm9m44Gu+ffJhJt9+Lz1HjWs1+asdiknije8JiiMX9HoMEadGJXmZfOjUbyCd+g08Yb+UklFfj2JM/BhuGfmU80KkLYUvr4Br50PSBPduBLDa7Ax7eiX9EoJ597oGv1Qq3MEn+HRLAIC/t4E5k7t7bP72pDiygYR62/FAbiPnZDuWqoKAIk8JZNTrePjCngzqFML9327nwlfW8dKV/RnTNQJ83Fw7lBKs5uOKpLoYdn0HKR/C9q8003XU/VoLzQbQ6/T46HxICEggISChwXOklBSZi8irdCiWily25W/jk12f8MmuT5jQYQKzes7inIhzPPJtpDGEXo8xMhJjZCQ+ffrAdM1Mr8nIoHThIoo+/ZSKNWsIm30r4bNnI4wNJ6Pp9DrC4/0Jj/en79h4ti7P4tcF6dRWW7nornEkDx7Gd/97gp/eepnQ2HiiE5NbRX5zRTl6gxEhjPgEHpfNkpuLMSoKYXD+z6mguoDSmlJ6hjXdm/wU9jraqnYa6dq4k1iXXkB+eQ0zBrS+U1xx9tOebNTfgWQhRGchhBdwJbDopHMWAdc73s8EVjbl32gtJveO4fu7RhIVaOKGDzfxws973c/aFAKMPhAQDRFdocMQmPxfLcJj+N2wdxm8OQy+ugZyt7h5CUGYTxi9w3tzfsfzub7X9bww9gWWTF/Cdb2uY0PeBmYtmcXVP17ND/t/wGI7vSUMvBMTibzvXhIX/4j/+HEUvPoaOffdh6xtvv6R0An6T+zAuGu7k72nmI2LDuDl48uF9z6IT0AgKz98q9UidcwVFRh9tCztE5aq8nJPWKZyhvSSdACSgl2ohGu3axZH0gStWmwLmJeaTYivkfHdI1s0j+LPSbtRHFJKK3AnsAzYDXwjpdwphHhcCHGx47T3gTAhRDpwH3BKyK6n6Bzux4LbRzC9fzyvrNjHDR9uat2a+f4RcP5jmgIZ8wAcWAfvjIXPL4OsTa1yiRj/GO4beB/LZy7n4SEPU2Gp4KF1DzFp3iTe2f4OxeZmnHsexhgTQ/yLLxL1r39R/vNysu+6G3uNc72ue46IpcfwGLb8fIjCnAp8A4MYdtnV5O1LY//m31tFvprKCozemuI4eanKEOva8t+xuk6JwYnOD8rbAhWHW9x7o7TKwk+7jnDxObF4GdrNI0BxBtGuPjVSysVSyq5SykQp5VOOff+RUi5yvDdLKS+TUiZJKQdLKdu0boCPl57nLuvL09P7sPFAERe8so7Nh1r5YesbCuP+CffugPH/huwUeP98+PgiTZm0wrdnX6MvV3S/goWXLuSNCW+QHJLMq1te5fy55/Por4+yr3hfK9yI+4TOupboxx6jYu1acu69z2mLYfj0JLxMejYu0j4WvcacR0BYBNuXL2kVubSlKs2heczikFYr1iNH3bI4gr2DCTOFNX/yMdKWal7b5IkuXetkftiRS63V7pHcDcWfg3alOM4EhBBcObgD8/86HINecMXbG/jolwOtn7hkCoLR92tZrhOfgvw0+PhC+HCK1oOhFa6nEzpGxY/i7fPfZsHFC7go8SJ+2P8D0xdN59afbiX1SGor3Ih7hFxxOZFz5lCxciWl8xc4Ncbkb6TPuHgObCugKK8SvcFA9xGjydy2meryshbLZK4oR2cwgdCuBWA9ehRsNrcUR2Jwoms+prQlkDBU+3LRAualZtM1yp8+cUEtmkfx50UpDjfpHRfED3eOYkzXSB79fhd3fbmFCk+k+3v5abV27tkGU5/T+i1/NgPeHa9luLaSwkoKSeKRYY/w88yfuWfAPewv2c/sn2azLX9bq8zvDqHXX4fPoIEcefppLEeOODWm77h4dHrBrl+0uIruI8Zgt9nY+9v6FstTXVmBTueDt6+hLjHUkqtdxxjjvOKQUpJRkuGaf6PkEBzZ0eJs8f35FWw+VMKMAfFtGhihOLtQiqMFBPkaeWfWQB6Y3J3FO/K4+LX17D3ioeYxRh8YfCvcvQUuegWqi+Crq+CtkfDHfC0ZqRUIMYVwS59bmHvxXCJ9I7ln5T3kVTjXU6K1ETodsU89hbRYOPzIo05ZdT7+XnTqE87eTUew2+xEdOxMUFQ0mds2t1iemooKECZMvidGVAEY45xXHEeqjlBhqXDNv7F3mfbaQsUxf3MOOgHT+rtXCVehAKU4WoxOJ/jr2EQ+v2UoZdVWLnntF77b4nzLUJcxeMHA6+HOVJj2NlhrYO6N8MZQ2PZVq1X6DDGF8NqE16ix1XDXyruosrRt9c1jeHXsSMTf7qFi9WoqVqxwakzXIVFUl9WSs68EIQTxPXqTvWdX842RmsBqsWCpMSOlF95+9RWHI/kvxnnn+DHHuEsWR9piCEvS6iq5id0umb85m1HJEUQGmpofoFA0glIcrcSwxDAW3z2SPvFB/O3rrTz83Q5qrB6sAKo3wDlXwh0bYeaHWjmDBbfBawMh9WOtH3ULSQxO5Nkxz7KvZB8PrXuobXtL1yN01iyM8fEUfvChU+cn9AhFZxAc3KGV8Y7v0RtzeRmFOVnNjGycY1njdrs3Jr/j+RqW3Fz0ISHofJzPAj4Wiuu0xWEu0wIjWlhCfcP+QnJLzcoprmgxSnG0IpGBJr64ZQi3je7CZ78d4vK3NpBd7OFv6jo99J4Of1kPV36pJSZ+f7fWb2DTuy3ueDYybiRzzp3DyqyVvLrl1VYS2jWEXk/orGup3ryZ6h07mj3fy2QgvmsIB/84rjgAsnfvdFuGY+VM7FYvvE9aqnLVMZ5RkkGoKbSu/0bzA1Zq1QZaGIY7LzWbAJOBiT2jWjSPQqEURytj0Ot4aGoP3p41kP0FlVzwynpW7Tnq+QvrdNB9Kty6Cq6dB0HxsPh+rdfAr69BrfutPK/ufjUzu87kvR3v8X3G960otPMEzZiBzs+Poo8+dur8Dr3CKDlSRXmRmaDIKPyCQzicnub29WuqtC8AFoseU/2lqrw8txSHa8tUS7QvBAknl25znooaK0v+OMyFfWMxGRsvLqlQOINSHB5iUq9ofrhrJLHBPtz40e88/1Na2/QIFgKSzoOblsL1P0BEd/jpX5oFUuLeUo0Qgn8O+SfnRp/LI78+wtajW1tZ6ObR+/sTPHMmZcuWYTncfMOd2GStZlBehubnCO/QiYKsg25f32LWLDdrrR5vx1KVlNJhcTjv35BSklGa4fwylc0K+37Scjf07lcIWrIjj2qLjZlutodVKOqjFIcH6Rjmx4Lbh3P5oHheXZnOdR9spKDCuUzoFiMEdB4F1y+CG5dq6+Q//cvt6Yw6Iy+MeYEYvxjuWXUPuRUnlxHzPCGzZoHdTvHnXzR7blicH0ZvPXnppQCEJ3SgMDsLu5vRZ8dKo4OxLqrKVlKCrK52yeI4XHmYSkul8xZH9iYtgq6F0VTzNmfTOdyPAS3oz6BQHKNZxSGEuEkI4e14f4kQ4jYhxHDPi3Z2YDLq+d/Mc/jfjL6kZBZz4SvrST3osbqMDdNxmFb7f9dC2L/a7WmCTcG8OuFVLDYLd668k0qL+8tf7uAVH0fAhPGUzJuHtDWtAHR6HdFdAusUR1hCR6y1NZQedS4f5GQsZkfPb2Gsc45bj+YDYIhy3mfgsmM8bbEW+JDofiXcrKIqfttfxPT+cSp3Q9EqOGNx3COlrBFCPIpWH6oz8IgQ4lchRLRHpTuLuPzcBObfPhxvo44r3v6N99d7INu8KUbcDcEdYMkD0IKihl2CuvDc2OfYX7KfB9Y+0Oa9owOnTMFWVET11uaXyyI7BVKUV4m11kZ4QkcAt5erLI6aWUIY68JxrQUOxRHmfNkQl0Nx05ZqlXBNgS5IeyLzN2vh4dMGqGUqRevgjOI4Ftc5FRgvpXzQ0aXvKeANj0l2FtIrNojv7xrJ+O6RPPHDLu74YjPl5jaqTGv0gUn/hfw9WrRVCxgeO5wHBj/Amuw1vLz55VYS0Dn8Ro8Go5HylSubPTciIQBplxTmVhIWrzX0KjzknuKoPWZxYKxzjtsKtagtfXi40/Okl6QT7hNOkLcT5T4K9kHhvhZFU0kpmb8lm+GJYcSH+Lo9j0JRH2cUR5YQ4iMgEqgLVpdS/ohmfShcINBk5O1ZA/nn1O4s23mES177hT2HW15HySm6XwCJ42H1f6Eiv0VTXdX9Kq7odgUf7vyQBfucqyXVGuj9/fEbPJiKFc0rjvCEAADyD5XjZfIhICyCojz3kjPrfBzCiLevY6kqX2s8aXBBcWSUuOAYT3MUZ+zmfv5GysFiDhZWqb4bilbFGcVxA7AGuASYJ4S4VwgxUQjxAMetEYULCCGYPTqRL24ZQnmNlUtf/4X5m7Pb4sIw+RmwVMGKR1s83QODH2BozFAe/+3xNi2I6D9+HLWZmdTsb7o4cmC4CS8fAwVZWg5GUGQUZfnu+jjMCJ0BIfR4+TgUR2Ehwtsbnb+/U3PYpZ2MUhdCcfcuhaje2hKjm8xLzcbXS8/k3mpVWdF6NKs4pJRlUsoPpZTbgMvQugbeAHQArvCseGc3Q7qE8ePdI+mXEMx932zjofk7MFs87DOI6ApD/wpbPoPslj3sjTojz415jnj/eO5ddS/Z5W2g/ICA8eMBqGhmuUoIQXi8P4U5mhM/KDLKfed4jRm9USul7u1QHLbCAgxhYU47nHMrcqm2VjtncVQVwaENLYqmqq618cP2PKb0jsHPuz01+1Sc6bgUjutQIs9KKa+WUt4hpcz0kFx/GiIDTHx28xD+OjaRLzcdYuZbv5JV5OFs89FzwD9KSxBsQf0mgCDvIF6b8Bo2aeOulXdRUVvRSkI2jjEmBlPPnpQ7sVwVEu1L8eFKpJQERkRRUVyE1eK6X8liNqPTe6EzCPRG7c/Gml/gkn/DJcf4vp9A2qGr+4rjp12HqaixMkPlbihaGZXH0Q4w6HU8MLk77103iEOFVVzwyjpW7Hbvm7FTmALh/MchdzNs/bzF03UM7MgLY1/gQOkB3tz2ZisI2Dz+48dTvXUrVoeDujFCov2oqbJSXW4hKDIKpKS8wPVMfovZjE7nhbePoc7CsBYWuuTfcCkUN22Jptxj+7ss6zHmpmYTF+zD0M4uNItSKJxAKY52xHk9o/jhrlF0CPPl5o9T+N/SPVhtHios2PcKrYTF8kehuqTF0w2JGcJ5Hc9jYcZCamyeT3IMmDAepKRizdomzwuJ1iKJig9XEhSh5Vu4s1xVW2NG6Lzq/BsA1oICl0NxI30iCfRqJrTWWgPpK7Sihjr3/kQPl5r5Jb2AGQPi6nqHKBSthdOfSqFxrRDiP47tDkKIwZ4T7c9JhzBf5v5lOFcNTuCN1RnMen8T+eUeeBALAVP+B1WFsPrpVplyRvIMSmtKWX5weavM1xTe3bqhDwqiekvTfTZCYrQe4cWHqwiMjASgLN89iwNhrPNvSJsNW3ExhgjXLA6nrI3M9VBb3iL/xoItOdglTFfRVAoP4MrXmTeAYcBVju1y4PVWl0iByajnv9P78txl57Alq5gLXlnHpgMeyDaP7QcDb4BN78CRXS2ebkjMEOL945m7d27LZWsGodNh6ncOVVu2NHmef7A3Bi8dJYer8A8NQ6fXU3q0+VpXJ6PVqjLUWRy24mKw29E7aXHYpZ0DpQdICnHCv7F3KRh8oPMYl+UELXdjbmoWgzqG0Cncz605FIqmcEVxDJFS3gGYAaSUxYCXR6RSADBzYDwLbh+Bn7eBq979jXfX7m/9bPMJ/wHvAFgyp8VtaHVCx4yuM0g5ksKB0gOtJGDj+PbvT216BrayxvNghE4QGO5DaUE1Op0e/9BwygsLXL6W1sTpuMVhLXDkcIQ5Z3HklOdgtpmbd4xLqfk3EseBl3sJe9uyS8nIr1R9NxQewxXFYRFC6AEJIISIAE5PZ58/ET1iAll45wgm9oziqcW7+ctnqZS1Zra5byiMfxgy18Gu71o83aVJl2IQBubtndcKwjWNT79+AFRva7ovemC4D2UFWua3X0gIlSWuW28WczXSftzisBZoTnlnl6qcdowf2QmlWS1q2jQvNRtvg44L+jpftVehcAVXFMcrwAIgUgjxFLAe+D+PSKU4gUCTkTeuGcDDF/Rgxe6jXPzqenbltmK2+aCbIKoPLHu4RX07AMJ9whnXYRwLMxZSa/NsfqhPnz6g01G9pem6VUERmuKQUuIfHEplievBAJaaGux2A17HssZdrFOVUaqF4iYGNaM4jmWLu6k4aqw2Fm3LZVKvaAJNxuYHKBRu4LTikFJ+DswB/gvkAZdKKb/1lGCKExFCcMuoLnw1eyjVFhvT3viFb1Pcb4V6Ajo9TP0flGXD+hdbPN3M5JmU1JSw4pBzPcLdRefnh3e3bs0WPAwM98Faa6e63KJZHMWuWRxSSmrN1djthnrJf8fqVEU4NUd6STrRftH4ezWTZZ62GOIGQYB7XfpW7j5KabVFLVMpPIqrCYB7pJSvSylfk1Lu9pRQisYZ1CmUH+8excCOIfxj7nYenLe9dbLNOw6HPpfBL69AUcv8E0NjhxLnH9cmTnKffudQvW1bk2XWA8NNAJQVVOMXFIK5sgJrrfPWkM1qRdrtCIx4mY4vVQmTCZ2fc34Ip2pUlR/WcmtaUJtqbmo2UYHejExyPtpLoXAVV8JxPxZCBNfbDhFCfOAZsRRNEe7vzac3D+HOcUl89XsWM978lYOFrdAb4/zHQWeAZf9s0TQ6oWNG8gw2Hd7EwTL3u+45g2///tgrK6lJz2j0nKAIrTZnaX41fiFan+/KkmKnr9FggcMC58uN2Ow2LaIqqBnH+N6l2qub1XDzy2tYvTefS/vHoVe5GwoP4orF0VdKWbc47Iiqcj+tVdEi9DrB/ZO68cENg8gurubCV9fz007Xw0xPIDAWxvxDWy7Z17JcjEuTLkUv9Mzb51kneZ2DvInlKv9QzeIoLzLjF6J1wHPFQV6/iZNX/TpVTmaNZ1dkU2Orad7iSFsCQR0gsqfTstVn4dYcbHbJTJW7ofAwrigOnRCiru+kECIUreBhixFChAohfhZC7HO8NtjfUgixVAhRIoT4oTWuezYwvnsUP9w1ks7hfsz+NJX/LtndsmzzobdDaCIsfQCs7ju3I3wjGJswloXpC7G0oHFUcxgTEtCHhVHdRD6H0UuPyc9IRXENfsEOi6PYBYvDfLyJk5dJD7hWpyq9WIuoajIUt7ZK687YbYqWnOkG8zbncE58EMlRAW6NVyicxRXF8TywQQjxhBDiCeBX4NlWkuNBYIWUMhlY4dhuiGeBWa10zbOGhFBfvv3LMK4Z0oG31+znmvc2crTc3PzAhjB4w+SnoTAdNras7tSM5BkUmYtYmdV8MUJ3EULg069fsw5y/1BvKorN+DuWqircsTjwOqGkurMWh1OhuPtXg9Xsdrb4rtwydueVKae4ok1wJarqE2A6cMTxM92xrzW4BPjY8f5j4NJGZFiBlrGuOAlvg56npvXhxSvOYXt2KRe8sp7f9jddALBRuk7UwkHX/A/K8tyWaXjscGL8YjzuJPfp05vazEzslY37efxDTFQU1eATGIgQOqrc8nEYMHrrkVarVm7E2VDckgxi/WLxNTbhSE9bDN6B0HGE03LVZ97mbIx6wUV9Y90ar1C4givOcW+gHxAIhAIzj9WtagWipJR5AI7XyJZMJoSYLYRIEUKk5Oe3rNPdmca0/vF8d8cIAkwGrnlvI2+tyXAv23zS/4GtFpY/4rYsep2e6cnT+S3vN7LKWil0uAG8k5MBqMlo3EHuH6JZHDqdHt/gYCpcWKqqNWuKQwjN4rAWFYGU6MOdUxzppc3UqLLbYe8ySJoABteLMVhsdr7bksOE7lGE+KliDgrP48pS1UI0y8AKVNb7cQohxHIhxB8N/FzimsjNI6V8R0o5SEo5KCLCuTj7s4lu0QEsunMkk3tF8/SSPdz6SSql1S76GcISYfhdsP1rOPSb27JMS5qGTug86iSvUxz79jV6jn+INzVVViw1NnwDAqkudz6Bsn5UldFbX5fD4cxSldVuJbM0s2n/Ru5mqDzqdjTVmrR8Citr1TKVos1wxbkdL6V0O8BcSnleY8eEEEeEEDFSyjwhRAzgevlSxQn4ext47er+DPo1hKd+3M3Fr61n0R0jCfJ1IZt41N9h21daw6fZa7REQReJ8otidPxovkv/jjv634FR1/rZzMb4eITJRM3ephSHFllVUWzGJ9BFxVFncWiKo7LA+V7jh8oPYbFbmrY40haD0ENSo38iTTJvczZhfl6M7fbn+5KkOD24YnH8KoTo4yE5FgHXO95fj2bdKFqIEIIbR3Tm05uHcLCwio83ZLo2gZcfTHwCDu+A1I/cluOyrpdRaC5kTdYat+doCqHT4Z2U1KzFAVBRXIMpIAizGxaH0ccHIcTxOlVOKI66rn9NVcVNWwodhml1w1ykpKqWFbuPckm/OIx61V5H0Ta48kkbCaQKIdKEENuFEDuEENtbSY6ngfOFEPuA8x3bCCEGCSHeO3aSEGId8C0wQQiRLYSY1ErXP6sZlhjGhO6RfPjLAapqra4N7jUdOo2ClU9ofbDdYETsCKJ8ozzqJPdOTsa8b2+jx/2CNMVRVVaLj3+AWxaHt49mtbhSpyq9JB2BoEtQl4ZPKD4IR3e6HU31/bZcam121R5W0aa4ojimAMnAROAi4ELHa4uRUhZKKSdIKZMdr0WO/SlSylvqnTdKShkhpfSRUsZLKZe1xvX/DNw+LpHiKgtfbnLRSS0ETHkGzGWw8km3rq3X6ZmRPINfc38luzzbrTmaw7trV2z5BVgbcXr7BGpO46qyWnwCAzFXVGC3O1eqxVJjBqHDaNKUj62gEOHjg86v+V4XGSUZxPnH4WPwafiEumxx9xTH3NRsukcH0Cs2yK3xCoU7uBKOexAoA6KAjvV+FGcAAzuGMqRzKO+t20+t1cUEwahecO4tkPoh5LlnZE5LnoYQgvn75rs1vjmac5B7mfTojTpNcQQEIqWdmibCd+tTa66u6zcOjhwOF0Jxm3SMpy2G8K5aMIKLpB8tZ1t2KTOVU1zRxrgSjnsLsBZYBjzmeH3UM2IpPMHt45LIKzXz3ZYc1wePewh8Qtxu+BTtF82ouFF8l/4dFnvrZ5I3pziEEPgGelFVVoNPgNbz29nlKou5BqE7njVuKypEH9a8P8Jit5BZltm4Y9xcqrWJdbOE+tzUHPQ6wSX91DKVom1xZanqHuBc4KCUchxanao/V5LEGc7o5HB6xQby1poMbHYXH/4+ITDhETi0AXa4V01/RvIM8qvzWZu91q3xTWGIjEAXFNSkg9w30Iuq0trjiqOJzoH1sZirtVDcY5Vxi4oxhDSvOA6VHcJqtzauONJXgN3qVhiuzS5ZsCWbsV0jiAjwdnm8QtESXFEcZimlGbRkQCnlHqCbZ8RSeAIhBLePTWJ/QSXL3CmI2H8WxPaHn/4NNa4n8I+KH0WkT6RHnORCCLyTk6jZl97oOb6BXlSX17pucdSYgfoWRxH60OYVx7FSI40uVaUtAZ9QSBjslBz1+SW9gCNlNSp3Q3FacEVxZDvKqn8H/CyEWAjkekYshaeY3DuaLuF+vLE63fWMcp0Opj4HFYdhretlygw6A9OSp/FLzi/kVrT+R8c7OZmaffsavS9tqcoNxWE+pjgMSCmxFhdjcGKpKr0kHZ3Q0Tmo86kH7XZI/xmSJ7qVHzM3NZsgHyMTerSoyIJC4RauOMenSSlLpJSPAv8G3qeRmlKK9oteJ7htTBf+yClj7b4C1yeIHwT9roENb0BB49/uG2N68nQAjzjJvZOTsZeVYT3acP6ob6AX1RUWvHy1LnzOKo7aGjNSGjCa9NgrKsBiQe/EUlVGSQbx/vGYDKZTDx7dBdXF0GWMUzLUp8xsYdnOw1x0TgzeBteVjkLRUtzKGJJSrpFSLpJSeraptMIjTOsfT3SgiTdWuf7gB+C8R8HoA0sfdNlRHusfy4i4ESxIX4DV7mJOSTOYjjnI9zacz+Eb5A0SrLU6DEYv5xVHdTXHLA5bkZbLog9tsPL/CaSXNFGj6uAv2qsbRQ0Xb8+jxmpn5sAEl8cqFK2BK1FVg4QQC4QQmx0JgNtbMQFQ0YZ4GXTcOroLGw8UkXrQ+WJ/dfhHwtgHtaWWY3kILjCz60yOVh1lfc5616/dBHWRVY2UHvF15HJUl1swBQa64Bw3a02cTHqtbsOcMQAAIABJREFUwCFgaMbHUWur5VDZocb9G5nrtKZNIa5HtM/bnE1ihB/nxKvcDcXpwRWL43PgQ2AGWuLfsR/FGchVgxMI8TXy5mo3rY7BsyGiu2Z1WFzr/TE6fjQRPhGt7iTXBwejDwmh9mDD7WqPKY7K0hpMfv7UVFU4Na/FbNbqVJkM2BwJhs0tVWWWZWKTtoYtDrsdDv4KnVy3NjILKvk9s5gZA+OdalurUHgCVxRHvmN56oCU8uCxH49JpvAovl4GbhjemeW7j5J22I0WJ3qjllFenAkbXnVpqFFn5NKkS1mXs47DlS1sd3sSXh06UHvoUIPHjlsctXj7+jmdAGiprQG0trG2Oouj6aWquhpVDVkc+XugqhA6jXTq+vWZvzkbIWBaf5W7oTh9uKI4HhFCvCeEuEoIMf3Yj8ckU3ic64d3xM9L777V0WUs9LgY1r0Apa6VEpmePB0pJQv2LXDv2o3g1akjtYca/j5Tv+yIyd8fc2XzFofdZsNutWi9OLz1WAuP+TiatjiORVR1Cup06kE3/Rt2u2Te5hxGJoUTE9RICROFog1wRXHc+P/snXd4VVXW/z/7ttybRkhCCgkhCQktlBAgASUII1hGpenA4LxSrAyiDo6OvrbR8ecoo6PzjnUcC+A4YhuKjqIoIEUhtNBCCyFAQmgJIb3cZP/+ODch5dYUEnB/nuc+ufecfc7ZO7ess/da67vQCjldx4Vlqhvbo1OKi0OAt4lbU6JYsfMEx/LLWnaSa5/THOTfPuHRYZF+kVzR/Qo+P/Q5NW5qRrmDMSoKa95Jaisrm+8z6TGZ9ZSdt804ylzPOBrW4qibcQiLBZ3F+Q/34cLDRPlF4aW3k5yXvQH8I6FrtDtDqmfzkQJyC8u5OUnlbig6Fk8Mx2BbcaSZUsrZtsft7dYzxUXhztRYDDod/1jnuHqeUwKiYNR82LsUjniWET45fjKnyk6x/fT2ll3bDqaoniAl1Tn2Z0DeXbwoK6rCy8e9paqqunrjtloc1nMFGLq6jqhyqFElpTbjiL5SE5D0gM+35+DrZeDahDCPjlMo2hpPDMcmIUT/duuJokMI9Tdz89BIPt2Ww+liz5zc9Vx5v2ZAvn4EatwPsR3ZfSQ6oSPtZFrLrmsHU88oAKcO8rKiKptzvNSlQm51hTZzEfU+jnPoXQgcVtZUcqz4mH3H+NmDUHrG42Wq0korX+3O44aB4VhMKndD0bF4Wo8jvZ3qcSg6kDlXxWKtqeXdDUdadgKjBa59Xktq27HY7cP8Tf70D+xPWl4bGo6oOsNh30Fu8dMMh5ctCbCqrNzp+aobzDhMZr1NbsT5jCP7fDa1stb+jCN7vfbXQ8f4yj0nKauqURIjik6BW4ZDaHF/99BO9TgUHUvPIB9uGNSdDzcd87w2eR19b4DQgZD+kUeHJYcns+vMLsqqW+hjaYI+IABdly4OHeR1Mw4vWy0NVyG5dT4OoTOhN+o0uREXobh1GlV2ZxzZG8EvHAIdFHZywOfbc4gK9GZ4tOtlMoWivXHLcEhN/OeVhmG4Khz38uK3V/WipNLKBz9lt+wEQsCAyZCTBoXuF4tKCUvBKq3sOL2jZde1gykqimqHMw4jVeVWTBZvACpKXBgOW/U/o1mTDXFH4PBw4WEMwkC0f3TjHXX+jZ6e+TdyC8v5KSufKUkRKndD0Snw1McxvN16ouhQ+nf3Z2yfbry3MZvyqhZGOSVM1v5mLHP7kMSQRAw6A5tPbm7ZNe3gLJfD7GMEQAjNELiKrKqvN+7lhSwrQ1ZWuszhyCzMJMo/CqPe2HhHfiaUnPJ4mWrp9hykREVTKToNnhiOsWjG47DycVyezB0bR0FpFUu22P/RdUlgLIQnahFWbuJt9GZQ8CA257Wh4egZRfWJE8iq5lJqZt+6H3MtTNZVZFWVbcZhsljqy9K6yhp3qFGVbZNY8cBwSKnlbqTEBNIj0Nvt4xSK9sTgQduWFUVWXDIMjw5keHRX/rkui9+k9MRkaIEG5oApsOopLaPczTyFEeEjeHPnm5yvPE8Xr9brLxmjoqC2lqqcXLxiG0uaW2yGQ0otGdBVEmDdjMPLYnFL4LDcWk5OcQ43xtpJcTq6EXxDIchJKdkmbD9WyJGzpfx2jOelZTsT1dXV5OTkUFHRwsg9RbthNpuJjIzEaDS6bmzDbcMhpTwqhBgMpNo2rZdS7vSwj4pOztyxccx+fwvL03P51bAWqK/2n6QZjr3LYNTv3DokOTyZN3a+wdZTW7k66mrPr9kEU09NOLDq2NFmhsPsqxmMmhrtb6Urw2H7ofPytrglcHjk/BEksvmMQ0ptxuGhf+OzbTlYjHp+OTDc7WM6Izk5Ofj5+REdHa38NJ0IKSX5+fnk5OQQE2OnbowDPFHHfQBN6DDE9viXEOI+j3uq6NSM6d2N/uFaedlaT8vLgqb2GjEM9rpfb2NQ8CDMenObheXWGY5qO34Oi592V2Wt1iGEzm0fh8nbQk2BbanKieFwqFFVkAXFeR4JG1ZU1/DlrhNcNyAMXy9PFgc6HxUVFQQFBSmj0ckQQhAUFOTxTNCTtYg7gBQp5VNSyqeAEcBdHl1N0ekRQvDbMb04fKaUbzNaKECYMBnydkK+e9noRr2RpNCkNksE1Hftis7X124uR51zvLLUipePj+ulqopyECa8LAZqztmWqpz4ODILMzHoDET5RzXeUe/fSG1+kANWZZyiuMLKLZdJ7oYyGp2TlrwvnhgOATQMt6mxbVNcZvxyYDjRQd68sfaw5+VlARJshSE9cJInhyWTWZjJ2fIWVCVsghDCYWSV3qDDZNZTXlLtluxIdUUlQhgwmQ1YCwoQXl7ofBw7qQ8XHibaPxqjrsl68dGN4NMNgnu7PY7Pt+fQvYuZkbHOM9UViouNJ4bjfWCzEOJpIcTTwCa08rGKywytvGwvduWcZ0NmC37Iu0RCjxSPDEdKeAoAW05u8fx6djD2jHKYBGj2NVJRUu2W0KGmVWXEaNFrciOBgU7v0OxGVEmpJf554N84XVTBuoNnmJwUgU6n7s9ai5SSUaNG8fXXX9dv++STT7juuutcHvvwww/Tt29fBg0axOTJkyksLHR5jF6vJzExkYSEBAYPHszLL79MbW2t2/0dM2YMffr0ITExkcTERE47KIfcUXhSc/xlNIXcAuAcMFtK+bf26piiY5mSFEGovxdvrGmh+GHCFDi1B87YL+PalH6B/fAz+rVZWK4pqifVObnI6uaZ8GZfExUl1Zh9fF0mAFaWl9vkRgxYC/KdChyWVZeRW5Lb3L9xLhuKcjwKw126I5daCVNU7kabIITgrbfe4sEHH6SiooLS0lIef/xxXn/9dZfHjh8/nj179rBr1y569+7N888/7/IYi8VCeno6e/fuZdWqVXz11Vc888wzHvX5ww8/JD09nfT0dEJCQjw6tr1x6XETQnwgpbxNCPGAlPL/gLaTMlV0WrwMeu5KjeX//XcfO46dY0iUh1IX/Sdq1QH3LoUxj7hsrtfpGRY2rM0MhzEyAmpqqD51GlNk46JHFl+jTejQh9JC56VzNS0rk02n6pxTx/iR85rWVzPD4WH9DS13I4chUQH06ubr1jGXEs98sZeME+6V7XWX/t39+eNNCU7bDBgwgJtuuokFCxZQWlrKjBkz6NXLdZjzNddcU/98xIgRfPaZZ5UrQ0JCePvttxk+fDhPP/30ZeHrcSdUY6gQoidwuxBiMU38GlLKgnbpmaLDmZ4cxWtrMnlj7WH+OWOYZwf7h0PPK9w2HKAtV605vobcklwifFtX4c4Uqd2pV+fmNjMcZl8jBSdKCQjydRmOW1WulY2tq8Vhiol22NahRlX2RvAO0krtusGe3CIOnirhuckD3GqvcJ8//vGPJCUlYTKZ2Lp1KwCpqakUFzevgvnSSy8xbty4Rtvee+89pk2b5vF1Y2Njqa2t5fTp0xQWFjo8x9q1awkICABg9uzZ6PV6br75Zp544olOZXDcMRxvASuBWGAbjQ2HtG1vFUKIQOBjIBrIBqZKKc81aZMIvAn4oznmn5NSftzaaysc4+NlYObIaP7v+0McPFVM71A/z06QMBm+eghO74OQfi6bJ4clA5CWl8bk+Mkt6XI9xgjNWFTn5jbbZ/Y1Ul5ajZePLxUuM8fLQZgxeumpcCFweLjwMEadkR5+TfJfsjdoRlTn3srw59tzMBl03Diou1vtLzVczQzaEx8fH6ZNm4avry9eXpp6wPr169069rnnnsNgMPCb3/ymRdeuCzTp06cP6enpTtt++OGHREREUFxczM0338wHH3zAjBkzWnTd9sDlJ1lK+XcgAfhQShkrpYxp8Gi10bDxKPC9lDIe+N72uillwAwpZQJaFcK/CSEC2uj6CgfMuiIab5Oet9a2wNfRfyIIHexxL6cjLiCOQHNgm4TlGsPCQAi7hsPia8RaWYPRy4K1qhKrHT9IHdbKSq2Ik74WWVbmdKkqszCTmC4xGHQN7sfOHYXzx6Cne/6NKmsty9NzGd8/lC4W9zN5Fe6j0+nQNTDiqamp9U7oho/vvvuuvs2iRYv48ssv+fDDD1t055+VlYVeryckJIQDBw7YvV5iYmK94z3CduPj5+fHrbfeSlpa25UeaAvcyiqSUtbassbbi4nAGNvzRcBaoNH6hpTyYIPnJ4QQp4FugOsQB0WL6epjYnpyFAt/zGb++N6e6SX5hmgO4b1LYexjLiOKhBAkhyWTlpeGlLJVU3NhMmEIDbVbCbAul0Nv0Mq/VpWVYuhi/x6kuqoCgRF9pbak5Uxu5HDhYQaHNPma1Pk33HSMr95/mnNl1dyinOIXDVczjpUrV7JgwQJ++OEHvL0vfP5zc3OZMWMG33//vdPjz5w5w5w5c5g3bx5CCJczDqvVSmFhIcHBwVRXV/Pll182WzLraDqLOm6olDIPwPbXaQiBECIZMAF2b4OFEHcLIbYKIbaeOXOmzTv7c+PO1Bh0At5el+X5wQmTIf+QFmHlBsnhyZwuP012Ubbn12qCMSLCwYxDkxtBpynkOksCrKnSZhy6cq2NI7mR0upSTpSeaO4Yz94Ilq4Q4l7xzM+359DNz4vU+GC32ivan3nz5lFcXMz48eNJTExkzpw5AOTl5WEw2L/3Li8vrw/HHTduHNdccw1//OMf3bpeZWUl1157LYMGDSIxMZGIiAjuuqtz5Vp7omMwFpgjhMgGStF8HVJKOcidg4UQ3wH2iiU/7kEfEEKEAx8AM6WUdgOjpZRvA28DDBs2rAUZbIqGhHexcHNSJJ9sPc79V8fTzc/L/YP7TYT/PqTNOsIGumyeEqblc2zO20xMF/e1c+xhjOhOmc0B2pALCrk2vSoHuRyytpYaaxV6gxF9qeZyMzgoG1snNdLMMX7Upk/lhn8jv6SSNftPM/vKaAz6FghMKtzi6aef9qh9Zmam3e2bNm3i3nvvtbuvpqaFpQnQ/DDbtm1r8fEXA08+ndejOcJ/QQsqAEopx0kpB9h5LAdO2QxCnWGwm+0ihPAH/gs8IaXc5EHfFa3knqt6UV1Ty3sbPSwv6xMEsVdpfg43stB7+PUgzCesTfwcpshIrCdPNcvlMDdRyHWUPV5dZas3LoyI8za5EReGo9GM43yOlsPhZhjuip0nsNZKVR72EmHevHlMmDCho7vRIXhiOI6hKePOtFX+k0BoG/VjBTDT9nwmsLxpAyGECVgKLJZSftpG11W4SUywD9cPDOdfPx2lqMLD8rIJk+HcEU2/ygVCCFLCUkg7mUat/Qml2xgjIqC2lupTpxptr5NWr62x6VaV2S9bW6eMq9N7IQvzAcczjszCTLz0XkT6NvjRz67zb7hnOD7fnsOACH/6hvm71V6h6Cg8MRxvACOB6bbXxYDrtEv3eAEYL4Q4BIy3vUYIMUwI8Y6tzVRgNDBLCJFueyS20fUVbvDbq3pRXGnlg588rBjc90bQGdxWzE0JT+F85XkOnnMv69wR9SG5OY39HF7eBhBQU62t1DqqO15nOAwmL6xn8xEWCzpv+8EBBwoOEB8Qj16nv7Axez2Yu0Co63yM/SeL2JNbpKr8KS4JPDEcKVLKe4EKAFuehaktOiGlzJdSXi2ljLf9LbBt3yqlvNP2/F9SSqOUMrHBw3kwtKJNGRDRhat6d+O9DUc8Ky/rHQixYzU/hxvLVcPDtBiM1maRO8rl0Ol1eHkbsFbVGQ77Mw5NpwqMXmZNbsTBbENKSUZBBn2DmiT4Hd0IUVdAQ2PigM+35WDQCSYMvjxzNxSXF54YjmohhB5tiQohRDegdWsJikuOuWN6kV9axSdbj3t24IApUHgMcl0r1oT5hBHtH91qP4cxNBR0Oqpzm4fkWnxNVFZoNTmqHDjHqys1H4fRbKbmbD76IPsRVbkluRRXFdMvsEGSY9EJrQaHG2G41ppalu44wdi+IQT5ehB4oFB0EJ4Yjr+j+RhChRDPARuAP7dLrxSdluSYQIb27Mrb67KorvHgvqHPL0Fvcnu5Kjksma0nt1Jd66E/pQH1uRz2ssd9jFSWWfHy9naYPV5tm3GYzGasBQUYguyHyO4v2A9A/6AGIbce+DfWHzrL2ZLKy6buhuLyxxN13A+BP6AZixPAJOWk/vkhhODesb3ILSxnRfoJ9w+0BECvq7WSsm7ISyeHJ1NmLSMjP6MVvQVTRARVjmRHSqoxefs4mXFcqP5nzT+LwcGMIyM/A73QE981/sLGoxvAyx/CXEerf7Y9h67eRsb26VwKqJcTrZFVr+Oll15CCMHZs85LDWRnZ2OxWBgyZAj9+vUjOTmZRYsWedTf22+/nZCQEAYMaOwfKygoYPz48cTHxzN+/HjOnXMu0tleeFI61gz8EhiHFpJ7nW2b4mfG2D4h9A3z401Py8sOmKLJi+e4rrnRln6O6tzmBs5SV5PDx4cKR4bD5hw3WcyaMq4DH8e+gn3EBsTipW+wzJS9EaJGuvRvnC+rZtXeU0xMjMBkULkb7UVrZNUBjh8/zqpVq4iKinLdGOjVqxc7duxg3759LFmyhFdeeYX333/f7f7OmjWLlStXNtv+wgsvcPXVV3Po0CGuvvpqXnjhBbfP2ZZ4kgC4GC2S6u+219PREvF+1dadUnRu6srLPrAknVX7TnFtgr28Tjv0vg70XpqTPCrFadNAcyC9u/YmLS+Nuwfd3eK+GiMisJ46hayqQpguxHKYfTTD0TXYmypH4bi2GYeXwQA1NRgCmxsOKSUZ+RmMimjgyyg+qWXLJ93msn9f7DpBVU3tzyua6utH4eTutj1n2EC43vmPaEtl1QHmz5/PX/7yFyZOnOhx12JjY3n55Zf5/e9/z+zZs906ZvTo0WRnZzfbvnz5ctauXQvAzJkzGTNmDAsWLPC4T63FE8PRR0rZUIhnjRDCdWC+4rLkhoHh/PXbg7yx9jDX9A91T1fK7A/x4yFjGVz7Z5fZ1CnhKXy8/2Mqayob3817QMNcDlOPC6q1Zl8jNdZajGZvSvLtV1erqptx6LWxGYKbG44z5WcoqCho7N/wQJ/q8+059A71ZUCEyt24GLREVn3FihVEREQweHDL5fqSkpLYv1/zha1Zs4b58+c3a+Pt7c2PP/7o9DynTp0iPDwcgPDw8A6rDOiJ4dghhBhRl7EthEgBNrZPtxSdHYNexz1XxfL40j38eDifK+Pc1FZKmAz7v4TjmzSpcSekhKXwQcYH7Dy9k+Tw5Bb1s2FIblPDAWAwWagsdxCOW2ZzjksrAHo7M446x3ijiKrsDWDygzDnPzSHz5Sw41ghj/2yb6eqtdDuuJgZtCeeyqqXlZXx3HPP8e2337bqurJBGPrYsWNdyqp3djwxHCnADCHEMdvrKGCfEGI3HmhWKS4fbk6K5G/fHeKNtZnuG47e14HBokmQuDAcQ0OHohd6Np/c3HLDEVmXBNg4JLcue1xnMDvUqqooLQMMGKptiYB2ZhwZ+RkIBH0C+1zYmL1RW4rTO/96/Wd7DjoBkxJbV7RK4Rn2ZNUdzThCQ0M5cuRI/WwjJyeHpKQk0tLSCAtzc4kW2LFjB/36aTcXrZlxhIaGkpeXR3h4OHl5eR1WUtYTw+F++IHiZ4HZqOeu1Bj+/NV+dh4vZHAPN8qjePlC72sgYzlcv8Cp89jX5EtCUAJpeWkwpGV9rMvlqGpiOMw2hVydzkxlWRmythbRZOmsskyrN66rsEmq23GO78vfR0//nvgYfbQNJWfg7AFInN6sbUNOFJazJO04o3t3I8RfxZh0JK5k1RsuB0VHR7N161aCg4NJS0vjtddeY/HixU6Pz87O5qGHHuK+++4DWjfjmDBhAosWLeLRRx9l0aJFLfK5tAWehOMedfZoz04qOi+3pvSki8XIG2vtK4jaJWEKlJ6+4AtwQnJ4MnvO7qG02nmlPkcIoxFjWBjVJxpHVtXNOBAmkLLen9GQyrJyhDCiLz8Pej36Ll2atdlXsK/xMtXRDdpfJ4WbiiuquX3hFqqstfzv9a4rIyo6J8eOHcNisdjdd/jw4fpw3KlTp3Lfffe57RgHmD59OiNHjuTAgQNERkby7rvvAvDoo4+yatUq4uPjWbVqFY8+aq/mXfvjyYxDoWiGr5eBmSN78vfVmWSeLiYuxI3ysvHXgNFHW66KGe20aXJYMu/sfodtp7YxOtJ5W0fYC8m9IK2urXNXlpXg1USHqqq8AjCiKylEH9i12YyksKKQvNI8pvdtMLvI3qiNrbt9GbXqmlrmfridzNMlLJydTJ8wD8vxKlqNp7LqDWkY6bR582a7surR0dGUl5e3+BoAH330kd3tQUFBLgtHXQxU4Lii1cy6MgaLUc+ba90s9GTyhj7Xwb4VUGN12jQxJBGjzqgtV7UQewWdvCwGhAApHSvkavXGjYiiAruhuPsK9gHQL6iJYzwqBfTNy75KKXly2R7WHzrLnycPZJQq1nRJ8+KLLzJo0M/TtasMh6LVBPqY+HVyD5an55Jzzn6EUjMSpkBZPmSvc9rMYrCQGJLYKt2qhrkcdQidsIXk2gyHnSqA1RXaUpUoPGNX4LDecNQtVZXmw5l9DutvvLH2MEu2HOe+X8QxdXgPu20UiksBZTgUbcJdqbEIAf90t7xs3DgtZHXvUpdNk8OS2V+wn8KKlpWXN0ZEgJRUnzzZaLvZx0iN1bFCbnVFOQgTouC0Q8d4d5/udPGy+T7q8zdSm7Vdnp7Li98cYGJidx4c37tF41AoOgvKcCjahO4BFiYlRrBky3HOllS6PsBohr6/hH1fQI1zIcOU8BQkkq2nmpeBdQdH8upmXyPVlZrhsKdXZa2q0JznZ/Pszjj2F+xvvkxlsED3xiFgm7PyefjTXSTHBPKXWwb9vHI2FJclynAo2ow5Y3pRVVPL++6Wl02YDOXnIGut02YDggZgMVharFvlyHBYfE1U2QyHPb0qa1UFQpjQlZ5vJqleUlVCdlF2k4iqjdAjGQwXpE0Onynh7g+2ERlo4e3bhuJlcF2bQ6Ho7CjDoWgzenXz5foBYSz+6SjF7pSX7fUL8OricrnKqDeSFJrUYj+HMSwU9PpmKrlmHwNV5dpXwJ5eVU11JXqDFwKaSaofOHcAaOAYLyuAU3sbLVOdLalk9vtbMOoFi2YnE+DdJnXPFIoORxkORZsyd0wcxRVW/rXpmOvGBi/odyPs+xKszpe3UsJSyDqfxekyz7V5hMGA0U5dDrOvicoyid5ooqKJc9xaXY2UNehts4emkur78ps4xo/+CMj6+hsV1TXcuWgrp4sreGfmcHoE2i85q7g4tEZWfdq0aSQmJpKYmEh0dDSJia4rVuv1ehITE0lISGDw4MG8/PLL1LpRTgA0mZMbbriBvn37kpCQ0ChXo7KykmnTphEXF0dKSopdIcSLgTIcijZlQEQXUuODeXfDESqq3SgvmzAZKs/D4TVOm9VJjrR41hER0az2uNnXSG2NxMvSXCG3yqZfZbSF1eqbzDj2Fewj2BJMN+9u2oajG8Fghoih1NZKfrcknZ05hfxt2hAS3cmoV7QrrZFV//jjj0lPTyc9PZ2bb76ZKVOmuDzGYrGQnp7O3r17WbVqFV999RXPPPOM2/196KGH2L9/Pzt27GDjxo31Bu/dd9+la9euZGZmMn/+fB555BG3z9mWqARARZszd0wc0/+5iU+3Hue2kdHOG8eOAXOAVhmwj+O7v75d++Jn8iMtL40bY2/0uE/GiAhKf/qp0ba67HGj2dLMx1FlS+Ay2CRRms04mmaMZ6+HyOFg8OL5/2awcu9JnryxP9cNcF/P6OfCgrQF9eKQbUXfwL48kuz8R7Q1suqgzVo++eQTVq9e7VHfQkJCePvttxk+fDhPP/20y+AIb29vxo4dC4DJZCIpKYkcm2TO8uXL6xMYb7nlFubNm4eU8qIHXCjDoWhzRsQGMiQqgH+sy2J6chQGvZOJrd4I/W7SKgNWV2jRVvaa6fQkhyW3asZhPX2a2qoqdLa6HPUKuV7ezaKq6mccti9kw3DcCmsFWYVZjO2hfbkpPwcn98CYR1n8Uzb/XH+EWVdEc/uV0S3qq6L9aImseh3r168nNDSU+Pj4Zm1dERsbS21tLadPn6awsJBp06bZbbd27VoCAi7MUAsLC/niiy944IEHAMjNzaWHTeXZYDDQpUsX8vPzCQ6+uMmkynAo2hwhBPeOiePOxVv5YtcJJg9xUaRowBTY8QFkfqf5PByQHJbM98e+J6c4h0g/zwof1eVyWPPyMPXsCVwwHHo7CrlVtnrjxtpadH5+9cYG4NC5Q9TImgszjmObAMlWEnh6xV7G9QvhyRv7q7BbB7iaGbQnnsqqN+Sjjz5i+nTn4pXOqJNW79Onj1sih1arlenTp3P//fcTGxvb6BwN6YjPmTIcinbhF31D6BPqx5trDzNxcAQ6nZMPd/Ro8A7SlqucGI6UcK1qYNrJNM8NR2SDuhw2w2FpaDgEkog0AAAgAElEQVRKTzVqX21bqjLWVDfL4WgmNZK9gVq9F3d8LxkQ0YW/Tx+C3tl4FR2KJ7LqdTMOq9XKf/7zH7Zt29aia2ZlZaHX6wkJCeHAgQNuzTjuvvtu4uPj+d3vfle/PzIykuPHjxMZGYnVauX8+fMEBgbaPVd7ogyHol3Q6bTysr/7OJ3v959mfP9Qx431Bug3AXZ9AlVlmpaVHWK7xBJkDmJz3mamxLt2UDbEZMvlqMrNxSaAXi+tLnTmZsWcKkq1GYixohx9cHPD4W/yp7tPd+2ch9exp7YXvj6+vDNzGN4m9bW6lHBnxvHdd9/Rt29fIiMv3LDk5uYyY8YMl6KDZ86cYc6cOcybNw8hhFszjieeeILz58/zzjvvNNpeJ6s+cuRIPvvsM37xi190yIxDRVUp2o0bB4XTI9DC62sy7U6xGzFgClSXwiHHldaEECSHJ7MpbxO10r3QxjoMoVouR8OQXJNZr82EhBeVpY2XqsqLtNeGkiKMYeGN9u3L30e/oH4IIThfmI/+9B42y/4snD2cED9VW+NyZMmSJc2WqfLy8jAY7N8klJeX14fjjhs3jmuuuYY//vGPbl0rJyeH5557joyMDJKSkkhMTKw3IHfccQf5+fnExcXx8ssv88ILHVNNUd0aKdoNg17H3aN78eSyPfyUlc8VvZw48HpeCT4hWjJgwiSHzVIjUvn6yNfsy99HQnCC230RBoNWl6OBvLoQmtChlCasVZXUWKvRG7Tlq7IiW/GmwnyM4RcUUKtrqzl47iC/6fcbqqy1/OODf/EHakkdN5H4UCWRfinQEln1hQsXNtu2adMmu7LqADU1boSiOyAyMtLhjZbZbObTTz9t8bnbCjXjULQrvxoaSbCvF2+uPey8oU4P/SfCwW+gsrlSbR1XRlyJQLAu17mqrj3syaubfY3I2ubS6hUl2nNzRQnG7hdmHFmFWVTXVtM3sC+PLd2N/6k0anRGBiSPQ/HzYt68eUyYMKGju9EhdArDIYQIFEKsEkIcsv3taqdNTyHENiFEuhBirxBiTkf0VeEZZqOeO0bFsP7QWXbnnHfeOGEyWMvh0DcOmwSaAxkYPJANORs87os9w2HxNVJTU2c4LixXVZSUAgaM1goMDWpL1znGtx304bNtOUwKyEIfOcyhX0ahuBzpFIYDeBT4XkoZD3xve92UPOAKKWUikAI8KoTofhH7qGgh/zMiCj+zwXV52aiR4BumVQZ0wqjIUew+u5uCigKP+tEwl6MOs68Ra7VmOCpKLkTWVJSVgTBhsJZh7H7hY7Yvfx8mnYX31hYzfXBXQksPOKy/oVBcrnQWwzERWGR7vghotsgtpaySUtYJGnnRefqucIGf2cjMkdGs3HuSzNOOl6HQ6TT/xqFVUFHksNnoiNFIJBtzXdcsb4ipR6RWl8OWhQtaTQ5rlc1wNAjJrCorQwgTBms5xvALS1WbT+yiojSUkbHd+FNSCULWQLTj+uIKxeVIZ/nxDZVS5gHY/obYaySE6CGE2AUcBxZIKU84aHe3EGKrEGLrmTNn2q3TCveZfWU0XgYd//jBha8jYQrUVMLBlQ6b9AvqR5A5iPU57iVu1VGXv1GVfbR+m9nXSFWlFpZbXnzBWFXZijh5GbQEQID9Jws5XHgQX3ry1m1DMR7bCDqDJqWuUPyMuGiGQwjxnRBij53HRHfPIaU8LqUcBMQBM4UQdpMDpJRvSymHSSmHdevWra2GoGgFQb5e/Hp4FEt35JJbWO64YeRw8I90ulylEzpGRYxiw4kNWGud1yxviCk6GoCqBoqiFl8TSC2EtpHhKC9HCANe4d0QQnC6uIJZH3wNuirmjBxNF4tREzaMGAomHxSKnxMXzXBIKcdJKQfYeSwHTgkhwgFsf51qZ9tmGnuB5jU6FZ2Wu0ZrsglOy8vWLVcd/h7KHZeKTY1MpbiqmF1ndrl9fX1AAPqAgEaGw+xrBOGF0OkaGY7qyjL0GDGGhVNWZeXORVspqtWOu6LHYC3yK3e78m9cIrRGVv3hhx+mb9++DBo0iMmTJ1NYqH0u8/PzGTt2LL6+vsybN8+tfsyaNYuYmBgGDx5M7969mTFjBrlNAjacsW7dOpKSkjAYDHz22WeN9i1atIj4+Hji4+NZtGhR/fZt27YxcOBA4uLiuP/++13nVLlBZ1mqWgHMtD2fCSxv2kAIESmEsNiedwWuBA5ctB4qWk1EgIWJiREs2XKMfGflZROmQE0VHPjKYZOR3UeiF3rW53q4XBUd3chwePuZEELg5e1HedEFw2GtLEVfKzCEh/PAknT25J5nXGI1Jp2J2IBYOL4ZZE19/Q1F56Y1surjx49nz5497Nq1i969e/P8888DWk7Fs88+y0svveRRX1588UV27tzJgQMHGDJkCGPHjqWqQcCGM6Kioli4cCG33npro+0FBQU888wzbN68mbS0NJ555hnOnTsHwG9/+1vefvttDh06xKFDh1i50vEysLt0lgTAF4BPhBB3AMeAXwEIIYYBc6SUdwL9gL8KISQggJeklLs7qsOKlvHbMbH8Z0cOC3/M5vfX9LHfKCIJAqK0ZMDEW+028Tf5MyRkCOty1vFA0gNuX98UHU3pjz/Wv/YO0PwbRi8fyksuGI4aaznmGsmGIj2rMk7xzIQE1hcvJb5rPEadbZlK6KHHCLevrdA4+ec/U7mvbWXVvfr1Jeyxx5y2aams+jXXXFP/fMSIEfV3+j4+PowaNYrMTBfRgg4QQjB//nyWLl3K119/zcSJrlfto23LrQ21tgC++eYbxo8fX69bNX78eFauXMmYMWMoKipi5MiRAMyYMYNly5Zx/fXXt6jPdXQKwyGlzAeutrN9K3Cn7fkqYFDTNopLi7gQP67tH8aiH7O5e3QsfmZj80ZCaDkdP72ulWT1ti/ilhqZyivbXuFk6UnCfNyre2GKjub8smXUlpai8/HBp4umkKo3+dQvVdVYq5G11RhqJN+ekdxxawwzRvbkH0syuDb6Wu1E2Rug+xDw8vX8n6DoMFojqw7w3nvvORQobClJSUns37+fiRMnMm3aNA4caL6Q8uCDDzJjxgyH52gotw5a9nlubi65ubmN9LXqtreWTmE4FD8v5o7txcq9J/n35mPcc5WDO76EybDx/2D/l5Bk/wuTGqEZjg25G7il9y1uXbveQX7sGOZ+/fDyNqA36NDpLZQXaWvXFSVayLDRWkPPxFge+2U/TpSeoLiqWJNSryrV/Bsj7ctNKJzjambQnrRGVv25557DYDDwm9/8pk371NDn8PHHH7f6HHUIIdpNhr2z+DgUPyMGRQYwKi6Yd5yVlw1PhK4x2nKVA+IC4gj3CfcoLNcUEw1ciKwSQuDtbwIs9TOObfu1PA+TtZoHbk1FrxP1Ncb7B/WH42lQW63yNy5R7Mmq19UUb/j47rvv6tssWrSIL7/8kg8//LDN1Wh37NhBv36aRH/D+uYNH4sXL3Z6jjq59TpycnLo3r07kZGR9dUDG25vLWrGoegQ5o7pxa3vbOazbTn8z4iezRsIoSnmbvgblJ4Fn+YCiUIIUiNS+SLrC6pqqjDpTc3P0wRTVBTQOCTXJ8DE+ZNelBcXcSy/lJf/s51UwMtahW8PTY49Iz8DvdAT3zUedi0DoYMeKS0au6Jz4WrGsXLlShYsWMAPP/yAt7d70jIzZsxg3rx5JCc7zvGRUvLqq6+Sl5dXH93V0hnHtddey2OPPVbvEP/22295/vnnCQwMxM/Pj02bNpGSksLixYu57777WnSNhqgZh6JDGNkriME9AvjHusNYaxxIpCdM1iKX9n3h8DypkamUW8vZdsq9Ajs6iwVDeHjjyKouXlitXsjaWu56Zz2WKk3g0GLQ11f+21ewj9iAWLz0XpC9UZsRmf3dG6zikmbevHkUFxczfvx4EhMTmTPngkxedHQ0Dz74IAsXLiQyMpKMjAwAdu3aRXh4uN3zPfzww/XhuFu2bGHNmjWYTK5vegC2bNlCZGQkn376Kffccw8JCZpCdGBgIE8++STDhw9n+PDhPPXUU/WO8jfffJM777yTuLg4evXq1WrHOKgZh6KD0MrL9uLuD7bx3915TEyMaN4odAAExWuVAYfNtnue5LBkTDoT63PXM7L7SLeubYruSWXDGYe/CWuV9sXNP3uOWb38OJEH/n4X7i73F+zniu5XQHU55G6FlHvcH6yiU+GprLqzqKnsBp+jOoqKioiPj2/krK7Dnjy7JwwfPrzR0lNDbr/9dm6//fZm24cNG8aePXtadd2mqBmHosMY1y+U+BBf3lx72H5SUl10VfYGKLGfE+pt9GZ42HDP/BzR0VQdya6/pneAF9ZqzVH60OjuWKo0ldygIC1i6kzZGc6Wn9X8GzlbtByTnsq/obCPv79/p6iZ0Z4ow6HoMOrKy+4/Wczq/Q7EAgZMAVkLGc1yQutJjUwluyibY0XH3LquV3Q0tUVF1NgygDfkFSJ0mh7V4EAoKSgAYaZLhDbVr5NS7xvYV1umEjqIUvkbip8vynAoOpSbBncnIsDCG45mHSH9oFtfp9FVqRGa8oy7WeT1IblHsvlk63GWZJyoNxzFZ89Qfv4cOsz1BZwy8rV1a81wbICwgWAJcHeICsVlhzIcig7FqNdxz1WxbDt6jrQjDuprJEyBoz9CUZ7d3VH+UUT7R7u9XFVnOPam7eGx/+ymb1ygJqFuslCcf5aKkkIM0lBfa3x/wX6i/aPxQa8tVUUriTTFzxtlOBQdztRhPQj2NfG6o/KyCZMB6XS5alTEKLac3EJZdZnDNnUYIyJAr+fbb7YQF+LL/81MwmTWYzQHUHT2NNWVBZhqDBh7aBm3+/L3aYl/uVs1yXclbKj4maMMh6LDMRv1zL4yhnUHz7An10552W69tQgrJ8tVoyNHU1VbxZaTW1xe73SZlVy/EHqdz+W9WcPpYjHh382C3hRMTsYeZG0FFiuYe/emsKKQE6Un6BfUT/NvIKCne9FbCsXlijIcik7BbSN74udl4E1ns47jm+C8/VDEoaFDsRgsLv0cpZVW7li0hT1BMQwqzCbcV9PK6hJsQcogqsq1GUuAnx/CaGzsGD+6AcIGgKVrC0ep6ChaI6tex0svvYQQgrNnzzbavmXLFvR6fTOZc3tER0czcOBABg4cSP/+/XniiSeorHSiFN2EO+64g8GDBzNo0CBuueUWSmzyOJWVlUybNo24uDhSUlIahQk///zzxMXF0adPH7755hu3r+UMZTgUnQJ/s5HbRvbkqz15ZJ2xU142YbL218FylUlvYkT4CNblrHNYb8BaU8t9H+0g40QRKZPGIcrKqLCptIbE+FNVeSE7PSZOi8HfX6Dt79clVpMaUWG4lyStkVUHOH78OKtWrSLKpjxQR01NDY888gjXXnut231Zs2YNu3fvJi0tjaysLO6++263j33llVfYuXMnu3btIioqitdeew2Ad999l65du5KZmcn8+fN55JFHAMjIyGDJkiXs3buXlStXMnfuXGpqHMj8eIBKAFR0Gm4fFcO7G47wjx+yWHBLEyHkoF4QPlirDOhAXHB05GjWHF/D4cLDxHWNa7RPSskzX2Swev9p/t+kAQyLtZD51z9RtmULloEDiOjdFZ2hBwavOEStFz2v0K6/L38f3X26E3A2C6wVSp+qDVj/yUHOHndSe74FBPfwJXVqb6dtWiqrDjB//nz+8pe/NJM+f/XVV7n55pvZssX1EmlTfH19eeutt+jRowcFBQX1md7O8PfX1AqklJSXl9frZi1fvrw+sfGWW25h3rx5SClZvnw5v/71r/Hy8iImJoa4uDjS0tLqZdZbijIcik5DsK8X04b34KO0Y/xufDzhXSyNGyRMhu+ehnNHoWtzfatREdqP+vrc9c0Mxzvrj/DBpqPcMzq2XhvLFB1NWVoaQbfPplsPX0wWA9ViAkH5u/EekghoORyaf2ODdqKeV7TtoBUXlZbIqq9YsYKIiAgGDx7caH9ubi5Lly5l9erVLTIcoBmCmJgYDh06RP/+/UlNtR+x9+9//5v+/fsDMHv2bL766iv69+/PX//61/q+1GWqGwwGunTpQn5+Prm5uYwYcSHnSMmqKy5L7kqN5cPNx/jnuiM8dVP/xjvrDEfGMriyefGmMJ8wenftzbqcdcwecEGi5KvdeTz31T5+OTCMR67rW7/de/hwilauRNbUoNPrSRwXxYH/ptOj6iCG4GBKqkrILsrmhtgbYOfXEJLgsDaIwn1czQzaE09l1cvKynjuuef49ttvm+373e9+x4IFC9Dr9a3qU93Sqp+fH+np6S7bv//++9TU1HDffffx8ccfM3v2bCWrrvh50yPQm4mDu/NR2jEKSpuU0+waDd2TYMu7cNp+BbnRkaPZcXoHxVXaHeS2o+eY/3E6SVEBvDw1EZ3uwpfGOzmZ2uJiKm2Fc4bfEM2IvX8jOk6b6Rw4p23vHxCv+TfUMtVlgSey6ocPH+bIkSMMHjyY6OhocnJySEpK4uTJk2zdupVf//rXREdH89lnnzF37lyWLVvmUV+Ki4vJzs6md+/eFBcX2+1HYmJivXhiHXq9nmnTpvH5558DjWXVrVYr58+fJzAw0KHcemtRMw5Fp+O3Y3rxnx25LPwxmwfHN7k7Hf8n+HQm/CMVxj4OV9wHugt3fKkRqbyz+x1+OvETffyu5K7FWwnvYuadmcMxGxvfGXonDwegbMsWzP37Y83Lw3r6NJZEbZmq3jFeZYXqMlVf/DLFlaz66dMX5HCio6PZunUrwcHBHDlypH77rFmzuPHGG5k0aRIAffv2Zf9+5+VxS0pKmDt3LpMmTaJrVy1Sz9mMQ0rJ4cOHiYuLQ0rJF198Qd++2gx6woQJLFq0iJEjR/LZZ5/xi1/8AiEEEyZM4NZbb+XBBx/kxIkTHDp0yKnUu7sow6HodMSH+nFN/9D68rK+Xg0+pjGpMHcz/Hc+fPdHrULgpDchOB6AQd0G4W/y57vstbyw1YSUkvdnJxPo01y22hgaijEqitK0LQTOnEm57UtbZzgy8jMItgTT7aRNWVQl/inc4OzZsw4j+wDGjh2LlJLa2lomT57Mk08+6dZ5pZTMnDmToqIipJQMHjyYN998E9DCdG+77Tbi4uIIDAxkyZIlACQkJDB16lT69++PwWDg9ddfb/XSGoBwNsDLgWHDhsk6J5ji0iH9eCGTXt/I47/sx12jY5s3kBL2fA7//b0W7XT1U5AyB3R6fr/2Yb7P/pGyzMf4950jGRbt2C9x4oknKF71HT0XL+bcvz7g/Bdf0mdLGsJoZMqKKYR5h/FG3kkoOgH3bmrHEV/e7Nu3r77K3eXOl19+SVZWFvfff39Hd8Vt7L0/QohtUsph9torH4eiU5LYI4AregXxzoYsKq124s6FgIG3wL2bIXYsfPMYLLyB2rOHOZbTkxpRxIM3+Do1GgA+I0dSe/48RyZOpPDTz7AMGIAwGqmwVpBVmEXfrr3h2Ca1TKVwmxtvvPGSMhotQS1VKTotc8fE8T/vbuY/23OZnhxlv5FfGEz/CHYuga8fwfrGFcRaJ7O/lwDvfcBVTq/hf911GLp1o6aggJqiIryHDgUgszCTGllDf2GG6lLlGFcoGqBmHIpOy5VxQQyK7MJbPzgpLwva7CNxOsuu+Iwfq/uwQPcRA6WR9Ue/c3kNodfjk5yM/3XX0XXqVLxsCWF1Uur9ztsco8q/oVDUowyHotMihGDumF4czS/jqz0nnbb94eAZfv/NWd6PfpGaG/9OavF5dhfsp2DTa5o/xEP2FezD3+RP95ydENwbfENaOgyF4rJDGQ5Fp+aa/mH06ubjuLwskHGiiHs/3E7vUD9e/5+h6IfNZPSN/0AKwcb1z8EHk6HwuN1jHaFJqfdFHN+slqkUiiYow6Ho1GjlZePYl1fE2gNnmu0/eb6C2xduwdfLwPuzhteH7vaLHkuQOYj1cVdoyXtvXgHbP3Br9lFdW82hc4fo5xUIVcVqmUqhaIIyHIpOz8TEuvKymY22l1Ramb1wCyWVVt6fPZywLub6fTqhY1TEKDZWnMQ6Z70mkLhiHvx7qhZa64DS6lI+zPiQqtoq+lXY5K7VjOOSp7Wy6q+++ip9+vQhISGBP/zhDwCsWrWKoUOHMnDgQIYOHcrq1atdnmfWrFnExMQwePBgevfuzYwZMzzSjlq4cCHdunWrzyh/55136vctWrSI+Ph44uPjWbRoUf32bdu2MXDgQOLi4rj//vud5pi4jZTysn4MHTpUKi593t+QJXs+8qXcnJUvpZSy2lojZ7y7Wcb+73/l2gOn7R6z8shKOWDhALn91HYpa2qk3PSWlM+GSvl8DynTP5Kytra+7f78/fJPP/5JJv8rWQ5YOEBO/WKqLPxgipR/T7oo47vcycjI6OguyN27d8u+ffvK8vJyWVJSIuPi4mRmZqbL41avXi2vvvpqWVFRIaWU8tSpU1JKKbdv3y5zc3Prz929e3eX55o5c6b89NNPpZRS1tbWypdfflnGx8fLyspKt8bw/vvvy3vvvbfZ9vz8fBkTEyPz8/NlQUGBjImJkQUFBVJKKYcPHy5//PFHWVtbK6+77jr51VdfNTve3vsDbJUOflc7RTiuECIQ+BiIBrKBqVLKcw7a+gP7gKVSynkXq4+KjmXa8CheXZ3JG2szGR49nCeX7+WHg2d4fspArurdze4xV3S/Ar3Qsy5nHUNChkDKPRA3DpbNhaX3ULF3Kd8MupFPjq1k15ldeOm9uDb6Wqb2mcqgwATEX2Iu1AFRtBlrFr7N6aNZbXrOkJ6xjJ3lvK5FS2XV33zzTR599NF6UcSQEC1QYsiQIfVtEhISqKiooLKysr6dK4QQzJ8/n6VLl/L11183k2z3hG+++Ybx48fXS7OPHz+elStXMmbMGIqKiupl1GfMmMGyZcu4/vrrW3wt6Dx5HI8C30spXxBCPGp7/YiDts8CP1y0nik6BRaTntlXRvPStwd55PNdfLI1h7ljejnO7wD8TH4MCRnC+pz1PJBkU9MN6kXWlNf5dN1TrMjfSdG2DKK9gvjDsIeZEDeRLl5dtHYn0qGyCKLty1wrLk1aIqt+8OBB1q9fz+OPP47ZbOall15i+PDhjdp+/vnnDBkyxG2j0ZCkpCT279/PxIkTmTZtGgdsopsNefDBB5kxY0b9tdatW0fv3r155ZVX6NGjRyNZdbggn56bm0tkZGSz7a2lsxiOicAY2/NFwFrsGA4hxFAgFFgJ2E2FV1y+3DYymrd+yOKTrTncNLg7D13Tx+UxqZGpvLLtFXKKc9hzdg+fHPyELSe3YNAZGBeZytRjexl2ZAdCrIKe10Pd976u/obKGG9zXM0M2hNPZdVBU5s9d+4cmzZtYsuWLUydOpWsrKx6efK9e/fyyCOP2JVedwfZwOfw8ccfO2170003MX36dLy8vHjrrbeYOXMmq1evvuiy6p3FcIRKKfMApJR5QohmQfNCCB3wV+A24GpnJxNC3A3cDTQr9ai4dOliMfLI9X1JO1LAi7cMaiSR7ojREaN5ZdsrTFw2karaKiJ8I3gg6QEmxU0i2BIMNVb46VVY82c4uhFueBkSJmnPA2PBv/US1IrOhT1ZdWczjsjISKZMmYIQguTkZHQ6HWfPnqVbt27k5OQwefJkFi9e7HY1wabs2LGDq6/WftJczTiCgoLqt9111131JWIjIyNZu3Zt/b6cnBzGjBlDZGQkOTk5jbZfUrLqQojvgDA7ux538xRzga+klMddWUwp5dvA26CJHHrST0Xn5rYRPbltRPPqf47oFdCLqyKvQid0TOszjZHdR6ITDYIJ9QYYNR96XwdL52iS7ftuhqM/Qr+b2mEEis6GqxnHpEmTWL16NWPGjOHgwYNUVVURHBxMYWEhN9xwA88//zxXXtl4ZjpjxgzmzZvnVMJcSsmrr75KXl5efXSXqxlHXl4e4eHhAKxYsaJemPDaa6/lscce49w5zTX87bff8vzzzxMYGIifnx+bNm0iJSWFxYsXc9999zn/h7jBRTMcUspxjvYJIU4JIcJts41w4LSdZiOBVCHEXMAXMAkhSqSUj7ZTlxWXAUIIXrv6NdcNQ/rBnd/Bhr/BDwugtlqF4SoAuP3227n99tsZMGAAJpOJRYsWaZ+r114jMzOTZ599lmeffRbQfrBDQkLYtWtX/Q98Ux5++GGeffZZysrKGDFiBGvWrMFkai77b4+///3vrFixAoPBQGBgIAsXLgQgMDCQJ598st738tRTT9U7yt98801mzZpFeXk5119/fasd49BJZNWFEC8C+Q2c44FSyj84aT8LGOZOVJWSVVd4zMndmmjimEfBy6+je3NZ8HOSVS8qKuKOO+7g008/7eiuuI2nsuqdxcfxAvCJEOIO4BjwKwAhxDBgjpTyzo7snOJnRthA7aFQtAB/f/9Lymi0hE5hOKSU+dhxeEsptwLNjIaUciGwsN07plAoFIpmKMkRhUJxUegMy+KK5rTkfVGGQ6FQtDtms5n8/HxlPDoZUkry8/Mxm82uGzegUyxVKRSKy5u6fIIzZ5orHCs6FrPZ3Ci73B2U4VAoFO2O0WgkJiamo7uhaCPUUpVCoVAoPEIZDoVCoVB4hDIcCoVCofCITpE53p4IIc4AR1tximDgbBt1pyO5XMYBaiydlctlLJfLOKB1Y+kppbRb7OayNxytRQix1VHa/aXE5TIOUGPprFwuY7lcxgHtNxa1VKVQKBQKj1CGQ6FQKBQeoQyHa97u6A60EZfLOECNpbNyuYzlchkHtNNYlI9DoVAoFB6hZhwKhUKh8AhlOBQKhULhEcpwAEKI64QQB4QQmbYKhE33ewkhPrbt3yyEiL74vXQPN8byoBAiQwixSwjxvRDC/QLeFxlXY2nQ7hYhhLQV/uqUuDMWIcRU23uzVwjx74vdR3dw4/MVJYRYI4TYYfuM/bIj+iNVLAEAAAfBSURBVOkKIcR7QojTQog9DvYLIcTfbePcJYRIuth9dBc3xvIb2xh2CSF+FEIMbvVFpZQ/6wegBw4DsYAJ2An0b9JmLvCW7fmvgY87ut+tGMtYwNv2/LeX8lhs7fyAdcAmtHLCHd73Fr4v8cAOoKvtdUhH97uF43gb+K3teX8gu6P77WAso4EkYI+D/b8EvgYEMALY3NF9bsVYrmjwubq+LcaiZhyQDGRKKbOklFXAEmBikzYTgUW2558BVwshxEXso7u4HIuUco2Ussz2chPgmZ7yxcOd9wXgWeAvQMXF7JyHuDOWu4DXpZTnAKSUpy9yH93BnXFIwN/2vAtw4iL2z22klOuAAidNJgKLpcYmIEAIEX5xeucZrsYipfyx7nNFG33nleGACOB4g9c5tm1220gprcB5IOii9M4z3BlLQ+5Au6vqjLgcixBiCNBDSvnlxexYC3DnfekN9BZCbBRCbBJCXHfReuc+7ozjaeB/hBA5wFfAfRena22Op9+lS4U2+c6rehzaVLQpTWOU3WnTGXC7n0KI/wGGAVe1a49ajtOxCCF0wCvArIvVoVbgzvtiQFuuGoN2R7heCDFASlnYzn3zBHfGMR1YKKX8qxBiJPCBbRy17d+9NuVS+c67jRBiLJrhGNXac6kZh3Yn0aPB60iaT6/r2wghDGhTcGfT3I7CnbEghBgHPA5MkFJWXqS+eYqrsfgBA4C1QohstHXoFZ3UQe7uZ2y5lLJaSnkEOIBmSDoT7ozjDuATACnlT4AZTWjvUsOt79KlghBiEPAOMFFKmd/a8ynDAVuAeCFEjBDChOb8XtGkzQpgpu35LcBqafM0dTJcjsW2vPMPNKPRGdfR63A6FinleSllsJQyWkoZjbZ2O0FKubVjuusUdz5jy9ACFxBCBKMtXWVd1F66xp1xHAOuBhBC9EMzHJdivdgVwAxbdNUI4LyUMq+jO9UShBBRwH+A26SUB9vkpB0dEdAZHmgRFAfRIkYet237E9oPEWgf/k+BTCANiO3oPrdiLN8Bp4B022NFR/e5pWNp0nYtnTSqys33RQAvAxnAbuDXHd3nFo6jP7ARLeIqHbimo/vsYBwfAXlANdrs4g5gDjCnwfvxum2cuzv5Z8vVWN4BzjX4zm9t7TWV5IhCoVAoPEItVSkUCoXCI5ThUCgUCoVHKMOhUCgUCo9QhkOhUCgUHqEMh0KhUCg8QhkOxSWLEGKCM9VcO+0DhBBzG7weI4Roc7kSIcQsIcRrHh6TbcvfaLr9aSHEQ3a2TxJC9G9NP93sV3chxGe254nuqN0KIUrau1+KjkUZDsUli5RyhZTyBQ8OCUBTOvYIIYTe02MuApPQcibaFSnlCSnlLbaXiWh5HIqfOcpwKDodQohoIcR+IcQ7Qog9QogPhRDjbAKAh4QQybZ29Xf2QoiFtvoJPwohsoQQt9g59QtALyFEuhDiRds2XyHEZ7brfVinemybATwlhNgA/EoI0UsIsVIIsU0IsV4I0dfW7le2Pu4UQqxrcK3utvaHhBB/aTC26UKI3bZjFjgY/+NCq3nxHdDHzv4rgAnAi7ax9LLNBjbZai4sFUJ0tXNcs74KIb6yyVEgtBoaT9mePyuEuNP2XuyxZYr/CZhmu+Y0IYSvEOJ923h2CSFubnCt52zX2SSECLU3TsUlTEdnPaqHejR9ANGAFRiIdnOzDXgPLZt3IrDM1m4W8Jrt+UK07H4d2p14poPz7mnwegya0nGk7bifgFG2fdnAHxq0/R6Itz1PQZOdAS2rOML2PKBBv7LQNM3MwFE03aPuaJIc3dBEDVcDkxpcLxgYajunN5o8eSbwkJ2xLARuafB6F3CV7fmfgL/ZOcZeXx8F7rVdawvwjW37GjSjVf8/a/j/tr1e0PA6XKj5IIGbbM//AjzR0Z8p9Wjbh5pxKDorR6SUu6WmqroX+F5qv0S70X7M7LFMSlkrpcwA3L3LTZNS5tiuk97k3B8DCCF80YrhfCqESEfT+qqrzbARWCiEuAut0FEd30tNT6sCTUakJzAcWCulPCM1ef4P0YrwNCQVWCqlLJNSFtFcC6oZQoguaIbgB9umRXbO66iv621tRwH/RZuBeQPRUsoDLi49Dk2WAwB5oeZDFVDnO9qG4/dLcYmiZNUVnZWGqr21DV7X4vhz2/AYdwttNTympsm5S21/dUChlDKx6cFSyjlCiBTgBiBdCFHXxt553e1Tu+gAOejrFjR5/SxgFdqs5y60H3xXCAd9rbYZeWj+P1VcBqgZh+LnRDGaHLtH2O78jwghfgX19agH2573klJullI+BZylsRR3UzYDVwkhgm0O9+nAD03arAMmCyEsQgg/4CZXY5FSngfOCSFSbftus3Neu32VWiW/48BUNIXh9cBDtr8Or2njW2Beg/M386soLk+U4VD8bJBaHYKNNmfviy4PaMxvgDuEEDvRls7qSqa+WOfsRvvR3+nk+nnA/6L5D3YC26WUy5u02Y62RJYOfI79H3DQyrY+bHNo90KT/X9RCLELLfrpT3aOcdTX9cApqZUUXo+tkJSd49fA/2/nDmoAAIEYCNYCNtCJcD6cgH7JjInNpcllzzie5CRZM7jnvYXnf77jAlBxcQBQEQ4AKsIBQEU4AKgIBwAV4QCgIhwAVC4P8YTUO04vewAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# seems like O(D^(-1/3)) negative advantage.\n", "Ds = np.array([5, 10, 20, 100, 300, 500])\n", "for D in Ds:\n", " D = int(D)\n", " y = int(D**(2/3))\n", " print(D, y)\n", " results = test_all_thresholds(D, calc_performance_y_triangles_curried(y))\n", " print_max(D, results)\n", " plot_by_T(D, D**(1/3)*np.array(results), \"Y=\" + str(y) + \", \", scaled=True)\n", "plt.title(\"performance * $D^{1/3}$\")\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Testing: What about $Y = D^{1/3}$? (it's \\sqrt{D})" ] }, { "cell_type": "code", "execution_count": 140, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "5 1\n", "D = 5 T = 4 performance = 0.1171875\n", "10 2\n", "D = 10 T = 7 performance = 0.0777587890625\n", "20 2\n", "D = 20 T = 13 performance = 0.06089535425417125\n", "100 4\n", "D = 100 T = 55 performance = 0.027958005378125067\n", "300 6\n", "D = 300 T = 159 performance = 0.01674118429821104\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 140, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# seems like O(1) (i.e. -0.25) negative advantage.\n", "Ds = np.array([5, 10, 20, 100, 300])\n", "for D in Ds:\n", " D = int(D)\n", " y = int(D**(1/3))\n", " print(D, y)\n", " results = test_all_thresholds(D, calc_performance_y_triangles_curried(y))\n", " print_max(D, results)\n", " plot_by_T(D, D**(1/2)*np.array(results), \"Y=\" + str(y) + \", \", scaled=True)\n", "# plt.title(\"performance * $\\sqrt{D}$\")\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The maximum performance decreases when adding triangles for all D." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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3Nxcxo0bh7+/P+Hh4fTq1ctgSJH169fTvn17WrduzcCBA0lN1aJtv/766/j5+REUFMSrr75a5uuhnsMogburnbolpSj3gjWvw6WicZRMZafLAUv9x179QHjsozKV16FDByIiIggPD2fAgAH525OTk9myZQsAkyZNyt/er18/Ro0aBcBbb73FvHnzmDBhAgAJCQls3bqVY8eOERERwYABA1i6dClxcXEcOnSIxMREfH19GTFiRKE6JCUlMXXqVKKioqhZsyYff/wx06dPZ/z48Sxbtoxjx44hhCiX8OaqwSiBRy17dp29VtXVUBTFzBQX3jw2Npa33nqL5ORkUlNT6dGjR/6+vn37YmFhgZ+fH5cvXwa08OYDBw7EwsKC+vXrG1zmdefOnRw5coSOHTsCkJWVRfv27XFycsLW1pbnnnuO3r17Ex4eXubzUg1GCTxc7fhjfzrZulysLdXdO0WpMmXsCeRJNyG8eVkYCm8O2q2n5cuX07JlS+bPn19oPe288OZwO6x53s+SSCnp1q0bv/zyS5F9u3btIjo6mkWLFjFr1iw2btxo4pkUpj4FS+Duak+uhIRk9SyGoiiGGRveHLT1OBo0aEB2djYLFy4sNX2nTp34/fffyc3N5fLly4UamDzt2rVj27ZtnDp1CtDiT504cYLU1FRu3LhBr169mDFjBvv37zfpvAxRDUYJ3PXrYqiZUopSPQ0ePJj27dtz/Phx3N3dmTdvXpE0gwYN4tNPP6VVq1acPn26xPKmTJlCWFgY3bp1o0WLFqUev3///ri7uxMQEMCYMWMICwsrEt68bt26zJ8/n8GDBxMUFES7du04duwYKSkphIeHExQUROfOnctlTe8qD0NeUa+yhDfP88/VW9Jz4kq5aNe5u8p/rzC3sNYVQV0D87sGKry5JiUlRUopZVJSkvT29pYJCQllKk+FN68gDZxtsbQQKmqtoihVJjw8nOTkZLKysnj77bepX79+ldVFNRglsLK0oIGzrVoXQ1GUKmNo3KKqqDGMUri72nFePbynKIqiGozSeLjaq4f3FEVRUA1GqTxq2ZOYkklGtq6qq6IoilKlVINRiryotReS1W0pRVGqN9VglMKjlrYuhrotpSjVy/nz5+natSu+vr74+/szc+ZMg+mqU3hzNUuqFGohJUWpnqysrPjss89o3bo1KSkptGnThm7duuHn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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "for y in range(10):\n", " ds = range(2+y, 50)\n", " fn = calc_performance_y_triangles_curried(y)\n", " deltas = [max(test_all_thresholds(d, fn)) for d in ds]\n", " plt.plot(ds, deltas, label=str(y) + \" triangles\")\n", "plt.title(\"Performance vs D\")\n", "plt.xlabel(\"D\")\n", "plt.ylabel(\"performance $\\delta$\")\n", "plt.legend()\n", "plt.grid(True)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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3Nxcxo0bh7+/P+Hh4fTq1ctgSJH169fTvn17WrduzcCBA0lN1aJtv/766/j5+REUFMSrr75a5uuhnsMogburnbolpSj3gjWvw6WicZRMZafLAUv9x179QHjsozKV16FDByIiIggPD2fAgAH525OTk9myZQsAkyZNyt/er18/Ro0aBcBbb73FvHnzmDBhAgAJCQls3bqVY8eOERERwYABA1i6dClxcXEcOnSIxMREfH19GTFiRKE6JCUlMXXqVKKioqhZsyYff/wx06dPZ/z48Sxbtoxjx44hhCiX8OaqwSiBRy17dp29VtXVUBTFzBQX3jw2Npa33nqL5ORkUlNT6dGjR/6+vn37YmFhgZ+fH5cvXwa08OYDBw7EwsKC+vXrG1zmdefOnRw5coSOHTsCkJWVRfv27XFycsLW1pbnnnuO3r17Ex4eXubzUg1GCTxc7fhjfzrZulysLdXdO0WpMmXsCeRJNyG8eVkYCm8O2q2n5cuX07JlS+bPn19oPe288OZwO6x53s+SSCnp1q0bv/zyS5F9u3btIjo6mkWLFjFr1iw2btxo4pkUpj4FS+Duak+uhIRk9SyGoiiGGRveHLT1OBo0aEB2djYLFy4sNX2nTp34/fffyc3N5fLly4UamDzt2rVj27ZtnDp1CtDiT504cYLU1FRu3LhBr169mDFjBvv37zfpvAxRDUYJ3PXrYqiZUopSPQ0ePJj27dtz/Phx3N3dmTdvXpE0gwYN4tNPP6VVq1acPn26xPKmTJlCWFgY3bp1o0WLFqUev3///ri7uxMQEMCYMWMICwsrEt68bt26zJ8/n8GDBxMUFES7du04duwYKSkphIeHExQUROfOnctlTe8qD0NeUa+yhDfP88/VW9Jz4kq5aNe5u8p/rzC3sNYVQV0D87sGKry5JiUlRUopZVJSkvT29pYJCQllKk+FN68gDZxtsbQQKmqtoihVJjw8nOTkZLKysnj77bepX79+ldVFNRglsLK0oIGzrVoXQ1GUKmNo3KKqqDGMUri72nFePbynKIqiGozSeLjaq4f3FEVRUA1GqTxq2ZOYkklGtq6qq6IoilKlVINRiryotReS1W0pRVGqN9VglMKjlrYuhrotpSjVy/nz5+natSu+vr74+/szc+ZMg+mqU3hzNUuqFGohJUWpnqysrPjss89o3bo1KSkptGnThm7duuHn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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "for y in range(10):\n", " ds = range(2+y, 50)\n", " fn = calc_performance_y_triangles_curried(y)\n", " deltas = [max(test_all_thresholds(d, fn)) for d in ds]\n", " plt.plot(ds, deltas, label=str(y) + \" triangles\")\n", "plt.title(\"Performance vs D\")\n", "plt.xlabel(\"D\")\n", "plt.ylabel(\"performance $\\delta$\")\n", "plt.legend()\n", "plt.grid(True)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "for y in range(0, 10, 2):\n", " ds = range(2+y, 200)\n", " fn = calc_performance_y_triangles_curried(y)\n", " cs = [d**0.5*max(test_all_thresholds(d, fn)) for d in ds]\n", " plt.plot(ds, cs, label=str(y) + \" triangles\")\n", "plt.title(\"Scaled performance vs D (might tend towards constant $C = \\delta \\sqrt{D}$)\")\n", "plt.xlabel(\"D\")\n", "plt.ylabel(\"$\\delta \\sqrt{D}$\")\n", "plt.legend()\n", "plt.grid(True)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "for y in range(0, 30, 5):\n", " ds = range(2+y, 90)\n", " fn = calc_performance_y_triangles_curried(y)\n", " deltas = [max(test_all_thresholds(d, fn)) for d in ds]\n", " plt.loglog(ds, deltas, label=str(y) + \" triangles\")\n", "plt.title(\"Delta vs D (might be a power law relationship)\")\n", "plt.xlabel(\"D\")\n", "plt.ylabel(\"performance $\\delta$\")\n", "plt.legend()\n", "plt.grid(True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Goal 3: Compare Hastings algorithm with QAOA on non-triangle-free graphs.\n", "* See QAOA.ipynb for the analysis extending QAOA.\n", "* I need to see if I can improve my grid-search approach to optimize QAOA angles.\n", "* I want to draw plots to graph the two results together (perhaps for small D), and draw conclusions.\n" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "## from qaoa repo\n", "from numpy import sin, cos, linspace, pi, e, tan\n", "import numpy as np\n", "from scipy.optimize import minimize\n", "\n", "def delta_triangles(beta, gamma, D, Y):\n", " \"\"\"This calculates delta, given a D-regular graph with Y triangles related to each edge.\"\"\"\n", " t1 = 0.5*sin(4*beta)*sin(gamma)*(cos(gamma)**(D-1))\n", " t2 = 0.25*(sin(2*beta)**2)*(cos(gamma)**(2*(D-1-Y)))*(1-(cos(2*gamma)**Y))\n", " return t1 - t2\n", "\n", "opt_both = lambda x, d, y: -delta_triangles(x[0], x[1], d, y)\n", "\n", "def get_max_opt(D, Y):\n", " return -minimize(opt_both, (0,0), method='Nelder-Mead', args=(D,Y)).fun\n", "\n", "for Y in range(0, 30, 3):\n", " inputs = range(2+Y, 200)\n", " plt.plot(inputs, [get_max_opt(D, Y)*(D**0.5) for D in inputs], label=str(Y) + \" triangles\")\n", "plt.legend()\n", "plt.title(\"Scaled performance vs D (might tend towards constant $C = \\delta \\sqrt{D}$)\")\n", "plt.xlabel(\"D\")\n", "plt.ylabel(\"$\\delta \\sqrt{D}$\")\n", "plt.legend()\n", "plt.grid(True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "comparison" ] }, { "cell_type": "code", "execution_count": 107, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.0023311243653237" ] }, "execution_count": 107, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(np.log(120/45)/np.log(2))**2" ] }, { "cell_type": "code", "execution_count": 108, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.665144142690225" ] }, "execution_count": 108, "metadata": {}, "output_type": "execute_result" } ], "source": [ "2**(2**0.5)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "5 -> 45\n", "10 -> 120\n", "20 -> 400" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "0.75" ] }, { "cell_type": "code", "execution_count": 163, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.6931471805599453" ] }, "execution_count": 163, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.log(2)" ] }, { "cell_type": "code", "execution_count": 111, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "Y=20\n", "ds = range(2+Y, 20*Y, 10)\n", "fn = calc_performance_y_triangles_curried(Y)\n", "cs = [d**0.5*max(test_all_thresholds(d, fn)) for d in ds]\n", "plt.plot(ds, cs, label=\"classical\")\n", "plt.plot(ds, [get_max_opt(D, Y)*(D**0.5) for D in ds], label=\"qaoa\")\n", "\n", "plt.title(\"Scaled performance vs D (with Y=\" + str(Y) + \" triangles)\")\n", "plt.xlabel(\"D\")\n", "plt.ylabel(\"$\\delta \\sqrt{D}$\")\n", "plt.legend()\n", "plt.grid(True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "what about high y?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "y=d-1 --> 0\n", "y=d/2 --> ~0.55/D" ] }, { "cell_type": "code", "execution_count": 148, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.2941176470588234" ] }, "execution_count": 148, "metadata": {}, "output_type": "execute_result" } ], "source": [ "0.22/0.17" ] }, { "cell_type": "code", "execution_count": 147, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.3076923076923077" ] }, "execution_count": 147, "metadata": {}, "output_type": "execute_result" } ], "source": [ "0.17/0.13" ] }, { "cell_type": "code", "execution_count": 160, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "alpha=0.9\n", "ds = range(2, 200, 4)\n", "cs = [d**2*max(\n", " test_all_thresholds(d, calc_performance_y_triangles_curried(int(d*alpha)))\n", " ) for d in ds]\n", "plt.plot(ds, cs, label=\"classical\")\n", "plt.grid()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Goal 4: Extend Hastings' algorithm analysis to p=2 for (n+1)-regular graphs, girth > 5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A full derivation is at https://www.overleaf.com/read/thgyswvpgmwt\n", "\n", "All together, \n", "\n", "$$\n", "\\langle Z_i Z_j \\rangle_2 = \\sum_{k=0}^n \\sum_{u=0}^n P_n(k) P_n(u) \n", "0.5\\big(Z_{i2,k} Z_{j2,u}\\Big\\rvert_{Z_{i1} = q(k+1),Z_{j1} = q(u+1),Z_{i0}=Z_{j0} = 1} + Z_{i2,k} Z_{j2,u}\\Big\\rvert_{Z_{i1} = q(k),Z_{j1} = -q(u), Z_{i0}=1, Z_{j0} = -1}\\big)\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Goal 5: Plot p=2 Hastings algorithm results, over $\\tau$\n", "\n", "Assume the threshold is the same each time. This could be made different later..." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "import functools" ] }, { "cell_type": "code", "execution_count": 415, "metadata": {}, "outputs": [], "source": [ "def make_qfn(T):\n", " return lambda x: (x < T)*2 - 1\n", "# return lambda x: 1 if x < T else -1\n", "\n", "qfns = [make_qfn(T) for T in range(10000)]" ] }, { "cell_type": "code", "execution_count": 416, "metadata": {}, "outputs": [], "source": [ "import scipy.stats\n" ] }, { "cell_type": "code", "execution_count": 417, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "114 µs ± 4.28 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)\n" ] } ], "source": [ "# %%timeit 100us\n", "#calculate binomial probability\n", "scipy.stats.binom.pmf(k=10, n=12, p=0.6)" ] }, { "cell_type": "code", "execution_count": 424, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.06385228185599999" ] }, "execution_count": 424, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# %%timeit 1us\n", "binompmf(12, 10, 0.6)" ] }, { "cell_type": "code", "execution_count": 425, "metadata": {}, "outputs": [], "source": [ "@functools.lru_cache(maxsize=4096)\n", "def Z1plus(T, n):\n", " qf = qfns[T]\n", " return 2**(-n)*sum([binom(n, m)*qf(m+1) for m in range(0, n+1)])\n", "\n", "@functools.lru_cache(maxsize=4096)\n", "def Z1minus(T, n):\n", " qf = qfns[T]\n", " return (-1)*2**(-n)*sum([binom(n, m)*qf(m) for m in range(0, n+1)])\n", "\n", "@functools.lru_cache(maxsize=4096)\n", "def H(T, n, k,l,r):\n", " p_plus = (1 + Z1plus(T, n))/2\n", " p_minus = (1 + Z1minus(T, n))/2\n", " return binompmf(k, l, p_plus) * binompmf(n-k, r, p_minus)\n", "\n", "@functools.lru_cache(maxsize=None)\n", "def binompmf(tot, times, p):\n", " return p**times * (1 - p)**(tot-times) * binom(tot, times) \n", "\n", "@functools.lru_cache(maxsize=None)\n", "def bigQ(T, n, l, r, a, b):\n", " qf = qfns[T]\n", " return qf((n-l-r)*(1-a)/2 + (l+r)*(1+a)/2 + (1+b)/2)" ] }, { "cell_type": "code", "execution_count": 438, "metadata": {}, "outputs": [], "source": [ "# optimized version \n", "# @functools.lru_cache(maxsize=None)\n", "# def Z2(Z1, Z0, match, T1, T2, n, k):\n", "# f = lambda lr: H(T1, n, k, lr[0], lr[1])*bigQ(T2, n, lr[0], lr[1], Z1*Z0, match)\n", "# return Z1*np.sum( f(np.stack(\n", "# np.meshgrid(np.arange(k+1), np.arange(n-k+1)),\n", "# -1).reshape(-1, 2).T))\n", "\n", "@functools.lru_cache(maxsize=None)\n", "def Z2(Z1, Z0, match, T1, T2, n, k):\n", " out = 0\n", " for l in range(k+1):\n", " for r in range(n-k+1):\n", " out += H(T1, n, k, l, r)*bigQ(T2, n, l, r, Z1*Z0, match)\n", " return Z1*out" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 439, "metadata": {}, "outputs": [], "source": [ "# @functools.lru_cache(maxsize=4096)\n", "def final(n, T1, T2):\n", " \"\"\"\n", " Calculates -1/2 * \n", " \"\"\"\n", " out = 0\n", " q1 = qfns[T1]\n", " for k in range(n+1):\n", " for u in range(n+1):\n", " equal = Z2(q1(k+1), 1, q1(k+1)*q1(u+1), T1, T2, n, k) * Z2(q1(u+1), 1, q1(k+1)*q1(u+1), T1, T2, n, k)\n", " unequal = Z2(q1(k), 1, -q1(k)*q1(u), T1, T2, n, k) * Z2(-q1(u), -1, -q1(k)*q1(u), T1, T2, n, k)\n", " out += binom(n, k) * binom(n, u) * 0.5 * (equal + unequal)\n", " return -0.5 * 2**(-2*n) * out" ] }, { "cell_type": "code", "execution_count": 440, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The line_profiler extension is already loaded. To reload it, use:\n", " %reload_ext line_profiler\n" ] } ], "source": [ "%load_ext line_profiler" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It should be odd function over the midpoint. Both T=0 and T> n+1 should be 0 (i.e. no improvement)." ] }, { "cell_type": "code", "execution_count": 441, "metadata": {}, "outputs": [], "source": [ "import time" ] }, { "cell_type": "code", "execution_count": 442, "metadata": {}, "outputs": [], "source": [ "# ! pip install line-profiler\n", "# %load_ext line_profiler" ] }, { "cell_type": "code", "execution_count": 443, "metadata": {}, "outputs": [], "source": [ "# %lprun -f final final(70, makeq(3), makeq(3))" ] }, { "cell_type": "code", "execution_count": 444, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 1.07 s, sys: 8.02 ms, total: 1.08 s\n", "Wall time: 1.08 s\n" ] }, { "data": { "text/plain": [ "[]" ] }, "execution_count": 444, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%%time\n", "# recall that n = D-1\n", "D=30\n", "xs = range(D+2)\n", "plt.scatter(xs, [final(D-1, t, t) for t in xs])\n", "plt.plot(xs, [0]*len(xs))" ] }, { "cell_type": "code", "execution_count": 445, "metadata": {}, "outputs": [], "source": [ "def get_max_final(d):\n", " return max([final(d-1, t, t) for t in range(d+2)])" ] }, { "cell_type": "code", "execution_count": 446, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.191162109375" ] }, "execution_count": 446, "metadata": {}, "output_type": "execute_result" } ], "source": [ "get_max_final(3)" ] }, { "cell_type": "code", "execution_count": 447, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/kunal/anaconda3/lib/python3.7/site-packages/line_profiler/line_profiler.py:328: UserWarning: Could not extract a code object for the object \n", " profile = LineProfiler(*funcs)\n" ] }, { "data": { "text/plain": [ "Timer unit: 1e-06 s" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%lprun -f Z2 get_max_final(20)" ] }, { "cell_type": "code", "execution_count": 448, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 15.2 s, sys: 64 ms, total: 15.3 s\n", "Wall time: 15.3 s\n" ] }, { "data": { "text/plain": [ "0.05319450252407808" ] }, "execution_count": 448, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%time get_max_final(60)" ] }, { "cell_type": "code", "execution_count": 453, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "CacheInfo(hits=2910809, misses=44635, maxsize=None, currsize=44635)" ] }, "execution_count": 453, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Z2.cache_info()" ] }, { "cell_type": "code", "execution_count": 452, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " " ] }, { "data": { "text/plain": [ " 6766289 function calls in 16.286 seconds\n", "\n", " Ordered by: internal time\n", "\n", " ncalls tottime percall cumtime percall filename:lineno(function)\n", " 19529 10.069 0.001 14.655 0.001 :9(Z2)\n", " 2666496 3.864 0.000 4.330 0.000 :11(H)\n", " 64 1.395 0.022 16.285 0.254 :2(final)\n", " 142938 0.449 0.000 0.449 0.000 :17(binompmf)\n", " 3448500 0.292 0.000 0.292 0.000 :2()\n", " 488372 0.200 0.000 0.256 0.000 :21(bigQ)\n", " 64 0.007 0.000 0.008 0.000 :4()\n", " 64 0.007 0.000 0.007 0.000 :9()\n", " 128 0.001 0.000 0.001 0.000 {built-in method builtins.sum}\n", " 64 0.000 0.000 0.008 0.000 :1(Z1plus)\n", " 64 0.000 0.000 0.008 0.000 :6(Z1minus)\n", " 1 0.000 0.000 16.286 16.286 :2()\n", " 1 0.000 0.000 16.286 16.286 {built-in method builtins.exec}\n", " 1 0.000 0.000 16.286 16.286 :1(get_max_final)\n", " 1 0.000 0.000 0.000 0.000 {built-in method builtins.max}\n", " 1 0.000 0.000 16.286 16.286 :1()\n", " 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%prun get_max_final(62)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "performance is decent until about n=60 it takes ~1s per data point. spent some time 12/24 optimizing..." ] }, { "cell_type": "code", "execution_count": 163, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 14.9 s, sys: 24 ms, total: 14.9 s\n", "Wall time: 14.9 s\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%%time\n", "ds = range(2, 62)\n", "deltas = [get_max_final(d) for d in ds]\n", "# plt.plot(ds, deltas, label=\"p=2, girth > 5\")\n", "\n", "deltas2 = [d**0.5 * delt for d, delt in zip(ds, deltas)]\n", "plt.plot(ds, deltas2, label=\"2-step, girth > 5\")\n", "plt.grid()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'calc_performance_y_triangles_curried' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mds\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdeltas\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"p=2, girth > 5\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0mfn\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcalc_performance_y_triangles_curried\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6\u001b[0m \u001b[0mdeltas\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mmax\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtest_all_thresholds\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0md\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfn\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0md\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mds\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mds\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdeltas\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"p=1, girth > 3\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mNameError\u001b[0m: name 'calc_performance_y_triangles_curried' is not defined" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ds = range(2, 45)\n", "deltas = [get_max_final(d) for d in ds]\n", "plt.plot(ds, deltas, label=\"p=2, girth > 5\")\n", "\n", "fn = calc_performance_y_triangles_curried(0)\n", "deltas = [max(test_all_thresholds(d, fn)) for d in ds]\n", "plt.plot(ds, deltas, label=\"p=1, girth > 3\")\n", "\n", "plt.title(\"Performance vs D\")\n", "plt.xlabel(\"D\")\n", "plt.ylabel(\"performance $\\delta$\")\n", "plt.legend()\n", "plt.grid(True)" ] }, { "cell_type": "code", "execution_count": 86, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ds = range(2, 50)\n", "deltas = [d**0.5 * max([final(d-1, t, t) for t in range(d+2)]) for d in ds]\n", "plt.plot(ds, deltas, label=\"2-step, girth > 5\")\n", "\n", "fn = calc_performance_y_triangles_curried(0)\n", "cs = [d**0.5*max(test_all_thresholds(d, fn)) for d in ds]\n", "plt.plot(ds, cs, label=\"1-step, girth > 3\")\n", "\n", "plt.title(\"Scaled performance vs D (might tend towards constant $C = \\delta \\sqrt{D}$)\")\n", "plt.xlabel(\"D\")\n", "plt.ylabel(\"performance $\\delta \\sqrt{D}$\")\n", "plt.legend()\n", "plt.grid(True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Asymptotic analysis of Hastings\n", "August 20 2020" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This presentation was given in the HRSS paper. It has fewer terms.\n", "https://arxiv.org/pdf/1402.2543.pdf\n" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [], "source": [ "def zi_zj(d, t):\n", " sum1 = sum([binom(d-1, k) for k in range(0, t-1)])\n", " sum2 = sum([binom(d-1, k) for k in range(t, d)])\n", " return 4**(1-d) * binom(d-1, t-1) * (sum1 - sum2)" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [], "source": [ "import functools\n", "import matplotlib.pyplot as plt\n", "from scipy.special import binom\n", "import numpy as np\n", "from numpy import pi, exp, e" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This formula is even simpler, assuming the threshold is above $D/2$, also from HRSS." ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [], "source": [ "@functools.lru_cache()\n", "def zi_zj_simpler(d, t):\n", " sum1 = sum([binom(d-1, k) for k in range(d-t+1, t)])\n", " return 4**(1-d) * binom(d-1, t-1) * sum1" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "D=20\n", "plt.scatter(range(D+2), [zi_zj(D,t) for t in range(D+2)])\n", "plt.scatter(range(D+2), [zi_zj_simpler(D,t) for t in range(D+2)])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This plot ensures that the Hastings formula and HRSS formula are the same." ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "for D in range(20):\n", " results = test_all_thresholds(D, calc_performance)\n", " # print_max(D, results)\n", " # plot_by_T(D, results)\n", " plt.plot(range(D+2), [zi_zj(D,t)-results[t] for t in range(D+2)])\n", " # plt.legend()" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "outs = [0]*5\n", "rang = range(5, 500)\n", "for D in rang:\n", " inps = range(int(D/2), int(D/2+D**0.5))\n", " results= [zi_zj_simpler(D, t) for t in inps]\n", " outs.append(inps[np.argmax(results)])" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(rang, [i**0.5*(outs[i]/i-0.5) for i in rang], label=\"best threshold\")\n", "plt.plot(rang, [1/2 for d in rang], label=\"k=0.5\")\n", "plt.plot(rang, [.4386 for d in rang], label=\"k=0.4386\") # my guess at the best threshold\n", "plt.title(\"best threshold $T = D/2 + k\\sqrt{D}$ vs $D$\")\n", "plt.xlabel(\"D\")\n", "plt.ylabel(\"$k$\")\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The above graph shows the best threshold at $0.4 \\le k \\le 0.5$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### how close is the binomial coefficient approximation?" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [], "source": [ "def test(n, k):\n", " return (2/(n*pi))**0.5 * exp(-2*k*k)" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [], "source": [ "def exact(n,k):\n", " return 2**-n *binom(n, n/2 + k*n**0.5)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [], "source": [ "def test2(n, k):\n", " return (n/2 - k*n**0.5) / (n/2 + k*n**0.5 + 1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "compare n choose k with asymptotic error terms (scale with $n^{-3/2}$)" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# k above ~ 1/e it will go below zero!\n", "for k in np.linspace(0.43, 0.47, 11):\n", " f = lambda n: (test(n,k) - exact(n,k))*n**1.5\n", " inps = np.linspace(20, 1000, 100)\n", " plt.plot(inps, f(inps), label=\"k=\" + str(k))\n", "plt.legend()\n", "plt.grid()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## compare binom sum with real thing" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [], "source": [ "from scipy.special import erf" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "for n in np.linspace(10, 19, 10)**2:\n", " sumexact = lambda k: 2**-n*sum([binom(n, i) for i in range(int(n/2 - k*n**0.5), int(n/2 + k*n**0.5))])\n", " sumapprox = lambda k: erf(k*2**0.5)\n", " inps = np.linspace(0.42, 0.45, 20000)\n", " plt.scatter(inps, [(sumapprox(i)-sumexact(i))*n**0.5 for i in inps], label=\"n=\" + str(n))\n", "plt.legend()\n", "plt.grid()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Error analysis via normal approximation" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [], "source": [ "def Phi(z):\n", " return 0.5*(1 + erf(z*2**-0.5))" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [], "source": [ "def normal_approx(D, t):\n", " n = D-1\n", " mu = n/2\n", " var = n/4\n", " integral = Phi((t-1 - mu)*var**-0.5) - Phi((D-t - mu)*var**-0.5)\n", " return 2**(1-D)*binom(D-1, t-1)*integral" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [], "source": [ "def normal_approx_improved(D, t):\n", " k= (t - D/2)*D**-0.5\n", " n = D-1\n", " mu = n/2\n", " var = n/4\n", " integral = erf(2**-0.5 * (2*k*(D/(D-1))**0.5 - (D-1)**-0.5))\n", " #same as below\n", " #integral = Phi((t-1 - mu)*var**-0.5) - Phi((D-t - mu)*var**-0.5)\n", " return (2/(pi*(D-1)))**0.5 * exp((-1/(2*n)) * (D-2*t + 1)**2) * integral" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [], "source": [ "def normal_approx_symmetric(D, t):\n", " k= (t - D/2)*D**-0.5\n", " n = D-1\n", " mu = n/2\n", " var = n/4\n", " integral = erf(k*2**0.5)\n", " return (2/(pi*(D-1)))**0.5 * exp((-1/(2*n)) * (D-2*t + 1)**2) * integral" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [], "source": [ "def normal_approx_sym2(D, t):\n", " k= (t - D/2)*D**-0.5\n", " return (2/(pi*(D-1)))**0.5 *exp(-2*k*k)* erf(k*2**0.5)" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [], "source": [ "def normal_easy(k):\n", " return (2/pi)**0.5 * exp(-2*k*k)*erf(k*2**0.5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## maximum value of f(k)" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.7028824094560503e+299" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "binom(1000, 500)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "inps = np.linspace(0.4, 0.45, 100)\n", "kmax = lambda k: exp(-4*k*k)/(k*pi) # when f'(k) = 0\n", "plt.plot(inps, normal_easy(inps))\n", "plt.plot(inps, kmax(inps))\n", "plt.grid()" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.010050167084168" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "exp(.01)" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# this is f'(k)\n", "simple = lambda k: exp(-2*k*k) - (2*pi)**0.5 * k * erf(k*2**0.5)\n", "inps = np.linspace(0, 1, 200)\n", "plt.plot(inps, simple(inps))\n", "plt.grid()" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "k_max = 0.43848\n", "performance/sqrt{D} = 0.3364933629451221\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# asymptotic of best...\n", "# matches hastings numerical approach of 0.34\n", "rang = np.arange(20000)/(20000/1.4) - 0.7\n", "results = [normal_easy(k) for k in rang]\n", "plt.plot(rang, results)\n", "print(\"k_max =\", rang[np.argmax(results)])\n", "print(\"performance/sqrt{D} =\",max(results))\n", "plt.grid()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### make successive approximations, what is the error?" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "for D in [50, 100, 200]:\n", " kmin =-1\n", " kmax=1\n", " rang = np.arange(int(D/2 + kmin*D**0.5), int(D/2 + kmax*D**0.5))\n", " krang = (rang-D/2)*D**-0.5\n", " \n", " plt.plot(krang, [zi_zj(D,t) for t in rang], label=\"D=\" + str(D))\n", " plt.plot(krang, [normal_approx(D, t) for t in rang])\n", " plt.plot(krang, [normal_approx_improved(D, t) for t in rang])\n", " plt.scatter(krang, [D**-0.5*normal_easy((t-0.5*D)*D**-0.5) for t in rang], s=3)\n", " plt.legend()\n", " plt.title(\"all results (performance vs D)\")\n", " plt.xlabel(\"k, $T = D/2 + k\\sqrt{D}$\")\n", " plt.ylabel(\"expected cut fraction - 1/2\")\n", " plt.grid()" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "for D in [50, 100, 200]:\n", " kmin =-1\n", " kmax=1\n", " rang = np.arange(int(D/2 + kmin*D**0.5), int(D/2 + kmax*D**0.5))\n", " krang = (rang-D/2)*D**-0.5\n", " \n", " plt.grid()\n", " plt.scatter(krang, [D**1.5*normal_approx(D, t) - D**1.5*zi_zj(D, t) for t in rang], s=3, label=\"D=\" + str(D))\n", " plt.title(\"error (normal -> zi_zj), which is $\\propto D^{3/2}$\")\n", " plt.xlabel(\"k, $T = D/2 + k\\sqrt{D}$\")\n", " plt.ylabel(\"$D^{3/2}$ * (expected cut fraction - 1/2)\")\n", " plt.legend()\n", " # approximation is ~ 0.15 / n^3/2 ... approx bigger by 1/\\sqrt{n} * 0.15 / n ... maximized at k_max\n", " # could be related to D vs D-1 sub" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "for D in [50, 100, 200, 400]:\n", " kmin =-1\n", " kmax=1\n", " rang = np.arange(int(D/2 + kmin*D**0.5), int(D/2 + kmax*D**0.5))\n", " krang = (rang-D/2)*D**-0.5\n", " \n", " plt.grid()\n", " plt.scatter(krang, [D**1.5*normal_approx_improved(D, t) - D**1.5*normal_approx(D, t) for t in rang], s=3, label=\"D=\" + str(D))\n", " plt.title(\"error (normal improved -> normal), which is $\\propto D^{3/2}$\")\n", " plt.xlabel(\"k, $T = D/2 + k\\sqrt{D}$\")\n", " plt.ylabel(\"$D^{3/2}$ * (expected cut fraction - 1/2)\")\n", " plt.legend()\n", " # approximation is ~ 0.12 / n^3/2 ... could be related to D vs D-1 sub " ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "for D in [50, 100, 200]:\n", " kmin =-1\n", " kmax=1\n", " rang = np.arange(int(D/2 + kmin*D**0.5), int(D/2 + kmax*D**0.5))\n", " krang = (rang-D/2)*D**-0.5\n", " \n", " plt.grid()\n", " plt.scatter(krang, [D*normal_approx_symmetric(D, t) - D*normal_approx_improved(D, t) for t in rang], s=3, label=\"D=\" + str(D))\n", " plt.title(\"error (normal symmetric -> normal improved), which is $\\propto D$\")\n", " plt.xlabel(\"k, $T = D/2 + k\\sqrt{D}$\")\n", " plt.ylabel(\"$D$ * (expected cut fraction - 1/2)\")\n", " plt.legend()\n", " # approximation is ~ 0.7 / n .. looks like .7* e^-2k^2 / n .. makes sense it's missing the binomial expression" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "for D in [50, 100, 200]:\n", " kmin =-1\n", " kmax=1\n", " rang = np.arange(int(D/2 + kmin*D**0.5), int(D/2 + kmax*D**0.5))\n", " krang = (rang-D/2)*D**-0.5\n", " \n", " plt.grid()\n", " plt.scatter(krang, [D*normal_approx_sym2(D, t) - D*normal_approx_symmetric(D, t) for t in rang], s=3, label=\"D=\" + str(D))\n", " plt.title(\"error (normal sym2 -> normal symmetric), which is $\\propto D$\")\n", " plt.xlabel(\"k, $T = D/2 + k\\sqrt{D}$\")\n", " plt.ylabel(\"$D$ * (expected cut fraction - 1/2)\")\n", " plt.legend()\n", " # approximation is ~ -0.35 / n .. looks like (e^-4k^2 - e^-2k^2) / n.. but it's < 0 !!!\n", " # where does the negative influence come from?\n", " test2 = lambda x: 1.5*exp(-2*x*x) * (exp(-2*x*x)-1) # can I derive this approximation? e^-2k^2(0.6 - 2.5x^2)?\n", " test3 = lambda x: -1.5*erf(x*2**0.5)*exp(-2*x*x)*x # systematic undershoot from e^-2k^2 (1 - 2k/ \\sqrt{D})\n", " # threshold is slightly high... is actually D/2 - 1/2\n", " plt.plot(np.linspace(kmin, kmax, 300), test3(np.linspace(kmin, kmax, 300))) " ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# TEST binom coeff approx\n", "inps = range(10, 1000, 1)\n", "k=0.3\n", "plt.scatter(inps, [n*((2/pi/n)**0.5 * exp(-2*k*k) - 2**-n * binom(n, int(n/2 + k*n**0.5))) for n in inps])\n", "plt.grid()\n", "# plt.ylim(-.01, .01)" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.3297602" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [ ".33649*.98" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [], "source": [ "g = lambda k, D: Phi(2*k - (D-1)**-0.5) - Phi(-2*k + 3*(D-1)**-0.5)\n", "gs = lambda k, D: Phi(2*k) - Phi(-2*k)" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "k=0.6\n", "inps = range(10, 1000)\n", "plt.plot(inps, [D**0.5*(gs(k, D) - g(k, D)) for D in inps])" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.03162277660168379" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(1/1000)**.5" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.0004937342143372" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# another test\n", "k=0.1\n", "D=1000\n", "erf(2**0.5 * k * (1 + 1/(D-1))**0.5) / erf(2**0.5 * k)" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "for D in [50, 100, 200]:\n", " kmin =-1\n", " kmax=1\n", " rang = np.arange(int(D/2 + kmin*D**0.5), int(D/2 + kmax*D**0.5))\n", " krang = (rang-D/2)*D**-0.5\n", " \n", " plt.grid()\n", " plt.scatter(krang, [D*normal_easy((t-0.5*D)*D**-0.5) - D**1.5*normal_approx_sym2(D, t) for t in rang], s=3, label=\"D=\" + str(D))\n", " # normal easy is off by 0.15 / n^3/2 .. from the D vs D-1 thing\n", " plt.title(\"error (normal easy -> normal sym2), which is $\\propto D^{3/2}$\")\n", " plt.xlabel(\"k, $T = D/2 + k\\sqrt{D}$\")\n", " plt.ylabel(\"$D^{3/2}$ * (expected cut fraction - 1/2)\")\n", " plt.legend()" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "for D in range(50, 500, 50):\n", " kmin =-1\n", " kmax=1\n", " rang = np.arange(int(D/2 + kmin*D**0.5), int(D/2 + kmax*D**0.5))\n", " krang = (rang-D/2)*D**-0.5\n", " \n", " plt.grid()\n", " plt.scatter(krang, [(D**0.5*normal_easy((t-0.5*D)*D**-0.5) - D*zi_zj(D, t)) for t in rang], s=3, label=\"D=\" + str(D))\n", " test = lambda x: 2.3*exp(-2*x*x) * (exp(-2*x*x)-0.7) # can I derive this approximation? e^-2k^2(0.6 - 2.5x^2)?\n", " plt.plot(np.linspace(kmin, kmax, 300), test(np.linspace(kmin, kmax, 300)))\n", " plt.title(\"all error (normal easy -> zi_zj), which is $\\propto D$\")\n", " plt.legend() \n", " \n", "# approximation is ~ 0.65 / n at k=0... bigger by 1/\\sqrt{n} * 0.65 / \\sqrt{n}\n", "# at k_max, it's much smaller..\n", "# the approximation is e^-2k^2 (a - bk^2) / n .." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "0.33/\\sqrt{D} is overshoot by 0.3/D" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.015811388300841896" ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ], "source": [ "0.5*1000**-0.5" ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.2352" ] }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" } ], "source": [ ".336*.7" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.835270211411272" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "exp(-2*0.3*0.3)" ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.6826894921370859" ] }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ], "source": [ "erf(0.5*2**0.5)" ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.476" ] }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ ".68*.7" ] }, { "cell_type": "code", "execution_count": 78, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.37" ] }, "execution_count": 78, "metadata": {}, "output_type": "execute_result" } ], "source": [ ".84-.47" ] }, { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.03162277660168379" ] }, "execution_count": 79, "metadata": {}, "output_type": "execute_result" } ], "source": [ "1/1000**0.5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## new algorithm" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "similar to Hastings D=3,4 alg. start uniform. \"rocks and pebbles\" is what I call it" ] }, { "cell_type": "code", "execution_count": 80, "metadata": {}, "outputs": [], "source": [ "def measure(trials, D, c):\n", " successes = 0\n", " for _ in range(trials):\n", " rands = np.random.rand(2*D)*2 - 1\n", " a = rands[0]\n", " k = sum(rands[1:D])\n", " b = rands[D]\n", " l = sum(rands[D+1:])\n", " if np.sign(a + c*k + c*b) != np.sign(b + c*l + c*a):\n", " successes += 1\n", " return (successes/trials - 0.5)*D**0.5" ] }, { "cell_type": "code", "execution_count": 81, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 81, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "inps = range(10, 100, 10)\n", "plt.plot(inps, [measure(100000, D, -D**-0.5) for D in inps])" ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD4CAYAAAD8Zh1EAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOydd3wcd53+37NdW7TqxbIsWbbca2ynF6c7BUIIJZSEA0II5SjH0Y4fx8EdRz0gB4FAgFCSXID04nTHSWzHvRfZlmT1slppJW3R9vn98d2Z3dWuquU4keZ5vfza9ezM7Oxq55lnnk+TZFlGgwYNGjS886E72wegQYMGDRqmBhqha9CgQcM0gUboGjRo0DBNoBG6Bg0aNEwTaISuQYMGDdMEhrP1xkVFRXJ1dfWktvX7/dhstqk9oLc5tM88M6B95pmB0/nMe/bsccuyXJzttbNG6NXV1ezevXtS227evJn169dP7QG9zaF95pkB7TPPDJzOZ5YkqXmk1zTLRYMGDRqmCTRC16BBg4ZpAo3QNWjQoGGaQCN0DRo0aJgm0AhdgwYNGqYJNELXoEGDhmkCjdA1aNCgYZpAI3QNGmYYvGEvzzY+e7YPQ8MZgEboGjTMMGxs3Mg33vgG3f7us30oGqYYGqFr0DDDMBAeAMAX8Z3lI9Ew1dAIXYOGGQZfWBC5P+I/y0eiYaqhEboGDTMMg+FBAALRwFk+Eg1TDY3QNWiYYVCsFk2hTz9ohK5BwwyDYrkEIppCn27QCF2DhhkGb9gLaIQ+HaERugYNMwzeiCB0f1SzXKYbNELXoGGGQbNcpi/GReiSJG2QJOm4JEn1kiR9Y5T13idJkixJ0tqpO0QNGjRMJRTLRQuKTj+MSeiSJOmBe4DrgCXAhyRJWpJlPQfwBWDHVB+kBg0apgaReIRgLAhoaYvTEeNR6OcC9bIsN8qyHAYeBm7Kst5/Aj8GglN4fBo0aJhCKHYLaJbLdMR4hkRXAK0p/28DzktdQZKk1UClLMvPSJL0ryPtSJKkO4E7AUpLS9m8efOEDxjA5/NNett3KrTPPDNwpj9zT6RHfd7S3fK2+H61v/PUYTyELmVZJqsvSpIO+DnwT2PtSJbl3wG/A1i7dq082anX2pTwmQHtM089jvQegQ7x3OKwvC2+X+3vPHUYj+XSBlSm/H826k8CAAewDNgsSVITcD7wlBYY1aDhLCMSBG96R0UlIGoz2hiKDp2No9JwBjEeQt8F1EqSNFeSJBNwK/CU8qIsywOyLBfJslwty3I1sB14tyzLu8/IEWvQoGF82PoLuPciiMfVRYqHXmot1bJcpiHGJHRZlqPA54EXgGPA32VZPiJJ0vckSXr3mT5ADRrOKAbaIDhwto/izKC3Afw94E3eUCsKvdRaqmW5TEOMx0NHluWNwMZhy/59hHXXn/5hadDwFuFPN8L8q+CGn57tI5l6+BMB0N56cM4GUgjdVsr+nv1n68g0nCFolaIaZi4iQ+A5BX0NZ/tIzgz8bvHoPqkuUjotFucUMxQdIi7Hs22p4R0KjdA1zFz0t4hHb9fZPY4zhVSFnoA37MVmtJFrygU47cDov2z+FzY2bhx7RQ1vCTRC1zBz4WkSj97Os3oYZwTxOAQyFbo37MVutGM1WoHTK/+PxCO81PwST9Q/cVqHqmHqoBG6hpkLT7N4HPKIFL/phGA/xKPieW+65eIwOaaE0AdCIph8oOcAUeW9NJxVaISuYeZCUegw/VS64p8Xzof+VhEvQKQtOkwObAYbcHr9XDxBj7qP457jp3e8GqYEGqFrmLlII/Rp5qMr/vmcCwAZ+k4BYp5oquVyOv1cFEIH2Nu9d9L70TB10Ahdw8xFfzPkVYnn006hJwi96kLxmLBdFMvFZkwo9NMg9L5QHwAGyaAR+tsEGqFrmJmQZaHQ51wg/j9dFXploo9eIjCqWC5Ww+l76IpCP6/8PPa69iLL8hhbTBxxOU6Xf5r9bc4gNEKfAXjmYAf/8dSRs30Yby8EeiHsg/KVYLBMQ4XuBiRxB+Ioh956ZFnGG/amB0VPYwydQuhXzLmCvmAfTYNNU3Dg6Xi97XWuffRajvdpHv14oBH6DMBzh7t4YHsz0ZhWRKJCyXDJrwZH2TQkdBdYC0BvEIFR90mCsSBROYrdaJ8Sy8UT9JBrymVd2TrgzPjo7b524nKcx+sfn/J9T0dohD4D0DMYIhqXae/Xuuup8IggoSD08ulpudiKxfOiWug9iTc0CIDD5CDHkAOcJqGHPBRYCqjOrabAUsBe19QT+mBYHPMzjc8QjoWnfP/TDRqhzwD0+EIAnHKfme568bjMHX/ezat1rjOy/zOCfkWhV01The5OEnphLQQH8A2IOTUOkwODzoBFbznttMV8Sz6SJLG6ZDV7uvdMxZGnYTBxERoIDbCpddOU73+6QSP0GQDXoCiaaTpDhN7mGeLlY928eHT8Kvdvu1r41aaTY694puBpEoRnsoFj1jRV6EXieVEtAF638KHtRjsAVqP1tIKifcE+8s35AJxTcg7tvna6/d1jbDUxDIYHKbWWUmYr44mTWkXqWNAIfZrDH4riD8cAaOo9M+1S67qEimpwjY8cZFnm7pdP8tMXT/Dy0aklgHHD0yTsFhAKPeyD4ODZOZYzgVTLpXA+AF6P6OniMDkAsBpOj9AVhQ6wpnQNwKRtF0/Qw66uXRnLB8OD5JnzeM/897CtY5uW8TIGNEKf5ujxhtTnTb1nRqEf7xItWRt6fGOsKXCi20fHQBCTQcc3HjtEn/8seKOe5hRCLxeP00WlR8Oix7tC6HlzQG/G198EJAndZrRN2nKRZZn+UL9K6AsLFmI1WNnvmlxL3j8f+TN3vnRnRguBwdAgueZcbpp3EzIyT9Y/Oan9zxRohD7N4UoQujPHeMYsl7oEoff6w3jGQc6bjwuv/be3rWFgKMy3nzh8RnKYR0QsKgZbKEVFjjLxOFU++kA7PP9NiEWmZn8ThdKUS7FcdHooqMGbGHSRarlMNig6GB4kJsdUy8WgM1DhqJi0gm4abCIaj6r9YVLfJ9eUy2zHbM4rO48n6p/QWv6OAo3QpzkUhb6uuoBWzxCRM5C6WNc1iM2kB6DRPbZKf/W4i0VlDi5fWMKXrlrAs4c6efrgWxiUHGwDOXbmFPrRJ2H7r6H78NTsb6JQiopsJcllhfPwJvxt1XI5DQ9dyUFXFDpAgaWAvmDfpPbX4hWtjEcidICba2+mzdfGt7Z8SxufNwI0Qp/mcHlFQPTcufnE4jJtnqlNXQxGYpxy+7lqSSkwto/uDUbY3eRh/UJBNp++tIbVc/L41uOHaB5mCZ30xPjpC8eJx6dYvSs9XFI9dJg6hd7XKB57Jzk44/CjyV7tk4FK6MXJZUUL8IX60Ut6NWXRZpi85eIJCUIvsBSoyyZL6LIs0+ZtS9uvAm/YqxL6dXOv47MrP8vGUxt5/9Pv57D7LF0w38bQCH0KsKOx9+xmbIwClzeEQSexeo5QUlPto9e7fMRluHJxKSa9bkwffWu9m2hc5vKFgmwMeh3/e+tqdJLEXQ/sZSgRwD3UNsD/7A7yq1frefpgx2i7nDhUQk9YLmY7mHNHJPTjfcfZ3rl9AvtP5LgnGmJNBPl9++GRT8DL353wtir8wywXgCXvxiuBXdIjSRJwegpdIe48S566bLKE7o171UEb/aF+dXkkFmEoOkSuWRC6TtLxmVWf4f5r7ycaj3Lbxtto7G+c1PFPV2iEPgX4w5ZT/PTFE3QPvvU9te/8y25u+8MOugayv3ePN0Sxw8zcIlEZeDo+eo83xK2/e5OjHclsEMU/Xzorl7lFNkHofadGzBh5ta4Hh9nAOVXJW/XKAiu/uHUVdV2DfOuJQ5xy+/mn+3diM0rUltj5nxdPEI5OoVXkaQadAXIrkstGyUW/98C9fH/798V/Xv8J3HsxxGMj719R6H3DyCYWhR2/Hbn3ejRE7cnfiud1z0x+eHU2hT5rNd682TjCQ+p+bUYbQ5HJ3bH1BwXxFpjTFbov4ptwAVBPpCdjvwADYXGcikJXcE7pOfzyil8SlaNa295h0Aj9NCHLMvtbxY9QCfa9VTje5eXFo928cdLNdXe/zivHMlMAXQlCL7SZsJsNp0Xod79ygu2NfTy4o1ldVtc5iNmgo7rQxrwSG6dcg3DfFfD6jzO2l2WZzSdcXLKgCKM+/ad3+cISvnhlLY/tbeemX21BBr66zsK/Xb+Ylr4Af9t1GhbEcHiaROaHTp9c5igb0UP3hr1qxSIH/gZdh+Dki9n3HYsm7ZLhhN64GZ77GtS/nH3bN+/BOtQBl30DokE4Msm8a38P6M1gdqQt9hXU4IjFYPu9QCJtMeqfVEBasUaGe+jAhFW6O+pWn6cqdOU7H07oAIU5hWKd0DRKNZ0CaIR+mugcCKqZJJve4krJv+1qxaiXeOSuCyhz5vDJP+/md6+n+7Y93hAlDjOSJFFdZOXUJHPRG3p8/N/OVgw6iReOdBFL+NrHu70sKHWg10nMK7Zj8DTAUF9W//hYp5fuwRDrF5RkvAbwhStquWJRCdG4zP3/tI4ym471C4s5d24Bd79STyCcORWnvX+IW36zjY6JtDVIbZurwFE+okL3R/z4wok7D2X6z87fZd/3YJuYFGTIyRw+rQRJfVly7/tb4fWf0FN0Pqz/hsgdP/B/4/9MaQecqBJNWCsKvDoJuyUf3rwHhvqxGq3E5TjB2MTvLPuCfeQYcrAYLOqy8RB6u6+dur66tGXuqBudpMOoM6YFRRWyViyXVCgkr6h4DQIaoZ8m9rUIRbGsIpctJ92nZQ0EIzG+8vcD48rnDkVjPLavjWuWlLG2uoDHP3sh66rzeXhXa9p6Pd4gxQ5x0lUX2jICj8FIbFxBxx8/X4fFoOPf37UEty/MzlPipD3W6WVhmVCC84rtLJcSA4kH2zP2sfmEuOBdtrA44zUAnU7id7etYevXr2BlpfBmJUni6xsW4vaFuH9rU8Y22+rd7Gn28PzhUTJUZBk2/xAe/gj8cQN0Hkz65wqUfi5Z1Ko/6iccDxM+8bxYsPJD0LAJ3PUZ66qqvPpioZRTrSfXUfHoy3Lhf/FbIMvUz/+kIOJVH4aWNzNV/njgc6X75wl4I14cxYshNADbf3NaDbo8QU9aQBTGR+h377mbz73yubS7AnfETbmtnHxLflpQdDSFbtKbyDHkZGTFzHRohD4B+EJRBobSc4v3t3owGXR8dv18/OEYu5oml7YFQuE/ureNpw+MHQR88Ug3/YEIH1xXCYDFqOe8uYU09wYIRYW/G43F6fWHKXaYAZhbZKMtJXXxwR3NLPr289T820aW/PvzXPWz1xgMZuZO72nu44Uj3dx12Tzet2Y2FqOO5w530usL4faFWJRC6CulhCodTH6GwWCE377WwO/fOMXSWbmU5loy3kOBQa8j32ZKW7amqoCrFpdy7+aGDJVen7j4ba13MxxtngADgQgMtMLmHwgi1xlg8Y1wzsfSV3aUQywMgcy/nz8sLoK++pcgfy5c/T3QGWHX7zM/gBIInX+lePSkBEZVQh+m0P29ItXxgs8SsiTuXlbcCkjC4gHh2b/5a2h4NfM9Mw64J90/T8AX9mF3zILF74Ltv8aaOP0nS+hKDrqC8RC6a8iFK+CiO5D8DnqiPcx2zCbfnD9uywXAaXZqhD4MGqFPAJ/6824++vsdacv2t/azbFYu6xcWY9LrTqtB1cZD4pb/cPvYP9K/726lIi+Hi+cnlVhtqZ1YXKbJLU7QXn8YWYaSBKFXFdqIxWVa+wJEYnHu2VTPojIHX7iylg3Lyqh3+dh1Kv1klGWZ/95YR4nDzCcvmYvVZODyhSU8d7iLo53ihFtUJk64mmIbK3UJQvf3QDTEH7ec4qIfbOIHz9WxqMzBj25ZManv5oPrKvGGohzr9KYtr+8WhL7jVF9ae+DmXj+X/WQzK7/3Il//1YMAnLzkF/BPz8D7/wQV54hl3V5RqTpK6qLSM9zXth1qrwZ7CSx9D/L+B+np7U1fua9R9Fevuij5fxDees8J8Xy4QlfuZmatTi5zVkDNZcJ28ffCg++DF74JT31h9IAspDfmSoGaAnjeXRAaxOZuSPt8E4En5EnLcIEUQh8amdCVoOfBnoPqMnfUzRzHHPLMeWlB0dEsFwCnyalZLsOgEfo4cbRjkDcbeznUPqCWukdicQ62DbCqMh+rycB5NQVsmmRgNBiJqR78oTEIvbUvwBsn3XxgbSU6XdInnVcsKgDrXYLkXIPC2y9RFboYatDU6+ep/R10DAT52oaF/MvVC/jvm5dj1EvsakrPA97d7GFPs4cvXlWL1WQA4Prl5fR4Qzy9ZT8gq5aLTRdlsa6VAYMIWLU1N/Bfzx5lRaWTpz9/MQ996nyWVTgn9f0sLhfvofSNUVDf48NuNuALRTnQlvzenj7QQSwu86WrarnM2UUciY884+NIR3KdJ/a1s+HuN/jPZ45mFheFfBDyEpfjqoL1xcNQe414fd2nkEKD3PvLH6bbbEqPmMJ54v9KLKGvAWKJNgzDFbpyEVGOQcHKDwu//5510LRFqPaBlpEDsiAso9TGXAnE5Tj+iB+7yQ6V54MlD2unINWpslxsRhsmnUkdTZd1u4SlohD6YHgQf9xPpaMSp9mZVaErhVDDkWvO1YKiw6AR+jjx1+1NmA069DqJpw4IRXW8y0soGmfVHKFUrlhUQmOPP8OnHg82H3cRCMe4clEJ3YMhtSAoG/6xuxVJgvetnZ22fF6xHUmCky5xwVH2oVgu1YXCM23s8fPb1xtYWCqqNUFYNktnOdnTnH4yvn6iB71O4l0rZ6nLrlhUQoEhyPeaPsTnrK+o+6f7MEaibDWcD8CzW/dg0Ov4+QdWsXz25IhcQUVeDg6zgboUhR6MxGjpC/Dec0T64bYU2+XpA52srcrnS1ct4PpiN7H8GgxmO7f/YSf1Lh8P72zhy3/fjyzLwiZLVejuerjnPLj3Ep7cvg8Z4fd6jRbhjQNUnkuzcR7viz/Hie6Uu4a+RiioEV0c7WVJC6Y7MTGqeLEYPpEKldDL0pcvvhEsTpGx8vHn4KZfic6QwwOy3Uehbbd4HvKKC8cwhe6P+JGRRdm/3gC1V2NNbDOZXPRsloskSRTkFIyo0ONyXLVIDrkPAdDqFTGfSkcl+ZZMy8VqsGLUGbPuz2nSLJfh0Ah9HBgIRHh8XzvvWVXBRfOLeHJ/B7Issy+Rrrg6EcBTyHHz8Z4R9zUSNh7qosBm4pOXzAXgSHt25dHmCfDAjhYurS2mIi8n7bUck57KfKuq0JWy/5KEZ11gM+GwGHhoRwsnun18+rIatcgEYF11PgfaBlQPHmBLvZuVs53kWpInlc1s4F1zwSJF+IB+c/IA2kU/7EeHROe94yfqeP+a2er7nw4kSWJRuYNjncnvpbHHjyyLtgZLZ+WyJUHoJ7u9HO/2cuOKhOLtOohx1koe/NT5SJLELb/ZxjceO8SltcV86aoFtHmG6CFBTo2vwv3XQSRAfKAN3YtfUt/PU7QYjDnKAfH32HoW61o5dSKRvSLLgsDzxd+Qgpqk5eI6CpIe5l4iLJfU4OtgJyCBvTT9Q5ts8OnX4bNvwuy1oDfC2k+kB2T7W8Xx/vVm4f8rOej29Ewib1hcdFQ/esEGbAHx+51otWggEiAYC6alLCoYrbjIG/YSk2NY9BaO9h4lEo+kEbrT7GQwPKj2alEac40EZX0NSWiEngXNvf60JlP/2NNKMBLntguquGnlLNo8Q+xt6Wdfi4ciu4nZ+eIkry6yUVNk4+Vj3QQjY/icKQhGYrxyrJtrl5ayYra4OGSzXQaGInz8/l1EYnG+dcPirPuqLbEnLZcEoRfZRZBRkiSqC200uv1U5OWkqW4QwcdwNK56+IPBCAda+9N8egVXV4kc7qpIY1J9tu8hYC7mzVA1AKW4+fSl88b9PYyFRWW51HV51QwJJSA6v8TORfOL2NfSz1A4xtMHO9FJcP2KchjqF3nhZcuZW2TjgTvOxaCT2LC0jN/dvoYL5gl7aH/nEFgLRdm9Ts++qx7mu5HbWG44qr7/KWuN+tzlDfLs0BIAYvWviIXeLogOQUE2Qj8mbJi8OSLHPNUq8HYKRa3PokTzqyEnxate87FkQDYWgUc/KdIkQ17Y8vPsVaIkCd1uErYc86+aUFC0ob+BWMK7z1b2r2A0Qlf6v5xbfi7BWJB6T71a8l/pqCTfnE9cjqvHmtrHJRtyzbkMhAbe2sZub3NohJ6CYCTGj56v44r/eY1rfvE6O0/1EY/LPLC9mTVV+SyrcHLN0lLMBh1P7W9nf2s/qyrz0lTu5YtKeOOkm0Xffp7l//ECt/xmW9b86VS8dqIHfzjG9cvLsZsN1BTZMgg9Gpe56697aOr189vb1rCgNLuvOL/ETmOPn2gsTo83RJ7ViNmQLKCpTlSMfvLiuRnFPWurheLanfDRtzf0EpfhoiyEvqY4xTc++Hfx2L6HoeKVBLAwIFu5oCjEnELrqJ99IlhU7sAXiqr9aOq7vegkkb1z4bxCwrE4O5v6eOZgB+fNLaTEYUnmfpeJYOyislze/OaV/Oaj52A26Fk2y4leJ7G/1SMIOK8KPv4c33g9xBvOd9M//1r1/Y+QVNBHOgZpkstoo5hS11axUMloUQi9sAZ8XcKP7z4CJUuSKjw1MOrthNxh/vlISARk2f8QvPj/oHUHvOtuWHmrsGK6EsHGYZaLLyIufkqnRXLysFWIO6mxLJfeoV5ueeoWHj7+MJAMbOaZ8zLWHY3QFTvlstmXAcJ2aRlswaETQ6udZmHLKcQ/FqE7TU7C8fCk8uinKzRCT2DnqT42/OJ1frO5gZtWzcJhNvCh+7bzr/84QFNvgNsvEHnLDouRqxaX8sT+Dhp7/GqPFAVfuKKWH92ynH+9ZgHXLCljT7OHF46k50g3uf28556t/GrTSfoDYZ471Em+1cj5NUItLqtwZmS6/OlImDcbe/nx+1Zw4bxMglUwv8ROOBan1TOEyxtUA6IK1lXnU5GXw63nVmZsW2QXLQKUwOiWejc5Rn3GZwTICSdO2vKVcOgf4na/tx5jlRgY3CkXsjpvagdqLC4XJ7fSbqC+x8ecAisWo55z5xZg1Ev8/o1GGnv83LgyQZCJwB/lyewak0GnXoRzTHoWlTlEte+HHobPbKWVUo53e/nweVVELrxL3e5EyscR7Q8kOgsvYFn4AKFQMKnGUy0XEGTuaUoQesIKSQ2MejszA6KjYd2nRC75jntF+uXy94lipHhMpGdCBqFnWC6ArXYDAAHv6GmyXYEuYnKMTS1iBJxC2KNZLtlUs7Ld0qKlFFgKONBzgFZvK8VGcazKBUIh/jEJPXEB0Hz0JDRCR/jSt/1hB3EZHrrjPH72gVU8+fmLuGpxCY/ta6fIbua6ZckT7t2rZqn56Ksq01WK02rkg+vm8PkravnJ+1YwOz+Hx/amF9nc90YjB9v6+emLJ7jwh5t47nAX1ywpUxXz8gonnQNB3IlZoHVdg2xpj/KZ9fO4eXV6IHQ4ahPK/WS3Vy37T8XtF1TzxtcuVzNWhmNtVT57msUJuaXezXk1BZgMWX4m/kS63vmfFWl3b/4KAEfNeThzjERs5ThCUzuNaGHis9UlfPST3T7mlyR6e5sMrJ6Tzxsn3eh1UvLv1XVIqGJ79upUgNVz8jjQOkAspxDMDjXb6MrFpfjkZF5+t69fJaqjHYPMKbCir70ShzRE66E3hH8u6YWtAklCP/4sIEPpkmRL21RCH5wgoVeeC5XnQely2PBDsSy/WtgxgcTfxTqG5QIYF92IQZbxu46M+na9Q2Kfe7v3MhgeHNNyCcVCarOtVChEXWAuYHnRcg65D9HqbaXIII5VuUCohD4ODx00Qk+FRujAD56rQ5Lg4TvP58KEveCwGLn3o2v44XuX85P3r0gjtfULi3FYDEgSrBgle0Onk3jvObPZUu+mc0D8wAeDIsB6yzmzef5Ll7BhWRl6ncT7UzJWlNQ+RaX/5c1mjDrRanYszCsWlspJly9R9p8ZkExNdRyOtdX5eAIRttb30tjjz+qfA2KIgsUJi98NJgdsE4QuzVrNP+66gIW1C9OKi6YCNrOBqkIrdV1eorE4Tb1+5pckraeLEncuF80vokApTuo6BGXLR93vqsp8fKGoWqH78rFuaopszC2ypfnLwViArkQDtqOdgywpz6Vk5bXEZInAsZeE5ZJXmfTCFUI/9ox4zGa5RMPiu5wIoUsS3PYE3PkqmFIsrUu/KloOWJxgSC/OUgg9LQWwcB42WSIwvEXBMCjKOipH2dq+NWsvdAUKyfcGezNeU7bLs+SxvGg5pwZO0R3oVgldIejxKnTlNS0wmsSMJ/Sdp/p49mAnn750HrOGZY1IksSt585Rs1cUmA16PnzeHC6eX4TDkj2lSsEt51Qgy/D4PqHSH93TRiAc42MXVrOoLJeffWAVR7+3gbXVSbWztEL8UA+3DzAwFOHxve2cX24gz2rK+h6pcFiMlDst1Lt8uBJ9XCaCNVXiOH77khglls0/B0Q2hbVIEMqSd4tUucJayMljQakDU0GlSM+LTu14uUVlDo51DdLcFyASk1WFDsmWAjcpwd5oGHrqxkHo4i5rf0s/vlCUHY19XLlY/M0V7zlHb0PSBTncPogvFOWU28/SWblUlJVxWKolr+ONZMqiArODmLUY+hqQjVZhxeTki2pVRaH7EnbceD10BSZrZhDVUQZXfQeWvCdjdfeQ6JfiMKbHXmzGHAK+ThFUHQG9/aIZm0NvYXPrZvqCfRh0hqQfn4LRqkU9QQ8WvYUcQw4ripMWmKrQE2mQA6EBIvFE61zNcpkQZjShx+My33vmCOVOC3ddNrFsjG9et5i/fvK8MderKrSxtiqfx/a2E4/L/PXNZlbPyRu1wCbXYmRuIjD66J42hiIxrpyT3SLJhvkldva2eAhH4xmWy1iYV2xjQ84x7u9+PyttHrWsPwOp1YgrPiAeE9WXgKh0BBjDn50oFpXl0uT2q3cvtSmEvqoyj6c/fzE3r068d08dxCNjEnpNkY1ci4F9rf1sOdlDOBbnikVCSSsBwzJbKZI+yKH2Ad3Ii0AAACAASURBVDV1csmsXCRJojH3PCqG6kQlqOKfJ9ClFxcXd85c0OnEP1sJ+BLphUoh00QU+mg4/zPw7v/NWHzQfZAF+QswDrsIWM15+CWgbReRWITHTj6WMdezr/sAOfE4l5vL2NK+BfeQm3xzfloygILRqkU9oeRQ6WVFy5AQ2yseus1owyAZ8AQ9asHQSEVFIIKikKnQX2x6Ma3idCbhHU3ovlCUx/a28aetp7jn1Xp+93rDhEasPbKnjcPtg3zjukXkmPRjbzBJ3LJmNvUuH795rYFGt18NsI6GZRVODrUN8NftzZwzJ49q5/iPr7bEQXOiq+JECV2SJD5i24VBirOh3Jf1pAWEV6ukxlVfAktvhhUfTL6em1DJU2W79DXCc19nZX6YuAzPJkbWzStJV4nLZzuTllKXKF5RMlxGgk4nsbIyj30tHl455iLXYlAzfgKRAHpJT7G1iBxzhCPtA2o/+KWzBKEE5lyKnjhE/GkKXZZlDg0JgtsfSkkRtZckFbry/ZwGoYdj4ayetYJoPMrBnoOsKl6V8Zo1p4CAToL2PWw8tZHvbPsOOzt3pq3T62mgIBbnsriJwfAgW9q3ZLVbYHSF3h/qVwOfDpODuU5x8VMUuiRJarWo2sdlgh66e8jNV177Ck82zMxh0uOSfZIkbQDuBvTA72VZ/uGw1+8CPgfEAB9wpyzLRzN2NIVo7vVzx593c9KV3pkw32ri/WszMziGIxyN85MXj3POnDzePSwfe6pxw4pyvvPUEX764nEKbSauXz72ybtsVq7apOuLH1wFA+OfiJRqQ0yU0InHWBsS/WrWFI4y5NjvhtkiowWdXvRHSYUyPGKqCH3r/8Ke+7nU9iQrpc+w+YSOWU4LdvMoP+GuQ2C0pdsgI2B1ZR6/erWe7sEgly0sUQPUvogPm9GG3WjHbOrgcNsAhXYThTYTpbniuy1acCGDh3LIlVJy0BGpjYeHithghO2+Uua6fOjMLmrspcnq0ClQ6N9987t0+bv4w7V/yPr6Cc8JhqJDrC5ZnfGa1eTAb7JC+15eighrpSuQkpUVj9EbcFEox7jQ78VgNNAX7KM2vzbreylEP5LlknohWF2ymv5QPzadLW37NEIfxXLJMeRg0BnSCF0ZUq349TMNYyp0SZL0wD3AdcAS4EOSJC0ZttpDsiwvl2V5FfBj4GdTfqQpONYb46Z7ttLjC3H/x9ex79tXU/efG1hY6uCPW5vGVWiwtd5NjzfE5y6fP7IKnSLkWoxcs6QUWYZbz61MywsfCcsTlkyR3cR1y8vGWDsdtaVJQs8WFB0VbbvJiYiTYZkzlH2deDxdoWeDqtAz2+hOGLEoHHsaKs9HbzTyD9P3uFl+RQ0Aj4iuQ1C6NH2QxQhYNSePuAyeQISrFidjJv6IXxC6yY6kD9E9GOKNk27VbgFYPqeQbfFlYoOUi8fTBztokQRRn5Ar+dOubdz0xE28YdYng6LeDtCbwJqZMTJenPCcYK9rL5FY9gvwPtc+gKyEbjPaCBgteNt3s61jG0BaJ0Ta99JHnEJ02PvbWVcqLuLqpKLBDkiZemQxWLAZbeMi9C+v+TL3b7g/7fxTFXpobEKXJCmjQVd3YhD2TA2UjsdyOReol2W5UZblMPAwcFPqCrIsp357NuCMlW49sqeNn+4OUmQ38+TnLuLyhSXk20xYjHo+flE1xzoH2TGsY2CTO3MqyzMHO3FYDFxSm70391Tj4xdVU1Nk46Pnj223ACytcGI26PjIeVXjugCkYn5xCqHnTlChH39WBO0MFqzhzEwFAIL9IMcyUuPSYHaA2QkDU0DozVtFJsj5n0G68zWOmFfwI+N9/D/v92CgLfs2sjyuDBcFqyoF0eh1EpctSP4mApGAqtCjsiCuzoEgS2YliabcaeFl43p6TLNVD12WZZ450MlQzbVw48+Rai7l5ZNiXNo2KSSCyvGYUOiOsoxhFBNBl7+LaDzKyf7sd3EHXAcosZZQZssUBjajjYDOwGbZRyQeQULCFUgpemp4hV69ngLnXPB2cFnFJUBCicfjYhzfq/+dts+Riov6Q/1p/V+cZic1zvS7p3xzPv3B8VkuyutpCj1xdzFTA6XjsVwqgNSpCW1ARjRQkqTPAf8CmIArsu1IkqQ7gTsBSktL2bx58wQPFzyeGMsKZO5aEefUoV2kjuEtiMnYjfDjJ3bxhXOEMt3cGuFPR8J8ZLGJq6tEQCgSl9l4MMCaUgPbtrw+4WOYLP59LRzft4PxTkH8/kVm8vXtbN7cgc/nm9D3lWuSGIrK7Hlzy4TuQM7d+whB51IsQRfexsMcy/KeVn8b5wJHW3pwhUY+pnV6J4HGAxyZwHFb/W3YfQ24Si9TP3Ptid9QpjOztSuHeM9B/uz4GjVdT/P1wUeI/u8aTs29jfaKG9JIMSfQznmhAY4PWugc5/uX2STyzBL7d25Tl7W6WonJMXo7ewnG/EAc0CF52tm8OalkT1jXcnPwHP5rqxgmXd8fo70/yPWVMTb7aliY42ebq5+cfNjq6wY5xtaXn2ZJy1F0cSv7Esc40b9zOB5W0/ye2PYELkdmt8/tbdupNlfz2muvZbzm6fUwEIvwks1KgWQlx5DP0dajbE78XVfsfRRPgR4iVpDjOE+J2Mxg1yBvvvgoFwR68R14it2mK9V9GsIGGjob0j5HVI7ii/jwdHgyPl/qZw70BXAFXOw5IvoCHd59mBb9KOMHg9Dc3axuv8uzC4Cm7qZJ8ctbhYn+nceL8RB6NjbIUOCyLN8D3CNJ0oeB/wd8LMs6vwN+B7B27Vp5/fr1EzpYgPVA7ebNjLTtx6J1/HpzAzXLz8XlDfLgS9uRJNjUoeM7H7kUk0HHK8e6GYru5pPXrGb9wpELTt5O2DzKZ86GJSfepL1/iMsvv3z8b+I+CZvbsa7/Ehx+FKsBSrO9Z/M22AVL1l7CknmjHFNrLbYhT/bj3vUHofQv+Ur68kfvgGP/YMl5V7K5yc76Sy+BXXfAouu49EpRht9qbuLbT8Z513vvYtX+/6C2/j5qz98A869K7mfnfQAs3HAHC8fhoQM8tNSHxahPS1+979n7KDQVsqx8GS/seYHqYiNNPTHed9X5abGKvZET/GrTSYJFC9mwrJzXnz6KSd/MP9+ynlyLkbWhKA/+cjMATXgZ1ElctGI+HA/CrKXqdzTRv3PTQJMqt+LFcdafn75tl78LT7OHTy/7NOsXZ+533559bDuyja3WHD5gLaclv4Juf7c4hkAffW80Ei+cxYK5K6HhZW5cuhin8dcsK1pGftte2A52fzPrz12h2kaPbnqUDl9H2udwBVzQAucsPof1C9OPI/UzH9h7gJ2Hd1IypwT64Lr112Vk5qTikVceoTvQrW6/8bWNMAh6q35C3+NbjYn+nceL8VgubUBqlHE2MFqk62EgMxH2LcJt51ejlyR+8uJx7npgLxV5Ofzig6voHAjyRCIX/NmDnThzjGohynTEF66s5WvXLprYRsc3iseF14G9OPuoNEh29BvNcgGRujiSh77jXtjyi8xhDa2JASIbv4oUjwq7xd8j+pckcOOKWfzzFfNZumQZ3PqQCHzWbUzfT8MmUT05TjIHqCm2Z9QiKEFRm0n49QvKjVhNeuYWpfv3Hz1/DssqnNz1wF6+/cRhnj3UwWULi9UulXazgZpScbrJyOwzm0Wmi7frtAKiisWgdDAcDsU/X1WSmeECwnKJyTHCksTVPh8l1pKk5dK4md5ExlBBXrVY1t/CJbMvEZZLrzKCTxYX+QQKLYUZlstoxUiAmMT0+GfIMzmJylG6/F3kGHJGJXPInFqk+P+ahz4ydgG1kiTNlSTJBNwKPJW6giRJqSHvG4Dxp2RMMcqcFm5YUc7TBzoYCke57/a1vHvlLJbOyuXe1xoYCsd46ajobJi1pP1MYcgDr/9k7GkzU4QL5xVldFMcE3UbheecVykqGkck9Owd/TKQWyH2Mby4KDgA7hOi46DSPAtECXx/C8y9DFxHqWh/Fo48IaoflcESQL7NxFeuWSgyUYwWmHc5nHgh2ZI2FoFTr8O8rM7fhKAERZWCnNsvLOX3t69FP6zatsRh4ZG7LuRTl8zlr9ub6R4MZXz/c4pk5JgJg2Rgt8UiUjHD3okXFaVAyeq4YNYFHO87TiSeHhjd59pHjiGHhfkLs25vNYhK02KdmVUddZTmlOAJeQjHwlD/Cr05wsMuzK8FJNGuV4H7pKgSNljEhTeBAksBnqBHbYMLyerPbA29ADjyGBx4CKdeXFCbB5tHzUFXkGvKTSNv5fuYqR76mIwmy3IU+DzwAnAM+Lssy0ckSfqeJEnvTqz2eUmSjkiStB/ho2fYLW8l7ry0hrJcC7+4dTW1pQ4kSeKz6+fT6Pbzb48fwhuKcsOKM5uqmIG6jbDpv5Ld8N5u8LuFOl54g/i/rQSG+gQ5DscI/UIykDsLkJPVkAo69iefpyg7WoX/zJXfgflXU930f3D0CVhwjegNPhIWbIDBtmTeeetOCPumhNCVoKgyUNlujartIYbDZNDxrRuWcP/H13HrukquXpze39yaE0aOOSjU17A7xwydB8QLwxR6jzc07noKhcAur7yccDxMY3/6UOn9rv2sKFqBQZfdXVU+11X5y9CFvZQmBoa7/N3Q8Ap95SJ7p9BeKv6e/Sl+tvsEFNWK9NWmLeriAksBMTmmthuAFIVuHkGhJ/q75ycc3hZvy6gZLgqcZif+iJ9IPEJcjuMKuNBJOnwRX0aB1EzAuCSqLMsbZVleIMvyPFmWv59Y9u+yLD+VeP5FWZaXyrK8Spbly2VZHr3bzxnG0llO3vzmFVy9JHlCbVhWRk2Rjcf3tZNnNXJhog/2W4ZAQtV6p7Zh1ZShYRMgw0LRgQ97ItPDn2VYh98tMliG9QvJgJKLPjzTJTEIA1txmrKjZYdQ4+Ur4LofoYtHxMUjSyl7GhZcC0hw4vnkZ5H0MPfS0bcbA7Is448mFHpCLSqtAEbD5QtL+OEtKzKK1XzRQXL0diKB+RwzmfB3CjskldB7h+Jc9pNXuXdzZn+Vv9X9jdfb0oP43YFuCiwFrCxZCcCxvmPqa/6In+Oe4yPaLZC0QK6pFYlrJT5hlXQffxq8nfQWiqydQkshOCvFwG31YOuhaIGY4tR1SPSeJ3s/F6Wh14iWS8K+ccbEHawr4Bo3oYNo5NU71EtUjlKVKzLJUi8oMwXv6ErR0TA8s0Ovk9Ty/g1LyzJ6gZ9xKDbFcLX6doHrqBicUJpI88vWt1tBwA22cVwQ1eKiLIReMA/mXy0UumKVtO6AijWiR0nhPJqrPijuAhZcy6iwl4jtUgl99jrRpOo0MBQdIi7H1bRFGB+hj4TB0CAFOXl0uWYRkyT2DSZytFII/ZETYQLhmDp9SYEsy/xi7y/4y5G/pC3v8ndRai2lOrcaq8Ga5qMf7DlIXI5nzT9XcHHFxfzlur+wtvYmMDko8QgF7tr2cyhdTm9+JQadQZBr3hwx4xREj/fBdiianxiILUPLm0BKcVFK+b9Siq8QcCr0Ub86li8/xZ4bK2URknnqA+EB1T9fkL9ALJuBtsu0JfRseM/qCm6/oIo7Lpk79spTDcWmeLsq9J4TYqKOPnFrrrZ5zULoSmOusTBS+X/7XtH3pepC8b24T0A4IOyoOcmM2Oaq98NX6ka3WxQs3CAuFK5j0LFvyvxzAJvBprad9YUnT+gDoQFmOQoJ+eagl2G3UuWamCV6oLWfNztjOMwGDrT1p9ku7b52fBEfR3vTw1Nd/i7KbGXoJB2LChZxrDep0Hd07kBCSmuENRwGnUEQvk4Hs1ZR0ilurl3E4P1/oi88SIGlQAikvEpxtxWLJgOihbWJ8Xgm1XbJVv7fF+wj15Sb1fqxBpK/j7xQsrvlRBW6Yj8phD4TA6MzitBNBh3fu2lZWsvVtwyKQldKvt9ucB8XfqgC1XLJRuhjVIkqsOSKoFkqoQ92iurIijWC0EHYLu17xCi1ypQSB0nKPpYtGxYkrKIX/g2Qx03oLzW/RF1fXdbXVEI3JRX6ZAYqKxgID1CVX4SEifkxM7ssFjDngtmOLMt8/9lj5Jrg2zcuIRiJc6QjSUiHegRReyN9HOpIfp/d/m61YGhJ4RKOe44Ti8dwBVw8VPcQV8y5YlzBRQAq1pDbdZiceJzu2iugaD69wV5ht4BQ6HJM/IYVQi9aIOaszl6n2meFOWL9VELvD/WPaLfkDCXv4BxBLzpJ0NK4CN2U7OeiKfQZRuhnFYqH7jvLCr2/NdmfW0E0LIYzFKVkQmQbxKAg4B4foYO4SDRvSdoqHXvFY8UakVJoLxO2i5KuqPSHmShKl0HubGG3WJwwa2SbIRXfffO7PHD0gayv+aNJhW41WpGQJu3LxuU4g6FBiq35LCnPpSLk5KjZRMAhrK0XjnSxs6mPm+eb1DbAu5uShLipcZ/6/OtPv0wsLuOP+PFGvCqhLy5czFB0iKbBJu7eezfReJSvrBmW5z8aKtYgASUGGy6byEbpG+qjICdR5q8M7uhvERkuSMm00KqLRJA3OKhmsqT2U/GEPCMGRK2BDpB0YLSiC/SqJD0ey0Vt0BUeoNvfjUlnUj301JYAMwUaob9VUC2Xs+yh77gX/vZRkTqooK9BKK/iFEI3WYW69g0Liip9XMZjuQCcc5sImLUmOvi17xGtBcqWCwVedSE0bRWEXrRw8j1NJCkZ0J17WdI6GgXBaJCB0MCInQr94QShG23oJB02o23SHro37EVGxml2inF5A/lEJYmnHXZC0Rg/fK6O2hI7l842UJprobIgR53tCnCg+yhyTFQ/n/Q0cN8bjarFUGZNKPQC0WLpHyf+wVMNT3HbktuozB27UZ2KBRvgxp9TUrRY7YmSptCdKYTee1IQvDHRK6j6IpDj0LIdg85AnjkvLSjaH+wnz5I9ZdEaaBf7cpSDz6WS9GQsl1JbqXpBGQxplouGMwVlZNvZVuiDHYCcnjrYk2hGULQgfV17cablEuwX1sh4FfryD4iMmJ2/E/9v3yMaZhkTBTxVFwoLpnFzmn8+KSy8TjyO025RCmhCsexNyFItFxDj2ybroSvk4jQ7OW9uAZJ/NiuDIf6LXm578qs09fXzrRsWq/nt66oK2N3sQZZlZFmmO3SKAt1yLAYLc8t9/OzFE+xuEymKikKvdlZj0Vt48NiDFFoKuXPFnRM7SIMJ1n6CEns5roALWZbpHUol9MRUrYHWRMpiyu9l9rkiqP7G/8DRJykw5+EeSgZ2PcGRFXrOUAcUzhdZT/4e1ZoZD6HbjXYkJDUoWmYrUy0mTaFrODOIhkQBiTKpJj7+nu1TDuUOQbE+QJyckO6hQ/biovHmoCsw22HVh+Hok+K92/fBrJRBGFUXicdYGCrPH98+R8K8K+F9f4RVH0aWZR469tCogw4UzzUYzT41PtVyAUEek1XoCrk4TU7WVRfQFy/g/s5ubs+p5aj3ZYoX/YaFFcmiszXV+bh9IZp7Axzq7CSu72NF8RJqnDXMLhnEYTHw4B5R06AQukFnYGGBuMv64jlfVHPMJ4oSawmuIRfeiJdwPKx64hgtwiLzNENvQ/rvxWSFK78tfkt/v51FnXXsbd9KLB5DluW04RZpkGVhuRTOTwgIt6q6s2XEDIdep8dhcjAQGlAzfpRpSppC13BmoAREixYIdRvoHX39MwklKKvkgoNQ6M45mdkktizl/+OtEk3FujvE5KAXvy2m1VesSb5WvEiMZYP0gOhkIEmw7BYwmGnztfGDnT/gxeYXR1xdIfSh2NiWC5wmoScCdE6zk0K7mZz8cozAXPdSIu13EKKLJxqeUNdflxhJuLvZw+NHdgNw1bxzmOecR4vvFJcuKKbd24mERLE12R3y0llXcW7Jxdw0P60h6oRQai0lGo+qRUppw6DzKkUBWCQgSDgVF30R/vUkfOwZ1kt2PLEgh9yHCEQDROKR7Ard24k+HkxT6IplMh6FrqzXH+zHFXCpFzen2alluWg4Q1ACoqVLxePZykWX5aRCbx+m0Ierc0go9GEWUWAShF40X6jnQ38X/08ldJ1OFKbYSkTa5BRBOZlHy0pRLZfoCJZLdBihn4blkkroAMVzV7AzvpjftVZw57prmWWfxan+ZO/Q+cV2ci0Gdjf1sa1VKPGLq1ZQk1dDd6CbOUU6/DE3hTlFGHXJTKC6E6vYt/u9TGBwVwZKrSJQq+S0q5YLCK87NcNlOPQGmHsJF5Wdi16W1RmkQHYPXU1/TBB6oJd80/g9dBDfaeNAI1E5qsYTck25WpaLhjMERZErhH62ctGDAxAdEtkgg+2C3ONxkbFQnKXXh71EeOapvVgUhT5ey0XBuZ8Sj0Zb5ntd9xO4/YnT6gk+HEo2yngIPRjLbrn4wj50ko4cg/D7p8RySRD6qvmz+UD42/hya/ns+vnUOGtoHEiW7et0EmurC9ja4KbV14BFyqMop4h5TnHRs9ndSIYBnMb0fv6H2wfo84d5s2Hyd4ElVpHhpFSdqpYLJDNdILsISCC3YD7nBEO81vqqantlVejuk8l92YoBmTydqEAeT5YLiO+0YUBU1pbaStVtNULXcGagBERLE1NtJqHQK1seTVfVk4Gizhcl+rW07xUBruhQdrVly1L+PxnLBURzrfxqUYQyfIJQbnnyYjdFmAihj5TlEogGsBlsatXxVCh0RXVeNL+IslwL371pGTkmPTXOGpoGm9IaWq2pyqe1bwjM7dQ4BXnOyxOELhu7kYwDmEnaIaFojIYe8Xk3Hpp8vYNK6IkipTTLxZnImjE5ktXE2ZBfxWWBIeoHGjncKxqwZfXQexuI6UzgmKX+pq4vWsU3zv1G+p3BKHCanGrfFtVyGTbJaKZAI3QFjZtHnn5zuhhuuUw0dTEcYF7jX9Qe35OG4p/XXiN6nbTvSQZEsyp0pfw/5Y4i4E502JvgJCSdHm5/Ct7zm4kf9ySgEPpow5MVD320LBer0ar+32F0nJaHbjfa1UrJIruZ7f92pdpvqCavhlAsRF80mXsufPQoOrOLdbOEGKiwV2DSmeiPtqIz9hOPJAOH9S4fsbiMM8fIC0e6JjQwPRVFOUXoJB0N/Q1ISOlEnJeYuFVUO/odVV4V6wPiu3+yXgxszjfni4rkppT+Pb31DOVUCOstUftQFovzkcUfGfdgllQlr9hFueZcLSg6Y+F3wwO3iEHEZ2r/kk5kCFicEyd0pSGS0p1vslDet2AulC4RhK6mLI5guUCmQp+oOleQXyV6pL8FUE7m0RS6kms9YpZLonWuApvRRigWGnF256jHEx4cNWtDGcXWFUn+NlbMdmLK6UGSYiwtWgyIrI65zrkc7DmApIsQGEpWgdZ1iovYnZfW4AlE2NGYOQZuPDDoDBRZiojKUfLMeenl+nkJhT6K3QJAfhVV0SjVpnyO9Ip2AnmWPHjp3+GB94pCNoDekwSsiRYRyh3h8NqHMaB8r2a9WQ2oKgp9pPnCfzz8R55ven5C7/NOgEboAIcfE9kn2crcpwIBN+QUCBViL5u45eJJNETqqYNIdvJJgyyLtLLhFw5FoTvKRGCyY6/Yp7Uwe7Mt9QQbptAnS+hvIcYKisbiMdxDbiQkQrFQmtWhwB/xqyX/QLKfyyRU+kBoYNQg31yn6C+USugWo57b14s7ISUdEYSaV2yMvoHkQI7j3V5MBh0fu7Aaq0nPs1Ngu6TZLSAsF6MVykbuDwOIuzuDhfUGsb2SSojrKESD8Pw3RWzG08xQjkLoid9Vtg6fo0D5Xkutpaqqd5qFDTPSHdrDdQ/zbOOzE3qfdwI0Qgc4+DfxeKbSCQMpvU8cpRMPiiod7uQYuEboTCzLcORxUQX601r45Tnw4PvS1/F2iSIfk00QenAATr6U3T+HpEJPTV30uyceED0LUCyXQDSQ9fW+YB8xOUa5TXQ6zGa7+CK+NMtF7bg4CR99IDQwqkJ3mp0UWgrpjqT/NkzWTix6C1WO5HDxec556gWox5NDMCLy1491DrKg1I7dbOCKRSW8cKSL6CRtF4XQ0wKi4oDgs9vh3DGKliQJ8uZwaaIleb45HykSEL9l5xw48Rzs/C3IMQLWxF2bJU/UakyQ0JXvNXUItkLyI6UuDoQGTqsvz9sVGqH3NkC7yPMlMLlb1DHhTymVd5RPXKErhA7ZbRdPsyDvf/yTqACddyXUXA6uuvQBFd7O5HQcJXXQ1zUyoRtzRPOoDMvlLe4lPwl4IwlCj2QndCUgOidXZG1ks12U4RYKTkuhh0cndBDKO1WhAxzvO05tfi36lECyEhgFiEXyOOUWxFTX5WVRmSCyG5aX0+cPs/PU5H7TKqFnC0zmV43dCx8gr4rVA25yTbnCblHiNVd9R1h8L/8HQNJy0enUXPSJQOn9ovjnkNLjJUumSyQeIRANnFbnzLcrNEI/+HdAEgOG/e4xV58UUvuH20uFUh7B28sKTzOBnFnCf+8cNvFo/0Pw6/OhZbtI//viAXjvb2H5+0UxjyflYuDtVFu1UrRQ3DpD9oCoAltx0nKR5cTdRvHI679NMFaWixIQneMYmdCHe+jKGLrJWi4K8YyEGmcN3ZFu1feNxCMc6z3GooL02bA1ecJv10t65KidepcPty9EjzfEojJxjOsXlpBjnLztoqT/qY25JoP8Kgz9Ldyx/A6un3u9EBgg7JrrfyJsThBBUQW2oilR6KMRuhJfOZ3e9m9XzGxCl2Vht8y9VKQUBnonRrTjRapN4SgTZe5DntG3SUV/C0FLqTgRUhV6NAzPfV00uvrcDjjvzmRKoBK0Su2fnTqQWG+A8sQkm2wBUQX20mSQKjggLhLvAMtFOWlHslwyFHqWXHRlQLQCpafLRJWdLMsMhkYPioLw0YfkIbUHyp7uPXgjXi6quChtvUqHGDpRYi1BJ+mod/k43iUuYIpCzzHpuWJRCU/t7+CNk+MjyFhc5sn9BrVnLAAAIABJREFU7cTisqp2x5s6mBV5VRAc4OPzbuaO5XeIeI3OKDo01lwm+vzkVxNNiVNMSqGbMxX6aJaLks6oWS7TDW27wHMKVnxQBAbjEQhN8diqeEyQtzVFocPEmnT1NzOUUwrlK6H7SNJGaXqdeGgQ+aIvJxsnKVDKspXCjXg8QehJFUNFoqdK8QiWC6Q36FIuJqPlH79NMB6FbpAMVNiFOhyu0GVZJhAJpAVFJ6vQA9EAUTk6tuWSyHRRCow2tWzCordw4awL09Yz6oxU51ZTbiunssBKvcvHsU5BXIvKk1kvX712IWVOC7f9YSc/er5uzDTGrfVuvvjwfl4/2TOyhz4R5Cd8//6UoH5RbbIT5nt+A59+I32bSRD6XOdc/nn1P3NNdXKQ+LgUuma5TDMc/JuYWL74Xcmg5VQHRoc8gJwSFE0Q6nhTF4ODMOQRCr18FcRCSS/y2DN8pryMH3h2Z25nLRBKWlHoQ33igpU6kHjdHXDVfySLRbLBViIuPpEhePZfREBLaVP7NkZqHnq2DBZXwEWRtUidej9coYdiIWJyLD0omvDQJ9oTfXhR0UhIJXRZltnUsokLZ12oVqqm4jsXfIevrfsatSXCcqnr8lJkN1NkT9YHVBfZeOrzF/Ohcyv5zeYGPnLfjlFJvblXXPwaXD4W5C9gft58lhctn9BnTYOSs56apZVq7+kNYghKKmzF6dZn5wH4wzXp7Z6HQSfpuHPFnWn58qmj6YZDUe3heJhwLJzx+jsZ71xCj8fg0CPw7FegddfEt/e74fCjsPB68aNSFPRogVHXsYnngqul8on9K4Q6XoWemLIetJSI4ckgjiEeh+MbOWTJoa7/ZPZti2qTCj01ZVFBwVy4+MujF4jYS8XJ9NJ3RN+Nm34J5rMw8WmC8EaSk2+ypa51B7opsZZgMYh+3sMVuqLC04Kik5xaNLyPy0gosZZgkSw09jdytPco3YFurpiTvRXwqpJVLC1ayrwSO6fcfo50DLK4PPPvkmPS84P3ruCH713OzqY+/r67NcveBFo94ntq6PGTb8nn8ZsepzZ/jHzz0ZA6ECMcEMRevHj0bWzFovFXKKGeD/1D9Mpv2TGht84x5GDQGbIWF6Wq9unmo7/zCD0aorzjRfjlGnj0k7D7fvjDVfCnG6HxtfHtIxaFRz4hfmQXf1ksUwl9BIUej8H/fQge/IDYPhU774O/3JTdfx/ezEqxK8Y7ii5xuxq0lAobxWgVgdG2XXj9LrzE6AmMcIuaRuiJO4JUhZ6CUCzEG21vZL6gjKLb+VtY83GoWT++4z6LiMQiDEWHKM4Rx56NgF0BF6XWUsyJitfhhK5kx6RaLia9CZPOpGbQjBfD+7iMBEmSKDOWcWrgFK+0vIJO0nHZ7MtG3WZ+sZ1wLM6xzkEWlo58of3gukrWVedz98snGQrHsq7T2ic+c2PPFJFcTr7IkupvTtxVyqMH4CGz3YRSVdqxL/v6I0CSpBHL/1N9daWj5nTBO4/QX/sxC0/cAzl58MEH4OtNcM33BXH95SZRWjwWNn0PTr0GN/4sqXqVSTmBETJd6p4VfruvC06+kFweDcPrPxGtA7oPZ243vJmV2Q4mu5qL3jvUyw2P3UBDf0P2901V6Dq9CN52HoC6Z+gwCXXZM9STvSKusFZ8nkBfdoWego2NG/nsK5+l3dee/oJyAcqdDVd/L/sxvs2gnLBK1sNIhF5iLSFHL+yM4ZaLotxSLRcQtstESUBV6GNkuQCUGktpHGhkU8sm1pSuGXHKj4LaFBJfVD6ypSNJEl/fsAiXN8T9205lXafVkyB09xSRnCQJ28XTLOwWgJJxKHQQ501wMHlHPEFCB3EBzeahawr97YR1n+TAiu/Cp14V3rclFy78PNz+JGISzxgNrI4+CVvvhrWfgNUfTS4fS6Fv+6X4cdrLYO9fksvrnk7aJ8efy9wuW7tZe6mai9482EyLt2XEQcV4msFoI2JMnKzlK6HroCD0CnExCsVC2VWjmulSn1ToIwQ0lXFmvUPDPn/JYnExuulXmX7nGcCR3iM8XPfwae1D8bgVQh+ei+4L+/BH/JRaS0e0XNRpRcOGRNiN9okr9HFaLgBlxjJ6hnpoGGjgyjlXjrn+vOLk8SkpiyNhbXUBVy0u4d7NDQwEMtsXtPYNoZOgxxvCG5x4e4OsyK8SCr2nThQNKTNIR0JqtWjrDlFM56ycFKHnmnKzZrmkLtMI/WwjdxaeglWZvm/hPJES5To28rYhHzzxOahYCxt+mP6aOVdsn43QW3dC20644HOw+iNw8kUYSCjZnfeJLoIVa4WKHw7Fk0/N53WUqwpdIY4RA239LeKkUD5v+UoI+6CvkY6SZHaKO9udhVIw5D4pFLq1cMSmWq4hkcnSHxo24Se/Gr5aD/Muz358U4wHjj7Aj3b+KGsgc7xQCT3RG3t46qKSslhiLcGsT1gusbEtF5hcx0U1KDqOdrClxuQF9/LKsb9zh8VIWa4FvU5ifol9zPX/9dqFeENRfv1afdrywWCEgaEIq+eIwGJjzxSp9Lwq8Rt21QnLUG8cfX21f5ALmraIc3LtJ4QAGpxYTr3T7BzbQ59mmS7vPEIfCXqjUKQ9IyhdEJZJ2CuIeTixSZIgvGyEvu2Xoqhn1Udg9W1iGO7+B8Xw45Y3RbbI4huhc3+S6BX43aLcPrWyzpFU6MoQhRGnq/Q3p/egLk/20OhwJFV/z1AWHz2vSpwQvSfTc9CzQLkgZO0hPYV9ysdCQ38DUTl6Wr2shyv04ZaLUlRUYi1RM0iGD7kY0XIx2icVFM0x5KgXj9FQZhTHvLhgMbPss8a1/8XlDmpL7FiM+jHXXVSWy82rK/jT1iYGhpIqvK1PBEQvWyAsj0b3FBFdfpUIcrZsE9OpxoI1RaE3bxWptcqYwgmq9NEsF7WNg6bQ38YoXjS6QlfIdqQ0PWthZpZL3ymoe0aoBLNdZIbUrIe9f4UdvwVDjiD6hdeL9U8Ms11Sq0QV2MvUalFFCWZV6LIsLBcl/QtEloDOCLPX0REe+P/svXd4XPWd7//6Th+NRr1YzVi23HvBVMcGU0xoyYYFAslNsuQGkofd7LJ3E+6yF9h0YDd389uQ/cEmWUJCyBKylCReSmyLFooJGNxtuanZ6l2a/r1/nPkeTTkjjaRRM+f1PH4szZw5Okczep/PeX8/BUd0GICKOuOw2rTjVRF6Cv8chi8I0zkUIBwJ6znYsQOGx0pvcGQPXf2uSrNKdZFNHEOnWy62sVsu75x+h2ueuUa3r3oCIzfmiqXQVkhpVumYRsh9589W8shn14++YZRPrKnAH4qwv3n4vVb++UU1RVgtIrMROmiZUukIut2l3S13ndIE/JyLtMI5YRmzoI9kuaiL5dlWXHR2CXrJUi2iTbVo1Rvtd56qhWtWQXKE/ta/ab3DN94+/Ni6z0FPPbz/c1h5g/a6okVQsAAObY9/vVEzK29pNDWrb2RBH+rS7ihiI3SbA674Jlz6DzQPNLOscBkwggAWLYoK+pm0BD3JcplCGvsb9SZZExH0JA99BMvFarFit9hTeugq91yR7Rh9+PDPD/ycU72n+MOpPwCjN+aKxSIsvHTDS9yy5Ja0tgcoy3VzTmH6A6GXRhdPDzQPn4fKcFlQ7KEq3505Qc+PCUZK0hB00Hz0Iy9orQHmXaw1BCteOnZBd+bQH+wnGIlfD+jx9+iCbkboMxkVAage34n0NGkLM6kqHY0sl2M7tT4vOTF2xZKrhxdR1Wg1IWDJx+HEq9rqvGKwM7ndbHZUWPtbdOEwtFxUhV3sHwXA+V+G+Vto7m+mJr8Gt82dZLm8dPIlnjj4hOZbdh7XFm5TWC7hSFiPJqdT0Ou6h33dCUXo/vgIPXFRtGWwhVxnrr4g6rK5krotqvclsahnacFSWgZbeOGEcS/ttsE2XmvS0j9fPvUyMDZBB03U0x3uMB6KvU5KvE4OnB7+zDV2DeF12sh125lfnM2xTKUuxgYj6UTooBWzDbRpgZQaHF6+VhN0lc3l74dd34Xu1Hn1KqsoMVjqDfRS7C7GZrGZHvqMRqVEpfLRe5s0UUscgabIKoyvUotENFFNbOZvc8LHvqZlyZStHn588ce1asxjO4YfG2wfTolUFGi9r2ncrXvohhF6NGUxznJRuw0O0u3vpiK7gmJ3cdKi6JOHnuQXB36hHXskqPn+KSL0Ln8XYanlJk+n5RKbujnRCN1msekzLI08dFXaDuCyugwjdI/doxcnKW5ecjMri1byzbe+aWhzPX/secIyzJXzrmR3y246fZ3acIs0UhankmXlORw8PfyZa+gcpLIgCyEE84s8nGgfIBLJQF8jh0dLRbTYtDvYdFABUPlazeYEKF+j/S2pqWJ//P/gle/BT7dpHVMNUIvQsXdUsX11JjIjdqZydgl6fjVYHal99J4myBlhYk5WoWZzRKKFF32ntUZa+fOStz3/Drj+4fjHqs7TslmU7SKlseVSea52C/nmwwwGRojQVcl0bJQTpbm/GYByTzlF7iI9S0VR31evFVXEtsZNEaHHiud0R+hlnjLcNveEBT3HkYPVYsVtcydF6CoHXeGyuZKqSQeCA0n+OWiDGr5z8XcIhAPc+8a9cfn/UkqerXuWdSXr+OLKLxKREXbU7xhzhD4VLC3Loa61j0BIyyZq6BqkMl+7G5lfnI0/FKGpO/X4vjGRP08T83Ra7sJwLvq8mKZk5dG+Q83va39Tbz4Mcy/U5uH+x1XQciBpN+oiGltcpPfVceTisXtMD31GY7VpApYyQm8ceQSapwiQMBQVta6T2v9Ggm6ExQqLtsGRF7Ue6P5eLTpOtFyE0DJtWvYx0KUtAqaM0F25WhFVAs0DUUHPLqc4qzhOAIdCQ7QOttIf6Ces7gYgZYSuKk1zHNM7Kf1Y9zFq8moodBWmLehDoSF++P4P4yLsvkAfXoeWk51ly9LvghSqSlSRynJJzHBRzMudx10b7uKN5jd46vBT+uN72vZwsvckn1z4SRbnL2audy4vnXxJm1aU5gT7qWJZWQ7BsORoax9SSho6h6jK1853fjS3PWMFRlvvg23fTX97JejnXDz8WOlyLcpvfh9e+762BnXtD+Dz27UF08c+rlmLMRg16IqtCfA6xj8jdqZydgk6RDNdDAQ9EoHe5tEjdBj20ccq6KD526EhePbLyVWisay6ETwlDLRpdxPGgn7KMDqHmAg9u5xid3Fc+X9jn3ZbKpH02xzJfWQSUOK5MH/htAl6KBLiRM8JavJqKHIXJRc4peC9lvd45MNHePv0cK+P3mCvnlWSGIWFI2E6fZ0UuYffE0PLJTSQlIMey02Lb+KCsgv43u7v8fj+x4nICM8cfYYsWxZXnHMFQgguP+dy3jnzDoFIYEZaLgAHT/fRMRBgKBimqkBF6FFBz5SPXr0JakYvktIpX6P9nc49f/gxuwtKlmnB0u4fw5pbtC6hJUvgc7/V7qwT6kCMWuiqr3McOXjsHtNDn/GULNEyUPwJb9Rgu2afJLaZjUUv/48RdGEZuRthImWr4Ipvae0BdkRL5Y1mcNqccN6XGIwKV1+gL7l8PzFlMYbmgWbsFjtF7iKKs4oZDA3qwlXfV69v1+vvjdouQp+qnojyghfkLpg2y6Whr4FgJMiCvAUUuYuM8+oNUBFWY3+j/liffzhC99g9cZZLT6CHiIzEzco0slz6A/16/3MjLMLCQ5sfYlPFJh569yG+suMrvHDyBbZVb9Mj+8vnXa4XSM00y2VeoQeX3cKB5l4ao025VIRenO3E67RlLtNlrCy5Gu46kFyZXL42OoJRwua7hx8vWqh9thPuzEeK0HOcOeOqKZjpnH2Crrq5JWa6qMWUsUTo3ae0Hibpen+KjV+CJdfAgWej+00x9WXDbQxEF2jDMhyfXielZrmkEvT+Zso8ZViERW9CpaL0ht7hlf+eQI/WdregergPdQJtQ23kOHL0C8N4ptpPFLUgqiL0dC0XJdaxPWh6A726oLtt7rjfa5dPGywSJ+jWZMulP9Cv9z9PRa4zlx9c8gPuOe8edp/ezVBoiE/WfFJ/flnBMr3f+kwTdKtFsGRODgdO9+gpi1UFmqALIZhf7DEsLpJS8rM/ntRb7aai9nAruw5leOh6+Vrt/w23QV5CkFW8OOnOXH0GUlkuHrtnRMvlZM9J3mx+MwMHPnWkJehCiG1CiMNCiDohxN0Gz98lhDgghPhQCLFDCGGsQlOBnumSsDDaq4qKxmi5JKYMpoMQWu+T3KhdkmrCT1YBA1nD/nic7XK8VrNu5qwwfGlzf7OeS6vsAxXVJkXoW/8P/MWLyTuJ0j7UTklWCXlO7VimI0pXKYvVudUUuYvoDfQSlKNfWFSEpWwmiPfQEy2XTp9WOJYYoSdaLn3BvqQcdCOEENy85Gb+85r/5P4L7md18eq45y4/53IgvcZcU82y8hwONPfqRUVqURS0hVGjCL32cBv3Pb+fB15IXZEdiUj+9qkP+MJju/nGbw+MOlgjbZZcDatvgY/9XfJzJUu1IC7mLtdmsVHsLub0wHDLgFjLxevwjhih//vef+ee1+/JzLFPEaMKuhDCCjwMXAUsAz4thFiWsNn7wAYp5SrgaeDBTB9o2uTP04ZWJGa6qCrRnBEsF9VvRaUAdp0cm38et698uPkXWrQ+gs0zYHeRHdE+8HGZLq/9s+Z5L/8zw9fFCrrK2FBRbX1fvR5d9gR6tNSxbGO7BbQLQZG7SBf06fDRj3UfoyK7gix7ln6B6guP3gRLRd+xEXqioMdaLkrQY4chuKyupF4usftIh5r8Gj616FNJ+eOfWvgp1pasnVhf8UliaVkOvb4Qbx/vpNDjwOMcvoObX+ThdI+PwcBwq+hIRPJPL2l3vi/ub+FMT/LYPoCDZ3rpGAiwuiqPn75xglv+/S1ae423HRPZJfDJfzMeUl68WCvC641vvVHprYy72CdG6CMNK+nwddDp65xQX6GpJp0IfSNQJ6U8LqUMAL8C4uqSpZS7pJTqr+YtYATVnGQsVuOeLr2NYHUa+9kKR5bWb3ywU+uV3t8yfkEHLUf94w+lznsHhsIB5kQ7KfadiQ6APvUmnHwNLvwrbTEoAV/IR4evg3JPQoQeY7ksL1oOMGpVo3pdsbtYtwWmK0KvydPG5qnz6Q2Pfuwqwmrqb0JKiT/sJxAJ6AtiWfasOEE3tFwSIvRQJMRQaGhUyyUd5uXO4/GrHo+7gMwUlkUrRv94rJ3KgviMnvnF2t1JbJT+wv4z7G/u5a8vW0hESn759imMeP2oFlg8+tn1/ODmNexr6uVvfz3GwTBjpdi4BqXKW0VDX7wF6bA4cFldZNuzCUaCKacW9fh6CMvwmCdUTSfGpmo8FUBsOVYjcN4I298GGPSRBSHEl4AvAZSWllJbW5veUSbQ398/4muXRgrIbdjDWzHbLDv6Pl57Pm+/MvIQjPMt2XQf30996Gk2AgdOD9I6zuMcDSkl/cF+qpwLIXyE0zv/idozhazc+w289lzeGpxPJPqzY8+5Jag1l+pp6KG2qxYpJTZsvHfkPcpayzg9cJrlVk3Q9xzeQ+mZ1DNApZS0DbQx1D5E3ZBme7zx3hv0Z03d6n9YhjnRfYJ5kXnU1tZS79cso9aB1lE/I0ejI/YGggP8fufv9QKpMyfPUNtRS2dnJ72+Xn0/73Vr7ZU/eOsDrEK70LZ1tjHgH9C3GQhrInam/gy13SP//Ewz2mc7k/hCEgEEwxJnsC/u5/YPaFHp3z3xR+5c68Jtg2+9PkS5R7DK2sSqIiuPvX6MVbZmbJb4u5Lndw9RkS04+N5b5AIXlAnePNHOrl27DCtgM3HO9kAvFwF1b/6exsZhWQt1h2gdbOXlXS9jF3YOdxzGJVy88sorNPdqmWIv1r6I15p88T7TozXQe+HVF+K6YGaCyXqf0xF0oxpkwxIyIcRngA2A4ZgVKeWjwKMAGzZskFu2bEnvKBOora1lxNda/wQ7XmHL+Wu1PG6AY98Bz8KRXwdwuJw52Xbm1BTDblh20dUsq0y/8dFYGAoNIZ+QLJ27kgNHjxAZqmeLfAM634Ot9/GxTcOzO2PP+Y2mN6AZtp67lfWl2rGV/qYUV5GLBasWIOsll66+lNfffJ3C8kK2nJv6nLt93YTqQ6xbvI7L5l7Gg795kMqaSrYsSv2aTHOs+xjh+jCXrrqULQu20DLQwkNPP0TAHhj1/XrptZcgeu2Zt3qeNiO0CdavWM+W6i3se38fr3z4Cps3b0YIwRtvvUGuL5etlwyn0X343oe8tu81/Wc19jVCI6xZuoYtC0f++Zlm1M92hqneU8vx9gHWLZ7Hli3xpfmO8ka+9vSH/MteC9evKad54Aj/dus6Ll1ZhqW8lc//x24GChZx/ZrhdSlfMEzdH17i1vPmsWWL5sw2uk6xs34fi9aeT0Ve8nzUjJ3zB8XU5ASpidlX37E+tr++nQXrFjA/dz7P1z5PcXcxW7Zsoe9YH0+//jRrzl1DVU5yJtvf//LvAVi4aiHrStdN/PhimKz3OR3LpRGIPdtKoDlxIyHEZcA9wHVSSn/i81OKuv2K9dF7mkZOWVSofi7jyUEfI8ouUD1H+nLmaNOPXHlaS94U6EVFnuH2qqr8v75Xi27neufidXgNR3DFohZSi7Omz3JRC6IL8rTS8ILoWka6lovNosUljX2N+jqEXlhkz0Ii9bTETl+n3hJA4bK5CMuw3sRJZT6MxUOfrahGXSoHPZZPrq3kZ3+xkTO9Pv7ppSOsqMhh2wrts/qxhcXMK8zi52/G2y7vnuzCH4qwaeGwtbk4OnjjyJlJti6KlyRlt1V5NelSPnps1a4aXmLUPTMUCemPd/m7Ju2QM006gr4bWCiEqBZCOICbgedjNxBCrAUeQRPzDOcqjYPKc7X/T0ZnZIZD0DdKUZEiVtAd3tQphxlAebuqarFXFV+c/+URpwM19zdjEzaKs4r1x4qzimkdao0T9FQN/mPRBd1djNvmxm6xj3oRyDRHu44iEFTnalWtdoudfGd+2oui6nWN/Y2636kXFkXL99XiaZe/K84/B4aHXER9dLWPj4KgqwIjlYOeyIULivivL1/IRTWF3H/tct0ysVgEnzn/HN491RXXhve1ujbsVsHG6uHf8aLomLxDUyLoh+IyXSq9WhCnfPTewHDR2UhDv2MTA9S6y2xgVEGXUoaAO4EXgYPAU1LK/UKIbwghrotu9hCQDfxaCLFHCPF8it1NDdnF2oJkXbRJVv8ZrTnVSCmLCtUTXWW4TGLXO/VBUlVrfd5i+OJO2PS3I76uub+ZUk+pHpmCtpDYPtiuZbg4vOQ6c7VS/tEi9MFhQRdCkOfMG1eWy676XamHVaegx9/DA+88wI/3/phlhcviOhsWZRWlFaEPBgcpdheT78ynqb8pSYxVkY/6XXf5kgVd/dxEQU8nbXG2s3mRFmkvL08dQCws9fLEF89nw7z439ufr6/Cbbfyvf8+pDfyev1oO2vn5sdlzOS67ZTnujh8ZvT3c0IUL9babcQMYC90FeK2ueMidNWGQRWOGVWLnrWCDiCl3C6lXCSlXCCl/Hb0sXullM9Hv75MSlkqpVwT/XfdyHucAmou00bH+XrSS1lUZBVqH4q2w+PLQU/B3ra9bP7PzXEfDiUyWfYsvA6vJiSV60cd0xWbsqgodhfTF+zjaNdR5nrn6lPPU05CiqIidJVZkuvMpds3NsulP9DPV3d9VWvXm8DLp17mg7bkDIc3mt7g2meu5YmDT/BnC/+MH132o7jni1zpCbrqiliRXWFouajbavW77vR1JmWc6HNFo6mLuuWSgSyXmc6Kilxq/+4SCrNHn6aUSG6Wnf9zzTJeO9rOj2rr6Oj3s7+5l001yZlki+Z4pyZCh7hMFyHEcKZL3Q56fF265aLeX6PioljbUaW6zgbOvkpRxYKtIMME6nbw7X2P0Ga1pBehqxzXrhMZ9c/ruuvo9HXGFf0oG8Bj9+B1eNNKMQTNQy/zxPdlUYK8r30fc71aQVOOc/RmW+1D7WTbs/VINs+ZN2YP/XjPcSQyLj1M8a23vsVP9/406fGf7vspTpuTp659insvuDcpai5ypynooQHcNjeV3sq4CD02bRG0SD4iI3T7u5MEPZXl8lGI0CfKpzdWcf2acr7/8hH+7x+OAHDxwmRBXzzHy/G2gcwVGRmhigoTKkYrsyu11hJP/Q8Gw764Pj8wuqCfbR767KRqIzi87DvyLL9q283rbnf6Hroig4KuIsTY6Dd2srzX7k1rmnwoEqJ9qD2uWyAMFxcFIgF9xT7XkTtqDm3bYFtco6pUcxhHQo2NUw3DFIPBQTp9nXT4khtttQ+1s6JwBUsKjIceKEFP6m+TQGyEfrr/NN3+blxWFw6r1q4h1kPv8Sf3cYHUlstHIUKfKEIIvv3Jlcwr9PCLt+rJcdlYVZncHXTJHC+BcISTmergaISnSPv7NchFb+prpCesBVAqQlcX7JE89AJXwZjvWKeTs1fQrXaYv5n601recbvDPZzCOBKTLOixV/tYQc9x5qRVwNAx1EFERpIEPVaUYyP0odBQysIJ0CyX2MXVPGfemBdFlaDHVmvCcMMso74s7UPtFLoNKv6iFLoLCREa8SInpWQoOKQJureCkAxR110Xt5gZa7kYlf2DVikKMZZLoB+X1YV9tAn1JgBkO208fOs6nDYLFy/UZpImMnULo0uTBL3SW4k/EuCYXXs/VRsGh8WRcmqRitCrc6tNy2XGULOV+pB2297u9qa3wDlZgh7tyR0b/aoslyx7FjmO9ARdH3DsiRf0WFGem6MJuvrgjuSjG0Xo3f7uUSPjWE50nwC0i1VsVaZaiOr0dcbtLxAO0BvoHVHQVcOxkZp0BSIBQjKEx+6hMltbHznUeShO0GMtF6OyfwCnLd5y6Q/2m3bLGFlalsPzd17MP16M75f3AAAgAElEQVRn3HuopiQbq0VweNIFfXFSpotKXdzn1O7acqKfDyEEXrtxT/Rufzc2i42K7ArTcpkxLNhKg01bbW93JOfZGqILuhhb29xRUEIXtygaFfksm7YoOtoCJsQPOI4lz5mHTWjnGhuhQ+reLFJK2ofadfFU+wlFQkmDlRX1vfVJYn+85zgOi/bHEhulK0EfCg3F7U8Ja+yFJBH13Eh90fVFZVuWLuidvk5DQR8IDui/+6Q89GiErjou9gX6RuyFbmLM4jleir3Gi6tOm5XqIg+HWyZZ0EuWaokQfWf0h5Sg73dqx5YbI3upOi72+HvIc+ZR4Cqgy9c1pgBnOjm7BT3/HOrd2h9muzV1P5U43NE/9pxywz4q40UJeuxiy2BwEJfVhc1i06anBPpHbQTUMqiV/ScKukVYKMoqwmP36JbCaBF6f7AfX9gXt6+ROi6e7DnJNc9cw4snhzs3+sN+GvsbOXeOlvsfJ+gxPcpjhVl9XeQaXdBHSoWMzRKakz1Hn/8ZJ+i2qKCHhi2XxDsDleWiio/6g/36wplJ5lhc6p2aCB3ibJcyTxkW4IBDCzpy/cO977Md2QwEkj30bn83ec488px5+MP+pH75M5WzWtCllDTYNCHvEGmurlvtWqVmhitE9UVRf/yiqIogvXavNmFolJFYLYMt2Cy2JB8YoMRdQpW3Si/+GC1CT0xZjH2NkaC/1/oeEsmbp4d7RJ/qPUVERthUuQkwjtAh3jpRX4/moSe+LhF1kfTYPdgtduZkaVWMsWJss9hwWp0MBYf0CD2xN3mih94XSK91rsnYWDzHS33nIAP+0OgbjxeDKnG71U5ZRNBk1+5gc3zDF5VUEXq3v5tcZ67+dzZbbJezWtC7/d30yRB2KWmPpO5GEIwEueH5G/jlwV9qD8xZqWXJjIOTPSfj5kwq9ErFhDx0FUEqIR3NR28dbKXYXZw0jR7gr9b9FX+7YbgoabQIPbaoSDFSC90P27RukO+1vKc/phZE15eujyvgAE3c1e1urDCrrJeRLJccRw42bLT7RhB0lfYZzWSp8GpZTIkVnqoneqevkxxHDnZL/GKnitD9IdNymUxUC4CjrZPY+C27WGs7fXrP8GNSUhkY/vv3Dg7fLaby0JXlotZbZktx0Vkt6Crne4W7jIFIIOVt06sNr3K46zCHOqO3aZ//HVx2/5h/npSSe/94L99865tJE3BUNJm4KKqyMJQIpSPoiRkuivPKzuP8suE5jGlH6DEDOEYS9L3tewE42XtSF+gT3ScQCOblzKPcU66nLkZkhKb+JtYUrwGIS11MJ0IXQpBjzUnPQ4/e5ajpQIl2iRoUbVT2D8aFRR+Fsv+pZnE002XSK0bL12rDpBV9Z6gMaJle3nAEa+9wJanHYTxXVFkuStBnS6bL2S3o0b4ma2s+DqReYPv1kV8Do4vpaLza+Crvt2ofpMQPiWHaYmhAF3R9oO0oxUWtg61J/nkqsu3ZCETKCF33shOyXCDZchkMDlLXXceF5RcC6Od5rEcbTOGyuajwVuiWS/tQO/6wnxVFK7AIS3yEPtSB1+7VC3pSkWPNGdFyiU37BPSF0ZEidCNBd1gcCMSwhx7oNyP0SWBuQRZuu5WDp/vYdbiVW/79Lf7HT9/J/A8qXwvtR8EX/dx3HqMqpDVey0Fow+KjGM0VlVIOWy7OqOViRujTT0NfAxZhYVXxKsDYj23oa+CN5jeAiQl6OBLmX977F/37xNs4ZQ/0+Hv0FfM4Dz2NCF1KSctgS9qCbrVYyXZkp4zQ1THGilcqQd/fsZ+IjHDj4htxWV267XK85zjz8+YDWoSsBk0o6+WcnHPId+bHXUxHy0FXeK3eEYdFx6Z9wrDlkhSh27N0D91o0IQQApfNhT/kJxgO4gv7zAh9ErBYBItKs3n8zZN84T92886JTl490kZ/IMMZJOVrAQlqYEzncSqDmm+fK+zasJsoRh76YGiQUCSkLYq6tDtWU9CnmMOdh9n61Na4asX6vnrKPGV6m1mjCP3pI09jFVaWFixNK20wFdtPbKeuu46PV2t3A0YRukBoE1CixTJGlstIx9Af7GcoNJTScjFipH4uA0GtbD7Wj7db7HjsnqSLgPLP15WsY2XxSv7U8ifCkTCnek4xP3dY0PuD/fQGevUMl0pvJYXuwvgsF19HWoKeruWiPHSVrqlsI0WWPUuP0FNNDlJj6NR7Yy6KTg4fX1nGyopc/vnPV/PIZ7Ve/g19GW4HUKbZfLrt0nGMquiPyLW54yJ0r8NLMBKMs0jVZz/PmUe2PRubxZZyUbTT18kvDvxixqQ1njWCfqDjAK1Drexq2KU/1tDbQJW3SrcUEiP0QDjAs3XPsrlyMwvyFoxb0IPhIA/veZilBUu5YdENQHyELqVkMDioR9aqlDhW0FVUOVKE3jJgnLI4EiP1c4n9+bEYdVzc276Xud655LvyWVeyjsNdhznSdYRAJBAn6KAthjb2NSIQlHvKKXIXxXnoHUMdIy6I6sdhzdP63/TWGz4f2wsHYGXRSr676bt6xo3CY9OisG5/t6HlApqPPhQa0i/EZoQ+Ody+eQHP3Xkxn1pfqbcIqM+0oGcXazUkStA7j1Hlid692b1as76oAOv9XGICMHV3muvMRQhBgbMgZYT+8wM/54HdD+gzCqabs0bQlWC80fSG/lh9X70uQgKRlDGxo34Hnb5Oblx843C3wzHS0NvA/W/eT1N/E19d91VdCGI/IKqiUQmeutoPhIazXDx2DwIxYql7qirRkRgtQjcSdFUtqpBS8mHbh6wsXgnAutJ1RGSEZ+qeAdD7kScK+hzPHOxWO4WuwiQPvdA1eoR+XvZ5eB1e/v71vycUSU51GwgOYLfY9RJ9IQTXzL9G7+OiyLJncWbgjGEfF4XL5sIf9g9H6KaHPukUe50Ue53U905Cw67yNTGCfgJvYQ1zPHMozyqG0BAMaX+DRj3R1Wdf3enlu/JTCnptQy1g3IJ3OjhrBF2tQr/b8i6BcIAefw/d/m7m5szFZrGR78pPitCfOvwUFdkVXFB+gVbYExy9sEdxsuckf7nzL7n6mavZfmI7ty69lQvLLzScgqK8XtXyVvnosRGyRVjIdmSPuCiaqqhoJHKcOSn3GZs2GUtihN4y2ELbUBsrizRBX1O8Bquw8rtjvwMY9tCjHnZzfzON/Y36cIEidxEdQx36EOe+YF9aEXq+LZ97zruHD9o+4LH9jxkev9EFKRGP3aNnsCRWiSpcVm1QtBmhTy3LynIyH6GD5qN3HtdmG3Qeh4IFPPHxJ7hj3jXa873a4r1Rx8VYywU0Qe/0J2e5NPU36dO2jBp8TQdnnaAPhYZ4v/V9vZWryoMuchfFCXpfoI93W97l+gXXYxEWchw5RGQkrhfJSHzn7e/w7pl3+dKqL/HSp17i7o13670hIP6Krd5sPUL3dWnzRJFxgjRaP5dUZf8jkYkIXfnnq4q0xeUsexZLCpbowqzsohxHDl67l8a+Rhr7GvWsk0J3IYFIgL5gn+6Jp+OhA3y8+uNcOe9KHt7z8HBaaZTB4KDhBSmR2G1Seug2TdA/StOKZgLLynNo7o8QCGVY1MvXav8feRGCg1BQTUlWCVn52phD5aMb3VHHWi6QOkJX0TmYgp5xOoY6qMmrwWax8UbzG3Gj2GA4SlSogphlhdogWz1tMA0ffTA4yLst73LDohu4c+2dcY2x9CkowdSC3u3vTkq5A0a1fVoHW8lz5o2a7heL8tCNFm0GQ6k99FhB39u+F4fFEdfqVg3NVf65osJbwfGe47QNtekRemzVp7qophOhg2aj/MN5/0C+M5///dr/JhwJ68/FZgmNROw5prRc1KJowLRcppJlZTmEJdRluthILYzu+432f2FUyNVMhB5t0d4oQk8SdGe+YQvdVxtf1auMTUHPMJ2+Tiq9lawtWcsfm/6oFxXpouKKz7Q43q0JurIL0i3sAXj79NsEI0Eurrg46Tm7xY7L6oq74qv85uKsYmzCFifosYKU48gZ8YIylhx0Ra4jl7AMGzbbSiWIuU6tj7oSzw/bPmRJ4ZK4drLrS7QMhSRBz65gT6tWpaci9NhGW3qEnoaHrshz5XH7qtup666Ly2JKdUFKJPYcUwm60+bULJeP0IDomYAaUn3gdIaLjbIKtPYdx3Zq3xdEBT27FIRVj9CNPPQefw9eu1cf8Zjvyqcv2EcwHNS3GQgOsPvMbrZUbQGMh2RMB2eVoBe6Crmw/EIOdx3m/db3Kc0q1asAleWiItVj3cdwWV16SmM6aYOK15peI8uWxbqSdYbPZzuyDSP0bHs2ea48unxdcZ0WFV7HyEMuWgZbxpSyCCNXi6ayXJR32BvoJRgJcqDjgG63KNaVrsNtc+s5/oqK7AoCEa0qL/ZiCpqgq4XpdC0Xfb9Rfz52YTtVlk4isduovOJE3FY3vvCwh57Ofk0mTnWRB4cFDjQn/91JKfnxa8e5+IGdfOnxd/nFW6do7ErPEgU020WGweqA3Oj4SYtVaw0wgoeuiooURv1c/tj8R4KRIFfPvxowI/SMEpERffivqmT8Y/Mf9b7gEO/jglbhWJ1bjdWiNe9KN0KXUvJ60+tcUH5BygEI2fbsuP3ERuNqwTG2sZRitDF0YykqUozUz2UwOKjncMe9Jvph/utdf821z1yLL+zTF0QV+a58dvz5Dv0DrYiddRq7KApaJpJe9j+GCB2M+6OnvShqG04NTezjolAeem+glyxbVtwAbpPJw2oRVHotHDgdH3D4Q2H+7ukP+dbvD1LsdbK/uZd/eHYfmx+q5dUjaQ4jVz56/jxNyBU55brlkspDj61lMOrnUttQS44jh4vKLwJMQc8oPf4ewjJMobuQJQVL9Cuq8s+BpFz0493DFY6QXh44aJH96YHThnaLwuvwxr3BsX2785x5dPm7xuyhh2SITl9nxiL0UCSEL+wzFMSlBUuZ45nDUGiIlUUr+cqar3DJ3EsMzzOxSZiyWbJsWXpGSa4zF6uw0j7UTsdQB7nO3DFPAzLqvqjmiY6G265tk8puAW2uqC/sM4dbTANzcywcaB4eN9g5EODTj77F039q5K+2LuQ3d1zI61+/hB1/u5nqIg93/+ZD+nzBUfbKsKAru0WRW6FbLg6rA7vFHp/l4ushN2a6mfocq8SLcCTMa42vcXHFxditdtw2tynomSTWl7UIi96gSmW4QLyPOxgcpHmgmQW5w290upbL602vA4wo6B67Jz5tMaYAJs+ZR7fP2EP3Orx62XEiamDyWCP0VIu96piMPPQFeQt4+YaXeerap3ho80N8efWX0xJOGF74rfBW6G18LcKir2F0DHWM2Ac9FfnO/KSeMGNJW4TUGS6gzRVVaYvmLNGpZa7XQq8vRHOPllr69/+1l33NvTx8yzruunwRFotACMGC4mwevGEVZ3p9fGf7oVH2CpStBsTwgqgip0KzXKIXkMR+LqkidLVYurd9L13+LjZXbjZ8/XRyVgh64qzIiyq026BYyyU2QlcZLrERulocGS1Cf63pNRblL2KOZ07KbdSwCkWsvZLn0jJIElu/wrD4GnZ/C2kfpjFbLlH7JDFCN7J8MoGyXFSkrih0a8VF6Zb9J2K1WClwFeiCHjtPdDTU73ikCF0vLDJ7oU85c72aDB1o7uUPB1p4Yf8Zvrp1IVevKkvadt3cfL64aT5PvlPPG3WpG7cB2gzhW38NF/5l/OM5FRDy6cVFif1cVOtcRWLHxd8d/x02i03XGdX8bSZwVgr6ZXMv4/ZVt+v+FsQL+rHuYwBxEbrVYk3yvhPpD/TzXut7I0bnoF0cEvPQbRYbDqtDS4Hyd+tTUhLz0MH4otIT1gQ5UxG6keWTCbLsWSwtWMrakrVxjytBT7cxlxHF7mJd0GPniaZzTDByhK5SQduH2s0Mlymm0mtBCHj3VCf3Pb+fRaXZ/M9N81Nuf9fli5hf5OFrT384+rCMhZeDNyH4SkhdjA3AQhFtMHnsomiuIxeBoMvXRaevk+fqnuPa+dfq26QakjEdnBWCrsr+lVBk2bO4c+2dSSmBNotNE/SeY9gtdn3RTjHaXM+3T79NKBJiU8WmlNtAcpbLYGi4ACbXqaURqqrPRMsFjG2frrAWTYx0Z2CE2+bGZrElReiTJegAT137FF9Y8YW4xwpdhXT4OtIu+zdCXRQgfl1iNHTLJUWVKAz3RG8bajMtlynGZRNUF3r4yWsnaOoe4jufXInDllqaXHYr3/zECpq6h/jDwZax/8CcqKBHffQyTxmHOg8RkZGkKlHQgr08p5ad9qtDv8IX9vH55Z/XnzctlwzTMdSBVViTRovFIoTQUxePdx9nXu68pEyG0So1X2t6Da/dy+qS1SMeT7Y9m8HQoJ7HHev1qiixqb8pqdPhSILeE+7BaXWOedalEMKwWnQsgpgJ1O9+MDSYdlFRqn1A8nCLkfA6vGybt23EOytVINIb6DUtl2lgaVkOoYjk0xvnsmFeamtMcV51AS67hQ8ajBvPjYgu6FqEvq16Gy2DLew+s9tQ0EH7u20eaObJQ0+ypWpLnF2runnOBM4KQVdtUY3GssWiFuaOdR+Ls1sUI0XoERmhtqGWCysuTJn6plB+vIrSY/Ol1Qelqb8pKToeSdC7Q92UZJXoC41jwajj4mR56KkodBfqfXLGa7kUuYvoHOqMa9GQzvFbhIWHNj+kV7caoSJ0MFvnTgebFxczv9jD3duWjL4xYLNaWFmRyweNyRWco5JdAhabHqFfUnUJHruH3x77bVKVqCLflc8bTW/Q7e/mL1b8RfzuzAg9s3T4OkZc8FIUuYto6m+iqb8p7gqrGClt8MO2D+nwdXBp1aWj/hwlzOpNjrVcRhL0OZ45uKwufvj+D/VeNIqecM+Y/XOFYYQemjzLxYjYqHwiEXpIhlIuKk+EWEEf612QycS5cUMVO/92C7lZ6aezrqrMY19TD8HwGPvAqOKiqIfusrm4/JzLefnUy5wZOAMYROjOfCSS1cWrk9aHzAg9w6QaLZZIkbuIk70nkciUEXoqQd9ZvxObxZbUa9sIFeGpfcWW2Csf16jTYY4jh0cuf4Qufxef2f4ZvSmWL+SjK9Q1bkE36rg4FssiE8SK+Hg99NiF7Uwfv7JcwOzjMltYXZWHPxThSMs4Jo0VLYKWA/q3186/lsHQIM/WPQsYWy5A0toQRJMggv0zYsjF2SHoQ51p3cbHbrMgL1nQU3noUkp21O/gvDnnpZUBkVhOHOuhxxYsGEXH60rX8fOrfk6WLYu/ePEvuOLpK9j4xEY6w51JqYDpkuvIndJFUSNiRXwiETpMkqCblsusY010QMa4fPTyNdB6AIJan6UNczZQmlXKm6ffBJIFfVPFJrbN28YlVckFdtmObEKRkN7yYjo5KwR9LJYLgE3Y4qpIFTmOHPqD/XEd/UCrDq3vq+fSuaPbLUBSC924UXN2L1ahlSGnEqPq3GqeuPoJrpx3JetL1/PlNV/mc0Wf47aVt6X18xPJdebSE0j20C3CEheZTibqYioQI6YPjkRicRhk7oIUK+hmlsvsoKrATX6WnQ8axuGjl63R+ry07Ae0dRbVxsJusScV0l0y9xIe2vyQ4TqdutOeCbbLrBf0weAgQ6GhtG7jlSDMzZlrWHqu93VIyCnd2aB1bDO6OhuhIjx9UTQ0qH9AhBDD+asj+L8FrgK+ffG3+e6m7/Ll1V9mg2fDuMUrz5nHQHAgqVucx+YZ1yLreFB9VPJd+ePukxIboWfcQ4+5sJl56LMDIQSrKvPGtzCq2gKoqUZotgtofy9CCKh9AB7ZDKGRI2/1965qS6aTWS/oqgPaWCJ0I7sFUmeZ7KzfyariVXF9z0dCz3IJJFsuMOyjT5V/rW4fY3ucp9tLPFMIISh0F447wwW0aNxtc9M21JZxy8i0XGYnq6vyONLSx2BglAKjRHIrIasQTu/RH6rJr2FpwdLhz+ih32rP7/73EXelggqVaDCdzHpBH8sEHNVDJLGHt8Ko4+KZgTPs79ifVnaLQl8UjfZQDkaChi1cp8q/Vj8vVtDT7SWeSSqyK/ReL+NF5aInzhOdKHERumm5zBrWVOUSkbCvaYz91IXQbJfmD+Ie/qfN/8S3LvoW+Ps1O8Zi0yL1gdRtBvShNjNgruisF3RV9p+O5VKeXc6nFn6Kq6qvMnzeqPR+Z71mt6Trn4MmDjZhoz/QP9wEKyajRUXMUyWo6o4gMUKfakF/YNMD3HfBfRPah5o8lek7DDNCn52s0hdGx2O7xC+MgmbHLi5YDE1/AhmBy78BgX7Y9e2Uu1ERutEQmalm1gu6itDTsVysFiv3X3j/mCyXVxpfoTq3Wp9snw5CCL3838gamGpBV559bD/nqbZcAEo9pePOcFHoFacpermPF9XLRSDM4RaziKJsJxV5bt1HP9E+wCcefoMX9p0Z/cVqAEZ0YTSOhne0/9fcCud+Ef70mPF2zMIIXQixTQhxWAhRJ4S42+D5jwkh3hNChIQQN2T+MFOjN+Zyjy7oo2EUoR/pOsKa4jVj3pdq2GOUXqeyPKZKUBPbf8Lwouhso9BVqC+KZvL3Z7PYsFvsZNuzR604NplZrKnSFkZPtg/w6UffYk9DN3//zF66BkZJI1RzR2MWRnUa34HiJeDOgy13gzMHXrzHcDeJleHTyaifXCGEFXgYuApYBnxaCLEsYbN64PPALzN9gKPR6esk2549psHJqUj00PsD/bQPtTMvd9649hVruRhG6FMkqEaLoumOb5tpFGcV0xvopcvXlfHjd1ldpt0yC1ldlUtD5xA3PvIm/lCYf7lpDT1DQb7336P0TDdYGAUgEtEi9KqN2vdZBVqUfnxXnD2jUJ9DlUo7naQTimwE6qSUx6WUAeBXwPWxG0gpT0opPwTGWIM7cTqG0stBT4csexYWYdEtl1O9pwA4J+ecMe9LteI1aoI11ZaLw+ogy5YVb7mEpt5yyQTKsqnvq8+8oNtMQZ+NrI766IFwhCe+eD6fWFvBFzdV85/vNvD28Y7UL0yxMErHUfB1Q9V5w4+VLNX+7zyRtBu3zY1AzIgIPZ2E4AogtrFII3Beim1HRAjxJeBLAKWlpdTW1o5nN/T39+uvPdZyDJu0jXtfibiEi0MnDlHbU8vu/t0AtB5qpfb42Pbv7/XTGerknT2aF3fggwP0OrQLReOQ1kPi6P6jyGPplQvHnvN4cEkXh+sPUzuo7aPf30/H6Y6M/d4mA6Nzbh7UGiq1D7VTISoyevwyKAlHwtP6O5no+zwbmeg5hyKSa+bbOa/MRuuR92g9AuvskiK34G+eeJtvXOTGZjGut6gO5lPVWsvrO14kEr3Ln3P6DywB3mmGwR7tuLy9XawH9r36HO3FrUn7cQonh08cprYnvfOYrPc5HUE3+k2Mq2mBlPJR4FGADRs2yC1btoxnN9TW1qJe+4PnfkB1TjXj3VciBb8pwFvsZcumLezfsx9Lp4VPbf0UDqtjTPt58bUX6WztpHpRNbTB5gs26yPxLgpfRN6RPG5afFPaRTax5zwe5vxuDk6Xky1bthAIBwifCrN0wVK2rBr/Picbo3Mu7ijmkd89AsA5Zeew5eItyS8cJz/67Y8o85Rl7LM0Hib6Ps9GMnHOlxkkoTkqW/nCY7v514MObj63io+vLCPXnZDmWtoH9U/zscWFULlBe+y5p8Gdz8arbgFL1MTwrYX3/hcrytxg8JnL+XUO+aX5bLkovfOYrPc5HculEaiK+b4SaM74kYyTdBtzpUtsg66TPScp95SPWcxh2HIx8tDtVju3Lr11SifL5zvz9X4uU93HJZMUu4eLuzJ9/N+86JvcteGujO7TZPq4ZEkJ3/rECgb8If73f+3l3G//gZ+8nmCZGC2MNrwDlRuHxRy0cXZZRdB5zPBnqQZd0006gr4bWCiEqBZCOICbgecn97DSIxwJ0+XrmlD1YSKxDbpO9Z4a14IoaBeGgeDAlA+SSEWeK0/30GfKMY2HfFc+InrTmGlBX1yweFzrJSYzl8+cfw4v/83HeP7Oi7i4pohv/f4AO2KnHKmF0fo3taHRQ13Qfhiqzk3eWeEC6Dhu+HM8ds/sWBSVUoaAO4EXgYPAU1LK/UKIbwghrgMQQpwrhGgE/hx4RAhhnLCZYbr93UjkpEToUkpO9p5kXs68ce0n25FNWIb1aUqZyMKZCHnOPD3LZTZH6KofDMzO4zeZelTPlx/duo4V5bl89Vd7qGvtU0/Ckqth32/gN7dB3Q7t8SqDZcKCBSkj9JkyVzSthFsp5XYp5SIp5QIp5bejj90rpXw++vVuKWWllNIjpSyUUi6fzINW6LNEx9lf24gcZw69gV5aB1sZCg2NO2JTuaktgy1k2bOmrAlWKvKcefQH+wlGgoY20GxC3ZEldsQzMRkJl93KI59dj8tu4X8+/id6hqLN6q75F7jkH2D/s/Bf/xOEFcoNplsVzoe+02DQhMtj95jdFieKXlSUyQjdrkXoKmVxvJaLEvTWwdYZYW2o8v8ef8+sjtBhuCfPbD1+k+mjPM/Nj25dT0PnIN/dflB70GKFzX8Ht70EeXPhnAvBaZC+Wlij/d+ZbLuYgp4B9LL/DFSJKrwOL0OhIY52HwWYkOUCWoQ+E4RHDdbo9nVP+bSiTKO6Xs6E36vJ7GNjdQGfWFvB9r2n48fXVW6Av3wPPvMb4xcWRFuGdNQlPWUKegY40XMCi7BQ5inL2D5Vtei+9n24be5xj31TEXrbYNuMEB4VoXf5u6Z8QHSmUZbLbGxdYDIzuHL5HHp9Id5KLDyyWMGWYr2rINqltSPZR1eDoqd7DN3U5c1NAoc6DzE/d35GvdQcp9bPZW/7XuZ65467r4eK0MMyPCMi4djyf91ymUGCGAwGaWxsxOfz6Y/l5uZy8ODBpG032TexetlqPF0eDvYmPz+bSTxnl8tFZWUldjNk4DIAABYYSURBVHtm2gSbaGxaWESWw8qL+8+waWF6cw5wZkP2nDjLRUpJKCLx2D2EZRhf2DetazuzWtAPdhxkY9nGjO5TNeg61XuKK+ddOe79xPbUngkeuqGgz6AIvbGxEa/Xy7x58/QF5L6+Prze5N7kvf5eGvoaqMmvmfbsoUwTe85SSjo6OmhsbKS6Ov1unyaj47Jb2byomJf2t/CN61ZgSVFJmkThgrgIfdfhVv7qyT389Se1z+FAcGBaBX3WWi4dQx20DrWypGBJRvcbO35sIjnJsT1BZoJw6kMufN0MhDI7HCIT+Hw+CgsL08oG8jq8VOdWn3VinogQgsLCwri7FpPMceXyObT2+dkzlhF2BfPjUhcPNPfS7w/R3KVZLdPto89aQT/UqXVSW1qwNKP7jY2sx7sgCvFR+UwQdKfVidvmptvfPWM7Laab2imEmBE21lQw3emuZzOXLCnBZhG8uD+N3umKwgUw0AY+rS9Ta58fgPp2bbC8Kejj5GCn5jMuLlic0f3GRugTEXSrxaqL5kwRn3xnvm65zERBNzGZSnLddi5YUMhL+1vSX8xUmS7RKL21VxP0ujPaTFNT0MfJoc5DVGRX6NN4MoVaFAU4J3diZeAq02UmeOgwXP4/HdOKZgNWq5U1a9awfPlyVq9ezfe//30ikfQ7Qt9zzz1UVVWRnR2fw+z3+7npppuoqanhvPPO4+TJkxk+cpPxcsXyOZxoH+Boa5pVnoUqdTEq6H2aHVbfoUXo0z21aFYLeqb9c4jOA7XYKHAV6Auk40VF+zMlGs5z5tHj78n4+LazBbfbzZ49e9i/fz8vv/wy27dv5x//8R/Tfv21117LO++8k/T4T37yE/Lz86mrq+Nv/uZv+PrXv57JwzaZAFcsKwXg9x+eTu8F+dHF6WimS2ufn8p8NzISXRQNTW+EPiuzXHwRH6d6T3HN/Gsyvm8hBDmOnAnZLQol5DNJ0Bv6GojISMbvbDLJP/52PweaewmHw1it1ozsc1l5Dvddm35HipKSEh599FHOPfdc7r///rS87PPPP9/w8eeee477778fgBtuuIE777wTKaXpj88ASnNcXLigkB/sOMqehm5u/9h8LlgwwuK8IwtyKqDjGFJKWvv83LJxLr/8UzsAAwZtAWKRUvLDPT+kIJC5YshYZqWgNwWaAFhWmDgJLzOsKlrFsqKJ71tluswYy8WZR7evG5vFRll25oqxzlbmz59PJBKhtbWV7u5ubrrpJsPtamtrycvLS7mfpqYmqqq0DtQ2m43c3Fw6OjooKprYwGyTzPBvn1nPz988yWN/PMktP36bHJcNazSN8YIFhfzo1vXxL4hmuvQOhQiEIlTmu1ldXsIhRo/QD3Qc4NEPH+UzhZ+ZlHOZlYLeENAGKE2G5QLwr1v/NSP7URkzM8WvznPl0Rfsw+F3zJi7BiNUJJ0qD30qUYtlixcvZs+ePaNsPfI+YjGj85lDrtvOnZcu5Iub5vPcnib2N2sZLHubenhxfwuBUASHLcadLqyBA8/S2qtVXBd7nZw/bw4HTwu6hvqMfoTOjvodWISFFe4Vk3Ius1LQGwONFLgK4oYdzERmmuWiyv87fB0z5phmMsePH8dqtVJSUsLhw4fHHaFXVlbS0NBAZWUloVCInp4eCgom55bbZPy47FZuOneu/v1ze5r46q/2cKpjgIWlMYFF1Ub4039Q/OynKeEWSrwuSuwBftkkGHzvP2DxjZBjfAe8q2EX60vX47FOzt/frBX0pcVLZ3yUMxMXRRUzxQaaqbS1tXHHHXdw5513IoSYUIR+3XXX8bOf/YwLLriAp59+mksvvXTGf3ZNYEGxZpkebe2PF/TVn4aQn+z/vpsXnB8g9h8g7+CTFBS58Ad9cPB5OO/2pP2d6j1FXXcdd2+8G1qSns4Isy7LJRAOcDp4etLslkwyE9MWFTPlIjOTGBoa0tMWL7vsMq644gruu+++tF//ta99jcrKSgYHB6msrNQXQm+77TY6Ojqoqanh+9//Pt/73vcm6QxMMsmC4myEgKMtCamIQsCGL/Cb9U/QJIvIf+9hROly+kQp7VYPHHnBcH8763cCcEnVJZN2zLMuQq/rriNChCWFM1/QC92FWIRlxmSUKMsFTEE3IhwOT+j1Dz74IA8++GDS4y6Xi1//+tcT2rfJ1ON2WKnKz+Joq7EvfiRSzrflt/ng9rmIOStx/fJTNPj9yJOvI/x94Ixf/9lZv5OlBUspzy7nCEcm5ZhnXYQ+WSX/k8E186/h8asenzGCHnscpqCbmIxOTUk2dSmKjlr7/OTneBBlq0AISrJzaRMuRDgAx3bGbds+1M4HbR9w6dxLJ/V4Z52gZ9uzWeJaQpW3aroPZVRcNheri1dP92HoxHnoMyTzxsRkJrOwJJvj7QOEwskVw629Pkq8ww3iKnLywGWnW3oY2Pu7uG13NexCIidd0Ged5XLFvCtwnHSMu0/5RxmXzYXb5mYoNGRG6CYmaVBTkk0gFKGha4jqovi/mbY+P0vLhqvJsx3ZeNxhXmcNHzv8IjIcQlg1id1Zv5PK7EoW5i2c1OM1VfEjhorSzdJ/E5PRqSnREhuMbJfWPj/FMRG6x+7BFx7Eu+paciI9vLLrvwGtYdfbp9/m0rmTn91kCvpHDF3QzQjdxGRUlKAnLowOBkL0+0OU5MQL+kBwgIuvvIkwFo69/jRdAwEOdhwkGAlyfplxa4hMMussF5OJoQTd9NBNTEbH67JTluuiLiF1sS3aB73E69Ify7ZnI5H4nS7CZRu5qOlP1B5pJew5CUB17uRPnTIj9I8YKhfdjNCTmWj73G3btrF69WqWL1/OHXfcoadBdnZ2cvnll7Nw4UIuv/xyurq6JusUTCaBmpLspPa6rbqgx0fooFksnhXXsMTSwKmj+znVewqHxZHRYfapMAX9I4bKRZ8pxU4ziYm2z33qqaf44IMP2LdvH21tbXru+fe+9z22bt3K0aNH2bp1q1lYNMuoKcnmWFs/kchwTx412CLRQwfoD/ZjWf4JQthYfPwxTvaeZG7OXKyWzHQOHQnTcvmIsblyM76wb0o+XOPmv++GM3txh0NgzdBHdM5KuCp9IR1P+9ycHC3jIRQKEQgE9Nc899xz1NbWAvC5z32OLVu28MADD4z9HEymhYUlXgYDYZp7hqjM1wIhNdgiNkJXvaVO95+muuJCPii5nstanuXhzo0sLJyauhkzQv+IcWHFhfzjhelHnR9lYtvnHj58mDVr1hj+6+4eHjJ85ZVXUlJSgtfr5YYbbgCgpaWFsjLtdrusrIzW1tZpOR+T8TG8MDpsu7T2+bFZBPlZDv2xRfmLADjcdRiA3o1/jQ8rjQNNExo4PxbMCN1k5hGNpIdmYfvcF198EZ/Px6233srOnTu5/PLLJ/sQTSaZhVFBP9bazyWLSwDNcin2OrFYhu/c8lx5zPHM0avZly9axMOWLYQ5xDzsU3KsZoRuYpKCxPa56UTooPVuue6663juuecAKC0t5fRpbcTZ6dOnKSkpmfJzMRk/+R4HRdmOuCZdrX3xVaKKJflLONypReglOS7+O3sDAPMOvTQlx2pG6CYmBoy1fW5/fz99fX2UlZURCoXYvn07mzZtAobb595999387Gc/4/rrr5+q0zDJEAuKs+Ny0dv6/LqfHsuigkW82vQqvpAPl81FXkmYzgicc+xVaHoPKtZN6nGagm5iEkW1zw0Gg9hsNj772c9y1113pfXagYEBrrvuOvx+P+FwmEsvvZQ77rgDgLvvvpsbb7yRn/zkJ8ydO9fsvDgLWViazTPvNdHvD5HttNHa52fdOflJ2y0pWEJERqjrrmNF0QqyPJ3ILjd5Fgd88KQp6CYmU8VE2ueWlpaye/duw+cKCwvZsWPHuPdtMv3csL6KX7xVz/9fe4y/2rqQzoFASssF4HDnYVYUrSBkbSUSKKZ1zjxK9z8L274Hk5hhZnroJiYmJqOwpiqP61aX8++vHWdvUw8QXyWqqPBW4LF79IXRTn8TMljMW1mbYaAVTr4+qcdpCrqJiYlJGnxt22IkcM8zewEMI3SLsLAofxGHuw4zGBykdaiVImcFz/QtB7sH9v/XpB6jKegmJiYmaVCZn8VtF1dz6Iy2OBrbmCuWxfmLOdx5mBO9JwBYWFDNu81+Iou2wYHnIRyctGNMS9CFENuEEIeFEHVCiLsNnncKIf4z+vzbQoh5mT5QExMTk+nmK1sWUOjRiomMLBfQFkYHQ4O80fQGAOvLF9PvD3G66ioY6oQTr0za8Y0q6EIIK/AwcBWwDPi0EGJZwma3AV1Syhrg/wJmXbOJiclZh9dl595rl7G6MpeibIfhNmqA/YsnX0QguKxGk8udgZXgzIF9k2e7pBOhbwTqpJTHpZQB4FdAYiLt9cDPol8/DWwVk93J3cTExGQauH5NBc/deTE2q7F8LshbgEVYONJ1hDJPGYtLC6kpyWb7oW5YcjUc/B0iMjm2SzppixVAQ8z3jcB5qbaRUoaEED1AIdAeu5EQ4kvAl0BL81INi8ZKf3//uF87Wznbzzk3N5e+vvghAuFwOOmxySQvL4/ly5freei33HILX/nKV7BY0ltq+sY3vsGTTz5Jd3e3XhkK4Pf7uf3223n//fcpKCjgscce45xztN4e//zP/8zjjz+O1WrlwQcf5JJLLkk6Z5/Pd1a/92fjZ7vEVsKZ4BlywjnU1tayNDvA747383buAs7z9+BufpPa2kloByClHPEf8OfAj2O+/yzwrwnb7AcqY74/BhSOtN/169fL8bJr165xv3a2craf84EDB5Ie6+3tndJj8Hg8+tctLS1y69at8t5770379W+++aZsbm6O24+UUj788MPy9ttvl1JK+eSTT8obb7xRSinl/v375apVq6TP55PHjx+X8+fPl11dXUn7NfrdnE2cjZ/tr73yNbnisRXy2299W0op5d7GbnnO138nf/3WMSl/dr384Ol/Gve+gXdlCl1NJ0JvBKpivq8EmlNs0yiEsAG5QOd4LzImH20eeOcBDnUeIhwOY7VmpghjScESvr7x62lvP572ueefbzxi7LnnnuP+++8H4IYbbuDOO+9ESslzzz3HzTffjNPppLq6mpqaGt59910uu+yytI/TZGaypGAJ209s17ssLi/PoTLfze8PtHPDF56lc5LuSNIR9N3AQiFENdAE3AzckrDN88DngDeBG4Cd0SuJicmsJbZ9bnd3NzfddJPhdrW1teTl5aXcT1NTE1VVWkxks9nIzc2lo6ODpqamuItAZWVlnFVjMntZUbQCGG6pK4Rg2/I5PP7mKXp9k5e2OKqgS80TvxN4EbACP5VS7hdCfAMt9H8e+AnwcyFEHVpkfvOkHbHJWY+KpPtmYfvckfYRixAi5eMms58NpRv41dW/YlnhcELgthVz+PHrJ9h1qJXcSfq5afVykVJuB7YnPHZvzNc+NK/dxOSsIbF97ngj9MrKShoaGqisrCQUCtHT00NBQYH+uKKxsZE5c+Zk/DxMph4hBMuLlsc9tm5uPsVeJy/uP8ONFZPzc83mXCYmBoy1fe5IqPa5F1xwAU8//TSXXnopQgiuu+46brnlFu666y6am5s5evQoGzZsyPCZmMwULBbBFctK+a/3mvjEHOMq0wn/jEnZq4nJLES1z12+fDmXXXYZV1xxBffdd1/ar//a175GZWUlg4ODVFZW6guht912Gx0dHdTU1PD9739fHxK9fPlybrzxRpYtW8a2bdt4+OGHM7YIbDIzuWpFGUPBMPvax9/ZcyTMCN3EJMpE2ucCPPjggzz44INJj7tcrpQ90O+55x7uuece/fupzLs3mXrOm1/AJYuLcVh7J2X/ZoRuYmJiMkXYrRb+4wsbWVE0ObG0KegmJiYmZwmmoJvMGMzShWTM34nJWDAF3WRG4HK56OjoMAUsBiklHR0duFzGbVpNTBIxF0VNZgSVlZU0NjbS1tamP+bz+T5yYpZ4zi6Xi8rKymk8IpPZhCnoJjMCu91OdXV13GO1tbWsXbt2mo5oevgonrNJ5jAtFxMTE5OzBFPQTUxMTM4STEE3MTExOUsQ05VVIIRoA06N8+VFJExD+ghgnvNHA/OcPxpM5JzPkVIWGz0xbYI+EYQQ70opP1JdjMxz/mhgnvNHg8k6Z9NyMTExMTlLMAXdxMTE5Cxhtgr6o9N9ANOAec4fDcxz/mgwKec8Kz10ExMTE5NkZmuEbmJiYmKSgCnoJiYmJmcJs0LQhRAFQoiXhRBHo//np9guLITYE/33/FQfZyZJ95yj2+YIIZqEED+cymPMNOmcsxDiHCHEn6Lv8X4hxB3TcayZIs1zXiOEeDN6vh8KIYynVc8SxvD3/IIQolsI8bupPsZMIITYJoQ4LISoE0LcbfC8Uwjxn9Hn3xZCzJvoz5wVgg7cDeyQUi4EdkS/N2JISrkm+u+6qTu8SSHdcwb4JvDKlBzV5JLOOZ8GLpRSrgHOA+4WQpRP4TFmmnTOeRD4H1LK5cA24F+EEHlTeIyZJt3P9kPAZ6fsqDKIEMIKPAxcBSwDPi2EWJaw2W1Al5SyBvi/wAMT/bmzRdCvB34W/fpnwCem8VimirTOWQixHigFXpqi45pMRj1nKWVASumPfutk9nyGU5HOOR+RUh6Nft0MtAKGlYKzhLQ+21LKHcBsHbK6EaiTUh6XUgaAX6Gddyyxv4enga1CCDGRHzpb/hhKpZSnAaL/l6TYziWEeFcI8ZYQYraL/qjnLISwAP8M/N0UH9tkkdb7LISoEkJ8CDQAD0RFbraS7mcbACHERsABHJuCY5ssxnTOs5QKtM+nojH6mOE2UsoQ0AMUTuSHzph+6EKIPwBzDJ66x+CxVMyVUjYLIeYDO4UQe6WUM/aDn4Fz/gqwXUrZMMEL+5SRifdZStkArIpaLc8KIZ6WUrZk6hgzTYY+2wghyoCfA5+TUkYycWyTRabOeRZj9AeZmCOezjZjYsYIupTyslTPCSFahBBlUsrT0Q91a4p9NEf/Py6EqAXWMoMjmQyc8wXAJiHEV4BswCGE6JdSjuS3TyuZeJ9j9tUshNgPbEK7ZZ2RZOKchRA5wO+Bf5BSvjVJh5oxMvk+z1IagaqY7yuBxDtJtU2jEMIG5AKdE/mhs8VyeR74XPTrzwHPJW4ghMgXQjijXxcBFwEHpuwIM8+o5yylvFVKOVdKOQ/4X8DjM1nM0yCd97lSCOGOfp2P9j4fnrIjzDzpnLMDeAbt/f31FB7bZDHqOZ8F7AYWCiGqo+/fzWjnHUvs7+EGYKecaKWnlHLG/0PzlXYAR6P/F0Qf3wD8OPr1hcBe4IPo/7dN93FP9jknbP954IfTfdxT8D5fDnwYfZ8/BL403cc9Bef8GSAI7In5t2a6j30yzzn6/f9r345NEIqhAIre0jlcRrBwITvXcQw7RxA3cABbi/97EQvxcU4V0iRpLiGQS/Woni232d2v9/7hOffVreWV4LjOnarDOt5U5+peXavtt2v6+g8wxL88uQDwhqADDCHoAEMIOsAQgg4whKADDCHoAEO8AJutES1bRNx9AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "for D in [10, 30, 100]:\n", " cs = np.linspace(-0.5, 0, 100)\n", " outs = []\n", " for c in cs:\n", " trials = 10000\n", " outs.append(measure(trials, D, c))\n", " plt.plot(cs, outs, label=\"D=\" + str(D))\n", "plt.legend()\n", "plt.grid()" ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.09988159656980525" ] }, "execution_count": 83, "metadata": {}, "output_type": "execute_result" } ], "source": [ ".173*3**-0.5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "looks like $c \\approx 1/\\sqrt{D}$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Initial checks. doesn't look like it performs much better (or worse) than the HRSS, best still > $1/2 + .3/\\sqrt{D}$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " as D gets large, then k, l are from uniform distribution." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# another more general idea" ] }, { "cell_type": "code", "execution_count": 87, "metadata": {}, "outputs": [], "source": [ "# r is triangle distribution\n", "def P(a, b, z, s, D, r=0):\n", " rtD1 = (D-1)**0.5\n", " bma = Phi((b+r)/s/rtD1 - a/z/s)\n", " amb = Phi((a+r)/s/rtD1 - b/z/s)\n", " return bma*(1 - amb) + amb*(1 - bma)" ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [], "source": [ "# should be identical to P\n", "# so need to average < erf x erf y > over distribution to get performance\n", "def P2(a, b, z, s, D):\n", " rtD1 = (D-1)**0.5\n", " return 0.5- 0.5*erf(2**-0.5*(a/s/rtD1 - b/z/s))*erf(2**-0.5*(b/s/rtD1 - a/z/s))" ] }, { "cell_type": "code", "execution_count": 89, "metadata": {}, "outputs": [], "source": [ "from math import factorial" ] }, { "cell_type": "code", "execution_count": 90, "metadata": {}, "outputs": [], "source": [ "from numpy import sign" ] }, { "cell_type": "code", "execution_count": 91, "metadata": {}, "outputs": [], "source": [ "# 2* irwinhall - 1\n", "# sum of U(-1, 1)\n", "def sumuniform(n, inp):\n", " u = (inp + n)/2\n", " return 2**-1 * (1/2) * factorial(n-1)**-1 * sum([binom(n, k) * (-1)**k * (u-k)**(n-1) * sign(u-k) for k in range(0, n+1)])\n", " " ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "n=2\n", "inps = np.linspace(-n, n, 1000)\n", "plt.plot(inps, [sumuniform(n, i) for i in inps])" ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [], "source": [ "def get_perf_uniform(z, D, dim, n=0):\n", " # try uniform\n", " s = 3**-0.5\n", " out = 0\n", " rs = [sumuniform(n, r) for r in np.linspace(-n, n, n*dim)]\n", " for a in np.linspace(-1, 1, dim):\n", " for b in np.linspace(-1, 1, dim):\n", " # run once if n=0\n", " out += P(a, b, z, s, D, 0)\n", " for r in rs: \n", " out += P(a, b, z, s, D, r)\n", " return out/dim/dim/(len(rs) + 1) - 0.5" ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "inps = range(10, 410, 30)\n", "plt.plot(inps, [D**0.5*get_perf_uniform(1, D, 100) for D in inps])\n", "plt.grid()" ] }, { "cell_type": "code", "execution_count": 95, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 95, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "zs = np.linspace(0.01, 3, 40)\n", "for D in [100, 200, 400]:\n", " plt.plot(zs, [D**0.5*get_perf_uniform(z, D, 100) for z in zs], label=\"D=\" + str(D))\n", "plt.grid()\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [ { "ename": "KeyboardInterrupt", "evalue": "", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mzs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlinspace\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0.01\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m3\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m40\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mn\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m40\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m5\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mzs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mD\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0;36m0.5\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mget_perf_uniform\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mz\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mD\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m20\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mn\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mz\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mzs\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"n=\"\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mstr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mn\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgrid\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlegend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mzs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlinspace\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0.01\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m3\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m40\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mn\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m40\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m5\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mzs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mD\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0;36m0.5\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mget_perf_uniform\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mz\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mD\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m20\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mn\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mz\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mzs\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"n=\"\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mstr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mn\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgrid\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlegend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m\u001b[0m in \u001b[0;36mget_perf_uniform\u001b[0;34m(z, D, dim, n)\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0mout\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0mP\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mz\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mD\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mr\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrs\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 11\u001b[0;31m \u001b[0mout\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0mP\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mz\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mD\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 12\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mout\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mdim\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mdim\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrs\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0;36m0.5\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m\u001b[0m in \u001b[0;36mP\u001b[0;34m(a, b, z, s, D, r)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# r is triangle distribution\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mP\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mz\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mD\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mr\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mrtD1\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mD\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0;36m0.5\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0mbma\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mPhi\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mb\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0mr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mrtD1\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0ma\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mz\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mamb\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mPhi\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0mr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mrtD1\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mz\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mKeyboardInterrupt\u001b[0m: " ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "D=100\n", "zs = np.linspace(0.01, 3, 40)\n", "for n in range(0, 40, 5):\n", " plt.plot(zs, [D**0.5*get_perf_uniform(z, D, 20, n) for z in zs], label=\"n=\" + str(n))\n", "plt.grid()\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": 97, "metadata": {}, "outputs": [], "source": [ "# def sample_perf_normal(z, D, dim):\n", "# # try gaussian\n", "# s = 1\n", "# out = 0\n", "# for a in np.random.normal(size=dim):\n", "# for b in np.random.normal(size=dim):\n", "# out += P(a, b, z, s, D)\n", "# return out/dim/dim - 0.5\n", "# # this is too slow and too high-variance!!\n", "# sample_perf_normal(1, 10, 300)" ] }, { "cell_type": "code", "execution_count": 98, "metadata": {}, "outputs": [], "source": [ "def approx_perf_normal(z, D, dim):\n", " # try discrete gaussian\n", " s = 1\n", " out = 0\n", " bd = 5\n", " for a in np.linspace(-bd, bd, dim+1):\n", " for b in np.linspace(-bd, bd, dim+1):\n", " wt = (Phi(b + bd/dim) - Phi(b - bd/dim)) * (Phi(a + bd/dim) - Phi(a - bd/dim))\n", " out += wt * P(a, b, z, s, D)\n", " return out - 0.5" ] }, { "cell_type": "code", "execution_count": 99, "metadata": {}, "outputs": [ { "ename": "KeyboardInterrupt", "evalue": "", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# normal .. still not too good. worse than uniform\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0minps\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m410\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m30\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minps\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mD\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0;36m0.5\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mapprox_perf_normal\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mD\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m200\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mD\u001b[0m \u001b[0;32min\u001b[0m \u001b[0minps\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgrid\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# normal .. still not too good. worse than uniform\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0minps\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m410\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m30\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minps\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mD\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0;36m0.5\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mapprox_perf_normal\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mD\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m200\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mD\u001b[0m \u001b[0;32min\u001b[0m \u001b[0minps\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgrid\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m\u001b[0m in \u001b[0;36mapprox_perf_normal\u001b[0;34m(z, D, dim)\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0ma\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlinspace\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0mbd\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbd\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdim\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mb\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlinspace\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0mbd\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbd\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdim\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 8\u001b[0;31m \u001b[0mwt\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mPhi\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mb\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mbd\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mdim\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0mPhi\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mb\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0mbd\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mdim\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mPhi\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mbd\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mdim\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0mPhi\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0mbd\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mdim\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 9\u001b[0m \u001b[0mout\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0mwt\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mP\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mz\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mD\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mout\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0;36m0.5\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m\u001b[0m in \u001b[0;36mPhi\u001b[0;34m(z)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mPhi\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mz\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0;36m0.5\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0merf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mz\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m0.5\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mKeyboardInterrupt\u001b[0m: " ] } ], "source": [ "# normal .. still not too good. worse than uniform\n", "inps = range(10, 410, 30)\n", "plt.plot(inps, [D**0.5*approx_perf_normal(1, D, 200) for D in inps])\n", "plt.grid()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "zs = np.linspace(0.01, 3, 40)\n", "for D in [100, 200, 400, 1000, 100000]:\n", " plt.plot(zs, [D**0.5*approx_perf_normal(z, D, 100) for z in zs], label=\"D=\" + str(D))\n", "plt.grid()\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "1/pi" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "zs = np.linspace(0.99, 1.01,100)\n", "out = [D**0.5*approx_perf_normal(z, D, 200) for z in zs]\n", "print(zs[np.argmax(out)])\n", "print(max(out))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 169, "metadata": {}, "outputs": [], "source": [ "def approx_perf_hrss(z, D):\n", " # try threshold alg (only +1 and -1)\n", " s = 1\n", " out = 0\n", " for a in [-1, 1]:\n", " for b in [-1, 1]:\n", " out += P(a, b, z, s, D)\n", " return out/4 - 0.5" ] }, { "cell_type": "code", "execution_count": 170, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# hrss works! and performs about as well... as a simple \"flip\". Changing z is like changing threshold..\n", "inps = range(10, 410)\n", "plt.plot(inps, [D**0.5*approx_perf_hrss(1, D) for D in inps], label=\"z=\" + str(z))\n", "plt.grid()" ] }, { "cell_type": "code", "execution_count": 171, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 171, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "zs = np.linspace(0.01, 3, 40)\n", "for D in [100, 200, 400]:\n", " plt.plot(zs, [D**0.5*approx_perf_hrss(z, D) for z in zs], label=\"D=\" + str(D))\n", "plt.grid()\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": 172, "metadata": {}, "outputs": [], "source": [ "def approx_perf_triang(z, D, dim):\n", " s = 6**-0.5\n", " out = 0\n", " # it's not balanced for some reason\n", " sumwts = 4*sum(1-abs(np.linspace(-1, 1, dim)))**2\n", " for a in np.linspace(-1, 1, dim):\n", " for b in np.linspace(-1, 1, dim):\n", " wt = 4*(1-abs(a))*(1-abs(b))\n", " out += wt*P(a, b, z, s, D)\n", " return out/sumwts - 0.5" ] }, { "cell_type": "code", "execution_count": 173, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "inps = range(10, 410, 10)\n", "plt.plot(inps, [D**0.5*approx_perf_triang(1, D, 100) for D in inps], label=\"z=\" + str(z))\n", "plt.grid()" ] }, { "cell_type": "code", "execution_count": 174, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 174, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "zs = np.linspace(0.01, 3, 40)\n", "for D in [100, 200, 400]:\n", " plt.plot(zs, [D**0.5*approx_perf_triang(z, D, 100) for z in zs], label=\"D=\" + str(D))\n", "plt.grid()\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": 175, "metadata": {}, "outputs": [], "source": [ "def approx_perf_reverse_triang(z, D, dim):\n", " s = 2**-0.5\n", " out = 0\n", " # it's not balanced for some reason\n", " sumwts = 4*sum(abs(np.linspace(-1, 1, dim)))**2\n", " for a in np.linspace(-1, 1, dim):\n", " for b in np.linspace(-1, 1, dim):\n", " wt = 4*abs(a)*abs(b)\n", " out += wt* P(a, b, z, s, D)\n", " return out/sumwts - 0.5" ] }, { "cell_type": "code", "execution_count": 176, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "inps = range(10, 40000, 500)\n", "plt.plot(inps, [D**0.5*approx_perf_reverse_triang(1, D, 100) for D in inps])\n", "plt.grid()" ] }, { "cell_type": "code", "execution_count": 177, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 177, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "zs = np.linspace(0.01, 3, 40)\n", "for D in [100, 200, 1000,100000]:\n", " plt.plot(zs, [D**0.5*approx_perf_reverse_triang(z, D, 100) for z in zs], label=\"D=\" + str(D))\n", "plt.grid()\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": 178, "metadata": {}, "outputs": [], "source": [ "import itertools" ] }, { "cell_type": "code", "execution_count": 179, "metadata": {}, "outputs": [], "source": [ "from collections import Counter" ] }, { "cell_type": "code", "execution_count": 180, "metadata": {}, "outputs": [], "source": [ "def approx_perf_discrete(z, D, opts, n=0):\n", " # generalized threshold alg (only certain opts available)\n", " s = np.var(opts)**0.5\n", " out = 0\n", " for a in opts:\n", " for b in opts:\n", " if n == 0:\n", " out += P(a, b, z, s, D)\n", " else:\n", " cnt = get_all_rs(opts, n)\n", " for ele in cnt:\n", " out += cnt[ele]/len(opts)**n * P(a, b, z, s, D, ele)\n", " return out/(len(opts)**2) - 0.5" ] }, { "cell_type": "code", "execution_count": 181, "metadata": {}, "outputs": [], "source": [ "def get_all_rs(opts, n):\n", " cnt = Counter()\n", " for k in itertools.product(opts, repeat=n):\n", " cnt[sum(k)] += 1\n", " return cnt" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 182, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#hrss, modified\n", "inps = range(100, 2000, 10)\n", "plt.plot(inps, [D**0.5*approx_perf_discrete(1, D, [-1, 1]) for D in inps])\n", "plt.grid()" ] }, { "cell_type": "code", "execution_count": 183, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 183, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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Qy5jxowZxMbG8vHHH7N27VrOOussCgoKOHz4MKpKfn4+CxcupH379sybNw9wOgvcv38/l112GS+99BKZmZkcOnSIkpISiouLWbZsGcuWLaNNmzb87W9/C8RaUlLCVVddxcKFC/ntb3/LV199xUcffQRQrp53nQYOHFijz726wn0GwYqLi6v1/ySS5LALONEz3gnYU0n9ecCzVbS5HygE3nHH38A5SgBARIbiXJMYrKpHQjWgqs8DzwP069dPs7KyqlhkRTk5OWRlZcGht2HDt9SkjfoQiKuJsbjK+/rrr4914zxqesg6te2yu6oOH5544gneecf5b7R7927+85//EBUVxYQJE4iJieGGG27g4osvJjk5mejoaK699lqSk5M5++yzyc/Pp7S0lPj4eMaMGRN4GNCKFSu44447SE5OJjMzk7S0NL777jvS09N59dVXSU9P5+abbw48AyGU+Ph4fvWrXwXaPOecc1i/fj1Lly4lOzubs88+G3AS++7du+nWrVvgGRD+7RUdHU1iYmLY7ffpp59y5513kpyczJlnnkl6enqgvoiQlJTEgAEDmDp1Ko888ggjR47krLPOYs2aNZxwwgmBvxl/+wkJCQwbNizQsZ831rKyMgoLCwOxRkVFBeYLt04N1VV7pH9jCQkJ9OnTJ+J2I0kOK4CuItIF2A1cAVzlrSAiXVV1kzt6IbCJSqiqisjfgSxgCXAusN5tqw/wf8AIVW2YnxAlpULBD1CbUwDGNLCcnBwWL17M8uXLadmyJVlZWSH78vc+CyH4uQj+8Uifv7Bp0yaSkpLYs6ey74fhl6Wq3Hfffdx8883lpm3btq3C8w4iEe45D36nnHIKq1atYsGCBdx3332Bfp3CzRe8HfyxenfA27ZtKzdPuHX6savygrSqlgCTgEXA18BfVXWdiDwsIv5nEk4SkXUishrnukPglJKIbMP59dIEEdnl+aXTPcA0EfkK53TS/3PLHwOSgDfcn8bOr/VaViWpA6BQuL/eF2VMXcnLy+O4446jZcuWfPPNN4HnL5eVlQX69Z87dy6DBg0KzPP6668DsHz5clq1ahWyG+uzzz6bOXPmALBx40Z27NjBqaeeSl5eHpMnT+bDDz9k//79VT474N1336W4uJj9+/eTk5ND//79GT58OLNnzyY/Px9wjnb27q3Zd0BvnGvXrg08C8Jrz549tGzZkmuuuYa7776bzz//nG7durFnzx5WrFgBON+8Q12ADhdrcnJyudM4dblOTUlEX5NVdQGwIKjsAc/w5ErmTQtTvh04O0T50EhiqlPeLjSSUxt88cbUxIgRI3juuedIT0/n1FNPDTyWMzExkXXr1pGZmUmrVq0CCQHguOOO45e//GXggnQot912G7fccgu9e/cmJiaGl19+mfj4eG699VZuu+02TjnlFGbNmsWQIUM4++yzA6eOgg0YMIALL7yQHTt2MHXqVE444QROOOEEvv76a84880wAkpKS+Mtf/lKj52zfeuutXHfddaSnp5ORkcGAAQMq1FmzZg3/9V//RVRUFLGxsYHeWV9//XXuuOMOioqKaNGiBYsXL64w77BhwwKxlpWVkZKSwl/+8hdOPvlkBg4cSK9evTj//PN57LHHQq5TuO3yoxGuL+8f06tWz3NQVd2+XPXBFNVN/6pRO3XNnptQPfY8h/ISExNDlg8ePFhXrFihqvUf14MPPqiPPfZYtedrqs9NaKpxqdbf8xys+wxwngYH1oWGMca47OorWOd75ifFf+47WH383Pell17iqaeeKlc2cOBAZs6cWWfLWLRoEffcc0+5si5dugR+pWXqhyUHgPgkiG1pycGYarruuuu47rrr6nUZw4cPZ/jw4fW6DFORnVbyS+pgne8ZY4zLkoNfYgfrQsMYY1yWHPySOljne8YY47Lk4JeUakcO5kfl6aefpnv37lx99dXMnz+fRx+tvJM+r+3btzN37tyQ07Zt2xZ2WiRycnIYOXJkjec3TYMlB7+kDlB0AEp9jR2JMRF55plnWLBgAXPmzGHUqFHce2+F53CF7Xp6x44d9ZYcqquhuglvCt2R/5hYcvALPBHOTi2Zpu+WW25h69atjBo1iieffJKXX36ZSZMmATBhwgSmTJnCkCFDuOeee/j3v/9NRkYGGRkZ9OnTh8OHD/Pggw/y0UcfkZGREegF1e/ee+8tN23btm2cddZZ9O3bl759+7Js2TIAxo0bx7vvvhuYz38E43XgwAHGjBlDeno6Z5xxRqCLi2nTpjFx4kSGDRvGtddeW26e/Px8zj33XPr27Uvv3r0Dy9i2bRvdunVj/PjxpKenc+mll1JY6Dz6JS0tjXvuuYcBAwYwYMAANm/eHHJbhIvnzjvv5OGHHwacn876O9trzuynrH6Jni40Uk5o3FjMj87vP/s93xz4pkJ5aWlpjbqGAOjWphv3DLgn5LTnnnuOhQsXkp2dTbt27Sp0hbFx40YWL15MdHQ0F110ETNnzmTgwIHk5+eTkJDAQw89xDPPPMN7771Xoe1HH32Uxx9/PDCtsLCQf/3rXyQkJLBp0yauvPJKVq5cyY033siTTz7J6NGjycvLY9myZbzyyissXbo00NaDDz5Inz59+Nvf/saSJUu49tprWb16NQCrVq1i6dKltGjRotzyExISeOedd0hJSeGHH37gjDPOYNQopxu3DRs2MGvWLAYOHMj111/PM888w913Ow+aTElJ4bPPPuPPf/4zv/71rwPxe7fFHXfcETKeRx99lP79+3PWWWdx5513smDBAqKimvd35+a99l6BG+HsyMH8+I0dOzaQlAYOHMiUKVN4+umnyc3NJSamet8JfT4fN910E71792bs2LGsX78egMGDB7N582b27t3La6+9xiWXXFKh7aVLlzJunPOYlnPOOYf9+/eTl5cHwKhRoyokBnC69PnNb35Deno6Q4cOZffu3Xz/vXM98MQTTww8J+Gaa64pl4iuvPLKwPvy5ctDbotw8bRs2ZIXXniB8847j0mTJnHyySdXaxv9FNmRg1+SvwsNuyhtqi/cN/zaPs+hprxdT997771ceOGFLFiwgDPOOCNkJ3OVefLJJ0lNTeXLL7+krKyMhISEwLRx48YxZ84c5s2bx+zZsyvMqyG6/w7VTbjXnDlz2LdvH6tWrSI2Npa0tLRAV+ThuhyvbLiq7sj9ddesWUPbtm0j6o68ObAjBz//aSW7Ec78xGzZsoXevXtzzz330K9fP7755huSkpLCPj0suEvqvLw8jj/+eKKionj11VcpLS0NTJswYQJ//OMfAejZs2eFtrzdaufk5NCuXTtSUlIqjTcvL48OHToQGxtLdnY227dvD0zbsWNH4KjgtddeC9kd+euvvx7oITXSeLZv384TTzzBF198wT//+U8+/fTTSmNsDuzIwS+uJcSnWBca5ifnj3/8I9nZ2URHR9OjRw/OP/98CgoKiImJ4bTTTmPChAncddddgfrp6enlpt12221ccsklvPHGGwwZMqTcN/HU1FS6d+/OmDFjQi572rRpgW61W7ZsySuvvFJlvFdffTUXXXQR/fr1IyMjg27dugWmde/enVdeeYWbb76Zrl27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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# comparison to large-degree formula\n", "z = 0.9\n", "fx = lambda D: D**0.5 * 0.25 * (erf(2**-0.5 * (1/z + D**-0.5))**2 - erf(2**-0.5 * (1/z - D**-0.5))**2)\n", "# from taylor series expansion (note: this matches the expression from asymptotic analysis, z -> 1/2k)\n", "taylor = 2*pi**-0.5 * exp(-0.5 /z/z) * erf(2**-0.5 /z) * 2**-0.5\n", "\n", "inps = np.linspace(100, 20000)\n", "plt.plot(inps, fx(inps), label=\"HRSS large-degree formula\")\n", "plt.plot(inps, [D**0.5*approx_perf_discrete(z, D, [-1, 1]) for D in inps], label=\"approx_perf_discrete\")\n", "plt.plot(inps, [taylor for _ in inps], label='first taylor approx')\n", "plt.grid()\n", "plt.legend()\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#hrss, modified for triangles\n", "inps = range(2, 30, 1)\n", "plt.plot(inps, [D**0.5*approx_perf_discrete(1.1, D, [-1, 1], 3) for D in inps])\n", "plt.grid()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# try triangles\n", "ns = np.random.triangular(0, 1, 1, 100)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "inps = range(100, 2000, 20)\n", "plt.plot(inps, [D**0.5*approx_perf_discrete(1.1, D, list(ns) + list(-ns)) for D in inps])\n", "plt.grid()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "inps = range(100, 1000, 10)\n", "plt.plot(inps, [D**0.5*approx_perf_discrete(1.1, D, [-1, 0, 1]) for D in inps])\n", "plt.grid()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# with triangles\n", "inps = range(3, 50)\n", "plt.plot(inps, [D**0.5*approx_perf_discrete(1.1, D, [-1, 0, 1], 5) for D in inps])\n", "plt.grid()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# squared uniform distribution\n", "r = (2*np.random.sample(10) - 1)**2\n", "ns = list(r) + list(-r)\n", "zs = np.linspace(0.01, 3, 80)\n", "for D in [200, 1000,4000, 100000]:\n", " plt.plot(zs, [D**0.5*approx_perf_discrete(z, D, ns) for z in zs], label=\"D=\" + str(D))\n", "plt.grid()\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# random inputs\n", "zs = np.linspace(0.01, 3, 80)\n", "for D in [200, 1000,4000, 100000]:\n", " plt.plot(zs, [D**0.5*approx_perf_discrete(z, D, [0.8, 0.7, 0.6, -0.6, -0.7, -0.8]) for z in zs], label=\"D=\" + str(D))\n", "plt.grid()\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "inps = range(100, 2000, 10)\n", "ns = np.random.normal(size=10)\n", "plt.plot(inps, [D**0.5*approx_perf_discrete(1, D, np.concatenate((ns, -ns))) for D in inps])\n", "plt.grid()\n", "# normal performs much better than I expected" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "non symmetric distributions?" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ns = np.random.triangular(-1, , 1, 30)\n", "ns = list(ns) + [-sum(ns)]\n", "inps = range(100, 2000, 20)\n", "plt.plot(inps, [D**0.5*approx_perf_discrete(1, D, ns) for D in inps])\n", "plt.grid()\n", "plt.figure()\n", "\n", "# random inputs\n", "zs = np.linspace(0.01,3, 80)\n", "for D in [200, 1000,4000, 100000]:\n", " plt.plot(zs, [D**0.5*approx_perf_discrete(z, D, ns) for z in zs], label=\"D=\" + str(D))\n", "plt.grid()\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ns = [-1, -0.5, 0.5, 1]\n", "inps = range(100, 2000, 20)\n", "plt.plot(inps, [D**0.5*approx_perf_discrete(1, D, ns) for D in inps])\n", "plt.grid()\n", "plt.figure()\n", "\n", "# random inputs\n", "zs = np.linspace(0.01,3, 80)\n", "for D in [200, 1000,4000, 100000]:\n", " plt.plot(zs, [D**0.5*approx_perf_discrete(z, D, ns) for z in zs], label=\"D=\" + str(D))\n", "plt.grid()\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": 101, "metadata": {}, "outputs": [], "source": [ "def simple(f, g, p, D):\n", " \"\"\"z=1, using alpha * (D-1) triangles\"\"\"\n", " # goal is to minimize this fn\n", " erff = erf(2**-0.5 * (f-p))\n", " erfg = erf(2**-0.5 * (g-p)) \n", " return erff * erfg - (2/pi)**0.5 * (D-1)**-0.5 * (f*erff * exp(-0.5 * (g-p)**2) + g*erfg * exp(-0.5 * (f-p)**2))\n" ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 102, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "inps = np.linspace(5, 100)\n", "plt.plot(inps, [simple(1, 1, 0, d) for d in inps])" ] }, { "cell_type": "code", "execution_count": 103, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 103, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# erf(x)erf(y) sums to 0 for symmetric distributions\n", "# erf(x+p) erf(y+p) ?\n", "# erf(x+p) sum erf(p+s)erf(p-s)\n", "\n", "inps = np.linspace(-5, 5, 1000)\n", "for p in [-1, -0.5, -0.2, 0, 0.2, 0.5, 1]:\n", " plt.plot(inps, erf(p+inps)+erf(p-inps), label=\"p=\" + str(p))\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": 134, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ps = np.linspace(-1, 1, 100)\n", "plt.plot(ps, [sum(erf(2**-0.5*(p+inps))+erf(2**-0.5*(p-inps)))/len(inps) for p in ps])\n", "plt.grid()\n" ] }, { "cell_type": "code", "execution_count": 161, "metadata": {}, "outputs": [], "source": [ "def calc(p):\n", " fx = lambda f,g: erf((f-p)*2**-0.5)*erf((g-p)*2**-0.5)\n", " out = fx(1,1) + fx(1,-1) + fx(-1,1) + fx(-1,-1)\n", " return out/p/p/4" ] }, { "cell_type": "code", "execution_count": 163, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 163, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# for hrss, it's approximately 0.234 p^2 ... i.e. 2/pi e p^2 = 2/pi e alpha as expected\n", "ps = np.linspace(-1, 1, 100)\n", "plt.plot(ps, calc(ps))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "the claim is that \n", "$P = 0.5 - 0.5 erfstuff$, which as D to infty, approaches $0.5 - 0.5*0.234*alpha$" ] }, { "cell_type": "code", "execution_count": 167, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.11709966304863834" ] }, "execution_count": 167, "metadata": {}, "output_type": "execute_result" } ], "source": [ "0.5 * 2/pi/e" ] }, { "cell_type": "code", "execution_count": 135, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 135, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(ps, [sum(erf(2**-0.5*(p+inps)))/len(inps) for p in ps])" ] }, { "cell_type": "code", "execution_count": 157, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.23419932609727667" ] }, "execution_count": 157, "metadata": {}, "output_type": "execute_result" } ], "source": [ "2/pi/exp(1)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# verifying" ] }, { "cell_type": "code", "execution_count": 186, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.005965790127283934" ] }, "execution_count": 186, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fn(100, 100/2 + 100**0.5)" ] }, { "cell_type": "code", "execution_count": 191, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.11709966304863834" ] }, "execution_count": 191, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# guess: performance - 0.5 approaches 1/2 * 0.234 alpha = 0.234 / jump" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# z = 1 = 1/2k, k ~ 0.5\n", "jump = 2\n", "ds = range(jump, 300*jump, 5*jump)\n", "outs = []\n", "for d in ds:\n", " y=int((d-1)/jump)\n", " fn = calc_performance_y_triangles_curried(y)\n", " outs.append(fn(d, d/2 + 0.5*d**0.5))\n", "plt.plot(ds, outs)\n", "plt.plot(ds, [-1/pi/e/jump]*len(ds))\n", "plt.grid()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "if z = 1/2k, then 1/z -> 2k ... (1/z) squared -> 4k^2" ] }, { "cell_type": "code", "execution_count": 250, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "zs = np.linspace(0.1, 2, 100)\n", "plt.plot(zs, exp(1/zs/zs))\n", "plt.yscale('log')\n", "plt.grid()" ] }, { "cell_type": "code", "execution_count": 249, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# z = 1 = 1/2k, k ~ 0.5\n", "z=0.4\n", "jump = 2\n", "ds = range(jump, 300*jump, 5*jump)\n", "outs = []\n", "for d in ds:\n", " y=int((d-1)/jump)\n", " fn = calc_performance_y_triangles_curried(y)\n", " outs.append(fn(d, d/2 + 1/(2*z) *d**0.5))\n", "plt.plot(ds, outs)\n", "plt.plot(ds, [-1/pi/exp(1/z/z)/jump]*len(ds))\n", "plt.grid()" ] }, { "cell_type": "code", "execution_count": 325, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/kunal/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:14: RuntimeWarning: overflow encountered in double_scalars\n", " \n", "/home/kunal/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:14: RuntimeWarning: invalid value encountered in double_scalars\n", " \n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# z = 1 = 1/2k, k ~ 0.5\n", "z=1\n", "jump = 2\n", "ds = range(5*jump, 400*jump, 5*jump)\n", "outs = []\n", "for d in ds:\n", " y=int((d-1)/jump)\n", " fn = calc_performance_y_triangles_curried(y)\n", " outs.append(d*fn(d, d/2 + 1/(2*z) *d**0.6666))\n", "plt.plot(ds, outs)\n", "# plt.plot(ds, [-1/pi/exp(1/z/z)/jump]*len(ds))\n", "plt.grid()" ] }, { "cell_type": "code", "execution_count": 320, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'looking for k, $t - D/2$')" ] }, "execution_count": 320, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# z = 1 = 1/2k, k ~ 0.5\n", "jump = 2\n", "ds = range(10*jump, 200*jump, 10*jump)\n", "outs = []\n", "args = []\n", "for d in ds:\n", " y=int((d-1)/jump)\n", " fn = calc_performance_y_triangles_curried(y)\n", " outs.append(max(test_all_thresholds(d, fn))*d)\n", " args.append((np.argmax(test_all_thresholds(d, fn)) - d/2)*d**-(2/3))\n", "plt.plot(ds, outs)\n", "# plt.plot(ds, [-1/pi/e/jump]*len(ds))\n", "plt.grid()\n", "plt.title(\"performance over D\")\n", "plt.figure()\n", "plt.plot(ds, args)\n", "plt.grid()\n", "plt.title('looking for k, $t - D/2$')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# seems like best is around D^ - 2/3 ... but this is still a very fast decay!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "performance is 0.52/D + O(1/D^2)... by the time D > 1000, it's over maybe" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.4" } }, "nbformat": 4, "nbformat_minor": 4 }