diff --git "a/code/data_science_handbook.ipynb" "b/code/data_science_handbook.ipynb" new file mode 100644--- /dev/null +++ "b/code/data_science_handbook.ipynb" @@ -0,0 +1,275 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from scipy import stats\n", + "\n", + "# use seaborn plotting defaults\n", + "import seaborn as sns; sns.set()\n", + "\n", + "\n", + "\n", + "from sklearn.datasets._samples_generator import make_blobs\n", + "\n", + "\n", + "X, y = make_blobs(n_samples=50, centers=2,\n", + " random_state=0, cluster_std=0.60)\n", + "plt.scatter(X[:, 0], X[:, 1], c=y, s=50, cmap='autumn');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Problem is that we can draw a line to discriminate between the two sets many different ways! " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "xfit = np.linspace(-1, 3.5)\n", + "plt.scatter(X[:, 0], X[:, 1], c=y, s=50, cmap='autumn')\n", + "plt.plot([0.6], [2.1], 'x', color='red', markeredgewidth=2, markersize=10)\n", + "\n", + "for m, b in [(1, 0.65), (0.5, 1.6), (-0.2, 2.9)]:\n", + " plt.plot(xfit, m * xfit + b, '-k')\n", + "\n", + "plt.xlim(-1, 3.5);\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "SVC(C=10000000000.0, kernel='linear')" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from sklearn.svm import SVC # \"Support vector classifier\"\n", + "model = SVC(kernel='linear', C=1E10)\n", + "model.fit(X, y)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "def plot_svc_decision_function(model, ax=None, plot_support=True):\n", + " \"\"\"Plot the decision function for a 2D SVC\"\"\"\n", + " if ax is None:\n", + " ax = plt.gca()\n", + " xlim = ax.get_xlim()\n", + " ylim = ax.get_ylim()\n", + " \n", + " # create grid to evaluate model\n", + " x = np.linspace(xlim[0], xlim[1], 30)\n", + " y = np.linspace(ylim[0], ylim[1], 30)\n", + " Y, X = np.meshgrid(y, x)\n", + " xy = np.vstack([X.ravel(), Y.ravel()]).T\n", + " P = model.decision_function(xy).reshape(X.shape)\n", + " \n", + " # plot decision boundary and margins\n", + " ax.contour(X, Y, P, colors='k',\n", + " levels=[-1, 0, 1], alpha=0.5,\n", + " linestyles=['--', '-', '--'])\n", + " \n", + " # plot support vectors\n", + " if plot_support:\n", + " ax.scatter(model.support_vectors_[:, 0],\n", + " model.support_vectors_[:, 1],\n", + " s=300, linewidth=1, facecolors='none');\n", + " ax.set_xlim(xlim)\n", + " ax.set_ylim(ylim)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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U0gps9OZSVEURckpNSWiKIpSIlTCVhRFKREqYSuKopQIlbAVRVFKhErYiqIoJUIlbEVRlBKhEraiKEqJUAlbURSlRKiErSiKUiKKNmFv2bKFs88+m29/+9t873vfo709dbv4zZs3M3nyZE444QROOOEELrzwwrzE9swzzzB37lxmzZrFQw89lDL+ySefcPLJJzN79mz+3//7f0Sj0bzE1ZcY77zzTmbOnJm4dunek2t+v5/58+ezaVPq/ofFcA2h+xiL4RreeeedzJs3j3nz5nHbbbeljBf6OvYUXzFcw9///vfMnTuXefPmcd9996WMF/oaJpFF6uKLL5bPPvuslFLKO++8U952220p71m+fLm84YYb8hrXtm3b5MyZM2VTU5Nsb2+XCxYskF988UXSe+bNmyfXrFkjpZTyJz/5iXzooYeKLsZLLrlEvv/++3mNq7MPPvhAzp8/X44fP15+8803KeOFvoZS9hxjoa/hm2++KU8//XQZCoVkOByWCxculCtWrEh6TyGvY2/iK/Q1fPvtt+UZZ5whI5GIDAaDcubMmXL9+vVJ7ymG78W4orzDjkQivPvuu8yePRuAk08+meXLl6e876OPPuLzzz/nhBNOYOHChXz22Wc5j23lypUcdthhVFRU4Ha7mT17dlJsmzdvRtd1DjzwwG5jL2SMAB9//DF33303CxYs4OabbyYUSr+hbK489thj3HjjjQwYMCBlrBiuIXQfIxT+GtbW1nLddddht9ux2WyMHj2aLVu2JMYLfR17ig8Kfw0PPfRQHnjgAaxWKw0NDRiGgdvtTowX+hp2VZQJu6mpCa/Xi9UaayZYW1tLXV1dyvscDgfHH388S5Ys4cILL+Syyy4jHA7nNLbt27dTW1ubeD1gwICk2LqOZ4q9kDG2t7ez33778aMf/YglS5bQ2trKXXfdldcYb731Vg4++OC0Y8VwDaH7GIvhGu6zzz6JRLJx40aWLVvGkUcemRgv9HXsKb5iuIYANpuNO+64g3nz5jFt2jQGDhyYGCv0Neyq4Al72bJlzJgxI+m/a665BiGSWwx2fQ1w+eWXc9ZZZ6FpGkceeSRut5sNGzbkNF7TNJNikVImve5pPB96isHj8XDPPfcwevRorFYrixYt4rXXXstrjN0phmvYk2K6hl988QWLFi3i2muvZa+99kp8vFiuY6b4iukaXnHFFaxatYqtW7fy2GOPJT5eLNcwruAJe86cObz++utJ/9177720tbVhGAYA9fX1aX8t/fvf/05TU1PitZQycVeeK4MGDaK+vj7xumtsXcd37NiR8VfqQsW4ZcsWHn/88cTrfFy3viiGa9iTYrmG7733Hueffz7XXHMNJ510UtJYMVzH7uIrhmu4fv16PvnkEwBcLhezZs1KmlothmvYWcETdjo2m42DDz6Y5557DoCnnnqKGTNmpLzv3XffTfyFv/POO5imyahRo3Ia2/Tp01m1ahWNjY0Eg0FWrFiRFNvQoUNxOBy89957ADz99NNpYy9kjE6nk9/85jd88803SCl56KGHOO644/IaY3eK4Rr2pBiu4datW7nsssv47W9/y7x581LGC30de4qvGK7hpk2b+OlPf0o4HCYcDvPSSy9x0EE7N1Qu9DVMUZBHnb2wadMmec4558g5c+bIRYsWyebmZimllIsXL5a/+93vpJSxaojzzz9fzps3T5588snyk08+yUtsS5culfPmzZOzZs2Sf/7zn6WUUl500UVy7dq1UkopP/nkE3nKKafI2bNny6uvvlqGQqG8xNWXGJcvX54Yv+666woSo5RSzpw5M1GBUWzXsKcYC30Nf/7zn8sDDzxQHn/88Yn/Fi9eXDTXsTfxFfoaSinlHXfcIefMmSPnz58v77jjDill8X4vqh1nFEVRSkRRTokoiqIoqVTCVhRFKREqYSuKopQIlbAVRVFKhErYiqIoJUIlbEVRlBKhEraiKEqJUAlbURSlRPx/sndOjAL86yEAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(X[:, 0], X[:, 1], c=y, s=50, cmap='autumn')\n", + "plot_svc_decision_function(model);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Power is when we combine with Kernels! \n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD7CAYAAABpJS8eAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8/fFQqAAAACXBIWXMAAAsTAAALEwEAmpwYAABV0klEQVR4nO3dd3hUVfrA8e+90ycdSGhSRAUUKSoIIoLUSA/NvtjXn2vZ1RX76q5bXF3bqmt3bYsNVIpC6FVAOgLSFJESIKRnernn98fQwsykTktyPs+jD5k7c+87Jzfv3Dn3nPcoQgiBJEmS1OCp8Q5AkiRJig2Z8CVJkhoJmfAlSZIaCZnwJUmSGgmZ8CVJkhoJmfAlSZIaCZnwJUmSGgl9vAOoTHGxHU2L3zSBpk2TKSy0xe34iUi2SbDG0iZCCHbs2M7mzZuwWq306zeAZs2ahX1+Y2mXmoh2m6iqQkZGUtjtCZ3wNU3ENeGfiEGqSLZJsIbeJk6nkyVLFvLrr/vo0OEcrrxyMCaTqcr33dDbpTbi2SYJnfAlSYq/w4fzWLhwHk6nk379BnDhhV1RFCXeYUm1IBO+JEkhCSHYvHkja9euISUlhXHjJpKZmRXvsKQ6kAlfkuoB3Y4fUQ/n4T/3PLS27aJ+PKfTweLFC9m//1fOPfc8BgwYhNFojPpxpeiq8ygdm83GqFGjOHjwYNC2HTt2MH78eLKzs3n88cfx+Xx1PZwkNSq6vT+R0b83GVcNIvWOm2lyeS/SJo1FKS6K2jEPHTrItGmfkZd3iP79r2TIkOyTyd7w3QrSxo2kaaf2ZFx2MeZ33wKvN2qxSJFVp4S/ZcsWrrvuOvbt2xdy+5QpU3jyySeZN28eQgi++OKLuhxOkhoXu530UcPQ7dqJ4nSglpehuF0YVn1H2jXjIcKFbjVNY/36tcyePQODwcC4cRPp0uVUf73p0/+Rdv1EjN+tQC0uQv/zTyT97SnSbpgEfn9EY5Gio04J/4svvuCpp54iKyu4X+/QoUO4XC569OgBwPjx48nNza3L4SQpMW3fTuqNV9OsTSbN2mSSevMN6H7aU+fdmr/8AhxOlDMSu+L1oN+9E/3G9XU+xgkOh51vvpnJunXfc955HZkw4RqaNcs89QS7nZRHHkRxOiu8TnU40K/7HuPC+RGLRYqeOvXh//3vfw+7LT8/n8zMUydMZmYmR48ercvhJCnh6LZthTHZGO32k4nZmPsthuVLKMldgr9jp1rv2/DdClSHPfRGvx/DxvX4LulV6/2fcPDgARYunI/X62XgwMF06nR+0Cgc47IlCL2OUGNzVLsd8ycf4ckeXudYpOiK2k1bTdMqnDRCiBoP5WraNDnSYdVYZmZKvENIOLJNTvPXJ8Bmq5AIFU1Dsdtp8s+/wOzZtd93m1ag04XsLlEMBpLbtCS5Dr8LTdNYtWoVa9euJTOzCaNGjQo/kaqK+7UmrzvkeSHPlWDxbJOoJfwWLVpw7Nixkz8XFBSE7PqpTGGhLa6TFDIzUzh2rDxux09Esk1O4/HQbPnykFe9CIGYm0tBfhnUcsy6LucaMt55J6gbBUD4fBRePghRy9+FzWZj4cJ5HD6cR+fOF9Cv3xUIYQz7u1XP70ETjyfkexUWK7aBw3Cd8Vp5rgSLdpuoqlLphXLUaum0bt0ak8nEhg0bAJg5cyb9+/eP1uGkBkS/7nuS//A7Um+8Gssbr6GUlsQ7pNCqumkqtDrt3n9hV5y3/RZhtXLiSEJVERYL5S++ikhJrdV+f/11H9OmfUZBwTEGDRrKwIGDMRgqv4TXWp+FK2cCmsVS4XGh0yGSk3Ffe32tYpFiK+JX+HfccQf33XcfXbt25fnnn+eJJ57AZrPRpUsXJk+eHOnDSQ2JECQ/+iDmT6eCK3Cz0rBiOdaXnqNk9nz8nTrHO8KKTCZ8Xbth2Lwp5GZvn761vro/wf7kX/EMGITl7dfRHTyAr0tXHHfdi79rtxrvy+/3s3btGjZv3kjTps0YOvQqMjIyqv1620uvITIysHz4X4SqQ/F68fa6lPJX36z1h48UW0oiL2Iuu3QSTzTbxLhoPim3TUZ1OCo8LhQF/znnUvzd+jon0EjTr1lNxrXj4MyYDQZKP5iKd+hVcYqsovLychYunMeRI4fp0uVCLrusHwaDoXY7czjQHTyAltEEcdrAjNMpx47R7O1X0KZOBa8Pz4CBOKY8mngf2jHWYLt0JKmmzO+8GZTsARQhUPMOodu+LQ5RVc7X5zKYOxfv+V0QcPw/BRSFtFt/g/W5f8Q7RPbt28v06Z9RVFTI0KHZ9O8/sPbJHsBqxd+xU6XJPmPQ5fD666gFBailJZi+mUl69kD0mzbU/rhSncmEL1WLUlqC9a9PQcuWND33LFJ/cw36rVsiegxd3qHwG/V61PwEHdbbvz++nr3AZEIBFASKx4PidmN9/RWM38yKS1h+v59Vq1Ywd+63pKSkMHHiNZx7bseoH9f60nOoRYUVZuAqmobqsJM85Q9RP74UnqylI1VJKSslY0h/1MN54PGgAsb5uRiXL6N06hd4+0XmZry3+8Xo9uxGCTUM0e2u05j2qLLbMU/7DMXtDtqkOBxYX34ez6gxMQ2prKyUBQvmkZ9/lK5du9OnT1/0+tj8uZu/mo4SptyCfucOlGPHwn47kKJLXuFLVbK8/QbqkcMoHs/JxxQhUJwOUv5wT8Sm+Dvvvg9CFOgSJhOe/leindUmIseJuLw8hC58MtXt+yWGwcDevT8zffrnlJaWkJ09gn79+scs2QPg9YTfpupQ3K7YxSJVIBO+VCXz55+EvHoFUI/lo/v5p4gcx9/5fMpefxctKQktOQXNakWYzfjO64j9yb9G5BhRkZWF4gtfQExr3jwmYfh8PlasWMa8eXNIS0tn4sRr6NDhnJgc+3Tefv0RYW6ua+npaK1axzgi6QSZ8KWqeUInewChU8EVuSs2z8jRFP64F9vT/0Br0RL8Grr9v5Ix5ArSJoxGKSiI2LEiJi0Nz9BsRIix7JrVivN390U9hNLSEmbMmM62bT/QvXsPcnImkJqaFvXjhmJ/6HE4Y7w+gLBYsP/5b6DKtBMvsuUbMPXXfSQ9NoWMgX1JmzAa4+yZoNV8MpBn0FBEuC4BVRf5oXZGI9ZXX0K3/1cUrwe1rAzF7cawehXpOSNq9R6irfyFV/CffTZaUmBIXGCClBXPiNG4rrsxqsf+6afdTJ/+OeXl5QwfPpK+fa9Ap9NF9ZiV8Xe5kJJpM+HCCxEmE8JiwZ/VnPIXX8U9flLc4pLkTdsGS79mNWnXjkfxek7eQNNvWI93xnTK3vmwRldZjvsewDTzq6CaMcJixf7IE1CXIX4hGBfMQ83PRzlj/QTF50U9dBDD0sV4Bw2J6DHrSmQ0oXjp6sDN7EXzEVYr7vGT8F10SdSO6fV6WbVqBT/+uJ0WLVoyZEg2KSmJUbvG16s3bN1K0dbd4HajtWmbcFf26qGDKGVl+M/uAGZzvMOJCZnwGyJNI/WOm4IqLaoOO4ZFCzHO/RbPyNHV393ZHSiZmUvK/fdg2LUjMJ3ebMH+6BO4brot0tFjWPMdqt0Wcptit2FYvzbhEj4Aej2eEaPwjBgV9UMVFxezYEEuhYUFXHTRJfTq1TuuV/XhaC1axjuEILodP5Jyz53od+9CGPQgwPG7+3D+8aGE+1CKNJnwGyD9hnUottAJU3XYsbz/bo0SPoC/azdKFi4nU3NQtP9o4IotSglGpKUjDIbQQ/tMpkY/jX/Xrp2sWLEUnU7PyJFjaBuDJQ8bCvVwHumjh6GUlQXmTBy/PWX9z8uobhf2J/4cz/CirmF/nDVSamlJpVcqSlFh7XfevDla+7OjluwBXOMmVrp/99hxUTt2IvN6PSxZsojFixfQrFkmkyZdK5N9DVnefA3F5Qqq+qk6HFjefgPF1rBLqciEXx8IEagYGWZo5Jl8XbujhBlZIwwGvH37RTC4yNPan43993+sWCWS4/cMHn6iUQ7rKyoq5Msvp7Fr1w569uzFmDHjSE6O/3oR9Y1x0YIK80lOJ4wG9Fs2xzagGJMJP5EJgfnjD2jSrRNNLziHZh1akXrLjahHDlf6Mq15C9wjxyBC3IgSRiPOO38XrYgjxvnHhyn98FO8Awfjb382nsFDKf1kGs57fh/v0GJKCMHOnT/y5ZfTcLtdjBo1ll69+qA28L7maBEWa/iNmoYIMZy0IZF9+AnM8upLWF98rkJBMWPut6SvX0vxyrWItPSwry1/+T+gKJi+mYkwmgInc2oKZe98FOh/TzSahnrkMMJkRjRtCoB3wEBKBwyMc2Dx4/F4WLFiKbt376J167MYMmQYVmtSvMOq11w3Tka3Z1fIIn2YLfh6XBz7oGJIXiYkKrudpBeeDToxFb8fpbQE88cfVP56s5nyN96laP1Wyt/+L6XTZ1K0eSe+S3tHL+ZaMn3xKU26d6ZJn4to2r0T6dlXotv6Q7zDiquCgmN8+eXn7Nmzm169ejNq1FiZ7CPAde2NgUqf5lNX8kJREBYLZa+92eBH6TTsd1ePGdavRehDj29XXS5MM76q1n605i3wDB4WWOw6wWrJA5g+nUrKlD+gO3okcDPN40G/aSPpY7LR7Y1MyYb6RAjB9u1b+frr6Xi9XkaPzqFnz0tlF06kmEyUzMzF/vDj+NqfjdasGZ6rRlAyex7eQUPjHV3UyS6dRKXTAZUUJUvAMdc15veT/PQTQWu2KgAuF5YX/4XttbfiElo8eDweli5dzM8/76Ft23YMGjQES2V9zlLtWCw4774vUKyvkZEJP0F5e14KYVb7EhYLrquvi3FEkafbtxdCLNANga4r0+IFhJ5N0PDk5x9l4cJ5lJeX06dPX3r0uBglAb+RSfWb/J6YqMxm7H99JmjUgDAa8bdshevaG+IUWOQIgxGlkro4oYqRNTRCCLZu3cKMGV/i9/sZM2YcF110SeNM9pqGYflSTJ/+D/33ayJWdls6RV7hJzDXjTehZWVhfeav6HfuQFituK65HsdDj4HJFO/w6kxr0xZ/y9bof/k5aJswGnFNuDoOUcWOy+Vi2bLF7N37M+3atWfgwCFYGsiwQPXIYfj4Haz78/Bd0gvPkGFQSU1+3Y/bA7WfbOUnE73WohWln3+FJieXRYxcxLwSCbeIucuF9flnsLz/HoqtHC0zE8e9D+C64/9iNrog0m1iWLWStOsmgMuFcvxUFAYDWrNMipd8h2jSNGLHipbatMnRo0dYsGAedruNPn360q1bjwZzVW9+722S//wECiJQOC0pGdGsGSWzctFatgp+gc1G04u7oJQUVyzOp6porVpTtO6HhnHPCrmIuVRdmkba1TlY334DtbwMRQh0+fkk/ePper1OqLdvP0q+mY9nyDC0pGS0Jk1w3nI7xYtW1otkX1NCCLZs2cSMGV8CkJMzge7dL2owyV6/cT3JT/8psKrV8Znhqt2GevAAqTeFvu9k/no6eD1B5Q4UTUMpKca4eEGUo248ZJdOPWFYtgT91i0oZyw2ojodmL/4FMd9D6C1ax+f4OrI17U7ZVOnxTuMqHM6nSxZspBff93H2Wd34MorB2NuYGV5LW/+J2QJEMXvR79rJ7rdu4LWJtZv2oBqtwe9BkBxudDt+BGGXhWVeBsbeYVfT5hmz0AJ80eBomBcOD+2AUk1cvhwHtOnf87Bgwfo168/2dkjGlyyB9Dv2R32RrwwGAIjs86gtT4LEWItYwisZ6xlZkU0xsrodu0k5fabaNqxHU0uPI+kpx5DKaxDscEEIxN+PRL2S784+T8pwQgh2LRpA7NmfY2qquTkTKBr1+4NpgvnTL5zz0OEuZ+keL34250d9LjrmuvD3oNSNIFn1JiIxhiOfuN60rMHYvpmJmpJMbr8o1jee5uMQZc3mKQvE3494R41Bi0p3NR6gacRzBKsb5xOB3PmzGbNmlWcffY5TJx4DVlZsVnQPF6c/3d3yBFkQqfD17FTyOUwtbPaYPv7cwiz5eRSmsJoDJQ7ePv9mK1/kPLAfagOe4VvKIrHg1pYgPWVF2ISQ7TJhF9PeK8cjP+CCxGmit0AwmLFNeFqtLM7xCkyKZRDhw4ybdpn5OUdon//Kxk6NBtTAxhKWxXfJb2wPfHnwHl6/P1qSclorVpT9uGnYV/n+s3NFC9agfOm2/BcORjHb39H0Yq1eLKHxyRu9egRdD/vCblN8XgwT/s8JnFEm7xpW1+oKiXTZ5H07N8wf/Q+isOBaNIEx91/wHnXPfGOTjpO0zQ2blzP+vVrSUtLY8SI0TRrlhnvsGLKdcddeEaOoemCb3Dsz8N7cc9A4q5kHD6A/7yO2J/5V4yiPIPLBWolQz+9oWvo1zcy4dcnFgv2P/8d+1N/A48HjMaELIjWWDkcdhYtWsDBgwfo2LETV1xxJcYwNyMbOq1Va3jwQeyJNI+lElqbtmjJyeicwWWThariveLK2AcVBbJLpz5SlMDXZZnsE8bBgweYNu0zjhw5wsCBgxk0aGijTfb1kqpif/Lp0AugmM3Ypzwa+5iiQF7hx5umBRK3TN71kqZprFy5kiVLVpCensHo0Tk0aYATxhoD9zXXgxAk/fUpVLsN/Br+Dh0of+EV/OdfEO/wIkIm/DgxrFpJ0tN/Qr9pI+h0eLKHY3vqb4EFwqV6wWazsXDhPMrKCunU6Xz69bsCQyMo+NaQua+9AffV16H+ug/M5tClIOoxmfDjwLB4IWm33HCqDrzPh3Hut2SsXEHxku/QzmoT3wClKv366z4WL16I3+9jzJgRZGUl4LKRUu2oaoMd9Sb78GNNCFIefiB40Q9NQ7HbsL74XJwCk6rD7/ezevV3zJkzm6SkJCZMuIYuXbrEOyxJqhaZ8GNMzTuEevRIyG2Kz4fp29kxjkiqrvLycmbN+prNmzfSpcuFjBs3kYyMjHiHJUnVJrt0aknd9wv6Pbvwt2iF/8Ku1b/pWmU1alkiIRHt27eXJUsWoWkaQ4dmc+65HeMdkiTVmEz4NaSUFJN6+00Y1q4JFHzy+dFataLsg0+CqgCGorU+Cy0zC92B/UHbhE6He/jIaIQt1ZLf7+f771exZctmMjMzGTIkm/R0eVUv1U916tKZPXs2I0aMYNiwYUydOjVo+2uvvcbAgQMZO3YsY8eODfmc+ibtuokYVq9CcblQy8pQHXZ0P/9E+uhslPKyqnegKNj++TzCfMbShYqCSErC8cDDUYpcqqmyslJmzPiSLVs2c+GF3cjJmSiTvVSv1foK/+jRo7z00kt89dVXGI1Grr32Wnr37s2555578jnbtm3jxRdf5KKLLopIsPGm37wR3Y7tKGdMs1aEALcL07TPcN362yr34xl6FaUff0bSnx9Hv+NHUBQ8g4Zgf/ofcjm3BLF3788sXboIgGHDhnPOOedW8QpJSny1TvirVq2iT58+pKenA5CdnU1ubi733HOqrsu2bdt46623OHToEL169eLhhx+u1wWk9Bs3hK31rTgcGL5bUa2ED+AdMJCSJasCJRJUtco6I1Js+Hw+Vq/+jm3bfiArqzlDh2aTmpoW77AkKSJq3aWTn59PZuapolBZWVkcPXr05M92u53zzz+fKVOm8PXXX1NWVsbrr79et2jjTGRknCzfGrRNp0PUZqEGo1Em+wRRWlrCjBnT2bbtB7p370FOzgSZ7KUGpdaZRtO0Cos4CCEq/JyUlMQ777xz8udbb72Vxx57jPvvv7/ax6hsMd5YycxMOfXDDVfD/aErUyomE5Z77sJy+vMbqMwG+B537tzJggULUFWV66+/ukLXZHU0xDaJBNkuweLZJrVO+C1atGD9+vUnfz527BhZWaeucPPy8li1ahUTJ04EAh8I+hpeyRYW2tC0+A1TDLXCvPHVN0m9507weFD8/sAgSqsV5y23Yz/rXKgn1QFrK1Sb1Gder5fVq1eyffs2WrRoyZAh2aSk1Ow9NrQ2iRTZLsGi3SaqqlR6oVzrLp2+ffuyevVqioqKcDqdzJ8/n/79+5/cbjab+de//sWBAwcQQjB16lSGDq3/qzJ5RudQPG8prknX4evSFc+w4ZR+9FmgZLFUrxQXF/P119PZvn0bPXpczJgx40hJkVekUsNV6yv85s2bc//99zN58mS8Xi8TJ06kW7du3HHHHdx333107dqVp59+mrvuuguv18vFF1/MLbfcEsnY48bf+Xxsr9Tv+xGN3e7du1i+fAk6nZ4RI0bTrl37eIckSVGnCFHl1M+4ScQunSq53RiXLEItKsTbrUdgFm4DUt+/pnu9HlauXMHOnT/SsmUrhgzJJjm5bveK6nubRItsl2Dx7tKRw0MiyLB4Ial33Bwon6D5UYTA17U7pf/7HCEn7MRdUVEh8+fnUlJSzCWX9KJnz0tRVVlOSmo8ZMKPEPWXvaTdciPKGUuk6TdtJPXW31D61TdxikwSQrBr1w5WrFiOwWBg1KixnCVLUEuNkEz4EWJ5+w3weYMeV7weDOvXovt5D/5zzotDZI2b1+th+fKl7N69i9atz2LIkGFYrUnxDkuS4kIm/AgxbNqA4g1O+ADCYEC3Y4dM+DFWWFjA/PlzKS0tpVev3lx8cU/ZhSM1ajLhR4i/VWv0mzYE6uqcSRNoWc1jH1QjJYTgxx+3sWrVSkwmE6NH59C69VnxDkuS4k4m/Ahx3X4npsULwOEI2ibS0vD1ujQOUTU+Ho+HZcsW89NPe2jbth2DBg3BYrHGOyypPvL7MSxbgm7fL2ht2+K5cnC9L4NSv6NPIN6+/XDecjuW/74LbheKpqGZLWA0UPbxZ9VfIEWqtWPH8lmwIJfy8nL69OlLjx4XVyj3IUnVpdu9i7RJY1HKy1B8vkANLYuFks++xt+1W7zDqzWZ8CPI/tTfcI/OwfzR+6j5R/H26YvrhpsQTZvGO7QGTQjBtm0/sHr1d1gsFsaMGUfLlq3iHZZUX3k8pI8biVJw7GQXrQIIm430CaMo3LwTrPXzW6NM+BHmu7gntot7xjuMRsPtdrN06SL27v2Zdu3aM3DgECwWS9UvlKQwjPPmgNMRdD9OAYTXi2nmV7ivuzE+wdWRTPhSvXX06FEWLMjFbrdx2WWX0737RVHowhHodD8BPvz+joAuwvuXEo1+x48oNlvIbardjn77VtyAeuggamEB/g7nIJLrRw0mmfClekcIwQ8/bGbNmlUkJSWTkzOB5s1bRPw4BsNiUlLuQ1ULEEIBTNhsf8Ptrp9Xd1L1aC1bIaxWlFADMMxmhMVC+vDB6LdtRRiNKF4PrutuxPbXfwbWt0hgMuFL9YrT6WTJkoX8+us+zj67A1deORiz2Rzx4+j160hLuw5FcQIn7rnbSUn5I2DA7b4m4seUEoN77DiSn3gk9EYhsHz0AUppCYqmobhdAJg/m4pSVkb5G+/GMNKak7NQpHrjyJHDTJ/+OQcPHqBfv/5kZ4+ISrIHSEp6GnAGPa4oTpKSngIStuagVEciNY2yd95HWCyI40uyCqMRYTbjGj0OXM6gpU4VpxPTNzNRDx2MR8jVJhO+lPCEEGzatIGZM79CVVVycibQtWv3qA65NBjWhh1Jq6qFKEp+1I4txZ9n2HCK1mzCcc/9uEaOwXHXvRR9tx7dkTxUZ/CFAARm1BvWrolxpDUju3SkhOZ0Oli8eCH79//KOeecx4ABAzEdv+qKJiFMJ7tzgmlA9GOQ4ktr2QrHw49VeExUukCOgkjwOk0y4UsJKy/vEAsXzsPtdtO//5VccMGFMZtI5XZPwmz+AEWpWB9JCAWvtydCpKPXb8Zkmg74MBqvwOPJRv5JNWyu6ydjWL4U1W4P3ig0PP2vDPzb5ws8L/8o/i4X4uvaPaZxhiPPTinhaJrGpk0bWLfue9LS0hgxYjTNmmXGNAa7/VGMxm9R1QIUxQOAEHqEsGCzvURy8t2YzdMBN6CRkvIhmnYWJSXzEKJJTGOVYsczNBtv334Yv1txchSPUBQwm7G98ApYLOjXfk/aTdeC2wNCC6yL0bEzpZ9Mhzgv6i5XvKqEXLEnWLTbxOGws2jRAg4ePEDHjp244oorMcZpqJuiFGKx/Aez+XPAi8dzFQ7HHzEYVpOS8gcUpeKwPSFAiBTKy1/H4xkbl5gTSYP9+/H5MH/+CeZ33kAtLMTXtTuO+x/E16s3ytGjNOnTI+gbgNAb8HW5EMPmjXFd8Uom/Eo02BO2DqLZJgcPHmDRovl4PF6uuKI/nTqdn5C1cDIyLkOv3x52uxAW7PYpOJ0PxjCqxNMY/36sz/8T679fQHG7g7YJixVlxXKOte0YteNXlfDlKB0p7jRNY926NXzzzUxMJjMTJkyic+cLEjLZA6hqXqXbA0M3n0NRCmMUkZQo9OvXhUz2AEIBfvghtgGdQfbhS3Fls9lYtGg+eXmH6Nz5Avr1uwKDIfZdOIpSisXyb8zmT1AUJ15vP+z2R/H7Lwx6rt/fAVXdUOn+hNBhNM7H7b4uWiFLCUhr3RqhqkHj9AFQdZCVFfugTg8hrkeXGrX9+39l2rTPyM/PZ9CgoQwcODhOyb6M9PQBWK2votPloarFGI3fkpExGIPhu6DnOxwPomlVVUsUQSN8pIbPddOtEGbYsOKww8qVKIXx++YnE74Uc36/nzVrVvHtt7NISkpiwoSr6dSpc9zisVheR1XzUJRTX8UVRUNRnCQn/44zZ9V6PCNxOu87Pmon9D4VxYHR+DU63dYoRi4lGl+3HtjvfSAwS/d4l+SJU0TRNHjpJTIG9EE9eiQu8cmEL8VUeXk5s2Z9zaZNG7jggi6MGzeRJk3iO4zRbJ6KqrpCbtPpjqDT/Rz0uMPxGEVFG9C0poSqoKkoYDQuJiNjKAbD0ghHLCUy54MPUzIrF631WQgCZZVPcrtRiwpJevrJuMQmE74UM/v27WX69M8oLCxg6NBsBgwYhMFgiHdYBMbShyaEDgj9YaBpZ1NcvAGYGPJqX1EEiuIgJeUuYlt7R8NonEtq6o2kpeVgNr+JopTF8PiSr0tX1COHCTXsQPH5MM36OuYxgbxpK8WA3+/n++9XsWXLZpo1y2To0GzS0zOieEQfRuMiVDUPv/88vN7LIeSfXoDHMxiz+TMUxR9iqw6/v1PY1wYmWX2G398JvX53yOcoSgk63fbTbgALdLofURQnPl8XIJILtvhITb0Gg2EVqhoYC67XryEp6XmKixejaW0jeCwpLK8XKhtS7vEEJm7EeCSaTPhSVJWVlbJgwTzy849y4YXduOyyy9FHcSFovX4jaWkTCVy1+wAVTWtOaelMNK1dyNc4HA9iMs1AUc6YLCOs2O2PA1V/CzkxGzc09WRdHoNhOSkpd6IoJQS+YPtxOO7H6XyIyj6Uqsts/hCj8bsKk8JU1YEQblJSfktpaW6djyFVg8WCv3179HuDuwMBfF0ujMs617JLR4qavXt/Zvr0zykpKWbYsOFcccWAqCZ7RSklLW0MqlqAqpajqk5U1Y5Ot4/09FEEip4F07RzKC2di9fbFSFMaFoSmpaBzfY0Lted1Tq2xzMYIUJ/MChKOSkpd2C1PkNa2tXodIdQVfvxGB0kJb2ExfJyLd91RRbLm0EzgAMx+DEYNqAoRyNyHKlq9j89jQix3KawWLA/8Zc4RCQTvhQFPp+PlSuXM2/eHNLS0pk06VrOOefcqB/XZPqMwFV9RYERN4UYDIvDvtbn60FJyXcUFW2hpGQ5hYU/43L9lupedTscvw87akdRQK/fi9X6LBAqGTuwWp8HKvuWUD2qWhB2mxBGVFVOBosVz8jRlD/7Ilp6BlpyMlpSMmRmUv7v1/EOGhKXmGSXjhRRpaUlLFiQy7Fjx+jevQe9e/dFp4vNOrB6/UZUNTihAiiKG71+B15v5X9omtaqFkfWSEp6CkU5le1Ddc8qSuhvGMdfgU73M37/+bU4/ik+X1cMhqUhewsUxYffH7pbS4oO97U34J54Dfod2xEoNBnQB3dR6HM0FmTClyLmp5/2sGzZYlRVZfjwkbRv3yGmx9e0NghhDNmfHuiqaR6lI7+L0TgPRTk1mqem3bOK4kOI8DVQqsvheJi0tO85c7UuISw4nZOBxK7X3iDp9afKI8fo4icc2aUj1ZnX62X58iUsWJBLkyZNmTjx2pgnewCX6zeEO6UVxYZOt51IdJsEeynsN4szheryEQL8/nPRtDZ1jsTrvZzy8hcRwoqmpaBpyQhhwu0eg93+jzrvX6rf5BW+VCfFxcUsWJBLYWEBPXpczKWX9olSF47AYFiKyfQZiuLG4xmB2z2W01ee0rR22GzPkZz8EOCu0MWiKGC1vonBsJnS0hnUfUSMHYNhM0KYgMM1eydCj6L4jv/bgBAmysvfqGM8oKoHsVhewWTKxe9vjdfbE6/3crzeQWjaWXXev1T/yYQv1dru3btYvnwJOp2eESNG065d+ygdyUdq6gQMhpUoihdFAZNpFlbr05SULEOIpief6XLdjN/fmrS0q4GK4+oVxYlevxaDYTVeb99axiKwWJ4lKeml46NyNMJNzApFUQKrZvl87VGUwOgeh+P3aFr7WsYToNPtJD19CIriPFnDR6c7iMGwnpKSnDrtW2o4ZMKXaszr9bJy5XJ27vyRli1bMWRINsnJde9/DsdieRmjcekZV+w+dLr9pKbedvyK/RS9fieBcgfBE6kCNW5m1iDhaxgMSzAa5wJGwI3FMvV4Yj3VT16TOTSK4kXTWkV0THxKyt0oSvkZbeREp9uPxfIyDkd8pvJLiUUmfKlGCgsL+eqr6RQXF3HJJb3o2fNSVDW6t4Ks1pcqJLITFAUMhiUoSjlCnL50XFVlDKpb5sBOevoodLqdxydlKQSqYIbZaw2SvsGwGvBSnUldVVGUAvT6H8K0kRuz+WOZ8CVA3rSVqkkIwc6dP/K///0Pp9PJyJFjuPTSPlFP9hCYuFRJZKjq/gqPeDzDCFXQDAKzZz2eMdU6bnLyY+j121BVO4pyojZOuBgB9AhR3WsogdE4q5rPrZyi2Aj3fgPbnWG3SY1Lnf5aZ8+ezYgRIxg2bBhTp04N2r5jxw7Gjx9PdnY2jz/+OD5f8KSYeFAP55H01GNkXN6L9CH9MX/4Hriq3w/b2Hi9HhYvXsCSJYto2bIlkyZdQ5s2sazJUvlls6ZVXBja7++M2z0KTas4y1EIMz7fJcdr61TFg9n8aYWSyVURwoympVfruYoS+EAB//HSzMXVPs6ZAsNRQ9dgF0LB6+1d631LDUutE/7Ro0d56aWX+OSTT5gxYwaff/45P/30U4XnTJkyhSeffJJ58+YhhOCLL76oc8B1pdu5g4wrLsXy3tvo9+zC8MNmkp58jPRRw8Apr4TOVFhYwPTpn7Nnz2569erNxIkTSUqKXn99KH5/+Fr5QlgRIngESnn52zgcU9C0JgihomkpOBx3UVr6JeE+QHS6H0hJmUzTpufQpEkPAl0uNeGudKbrmVS1kKZNO9CkSQ+aNj2PtLTh6HR7UJQyTKZPMZvfRK9fX4096bDbHw2zKIsZh+OxasckNWy1TvirVq2iT58+pKenY7Vayc7OJjf31E2oQ4cO4XK56NGjBwDjx4+vsD1eUu65E6WsDMVzajy26nSi370Ly7tvxjGyxCKEYPv2rXz11TS8Xi+jR+fEpL8+lPLyl0PWqRFCh832T0KfxjqczgcpLPyFgoIjFBYexOH4C6cP4zyd0TiXjIzBmEwzUNVj6HQHCXXTtzI1X+HKg6oWoyguFMWDwbCK9PR+NG16LsnJfyQ5+U+kp48iPX3w8WJr4blcd+JwPHK8DlAKmpaE39+C0tL/4fNdUsO4pIaq1n+9+fn5ZGZmnvw5KyuLo0ePht2emZlZYXs0qIfzsP7jadJyRpBy1+3o135fcXveIfS7doSuUe1yYvno/ajGV194PB4WLpzH8uVLadmyFZMmXUvr1vEbx+3zXUZZ2f/w+7MQwnR81mwyNtuzuN03V/FqBTBTebeQl5SUO1AUd4U++sAQyurHGejnr9nzK/4sjo/+caGqtuPxONDrt5CScmtVe8Pp/AOFhb9QWjqDkpL5FBXtxOsdWv2ApAav1qN0NE1DOe2MFUJU+Lmq7dXRtGkNug5WroThwwN1qN1uUBTMc7+Bu++G554LPCffD0ZjYHsIOoedzMyK/cFn/lwrfj/Mnw/bt0OrVpCTA9aq1kSNj6NHj5Kb+w1lZWVkZw/m0ksvDfq9RaRNauxqYCKwFfCiKN1ISTGSEpFQFhFuEZRYV7ANXQPHg8m0iMzMx4E/AZnBTzopBRgUneBqIT7nSmKLZ5vUOuG3aNGC9etP9S8eO3aMrNNWZG/RogXHjh07+XNBQUGF7dVRWGhDq2wRgRN8Pprm5KDabKceEwIcDsR//kPJgGH4Lu0Nac1pqomQX2uEouC55FLKjp0aEZKZmcKxY5WNEKma+us+0seNRCkpRnG7EUYT3HknZe9PxTtgYJ32HUlCCLZt28rq1SuxWCwMGTKCli1bUVBgq/C8mreJC5NpBkbjfIRIxuW6Hp+vN7Wf6XqiZIP7+H/e48My06hspEpljMZjpKb6Kh1uCbVL/kKAz3cOmtYRo3Ep4MXnuwCdbnfYZRXD7Akh3kSITykuXl4vZs5G4u+noYl2m6iqUumFcq27dPr27cvq1aspKirC6XQyf/58+vfvf3J769atMZlMbNiwAYCZM2dW2B5JhpXLwR2mRorTieWDdwP/Nplw3PN7tFBX12YzjgcfjmxgQpA+cQxq3iFUmw3F60W121BtNtJuui5uCxmfye12M3/+XFauXMZZZ7Vh4sRradmyNlUjK1KUozRp0pPk5Psxm6djNn9IenoOKSm3E642ffXZSU6+n2bNzqJp0440bdoWq/WvhCqPXJVAH3f4C4uadtWcSac7jF6/gdLSLyks3Iff37ZCobXqCswyLiI5eUrtg5HiRwgoKAC7vernRkmtE37z5s25//77mTx5Mjk5OYwaNYpu3bpxxx13sHXrVgCef/55nnnmGa666iocDgeTJ0+OWOCnUwuOEe4PVhEC9XDeyZ+dDzyE8467EGYLWmpqoE51s0zK/vsxvm49IhqX4bsVKAUFgdXqz+T3Y/74g4gerzaOHj3KtGmfsW/fL1x22eUMHz4KS4hFG2ojJeVOVDXv5FJ7J9Z4NRq/xWT6tA571khPH4XZ/L/jfd4eVLUci+W1avR1h9ib1gKPZ0iN+uurS1ECK07pdPmkpeXQtOm5mEzfhPwAEaLqewaKomE0fovF8g9qelNZih/T55/QpMf5cNZZNOvYlrRJY1F/2RvzOBQhonGaR0Z1u3R0u3aSMWwASohhlcJkwnHXvTgeqzjTULGVo/9hC8JsxtfjYggx+qSuX7/M779L0lOPo7pCD/d0jxhF2Qef1Hr/dSGE4IcfNrNmzSqs1iSGDs2mRYuWVb6uum2iKMdo2vSCsOPYvd4LKSlZVeO4AQyGBaSm3oSq2oK2CWGmuHhFpevQhuYlPX0Aev02oPbdN6ALszZu5TNxT99WnS4kISy4XOOx2epedC1aZJdOgPm/75D0lz+hOk9VVBWqikhNpXjFWrTmLSJ2rKh16SQSf6fOeLtfhDAYg7YJvR7XrXcEP56cgrdvP3wX9wyZ7CNBa90awizpJwwG/HEoIQzgcrnIzf2WVatW0q5deyZNurZayb4mVPUoQgT/Pk7Q6WrfnWUyzQmZ7AM0jMYFtdirgZKSVZSWTsPn64YQNc/4QqTi97cPe5VeWQI/c3RQVR84iuLEbP4SVf21xnFKMeTxkPT3P1dI9gCKpqE4HFjeeC2m4TSIhA9Q9tGneC/pGeiqSU5GS05Ba9qU0s++RotwMqsuz6ChgVFBoej0OCffEtuAgCNHDjNt2mccOLCffv36k509ArPZHPHjaFrbSsel+3w1vQI/JbCUYLiMqFDbm7cAXm82JSXL0bTmNeriCcwJeAmd7kDERvZUdXwhVIzG8Ms2SvGn37417O0hxePBNGd2bOOJ6dGiSKRnUDorF93OHei3b0Vrlom3X//4rjCj11P66XTSJo4Fnw/V6UAYjaCqlD/7AlqHc2IWihCCzZs3snbtGpKTU8jJmUBWVrRWgApc7bpckzCbpwXdoBTCisNR+xuPHk/O8f770De/3O7htd53gEpp6XTS00cSqKtfnRusCprWCiHMIVfcqm0cQugq+eBUaEB/wg2TXl/pJ7cI0wMQLQ3ubPF3Ph9/57qtC3qSy4Vy7BiiSZNaf3D4LrqEok3bMX3+KfofNqO1aYvruhvRYliLxul0sHjxIvbv30eHDudy5ZWDMJlCzziNJJvtBVT1CEbjSgLDCgP92zbbU3i9tR8r7vX2xeu9HINhBap66v6Ipllxu2+oc215AL+/G0VF2zGZPsNgWIDBsAFVLajk6t2PpqWeXNikJsL17fv952Kz/Y3U1Mkhh3Aqig+3e1iNjyfFju+CC8FiAXtwF6RmMuOadG1M42kQN20jTSksJPnRBzHP/QYBCIsVxz1/wHnP76PW3x8teXmHWLhwHm63m8su60eXLhfWeALc6WpzI06n+xGD4bvjlSqvqrBgSe15sVhexWJ5A1UtRNNa4XD8EZfrZuq+mlUoGk2adA5778Hn60Rx8VoyMi5Gp/s5KIGHuxEb/nELpaX/w+sdTFraaAyG9RWqXmqaFafzLhyOp+rypqJK3rQNMH47m9Tf3V5hUIkwGNCat6B4yXeItPSIHauqm7Yy4Z/J6SSjfx90hw6i+E59ldYsVlw3/Ab7P/4V23hqSQjBxo3rWbfue9LS0hg69CqaNatshmb1NMY/YkUpJS1tZCWTpayUlv4Xj2cEev0W0tKuQlHs1e7LD1TxbIdevxdQ8PvbYrM9e1pZBDdW68tYLG+jKMX4/e1wOB7C7b6W6Hy4RUZjPFfCMaxaifXvf8G4ZROa2YJ70jXYpzyKaBKJi59TZMKvIfPUj0h6/GFUR3D/sDCZKFy/DdE8en3fkeBw2Fm0aAEHDx7gvPM60r//QIzhbh7XUMP+I7ah1+9CiDT8/nNPPpqSchsm04ygvvTAX44ZRXmLY8fGnXzcYnmRpKS/V7uYmqalUlb2MT7fRYC/wjcgnW4PJtP/UNUj+Hy9cbmuBmJbrbS2Gva5Ujvxnmnb4Prw68o4e0bIZA+Br2HG75bjHj8pxlFV38GDB1i0aD4ej4crrxxE584X1KkLp3Hwk5T0FyyWtxDCgKJ48fvbUl7+Ln5/B0ymWSGTd6C4mgcYVeFxg+H7GlXOVBQ3fv/5CJFe4XGL5SWSkp4BfCiKD02bRVLS05SU5FZaMlqSwqlfHdKxoK98yTlhqPuSdNGgaRrr1q3hm29mYjKZmTDhas4/v4tM9tWQlPTE8e4SJ6padnwt2F3H69P/gBCV/ZlowHsVHhEitdpDOjXNjNt9FZpWcfKNXr+epKR/Hi+dHLgRHFh5q/j4Au0J+8VcSmAy4Z/BdfW1aElJIbcpPl9CFTw7wW63MXv2DNavX0fHjp2ZMGESTSLcN9hQKUoJFst7KMoZE2OUE1Uqv6505E3g83RRhcdcrhsQIvQ5JARoWjKalowQZrzeAZSXB6/DYLG8RagKnooiUNVD6PXrqnxvknQm2aVzBs/wUfhffxVl+zYU96kbdJrFimPKo4jUtDhGF2z//l9ZtGgBPp+PQYOG0qmT/KpfE3r9DwhhDDnWXlE8GI3L8Hgux2hcGrb+jaJUrALr9Q7A6x2CwbAAVXWcfB5YsNn+gaadhaKU4PX2RNNCz8XQ6X5BUcIVmPNiNM7B57u0Bu9UkuQVfjCDgZKvv8Vx932QmYkwGPB1voDy194KDMtMEH6/nzVrVvHtt7OwWq1MmHC1TPa1ELgSD1+5U4hkyso+IPzsXStw+xmPKZSVfYjN9gJeb1f8/uZ4vYMoLf0Kl+s2PJ5s3O5rwiZ7AJ+vY6UlGozGheHflCSFIa/wQ7FYcDzyBEkvPEtBAo4yKC8vZ9Gi+Rw+nMcFF3Shb98rMCTovYX48aPT7Qj8y38+4RK2z3cRQiQDoQqxgU63E4vlQ8rK/kdq6s2AB0URx7dbcbmuxmK54vjrPZhM0zGbP0ZRnLjdIygtnVWreQdud6AaaDg6XV7YbZIUjkz49cy+fXtZsmQRfr+fIUOGcd55ta9J01CZTNOP14w/0Qduwmb7F273xBDPVikvf+f4jVBPhUqXgX58O0lJz+JyTaS4eAUWyysYDBvQtJY4nf+Hx5ONxaIALtLTh6PX7zh5P0Cv/xGr9XWKixejaTUrlBdYJEZPuPr+fn/d1yuQGh+Z8OsJv9/P99+vYsuWzTRrlsnQodmkp2fEO6yEYzTmkpJyd4VZqWAjJeVuhEjB48kOeo3XO4Di4qUkJz+AwbDq5BX8CYriwGz+HIdjCjbb6yGPa7G8jl6/vcK9gMC/PaSk3E1p6dwavQ8hmuLxDMJoXBx001gIK07nfTXanySB7MOvF8rKSpkx40u2bNlMly5dGTduokz2YSQlPXVGsg9QFCdJSeHLEPj95+P3tw9K9icEKlOGL7tssfw3zI1fDYNhHYpSUI3oKyovfxO/vx2alnwyhkAd/Em43Yk7F6TRStw5rCfJK/wEt3fvzyxdGhj2N2zYcM4559wqXtGYedHpdobdGujT9wLh7ndUNWch/HZFKQu7TQgDqlqC39+siv2f+bpmFBevw2icg9G4CCGScbuvxufrXqP9SFHk92N5/VUsb72Gmp+PltUc5+/uxXnn3fGt1BuGTPgJyufzsXr1d2zb9gNZWc0ZOjSb1AQbEpp4dARO6XCzXPVUVivf7R6HyfT1ySUZT6coWsjuoBN8vu4YDMvC1M9R8PvbVBJ3ZfR4PGPweMbU8vVSNKXceQvGBfNQjxdG0+UfJenZf6Dfspnyt/4b5+iCyS6dBFRaWsKMGdPZtu0HunXrQU7OBJnsq0XF7R6FEMFJXQgdbvdoKjvlvd7B+HzdEaLigjCBypS3oGlnhX2t3f4YELwWcOC19wLRL0ctxZZ+yyZMC+afTPYnKE4Hptxv0W3fFqfIwpMJP8H89NMepk//nPLycoYPH8nll1+BLgG/GiYqu/3vCJFRYXlFIYwIkYHd/vcqXq1SWjoDh+MeNC0dIcDvb43d/nfs9mcrfaXPdxnl5a+jaaloWgqalooQZlyuW3A4Ho7AO5MSjXHut+AOsziOx4Mpd05sA6oG2aWTILxeL6tXr2T79m20aNGSwYOHkZqaGu+w6h1NO4uiojVYLK9hNn8FgMs1HqfzHoTIquLVAGYcjidxOJ4kUK+m+rWI3O4JuN2jMRhWoyhOvN5LEaJJrd6HVA9oWvgbtUKAFnox+3iSCT8BFBcXs2BBLoWFBfTocTGXXtpHXtXXgRBZOBxP43A8Xcc91abwnBGvd0AdjyvVB55hV2F9+3VwOIK2CbMZz7Cr4hBV5WTCj7Pdu3exfPkSdDo9I0aMpl279vEOSZKkavBd0gtP78swrl6F4jptNSuzBe/lV+DrflEcowtN9uHHidfrZdlnU1n+58doM+cbJtvKaZ8mb8xKUr2hKJR9/DmO2+9ES05B6A1oKSk47vwdZR98Eu/oQpIrXlUiWqvTFBUVseTpP2GfM5vebg99nQ6wWEGno/TLWfguuiTix4wUuYpRMNkmoTWqdtE0FLsNkZRc6brXcsWrRkQIwa5dO/huxpekzpnNhPJy2vuP39hxBvoB066fROHW3aCXvxpJqjdUFZGS+IMsZFaJEa/Xw4oVy9i1aycddmxnrN1Oij/EXXy3G+OyxXgGD4t9kJIkxZV68ADG+bkgNDyDhqKdXbOie1WRCT8GCgsLWLAgl5KSEnr16s2VK5dj8YaZDar5UQ8fjm2AkiTFlxAkPfEwlo/eRygqCgL+8idcY8dje/k/ESvTIG/aRpEQgh9/3MZXX03D4/EwenQOPXteitatB8IUZualouA7t2NsA5UkKa7MH72PeepHKG43qsuJ4nKhuFyYZ83A8upLETuOTPhR4vF4WLhwHsuWLaFly1ZMmnQtrVsHpua7Jt8Caojp/zodWotW+Hr3iXW4kiTFkfXl51FDjOdXnA6sr78SmOQVAbJLJwqOHctnwYJcysvL6d37Mi666BKU06pqaS1bUfrRp6TecgMAiseDMBjQMrMonTaDMBW4JElqiIRAPXQw7GbFZkdx2BHJKXU+lEz4kZSfz57XXuK7TRsxZ2WRc98DNA8z+cI7YCCF23/GNG8Oav5RfJ0vwNuvf6VDuiRJaoAUBZHRBKW4KPR2gx5hsUbkUDLhR4i2cD5r7rqNParKuS4X2ZqGZcF8yt54B8/IMKVtLRbcORNiG6gkSQnHeetvsf7nZRRXxWJswmTCef1kedM2kRz9ZS8z776DvX4/A+x2cpxOrG43istJ6l13oBw7Fu8QJUlKYI77H8Tb81K0pCROTDXVkpLxXdAF+xN/jthxZMKvAyEEW7ZsYvYLzyKAaxwOenk8FUpuCQTmaZ/GK0RJkgC8Xiz/foEmF55Hs1ZNyOjdA9NnUxNnWUKjkdLpsyj74BNcN96E87obKX/nfUrmLIKkpIgdRnbp1JLL5WLJkoXs2/cLnYDRJSVYQ5w8qsuFbv+vsQ9QkqQAIUi98WoMa1adXKxE/8teUh75I/pdO7A/9bc4B3icquIdMBDvgIHRO0TU9tyAHTlymGnTPuPAgf1cfvkVZA+7CnOYT2FhteI7v0uMI5Qk6QTDyuUY1q4JXpnK4cDy7luoeYfiFFns1foKPy8vjylTplBYWMjZZ5/N888/T9IZSe/QoUOMGjWKtm3bAtCsWTPee++9ukUcR0IINm/eyNq1a0hOTiEnZwJZWc3xdr4AzH9E2GxBFdSFTo97wqS4xCtJEphmfIliD16nGECoKsb5ubhuvi3GUcVHra/w//KXv3D99deTm5vLhRdeyOuvvx70nG3btjF69GhmzpzJzJkz63WydzodzJnzDWvWrKJ9+w5MnHgNWVnNAxuNRkq++haRmYWWnIwwGNGSk9HS0ymdNiMi42clSaolry/sUjaKJsDvi2k48VSrhO/1elm3bh3Z2dkAjB8/ntzc3KDnbd26ld27dzN27FgmT57Mrl276hZtnOTlHWLatM/IyzvIFVdcybBhV2E6ozSCv/P5FG7ZSfkb72F/4s+U//sNCrf9hO/innGKWpIkAM+IUWjhbnwq4B04OLoBaBqmr6eTPnIodOxIyu/uQPfj9ugeM4xadekUFxeTnJyM/ngJ38zMTI4ePRr0PJPJxJgxY7j22mtZsWIFd999N3PmzMFoNAY9NxFpmsaGDetYt+570tLSGDFiNM2aZYZ/gV6PJ3t47AKUJKlKnqHZ+Ducg7J7F4rbffJxzWLBM3wU/g7nRu/gQpDy25sxLlyA6gh0K5n27sX07SzK3v0Qz9DYLoNY5QIoc+fO5ZlnnqnwWLt27di/fz/Lli0DwOfzcdFFF7F169ZKDzZmzBiee+45OnfuXMewo89utzNnzhz2799P586dGTJkSNBVvSRJ9UR5OTzwAEydGqhLYzbDfffBk09Gd+2JOXPg6qsh1D2E9HTIzweDIXrHP0OV73T48OEMH17xqtXr9dK7d2/8fj86nY5jx46RlZUV9NqPP/6YUaNGkZGRAQRueupr0LhxWfHK6aTgvbdZ9OXn+BS4PHsEHcZfT1mZB/DENpYE1KhWMaom2SahJVy7/ONF+PM/UcrLEWlpgURf7Kz6dXWQ+up/MIW5Yaz5/ZR9/W1Eu5SisuKVwWCgZ8+ezJkzh9GjRzNjxgz69+8f9Lx169bhcrm44447WLt2LZqm0aFDZAv6R5IoKWbnVQNZV1xMU7ebkS4XTffuRUz/guLcJYimTeMdoiRJdWE0xvTvWCkpCb9RgFJeFrNYoA6jdJ566im++OILRowYwfr16/nDH/4AwKeffsq///1vAB5//HFWrVrFqFGjePbZZ3nhhRdQE7Q4mN1uY/69/8faoiK6OJ1c73CQqWmoDgdq3iGSnnos3iFKklTPeAcMRJjMIbcpXk/MB3XIRcyB/ft/ZfHihRie+StDysu40Bc8TEuYTBTsOxKxIkb1VcJ9TU8Ask1Ck+0CSkEBTfpchFJWWrHkitmMe2g25e99HNHjVdWlk5iX2zGiaRpr1qzi229nYbGYubG0JGSyB8DngzMq2UmSJFVGNGtGyex5+M/tGChxnJaGMJlwjR5H+X/eiXk8jbaWTnl5OYsWzefw4TwuuKALffteQfrLL8DPP4V8vpbVHKyRqUktSVLj4T//AopXrUe3aydNNCeFWW3jdj+wUSb8X3/9hcWLF+L3+xkyZBjnndcJAMcjT5B8311BNTc0ixXHlEflSlSSJNWav1NnyExBxLGbq1ElfL/fz/ffr2bLlk00a5bJ0KHZpKdnnNzuHjseNS+PpH/+FaHXoyoKwuPF8fsHcN0wOY6RS5JUbUJgXDQf80fvoxYV4blyEM6bbkNkVjJpspFoNDdty8rKWLhwHkePHqFLl6707dsv/JwAmw3jqhWkpVoo6HIxIiW17gG43Zi+mYnxm1lgNOKeMAnP4GH17iawvBEXTLZJaHFpF00LmtkqTGaEyUjJrHn4L4hv5dpot0lUxuHXN3v3/szSpYsQQjBs2HDOOaeKqdTJyXiGDY/Y1y+lpJj0kUNR8w6hHp+EYZw/F1+3HpR+MQPkDF5JigjT7BmYFs5HcThOPqa4XeB2kXr7ZIq/W9+ou2Yb9Cgdn8/HypXLmTdvDqmpaUyadG3VyT4Kkh97CN2+fSeTPYBqt2PYtAHLf/4d83gkqaEyv/NmhWR/ggLo8g6h27Uz9kElkAab8EtLS5gx40u2bt1Ct249yMmZQGpqWuwDcbkwzZ6B4g0uy6C4XFjeezv2MUlSA6UWFoTdJvT6Src3Bg2yS+enn/awbNliFEXhqqtGcvbZ8SvnoJRX3iWklhTHKBJJavi8l/RCt+8XFL8/aJviduPrdH4cokocDeoK3+fzsXz5UhYsyCUjowkTJ14b12QPIJo0CTu1GsDf/uwYRiNJDZvznj9AiPLrwmzGNWYcolmz2AeVQBpMwi8pKebrr6ezfftWevS4mLFjx5OaGoHRNXWl0+G4697ALLszCIsVx4OPxCEoSWqY/J3Pp+y9j9DS0tBSUtCSUxAmE+6h2dheeCXe4cVdg+jS2bNnF8uWLUGn0zNixCjatUusq2bn/Q+iO3QA87TPEDo9KKD4fNjvux/3uInxDk+SGhTPkGwKf9yLYeVyFFs5vh4Xo7VpG++wEkK9Tvher5fvvlvBjh3badmyFUOGZJOcHH4MatyoKrYXX8XxwEMYly9F6PV4Bg+T5ZYlKVoMhugvXVgP1duEX1RUxIIFuRQXF3HJJb3o2fPShC29fIJ2Vhtc1/8m3mFIktRI1buEL4Rg164drFixHIPBwMiRY2gjv65Vm37jeswff4B6LB9v3ytwXX8j4rTyEglJ0yDBP8wlqT6oVwnf6/WwYsUydu3aSevWZzF48FCSkhKwCydBJT35KJYP3we3C0XTMKxYhvWl5yiZmRv3KeehmKZ9jvVf/0C37xdEUjKu62/E8cgTkSl1IUmNUL1J+IWFBSxYkEtJSQk9e17KJZf0SvgunERiWLYEy0fvozhPzUJUnU6E00naTddRtHZLQk05t7z8PEkvPX8yXsVuw/LR+xhXLKN4wXJZjkKSaiHhM6YQgu3bt/LVV9Nwu92MHp1Dr169ZbKvIcu7b0GYKedKwTH0mzfGPqgwlNISkl58rsKHEwQmzqj792Oa8WWcIpOk+i2hs6bX62XhwnksX76Uli1bcfXV19G69VnxDqteUvMOEfb6XdWh5ufHMpxKGVYsR+gNIbepDjvmL7+IcURSzAgBXm+8o2iwEjrhz5kzm59//onevS9j5MgxWEJMXpKqx3fRxYgw5aAVrwdfp84xjqgSVVXsTtyK3lJt2WwkPTqFZme3pNlZzWjSvTPmD/8rf9cRltB9+JrmZ8yYcbRq1TreodR7zjvvxjzts8DavKcRRiPe3pehJVCJB2+/K1DCXOVpVqucrNYQ2O2YFuSiFBXhu7AryQ89gP7nPShuNwC6w3kkP/kY6q/7cDz5dJyDbTgSegGUQ4cKMBrjd3OuoS1sYZw/l5T/uw1QQPOjCIG3Ww/K/vc5Ii29WvuIVZtYn/kr1rf+U6HUrTAY8bdpQ/GSVWCxRD2G6mpo50mkhGsX47ezSbn7t6AoKH5fYNitz4eiaUHPFSYThRt/bDCrVckFUCphNpsjtuKVBJ5hwyn8cS/GhfNRS4rxdr8If9du8Q4rJMcjT6C1ao31+X+iFhwDvR7XhKux//lvCZXspZrR7dlN6u9uRzlj3ehwhN6Aceki3JOujXJkjUNCJ3wpCsxmPKPGoO77Beu//olpwVxQFNwjRuP448NoZ7WJd4QBioLrpltxTb4FnM7AMMx6thykFMzy5ms1vCkrL/giSSb8Rki3ZzfpVw1EcThO1g03f/4Jpm9mUbxwOVq79vEN8HSKAlZ5s76h0G/ZjHLGfaTKKD4fnitlTZxISehROlJ0JD3+EIrNVmGRCMXnQykvI+npJ+MYmZRQhMCwcjlJj04h6ZEHMaxcXudRM1qbNogwE/zO3LOwWHHe8X8Npv8+Ecgr/MbG48G4cjlKiD9cRdMw5X5LuRAJNetWigO3m7TrJ6LfuD5w41wIzJ9PxdfjYko/+6rWM52dd9yFcfEiOGNSnVAURHIK+LzgcqG1aInj/im4bro1Eu9GOk5e4Tc2fn/lV2k1+LotNVzWF57FsO57VLsdRQgUQLXbMWxYh/W5f9R6v96+/XDc8X8IiwVxfLa8ZrUi0tIp+XYBBfuOUHCwgKItO3HdfJu88IgweYXf2Fgs+Dt2Qr/jx5CbfT0vlX9kjYRu70+YPv4Q3b5f8HXthuvGmxFZWSAElv++jeJyBb1GcbmwfPAujif+XOvzxPHEn/GMHYd56kco+fl4L7sc9zXXIVLTAk8whJ5lLdVdQo/DLyy0xXVYZkMdX21Yupi0m64LGhonzBZKps3E17tP2Nc21Dapi/rYJqb/fUjKY1PA70fxegPrLut0lP7vc7y9L6PZWc1CdvsBCFWl4NejVXbr1Md2ibZ4j8OXXTqNkPfKQZS9+yH+tu0QJjPCZMbX4RxKP/6s0mQvJQC7HfPUj0ie8gcsL/0LNe9QjXeh/rqPlMemoLhcJ2c0K24XisNO6k3Xgd+PaBp+sW+RkRFyoXAp8ckunUbKM/QqioZkox7OA0VBa9FSduUkON2P20nPGQFeD6rdjjCZSHrxX5Q/9yLu626s9n7MUz8Cf/CsVgCEwDRvDo67f0/Sc38P/hZoseL43X3yXKmn5BV+Y6YoaK1ao7VsJf+AE52mkXbteJSSYlS7HQiUi1bcLlIefgDdT3sqfblSWoJSWAhCoDvwK4rXE/p5Hg/qkcM477oH1+gchNmMMJkQRiPCbMY9agzO390X8bcnxYa8wpekesCwcjmKrTx0iWufD/MH72L/27NBm/Qb1pH8yB/R/7gdUPC3aYO37+VoFgtqiPIGwmDE17EzqCq2197Cef+DGOfPA8AzNBv/uedF9o1JMSUTviTVA7qDBwJFxkJQfD50P/0U/JptW0mfMLpCATr93p/R5R0K+Y1OqCqiaVO8AwaefMx/znk475JJvqGQCV+KCvXAfixvv4Fh9XeIZs1w3nQbnqtGyK6jWvJ3OCds2wmjEV+XC4MeT/rHXwJ1iM6guFz4zmqDareB14fi8yJ0ekSzZpRMnyUXjG/AZMKXIk7//RrSrxkHXu/JvmL9mtV4hl1F+ZvvyYRSC97el6FlNUf5dV9wGWGdLjBJ6QzGFcvCDq3UHT1K4cZtGDZtRM07hL9jJ7yXXyE/kBs4mfClyNI0Um+fjOKwV3hYddgxzs/FOD83cKWfoJRjxzD8sAktJQ1fz16J8+GkKJR+/jXpOSNQykpRHA6E2YIiNMreeh+tTduglwidHgV3mB0KsFgi/7vQNAzLlgQm9p3XHi4fLIvfJZA6J/yXX34ZnU7HvffeG7TN4/Hw+OOPs23bNsxmM88//zznnHNOXQ8pJTD9+nUoNlvIbarDjuX9dxIz4Xu9JD/4e8xfTUMYTSA0hMVK+Vv/xduvf7yjA0BrfzZF67diXLQA/Y7taJlZuEePPTVD9Qye4SMxzfiyQpG8E3xdu4d9XW2pB/aTPn4USkEBiscDJiNNBZT992O8A2XFy0RQ68uX8vJyHnvsMd5///2wz/n444+xWCzMnTuXxx57jEcffbS2h5PqCbWkqNKrYqWgIIbRVF/yI3/EPONLFLcbtbwM1WZDdyyftBuurnLIY0zp9Xiyh+P4w4O4bphcadK2P/onRHIK4rR1BISiIKxWbP98PrJxCUHa1TmoB/aj2m2BrjybDdVuI+2WGwLzPaS4q3XCX7RoEe3bt+eWW24J+5ylS5cyZswYAHr16kVRURF5efIX35D5unZH8YTuRhAGA97L+sY4oqopxUWYv/g09CpMHjeW//w79kFFgNa2HcWLV+IafzVaUhLCbMEz7CqK5yzC1+PiiB7L8P1q1COHQy5TiN8fWJBcirtad+nk5OQA8Oqrr4Z9Tn5+Ppmn1bLOzMzkyJEjtGrVqlrHqKwmRKxkZqbEO4SEU2mbZHaCMWNg9mw4o/iWYjRiffQhrInWpj9uBLMZ3MEfVIrfj2XdGixVxJyw50lmF/jik5M/mo7/F3FH9oetwqq43STt/pGkRG2jGIvnuVJlwp87dy7PPPNMhcc6dOjABx98UOXOhRAop931F0Kg1uAmmCyelniq1SbPv0aK24tp3txT/eHWJMre/QhfUlNIsDbVCSPpXm/Yr7velDRKKolZnidgTGlCiqoL2YZCr8fZqg32Rt5GEP/iaVUm/OHDhzN8+PBaHbx58+bk5+fTtm1gBEFBQQFZWVm12pdUj1gslL/7Efa8Q+i3/YCW3iSxRrycwX9BF0RmFvy6L2ibZrXivPWO2AdVz3gGDAKzCWwhkpnegOvm22MflBQkqn+BAwYMYObMmQCsX78ek8lU7e4cqf7TWrXGM2w4vkt7J2yyB0BRKHvnA7TkZMRpVSA1qzVQq338pDgGV0/o9ZR+Mh0tJRXtxDDM4/V3bH99RpZkSBARH4f/6aefkp+fz+9//3t+85vf8OSTTzJy5EiMRiPPPfdcpA8nSRHh63ExxSvWYnnnDYzLlqKlp+O66Vbco3PgtFEuUni+HhdTtGk7ps8/Rb95E5aOHSgaezVa+7PjHZp0nFwApRKybzaYbJNgsk1Ck+0SLN59+An8PVuSJEmKJJnwJUmSGgmZ8CVJkhoJWTxNijjdnt2Yp36EevQI3kt74554DSIlNd5hSVKjJxO+FFGWf79A0gvPgs+H4vNhmvsNSc/8lZKZufjPvyDe4UlSoya7dKSI0W9cT9KLz6G4XCg+HwCKw4FSUkLaDZPCTr2XJCk2ZMKXIsb83tuh69EASnEx+nVrYx+UJEknyYQvRYw+1GpMJygKusOHYhuQJEkVyIQvRYy3a3eE3hBym+L34zuvU4wjkiTpdDLhSxHjuuNOMASPAxB6Pb5OnfFf0CUOUUmSdIJM+FLE+DucS9mb/0VYrWhJgUJkWlIS/nPOpfTjz+MdniQ1enJYphRRnuEjKdj2E6bcb1GLCvF17Y63T184bV0ESZLiQyZ8KfKSk3FPvCbeUUiSdAbZpSNJktRIyIQvSZLUSMiEL0mS1EgkdB++qsb/Rl8ixJBoZJsEk20SmmyXYNFsk6r2ndArXkmSJEmRI7t0JEmSGgmZ8CVJkhoJmfAlSZIaCZnwJUmSGgmZ8CVJkhoJmfAlSZIaCZnwJUmSGgmZ8CVJkhoJmfAlSZIaCZnwQ3j55Zd59dVXQ27zeDxMmTKF4cOHM27cOH7++ecYRxdbeXl53HDDDVx11VXcdddd2O32oOccOnSIiy66iLFjxzJ27Fhuu+22OEQafbNnz2bEiBEMGzaMqVOnBm3fsWMH48ePJzs7m8cffxyfzxeHKGOvqnZ57bXXGDhw4MnzI9RzGiKbzcaoUaM4ePBg0La4nStCOqmsrEw8+uijolu3buKVV14J+Zx3331X/OlPfxJCCLF27VoxadKkWIYYc7/97W/FN998I4QQ4rXXXhPPPfdc0HNyc3NPtklDdeTIETFw4EBRXFws7Ha7GD16tNizZ0+F54wcOVJs2rRJCCHEo48+KqZOnRqHSGOrOu1y5513io0bN8YpwvjYvHmzGDVqlOjSpYs4cOBA0PZ4nSvyCv80ixYton379txyyy1hn7N06VLGjBkDQK9evSgqKiIvLy9WIcaU1+tl3bp1ZGdnAzB+/Hhyc3ODnrd161Z2797N2LFjmTx5Mrt27Yp1qFG3atUq+vTpQ3p6Olarlezs7AptcejQIVwuFz169ADCt1VDU1W7AGzbto233nqL0aNH8/TTT+N2u+MUbex88cUXPPXUU2RlZQVti+e5IhP+aXJycvjtb3+LTqcL+5z8/HwyMzNP/pyZmcmRI0diEV7MFRcXk5ycjF4fKKqamZnJ0aNHg55nMpkYM2YMX3/9Nbfddht33303Ho8n1uFG1Zm/96ysrAptEeq8CNVWDU1V7WK32zn//POZMmUKX3/9NWVlZbz++uvxCDWm/v73v9OzZ8+Q2+J5riR0eeRomTt3Ls8880yFxzp06MAHH3xQ5WuFECinrc8qhEBV6//nZqg2adeuXYX3CgT9DHDvvfee/PeAAQN44YUX2Lt3L507d45OsHGgaVrQ7/30n6va3lBV9b6TkpJ45513Tv5866238thjj3H//ffHNM5EEs9zpVEm/OHDhzN8+PBavbZ58+bk5+fTtm1bAAoKCkJ+batvQrWJ1+uld+/e+P1+dDodx44dC/leP/74Y0aNGkVGRgYQOIFPfCtoKFq0aMH69etP/nxmW7Ro0YJjx46d/LmhnBdVqapd8vLyWLVqFRMnTgQa5rlRU/E8V+r/pWmMDRgwgJkzZwKwfv16TCYTrVq1inNU0WEwGOjZsydz5swBYMaMGfTv3z/oeevWrWP69OkArF27Fk3T6NChQ0xjjba+ffuyevVqioqKcDqdzJ8/v0JbtG7dGpPJxIYNGwCYOXNmyLZqaKpqF7PZzL/+9S8OHDiAEIKpU6cydOjQOEYcf3E9V2Jya7ieeeWVVyqM0vnkk0/Eyy+/LIQQwuVyiYceekiMGDFC5OTkiG3btsUrzJg4ePCguPHGG8Xw4cPFrbfeKkpKSoQQFdvkyJEj4uabbxYjR44U48ePFzt27IhnyFEza9YsMXLkSDFs2DDx9ttvCyGEuP3228UPP/wghBBix44dYsKECSI7O1s88MADwu12xzPcmKmqXXJzc09uf+SRRxpNuwghxMCBA0+O0kmEc0WueCVJktRIyC4dSZKkRkImfEmSpEZCJnxJkqRGQiZ8SZKkRkImfEmSpEZCJnxJkqRGQiZ8SZKkRkImfEmSpEbi/wGuMuBNzzPXsgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from sklearn.datasets._samples_generator import make_circles\n", + "X, y = make_circles(100, factor=.1, noise=.1)\n", + "\n", + "clf = SVC(kernel='linear').fit(X, y)\n", + "\n", + "plt.scatter(X[:, 0], X[:, 1], c=y, s=50, cmap='autumn')\n", + "plot_svc_decision_function(clf, plot_support=False);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Obviously a linear boundary will never be able to fit this data. The data set is inseparable. " + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "e4800d8e457b4faa91ccb8a109f7f51b", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "interactive(children=(Dropdown(description='elev', options=(-90, 90), value=-90), IntSlider(value=30, descript…" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from mpl_toolkits import mplot3d\n", + "from ipywidgets import interact, fixed\n", + "\n", + "r = np.exp(-(X ** 2).sum(1))\n", + "\n", + "def plot_3D(elev=30, azim=30, X=X, y=y):\n", + " ax = plt.subplot(projection='3d')\n", + " ax.scatter3D(X[:, 0], X[:, 1], r, c=y, s=50, cmap='autumn')\n", + " ax.view_init(elev=elev, azim=azim)\n", + " ax.set_xlabel('x')\n", + " ax.set_ylabel('y')\n", + " ax.set_zlabel('r')\n", + "\n", + "interact(plot_3D, elev=[-90, 90], azip=(-180, 180),\n", + " X=fixed(X), y=fixed(y));" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'bar': 'bar'}" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "foo = dict(bar=\"bar\")\n", + "\n", + "foo" + ] + } + ], + "metadata": { + "interpreter": { + "hash": "b7e818f66e33c31ac0526ee7f8556503ff93918b8b22809241939dc19e90de0b" + }, + "kernelspec": { + "display_name": "Python 3.8.12 ('pytorch_m1')", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.13" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +}