{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Polynomial Interpolation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import scipy.linalg as la\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Interpolation with the Vandermonde matrix"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Given $d+1$ data points $(x_0,y_0), \\dots , (x_d,y_d)$ there exists a unique polynomial of degree $d$\n",
    "\n",
    "$$\n",
    "p(t) = c_0 + c_1 x + \\cdots + c_d x^d\n",
    "$$\n",
    "\n",
    "such that $p(x_k) = y_k$ for each $k=0,\\dots,d$. The coefficients $c_k$ are unknown and each data point gives us an equation of the form $\\sum_{i=0}^{d} c_i x_{k}^{i} = y_k$, pour $k=0,\\dotsc,d$. This gives a linear system of the form\n",
    "\n",
    "$$(S):~~~\\left\\{\n",
    "\\begin{align*}\n",
    "c_0 + c_1x_1 + \\cdots + c_d x_1^d &= y_1 \\\\\n",
    "c_0 + c_1x_2 + \\cdots + c_d x_2^d &= y_2 \\\\\n",
    "& \\vdots \\\\\n",
    "c_0 + c_1x_d + \\cdots + c_d x_d^d &= y_d\n",
    "\\end{align*}\n",
    "\\right.\n",
    "$$\n",
    "\n",
    "which can be recast as $A \\boldsymbol{c} = \\boldsymbol{y}$\n",
    "\n",
    "$$\n",
    "\\underbrace{\\begin{bmatrix}\n",
    "1 & x_1 & \\cdots & x_1^d \\\\\n",
    "1 & x_2 & \\cdots & x_2^d \\\\\n",
    "\\vdots & \\vdots & \\ddots & \\vdots \\\\\n",
    " 1 & x_d & \\cdots & x_d^d\n",
    "\\end{bmatrix}}_{A}\n",
    "\\underbrace{\\begin{bmatrix} c_0 \\\\ c_1 \\\\ \\vdots \\\\ c_d \\end{bmatrix}}_{\\boldsymbol{c}}\n",
    "=\n",
    "\\underbrace{\\begin{bmatrix} y_0 \\\\ y_1 \\\\ \\vdots \\\\ y_d \\end{bmatrix}}_{\\boldsymbol{y}}\n",
    "$$\n",
    "\n",
    "The matrix $A$ is called a [Vandermonde matrix](https://en.wikipedia.org/wiki/Vandermonde_matrix)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example \n",
    "\n",
    "Consider the three points $(-1,1),(0,0),(1,1)$. One easily checks that $p(t) = t^2$ is the unique polynomial which interpolates these points. Let's create the matrix A using [`numpy.vander`](https://numpy.org/doc/stable/reference/generated/numpy.vander.html) and solve the system (S) using [`scipy.linalg.solve`](https://docs.scipy.org/doc/scipy/reference/generated/scipy.linalg.solve.html)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "A=\n",
      " [[ 1 -1  1]\n",
      " [ 1  0  0]\n",
      " [ 1  1  1]]\n",
      "c =  [0. 0. 1.]\n"
     ]
    }
   ],
   "source": [
    "#Data points\n",
    "x = np.array([-1,0,1])\n",
    "y = np.array([1,0,1])\n",
    "# Vandermonde matrix\n",
    "A = np.vander(x,increasing=True)\n",
    "print('A=\\n',A)\n",
    "#solution of the system\n",
    "c = la.solve(A,y)\n",
    "print('c = ', c)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The solution corresponds to the coefficients $c_0=0$, $c_1=0$ and $c_2=1$. That is $p(t) = t^2$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhYAAAGdCAYAAABO2DpVAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOlhJREFUeJzt3Xt8z/X///H7e7ONzSysOTWnnIqKUESpRAd8dHZKihRJoQjlMCVJiVJOofrV0CcUH5T1zamQw4eIcuqkkCSbjNn2fv3+eH5myTZ7z/u91/v12u16ubwve73fe71fezy9bLvv9XoePJZlWQIAAPCDELsLAAAA7kGwAAAAfkOwAAAAfkOwAAAAfkOwAAAAfkOwAAAAfkOwAAAAfkOwAAAAflOssL+g1+vV/v37FR0dLY/HU9hfHgAAFIBlWTp27JgqVqyokJDcr0sUerDYv3+/4uPjC/vLAgAAP9i3b58uuuiiXD9f6MEiOjpakimsVKlSfjtuenq6li1bptatWyssLMxvxw0mbm8j7XM+t7eR9jmf29sYyPalpKQoPj7+9O/x3BR6sMi6/VGqVCm/B4vIyEiVKlXKlf9ZJPe3kfY5n9vbSPucz+1tLIz2nasbA503AQCA3xAsAACA3xAsAACA3xAsAACA3xAsAACA3xAsAACA3xAsAACA3xAsAACA3xAsAACA3xAsAACA3xAsAACA3xAsAACA3xAsAABwiUGDQjR/fg399Zd9NRAsAABwgd27pddeC9G779bVt9/mvQJpIBEsAABwgVGjJK/Xo0aNDqpxY8u2OggWAAA43HffSYmJZrtjx+9srYVgAQCAw5mrFVK7dl7VqJFsay0ECwAAHGz7dmnOHLM9bFimvcWIYAEAgKMlJEiWJd15p1S/vt3VECwAAHCsbdukf//bbI8caWsppxEsAABwqKwwce+90mWX2VrKaQQLAAAcaMsWaf58yeORRoywu5psBAsAABxo+HDzsUMH6dJL7a3l7wgWAAA4zPr10qJFUkhI8PStyEKwAADAYYYNMx+7dpVq17a3ln8iWAAA4CCrV0vLlknFimXfDgkmBAsAABzCsrKvVnTvLlWvbm89OSFYAADgEJ9/Lq1cKYWHS88+a3c1OSNYAADgAJaVHSZ69ZLi4+2tJzcECwAAHGDpUmndOqlECWnIELuryR3BAgCAIPf3vhWPPSaVL29vPXkhWAAAEOTmz5f++1+pZElp0CC7q8kbwQIAgCCWmZl9taJ/fyk21t56zoVgAQBAEEtMlL79VipdWnrySburOTeCBQAAQerUqewFxgYNkmJi7K0nPwgWAAAEqZkzpR9+kMqVk/r2tbua/CFYAAAQhE6ckJ57zmw/84wUFWVvPflFsAAAIAhNnizt3y9Vriw9/LDd1eQfwQIAgCBz7Jg0ZozZHjFCioiwtx5fECwAAAgyEyZIhw9LtWpJ999vdzW+IVgAABBE/vhDevlls52QYJZHdxKCBQAAQeTFF6WUFKl+fenee+2uxncECwAAgsSvv0qTJpnt0aOlEAf+lnZgyQAAuNOoUdLJk1Lz5tKtt9pdTcEQLAAACAK7dkkzZpjtMWMkj8feegqKYAEAQBAYPtwsONamjbli4VQECwAAbLZ5szR3rtkePdreWs6XT8EiIyNDzz77rKpVq6YSJUqoevXqGjVqlLxeb6DqAwDA9Z55xnzs1Em64gp7azlfPo2OHTt2rKZMmaJ33nlHdevW1caNG/Xggw8qJiZGTzzxRKBqBADAtVatkpYuNfNVjBpldzXnz6dgsXbtWrVv315t2rSRJFWtWlWzZ8/Wxo0bA1IcAABuZlnS00+b7YcekmrUsLcef/ApWDRv3lxTpkzRrl27VKtWLX399df64osvNGHChFzfk5aWprS0tNPPU1JSJEnp6elKT08vWNU5yDqWP48ZbNzeRtrnfG5vI+1zvmBr48cfe7RuXTFFRloaMiRD51tWINuX32N6LMuy8ntQy7I0dOhQjR07VqGhocrMzNTo0aM1ZMiQXN8zcuRIJSQknPV6YmKiIiMj8/ulAQBwlcxMj5544gb98ku07r57l+6771u7S8pTamqqOnfurOTkZJUqVSrX/XwKFnPmzNHAgQM1btw41a1bV1u2bFG/fv00fvx4devWLcf35HTFIj4+XocPH86zMF+lp6crKSlJrVq1UlhYmN+OG0zc3kba53xubyPtc75gauOsWR498kgxlSljaefODMXEnP8xA9m+lJQUxcbGnjNY+HQrZODAgRo8eLA6duwoSbrsssv0008/acyYMbkGi4iICEXksN5rWFhYQE5qoI4bTNzeRtrnfG5vI+1zPrvbeOJEdkfNZ57xKDbWv7UEon35PZ5Pw01TU1MV8o+Jy0NDQxluCgCADyZNMuuCxMdLjz5qdzX+5dMVi3bt2mn06NGqXLmy6tatq82bN2v8+PHq3r17oOoDAMBVjh41U3ZL5qpF8eK2luN3PgWL119/XcOGDdOjjz6qQ4cOqWLFinrkkUc0fPjwQNUHAICrjB0r/fmnVLeu1LWr3dX4n0/BIjo6WhMmTMhzeCkAAMjZL79IWb9CX3hBCg21tZyAYK0QAAAKyYgR2cuit2tndzWBQbAAAKAQbN8uvf222X7pJecui34uBAsAAArB4MGS1yvdeafUtKnd1QQOwQIAgABbuVL6z39Mn4qsESFuRbAAACCALEsaNMhsP/ywVKuWvfUEGsECAIAA+vBDaf16KSrKdN50O4IFAAABcuqUNHSo2X7qKalcOXvrKQwECwAAAmTaNGnPHhMonnzS7moKB8ECAIAASE6WRo402yNGSNHRtpZTaAgWAAAEwIsvSn/8IdWpI/XsaXc1hYdgAQCAn+3blz1199ixUjGfFtBwNoIFAAB+9uyzZuru665z79TduSFYAADgR1u2SP/v/5ntl19279TduSFYAADgJ5YlDRxoPnbsKDVubHdFhY9gAQCAn3z6qfTZZ1J4uFkWvSgiWAAA4AeZmeZqhST17StVq2ZvPXYhWAAA4AczZ0rffCOVLp0922ZRRLAAAOA8HTsmDRtmtkeMkMqUsbceOxEsAAA4T2PHSr/9JtWoIfXubXc19iJYAABwHvbtk155xWy/9JLpuFmUESwAADgPzzxjJsO69lrp9tvtrsZ+BAsAAApo48bsybDGjy96k2HlhGABAEABWFb2Uuj33Sc1amRvPcGCYAEAQAF89JG0apVUvHjRnQwrJwQLAAB8lJaWPRnWgAFSfLy99QQTggUAAD6aNEnau1cqX14aPNjuaoILwQIAAB/8/rs0apTZHj1aio62t55gQ7AAAMAHI0ZIKSlSgwZSt252VxN8CBYAAOTTN99IU6ea7VdflUJD7a0nGBEsAADIB8syHTW9XunOO6UWLeyuKDgRLAAAyIclS6SkJDNl90sv2V1N8CJYAABwDunp2ZNhPfGEdPHF9tYTzAgWAACcwxtvSDt3ShdeaNYGQe4IFgAA5OH336WRI8326NFSTIyt5QQ9ggUAAHkYPlxKTpbq15e6d7e7muBHsAAAIBdffy1Nm2a2J05keGl+ECwAAMiBZUn9+pnhpffeK113nd0VOQPBAgCAHCxYIK1YYVYvZXhp/hEsAAD4h5Mns4eXDhwoValibz1OQrAAAOAfxo+XfvxRqlRJevppu6txFoIFAAB/88svZlipJI0dK0VF2VuP0xAsAAD4m0GDpNRUqVkzqXNnu6txHoIFAAD/s3q1NHu25PFIr79uPsI3BAsAACRlZkp9+5rthx+WGjSwtx6nIlgAACBp+nQzIdYFF0jPP293Nc5FsAAAFHlHjmQvLvbcc1JsrL31OBnBAgBQ5A0fbsJFvXpSr152V+NsBAsAQJH29dfS5Mlm+7XXpGLF7K3H6QgWAIAiy7Kkxx4z64Hcc490ww12V+R8BAsAQJH1/vvSF19IkZHSK6/YXY07ECwAAEVSSopZB0SShg2T4uPtrcctCBYAgCIpIUE6eFCqWVPq39/uatyDYAEAKHK2b5cmTjTbr78uRUTYW4+bECwAAEWKZUn9+4cqM1O6/Xbp5pvtrshdCBYAgCLlyy8rasWKEBUvLr36qt3VuA/BAgBQZBw7Js2cWU+SNHiwVLWqvfW4EcECAFBkPP98iI4cKaGLL7b09NN2V+NOBAsAQJHwzTfSa6+ZX3uvvpqp4sVtLsilCBYAANezLKlPHykz06Orrz6gW26x7C7JtQgWAADXe/99adUqqUQJSz16bLO7HFcjWAAAXO3oUempp8z20KFexcWdsLUetyNYAABcbfhw6bffpNq1pf79vXaX43oECwCAa23eLL3xhtl+4w0pPNzeeooCn4PFr7/+qvvuu09ly5ZVZGSk6tevr02bNgWiNgAACiwzU+rVyyyJ3qGD1LKl3RUVDcV82fnPP/9Us2bNdMMNN2jp0qWKi4vT3r17dcEFFwSoPAAACmb6dGn9eqlUKWn8eLurKTp8ChZjx45VfHy8Zs2adfq1qkxbBgAIMr/9ZmbWlKTnn5cqVrS3nqLEp2CxcOFC3Xzzzbrnnnu0cuVKVapUSY8++qh69uyZ63vS0tKUlpZ2+nlKSookKT09Xenp6QUs+2xZx/LnMYON29tI+5zP7W2kfc4xYECokpNDdOWVXvXsmamsJrmpjTkJZPvye0yPZVn5niWk+P+mKRswYIDuuecerV+/Xv369dPUqVN1//335/iekSNHKiEh4azXExMTFRkZmd8vDQBAvmzdGqvhw5vJ47E0btwq1ahx1O6SXCE1NVWdO3dWcnKySpUqlet+PgWL8PBwNWrUSGvWrDn92uOPP64NGzZo7dq1Ob4npysW8fHxOnz4cJ6F+So9PV1JSUlq1aqVwsLC/HbcYOL2NtI+53N7G2lf8EtLkxo2LKZduzzq3TtTEyeeObzUDW3MSyDbl5KSotjY2HMGC59uhVSoUEGXXnrpGa9dcsklmjdvXq7viYiIUERExFmvh4WFBeSkBuq4wcTtbaR9zuf2NtK+4DV2rLRrl1SunPTCC6EKCwvNcT8ntzE/AtG+/B7Pp+GmzZo1086dO894bdeuXapSpYovhwEAwO/27DEdNSUzCoQBi/bwKVj0799f69at0wsvvKA9e/YoMTFR06ZNU58+fQJVHwAA52RZUu/e5lZIq1ZSp052V1R0+RQsGjdurAULFmj27NmqV6+ennvuOU2YMEFdunQJVH0AAJxTYqL02WdS8eLS5MmSx2N3RUWXT30sJKlt27Zq27ZtIGoBAMBnR45I/fub7WHDpIsvtreeoo61QgAAjjZokPT771LdutmrmMI+BAsAgGOtWiXNmGG2p05lkbFgQLAAADjSqVNmkTFJevhhqVkze+uBQbAAADjSiy9K334rxcWZbQQHggUAwHG+/VYaPdpsT5wolS5tbz3IRrAAADiK12tufZw6Jd12m9Shg90V4e8IFgAAR3nrLemLL6SoKOnNN5mzItgQLAAAjnHggBleKpnpu1lRIvgQLAAAjtG3r5ScLDVubLYRfAgWAABH+Phjad48KTRUmj7dfETwIVgAAIJecrKUtd7lwIHSFVfYWw9yR7AAAAS9p5+Wfv1VqlFDGj7c7mqQF4IFACCorVhhpuuWzC2QEiVsLQfnQLAAAAStEyeknj3N9iOPSNdfb2s5yAeCBQAgaI0cKe3ZI1WsKI0da3c1yA+CBQAgKG3cKL38stmeMkWKibG3HuQPwQIAEHTS06UePcz03R06SO3a2V0R8otgAQAIOi+9JG3dKpUpI732mt3VwBcECwBAUNm+XRo1ymxPnGiWRYdzECwAAEEjI0N68EGzcmnbtlKXLnZXBF8RLAAAQePVV6UNG0xHzSlTWLnUiQgWAICgsHOnNGyY2R4/XqpUyd56UDAECwCA7TIzpe7dpbQ0qXVrczsEzkSwAADYbtIkac0aqWRJM203t0Cci2ABALDVnj3S0KFme9w4qXJle+vB+SFYAABs4/Wa2x6pqdINN0gPP2x3RThfBAsAgG1ee0364gtzC2TmTCmE30qOxykEANhi167sWyAvvyxVrWprOfATggUAoNBlZppbICdOSDfdxC0QNyFYAAAK3cSJZhRIdLT01luMAnETggUAoFDt3Ck984zZHj9eqlLF3nrgXwQLAEChyciQunWTTp6Ubr7ZLI0OdyFYAAAKzUsvSV99ZdYCYSIsdyJYAAAKxddfSyNHmu3XX5fi420tBwFCsAAABFxamnT//VJ6unTHHdJ999ldEQKFYAEACLiEBGnrVunCC1kO3e0IFgCAgFq7Vho71mxPnSrFxdlbDwKLYAEACJjjx80oEK9X6trV3AaBuxEsAAABM2iQtHu3VKmSmRQL7kewAAAExNKl0ptvmu2335ZKl7a1HBQSggUAwO/++EPq3t1sP/GEWQ8ERQPBAgDgV5YlPfKIdPCgdMkl0pgxdleEwkSwAAD41XvvSfPmScWKme0SJeyuCIWJYAEA8JuffpIee8xsJyRIV15pbz0ofAQLAIBfZGaa2TVTUqRrrjEjQlD0ECwAAH4xbpy0apVUsqT07rvmVgiKHoIFAOC8bdwoDRtmtl9/Xbr4YnvrgX0IFgCA83L8uNSli5SRId19t5lpE0UXwQIAcF6efFLatcvMrjl1KguMFXUECwBAgS1cmB0m3n1XKlPG7opgN4IFAKBADhyQevQw208+Kd14o731IDgQLAAAPvN6zdDSw4el+vWl55+3uyIEC4IFAMBnr7wiffaZFBkpzZ4tRUTYXRGCBcECAOCTjRuloUPN9sSJUp069taD4EKwAADk219/SZ06maGld92V3ccCyEKwAADkW9++0p49Uny8NH06Q0txNoIFACBf5syR3n5bCgmR3n9fKl3a7ooQjAgWAIBz+v576eGHzfazz0rXXmtvPQheBAsAQJ5OnZI6dJCOHZOaN89eEwTICcECAJCnoUPNSJDSpaXERFYtRd4IFgCAXC1ZYuaskKRZs0ynTSAvBAsAQI5+/TV7pdK+faX27e2tB85AsAAAnCUzU7rvPjNld4MG0rhxdlcEpyBYAADO8txz0ooVUlSUGWbKlN3Ir/MKFmPGjJHH41G/fv38VA4AwG6ff+7RqFFme8oUqVYte+uBsxQ4WGzYsEHTpk3T5Zdf7s96AAA2OnIkQvffHyrLkh56yNwOAXxRoGDx119/qUuXLpo+fbpKM/UaALhCZqY0fnxDHTrk0WWXSa+9ZndFcKICjUbu06eP2rRpo5tuuknPP/98nvumpaUpLS3t9POUlBRJUnp6utLT0wvy5XOUdSx/HjPYuL2NtM/53N5Gt7dv1Cjpm28uVFSUpcTEDBUrJrmtqW4/h4FsX36P6bEsy/LlwHPmzNHo0aO1YcMGFS9eXNdff73q16+vCRMm5Lj/yJEjlZCQcNbriYmJioyM9OVLAwACZMuWC5WQ0FSW5VH//hvVosWvdpeEIJOamqrOnTsrOTlZpUqVynU/n4LFvn371KhRIy1btkxXXHGFJJ0zWOR0xSI+Pl6HDx/OszBfpaenKykpSa1atVJYWJjfjhtM3N5G2ud8bm+jW9v366/SVVcV0++/e9S69Y9asCDOVe37O7eewyyBbF9KSopiY2PPGSx8uhWyadMmHTp0SA0bNjz9WmZmplatWqVJkyYpLS1NoaGhZ7wnIiJCETmMUwoLCwvISQ3UcYOJ29tI+5zP7W10U/vS000Hzd9/ly6/3FKPHtsUFnaLa9qXGzedw5wEon35PZ5PwaJly5batm3bGa89+OCDqlOnjp5++umzQgUAILgNGSJ9+aVUqpQ0Z06Gdu3y2l0SHM6nYBEdHa169eqd8VpUVJTKli171usAgOA2f372OiBvvy3VqCHt2mVrSXABZt4EgCJo927pwQfN9lNPSXfcYW89cI/zXvx2xYoVfigDAFBYTpyQ7r5bSkmRmjeXXnjB7orgJlyxAIAixLKk3r2lrVuluDhp7lzJxX0YYQOCBQAUIVOnSu+8I4WESLNnSxUr2l0R3IZgAQBFxFdfSY8/brZffFG68UZ764E7ESwAoAg4dEi66y4zb8Wdd5oOm0AgECwAwOUyMqSOHc0Mm7VrS7NmSR6P3VXBrQgWAOByQ4dKy5dLUVFm7go/rqYAnIVgAQAu9sEH0rhxZnvWLOnSS+2tB+5HsAAAl9q27cxJsO65x956UDQQLADAhY4ckW6/XUpNlW66SRozxu6KUFQQLADAZTIzpU6dpO+/l6pWlebMkYqd9zzLQP4QLADAZZ59Vlq2TCpRQvroI6lsWbsrQlFCsAAAF/n3v83kV5I0c6Z0xRX21oOih2ABAC6xZYv0wANm+6mnzNwVQGEjWACACxw6JLVvbzpr3nxz9lULoLARLADA4U6dMsug//yzVLOmWVwsNNTuqlBUESwAwOEef1xavdrMqLlwoVS6tN0VoSgjWACAg02ebJZC93jMlYo6deyuCEUdwQIAHOrzz7OXQR8zRrrtNnvrASSCBQA40u7dpl9FRobUubM0aJDdFQEGwQIAHObPP6W2bc3Hq6+WZsxgGXQED4IFADhIerp0773Srl1SfLyZWbN4cburArIRLADAQfr3lz77TIqKkhYtksqXt7si4EwECwBwiDfflN54w9z2eO89putGcCJYAIADfPKJ1Lev2X7hBbMkOhCMCBYAEOS2bTP9KrxesxbI00/bXRGQO4IFAASxAwekNm2kY8ekG27IngwLCFYECwAIUqmp0r/+Je3bJ9WuLc2bJ4WH210VkDeCBQAEIa9X6tpV2rhRKltWWryYNUDgDAQLAAhCAwdK8+ebKxQffSRdfLHdFQH5Q7AAgCDz+uvS+PFme9YsqXlze+sBfEGwAIAg8vHH0hNPmO0xY8w6IICTECwAIEh89ZXUqZNkWdIjjzCsFM5EsACAILB3r9SunXTihFn+fNIkhpXCmQgWAGCz33+Xbr3VfLzySmnuXKlYMburAgqGYAEANjp+3EyAtXu3VKWK9J//SCVL2l0VUHAECwCwSdYS6Bs2mLkqPv1UqlDB7qqA80OwAAAbWJbUq5e0ZIlUooS5UlG7tt1VAeePYAEANhg+XJo5UwoJMX0qmjSxuyLAPwgWAFDI3nhDev55sz11qhkNArgFwQIACtHs2VLfvmY7IUF66CF76wH8jWABAIXk00+l++83/Ssee0waNszuigD/I1gAQCH46ivpzjuljAypY0dp4kQmwII7ESwAIMB27DCzaaamSq1bS++8YzptAm7Ef20ACKAffzRh4sgR6eqrpXnzzFLogFsRLAAgQA4ckG66Sfr1V+mSS6TFi5lVE+5HsACAADhyxFyp2LtXqlZN+uwzM7sm4HYECwDws2PHzKJi33xjpuj+7DOpYkW7qwIKB8ECAPzo5EmpfXtp/XpzhSIpSape3e6qgMJDsAAAPzl1Srr7bmn5cik6WvrkE6luXburAgoXwQIA/CAjQ+rUyXTQLFFCWrRIatTI7qqAwkewAIDzlJlpZtScP98MJf3oI6lFC7urAuxBsACA8+D1Sj17mjVAihWTPvzQjAYBiiqCBQAUkGWZBcVmzTIzac6ezUqlAMECAArAsqQnnpDefNOs+fHuu6bjJlDUESwAwEeWJfXvL73+ugkVM2ZIXbrYXRUQHAgWAOADy5IGDQrRxInm+fTp0oMP2lsTEEyK2V0AADiFZUlvv11XH38cKkmaOlXq0cPmooAgwxULAMgHy5KGDAnRxx/XkCRNniw9/LDNRQFBiCsWAHAOliUNGCBNmGCuVEycmKlevUJtrgoITlyxAIA8WJb0+OPShAnmee/eW9S7t9fWmoBgxhULAMiF1ys99pi57eHxSFOmZKhcuZ8ksQAIkBuuWABADrxeqVev7FAxc6b04IOW3WUBQY8rFgDwDxkZZgjpe++ZGTXfeUe67z4pPd3uyoDgR7AAgL85dUrq3FmaN8+s/fHee1KHDnZXBTiHT7dCxowZo8aNGys6OlpxcXG6/fbbtXPnzkDVBgCF6sQJ6Y47TKgIDzcfCRWAb3wKFitXrlSfPn20bt06JSUlKSMjQ61bt9bx48cDVR8AFIq//pLatpWWLJFKlJAWLZL+9S+7qwKcx6dbIZ988skZz2fNmqW4uDht2rRJ1113nV8LA4DCcuSI1KaNtG6dVLKktHixxI80oGDOq49FcnKyJKlMmTK57pOWlqa0tLTTz1NSUiRJ6enpSvdjT6isY/nzmMHG7W2kfc7nxDYeOCDddlsxbd/uUenSlhYtytRVV1k5dtR0Yvt84fb2Se5vYyDbl99jeizLKtD4Kcuy1L59e/35559avXp1rvuNHDlSCQkJZ72emJioyMjIgnxpAPCLgwcjNWLENfrttyiVLn1SI0euUZUqx+wuCwhKqamp6ty5s5KTk1WqVKlc9ytwsOjTp48WL16sL774QhdddFGu++V0xSI+Pl6HDx/OszBfpaenKykpSa1atVJYWJjfjhtM3N5G2ud8TmrjN99IbdoU04EDHlWvbmnJkgxVr573e5zUvoJwe/sk97cxkO1LSUlRbGzsOYNFgW6F9O3bVwsXLtSqVavyDBWSFBERoYiIiLNeDwsLC8hJDdRxg4nb20j7nC/Y27hmjemo+eef0mWXSZ9+6lGFCvmvN9jbd77c3j7J/W0MRPvyezyfRoVYlqXHHntM8+fP1+eff65q1aoVqDgAsMuiRVLLliZUNGkirVghVahgd1WAe/h0xaJPnz5KTEzUxx9/rOjoaB08eFCSFBMToxIlSgSkQADwl5kzzVLnmZlmFMjcuVJUlN1VAe7i0xWLyZMnKzk5Wddff70qVKhw+jF37txA1QcA582ypNGjpR49TKh48EFpwQJCBRAIPl2xKGA/TwCwTWam9MQT0htvmOdDhpiQ4fHYWxfgVqwVAsC1UlOlTp2khQtNkJgwQXr8cburAtyNYAHAlQ4dktq1k9avl4oXN4uJ3XWX3VUB7kewAOA6O3dKt90mff+9VLasuWJxzTV2VwUUDT513gSAYLd6tQkR338vVa9u5qwgVACFh2ABwDXefdfMUXHkiHTVVdLatVKtWnZXBRQtBAsAjuf1Ss8+K3XrJqWnS3ffLS1fLsXF2V0ZUPTQxwKAo504IT3wgPTBB+b5kCHS889LIfzZBNiCYAHAsfbvl+64w4z8CAuTpk0zIQOAfQgWABxpwwbp9ttNuChTRpo/X2rRwu6qAHCxEIDjJCZK111nQsWll5orFoQKIDgQLAA4htcrDR0qdekinTxplj5fu1a6+GK7KwOQhVshABzh6FETKJYsMc8HDZJeeEEKDbW1LAD/QLAAEPS++cZ00tyzx0zPPX26dN99dlcFICcECwBB7cMPzUiP48elypXNcudXXml3VQByQx8LAEEpI0MaPFi65x4TKlq2lDZtIlQAwY4rFgCCzm+/SR07SitWmOdPPSWNGSMV4ycWEPT4NgUQVFavljp0kA4ckEqWlN56yzwH4AzcCgEQFCxLeuUV6YYbTKi49FIzCRahAnAWrlgAsN2RI1L37tLHH5vnnTtLU6eaKxYAnIVgAcBWa9aY/hT79knh4dKECVKvXpLHY3dlAAqCWyEAbOH1SmPHmqm59+2TatSQ1q2TevcmVABOxhULAIXut9/M3BSffGKed+pkbn1ER9taFgA/4IoFgEK1ZIl02WUmVGTNovn++4QKwC0IFgAKxcmT0uOPS23aSL//bsLFxo3SQw9x6wNwE4IFgIDbtk1q3Fh6/XXz/IknzFLndevaWxcA/yNYAAiYzExp3DipUSOzkFhcnLkVMmGCuQ0CwH3c0Xlz926FTJ+uhuvWKeTLL6WePaWaNe2uCiha/vF9uO+WnuoysqZWrzafbtvWzKJZrpy9ZQIILOcHi1mzpIceUojHo4perzxr1pjp+2bMMN3OAQTeP74P9eUaVRz3iqprhjaXfEATJpgJsOhLAbifs2+F7N5ten55vfJkZirEsuTJzDQD5Hv0kPbssbtCwP1y+D4M8WYqRF7NUA/tWLhHPXoQKoCiwtnBYubM3H9aeTzmqgWAwJo5U1YO34ceSSGhHsUv4/sQKEqcHSx+/NGsXJQDy7LM5wEE1F/bf5Q3M+fvQw/fh0CR4+xgUbVqrlcsMr0efW9VLdRygKIkI0N69VVpytKqspTHlcOqVQu1LgD2cnaw6N49xysWliSPLLWe20PdupnJeAD4z5YtUpMm0oAB0tSM7vLIUo7XLCzL9HcCUGQ4O1jUrGn6UYSEyAoNlfd/HxUSojk3zdD3nhp6912pTh2zm9drd8GAsx0/Lj39tJmXYtMm6YILpKen15Rnxgx5cvg+1IwZZnUxAEWGs4OFZIaU7twp74AB2t+smbwDBsizc6e6JD2gtWulyy+Xjhwxndavv17ascPuggHnsSzpo4+kSy+VXnrJTHx1zz3St9+a762Q7g+c9X2onTsZ8g0UQc4PFpJUo4a8o0dr05NPyjt69Om/kK6+2qxFMG6cFBkprV4tXXGFNGiQdOyYzTUDDvH991K7dtIdd0g//yxVqSItXCh98IFUvvzfdszl+xBA0eKOYJGHsDDpqafMlYp27UyHs3HjzO2R2bNzHVQCFHknTkijRpn1PBYvNt9LQ4dmfy8BQE5cHyyyZP2VtWiRVL26tH+/1LmzdMMNZoEkAIZlSR9+KF1yiTRihFmVtGVLaetWafRoc/UPAHJTZIJFlrZtpe3bzV9ixYtLK1dK9etLvXszegTYtk268UbTf+Knn6T4eGnOHCkpyVzlA4BzKXLBQjKBYtgw0/HsrrvMaJEpU8wt4ZdfltLS7K4QKFwHD0qPPGJC9ooV5ntk+HDpu++kDh2YjhtA/hXJYJGlalVzyXfFCqlBAyklRRo40NxT/uAD+l/A/VJTpeefNyO3p00zIfuuu0zoTkjgtgcA3xXpYJGlRQszemTWLNPLfe9e81fa1Veb0AG4TUaG+f9es6a5evfXX1LjxtKqVSZsM1kmgIIiWPxPSIgZcr97tzRypBQVJW3YYDp3tmlDB0+4g2VJ8+eb+V26dzedmKtUMSOk1q2Trr3W7goBOB3B4h9KljQ94ffulR59VCpWTFqyxMx/0bmztGuX3RUCBfN//2euwmXd6ihTxgy9/u47qWNHE64B4HzxoyQX5cpJb7xhxuzfe6/5S2/2bDME78EHpR9+sLtCIH9WrjRX3m66yVyFi4oytz++/97M8VK8uN0VAnATgsU51KwpzZ1rFl36179M57a335Zq1ZJ69jQ/nIFglBUorr/e9BUKD5f69jVX40aNkmJi7K4QgBsRLPLpiiukjz+WvvpKat3adH576y0TMLp1M8siAHazLDPnxD8DxaOPSnv2SK+9Zq7GAUCgECx8dNVV0qefSl9+Kd1yi1mM6d13zS2Sjh2lzZvtrhBFkdcrLVhg/n+2bn12oHjjDTPZFQAEGsGigK65Rlq6VFq/3twisSxzy+TKK80P9s8+Yx4MBF5amhk2Wq+edOedZth0iRLSE08QKADYg2Bxnho3NrdItmwxo0ZCQ82l6FatpIYNpffek06dsrtKuM0ff5iJrapUMcNGv/3W9Jl49lkzFfeECQQKAPYgWPjJFVdI779v/kp8/HEzY+HmzVLXruaH/3PPSYcO2V0lnG77drOuTXy8Gdnx22/SRRdJL71kljR/7jnpwgvtrhJAUUaw8LOqVaWJE80P+eeflypWNOswDB9ufhk88IC5fcJtEuRXRoY0b55ZHKxePbOuzYkT5rbb+++bkUkDB0qlStldKQAQLAKmbFnpmWfMfBeJiaZT3alT0jvvmEmKGjWSpk+Xjh+3u1IEq19+McNCq1WT7r5bWr7c3Gq7806zvXGjuf0WFmZ3pQCQjWARYOHhUqdOZpjq2rXm1khEhPTf/0oPP2yuaPTubSYu4ioGMjJMn522bc0ttBEjTMC48MLsoDpvnhlKyoqjAIIRwaIQNWlihqb+8otZnr1GDbOi6pQp5orGZZdJ48fTF6Mo+uYbczujcmXp9tulxYvNENIWLUwH4H37zK01OmQCCHYECxvExkpPPmkm1frsM6lLFzOt8vbt5vVKlczCZ4mJ3Cpxs4MHzeiNK680ofLll6UDB8zViYEDzf+PFSvM/4+ICLurBYD8KWZ3AUVZSIjUsqV5TJokzZkjzZxpbossWWIeUVHmL9iOHc3lbzhbSkq43nrLow8/NKHB6zWvh4WZ2x/dukm33mpuoQGAExEsgsQFF0i9epnHd9+ZqxWJiWZdh/ffN49SpYqpQYMrlZ7uUZs2ZiIkBL/ffpMWLpTmzQvVZ5/drMzM7AuFV19t+t107Gg6/AKA0xEsglCdOmY0QEKCGZqamGg67P36q0crV8Zr5UpzJaNVK6ldO3PbhPUfgodlSbt3mzCxYIHptGs65ppAUb++pY4dPbr3XjPiAwDchGARxDwe8xft1VdLr74qffllhl5++Udt2XKxfv7Zo48+kj76yOx31VUmYNx8s5nxMzTU7uqLlhMnzK2NpUvNLay9e8/8fOPGUrt2mSpbdrl69myhMMaIAnApgoVDhIRITZpY6t59u269tYq2bQvTokXSokVm6OpXX5nH8OFSmTLSTTeZKxo33CBVr87QRH/LzJQ2bZI+/1z6v/+TvvhCOnky+/NhYWZEx+23S+3bm9kx09O9WrKE3rgA3I1g4UAej7kq0bChNHKk9Ouv0n/+Iy1bZn7JHTkiffCBeUjml1qLFuZx3XVmqXeChm/S0kyA++ILafVqadUqKTn5zH3i403Hy9tuM7NkRkfbUysA2Ilg4QKVKkmPPGIeGRmmX8ayZWYo6/r1Zt6MrA6gkrmicfXVUtOmZm6Nhg3NazAsS/rxRzM6Z8MGcyVow4Yzr0hIZtGv66/PHtlzySUENgAoULB48803NW7cOB04cEB169bVhAkTdO211/q7NhRAsWJmSfdrrjFXM1JTTefBlSvNY/16c0Vj6VLzyFK1qtSggZlToX59qW5dM/NjSGHNdLJ7t0KmT1fDdesU8uWXUs+eUs2aAf+y6elmFM7Wrebx9dfmFsfhw2fvGxsrNW9uHtddZ/6t6MsCAGfyOVjMnTtX/fr105tvvqlmzZpp6tSpuvXWW7Vjxw5Vrlw5EDXiPERGZv9FLZn1SrZuNWFj3Trz+P578xf6jz+aUQxZoqLMX+F165rbJzVqZD/8uuDVrFnSQw8pxONRRa9XnjVrpFdekWbMMKu2nSfLMkM+f/hB2rXLTDy1c6cJFLt3m3DxT2Fh0uWXm06XjRtLzZpxCwkA8sPnYDF+/Hj16NFDDz30kCRpwoQJ+vTTTzV58mSNGTPG7wXCv8LDzQJojRpJffua144elbZsMX0I/vtfEzx27jSzfm7caB7/FBtr+hRkPSpXlipUkOLish8XXpiPiZ5275YeekjyeuWR5JFMz0hJ6tHDXB6oUSPHt1qWdOyY9Mcf5nHwoLR/v5m9cv9+Mw12VmA6cSL3EkqVMiEi69GggflYvPg5agcAnMWnYHHq1Clt2rRJgwcPPuP11q1ba82aNTm+Jy0tTWlpaaefp6SkSJLS09OVntOfigWUdSx/HjPYBKqNUVHmL/JmzbJfy8gwQyZ37PBoxw6P9u71aO9eae9ejw4d8ujwYXO7YPPmvI9dooSlmBj972GpZEnzC7t4cTPBV6dtM3SL5VFOdxQyLY/+86+39P8ufUGpqdJff0l//eXRX3+ZNVaOHJHS0/N3CSEkxFKlSlKNGpZq1bJUq5ZUu7bZrlIl5ysR/v6vxP9R56N9zuf2Ngayffk9psey8r+m5v79+1WpUiV9+eWXuuaaa06//sILL+idd97Rzp07z3rPyJEjlZCQcNbriYmJioyMzO+XRhBJTS2mQ4cidfhwCR0+XEK//24+Hj0aoeTkrEe4vN5zd9BIVCfdqw8UKu9Zn8tQiP6te9VZs/M8Rnh4pqKjT+mCC9JUpswJlSlz8vQjLi5VcXGpio09obAwlo8FgIJKTU1V586dlZycrFJ53A8vUOdNzz/+vLMs66zXsgwZMkQDBgw4/TwlJUXx8fFq3bp1noX5Kj09XUlJSWrVqpVrJx9yUhu93kwdPZqp5GT97+HR0aOmM+nJk9LJkx6dOCHF/6eyPF96pBx+54d4PKp2fWVNaJ+pqChLUVFSyZLmCkt0tKWyZc002CafFvvfI6pQ2+kLJ52/gnJ7G2mf87m9jYFsX9Ydh3PxKVjExsYqNDRUBw8ePOP1Q4cOqVwuc0pHREQoIoelGcPCwgJyUgN13GDilDaWK5ePqcbvfEiq83IuwcJSk2k91aSGu4ZeOOX8nQ+3t5H2OZ/b2xiI9uX3eD4NJgwPD1fDhg2VlJR0xutJSUln3BoB8q1mTTP6IyREVmiovP/7qJAQ83ouHTcBAMHJ51shAwYMUNeuXdWoUSM1bdpU06ZN088//6xevXoFoj4UBQ88IDVvLu+0aTqwbp0qNGmi0IcfJlQAgAP5HCw6dOigP/74Q6NGjdKBAwdUr149LVmyRFWqVAlEfSgqatSQd/RobVqyRLfddptCXXyJEgDcrECdNx999FE9+uij/q4FAAA4XGFN2AwAAIoAggUAAPAbggUAAPAbggUAAPAbggUAAPAbggUAAPAbggUAAPAbggUAAPAbggUAAPCbAs28eT4syyxjmd/lV/MrPT1dqampSklJce2KdW5vI+1zPre3kfY5n9vbGMj2Zf3ezvo9nptCDxbHjh2TJMXHxxf2lwYAAOfp2LFjiomJyfXzHutc0cPPvF6v9u/fr+joaHk8Hr8dNyUlRfHx8dq3b59KlSrlt+MGE7e3kfY5n9vbSPucz+1tDGT7LMvSsWPHVLFiRYWE5N6TotCvWISEhOiiiy4K2PFLlSrlyv8sf+f2NtI+53N7G2mf87m9jYFqX15XKrLQeRMAAPgNwQIAAPiNa4JFRESERowYoYiICLtLCRi3t5H2OZ/b20j7nM/tbQyG9hV6500AAOBerrliAQAA7EewAAAAfkOwAAAAfkOwAAAAfuPoYDF69Ghdc801ioyM1AUXXJCv91iWpZEjR6pixYoqUaKErr/+em3fvj2whRbQn3/+qa5duyomJkYxMTHq2rWrjh49mud7HnjgAXk8njMeTZo0KZyC8+HNN99UtWrVVLx4cTVs2FCrV6/Oc/+VK1eqYcOGKl68uKpXr64pU6YUUqUF40v7VqxYcda58ng8+u677wqx4vxbtWqV2rVrp4oVK8rj8eijjz4653ucdP58bZ/Tzt+YMWPUuHFjRUdHKy4uTrfffrt27tx5zvc56RwWpI1OOo+TJ0/W5Zdffnryq6ZNm2rp0qV5vseO8+foYHHq1Cndc8896t27d77f89JLL2n8+PGaNGmSNmzYoPLly6tVq1an1zAJJp07d9aWLVv0ySef6JNPPtGWLVvUtWvXc77vlltu0YEDB04/lixZUgjVntvcuXPVr18/PfPMM9q8ebOuvfZa3Xrrrfr5559z3P+HH37QbbfdpmuvvVabN2/W0KFD9fjjj2vevHmFXHn++Nq+LDt37jzjfNWsWbOQKvbN8ePHdcUVV2jSpEn52t9p58/X9mVxyvlbuXKl+vTpo3Xr1ikpKUkZGRlq3bq1jh8/nut7nHYOC9LGLE44jxdddJFefPFFbdy4URs3btSNN96o9u3b5/rHsW3nz3KBWbNmWTExMefcz+v1WuXLl7defPHF06+dPHnSiomJsaZMmRLACn23Y8cOS5K1bt2606+tXbvWkmR99913ub6vW7duVvv27QuhQt9dddVVVq9evc54rU6dOtbgwYNz3H/QoEFWnTp1znjtkUcesZo0aRKwGs+Hr+1bvny5Jcn6888/C6E6/5JkLViwIM99nHb+/i4/7XPy+bMsyzp06JAlyVq5cmWu+zj5HFpW/tro9PNYunRp66233srxc3adP0dfsfDVDz/8oIMHD6p169anX4uIiFCLFi20Zs0aGys729q1axUTE6Orr7769GtNmjRRTEzMOWtdsWKF4uLiVKtWLfXs2VOHDh0KdLnndOrUKW3atOmMf3tJat26da7tWbt27Vn733zzzdq4caPS09MDVmtBFKR9WRo0aKAKFSqoZcuWWr58eSDLLFROOn/nw6nnLzk5WZJUpkyZXPdx+jnMTxuzOO08ZmZmas6cOTp+/LiaNm2a4z52nb8iFSwOHjwoSSpXrtwZr5crV+7054LFwYMHFRcXd9brcXFxedZ666236v3339fnn3+uV155RRs2bNCNN96otLS0QJZ7TocPH1ZmZqZP//YHDx7Mcf+MjAwdPnw4YLUWREHaV6FCBU2bNk3z5s3T/PnzVbt2bbVs2VKrVq0qjJIDzknnryCcfP4sy9KAAQPUvHlz1atXL9f9nHwO89tGp53Hbdu2qWTJkoqIiFCvXr20YMECXXrppTnua9f5K/TVTc9l5MiRSkhIyHOfDRs2qFGjRgX+Gv9crt2yLL8u4Z6X/LZPOrtO6dy1dujQ4fR2vXr11KhRI1WpUkWLFy/WnXfeWcCq/cfXf/uc9s/p9WDhS/tq166t2rVrn37etGlT7du3Ty+//LKuu+66gNZZWJx2/nzh5PP32GOPaevWrfriiy/Oua9Tz2F+2+i081i7dm1t2bJFR48e1bx589StWzetXLky13Bhx/kLumDx2GOPqWPHjnnuU7Vq1QIdu3z58pJMiqtQocLp1w8dOnRWqguU/LZv69at+u2338763O+//+5TrRUqVFCVKlW0e/dun2v1p9jYWIWGhp7113te//bly5fPcf9ixYqpbNmyAau1IArSvpw0adJE7733nr/Ls4WTzp+/OOH89e3bVwsXLtSqVat00UUX5bmvU8+hL23MSTCfx/DwcNWoUUOS1KhRI23YsEETJ07U1KlTz9rXrvMXdMEiNjZWsbGxATl2tWrVVL58eSUlJalBgwaSzL3xlStXauzYsQH5mv+U3/Y1bdpUycnJWr9+va666ipJ0ldffaXk5GRdc801+f56f/zxh/bt23dGkLJDeHi4GjZsqKSkJN1xxx2nX09KSlL79u1zfE/Tpk21aNGiM15btmyZGjVqpLCwsIDW66uCtC8nmzdvtv1c+YuTzp+/BPP5syxLffv21YIFC7RixQpVq1btnO9x2jksSBtzEszn8Z8sy8r1Vrdt5y+gXUMD7KeffrI2b95sJSQkWCVLlrQ2b95sbd682Tp27NjpfWrXrm3Nnz//9PMXX3zRiomJsebPn29t27bN6tSpk1WhQgUrJSXFjibk6ZZbbrEuv/xya+3atdbatWutyy67zGrbtu0Z+/y9fceOHbOefPJJa82aNdYPP/xgLV++3GratKlVqVKloGjfnDlzrLCwMGvGjBnWjh07rH79+llRUVHWjz/+aFmWZQ0ePNjq2rXr6f2///57KzIy0urfv7+1Y8cOa8aMGVZYWJj14Ycf2tWEPPnavldffdVasGCBtWvXLuubb76xBg8ebEmy5s2bZ1cT8nTs2LHT32OSrPHjx1ubN2+2fvrpJ8uynH/+fG2f085f7969rZiYGGvFihXWgQMHTj9SU1NP7+P0c1iQNjrpPA4ZMsRatWqV9cMPP1hbt261hg4daoWEhFjLli2zLCt4zp+jg0W3bt0sSWc9li9ffnofSdasWbNOP/d6vdaIESOs8uXLWxEREdZ1111nbdu2rfCLz4c//vjD6tKlixUdHW1FR0dbXbp0OWtI1N/bl5qaarVu3dq68MILrbCwMKty5cpWt27drJ9//rnwi8/FG2+8YVWpUsUKDw+3rrzyyjOGgXXr1s1q0aLFGfuvWLHCatCggRUeHm5VrVrVmjx5ciFX7Btf2jd27Fjr4osvtooXL26VLl3aat68ubV48WIbqs6frGF5/3x069bNsiznnz9f2+e085dT2/7589Hp57AgbXTSeezevfvpny8XXnih1bJly9OhwrKC5/yxbDoAAPCbIjXcFAAABBbBAgAA+A3BAgAA+A3BAgAA+A3BAgAA+A3BAgAA+A3BAgAA+A3BAgAA+A3BAgAA+A3BAgAA+A3BAgAA+A3BAgAA+M3/B0FRptEMZq1YAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#plot\n",
    "X = np.linspace(-1,3,100)\n",
    "Y = c[0] + c[1]*X + c[2]*X**2 \n",
    "plt.plot(X,Y,'b-',x,y,'r.',markersize=10)\n",
    "plt.grid(True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> **Exercice 1:** Solve the system (S) with data points $(0,0),(1,1),(2,0),(3,0)$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Insert your code here:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Interpolation using the Vandermon matrix is not used in practice\n",
    "\n",
    "> The system (S) is expensive to solve for a large number of data points increase.\n",
    "\n",
    "> The matrix $A$ has a large condition number $\\kappa(A) = \\frac{\\sigma_{\\max}(A)}{\\sigma_{\\min}(A)}$ (if the data changes slighly results change !)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> **Exercice:**\n",
    "\n",
    "Plot the condition number (use `np.linalg.cond`) of $A$ as $N$ increases when $x_k = \\frac{k}{N}$, $k=0,\\dots,N$. What do you observe ?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Insert your code here:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> **Exercice:**\n",
    "\n",
    "Interpolate the points $\\left(x_k = \\frac{k}{N},\\sin(\\pi x_k)\\right)$ for $N=16$. Add some noise to the data. What do you observe ?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Insert your code here:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Lagrange polynomial interpolation"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Compated to the interpolation using the Vandermond matrix, Lagrange interpolation does not require to solve a linear system. In addition, it allows adding data points easily. Again, pick $d+1$ data points $(x_0,y_0), \\dots , (x_d,y_d)$. We are looking again for a polynpmial $p$ such that $p(x_k) = y_k$, for $k=0,\\dotsc,d$. \n",
    "\n",
    "We write polynomial $p$ as a combination of the Lagrange basis polynomials $(L_i)_{i=0,\\dotsc,d}$ where\n",
    "$$\n",
    "L_{i}(x) = \\Pi_{j=0,j\\neq i}^{d} \\frac{x-x_j}{x_i-x_j}\n",
    "$$\n",
    "and\n",
    "$$\n",
    "p(x) = \\sum_{i=0}^{d} y_i L_{i}(x).\n",
    "$$\n",
    "\n",
    "> *Example*\n",
    "\n",
    " Consider the following data points: $(0,1), (1,3),(2,2)$. One can easily plot the polynomials $L_0, L_1, L_2$. Indeed:\n",
    " $$\n",
    " L_0(x) = \\frac{(x-x_1)(x-x_2)}{(x_0-x_1)(x_0-x_3)} = \\frac{1}{2}(2-3x+x^2).\n",
    " $$\n",
    " Similarly \n",
    " $$\n",
    " L_1(x) = 2x-x^2 ~~\\mbox{and}~~L_2(x) = \\frac{1}{2}(-x+x^2).\n",
    " $$ \n",
    " To plot polynomials we make use of the `numpy.polynomial` package."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy.polynomial.polynomial as poly"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x152f56790>"
      ]
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = [0, 1, 2]\n",
    "y = [1, 3, 2]\n",
    "# The coefficients of the polynomials\n",
    "L0_coeff = [1, -1.5, .5]\n",
    "L1_coeff = [0, 2, -1]\n",
    "L2_coeff = [0, -.5,.5]\n",
    "\n",
    "#Get the polynomial functions\n",
    "L0 = poly.Polynomial(L0_coeff)\n",
    "L1 = poly.Polynomial(L1_coeff)\n",
    "L2 = poly.Polynomial(L2_coeff)\n",
    "\n",
    "#plot\n",
    "X = np.linspace(-1,3,100)\n",
    "plt.plot(X,L0(X),'b-',label = \"L0\")\n",
    "plt.plot(X,L1(X),'r-',label = \"L1\")\n",
    "plt.plot(X,L2(X),'g-',label = \"L2\")\n",
    "plt.plot(x, np.ones(len(x)), \"o\", x,np.zeros(len(x)), \"o\")\n",
    "plt.title(\"Lagrange Basis Polynomials\")\n",
    "plt.xlabel(\"x\")\n",
    "plt.ylabel(\"y\")\n",
    "plt.grid()\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> **Exercice:**\n",
    "\n",
    "Compute and plot the Lagrange polynomial $p$. Verify that $p(x_k) = y_k$ for $k=0,1,2$. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Insert your code here:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Instead of computing the Lagrange polynomial \"by hand\", it is convenient to use the `lagrange`function in `SciPy`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [],
   "source": [
    "from scipy.interpolate import lagrange"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [],
   "source": [
    "L = lagrange(x,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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hNR5k3br6/MPPz8/RVG0cf7y20Y1ncOs2vX8z0e1n8OCtFFN53DQoEHpP19Kly6ttGrVKr2gURTzOX86Rfn/kTtEREREKsZbuomIiEgTWNQQERGRJrCoISIiIk1gUUNERESawKKGiIiINIFFDREREWkCixoiIiLSBBY1REREpAksaoiIiEgTWNQQERGRJrCoISLVunv3Ltzc3DBr1qz0544fPw5bW1sEBwdLTEZEMnDtJyJStb1796Jbt244evQoqlSpglq1aqFjx45YtGiR7GhEVMRY1BCR6g0fPhy//PIL6tWrhz///BNhYWGwt7eXHYuIihiLGiJSvSdPnqBq1aq4ceMGTp48ierVq8uOREQScEwNEane5cuXERkZidTUVFy7dk12HCKShD01RKRqSUlJqF+/PmrWrIkqVapg4cKFOHPmDMqWLSs7GhEVMRY1RKRqn3zyCbZu3Yo///wTjo6OaNGiBZycnLB7927Z0YioiPHyExGp1sGDB7Fo0SKsW7cOzs7OsLKywrp16/Dbb78hKChIdjwiKmLsqSEiIiJNYE8NERERaQKLGiIiItIEFjVERESkCSxqiIiISBNY1BAREZEmsKghIiIiTWBRQ0RERJrAooaIiIg0gUUNERERaQKLGiIiItIEFjVERESkCSxqiIiISBP+D03sgoD/GkQPAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(X,L(X),'b-')\n",
    "plt.plot(x,y,'o')\n",
    "plt.title(\"Lagrange Polynomial\")\n",
    "plt.xlabel(\"x\")\n",
    "plt.ylabel(\"y\")\n",
    "plt.grid()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 127,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjgAAAGdCAYAAAAfTAk2AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAZPFJREFUeJzt3XlcVXX+x/HXZRHEhExSYEJx11Erl0pp01SsbBgrNbM006ymzDRr1JpGmaksm7bRVjMrRc1SW8h+ikuWY6a5TGoTmSWuZISBieIVzu+PbxdEFi/K5dzl/Xw87uOcezn38rkftg/f1WFZloWIiIiIHwmyOwARERGR6qYCR0RERPyOChwRERHxOypwRERExO+owBERERG/owJHRERE/I4KHBEREfE7KnBERETE74TYHYAdioqK2LdvH3Xr1sXhcNgdjoiIiLjBsiwOHTpEXFwcQUGVt9EEZIGzb98+4uPj7Q5DRERETsPu3bs577zzKr3GowVOcnIymzdv5sCBA9SrV4+ePXvy1FNPERcXV+FzLMsiJSWF1157jYMHD3LJJZfw4osv0rZt2+JrCgoKePDBB5k7dy5HjhyhR48evPTSS6d8sy5169YFTIIiIyNxOp0sXbqUpKQkQkNDz+xN+znlyn3KVdUoX+5TrtynXLnPF3KVl5dHfHx88d/xyni0wOnevTsPP/wwsbGx7N27lwcffJB+/fqxZs2aCp8zZcoUnn32Wd58801atmzJY489Rq9evcjIyCh+Q6NHj+ajjz5i3rx51K9fn7Fjx3LdddexYcMGgoODTxmXq1sqMjKyuMCJiIggMjLSa7+o3kK5cp9yVTXKl/uUK/cpV+7zpVy5M7zEowXOmDFjis8bN27M+PHj6du3L06ns9zkWZbF888/zyOPPMINN9wAwFtvvUXDhg2ZM2cOd911F7m5ucyYMYNZs2bRs2dPAGbPnk18fDzLli2jd+/ennxLIiIi4gNqbAxOTk4OqampJCYmVlgZ/vjjj2RlZZGUlFT8WFhYGFdeeSVr1qzhrrvuYsOGDTidzlLXxMXF0a5dO9asWVNugVNQUEBBQUHx/by8PMBUq66b675UTrlyn3JVNcqX+5Qr9ylX7vOFXFUlNo8XOOPGjWPatGnk5+fTpUsX0tLSKrw2KysLgIYNG5Z6vGHDhmRmZhZfU6tWLerVq1fmGtfzTzZ58mRSUlLKPL506VIiIiKK76enp7v3pkS5qgLlqmqUL/cpV+5TrtznzbnKz893+9oqFziTJk0qt1g40fr16+ncuTMADz30EMOHDyczM5OUlBSGDBlCWlpapf1nJ3/MsqxT9rdVds2ECRN44IEHiu+7BiklJSUVj8FJT0+nV69eXt/vaDflyn3KVdUoX+5TrtynXLnPF3Ll6oFxR5ULnJEjRzJw4MBKr0lISCg+j46OJjo6mpYtW9KmTRvi4+NZu3YtXbt2LfO8mJgYwLTSxMbGFj9+4MCB4ladmJgYjh07xsGDB0u14hw4cIDExMRy4wkLCyMsLKzM46GhoaW+iCffl4opV+5TrqpG+XKfcuU+5cp93pyrqsRV5QLHVbCcDsuyAEqNhzlRkyZNiImJIT09nQ4dOgBw7NgxVq1axVNPPQVAp06dCA0NJT09nQEDBgCwf/9+tm7dypQpU04rLhEREfEvHhuDs27dOtatW8dll11GvXr1+OGHH/j73/9Os2bNSrXetG7dmsmTJ3P99dfjcDgYPXo0TzzxBC1atKBFixY88cQTREREMGjQIACioqIYPnw4Y8eOpX79+pxzzjk8+OCDtG/fvnhWlYiIiAQ2jxU4tWvXZuHChUycOJHDhw8TGxvL1Vdfzbx580p1F2VkZJCbm1t8/69//StHjhzhnnvuKV7ob+nSpaUW9XnuuecICQlhwIABxQv9vfnmm26tgSMiIiL+z2MFTvv27VmxYsUpr3N1W7k4HA4mTZrEpEmTKnxOeHg4U6dOZerUqWcapoiIiPgh7SYuIiIifkcFjoiIiPgdFTgiIiLid2psqwYRkZMdOwYbN8LevfDLLw6++KIZX34ZhNMJ550HTZtCkybmVqeO3dGKiC9RgSMiNaawEL76ClauNLfVq6Fk5fUQoF2Fz23ZEq6/Hm68ETp3Bjc2ExaRAKYCR0Q87tAhmDkTXngBfvih9Meio6FVK4iKKuLw4b20bRtHWFgwu3eba3/8EQ4ehO++g6eeMrf4eLjhBrj3XmjRwp73JCLeTQWOiHjMrl0wdSpMnw6u5a4iI6F7d7jqKnNs2xaCgsDpLGTx4o1ce20MoaGl17TKyYFly2DBAvj4Y9i92xRL06bBbbfBo49CQgKwfTu88Qbs3GkeGDZMFZBIgFKBIyLV7uhRePxx09ridJrHWraEMWNgyBCIiKja651zDgwYYG5HjkB6Orz6KixebOqZWbNgxmUzuXXVHWbTXcsyfVhTpsCMGTB0aLW/RxHxbppFJSLVauVKOP98eOwxU9x06wYffQT/+x/cfXfVi5uT1a4NycmmJWfNGujRAxo7tzNo5R04iorMQJ8Tj8OHw/ffV8t7ExHfoQJHRKrFL7+YHqGrrjI9RbGxpktpxQq47jrTDVXdunY1XVfLBr2BRQWjjh0O04ojIgFFXVQicsY2bIC+fWHPHlNP/OUv8MQTEBVVM5+/cdFOrCALisr5oGWZMTkiElBU4IjIGZk717TcHD1qxtnMnAmJiTUcREKCGXtTjkLLQVDjhIrad0TET6mLSkROS2EhTJgAgwaZ4ubaa2HdOhuKGzAV1kkb9wJYAJbFXzOGFw92FpHAoAJHRKrs0CH485/hySfN/XHj4MMPa65LqowWLcw4m6AgCA4uPlqOIEY4ZvCv95tz3XUmbhEJDOqiEpEqycuDa64xM5jCw01dMWiQ3VFhpoJfdpkJ6Pd1cIKGD6f/9ubM7w9Ll5oZXR9/DDExNscqIh6nAkdE3JaXB1dfDV98AWefDUuWwMUX2x3VCZo3h8mTSz10TXMzdb1PH7PvVWIifPopNGpkT4giUjPURSUibjmxuKlXz0zP9qriphIXXWTibtbMbP2QlAQ//2x3VCLiSSpwROSUcnOhd+/SxU2nTnZHVTXNmpmWnEaNICPDFGt5eXZHJSKeogJHRCp15IiZIbV2bUlx07Gj3VGdnvh4s83Dueea7qrkZPP+RMT/qMARkQoVFZnNLNesMWNuli/33eLGpWVLM3YoMhJWrYKbbkJTyEX8kAocEanQo4/Cu+9CaCi8/z506GB3RNWjQwdISzOzwD76CO66q9xldETEh6nAEZFyvfmm2W4BYPp0uPJKW8OpdpdfDu+9Z5bNmTkTXnzR7ohEpDqpwBGRMj79FO6805w/8ojppvJHffrAlCnmfMwY+Pxze+MRkeqjAkdESvnuO7jhBjMu5aab4B//sDsizxozBm6+GY4fh379zIahIuL7VOCISLEjR8wf+YMHoWtX000V5Oe/JRwOeP11OP98OHAAbrwRCgrsjkpEzpSf/+oSkaoYPRq2bIGGDWHBAjMINxBERMCiRWYa/Lp1MHKk3RGJyJlSgSMiAMybB6+9Zlo0Zs+G2Fi7I6pZTZvC3LklLTpvv213RCJyJlTgiAjbt8OIEeb8kUegZ09747FL796QkmLOR440e3aKiG9SgSMS4I4ehQED4Lff4IorYOJEuyOy14QJZkPOQ4dgyBAoLLQ7IhE5HSpwRALc2LGweTNER8OcORASYndE9goJgVmz4KyzzLTxZ56xOyIROR0qcEQC2CefwEsvmfNZs+APf7A3Hm/RtCm88II5/9vfTAEoIr5FBY5IgMrNLRl3M3q02V1bStx+O/Tta9YDuvVW05UnIr7DowVOcnIyjRo1Ijw8nNjYWAYPHsy+ffsqfY5lWUyaNIm4uDhq165Nt27d2LZtW6lrunXrhsPhKHUbOHCgJ9+KiN8ZOxb27oXmzeHxx+2Oxvs4HGZWWcOGsG0bPPyw3RGJSFV4tMDp3r078+fPJyMjgwULFrBjxw769etX6XOmTJnCs88+y7Rp01i/fj0xMTH06tWLQ4cOlbpuxIgR7N+/v/j26quvevKtiPiVJUtgxgzzR/yNN8w6MFLWueeaPAE8/zysX29rOCJSBR4tcMaMGUOXLl1o3LgxiYmJjB8/nrVr1+J0Osu93rIsnn/+eR555BFuuOEG2rVrx1tvvUV+fj5z5swpdW1ERAQxMTHFt6ioKE++FRG/kZsLd9xhzkeNMptOSsX69DFdVJZl9uc6ftzuiETEHTU2XyInJ4fU1FQSExMJDQ0t95off/yRrKwskpKSih8LCwvjyiuvZM2aNdx1113Fj6empjJ79mwaNmzINddcw8SJE6lbt265r1tQUEDBCWuv5+XlAeB0OotvrvtSOeXKfd6aq7Fjg9mzJ4hmzSwmTTqOt4TnrfkCePJJ+PjjEDZvdvDcc4WMHl1kazzenCtvo1y5zxdyVZXYHJZlWR6MhXHjxjFt2jTy8/Pp0qULaWlp1K9fv9xr16xZw6WXXsrevXuJi4srfvzOO+8kMzOTJUuWADB9+nSaNGlCTEwMW7duZcKECTRv3pz09PRyX3fSpEmkuFbvOsGcOXOIUNu8BJDNm89l0qREHA6Lxx5bTdu2OXaH5DPS0xvx4osdCAs7ztSpK2jQ4IjdIYkEnPz8fAYNGkRubi6RkZGVXlvlAqeiYuFE69evp3PnzgBkZ2eTk5NDZmYmKSkpREVFkZaWhsPhKPM8V4Gzb98+Yk9YJ37EiBHs3r2b//u//yv3823YsIHOnTuzYcMGOnbsWObj5bXgxMfHk52dTWRkJE6nk/T0dHr16lVh65IYypX7vC1XR49Chw4h7Njh4N57C3nuOXtbIU7mbfk6WVER9OwZzOrVQVx7bRGLFhVSzq+xGuHtufImypX7fCFXeXl5REdHu1XgVLmLauTIkaecsZSQkFB8Hh0dTXR0NC1btqRNmzbEx8ezdu1aunbtWuZ5MTExAGRlZZUqcA4cOEDDhg0r/HwdO3YkNDSU7du3l1vghIWFERYWVubx0NDQUl/Ek+9LxZQr93lLriZPhh07zFo3kycHExoabHdI5fKWfJXn1Vfhwgth8eIg0tKCuOEGe+Px5lx5G+XKfd6cq6rEVeUCx1WwnA5XY9GJrSkncnU7paen06FDBwCOHTvGqlWreOqppyp83W3btuF0OksVRSJS4ocfTIED8OyzUMFwNTmFP/4Rxo2Dxx4zA7R79oRT/BMpIjbx2CyqdevWMW3aNDZv3kxmZiYrV65k0KBBNGvWrFTrTevWrVm0aBEADoeD0aNH88QTT7Bo0SK2bt3K0KFDiYiIYNCgQQDs2LGDf/zjH3z11Vfs3LmTxYsX079/fzp06MCll17qqbcj4tNGjzZdVD16QP/+dkfj2x5+2KwdtHcv/POfdkcjIhXxWIFTu3ZtFi5cSI8ePWjVqhXDhg2jXbt2rFq1qlR3UUZGBrm5ucX3//rXvzJ69GjuueceOnfuzN69e1m6dGnxDKlatWqxfPlyevfuTatWrRg1ahRJSUksW7aM4GDvbHIXsdNHH5lbaChMm4Zt40b8Re3a8O9/m/MXXjDdfiLifTw2Tbx9+/asWLHilNedPMbZ4XAwadIkJk2aVO718fHxrFq1qjpCFPF7R46YrhSABx6A1q3tjcdfXHMN9O5tFkz8619hwQK7IxKRk2kvKhE/9uSTsHMnnHee2TRSqs8zz0BwMCxcCPqfS8T7qMAR8VM//giusfnPPQdnnWVvPP6mbVuzsjGY1rEi75p1LxLwVOCI+KkJE6CgwAwsvvFGu6PxTykpEBUFGzfC22/bHY2InEgFjogf+vJLeOcdM6D4mWc0sNhTzj23pOtvwgT47Td74xGREipwRPyMZcGDD5rz226DCy6wNx5/d9990LQpZGWVdAmKiP1U4Ij4mQ8+gNWrzXRmrdPieWFhMGWKOf/Xv2DfPnvjERFDBY6IH3E6zbRlMANfzzvP3ngCxQ03QNeuZjHFxx+3OxoRARU4In7ltddg+3Zo0MBsKSA1w+EoKWymTzdT80XEXipwRPxEbi641sdMSdF+UzWte3ezN5XTafIvIvZSgSPiJ556CrKzzWrFd9xhdzSBydWK8/bb8O239sYiEuhU4Ij4gZ9+MvsigSl0Qjy2CYtU5uKLITnZLPr397/bHY1IYFOBI+IHnnwS8vPhkkvgT3+yO5rA9s9/mjE5774LmzbZHY1I4FKBI+Lj9uyBl182564/rmKf88+HgQPN+aOP2huLSCBTgSPi4554wmzJcPnlZpCr2C8lxWzE+fHHsGaN3dGIBCYVOCI+bOdOeP11c/7YY2q98RYtWsDQoeZcM6pE7KECR8SH/fOfZlpyz55wxRV2RyMneuQR04qzdCmsX293NCKBRwWOiI/avh3eesuca0sG79OkCdxyiznX6sYiNU8FjoiPSkmBwkLo0we6dLE7GinPhAmm2/CDD2DLFrujEQksKnBEfNA338CcOeb8H/+wNxapWOvW0L+/OX/iCXtjEQk0KnBEfNATT4BlQd++0LGj3dFIZR55xBzfeQcyMuyNRSSQqMAR8TE7dsDcueb8b3+zNxY5tfPPN4svWpZZkFFEaoYKHBEf89RTZiuAq6+GTp3sjkbc4WrFmTVLO42L1BQVOCI+ZM8eePNNc+76oyne75JLoFcvMyh8yhS7oxEJDCpwRHzI00+bdW+uuAIuu8zuaKQqXN2JM2bA/v32xiISCFTgiPiIAwdg+nRzrrE3vueKKyAxEY4dg2nT7I5GxP+pwBHxEc89B0eOwEUXac8pX/Xgg+b48svw22/2xiLi71TgiPiAgwfhxRfN+SOPaM8pX5WcDM2bm6/nzJl2RyPi31TgiPiAadPg0CFo185MORbfFBwMY8ea8+eeg+PH7Y1HxJ+pwBHxcvn58MIL5vzhhyFIP7U+bcgQiI6GH3+ERYvsjkbEf+lXpYiXe/NN+OUXs3mja9l/8V0REXDvveb86afNAoAiUv1U4Ih4scJCePZZc/7AAxASYm88Uj3uuQfCw2H9eli92u5oRPyTChwRL7Zokdma4Zxz4Pbb7Y5GqkuDBnDbbeb8X/+yNxYRf+XRAic5OZlGjRoRHh5ObGwsgwcPZt++fZU+Z+HChfTu3Zvo6GgcDgebN28uc01BQQH33Xcf0dHR1KlTh+TkZPbs2eOhdyFiD8syXRhg/uOvU8feeKR6jRljZsN9+KE24RQ/s307TJgAN99sjtu32xKGRwuc7t27M3/+fDIyMliwYAE7duygX79+lT7n8OHDXHrppTxZya50o0ePZtGiRcybN4/Vq1fz22+/cd1111FYWFjdb0HENqtXw7p1EBYGI0faHY1Ut1atzLRxMDOqRPzCzJnQurX572z+fHNs3bpkj5ka5NEe/TFjxhSfN27cmPHjx9O3b1+cTiehoaHlPmfw4MEA7KxgR7rc3FxmzJjBrFmz6Pn7amezZ88mPj6eZcuW0bt37+p9EyI2cbXe3HYbNGxobyziGQ88AB98AG+/DZMnQ716dkckcga2b4c77jC7AZ9s+HCzv0zz5jUWTo0NWczJySE1NZXExMQKixt3bNiwAafTSVJSUvFjcXFxtGvXjjVr1pRb4BQUFFBQUFB8Py8vDwCn01l8c92XyilX7juTXH37LXz0USgOh8V99x0nENIdiN9bXbrA+eeH8PXXDl57rZAHHijnD0M5AjFXp0u5ct+Z5ipo+nSCHA7KW4fUcjgoeu01ih5//AwirFpsHi9wxo0bx7Rp08jPz6dLly6kpaWd0etlZWVRq1Yt6p30r07Dhg3Jysoq9zmTJ08mJSWlzONLly4lIiKi+H56evoZxRZIlCv3nU6uXnzxAiCBiy7KYseOdezYUf1xeatA+966/PJGfP11B5599igtWiwjONj95wZars6EcuW+081Vp7VriSsqKr/AsSz2r13LhsWLzyi2/Px8t6+tcoEzadKkcouFE61fv57OnTsD8NBDDzF8+HAyMzNJSUlhyJAhpKWl4ajmteYty6rwNSdMmMADDzxQfD8vL4/4+HiSkpKIjIzE6XSSnp5Or169zqh1KRAoV+473VxlZcGqVeZHc8qUc0lMvNZTIXqVQP3e6t4d5s61OHCgDpbVh2uvPfXCOIGaq9OhXLnvTHMV9J//4FizxqxvcRKHw0Fsly5ce+2Z/T5z9cC4o8oFzsiRIxk4cGCl1yQkJBSfR0dHEx0dTcuWLWnTpg3x8fGsXbuWrl27VvVTAxATE8OxY8c4ePBgqVacAwcOkJiYWO5zwsLCCAsLK/N4aGhoqS/iyfelYsqV+6qaq+nTzY7TXbrAFVeEBNy+U4H2vRUaCiNGwFNPwcsvh3DjjVV5bmDl6kwoV+477VyNGAHPPIMFZVpxHJZF8J13EnyGX4OqxFXlWVTR0dG0bt260lt4eHi5z7V+X7LzxPEwVdWpUydCQ0NLNaHt37+frVu3VljgiPiKo0fhlVfMuWsasfi/e+4xW3AsXw7bttkdjchpatECZszAIggnwRQ5gswGbEFBMGNGjQ4wBg9OE1+3bh3Tpk1j8+bNZGZmsnLlSgYNGkSzZs1Ktd60bt2aRSdsyJKTk8PmzZv55ptvAMjIyGDz5s3F42uioqIYPnw4Y8eOZfny5WzatIlbb72V9u3bF8+qEvFV8+bBzz9DfDzccIPd0UhNadQI+vY151On2hqKyJkZOpRbOmfwLx5id5cB8NBDZqGnoUNrPBSPFTi1a9dm4cKF9OjRg1atWjFs2DDatWvHqlWrSnUXZWRkkJubW3z/ww8/pEOHDvTp0weAgQMH0qFDB15x/VsLPPfcc/Tt25cBAwZw6aWXEhERwUcffURwVUbniXgZyyrZVPPee7UtQ6AZNcocZ82CgwftjUXkTKzNbs7DTGbP03PN+gc13HLj4rFfoe3bt2fFihWnvM46aae5oUOHMvQUlV54eDhTp05lqv7VET/y+eeweTPUrm26siWwXHEFtG8PW7bAG2/A2LF2RyRSdUVFsHevOY+PtzcW7UUl4iVcrTeDB5u9pySwOBwlrTgvvljuRBQRr/fTT+B0mmE3cXH2xqICR8QL7NwJ779vzl1/5CTwDBpkitsff4RPPrE7GpGq27XLHOPi7O9mV4Ej4gWmTTNNuz17Qtu2dkcjdomIKNk1/oRhhyI+Y/duc7S7ewpU4IjY7rff4PXXzfn999sbi9jvzjvNcfFiyMy0NxaRqlKBIyLF3n4bcnPNRIMzXORT/EDLltCjh5lVN3263dGIVI0KHBEBzB8x12TA++4zA/NE7r7bHF9/nYDYaFX8hwocEQHMyrXffgt169qyDpZ4qT//GWJizIyUDz6wOxoR96nAERHATAcGGDIEIiPtjUW8R2go3HGHOddgY/ElKnBEhF274MMPzfk999gbi3ifESNK9qf67ju7oxE5NacT9u835ypwRALYq6+aqeHdusEf/2h3NOJtGjUqGXT+6qv2xiLijn37zLjC0FBo0MDuaFTgiNiioKBkavi999obi3gv12DjN9+EI0dsDUXklFzdU+ed5x0TJrwgBJHAs2ABHDhgVvv885/tjka81dVXQ+PGkJMD771ndzQilfOm8TegAkfEFq7BxXfdZZpzRcoTHFyy8J8GG4u3U4EjEuA2b4Y1a8w+Ldo1XE7l9ttNobNmDfzvf3ZHI1Ix1z5UKnBEApSr9ebGGyE21t5YxPvFxsJ115nzGTPsjUWkMq4WnEaN7I3DRQWOSA06eBBSU825poaLu1xr4rz1Fhw7Zm8sIhVRF5VIAHvrLTMbpl07uPxyu6MRX3H11WZAenZ2ydpJIt5GBY5IgLKskoGi99wDDoe98YjvCAkxY3GgZHkBEW9y5IgpwEEFjkjA+ewzyMiAOnXgllvsjkZ8zbBh5rh0KWRm2huLyMn27DHHiAioV8/eWFxU4IjUENdqtIMGad8pqbqmTeGqq0xL4Ftv6Ve3eJcTu6e8pXVaPyUiNSA72yzuB2btG5HTUTLYOIjCQntjETmRt42/ARU4IjXizTfN7JdOncxN5HRcf71p/t+928F//+sFm/2I/E4FjkgAKiqC114z52q9kTMRHg6DB5vzZcu8ZLEREVTgiASkTz91sH071K0LN99sdzTi64YPN8d162I5cMDeWERcVOCIBKDp082P2a23wlln2RyM+Lzzz4eLLiri+PEg5szRr3DxDipwRALMr7+G8cEHZkqBuqekutx2mwWYwcaWZXMwInjfPlSgAkfEo5Yvb8Tx4w4uuQQuuMDuaMRf9O9fRGhoIdu2Odi0ye5oJNDl5ZkbqMARCQhFRbB0aWNArTdSverVgy5d9gNmhp6InVzdU2efbcYaegsVOCIesnKlg59+qkNUlMVNN9kdjfibq64yfQKpqVBQYHMwEtC8cfwNqMAR8ZgZM8yP1803FxERYXMw4nfOP/9n4uIscnIgLc3uaCSQqcARCSDZ2RQPLh42rMjmaMQfBQfDLbeY7y11U4mdVOCIBJC33wan00GzZr9y4YV2RyP+asgQU+B88glkZdkcjASsgCxwkpOTadSoEeHh4cTGxjJ48GD27dtX6XMWLlxI7969iY6OxuFwsHnz5jLXdOvWDYfDUeo2cOBAD70LkaqxLHj9dXOelLTT1ljEv7VqBV27QmEhzJ5tdzQSqAKywOnevTvz588nIyODBQsWsGPHDvr161fpcw4fPsyll17Kk08+Wel1I0aMYP/+/cW3V11bNYvY7Isv4H//g4gIi8sv32t3OOLnhg41xzffRGviiC28cQ0cgBBPvviYMWOKzxs3bsz48ePp27cvTqeT0NDQcp8z+PeNVnbu3Fnpa0dERBATE1NtsYpUl+nTzbFfP4uIiOP2BiN+76ab4P77Yds22LABOne2OyIJJEVFkJlpzps0sTeWk3m0wDlRTk4OqampJCYmVljcVEVqaiqzZ8+mYcOGXHPNNUycOJG6FUzALygooOCEeZR5v69I5HQ6i2+u+1I55apyubkwf34I4OC2245x6JBy5S59b7nvxFxFREDfvsHMmxfEjBmFXHCBBrWfSN9X7judXO3dC8eOhRIcbNGw4XE8neaqxObxAmfcuHFMmzaN/Px8unTpQlo1zGe85ZZbaNKkCTExMWzdupUJEybw3//+l/T09HKvnzx5MikpKWUeX7p0KREnzN+t6PlSlnJVviVLGpOffyHnnXeIvLwVOBzKVVUpX+5z5ap163OBRGbPLqRHjyWEhqrIOZm+r9xXlVz973/nAJdTv34+S5cu81xQv8vPz3f7WodlVa3XdtKkSeUWCydav349nX9vJ83OziYnJ4fMzExSUlKIiooiLS0Nh8NR6Wvs3LmTJk2asGnTJi48xTSUDRs20LlzZzZs2EDHjh3LfLy8Fpz4+Hiys7OJjIzE6XSSnp5Or169qqV1yZ8pV5Xr0iWYjRuDePrpQu65p0C5qgJ9b7nv5FwVFkKzZiHs2+dg/vzj9O2rwTgu+r5y3+nkKjXVwe23h3DllUWkpxd6OELz9zs6Oprc3FwiIyMrvbbKLTgjR4485YylhISE4vPo6Giio6Np2bIlbdq0IT4+nrVr19K1a9eqfuoKdezYkdDQULZv315ugRMWFkZYWFiZx0NDQ0t9EU++LxVTrsratAk2boTQUBg6NLg4P8pV1Shf7nPlKjTU7FY/ZQrMmRNC//52R+Z99H3lvqrkas8ec2zaNIjQUM+vPFOVr2GVCxxXwXI6XI1FBdW8rvi2bdtwOp3ExsZW6+uKVMWMGeZ4/fUQHY3H+6JFTjR4sClwPv4YfvkF6te3OyIJBK75QCe0a3gNj5Vb69atY9q0aWzevJnMzExWrlzJoEGDaNasWanWm9atW7No0aLi+zk5OWzevJlvvvkGgIyMDDZv3kzW76tY7dixg3/84x989dVX7Ny5k8WLF9O/f386dOjApZde6qm3I1KpI0fMnkAAd9xhbywSmNq1gwsvNIX1/Pl2RyOBIiALnNq1a7Nw4UJ69OhBq1atGDZsGO3atWPVqlWluosyMjLIzc0tvv/hhx/SoUMH+vTpA8DAgQPp0KEDr7zyCgC1atVi+fLl9O7dm1atWjFq1CiSkpJYtmwZwcHBnno7IpV6/3349Vdo1Ah69LA7GglUQ4aY49tv2xuHBI4ffzRHbyxwPDaLqn379qxYseKU1508xnno0KEMda1cVY74+HhWrVp1puGJVKs33jDH22+HIG2AIja5+WZ48EFYuxa2b4cWLeyOSPxZYWHJIn/etgYOaC8qkTO2cycsWwYOR8mqsiJ2iImBpCRzPmuWvbGI/9u3D44fh5AQiIuzO5qyVOCInCHXTs49enhnM60EFlc31ezZ2rpBPMvVPdWokdnd3tuowBE5A4WFMHOmOR82zN5YRAD+/GeoW9f88fnPf+yORvyZa4CxN3ZPgQockTOyYoXpgz77bDM9XMRuERHg2tNYg43Fk7x5BhWowBE5I67BxbfcAuHh9sYi4vL7nsXMnw9Hj9obi/gvFTgifionB1xLOKl7SrzJlVdCfLzZ/PWjj+yORvyVawyOuqhE/MycOVBQYBZXK2eHEBHbBAWZVkUoWYBSpLqpBUfET7m6p9R6I97IVeAsXmxaG0Wq0/HjsHu3OVeBI+JHNm0yt1q1YNAgu6MRKatdOzj/fLN1w3vv2R2N+Js9e8ws0lq1wFu3gVSBI3IaXFPD+/bVpobivdRNJZ7i6p5q3Nh7V2/30rBEvFdBQckfjNtvtzcWkcrcfLNZYfuzz0qW1BepDt4+/gZU4IhUWVqaGdMQFwe9etkdjUjF4uPhiivM+dy59sYi/sWbN9l0UYEjUkWu7qkhQ7xzeXKRE916qzmqm0qqk7evYgwqcESqZP9++OQTc67uKfEF/fqZgaBbtsDXX9sdjfgLdVGJ+JlZs6CoCBIToWVLu6MRObWzz4Y+fcy5WnGkuqjAEfEjllXSPaXWG/ElrtlUc+eaAl3kTDidZpo4qMAR8Qtffgnffgu1a8OAAXZHI+K+Pn0gKsoszPb553ZHI75u925TKIeHQ0yM3dFUTAWOiJvefNMc+/WDyEhbQxGpkvBwuPFGc65uKjlTJ66B43DYGkqlVOCIuOHIEZg3z5wPHWprKCKnxdVN9e67Zi0nkdPlC1PEQQWOiFsWLTI7MyckQLdudkcjUnVXXmnWbvr1V1iyxO5oxJf5whRxUIEj4hZX99Rtt3nvsuQilQkOhptuMuda9E/OhC/MoAIVOCKntHs3LFtmzm+7zd5YRM7EzTeb4wcfwG+/2RuL+C4VOCJ+4u23zRTxbt28v0lWpDKdO0Pz5mZM2Ycf2h2N+CrXGBxv/32oAkekEpZV0j2lwcXi6xyOklacOXPsjUV8U0EB7NtnztWCI+LD1qyB77+HOnVKptmK+DJXgbNkCfzyi72xiO/Zvdv841e7Npx7rt3RVE4FjkglXK03/fvDWWfZGopItWjTBi68EI4fhwUL7I5GfM2JU8S9eQ0cUIEjUqH8fHjnHXOu7inxJ+qmktPlK+NvQAWOSIUWLYJDh8wP8uWX2x2NSPUZONAcP/usZE8hEXd8/705tmhhbxzuUIEjUoETBxdr7RvxJ40awWWXmbEUrlZKEXds326OzZvbG4c79GtbpBy7dsHy5eZ8yBB7YxHxBFc3lRb9k6pwteCowBHxUbNmmf9uu3f3/qmQIqejf3+zuvGGDfDdd3ZHI76gqAh27DDnKnBEfJDWvpFAcO650KuXOVcrjrhj/36zSGRwsNlJ3Nt5tMBJTk6mUaNGhIeHExsby+DBg9nnWiGoHE6nk3HjxtG+fXvq1KlDXFwcQ4YMKfOcgoIC7rvvPqKjo6lTpw7Jycns0Ug5qQ7bt7N3yAT+8f3N/Ct0Av0u2G53RCIe4+qmmjfPFPYilXF1TyUkQGioraG4xaMFTvfu3Zk/fz4ZGRksWLCAHTt20K9fvwqvz8/PZ+PGjTz66KNs3LiRhQsX8t1335GcnFzqutGjR7No0SLmzZvH6tWr+e2337juuusoLCz05NsRfzdzJrRuTWzq0wxgPqOPP01Ex9YlzTkifqZvXwgLg2+/ha+/tjsa8Xa+NP4GIMSTLz5mzJji88aNGzN+/Hj69u2L0+kktJzyLyoqivT09FKPTZ06lYsvvphdu3bRqFEjcnNzmTFjBrNmzaJnz54AzJ49m/j4eJYtW0bv3r09+ZbEX23fDnfcAUVFBLses36/DR9uppz4yk+1iJsiI6FPH1i40LTiXHCB3RGJN/OlKeLg4QLnRDk5OaSmppKYmFhucVOR3NxcHA4HZ599NgAbNmzA6XSSlJRUfE1cXBzt2rVjzZo15RY4BQUFFBQUFN/Py8sDTJeY6+a6L5Xz11wFTZ9OkMNBeQtzWg4HRa+9RtHjj1fpNf01V56ifLmvOnPVr5+DhQtDmDfPIiXluNevTltV+r5y36ly9d13wUAQTZoU4nQW1WBkJarydfR4gTNu3DimTZtGfn4+Xbp0IS0tze3nHj16lPHjxzNo0CAiIyMByMrKolatWtSrV6/UtQ0bNiQrK6vc15k8eTIpKSllHl+6dCkRERHF909uPZKK+VuuOq1dS1xRUfkFjmWxf+1aNixefFqv7W+58jTly33Vkavg4GDCw69m584QXnjhC1q2PFgNkXkffV+5r6JcbdzYDYji4MH1LF78U43G5JKfn+/2tVUucCZNmlRusXCi9evX07lzZwAeeughhg8fTmZmJikpKQwZMoS0tDQcp/g3wel0MnDgQIqKinjppZdOGZdlWRW+5oQJE3jggQeK7+fl5REfH09SUhKRkZE4nU7S09Pp1atXlVqXApG/5iroP//BsWYNlDOOy+FwENulC9dee22VXtNfc+Upypf7qjtXixYFMW8e7N59KaNH2/Ofuafo+8p9leXKsuCWW0zJcNNNnWjVyo4IS3pg3FHlAmfkyJEMdK3zXYGEExYOiY6OJjo6mpYtW9KmTRvi4+NZu3YtXbt2rfD5TqeTAQMG8OOPP7JixYri1huAmJgYjh07xsGDB0u14hw4cIDExMRyXy8sLIywsLAyj4eGhpb6Ip58Xyrmd7kaMYKifz0DUKYVx2FZBN95J8Gn+X79Llcepny5r7pyNWiQGYPz3nvBPPdcMMHBp36Or9H3lfvKy1VWFhw+bFZ1b9Ei1LZZVFX5Gla5wHEVLKfD+n0e4onjYU7mKm62b9/OypUrqV+/fqmPd+rUidDQUNLT0xkwYAAA+/fvZ+vWrUyZMuW04hKxmrdgQoMZPPHTcBxBDoKwzFa5lgUzZmiAsfi1pCQ4+2yzzsnnn0O3bnZHJN7GNcC4USMz884XeGya+Lp165g2bRqbN28mMzOTlStXMmjQIJo1a1aq9aZ169YsWrQIgOPHj9OvXz+++uorUlNTKSwsJCsri6ysLI4dOwaYmVbDhw9n7NixLF++nE2bNnHrrbfSvn374llVIlX1xRcw5aehdKidwfHRD8GAAfDQQ5CRodX+xO+FhcENN5jzefPsjUW8k69NEQcPDjKuXbs2CxcuZOLEiRw+fJjY2Fiuvvpq5s2bV6q7KCMjg9zcXAD27NnDhx9+CMCFF15Y6vVWrlxJt9//rXjuuecICQlhwIABHDlyhB49evDmm28S7I/tqlIjXEvddLqpObWemWxrLCJ2uPlmeOMNeO89mDrVNxZyk5rja1PEwYMFTvv27VmxYsUpr7NOWD4zISGh1P2KhIeHM3XqVKZOnXpGMYoA5OeX7KisxhoJVN26QYMGcOCA2Wj26qvtjki8iS+24GgvKgl4778PeXnQpAlcfrnd0YjYIyTEbMAJ2ptKylKBI+KDXN1TQ4aYGQIigco1QXbRIjh61N5YxHtYllnsHVTgiPiM3bth2TJzPmSIvbGI2C0xEc47Dw4dgv/7P7ujEW+RnW1auR0OaNrU7mjcpwJHAtrbb5v/Trp1860fXBFPCAoyEwhBs6mkhKt76rzzIDzc3liqQgWOBCzLKume0uBiEcPVTfXRR2ZhNxFfHH8DKnAkgK1ZY35w69SBG2+0OxoR79C5s2nNzM+HKmwdKH7MF6eIgwocCWAzZ5pj//5w1ln2xiLiLRwOuOkmc+5aPkECm1pwRHzI4cMwf745v/12e2MR8TauAmfxYjO4VAKbChwRH7JokZkp0rQpXHaZ3dGIeJfzz4fWraGgAD74wO5oxG4qcER8iKt76rbbtPaNyMlO7KbSbKrAlpNjbuB7M031q10CTmYmuHYRue02e2MR8VauAmfp0pI/cBJ4XK03cXFmQoYvUYEjAeftt83xqqugcWN7YxHxVm3amK6q48dh4UK7oxG7+Gr3FKjAkQBTVKS1b0Tc5VoTR7OpApcKHBEfsXo1/PAD1K0LN9xgdzQi3s3VTbViBfz0k72xiD18dQ0cUIEjAebEtW98rT9ZpKY1bQoXXWRaPhcssDsasYNacER8wKFDJWvfDBtmbywivkKzqQKbL+4i7qICRwLGu++a5edbtjS7JovIqbk231y9GvbutTcWqVnZ2eYG5vemr1GBIwHjjTfM8fbbzTofInJq8fFw6aVmc9p337U7GqlJ//ufOTZuDBER9sZyOlTgSED47jv4z3/Mon5DhtgdjYhvUTdVYPr2W3Ns08beOE6XChwJCK7BxVdfbRasEhH39e9v/jn48kvYudPuaKSmuFpwVOCIeKnjx0sW99PgYpGqi4mBK680566B+uL/VOCIeLmlS2HfPqhfH/70J7ujEfFN6qYKPK4Cp3Vre+M4XSpwxO+5uqduvRVq1bI3FhFfdeONEBwMmzaVTB0W/5Wfb/btA7XgiHil7Gz44ANzfvvt9sYi4suio6FnT3OurRv8X0aGOUZHm5svUoEjfm3OHHA6oWNHuOACu6MR8W3qpgocvt49BSpwxI9ZVkn3lFpvRM7c9ddDaChs22Zu4r98fYAxqMARP7ZxI2zebMbdDBpkdzQivu/ss81SC6BuKn/n62vggAoc8WMzZpjjDTfAOefYG4uIvzixm8qy7I1FPEctOCJe6sgRM/4GYPhwe2MR8SfJyRAebmZSbdpkdzTiCcePm9XfQWNwRLzOggWQmwsJCXDVVXZHI+I/6taFPn3Mubqp/NMPP5jJGRER0KiR3dGcPhU44pdef90chw0zS8yLSPUZONAc33lH3VT+KCPD7EbcqpVv//704dBFyvf997BqlfnBHDrU7mhE/M+118JZZ5mF4L780u5opLp9+60pcHx5/A14uMBJTk6mUaNGhIeHExsby+DBg9m3b1+F1zudTsaNG0f79u2pU6cOcXFxDBkypMxzunXrhsPhKHUb6PqXwk7bt8OECXDzzeao5T5t8cYb5ti7N8TH2xuLiD+KiDBjcUBr4vgjV4Hjy+NvwMMFTvfu3Zk/fz4ZGRksWLCAHTt20K9fvwqvz8/PZ+PGjTz66KNs3LiRhQsX8t1335Hs+kk6wYgRI9i/f3/x7dVXX/XkWzm1mTPNd8PTT5vd6J5+2tx/80174wowx4+XpFyDi0U8x/U/5fz5UFhobyxSvfxhijhAiCdffMyYMcXnjRs3Zvz48fTt2xen00loaGiZ66OiokhPTy/12NSpU7n44ovZtWsXjU4Y7RQREUFMTIzngq+K7dvhjjugqKjsx4YPh8sug+bNaz6uAPTJJ7B/P5x7rjbWFPGkpCSzLs7+/bB6dclu4+LbLKtkDI4KHDfl5OSQmppKYmJiucVNRXJzc3E4HJx99tmlHk9NTWX27Nk0bNiQa665hokTJ1K3bt1yX6OgoICCgoLi+3l5eYDpEnPdXPdPR9D06QQ5HDjK+ZjlcFD02msUPf74ab22tznTXHna9OnBQBC33lqIw1GEnWF6e668jfLlPm/IVVAQ/PnPwbz1VhBz5hSSmFjOP3hewBty5SucTicHD4aTl+cgKMiicePjtv4OLU9Vvo4eL3DGjRvHtGnTyM/Pp0uXLqSlpbn93KNHjzJ+/HgGDRpEZGRk8eO33HILTZo0ISYmhq1btzJhwgT++9//lmn9cZk8eTIpKSllHl+6dCkRERHF9yt6/ql0WruWuKKi8gscy2L/2rVsWLz4tF7bW51urjwpJyeMjz9OAqBp009ZvPg3myMyvDFX3kz5cp/duUpIOBdIZN684/TuvYTgYO+dUmV3rnzF7t1mZ82YmMMsX77c5mjKys/Pd/tah2VVbZLfpEmTyi0WTrR+/Xo6d+4MQHZ2Njk5OWRmZpKSkkJUVBRpaWk4HOWVAyWcTif9+/dn165dfPrpp6UKnJNt2LCBzp07s2HDBjp27Fjm4+W14MTHx5OdnU1kZCROp5P09HR69epVpdYll6BHHiHo2WdxlNMRbQUHU/TAA37VgnMmufKkp58O4pFHgunatYhVq+wfFODNufJGypf7vCVXx49Do0YhZGc7+Pjj4/Tq5X0Fjrfkyhc4nU5Gj/6e6dPP57rrili40P7foyfLy8sjOjqa3NzcSusCOI0WnJEjR55yxlJCQkLxeXR0NNHR0bRs2ZI2bdoQHx/P2rVr6dq1a4XPdzqdDBgwgB9//JEVK1ac8k107NiR0NBQtm/fXm6BExYWRlhYWJnHQ0NDS33Dn3zfbSNGwDPPlPshh2URfOedBPvZD9Zp58pDiopKZk/dcUcQoaHeswKCt+XK2ylf7rM7V6Gh0K8fvPIKvPdeCNdea1sop2R3rnzF3r1nAdC2rXf9HnWpytewygWOq2A5Ha7GohNbU07mKm62b9/OypUrqV+//ilfd9u2bTidTmJjY08rrjPWooXZ+Gj4cIpwUFRkAQ5CgizzuAYYe9zKlbBjB0RGluyVIyKeN3CgKXAWLoSXX4Zy/pcUH7J7txnL6utTxMGD08TXrVvHtGnT2Lx5M5mZmaxcuZJBgwbRrFmzUq03rVu3ZtGiRQAcP36cfv368dVXX5GamkphYSFZWVlkZWVx7NgxAHbs2ME//vEPvvrqK3bu3MnixYvp378/HTp04NJLL/XU2zm1oUMhI4PDf3mIdxnAv3iIwxsztNJcDXntNXO89VaoU8feWEQCyWWXQVyc2RplyRK7o5EztWePKXB8fQYVeLDAqV27NgsXLqRHjx60atWKYcOG0a5dO1atWlWquygjI4Pc3FwA9uzZw4cffsiePXu48MILiY2NLb6tWbMGgFq1arF8+XJ69+5Nq1atGDVqFElJSSxbtozg4GBPvR33NG9O3WmTmdB4LhOYzNpstdzUhAMH4PcamTvvtDcWkUATHAz9+5tzLfrn23Jz4eDBcMA/WnA8Nouqffv2rFix4pTXnTjGOSEhgVONeY6Pj2fVqlVnHJ8nJSaaJczXrIEePeyOxv+9+abZGO6SS+CCC+yORiTwDBwIL7wAH34I+flmpWPxPa4VjGNjLaKiKp8I5Au8bwSRH0hMNMffG53Eg4qKYPp0c67WGxF7XHIJJCTA4cNQhZVAxMtkZJhj69beNxvudKjA8QDXUKAvvih/cWOpPp9+ajbXrFtXg4tF7OJwlGzdMHeuvbHI6du2zbWCsQocqUD79maga24ufPON3dH4Nw0uFvEON99sjosXw6+/2hqKnKYtW0yBc/75KnCkAiEhpskW1E3lST//bKamgrqnROzWvj388Y9w7Bi8/77d0cjpcBU47dvbHEg1UYHjIRqH43lvvWUGF190EVx4od3RiAQ2dVP5tp9+gp9+cuBwWPzxj2rBkUq4xuGowPEMyyrpnrrrLntjERHD1U21fLlZvkF8x9dfm2Ns7GG/6e5XgeMhXbqY4/bt+kH3hBUrTG41uFjEezRvDp07Q2EhvPee3dFIVbgKnISEXHsDqUYqcDzk7LOhbVtz/sUXtobil156yRyHDIGzzrI3FhEp4eqm0qJ/vsVV4DRunGdvINVIBY4HqZvKM/bsgQ8+MOd/+Yu9sYhIaTfdZMbjfP457N5tdzTirv/+1xwTElTgiBtcA43/8x974/A306ebJvArryxpJRMR73DeeXD55eb8nXfsjUXc43SWLGmiLipxi6vA+eorqGQDdakCp7NkcPE999gbi4iUT91UviUjw/xurVvXokGDI3aHU21U4HhQ8+Zw7rmmuNm0ye5o/MP770NWFsTEQN++dkcjIuXp189swrlhA3z3nd3RyKm4xt+0b2/h8P0tqIqpwPEgh6OkFWf1antj8ReuwcUjRkCtWvbGIiLlO/dc6NXLnKsVx/u5xt+0b+8f69+4qMDxsCuvNEc3NlaXU/jmG7P3VHCwVi4W8XaDBpljaqpZt0q8l6sF5/zz7Y2juqnA8bCePc1x1SqNwzlTL79sjsnJZiCjiHivvn0hPNx0UW3caHc0UpkTu6j8iQocD2vXDho2hPx8WLvW7mh812+/ma0ZQIOLRXxB3brmnxGAOXPsjUUqlp0N+/aZ87ZtVeBIFTgcJa04y5bZG4svS02FQ4egZUu46iq7oxERd9xyiznOm2eWdhDv42q9adbMFKX+RAVODXAVOOnp9sbhqywLpk4153ffDUH6rhXxCVdfDfXqmRaCzz6zOxopj7+OvwEVODWiRw9zXL8efv3V1lB80vLlsG2b2ZJh2DC7oxERd9WqZaaMg2mFFe+jAkfOSHw8tGoFRUWwcqXd0fieF14wx6FDISrK1lBEpIpcs6nee08TLbyRq8C54AJ74/AEFTg1xLUmhMbhVM327fDxx+b8vvvsjUVEqu7yy+EPf4DcXPjkE7ujkRMdPw5bt5pzteDIadNA49MzdaoZg3PttWaAsYj4luDgkq0bNJvKu2zfblrV6tSBJk3sjqb6qcCpId26mR/0776DXbvsjsY35ObCzJnmfPRoW0MRkTPg6qb66CPI85/Nqn1eyfo3/jl5ww/fkneKioKLLzbnasVxz8yZZv2bP/6xpAVMRHxPhw5mHOLRo7Bokd3RiItriwZ/HH8DKnBqlLqp3FdYWDI1fNQo/GoDOJFA43CUrImj2VTew59nUIEKnBp1YoFTVGRvLN4uLQ1++MGsoTF4sN3RiMiZuvlmc1y+HPbvtzcWMVTgSLXp0sUM5vr5Z9iyxe5ovJtraviIERARYW8sInLmmjc3vwOLimDuXLujkexs2L3bnLdvb28snqICpwbVqlWyu7i6qSr23/+a9YKCg+Hee+2ORkSqi6s1dvZse+MQs/AsmNmp/rq+mAqcGqZtG05tyhRz7NcPGjWyNxYRqT4DBkBICGzaZFYnF/u4ChzX5Bd/pAKnhrkKnM8+gyNH7I3FG+3cCe+8Y87/+ldbQxGRahYdbda0ArXi2M1V4Fx0kb1xeJIKnBrWrh2cd54pbtRNVdZzz5kZVD17QseOdkcjItXt1lvNMTVVky3sYlkqcMQDHA64/npzrvUgSvvlF3j9dXOu1hsR//SnP0FkpBngqh3G7bF7N/z0k+kuvPBCu6PxHI8WOMnJyTRq1Ijw8HBiY2MZPHgw+/btq/Q5kyZNonXr1tSpU4d69erRs2dPvvzyy1LXFBQUcN999xEdHU2dOnVITk5mz549nnwr1cpV4Hz4odkLRIyXXoL8fLMomBb2E/FP4eHQv785VzeVPVytN+3bQ+3a9sbiSR4tcLp37878+fPJyMhgwYIF7Nixg379+lX6nJYtWzJt2jS2bNnC6tWrSUhIICkpiZ9//rn4mtGjR7No0SLmzZvH6tWr+e2337juuusoLCz05NupNpdfDvXrmxaLzz+3OxrvkJ8P//63Of/rX7Wwn4g/c82mevddjUW0QyB0T4GHC5wxY8bQpUsXGjduTGJiIuPHj2ft2rU4nc4KnzNo0CB69uxJ06ZNadu2Lc8++yx5eXl8/fuKRLm5ucyYMYNnnnmGnj170qFDB2bPns2WLVtY5iODWkJCIDnZnC9caG8s3uLNN826DAkJZvaUiPivyy83MyTz8syinlKzAqXACampT5STk0NqaiqJiYmEhoa69Zxjx47x2muvERUVxQW/b5axYcMGnE4nSUlJxdfFxcXRrl071qxZQ+/evcu8TkFBAQUFBcX3837f7c3pdBbfXPdrSnKyg5kzQ1i0yOJf/zruMxudeSJXx4/DM8+EAA5Gjy7EsoqowS+Fx9jxfeXLlC/3+UOuBg4MYsqUYN56q4i+fT3X+u4PuapORUXw1Vfm9+2FFzpL/a71hVxVJTaPFzjjxo1j2rRp5Ofn06VLF9LcKNfT0tIYOHAg+fn5xMbGkp6eTnR0NABZWVnUqlWLevXqlXpOw4YNycrKKvf1Jk+eTEpKSpnHly5dSsQJy+Sm1+DiNE5nEOHh17B3bwj//vcaWrb8tcY+d3WozlytXh3HDz9cRN26BcTEpLN4sW90NbqrJr+v/IHy5T5fzlV8fF3gKv7v/2DevGVERh7z6Ofz5VxVpz17ziIvrwe1ah1n165P2LvXKnONN+cqPz/f7WsdlmWVfXeVmDRpUrnFwonWr19P586dAcjOziYnJ4fMzExSUlKIiooiLS0NRyWDLA4fPsz+/fvJzs5m+vTprFixgi+//JIGDRowZ84cbr/99lItMgC9evWiWbNmvPLKK2Ver7wWnPj4eLKzs4mMjMTpdJKenk6vXr3cbl2qDoMGBfPee0E89FAhjz/uG/MlqztXlgUXXxzCf//r4G9/K+Tvf/eNPLjDru8rX6V8uc9fcnXJJSFs2uTg+ecLuecez/zs+0uuqsvs2Q6GDQshMbGITz8t/c+kL+QqLy+P6OhocnNziYyMrPTaKrfgjBw5koEDB1Z6TUJCQvF5dHQ00dHRtGzZkjZt2hAfH8/atWvp2rVrhc+vU6cOzZs3p3nz5nTp0oUWLVowY8YMJkyYQExMDMeOHePgwYOlWnEOHDhAYmJiua8XFhZGWFhYmcdDQ0NLfRFPvu9p/frBe+/B++8H89RTwT41sLa6cvX++2ZrhrPOgtGjgwkNDT7z4LxMTX9f+Trly32+nqvbbjOrGs+eHcz993v2Z9/Xc1VdNm0yx4svDiI0tPyxEd6cq6rEVeUCx1WwnA5XY9HJrS/uPM/1nE6dOhEaGkp6ejoDBgwAYP/+/WzdupUprjX+fcQ115j9qbZvh2++gbZt7Y6oZlkWuBoDR40yM8tEJHAMGgQPPghffWW2bgi034F2WLfOHP19gDF4cBbVunXrmDZtGps3byYzM5OVK1cyaNAgmjVrVqr1pnXr1iz6fcW7w4cP8/DDD7N27VoyMzPZuHEjd9xxB3v27KH/7wsnREVFMXz4cMaOHcvy5cvZtGkTt956K+3bt6enjy2eEhkJvXqZ80Bc9O/DD2HzZtN688ADdkcjIjXt3HOhTx9z/tZb9sYSCI4dM79zQQXOGalduzYLFy6kR48etGrVimHDhtGuXTtWrVpVqrsoIyOD3NxcAIKDg/n222+58cYbadmyJddddx0///wzn3/+OW1PKO2fe+45+vbty4ABA7j00kuJiIjgo48+IjjY97o3XIv+Bdp08RNbb+67T603IoHqttvMcdYsLXzqaVu3QkEBnH02NG9udzSe57FZVO3bt2fFihWnvO7EMc7h4eEsdOMvfXh4OFOnTmXq1KlnFKM3SE6GoCDTL7pzp1kHJhB89JF5z3XqqPVGJJD16WP+wcnKgvR003UvnnHi+je+NObzdPnI6iv+69xzzaJXEDitOJYFkyaZ8/vuMzsMi0hgqlULbrnFnL/5pq2h+L1AGn8DKnC8gmvl3lmz7I2jpqSllbTejB1rdzQiYjdXN9X778PBg7aG4tcCZQVjFxU4XmDQIAgLM4O/Nm60OxrPOrH1ZuRItd6IiNlgt317Mwj2nXfsjsY/HT5sZqqBChypQeecUzLY+PXX7Y3F095/3xRxar0REReHA4YONefqpvKMTZvMNg2xsfCHP9gdTc1QgeMl7rjDHFNTzc7a/sjphPHjzfn995vxRyIiYMbhBAfDl1/Ct9/aHY3/cY2/ufhie+OoSSpwvET37tCkidld97337I7GM15/Hb77znRLjRtndzQi4k0aNiyZQaU1carfF1+YowocqXFBQTBsmDmfMcPeWDzh0KGSsTcTJ5pFDkVETnTbbdCc7cRNm0DRwJthwgSz1LucEcuCzz4z51dcYW8sNUkFjhcZOtQUOp99Zlo6/MnTT8OBA9CiBdx1l93RiIg3+nPOTL6lNX/57WmYP9/84mjdWgNzztB335nfv2FhgTPAGFTgeJXzzitpovWnVpx9++CZZ8z55MngpXu4iYidtm8n9C93EEwRIRQSZBVBYaEZGTt8OHz/vd0R+ixX602XLqbICRQqcLyMa7DxW2+ZQbn+YOJEM3C6a1e44Qa7oxERr/TGGxUvr+tw+Nd/fTUsELunQAWO1+nTxwy2++kn+Phju6M5c9u2md9bYFqbA2F5cBE5DTt3msEi5bEs83E5LSpwxCuEhpas6unra+JYFjz0kGlhvv56uPRSuyMSEa+VkFB5C06gbNRXzTIzYdcuCAkxreiBRAWOFxo+3Bw/+cS3/2lZtMi8h9BQePJJu6MREa82bFi5LTgWmMddvxilSlytN506mQVWA4kKHC/UsiX07GlaPp56yu5oTs+hQzBqlDkfN868JxGRCrVoYcbZBAVBcDCFjiCOE4xFkHm8eXO7I/RJgdo9BSpwvNbf/26OM2bA7t32xnI6Hn0U9u6FZs3g4YftjkZEfMLQoZCRAQ89xMGeA3iahzg/LINf+w61OzKfpQJHvM7ll0O3bmYmla+14mzcCFOnmvOXXoLate2NR0R8SPPmMHky9ZfMJbXtZLYVNGfuXLuD8k1ZWWYNHIcjMMdAqsDxYq5WnOnTTWuILygsNAv5FRXBwIGQlGR3RCLiixyOkmUzfH3ChV0+/9wczz8f6tWzNxY7qMDxYt26wWWXwbFjZoq1L3jlFfjqK7MVw7PP2h2NiPiyW2+FWrVMq/DGjXZH43sCuXsKVOB4NYejpBXn1VdNc6M327evZLzN5MkQG2tvPCLi26KjzRITYFqypWpU4IhX69nTrF1w9Cj86192R1OxoiKzfk9entmtVvtNiUh1cP0umT3bzM4U9+TkwJYt5vzyy+2NxS4qcLzcia04L79sNkzzRs88A8uWQUSE2WYiONjuiETEH3TrZvbb/O03U+SIe/7zH7N8UKtWZnX8QKQCxwf07m12gM3P984ZVevXl3RNvfCC+WUkIlIdHA74y1/M+UsvVbybg5QW6N1ToALHJzgckJJizl94wbsG2x06BDffDMePQ//+WmxURKrfkCGmdXjrVtMyIaemAkcFjs+45hoYMMBMw779djOzyhvcey/s2AGNGsFrr2kzTRGpfmefbf6RAtOKI5U7dAg2bDDnV15pbyx2UoHjQ6ZOhfr14euvvaOravZsmDXLrKw+Z475JSQi4gn33GOO773nvWMRvcXKleaf4aZNIT7e7mjsowLHhzRoULJC8D//Cdu22RfLunUO7rzTnE+cGJirZIpIzenY0czQdDrNFjZSscWLzfGaa+yNw24qcHzMwIHwpz+ZH/LbbzdjX2ra3r11+POfgzlyBK6+Gh55pOZjEJHA42rFefVV00IhZVkWfPKJOb/2WntjsZsKHB/jcJjp4lFRZvbS88/X7OfPyoKUlK788ouDzp3h3Xc1JVxEasaAAWbLgczMkj/iUto338CuXRAWZqbYBzIVOD7oD38o2Qbh0UfN1gg14dAhSE4O4cCBOjRrZvHxx3DWWTXzuUVEatc2Lddg/tGTslyFX/fuZuZZIFOB46Nuv930rx49arqJPD0e59gxuPFG2LzZQVRUAWlpx2nQwLOfU0TkZHffbY6ffALff29vLN5I429KqMDxUQ4HvPOOGXT3yy9mSwdP/bDn5Ji+3PR0qFPH4tFH19KsmWc+l4hIZVq0MH+8LQv+/W+7o/EueXmwerU5V4Hj4QInOTmZRo0aER4eTmxsLIMHD2bfvn2VPmfSpEm0bt2aOnXqUK9ePXr27MmXX35Z6ppu3brhcDhK3QYOHOjJt+KV6tY1/8Wcf74ZG9OjB+zeXb2f49tv4ZJLYPlyqFMH3n23kObNf63eTyIiUgWjR5vjG2/Ar7/aGYl3Wb7cTEBp3twUgoHOowVO9+7dmT9/PhkZGSxYsIAdO3bQr1+/Sp/TsmVLpk2bxpYtW1i9ejUJCQkkJSXx888/l7puxIgR7N+/v/j26quvevKteK1zzoGlS803865dpiXnp5+q57WXLIEuXUzLUOPGsGYN9OypddJFxF69ekHbtnD4sKaMn8g1/katN4ZHC5wxY8bQpUsXGjduTGJiIuPHj2ft2rU4nc4KnzNo0CB69uxJ06ZNadu2Lc8++yx5eXl8/fXXpa6LiIggJiam+BYVFeXJt+LVGjY0G102agTffQedOsHChae/Z8uxYzBliumWys2Fyy6DdetMS5GIiN0cjpJWnH//257lMryNZZWMvwn06eEuNTYGJycnh9TUVBITEwkNDXXrOceOHeO1114jKiqKCy64oNTHUlNTiY6Opm3btjz44IMcOnTIE2H7jEaNTPNks2awd68ZEPynP8GPP7r/GsePmybfVq1g3DgoKjKDmZctQwOKRcSr3HILREeblutFi+yOxn5bt5rf/eHhgb09w4lCPP0Jxo0bx7Rp08jPz6dLly6kpaWd8jlpaWkMHDiQ/Px8YmNjSU9PJzo6uvjjt9xyC02aNCEmJoatW7cyYcIE/vvf/5Kenl7u6xUUFFBQUFB8Py8vDwCn01l8c933ZY0bm404J08O4plngvj4YwcrVlj89a9F/PnPRbRpU/6aNbm58PHHDh57LJjvvzebScXEWEycWMiwYRYOh+nXBfwmVzVBuaoa5ct9yhWEhMCddwbxxBPBPPtsEX37lr/yX6DkKi0tCAime/ciQkIKOZ236wu5qkpsDsuqWkfGpEmTSHFtbV2B9evX07lzZwCys7PJyckhMzOTlJQUoqKiSEtLw1HJroyHDx9m//79ZGdnM336dFasWMGXX35JgwqaETZs2EDnzp3ZsGEDHTt2dDvmOXPmEOGnCwXs3n0Wr756Plu3nlv8WHj4cZo1+5UWLQ5SVORg165Idu+uyy+/1C6+JjKygBtu2M411+wkLExLhYqI9zp4MIwRI5I4fjyIKVM+o2XLg3aHZJtHHrmUbduiGTHia/r0qULTvY/Jz89n0KBB5ObmEhkZWem1VS5wsrOzyc7OrvSahIQEwsPDyzy+Z88e4uPjWbNmDV27dnX7c7Zo0YJhw4YxYcKEcj9uWRZhYWHMmjWLm266qczHy2vBiY+PJzs7m8jISJxOJ+np6fTq1cvt7jNfYFkwZ46DN94IYuNGB4cPV1xUxsdbjBhRxL33FlG3bsWv6a+58gTlqmqUL/cpVyWGDQtm9uwg+vcvIjW17D9lgZCr3FyIjQ3h+HEH337rpGnT03sdX8hVXl4e0dHRbhU4Ve6iio6OLtVdVBWuWurEYsPd51X2nG3btuF0OomNjS3342FhYYSFhZV5PDQ0tNQX8eT7/mDoUHMrLDRTvtetMysf16plZiH88Y/mdvbZDiD499up+WOuPEW5qhrly33KFYwdC7Nnw8KFQWRlBVW4e7Y/52rVKjOGsmVLaNXqzN+jN+eqKnF5bAzOunXrWLduHZdddhn16tXjhx9+4O9//zvNmjUr1XrTunVrJk+ezPXXX8/hw4d5/PHHSU5OJjY2ll9++YWXXnqJPXv20L9/fwB27NhBamoq1157LdHR0XzzzTeMHTuWDh06cKm2tK5QcLApaNq2LVnqXETE1114odlz6dNPzYyqp5+2OSAbfPyxOWr2VGkem0VVu3ZtFi5cSI8ePWjVqhXDhg2jXbt2rFq1qlRrSkZGBrm5uQAEBwfz7bffcuONN9KyZUuuu+46fv75Zz7//HPatm0LQK1atVi+fDm9e/emVatWjBo1iqSkJJYtW0awdn0UEQk4Y8ea4yuvmJXXA8mxY/D+++b8T3+yNRSv47EWnPbt27NixYpTXnfiEKDw8HAWLlxY6fXx8fGsWrXqjOMTERH/0KePWafr669h6lSYONHuiGrOkiVw8CDExmp6+Mm0F5WIiPg0hwMefticv/ACBNKyaHPnmuNNN5W/DEggU4EjIiI+r18/s2XNwYMQKDv3HD4MH3xgzm++2d5YvJEKHBER8XnBwTB+vDl/5hk4etTeeGrCRx9Bfr5Zwf6ii+yOxvuowBEREb9w660QHw9ZWWbbGX/n6p4aONB000lpKnBERMQv1KoFf/2rOZ8yhdParsBX5OSU7B6u7qnyqcARERG/MXw4NGwImZmQmmp3NJ6zcKEp4Nq3N+ubSVkqcERExG/Urg0PPGDOJ082q7j7I1f3lFpvKqYCR0RE/Mpf/gL16sF338G8ef43OGX/fli50pwPHGhvLN5MBY6IiPiVunVLxuKkpATjdPpXkTN/vtlMuUsXaNLE7mi8lwocERHxO6NGmdV9d+50sGRJgt3hVCt1T7lHBY6IiPidiAj4+9/N+bvvtvKb1Y137IAvv4SgIBgwwO5ovJsKHBER8UvDh0Pz5ha5uWH8+9/+8efupZfMsVcviImxNxZv5x9fcRERkZOEhsKkSWYa1bPPBvHzzzYHdIYOHYLXXzfno0bZG4svUIEjIiJ+q18/i6ZNf+XQIQeTJ9sdzZl56y3Iy4OWLeHqq+2OxvupwBEREb8VFASDB38DwIsvwq5dNgd0moqK4N//NuejRpn3JZVTikRExK9deOHPdOtWxLFj8Le/2R3N6fm//4Pt2yEqCm67ze5ofIMKHBER8WsOBzzxRBEAs2bB55/bHNBpeOEFcxw+HM46y95YfIUKHBER8XudO1uMGGHO77nHtzbi/OYbWLrUdEuNHGl3NL5DBY6IiASEyZOhfn3YurVkPIsvcMWanKyVi6tCBY6IiASE+vVhyhRzPnEi7NljbzzuyMmBt9825/ffb28svkYFjoiIBIyhQyExEQ4fhjFj7I7m1F5/HY4cgQsugCuvtDsa36ICR0REAkZQELz8MgQHw3vvmdlJ3iovD5591pzff78ZLC3uU4EjIiIB5fzzS1YCHjkSjh61N56KTJ4MP/0ELVrALbfYHY3vUYEjIiIBZ9Iks9v4jh0wbpzd0ZS1cyc895w5/9e/oFYtW8PxSSpwREQk4ERGwvTp5vzf/4aPP7Y3npONHw8FBXDVVfCnP9kdjW9SgSMiIgGpT5+SrqqhQ2H/flvDKbZmDbzzjhlz8+yzGntzulTgiIhIwHrqKTNDKTsbhgwxez7ZqaioZHbX8OEmNjk9KnBERCRghYfD3LlQuzYsW2bGu9hp7lxYt85sx/DPf9obi69TgSMiIgGtTZuSvZ4eeQTWr7cnjvx8M/YG4OGHISbGnjj8hQocEREJeHfcAf36wfHj5rh3b81+fssyU9b37IHGjX1jEUJvpwJHREQCnsMBr70GLVvCrl2QlGS2Sagpr7wCM2eahQhnzDBdZ3JmVOCIiIgA9eqZXbvj4swO3tddZ7Z08LQ1a0r2mXrySejRw/OfMxB4tMBJTk6mUaNGhIeHExsby+DBg9m3b5/bz7/rrrtwOBw8//zzpR4vKCjgvvvuIzo6mjp16pCcnMweX9g1TUREvFrjxqbIqVcPvvgC+vcHp9Nzn2//ftMl5nTCgAHw4IOe+1yBxqMFTvfu3Zk/fz4ZGRksWLCAHTt20K9fP7ee+/777/Pll18SFxdX5mOjR49m0aJFzJs3j9WrV/Pbb79x3XXXUVhYWN1vQUREAkzbtmbhv9q14ZNP4PbbPTN9/NgxU0Dt3w/t2pmuKa15U308WuCMGTOGLl260LhxYxITExk/fjxr167FeYpyeO/evYwcOZLU1FRCQ0NLfSw3N5cZM2bwzDPP0LNnTzp06MDs2bPZsmULy5Yt8+TbERGRANG1KyxYACEhkJoKffvCr79W3+s7nXD33fCf/0BUFCxaZKaGS/WpsTE4OTk5pKamkpiYWKZoOVFRURGDBw/moYceom3btmU+vmHDBpxOJ0lJScWPxcXF0a5dO9asWeOR2EVEJPBccw3Mng1hYfDRR9CpE2zefOave+AA9OplBhU7HKaAat78zF9XSgvx9CcYN24c06ZNIz8/ny5dupCWllbp9U899RQhISGMcq2ffZKsrCxq1apFvXr1Sj3esGFDsrKyyn1OQUEBBQUFxffz8vIAcDqdxTfXfamccuU+5apqlC/3KVfuO9Nc3XADJCTAwIEh/PCDg65dLaZNK2TIEOu0Xm/9egc33RTMnj0OzjrL4o03CklKsjw6zsddvvB9VZXYHJZlVemrNGnSJFJSUiq9Zv369XTu3BmA7OxscnJyyMzMJCUlhaioKNLS0nCU09G4YcMG+vTpw8aNG4vH3iQkJDB69GhGjx4NwJw5c7j99ttLFSwAvXr1olmzZrzyyituxzxnzhwiIiLcet8iIhK4Dh0K5fnnO7Jhg1l97/LL93DDDdtp0iTPredbFixb1ohXXz2f48eD+cMfDjF+/Dri43/zZNh+Jz8/n0GDBpGbm0tkZGSl11a5wMnOziY7O7vSaxISEggvZxL/nj17iI+PZ82aNXTt2rXMx59//nkeeOABgoJKes4KCwsJCgoiPj6enTt3smLFCnr06EFOTk6pVpwLLriAvn37llvIlNeCEx8fT3Z2NpGRkTidTtLT0+nVq1el3WeCclUFylXVKF/uU67cV525KiqCyZOD+Mc/grAs80/6FVcUcc89RSQnW4SU0yfy3Xcwb14Q8+YF8f335jnJyUW88UYhp/j7XON84fsqLy+P6OhotwqcKndRRUdHEx0dfVqBuWqpk1tfXAYPHkzPnj1LPda7d28GDx7M7bffDkCnTp0IDQ0lPT2dAQMGALB//362bt3KlClTyn3dsLAwwsLCyjweGhpa6ot48n2pmHLlPuWqapQv9ylX7quuXE2aBNdea3b5fu89+OyzID77LIi4OGjWDCIjoW5dc9u0Cb76quS5tWvDo4/CuHFBpf6R9zbe/H1Vlbg8NgZn3bp1rFu3jssuu4x69erxww8/8Pe//51mzZqVar1p3bo1kydP5vrrr6d+/frUr1+/1OuEhoYSExNDq1atAIiKimL48OGMHTuW+vXrc8455/Dggw/Svn37MsWRiIhIdbv4Ypg3z2yr8Mor8OqrsG+fuZ0sONisijxokJmJpZlSNcdjBU7t2rVZuHAhEydO5PDhw8TGxnL11Vczb968Uq0pGRkZ5ObmVum1n3vuOUJCQhgwYABHjhyhR48evPnmmwQHB1f32xARESnXeefBY4/B3/5mpnsfPAh5eeaWmwsNG5pByg0a2B1pYPJYgdO+fXtWrFhxyutONQRo586dZR4LDw9n6tSpTJ069XTDExERqRbh4dpewRt5byegiIiIyGlSgSMiIiJ+RwWOiIiI+B0VOCIiIuJ3VOCIiIiI31GBIyIiIn5HBY6IiIj4HRU4IiIi4ndU4IiIiIjfUYEjIiIifkcFjoiIiPgdFTgiIiLid1TgiIiIiN/x2G7i3sy1g3leXh4ATqeT/Px88vLyCA0NtTM0r6dcuU+5qhrly33KlfuUK/f5Qq5cf7ddf8crE5AFzqFDhwCIj4+3ORIRERGpqkOHDhEVFVXpNQ7LnTLIzxQVFbFv3z7q1q2Lw+EgLy+P+Ph4du/eTWRkpN3heTXlyn3KVdUoX+5TrtynXLnPF3JlWRaHDh0iLi6OoKDKR9kEZAtOUFAQ5513XpnHIyMjvfaL6m2UK/cpV1WjfLlPuXKfcuU+b8/VqVpuXDTIWERERPyOChwRERHxOypwgLCwMCZOnEhYWJjdoXg95cp9ylXVKF/uU67cp1y5z99yFZCDjEVERMS/qQVHRERE/I4KHBEREfE7KnBERETE76jAEREREb+jAgf4+OOPueSSS6hduzbR0dHccMMNpT6+a9cu/vSnP1GnTh2io6MZNWoUx44dsyla+xUUFHDhhRficDjYvHlzqY8pV7Bz506GDx9OkyZNqF27Ns2aNWPixIll8qBclXjppZdo0qQJ4eHhdOrUic8//9zukGw3efJkLrroIurWrUuDBg3o27cvGRkZpa6xLItJkyYRFxdH7dq16datG9u2bbMpYu8xefJkHA4Ho0ePLn5MuSqxd+9ebr31VurXr09ERAQXXnghGzZsKP643+TKCnDvvfeeVa9ePevll1+2MjIyrG+//dZ69913iz9+/Phxq127dlb37t2tjRs3Wunp6VZcXJw1cuRIG6O216hRo6xrrrnGAqxNmzYVP65cGZ988ok1dOhQa8mSJdaOHTusDz74wGrQoIE1duzY4muUqxLz5s2zQkNDrenTp1vffPONdf/991t16tSxMjMz7Q7NVr1797Zmzpxpbd261dq8ebPVp08fq1GjRtZvv/1WfM2TTz5p1a1b11qwYIG1ZcsW66abbrJiY2OtvLw8GyO317p166yEhATr/PPPt+6///7ix5UrIycnx2rcuLE1dOhQ68svv7R+/PFHa9myZdb3339ffI2/5CqgCxyn02n94Q9/sF5//fUKr1m8eLEVFBRk7d27t/ixuXPnWmFhYVZubm5NhOlVFi9ebLVu3dratm1bmQJHuarYlClTrCZNmhTfV65KXHzxxdbdd99d6rHWrVtb48ePtyki73TgwAELsFatWmVZlmUVFRVZMTEx1pNPPll8zdGjR62oqCjrlVdesStMWx06dMhq0aKFlZ6ebl155ZXFBY5yVWLcuHHWZZddVuHH/SlXAd1FtXHjRvbu3UtQUBAdOnQgNjaWa665plRT3BdffEG7du2Ii4srfqx3794UFBSUatILBD/99BMjRoxg1qxZRERElPm4clWx3NxczjnnnOL7ypVx7NgxNmzYQFJSUqnHk5KSWLNmjU1Reafc3FyA4u+jH3/8kaysrFK5CwsL48orrwzY3N1777306dOHnj17lnpcuSrx4Ycf0rlzZ/r370+DBg3o0KED06dPL/64P+UqoAucH374AYBJkybxt7/9jbS0NOrVq8eVV15JTk4OAFlZWTRs2LDU8+rVq0etWrXIysqq8ZjtYlkWQ4cO5e6776Zz587lXqNclW/Hjh1MnTqVu+++u/gx5crIzs6msLCwTC4aNmwYUHk4FcuyeOCBB7jsssto164dQHF+lDtj3rx5bNy4kcmTJ5f5mHJV4ocffuDll1+mRYsWLFmyhLvvvptRo0bx9ttvA/6VK78scCZNmoTD4aj09tVXX1FUVATAI488wo033kinTp2YOXMmDoeDd999t/j1HA5Hmc9hWVa5j/sad3M1depU8vLymDBhQqWvp1x9Veo5+/bt4+qrr6Z///7ccccdpT7mz7mqqpPfc6DmoSIjR47k66+/Zu7cuWU+ptzB7t27uf/++5k9ezbh4eEVXqdcQVFRER07duSJJ56gQ4cO3HXXXYwYMYKXX3651HX+kKsQuwPwhJEjRzJw4MBKr0lISODQoUMA/PGPfyx+PCwsjKZNm7Jr1y4AYmJi+PLLL0s99+DBgzidzjIVri9yN1ePPfYYa9euLbNHSefOnbnlllt46623lCtMrlz27dtH9+7d6dq1K6+99lqp6/w9V+6Kjo4mODi4zH+GBw4cCKg8VOa+++7jww8/5LPPPuO8884rfjwmJgYw/3HHxsYWPx6IuduwYQMHDhygU6dOxY8VFhby2WefMW3atOLZZ8oVxMbGlvqbB9CmTRsWLFgA+Nn3lW2jf7xAbm6uFRYWVmqQ8bFjx6wGDRpYr776qmVZJYNB9+3bV3zNvHnzAm4waGZmprVly5bi25IlSyzAeu+996zdu3dblqVcnWjPnj1WixYtrIEDB1rHjx8v83HlqsTFF19s/eUvfyn1WJs2bQJ+kHFRUZF17733WnFxcdZ3331X7sdjYmKsp556qvixgoICnxwMeqby8vJK/X7asmWL1blzZ+vWW2+1tmzZolyd4Oabby4zyHj06NFW165dLcvyr++rgC5wLMuy7r//fusPf/iDtWTJEuvbb7+1hg8fbjVo0MDKycmxLKtkOm+PHj2sjRs3WsuWLbPOO++8gJzOe6Iff/yxwmnigZ6rvXv3Ws2bN7euuuoqa8+ePdb+/fuLby7KVQnXNPEZM2ZY33zzjTV69GirTp061s6dO+0OzVZ/+ctfrKioKOvTTz8t9T2Un59ffM2TTz5pRUVFWQsXLrS2bNli3XzzzT45ndcTTpxFZVnKlcu6deuskJAQ6/HHH7e2b99upaamWhEREdbs2bOLr/GXXAV8gXPs2DFr7NixVoMGDay6detaPXv2tLZu3VrqmszMTKtPnz5W7dq1rXPOOccaOXKkdfToUZsi9g7lFTiWpVxZlmXNnDnTAsq9nUi5KvHiiy9ajRs3tmrVqmV17NixeCp0IKvoe2jmzJnF1xQVFVkTJ060YmJirLCwMOuKK66wtmzZYl/QXuTkAke5KvHRRx9Z7dq1s8LCwqzWrVtbr732WqmP+0uuHJZlWTb0jImIiIh4jF/OohIREZHApgJHRERE/I4KHBEREfE7KnBERETE76jAEREREb+jAkdERET8jgocERER8TsqcERERMTvqMARERERv6MCR0RERPyOChwRERHxOypwRERExO/8P+1xJIQ2xQdqAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<enumerate at 0x153889800>"
      ]
     },
     "execution_count": 127,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x = [-55, -25, 5, 35, 65]\n",
    "yy = [-3.25, -3.2, -3.02, -3.32, -3.1]\n",
    "#t = np.linspace(0,1,N+1)\n",
    "#yy = np.sin(np.pi*t)\n",
    "X = np.linspace(min(x), max(x), 100)\n",
    "Y = lagrange(x,yy)\n",
    "plt.plot(X,Y(X),'b-',x,yy,'r.',markersize=10)\n",
    "plt.grid()\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> **Exercice 3:**\n",
    "Write a function `lagrange_interpolation(x,y,X)` that computes the Lagrange interpolation of the data points `x` and `y` contained in `X`.\n",
    "You can use a *nested for-loop*: the inner\n",
    "for-loop computes the product for the Lagrange basis polynomial and the outer loop computes the\n",
    "sum for the Lagrange polynomial."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 142,
   "metadata": {},
   "outputs": [],
   "source": [
    "## Complete this code here:\n",
    "def lagrange_interpolation(x, y, X):\n",
    "    \"\"\"\n",
    "    Lagrange interpolation\n",
    "\n",
    "    Parameters\n",
    "    ----------\n",
    "    x : array of shape (n)\n",
    "    y : array of shape (n)\n",
    "    X : array of the points where to evaluate the polynomial \n",
    "        \n",
    "    Returns\n",
    "    -------\n",
    "    Y : values of the polynomial at X\n",
    "    \"\"\"\n",
    "    \n",
    "        \n",
    "    return Y\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Test you function on the points $(0,2), (1,1), (2,3), (3,5), (4,1)$."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Chebyshev points.\n",
    "\n",
    "Consider sampling the function $f(x) = \\frac{1}{1+x^2}$ on the intervall $[-1,1]$ over $6$ equially spaced points $(-1,0.0385),(0.6,0.1),(- 0.2,0.5),(0.2,0.5),(0.6,0.1),(1,0.0385)$.\n",
    "> **Exercice:**\n",
    "\n",
    "Plot your function and the Lagrange polynomial on the same graph. Increase the number of point to $N=10$ then $N=14$. What do you observe ?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "## Insert your code here:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Consider interpolating on the following points\n",
    "\\begin{equation}\n",
    "x_{k} = \\cos\\left(\\frac{(2k+1)\\pi}{2n}\\right), k=0,\\dots,n.    \n",
    "\\end{equation}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "## Insert your code here:"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python [conda env:monenv]",
   "language": "python",
   "name": "conda-env-monenv-py"
  },
  "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.11.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
