{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "<p> This notebook is meant to be a fun and simple illustration of the <b>Singular Value Decomposition</b>, a tool that is incredibly useful for a lot of data applications. The use cases include dimensionality reduction, recommender systems and data compression. This notebook is an illustration of SVD for data compression, where we examine low-rank approximations of a photograph.\n", "\n", "\n", "</p>" ] }, { "cell_type": "code", "collapsed": false, "input": [ "'''\n", "Much thanks to this person for the tutorial on image processing\n", "http://nbviewer.ipython.org/gist/frankcleary/4d2bd178708503b556b0\n", "'''\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import time\n", "from PIL import Image\n", "\n", "#This image is hard coded to my desktop\n", "img = Image.open('/Users/briand/Desktop/briand/head_shot.jpg').convert('LA')\n", "imgmat = np.array(list(img.getdata(band=0)), float)\n", "imgmat.shape = (img.size[1], img.size[0])\n", "imgmat = np.matrix(imgmat)\n", "\n", "\n", "\n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "<p>We've converted the image to black and white and then represented the image as a matrix whose values indicate numeric pixel intensities. Let's plot it just to show that it works. \n", "\n", "</p>" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#plt.imshow(imgmat, cmap='gray');" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 31 }, { "cell_type": "markdown", "metadata": {}, "source": [ "<p>The SVD decomposition is easy with one line of python code. Remember, with a an $NxM$ matrix $X$, we want to decompose it to: <b>$X=U \\Sigma V^T$</b><br><br>where,<br>\n", "\n", "<ul>\n", "<li> $U$ is $NxM$ and the columns are the orthonormal left singular </li>\n", "<li> $\\Sigma$ is $MxM$, is diagonal with the singular values, and the entries are sorted highest to lowest</li>\n", "<li> $V$ is $MxM$ and the columns are the orthonormal right singular </li>\n", "</ul>\n", "\n", "(Tip: The following function returns $V^T$ and not $V$)\n", "\n", "\n", "</p>" ] }, { "cell_type": "code", "collapsed": false, "input": [ "U, sig, Vt = np.linalg.svd(imgmat)\n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 40 }, { "cell_type": "markdown", "metadata": {}, "source": [ "<p>Sometimes it is useful to look at the relative magnitude of the singular values to see how much redundency there is in the data. Recall that square root of the total sum-of-squares of the matrix entries (also known as the Frobenius norm \n", "$\\|X\\|_F=\\sqrt{\\sum\\limits_{i=1}^N \\sum\\limits_{j=1}^M x_{ij}^2}$) is equal to the same of the singular values. \n", "I.e., $\\|X\\|_F=\\sqrt{\\sum\\limits_{i=1}^M \\sigma_i^2}$. <br><br>\n", "\n", "In the section below, we plot the square root of the total sum-of-squares of the singular values up to the value $k$, normalized by $\\|X\\|_F$ . I.e., $\\frac{\\sqrt{\\sum\\limits_{i=1}^k \\sigma_i^2}}{\\|X\\|_F}$\n", "\n", "\n", "</p>" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Plot the spectrum of the image and the total sum-squares captured by the k-th value\n", "\n", "norm = math.sqrt(sum(sig*sig))\n", "energy_k = [math.sqrt(k)/norm for k in cumsum(sig*sig)]\n", "\n", "plt.figure()\n", "ax1 = plt.subplot(211)\n", "plt.plot(sig)\n", "plt.title('Kth Singular Value')\n", "plt.tick_params(axis='x',which='both',bottom='off',top='off',labelbottom='off')\n", "\n", "\n", "ax2 = plt.subplot(212)\n", "plt.plot(energy_k)\n", "plt.title('Normalized Cumulative Energy of Kth Singular Value')\n", "\n", "ax2.set_xlabel('Kth Singular Value')\n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 27, "text": [ "<matplotlib.text.Text at 0x107726550>" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "<matplotlib.figure.Figure at 0x107efe050>" ] } ], "prompt_number": 27 }, { "cell_type": "markdown", "metadata": {}, "source": [ "<p>If we call the normalized value of $\\sqrt{\\sum\\limits_{i=1}^k \\sigma_i^2}$ the \"cumulative energy\" of the matrix, we can see that for this image, most of the \"energy\" or information in the matrix can be represented with just a few (i.e., way less than 200) singular values/vectors.<br><br>\n", "\n", "To illustrate this principle, we can form a low rank approximation of the matrix $X$, which we will call $X_k$. This is defined as: $X_k=U_k \\Sigma_k V_k^T$, where for each of the latter 3 matrices we take the first $k$ columns.<br><br>\n", "\n", "A well known theorem called the <i>Eckart-Young-Mirsky Theorem</i> states that a rank-$k$ approximation using the SVD minimizes the sum-of-squares of the entries of $X-X_k$. Further, the sum-of-squares of the difference between $X$ and $X_k$ (i.e., the Frobenius norm $\\|X-X_k\\|_F$) is given by $\\sqrt{\\sum\\limits_{i=k+1}^{min(M,N)} \\sigma_i^2}$.<br><br>\n", "\n", "The bottom plot above then shows the normalized $1-\\|X-X_k\\|_F$ for each value $k$. We can see that for this given photo, we can get most of the information in the first dozen or so singular values. Let's see if our eyes agree with this! \n", "\n", "\n", "</p>" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Now work on an approximate image\n", "def plotApprox(U, sig, Vt, k):\n", " reconstimg = np.matrix(U[:, :k]) * np.diag(sig[:k]) * np.matrix(Vt[:k, :])\n", " plt.imshow(reconstimg, cmap='gray');\n", " \n", "def plotSeq(U, sig, Vt, seq_k):\n", " fig = plt.figure()\n", " for i,k in enumerate(seq_k[:8]):\n", " ax = fig.add_subplot(2,4,i+1)\n", " plotApprox(U, sig , Vt, k)\n", " plt.title('Rank {}'.format(k))\n", " ax.axes.get_xaxis().set_visible(False)\n", " ax.axes.get_yaxis().set_visible(False)\n", " \n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 14 }, { "cell_type": "code", "collapsed": false, "input": [ "plotSeq(U,sig,Vt,[1,2,3,4,10,25,50,200])\n", "\n", "#plotApprox(U, sig, Vt, 10)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAV0AAADfCAYAAABVhwDQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvXmspFd5Jv58tVfdqtv33t69tJf0OI7bNhgZiIUHPCFh\nMoMsiEiCEmFCaIlxJjJCIQlBwcIIkMIoJCONkUISySwheMSimDCJiRK2MAk2Brpxe7Dd2O1u93a7\n71p1a1++3x+t5/RT7z1fVd17q29f8/teqVRV33K+97znPc+7nOULwjAMEVNMMcUU06ZQ4nIzEFNM\nMcX0/yeKQTemmGKKaRMpBt2YYooppk2kGHRjiimmmDaRYtCNKaaYYtpEikE3pphiimkTKfnAAw88\ncLmZWC/ddddd6Ha7eMUrXnG5WfmppFi+l45i2V462uqyveSe7rXXXotCoYBSqYQ9e/bgnnvuQblc\nHkvZQRAgCIKRrn3wwQdx++23I5fL4bd/+7fH8vytQFtBvq1WCwcPHsS1116LyclJ3HbbbXj00UfH\nwsPlpK0gWwB429vehr1792JychLXX389PvrRj46Fh8tJW0W2pKNHjyKXy+Gee+4ZCw+D6JKDbhAE\n+OpXv4pKpYLDhw/jySefxEc+8pFL/dhVdOWVV+L+++/HO9/5zk1/9qWkrSDfTqeDffv24dvf/jbK\n5TI+8pGP4Nd//ddx/PjxTeVj3LQVZAsA73//+3Hs2DGUy2X84z/+I/7X//pfL3mjtlVkS/rd3/1d\nvOpVr1ozWK+HNjWnu3v3brzhDW/AU0895Y79yZ/8Cfbv34/JyUkcOHAAf/d3f+fOfepTn8Kdd96J\nP/iDP8DMzAyuv/76SGU7c+YMbr31Vnz84x/3nv+VX/kVvOlNb8L27dvHW6ktRJdLvoVCAR/84Aex\nb98+AMAb3/hGXHfddfjBD34w5hpePrqcunvgwAHkcjn3P5VKYdeuXWOq2eWnyylbAHj44YcxPT2N\n17/+9diMBbqbArqsyMmTJ/Hoo4/i1a9+tTu3f/9+fOc730G5XMYHP/hBvO1tb8Ps7Kw7//jjj+PG\nG2/E/Pw8/vAP/xAHDx5cVf6xY8dw11134d3vfjfe+973jsTLTxNtJfkCwOzsLJ599lkcOHBgDLW7\nvLRVZPvf//t/x8TEBA4cOIAPfOADWzZfuRbaCrJl+X/+53++edgQXmK65pprwmKxGJZKpTAIgvDN\nb35z2O12I69/+ctfHj7yyCNhGIbhQw89FO7fv9+dq1arYRAE4ezsbBiGYXjXXXeFv/d7vxdee+21\n4cMPPzwSPx/4wAfCd7zjHRuo0dairSbfVqsVvv71rw/vvffeDdRqa9BWk22v1wu/8Y1vhNu3bw8f\ne+yxDdTs8tNWke273/3u8H/8j/8RhmEYPvDAA+Hb3va2jVZtKG1KTveRRx5BuVzGN7/5TXz961/H\nE0884c5/5jOfwW233Ybp6WlMT0/jyJEjmJ+fd+f37NnjfhcKBQDAysoKDQY+97nP4aqrrsJb3vKW\nkfgJf8o83a0k316vh3vuuQe5XA4PPvjguKp42WgryZb83HXXXfi1X/s1fP7znx9HFS8bbQXZHjp0\nCP/yL/+C97znPe6+zaBNzem+9rWvxX333Yf3ve99AIDjx4/jXe96Fz7xiU9gYWEBi4uLuPnmm0eu\nfBAE+NCHPoTt27fjN3/zN9Hr9Ua656eVLqd8wzDEwYMHcf78eXzpS19CMpkcS522Cm0F3SW1221M\nTEysqx5bkS6XbL/1rW/hhRdewL59+7B37158/OMfx5e+9CXcfvvtY6ubjzZ9ccR73vMePP7443js\nscdQrVYRBAF27NiBXq+Hhx56CEeOHFlTeel0Gl/4whdQrVbx9re/PbJhut0uGo0GOp0Out0ums0m\nut3uOKq0pehyyfd3fud38PTTT+MrX/kKstnsOKqy5ehyyPb8+fN4+OGHUa1W0e128bWvfQ1f+MIX\n8KY3vWlc1doSdDlk+653vQvPP/88Dh8+jEOHDuHee+/FG9/4Rnzta18bV7W8tOmgu2PHDvzWb/0W\nPvaxj+Gmm27Ce9/7Xtxxxx3Ys2cPjhw5gjvvvNNd65tv5/NU0+k0vvzlL2N2dhYHDx70CvjDH/4w\nCoUCPvaxj+Fv/uZvkM/nfyrmO1q6HPI9fvw4/vIv/xKHDx/Gnj17UCqVUCqVXvIhsKXLIdsgCPAX\nf/EXuOqqq7B9+3bcf//9+OxnP4tXvvKVl6aSl4kuh2zz+Tx27dqFXbt2Yffu3SgWi8jn85d8hlMQ\n/rQlOWOKKaaYtjDFey/EFFNMMW0ixaAbU0wxxbSJFINuTDHFFNNm0qBJvK997WtDAPFnwOeGG25Y\n9yTpO++887Lzv5U/t95667pl+/M///OXnf+t/rnlllvWJdtXv/rVl533rf45cOBApPwGDqQFQYB2\nu40wDNHr9dDtdtHr9RCGoZt2lUwm0Wg0kM1mkUgk0Ov13CcIApTLZeRyOSwtLaFWq2FxcRFHjx5F\nuVzG3NwcGo0Gms0mgiBAr9dDq9VCs9lEvV5HEATIZDJIJBJIJpMIggC5XA6dTgfpdBqZTAa9Xg+d\nTgepVArbt2/HnXfeiVKphEQigW6360Y1OT2s3W4jCAIkk0kkk0mk02mkUinv6CfLrtVqWFlZQbVa\nRaPRQBiGSCaTSCQSkbMlRiHKR+XL351OB51OB4lEAs1mE5lMBslkEmEYug/rMzExgVKphF6vh3a7\njUqlgna7DQB9sut0OshkMuh0Omi1Wm4ubbvdRqfTcW3L3Z8ymQzCMEQqlUKlUkE2m8XS0hIAuOeH\nYejuJf+UL3lOJBIIggCJxMXAivVkW5fLZVSrVcdzKpXCL/3SL21ItidPnnSyYt3Ib7vdRiqVcrLl\niDivTSQSaLfbyGazyOfz7ni1WkWn03H1TKVSSKVSbi4o72N53W4X3W7X3ZNIJJDP5/um1VHveS+P\n8Zu8dzod94xEIoF0Ou1kqx+Vb7vdRqPRQLVaRb1e79OJX/7lX16XfIMgwIkTJ1bxRx673S6SySTq\n9brDBZ9sU6kUJiYmnJyWlpaQy+WQy+X67mm1Wq7uzWZzldyov4lEwt1PnlKplPuu1WoALmIB+xkA\ndz9lww/lpfqhMqvX61hZWUGj0XCYl0wmcffdd0fKNjVMwIlEYtXNLFyZ5G/bOD6l8FWG12vntPf5\nyrLHyAf5ViW0z1TeoxZNaHm2XFvf9ZLWX79HvZe82HYB0Fc/KhKNBn9TDgD6DIq2UyqVGiinUeu2\n0fqu59nrPe9rX4KhT//tPbZP9Ho9J3fqkX6sjOyxKN4t4PrOjZvI30but2TLo+xSqYswRTAlUKv8\nksmkc6AUIFmuylT7sK8ePlyyPA9qn0E0FHRfeOEFZ6HUqnW7XectNRoN55Hq+SAIUKlUkMvlsLy8\njFqthqWlJZw5cwblchnz8/NoNBpotVp9nm673UatVuuz5vxkMhl0u12k02mk02lnXZPJJLrdLk6d\nOoVisRjp6XY6nT7AJd/WS+B3u91GvV5HrVZzni6wukOtl9jo6i3xP/mnx2gViXx2u12cPn0a7XYb\nKysrWFpaQqPRQL1ed9EJr6PnQG9E606QpQfHe8jb1VdfjZmZGddWKi+9n2WoHlD+quD0NHq9HrLZ\nrDMC4zJo+iwLhuS1UCj01YN8plIp5/1opy8Wizh58iSWlpZQr9exuLiIarWKSqXiPMpWq+XkQ7mk\nUim3Uxh3xtq3bx+mpqaQyWSQzWZx9uxZp5+6iorlkA/Lry7y0Tp3Oh0XSSYSCbeKbRwgrPqnwKUY\nUCgUnNw12kilUmi32062lNHevXsxNzeHs2fPotFoYG5uDuVy2cm4XC73LWpSg8fIYWZmBvv378e+\nffswPT2NiYkJFAoFnD17dhVIswyVsQK2Rm5aZxtFJJNJTExMjLyqcCjoLiws9IGuhsIE3Var5cDR\nphcUdOv1OpaXl1Eul1Eul51bzvQCQa7VavWlF9goQRAgm82i3W679AJwITxmqmBpaamvoyvoBkHg\nQj82uA3RKFx+dzqdPtBttVrOOxw3MGhnUK9Sf/usd7fbRblcRqfTwcLCgkvllMtltNvtvpCVHVG9\nXYJCOp3u8yAYKjKEzufzmJyc7PNyBnVg6outL49pyortO06K8sTYbgx1ea2GydaT4zGmZ2q1GpaX\nl3H27FksLi5iYWHBGTyGwwTKTCaDTCaDUqmEMAxRLpdRKpWwc+dOTE5OurAYQJ9xst6VRlna+bWu\nqh/so61WC/l8vs8obsRL1eeQ1CukA2TTCr5IlvXq9XquLwIX+nS5XMbZs2dx5swZLC4u4vz5885J\nI3gzFVEoFBCGIXbu3IlcLofJyUnkcjkUCgXk83nX91VmUZGWOjP2uOpIt9t1WJROp/tSbINoKOjO\nz897QZdeaTKZ7MuL6fkgCLCysoJsNotyuexyd8vLy6hUKqhUKqjX6w4IaT3oXSrosgGbzabrpMw5\nMqebTCaxtLTkQJj5GhWk9XTVk7adzYJuvV53OaVxga7SKOG2AhlBo9PpOC9gbm7OAcDi4iJqtZrj\nudfrodFouNwW89n0tJh/azQazopTtoVCAdPT09i3b19fKkPbhmQjHiUf6NKIMXLhdeMkK1NGEhrm\n87kEDrZvrVZzxqHZbGJhYQHnzp3D0tISTp06hfn5eSwtLaFSqWB+ft6BLiOzQqGAbDaLer3u2mBy\nchKFQgHVahWlUgk7duxwz1EdtOkzlaPNp1rgpdGkgaWTosAzDnkqb+xXNPT6PPZx6h1lq3nwlZUV\nlyddXFzEuXPnMDs7i/Pnz+PMmTOo1Wpot9vo9XpOtslkEoVCAd1uF8vLy87rnZ+fx969e9Fqtdx9\nAPo8ZdVh6qHqrjW8ms/X9AfHmgjsg2go6DabzYGgS4EpYCnossM3m000m01neenRklE2CP8THIH+\nvCTTBvo8hqgcIKI3op4ulYzl0guhoBXwLCgoz6zrevKbPrJWn7/Vm1FgsF4mz1G29Xod9XrdhWM6\ngBKGIWq1mlN0Gp1sNotcLue8IRqYer3uophSqYRqtboKFKO8c9+GNzY1ospJb1tlPw7ZqjersiU/\n6XS6LwWjYMf7dLCm3W6jWq1iZWUF5XIZlUoFKysrbqB1ZWUF7XbbATq/tZx0Ou08t16vh1qthiAI\nnAdHPqx+RQGdki8SUicjquy1knUQLICpI0Ms0AhRZRIEgTNIKysrqFQqfc6ZypZOGkFRI1Y6gQsL\nCzh//ryr58TERB+AWlC0dWC7+eSq8qNx1kE3n6NhaSjoEtkV+QmqzKUqkFnQ5cgtQVC/NbxUhvlh\noynI8hwrzGcB6Bspjsrp8pgqTRToWn5YD54bh6drlVe/yQvDNWtArJIQFGjQms0mGo2GSyeEYehA\nmEaHYRGfmUqlnGdfq9XQarVcFNFqtVzdo+piUzRWnr57taOqoRmHbG3bWq/MDrjavDIdB8qTMqxW\nq6jVai4qUL51UI1gxw/baWVlBefPn0er1UKlUgEATExMDAXGUaIhe70d6I5qh7WST676UaNn+x3v\nI9jSE11aWnIpssXFRVQqFTSbzb6ZG/SSGdYzfcPzzWYTy8vL7hmcjeMDVzVI5E8NpWKTOj5RdY8a\nmFMaCrpUCN9AGpPhtN4+0K1Wq8hkMm4Qip2eHyqterqtVguNRqOvsSgggjTDQ/JCD42hM8tT0A2C\nwIUYOmVsEOgyB0ogIvBcivQCSevLVArbQMMaNSTkjR5YuVzGwsKC8xR4P70G1p8h2sTEBCYmJpBK\npbC4uOi8N3q6rVYL5XJ5lfGySkiigmr46wuF1YDQ06XcxyVL20E016iyVdJr2PFXVlZcCmdubg5L\nS0surUAdoT6zDOowP/SYz54963KtxWIR9Xod1113HYrFonMm1Ov2yVbTBFbOWn8Ff19d10tqGBRo\n2P9p0K2XqM4b02Ic3zl9+jROnjyJxcVFnD592nm3NHI0cJQRcKEv53I595xKpYLz58+jUqlgeXkZ\nnU4HP/MzP4Nt27atMoj8aJTF89bRsXVUh1Sniw2jNXm6diBtFE9XvU7r7RJAVXH0mPUcCEI+A8Dn\nMrTzgS6/NXxQpbREwSqvOsdvHHvG2vwSyXqHtlOpsluPnHzqh+WxPrxXvS/14vUY25Fl+7xXaxAs\nMESBroKvL+2wUYryuH2y9t0XhqEDVM5SoOOgI+mpVMqlaeiAJJNJZLNZl9PlYBnz5YuLi1heXnbn\n9+7di4mJiVUpGPKrYOmToQKu1lsHKS+VjKOiCXvMDgpznna1WnWzbnRwlflS5sLT6TSAi0Cbz+eR\nz+ddSpHpH3rYpVIJuVwOV111VR9OWP1Vfn366tNP9Y7ZPqPIdqScLpnTKRe02gw7ybiCLgDnGWpO\n1PdRT1c7u4Kiuv/WGyX401P2WSqgP6er81QHebrM6bIOvG5cHoOSL6xUg8b/ej35ZFqBH/XQeS9n\nYVChNZLgf0YMDJ/T6TRyuZwbxFSDxt8KtspXlOLqNSTNAV4KsoDgC4NVrsAFvaEMuaCHUQC9MBv6\nasjK8DebzSKdTjvAbTQazgsrFApIpVL42Z/9WczMzPT1H21rG7r6wFl5p25rXe3v9ZIFFh/wR12v\nesBc7eLiIubm5rC4uIiTJ0+iXC5jaWnJOW0EYfLOsYhCoYBcLuemwzGi5nTJpaUlpNNp3Hjjjdi+\nfbsXUzTNpPJRvbUDrnRsLL6o4xFFQ0FX81V2II1epQ4u6TW8PwiCPtBVYNV5hgQPHQTTDsH/VHIK\nRqc4EXjowWlD02PTcoHVXqYqCvlR3rWu4yKt4yDyWVL1TBV0mYdkLhKA6/BMLzBVwxRCt9t19zBc\n5jGOGmubsDNE8RXlKajyjmtQMoosyKihVSDSa9W4qJc7NzfnvCkO6jC9pekqHaTMZrPIZDJu1L7X\n6/V5zLlcrm92gxpYK0c9Zs/5zqt3aeu6EfJFC+qRW29Rr1OjwgHf5eVlLCwsYHZ2FidOnHCznTgH\nFuhPCdKQ5fN5tyKTjpbONgIu5H51taMaRf4fpMPqxbLOFgfUCRlGQ0GXXpLtNNbTpYXXThYEgZsG\nw3CMHVlnM9B7VODkhG4NWxVkbXqBizQ4SBTl6Wo4TwAfBLoEcYLVuHO6LE+9MFtf8mGVuNfr9Xng\nasRsukHrrzJVwNa0jN6n6SQqm87DpDzUs9J8u00D+cCBhlKv3ShpVKJ8ar1piFVvOeWJOs7ooFKp\nYGFhAYlEwukzZZnNZvv6COc2Z7NZTExMIJPJIJ/PO8BttVouvZDJZFAsFlGr1RwvKnvVBZWbtqsv\nkrApP+tAbYTU8dFnaaqQ0ac+LwiCPueFS+w1iiA+MC/MxUHEGE3lFItFNxdXcWBxcRFLS0vOqeDy\nbcrKDphaB4ERNetiQVfbRse39L4oGgq6HCnUB+vDCYw6kKZCpnVn6MqRcA1v1atQxacFstYJuGj1\nSCxPJ/lrZ1Ml07K4vFUVx4ZpbDi7xv5SemckXzhurTHlRC+AHyqmzh1kKkgH0rhenavC6EFQkZhe\n4JxpPpNy8BHlqFGFL4WjpADiO79WivLsfKE4ydbHenPcv4L6Q0Dg5HwOHlEP0+m0A10O9uRyOQcg\nNGjaRqOmAVRfozxZ36yFcclXKSp94HuePc+ZTL3ehXnQTGsBcHpH+SUSCfeb6YVisYhSqYRUKoVW\nq+XmqfO/zq3VZfA2xaB9W/u3zqRST1flT4eC5Q+ioaA7PT29yvtQzyeRSLgRbmsFgIsDDIlEwgmS\n0zc48V6XAdPTZaV1UCIILq4IolKr1zUxMeEmnUeNPurUlbXMXiBAj3tFmi69VR7Uu1Hvl3zxm3wx\nL1gsFp2XUKvV+haRhGGITCbj5oVyYUShUHAfggHDt2aziXQ6jenpaZRKpb6Vh3YEWAdsVJH5bA3h\n1KDx+nGTbVeVsw27td3VKNOhoMdFY8Y5zfRqGQITQBR08/m86wfpdBrNZtPNemg2m64d6KD4HA7r\nRLD9VSdsKA/0D/YobVTedgWhApLVZb1OZUsjpekXypbP2LZtG2ZmZpyhSyQSfSkb6m2xWEQ2m0Wn\n03FLtDllkmWn0+k+p037sO1b9hzlqw4acchXv0E0FHRLpRKAfk+Xv+0yYPV0dS4tRxwJklynzPvZ\ngAQ5gvAg0NVVLRxIo/B15yLr6TLEoNB1xZsqEElXu3FXqksBuko+cFUAtnxyiW4qlUKpVHI8UuF0\nOk0+n3cpGLZNPp93I8HsEFRm7gY1OTmJyclJJwvNuduBTqDfE9box3rtGrYpII8DhFW2tmPw24KF\n/daIiFEROzs7MQdyaOgBuHMEEt7PyINLh+mQcBBO5WvlauVr0w1Wb6zxHqeHqwbNtpfvt40m+V+j\n00Qi4WRJuU1NTWHHjh1Ovwm6jBYYpXFArdvtuul82WzWpRy0D6unqzypfPUc8c46FcQdq9fDaCjo\nTk5OAlgNuszvMYeiy4A1vUAlpYC73S4KhYIDXSob79UtBxnaagigoKuebjKZdEn1YrG4CnQ1f8ey\n6QVGebr06NUw6KYj45gy5iObb9PZGsDq0Wl6+e12G6VSqS8/SpmwXOamgYspGXoOuVwOQRAgn8+7\nPDbnYBcKBWzbti3S+/IBrjV4CsDknzLWEE3ruBGKAm4FJZt2svfT8NPTpbyAC+1Cz4xzQKk/mlaj\n45BIXNjWsdPpYH5+HpOTk6uWZGsKbdAAWJTn60uXJBIJl6Mel0GzvNj0gUY59j41siojevzFYtFt\nWbpjxw7s3r3bTasLgsABrR2s5HS78+fPY2lpyQ2eqcEkmGqE6auHz0ioYWO5OpA2Kg0F3V27dvV5\ntxqmj7L3AufQZTIZ1Ot1tzcrQSGbzfZN8aKnywrRY2Dlab3YQAqMU1NTmJmZ6dtljKT5I/VgBoEu\nr+foNcNtWspxKK/Nt1l+bZ5PDRrPp1IpTE1NudkFHK2dmJhwA23A8A1v2IY0TBzwYIfYs2dPXzsr\n2fBcP2qcbGpB506OY/DM8qTP1efTc7EDgnoNwaFQKAC4kA+fmprC1NSUM+JcWMIogHl/1VvWn05F\nJpNxuUbOQeWOWHqf6gYNxCBjp9dqWoqy1tzmRnWXzofPGaATpeG3jSQ5G2jbtm0uEpidncVNN93U\n5/VquoFlWkeMA8asF9NpADA1NYXdu3djenraPZdt7pMXcUH3RNbz6kBMTk662S3se7p9QaTshgmX\nFbCers4CABC5Ik1zNtqB6T1QEbQsgiq9YM0X8jlUcApDp5IQSFUAmjukcO0uY5ZYtnrWlIGGJxsh\nHzD4+LDX6v3qgTN/xZysek5sN1pnhly8hrJlOkjbjFEGZaUDY776RIXDPq/Ihr/jMGbKyyCveVjI\nzU5MgJyYmHAj5QCcvukAMdC/ebzt1MzBT05Oum0gJycn++Tr00kf2EYN/EUZkWHyGJV8HqKtpwV4\nqxtMFdA5m5iYwNTUlEsParRgMUflSrDThSr5fN6lyKanp/s2jffJg0ZY9dEOngH9UZt6v1GevY+G\ngq61igwd+DBOC9HQSu+1SmQHX1SAOpWJz7ReqFU2/a/l6W8lHz8+JWdD+HjVul1KUqUYBkTKIzu/\n/ifPAJwS63U2baBEQPfV1wemtkP6rtVzo4DjpSD7vCg5q4HmYBivU7kB/auZ1DNV757lMY8ehqHL\np0eR7Vs8pt/DjLbWcZyy9oG5r3zfMY2y6DDYmQW8l3K1hsdO6eJsG+6ly0HPQY5AlHHQb71HeRpm\nuC0NBV37AN/DFKB8VsQXEvPYoGv1+cMqqYoO+NdK2/rwWz0tq5A+/vR5G6UohbV1HMSDL1c6SJlI\nw4Bc7/WFY1G8qUH0tVPUfeMG3bXqrr3XGhE1zlZ2UeVaT1dlRPANw3DVKLg1AD59GCSvYfq0UfLp\nre+5PtkqT4DfcYoCXR/w+gydOh86ZuTj0fJqn8PzNiKLwrphNBR0mU+he685XQ2honK6fM+Ujqgz\n3cAJ5RS8uvYcpPO9OYK5Xg6kBUH/hGnOnbQr0oD+2QujDKTRK9SFAcB43xwBwMmUPOg3lcEHnlYu\nHFRgezGFw3KYb6Snaz1kBVmWQaXl4EWUh+WLPixAqVIGwcUdnWz+fZhBGIV8wKgdx0fWYAFwXmgY\nhm76EufVMpVjAcICg9aJG5pzgCgMQ+eVqV75PFifAYiqexQwXArZ2nNRht4CLQfV2+02tm/f7sZk\nyL/uHWIHrFg2x4GoS4VCAdu3b3dbklLOVj8H8R8l80EyGDViG+kdaSQ2GCvvs0qWWV/Ybzuk/Qy6\nnjzxmPXo9H5f3nHQs3zCVMCzzxxnesHnMURZZN95X3pBZ1oAF1ejKZiqLC3ohuHFecDqwVoZKY+j\neM+++mqdLmXaxidnC4r2OvV87AwAeqs6j1SnKdnnMPdI+eoS9qjISZ+3FtCMMo7jAF7t67Z8C7oW\n5GxOlvfS0eJYBHBxu1aLCbYd7QwZrmrlFD0+I8qDtcfolPj6IZ+lOWA1csNkOxR0uRhAFY4C4iIG\nXTBARSIz3DCHS1W5hl+XruryPN2XQYWsIK8eoXrgWi5nQqi3CFzcC4KdhQ0VZVxoRXWfWt4zjvSC\nb5oU5W3/W++F9WJntpsIcYSc8qKcuHiCSq7y4DN8ni5HaH1Kym/1em3niwp5NSdny9kI+VJK2mns\nMy2v/OguY0tLS+7Ny6wfBx6D4OJ8cg4A8bim0nq9CwtX5ufnMT8/j263i2Kx6N4oq+2qHdkOBisP\ngyjKmGyEdL8U28fUkOl8fb2XH24YVKlUsLS05N4QzuiNxotRJ3VTgY4Og77thK9OYoRdq9Wct2tl\npv+t/vpkSazQ+tppnYNoKOi++OKL7gHaORQYB70jja/rqVQqbqemc+fOoVKpYHFx0e2/QOZ1rwMq\ntE1j2Hm6BI8wDDE7O4uVlRUHzurlAYNfTGmJwKT7AI/7dT2sO+uvv6M8Xf1QXgsLC2i32+7VMfoi\nP923gYrJOhAc7JQxXstpP9w7YGpqapVnGBVN2D1xbZ0I6nYDo3EBg+5e5+NDO08QBH3GnHz1ehf2\nfK3Vau5/bbW/AAAgAElEQVSNBLr5DyfmF4vFvnmbOjdUBzL5up/jx4/j2LFjOH/+PIALL1Qsl8uY\nmZlZNZXN5z350hdaPz4vKrLYqIyt3lr9VNAlkRc6A71eDwsLC6hWq1hYWMDCwgIOHz6Mer2OMAzd\nXsNTU1NuJkMYhq7v6wAw+3ur1XJ9lcBbr9cxPz+P6elpb2QLrB4k9q24Y+TH38vLy65NdYrZMBoK\numfPngXgX5Gmnq4FXTYCNzHnRs98j5RaIq5AI4gQGBR0KaioZcAUxtzcnHsdjS+nq9NOfMuAlQjo\nfK8YN+Lg/eMAXZ+3bDuTJvfJl/Lb6Vx4IWWr1cK5c+fc2nPKgiBLz4KypRdh917ge9U4/5D7B0xP\nT+P66693svWlgGy9ooyFyheAm3Kl126UohYD2OhJvVB9Lg0054MXi0VceeWVTjb1eh1zc3NOFozk\naOx1FZpuj0k9KhQKuOKKK5DJZLBnzx63jFXTd+TdgoBPvr4BaNZNPUY9v16yBpVy5bdGS8qHlS3H\nH0qlEq6++mqnr41GA0tLS66cbrfrIgHtu/l83n2rbLk/MeeXcz0AcUL11oKl5pEpqyiHIQxDh0VW\n9lE0FHR3797dN3jGh+vOOnYZsHq6+XzeDe5wb1YujgCw6hXsBF2C4aBlwBZ0p6enMTMz07ck03q6\nUaDrSy8QFOr1OvL5vHs7AxVhHKDL1Xr6XP62vPC/dhx6U5zzyXmfuuRaF0dQoTWlwOk6nDPJFUF8\nTQrnPXK+o+bL7QcYvBLMpkbS6XTfZHXePw7QpQysDEm6Dl/542/qnr5Gh3IJgosro3gPU1GMAKm/\n9NI40FsoFBy4Upd37NiBiYmJSPn65OpLG1ig0FQf0P8m5I2Q6q2PH+WF5Is4uMk4txPYvn07du/e\n3fc6ezph+nJJ1V3igw4QE0f0rcvsK4oLyovKSGWmuqP5XBpjytQavigaaRmwAqkCcNTeCwq6VE7g\n4vxQ7r2gu1ixQhSWClbnQtIb4KgxFZejlsVi0a1I43FgcHrBemnaSbn3ADuRrkgbB+hqg0Upgnq7\nvEdDSE62T6fTbukur+GeuiyPqRuVry5Wocem6QWem5ycdO08KJ/IOln5WFDT0WgLGqOEacPItqn+\nHhRhAP0DqOzQuvcC537SULGj6oon1V+WQf2mV8Y+pAOgUR6Y5XMQyGkKRUf/tYyNED1GPsvmSAGs\nAjfVdcqLxox6xdlHnMNMHeRLV7l6VZ0Glk1w5k5lGikrjtj662+7oIVl24E6lq0zmqw3H0Ujb3ij\nni5d62HLgEn0BqgAfDsn98y1nq6+iYLJdAqCy4At6CaTFze84S5mw3K6dkWa9TLtQBLvGSfo+nJu\n7DA2NFP56j00OBxM6/V6bqK5TnVjG+pr7G2HZzvoQBqvmZqa8k4yJ9lO7bvOemKad/Xl/y6FbFWe\n6qlYHlkGPSgujCBAUJcoO9aJxl71ht9sI260zaiDZfum5Pn44vlBUQVwUe8ZAVnZrJdsm1oZ89lR\nuVGWQVnq9o0AXL6cv3WgmPXWnDcAhx31et1tgs5ohM4Fr2cZUZ6ppnb0WdQd9hnqsKYbhtHIy4DV\nOqnnxWkTUZ6urjKhwmrIlUql+jxS3Q+AXpymF1SReYxhtm6coYpOflVZfKDL8woM9HS1/HGmF2xI\nY8kqdBTR4tMYdTodl6PlOSoGjZ+dp6tTnNiuNHAabmtkYL1e7VA+0FUgtPfpveNIL4xCg56jbWNX\nSVk9pDEGLnp4vMZXDoFER/dVpj4nwPKm19hrfdHIOKMIlqNYYPmM8oSVCFyUrcpH0z7shzrbRuul\nfZxOBx0mxRMb1Sr4qiytbLUNFbRVdzWVNYjWBLq6OEIXGYRhuMrTpTLpDk3swLqFnd2FCUCfd6nK\nrcCgywWt52oH34D+ne75UT58ykkB6p4RtGZUkI2Sr4F84BV1XuVCYKQcODNDBxE14rDy01F2tquC\nbtTeC5pOsAqpbaBk+VfZD/LgNiLbUTqErwzKlmkFlkMv0nq6lLE1PJQHPWcALrXGvYzVmJNXa4yj\nDJqts+/8emQQJRf73xrSKIOrzhD3rWi32262go7V0MMNgqBvB0Itk3jDZzN/DsC9fl034FcZaJtZ\nOfnqqcCqs0w0Eh1GI4OuFq5WJcrT1VyNhrp2yzsO1NiGY+7GehksV+dBkg8t13qi/G3n6dprrdfF\nOvCjA3Hj8nR9DaWNG+WxaBnW09Xcu01T0HjYVIG2qXrHvJ6Ka72FKEXzeWJKFmw1vTAO2frIGlRf\naGw7kHbYYrHoIjON+vRe7ZQkK1/OZmCduUrTprp4r/Juj1vdsEaR96kejFu+Kkc7K8QCnMqWAMsN\nb7grIYC+8R1Gz8NmpLCfJpMX9oThhjc68KceKv9HRRP2fxQIR4G3j9a14Q3QvyrMhvJkxp6z3o/P\nIlpFsteyMX2/7fN8imf50TSFFbYOpugzxpleiAJc3zltVNvIyqMNhdXTpYIRqPU/QUIjCoI0z1uF\nHVYX8sbvUVIIoyrvqOTrEL6QMKrj0Itl2Ar0TyuKutcHOMDFNAMHloPg4tiF0qiek71nWN15fFzk\n01effvqeq06UzqKxOOKrl/5WgKe+cvyIg552qbnl1crb5+0O0pexga6CDEFIvVkfOKr1t0BowXEt\nH5IFYXvOAqsKUD1aHw/2WmtYfJ7hRojPsvMCNS+ue4VGNTQ7so6U6xQ/PoPlaJ7LyoYdgOXbSf5R\ngKsGWXWF8h4kAx18HXTtWsjnhdhn+fLRep2mbziYxvM2imA5KgflhfWyS12B/nnKeo/vW3lUnfDl\nVrW+Kt+N6q7Pu/MZMSsXiyXUQXr+9FLDMFwV4Vqjr9+sO1ML5IMvrmRKjfW38rR18zmB+m3rq0vs\nh8l25L0XCLIUHC2HjoBrJyODvhSB9RwVHKO8Vi2HQuE9Fsx9vCjY+vjygS4VxFeuz/qul3yW09ep\noqy9evYqZx3coQysZ+vzPnU1FdMLQP9u+4Msuhpdn4zsM331GQcN8rx8x/htDQZzsNoWANxAmJ1K\naZfIWlnRs9UNhHTfWCujUcg6Hj4gtO28EYoCXXUW9Le9nulK6hY3AQrD0C0w0S0DdBWbT0+om9ls\nFqVSyQ0iU86Ura23RoEAVmGPD3S1DpwdpAZ4GA0FXSvgYUK31+lxX7mDrhmkOPb+KH59ndpXvoJR\nVJmD/q+XCIxUWJatnqUFSJUDAUKX7upSaiqalk+lJkArCAPom5rDQc1ut4tt27a5Xed81twaTjVo\nPG47DJ9rAWccUYR65mpQbY5cPUxNV6l3pRSGF/ceoSw5n9TOM9fISKfk0aipZ+eL6KK+bbRlZawR\nkq2jfc56SPPYvtyttj+faduX53SAl0uuFWh1ri4X+tjxCB2DAPpf0UOefJEa+4Ytzw6u6/V8jr4v\nUdtvw56uz/uyH7UgekxDCjKqIDAItO0x28C+e3znSHZuq95jJ3pTgBqW2fKjDMlaKSoktKSdRp+v\neVsONOior+5exWu4DZ5OaVLF1XYjQLBsntdOZpVMy4wCEgVfBTkeGwfo6nO1Y/D5tnNRnppW8PGv\nXo4Cgm7oxGeyLvRu+VwuovBFWpZ3rYOei4q2rKerQDKo/LWQT7YkO86ifKjOalvwPJfdN5tNJ8so\ng2ajT4KnHWyzxsrX1+w1o8pW7/e1o49G8nTtAy0oRDEXVWlL2hCj8hB1bhA/o/Jt67BRBR1ECoj2\n2xobAoLPsFiQ0xSDnRXAZ6ina70y/ldPN8rq+wyWNSYWbG05Vq9GDdWGkc+I22+fbuh9DB25IEjz\n75rGYb11lZQ1amF4cb4zy9P9J/T59rf1FK1s7X085zN043AYohwcy4/2S5vnpm7rjCWdJaOr+Oi9\nWn3VNmDuliszdTGT5Vn5Vtnafu+TL5+l7TCqTEfa8EaVj79p3bkijVOvVIhBcGGXsUwm41aILC0t\nYX5+HuVyuW+XMXpX9Bbq9boLv9QLyuVykbuMJRKJvq3hfBve+DYxt0JWT7fb7aJWq6FarfZtHjOu\nFWma//MBqXoqlihrvtK73W5jaWkJi4uLqNVqqFQqq6bddDqdVSvSdLqdhoHMV+niFg5K+Aa9tINF\nTe2xwKpbe45j3rOSHZz08Wn5V7CnHnMPCurl8vIyyuWy2x9At9NkZwcuemPUYU4R4xtv+SJKbrZN\nYGYbqGdmgTJq9ZPqEXWD/WuczgPryOfYZ9KzZtsqdiQSCbc0nXsq8PwzzzyD48ePu30XqHcazRGY\nqbec38v+qmmbarXq0mzcHkABOyoatlEfj1NHuR2lzgiKSkdZGgq6nGSsc+T4AAo2DEO3Bl1BF4Cb\nAsLFEbqUkvNJdbSX4E5B2w1vOJlcV4fxPMvUTTAUBPgM9Tx8cyO1o7bbbfemAF1Oq4ZgI6R7CWvj\nqlx0Tq16YOSPO1klk0n3KnbKRwd22DkUdO1gJWXEQVOmF8Iw7FsSrkBgUzcA+gBkUIfn/erxjQsc\nbL1JdmaIGk81JuxQlAe9Lr7BV99+ontD657Lqoe6yKJYLLq34HI2g6a5KJtBUU2UrHyerA70jEO+\nNgrT46x3u93um4ZovUmCG3W2Wq1i37592Llzp9szRGXqy5frt9ZNU2jcz0E3M/fVQ3nTXdR8uEDM\n01fbs69tGHQ1BNDvQWEbr6OV0GttA2kHtuVYK69Wx95vPzYVYvnTuZfWw7XX+v7buqyXFMj1o52E\nykNSkFOgUnCwo+osB0Df4ggNj9hBWAafxetZbpSHoAMqCuAWdNUrsjloe/9GZcvn+eRLYLUDaQQO\n3adDw1hdRanAzSXtOuWJbQNcXAjA3cby+XzfgJoCvdU5lbOmF4ZFQfzoZvbj8Hp9siWP7FPUbe2L\nNPbWoFHPuDKPkQUHz9LptPut9WbZbCM6UlyEpW/F1tdWaXur3MmTHWxVuaqeUIet8ziIhoIuNxS2\ng0rsJEwvqLIoA41GA2F4cfd9bi3IZDkFqekFphg036g5X506Ql4YsjQaDafIPK4AyY7EBoralIP8\nMLGvPFOw4wAGlmeNky5r1A3jrZJzIxMCl20nS76cldY76lryqJ2NpAqo9+keGL5naXvryPSo+f1h\nZF/Toh/KkyBp65JIJNz9drqRT66+Z7D9qE92Qx+GxwQeO92M5DvGe0ZJPdELV9DdqO7SQA4zaNqW\nCroET3r/6mBo1KAGQ/uIArnK2Ae8TDVq5EOyYylqCLStVK68XgdSNZ22YU/X7lCl6K5utb4axwKG\nKpRaBf2vORtNY6iA7DX6fAVJPW6FqhYtymNQ0LV8+3KwGyGtq1VcKu0gj82CscpKPQGtFz0xdgie\n15BVwZKeiMpPAUXP6f12MrpVXm1LlS075kbJF5Wp/lLO5M3qnDoPvMY333xY+kR/q0wZUdh0ju8+\n8kM+rCfmM2q2r+n9G9Vdys0aBD5L+76VrXXMyJN1KgY5D7aurD8NmYIunSsrW+uhq3MxrE0V9xSL\nRnEYhoIu56KpAHyerlocFSi9WPVqfdNA2En1nApSgUC9kTAMndVVr0lDBgoS6B9I03Is6PKbPCrv\nvOdS5HQtMCgY+Txd9XBVCayB4LUEcQs2/E258VoF1ChPzOfpqoJHKbAaSeXJTkEah2x9wBsFuj55\n+dpEowqfM2Dlap0SK7NB8tVvK88oA2udGKvvl0q27LsqW2sA6SzYNJhuns8I2i5AsLqhnq7vuDpN\nUbJVr9m2V1SUxjJ1tzgfH5ZG8nTJnCoThWE9XW1sCl6tgf34FFgT0pqID8OLm7XQkipvmh9kg6qi\nsz7awdTTVaGSfPyPAxBI2uiqmDYCUINgLbR2YAsq1mNS70I7qB5TsLVeh/LkqwNl6Rs4sR6Wj2+e\nH0fqxoKBykA9dev52MhLAdq3Ck3rpB6brYPqmPaZQVMBo7wxnrN1sPW3+sVyNipfnwFjveiM6WCU\nXsvIl/2Wjky3e2Gm0NLSkhugUsCmDIkLrDtnIQHom9XA3LCCtbYP0D9/27ZjlLNAnsijD68G0cgr\n0ux/23kt41HK4wMCX6Vs2YOu9/EapYiDrvNZtKjnDyt/reSz3sOu9xmKqI477HmWrNe/lnsH8Tzs\n2EY9sLU8P0p+9rwCtc0t6rV2sr4FNh1hJ8go6OrKNB+/PLYWGV0qeUb1a9bLGgr14FWGBF3KZGVl\nxb1ktdfruVkdNq2j7yTjDIUg6H89mN3E366QVJ5txOebEtrr9fpy0PqxuyUOoqGgS+RWi0lmWBEr\nFM2b6nlaIN9GFiRVXL1GR5DJg10+qcKyg2MqaJajfEelF7SxNKUwroE03/OsN6Y5JuuxWM+QI+tq\nFEkMl+lpaLpGKZ1OuxFfbWMquoZRPt61Tko+kNP0j4a/46Jhxj/K64syqmwLzlbQaY4abgKrN6Zn\nG3IKk+qoz/D7PPFB+dhB3prWeRzpG+uIWI/agtgg50u/NYrw5WcpA+piGIZOX4PgwvvsrHztOI7K\nZ1TZ8bcaTqu73e7FF+QOog0tA7YhmoKAPadAYgVurbuWrceieLPH+G3LsN9RHU/r4Kv3IJ7WQz4F\ntTmlUTwWK2eb/7IDn3aQQ1MxNn/G/z45rZUGAfKgsG495DMQUc+N4s13Pa9VT0dB1zonwMVZGb7c\n5KD6+nKFvut9fcHq6bg9Xwu+tj/5+psaer2eM5DK5XJfiiKfzzs5A/07F1rZWqCu1+vuOr2GfLBP\nWLmop6v6o4PQNjc/ysIIYETQBfwApMKMagjfNfZeXyP5nsnzqrCjKFqUVfXx5Ls+qs7jAt1RaJR0\ng+XLDhxY4zhIVmwTm8vX8tZKUYZT6zhuma6lvEHXWk+HZMNM30Calq25YjUwtoOvlfe10DiA1wKV\nxQnqT1Sf8cmGg5YcdNfI2IKgjheok8JITl8JpjNpbFSrU0ptWfz4ztk6rcWwjbSJuT5MlWeUBwxj\nxCqyXmcF5POAhv23vA7iQ8lOkB7l2eulQQZJQ5hBSXofnz4vjvLWkEsV2JZlp0cN438jNG6Q8Q0a\nrpUPn5dsPU7biaP6hl6rCyeG9aVhxmqt5PPs1lvOsO+oSNOWo3LWgSkrd9VJknqwvnSnJdsffG07\nqI15zILuqM7YSJ5uVJg9yIMc1iB6rXpVasWs6+7zeLUc329bFyto/o9KZwyq97hBwipoVIccZHXt\nbAYlHbzgtzWktgw+R6fcKPkUd1SynX/cnq6vbvzN54/CnzoGul0gr9FpTTqp307Noo4xN2lfF6Wz\nbZTnQY7EMP61/45Tvr6yfEZff1ud5XF9X6K+EZhyZsrGeqdaDpec2/u5qTn3TLF9V9MWPG/rZmez\n8JjWYZCxtTQUdDmdw4ZRFASnTujDGGYxXEgkEn3zb3XenZ1+o1NJqIiavLbTy3gPgFVKb6eMBcHF\naWaqBFHzFlmG7VDaeBultQD5ICOn0+WsHEiUAdela07XB+A0hFqevsbHVwf9rx60jZR4nc3xjyt6\n8MkoSsbDDKySzpXWeeU6/1zncmv9dTN4zSXq4KZNCVm+1MPSSMxXd+23pEERy1rIykfb1udhWu/S\n6h0/fPkndY/fuol5IpHo28RHl48HwYVBtomJCfcMfX2PdUa0HmqcdOWqddAUc3wYMgwXRs7p+grz\neZS280V5R/YaVeZBz1XhDCs7ijdVOnu9DxiiyhwH6GrD+gYfdfaG5p/szA0rF51Hba2zTqNRPqLy\nipqrtLKz91sl9Hk/+gxfyKi8jIOsZ6VjCL5n6cwZX0dSMKPzYBf7aP1s+dbp0GuiADEq3I2KFKKu\n1/8bIR8g8biCpW6pyON2RaSCYj6fx/T0dN/ug+wLugiBzpyCqYJuJpNx+/EqvtiZFfy240TDsIV1\nU8NndSaKRn5djz6YTOv0LD7QWl89Zz+8zk7DspbDdmC7w5l6VMqPDxRZH8uX9fT4ba/Rci/V1Caf\nUVLlA1ZPlLeyZbimiq/pBJ+CaJvp63p0lyxexzJ8ykm+h4FClBG3vy8FWeOrnpfPyLIddBMXlQnn\nkzKktfVXvdVtUHXQLarOoxj5YUbN3j8O0I36raP4Fpx1pgKJsuAObtu2bXORAw2+OhK8R/WVz2Ib\ncbtI7ScWcCkTC7KM0H3GST1cXR6vujOMhoKu3RyYv/kg7eBkWIFXRx+jPrryxIKh7z8Fzcbyzfu1\nnoMvHBh1nq5vBDUqSb8e0k5nwx3rOfiuozzYXlydY5WAqRqu6mO97UgwPQXKN5VKuZ2ebOfWkWEb\nxirA2vvsbw2Dx+GJWbJt6ouu9HxUhKPTlvS19/p2DZtuI1HefAEj/2tbD6uDvWaQZ6zel41sxmHU\nfEZTo0mNKJRX37NpgJLJiy/t5FxcTQvo1o5aLoGe22XSA7bPi2prO6aj1/hkzGfaVaq2zj4aCrrc\njo4Aq0Jl5dlRqUBqYThYoN8+4FWLqBtq28UOCro6mq9L/3y7W9nOrsYian4dBam869STcYCuApaC\nqi5nVuvOa8kf7+Eewrlczu1lwY7NOne7F7aIZAisHrAqYC6Xcy/zo1FrNBrI5/N9m1eTF1U4lbWN\nNqIAQuvL68bp6VpjpblTu4ev9XxUxryXsuUgDQFGr2H9dfyBx7i1o+pPu93uW2WlsrHRDfWX54cB\nL+WperRR+SpPtu6sv8pB66IgattFHTWNZlkfu3eK9VCpu7owgnpvedd2trprIxWVqTpu6l3byD2K\nRgJdMmXzIqwogVLdffWq6DlxIEbn0NFDUMVVr5IAqvkfYPXKKwIoy7bhs4KPeuEEK+0AaqkB9PGt\nijTKOuthZD0wVVwdKFT+fECno+r6em/1zjudTt/SSD2uwJvP55HP553HzHmP3LSZRLnZwTCtl5V5\nlAwsKFwKT9d6Nsq7vRZYnedTHjVVoEY7kUg4o6edngChgG1XsdllpD6vzPLo02+e11BeAWZc8lS+\nWL4OYFNv7cCVvY/36patwMWVkYoFmgNne/B6ypa4wHN0MKwD5ks38LzvY0n50L0Xhhm0kQfS7LdP\ngKyABQSfwugxW469Loof+7HHfSGDKqvlm8eVdx8vPlmslyzfVmbKp09OgxQmCvjsNb7rNfS1CjeI\nj0HtrLyM0vYbpUHPsLpj6zpKG0dFUXrcpttsJ/Z16kF82vqpgxDlwQ7Sn/XSKLLV80rWSNt2V+9T\nr7MpE+3fGr3qb910x8e/PWbbX/XC9gVrbBSEB9GaX8Ee9fFd52NwVOCyAogC+2HX+O6J4nXYNVHH\nNkLDQmnfuShgGKVtoq6zzxzUSa0h8AGz5dX3P+q+ccjVlhWlP5aXqPoM8nqsPtrBGw3BFUjs2Mgw\nGub9R7XjespaCylARfHjk60FTAucOt4C9Kcy9L+mbnSsh8+yqRjb7gr0Vu8HDb4pDYrkLA0FXcuM\nMqkobwcmbPjmGwTyWTxrOQaBtVpE37MHdTQfL3p+UJ2jBL8eGtaYvut9BiYKaK23r6Eu5esDBTuw\nNQyIB/HEMmx97X2a0hkH+cB12PXDrrX1sJ2SMlbZ2k1cbErDem2Wf/0flXoYZLx9x8dp2FjeIPn5\nzvmAy16v+gis3prVzm3W59iZR4P0dxBfg+S3HtmO/Ap2H/AB0dbNKqIV6CDyhbtR1/nA1MfPIFL+\nfF4cj6+lzFHJB+jWkNkBg0FtoZZdLT+v1XmTOvtDy9L7rMcxyHiRdzV4owKC1lE72UbIx2OU8bee\n5iBDBvTLWuVn87usB/ObKltfGD1IvlEGy+eVR5Vjf49TtlEfH8+2zr7cOmWsOV09ZgfBFGSjnjPM\na7UO3KBITL/Hml4YJtxBnrAPwAYpg1bA91z1HgY1qL0nSlCDGmJQmcDqebLrpUEKYGVs+bH3RCm6\nzTmOSqOG/j7Z+s4PCsv12EYBwUdRctJjql9RnVPvsSGlL1erv6P0NareUbL2eW18jv6P0vlx6m2U\nzg4C3ajnD+qTrJ+Vq/1WB8OWG1WHQcdH4XeUMpXWnF7whZ82NNUpY3qfjm7a8qIA0wK57zpfeiFK\nMbVsG0L77rE5OX5GGaUchaKAwALuIE93GFBFGRTWe628DuOb/Grb+J4dVddxAe8gHlVnLI/DPpZ/\nCxCD8r++iMnq9iA+rHxGBYWo3+slH59R/XPQfcQDKweSr24EV10h6ZODL7WpPFj+WfZ6+tRaZDsU\ndH3zSBU8eY5TkPSaIOifMmP3n7TXRgE6yXeNNpxOVLbLVnXuoDYOy/ANZPjKt174RkkVIipPPii9\nMIqiU3b67SMfIKsyKzAq/9b4Emy0Xe3UIb1XP3puo+QDAx+/tl4KpL4VY4OAbi2DXQrWPi/b8mZz\n7BptKU+DnBWWs9E55lEGI6pv+3iyADuoP42itz791Wt84GhzxtrffLK1zp2t51jTCz5AsA8eZFUH\nebTW67DKxv++9ILPklrP19cw9tlWyFrWIJ42Sr70jP0fdVx5HHSt1smSrcco9/jO6bNtB1PgBYYv\nAR727FFpUL1Ur6PuG0UO9rqodhpWzrA20PM+XY3yoH3ljTJeMoyinmH59F0/LG3lixKsfHz9kMft\nGIWvDF8dLH9Rsh1Wzw2DriK8Tky2YblaM19Y5VucoIMRUcf1Ht/9Pn5916gABz1by9H66vVRdVwP\n6YCAXXxinzusvkq+zj4qQAOrF2BYQPW19aA2Uv59IbevjTdKUeWpkVUZa318dYgCCwvithP60lN6\nT9QzBvUln8y13hbcotpivRTV1urZ2lWhvut5nV30EAW8Wr7doRC4uDOgHovCgo2SHWjWZw2ikTcx\n9/0e9gBfxxuFRinX8rPRcq1iAFhlXNbC41rI5qeGGQYNQRUwlBQk9ZgqJe/zefPqTfCZWncLvCqj\nKMCK6nz2/DhB1wdcw54ZxccgQ0aKSgVZ2Q7yEC3//K39J4pfXx3tffba9ZCVkTVkPkfKZ9RsXaPA\nWiNsBc8o0FV5r6dea7l+rbq75pyuTStQWLazaj5v0Eetl5bjy20pSER5bb4yyD/rY0E1KikfxWtU\niH6V0j8AACAASURBVLQesp3Pgl9UjsnXaaO8Vy1n2H0+zzfqvD3H/7bt1FAA/ml5vrI3SlG526jj\n1ngNq7deb+Xhq2NUO6s+RZVHfq3HZvnwySDKWGyEbDkW3KLk5LtG/yvo2j1RomSodbRzpAcZOAVl\nxSvdslH5Avp111cPe85HI89e8FkQMmY3xLag69t4nB+7Q48vlPV5DlGAy+dF5WktEKs35+ssvEbr\noHLZKA3yivSY1sHX6FYJrRw1B2Y9Wb2fPK0FdO19VoYkCxa+a3zHNkKDZKbf+tsaDXu/j3/fOTWY\nlJMda/DVOypy4bd6lMrvsLr7+sB6ydf+g2QSVVd7bZQnbnn3OUQ8HwW4PsfFtr91/nye67A6bhh0\n9SGDBObrjMPK8D3HPoOWh8ejGtgK2VfmoOcAqyeVD6vbuIDB8mVpUAeJqq/+jwIOPWaP+0B7HPX1\neZRK44ogxkk+o6C/h8k46nhURx3Wpuvhe7PJtqNNlfhSITRUPG/3xVadtAPvGsn6BuVJPszgcXte\nj2sdtF9E1XcQDU2y2oYblpez11mmB1FUTmozKCp3F0Xj8BbGQRvhIaqevuPjqCsVdSvI7XJQlDc6\nTN/WK69B942zDWw+04cRg57pu15Xl/muiwJSBVQF1ajoy1de1LFB969FniPldLUSrAj3P+31Lu4l\nqRZGX6vBrR7ta0p0/q5NRdjRTFo3fZ5955G+J4x5WitAzfkQBHQGgfV2lVe7c33UDkZroaj0jc4z\nZn18nhXl6Uu3kKKMmfU+rCdiP9Y7oIxUJ3iM7UVZ+cBWdUr3YbVtt14atFexpsbsDAb17m3e15IF\nFJ/MfPK195NPn8elctJn2P8272jly+vHIV/VW1/OnLKlDg+TLcviXrp2xzBrsG20FBWB8L8vNag6\nq7jA/3ymne1hPWWr+8NoKOjW6/W+gvmb74NKJpPuRYfaIBR8o9FAGIZoNBru02q10Gw23XuQuEdr\nr9fre7kfhWB3G1IFIgiTj0aj0feue70HQJ+BINjaKTjaWJ1OB41Gw/HbbDYBjG8T81ar1SczC/RB\nEKzaLV+Vihs068s4VT6+lAl/K1kl8oVlbB+9nzKibFVReV69F195+mE9x5Ez13fEWZlZh8GCH0ED\nwCpjMsh7UjDUnK5ups2UmYIR79MXn/LZ2ucsmPumPCro8t1t1mHYqO5qnx0kW2vQ2N/YNnz5gY4H\n2Le02JytypnPofHkvdoe6qxZnvlbZau8+BwGra86ktqOAykcQK973etCAPFnwOd1r3vdIBEOpFi+\nsWxfivKNZbsx2QZhOII/HFNMMcUU01hofK+zjSmmmGKKaSjFoBtTTDHFtIkUg25MMcUU0yZSDLox\nxRRTTJtIMejGFFNMMW0ixaAbU0wxxbSJFINuTDHFFNMmUgy6McUUU0ybSDHoxhRTTDFtIsWgG1NM\nMcW0iRSDbkwxxRTTJlIMujHFFFNMm0gx6MYUU0wxbSLFoBtTTDHFtIkUg25MMcUU0yZSDLoxxRRT\nTJtIMejGFFNMMW0ixaAbU0wxxbSJFINuTDHFFNMmUgy6McUUU0ybSDHoxhRTTDFtIsWgG1NMMcW0\niRSDbkwxxRTTJlIMujHFFFNMm0gx6MYUU0wxbSLFoBtTTDHFtIkUg25MMcUU0yZSDLoxxRRTTJtI\nMejGFFNMMW0ixaAbU0wxxbSJFINuTDHFFNMmUgy6McUUU0ybSDHoxhRTTDFtIiUfeOCBBy43E6PS\nXXfdhW63i1e84hWXm5WfSorle+kolu146aUsz7F7utdeey0KhQJKpRL27NmDe+65B+VyeSxlB0GA\nIAhGuvbBBx/E7bffjlwuh9/+7d9edf5f/uVfcOONN2JiYgK/8Au/gBMnToyFx0tNW0G+rVYLBw8e\nxLXXXovJyUncdtttePTRR935F154AYlEAqVSyX0++tGPjoXHS0lbQbbABUDJ5/NOdj/3cz/Xd/6l\nortbQZ7DdBUYLs/3ve992LFjB3bs2IE/+qM/2jDvYwfdIAjw1a9+FZVKBYcPH8aTTz6Jj3zkI+N+\nzFC68sorcf/99+Od73znqnNzc3N4y1vego9+9KNYXFzE7bffjre+9a2bzuN6aCvIt9PpYN++ffj2\nt7+NcrmMj3zkI/j1X/91HD9+vO+6crmMSqWCSqWCP/7jP95UHtdDW0G25OMTn/iEk92Pf/xjd+6l\npLtbQZ7DdHWYPD/5yU/ikUcewY9+9CP86Ec/wt///d/jk5/85IZ4uqQ53d27d+MNb3gDnnrqKXfs\nT/7kT7B//35MTk7iwIED+Lu/+zt37lOf+hTuvPNO/MEf/AFmZmZw/fXXr7JKpDNnzuDWW2/Fxz/+\nce/5X/mVX8Gb3vQmbN++fdW5L3/5y7j55pvxlre8BZlMBg888AAOHz6MZ599doM13ly6XPItFAr4\n4Ac/iH379gEA3vjGN+K6667DD37wg77rer3eOKp5Wehy6i4AhGHoPf5S1d2tqqvD5PnpT38av//7\nv48rrrgCV1xxBX7/938fn/rUpzYki0sCulSYkydP4tFHH8WrX/1qd27//v34zne+g3K5jA9+8IN4\n29vehtnZWXf+8ccfx4033oj5+Xn84R/+IQ4ePLiq/GPHjuGuu+7Cu9/9brz3ve8diRelp556Ci97\n2cvc/0KhgP379+PIkSNrruvloK0kXwCYnZ3Fs88+iwMHDvQdv+aaa3D11Vfjne98J+bn59db3U2l\nrSLb97///di5cyfuvPNOfOtb33LHX2q6u1XkSbK6GiVPGof/9//+X9/5W2+9tc9wrIvCMdM111wT\nFovFsFQqhUEQhG9+85vDbrcbef3LX/7y8JFHHgnDMAwfeuihcP/+/e5ctVoNgyAIZ2dnwzAMw7vu\nuiv8vd/7vfDaa68NH3744ZH4+cAHPhC+4x3v6Dt28ODB8I/+6I/6jr3mNa8JP/3pT49U5uWkrSbf\nVqsVvv71rw/vvfded2xlZSX8/ve/H3a73XB2djb81V/91fA//+f/vJ7qbiptFdk+9thj4crKSthq\ntcJPf/rTYalUCp9//vkwDF9aurtV5Eny6eoweSaTyfCZZ55x55599tkwCIKRnhdFlySn+8gjj6Bc\nLuOb3/wmvv71r+OJJ55w5z/zmc/gtttuw/T0NKanp3HkyJE+L2jPnj3ud6FQAACsrKzQQOBzn/sc\nrrrqKrzlLW8ZiZ/Q4+kWi8VVCf3l5WWUSqXRK3qZaCvJt9fr4Z577kEul8ODDz7ojk9MTOAVr3gF\nEokEdu3ahQcffBD/9E//hGq1uuH6X0raKrJ91atehYmJCaTTabz97W/Ha17zGvyf//N/ALy0dHer\nyBOI1tVh8rTnl5eXUSwW1yKGVXRJc7qvfe1rcd999+F973sfAOD48eN417vehU984hNYWFjA4uIi\nbr755sj8laUgCPChD30I27dvx2/+5m+OlDP0jXAeOHAAhw8fdv+r1Sqee+65VeHxVqfLKd8wDHHw\n4EGcP38eX/rSl5BMJoeW/1LK8W4F3fXRS1V3t6quDpPngQMHcOjQIXf+8OHDuPnmm9dUd0uXfHHE\ne97zHjz++ON47LHHUK1WEQQBduzYgV6vh4ceemjNuah0Oo0vfOELqFarePvb3x7ZSN1uF41GA51O\nB91uF81mE91uF8CFQbYjR47gy1/+MhqNBj70oQ/h5S9/OW644YYN13ez6XLJ93d+53fw9NNP4ytf\n+Qqy2WzfuccffxzPPPMMer0e5ufn8e53vxv/6T/9py3pjQ2iyyHb5eVlfO1rX3O6+7nPfQ7/+q//\nil/+5V8G8NLW3a2oq8Pk+fa3vx1/9md/htOnT+PUqVP4sz/7M7zjHe9YV/1Jlxx0d+zYgd/6rd/C\nxz72Mdx0001473vfizvuuAN79uzBkSNHcOedd7prfXPvfJ5qOp3Gl7/8ZczOzuLgwYNeYX/4wx9G\noVDAxz72MfzN3/wN8vm8myu6Y8cOfOlLX8If//EfY2ZmBk888QQefvjhMdd8c+hyyPf48eP4y7/8\nSxw+fBh79uxx80k///nPAwCef/55/Jf/8l8wOTmJW265Bfl83p17KdHlkG273cb999+PXbt2YefO\nnfjEJz6BRx55BPv373c8vVR1dyvq6jB5/rf/9t9w991345ZbbsGtt96Ku+++G+9617s2JIcgHNWf\njymmmGKKacMU770QU0wxxbSJFINuTDHFFNMmUgy6McUUU0ybSYMm8b7yla8MAcSfAZ8DBw6se5L0\nHXfccdn538qfW265Zd2yfc1rXnPZ+d/qn5e97GXrku3rXve6y877Vv/cdtttkfIbOJAWBAGOHj3a\n95/z4YIgQLfbdd+c+8bikskkUqmUuz6Xy2F+fh7pdBqJRALbtm3D3NwcgAsTkCcmJrC0tISVlRU0\nm00kEgkEQYB2u41er4dOp4NsNotisYher4dms4lkMolMJoMgCNBqtbC8vIxsNosgCNBoNNwUMaUw\nDF3ZrAep1+shCAJ3TRiGCIIA9XodmUwG7Xbb1Zn1uvvuu0eeW+iT77lz5xCGIXq9HhKJi4FHIpFA\np9NxfKhswzBEJpNBGIZuKlwQBK4NKPdarYZUKoVEIoFcLodms4lKpYJ2uw3gwshvvV5HEARIpVIo\nFApIJBJot9toNBrI5XIAgEwmg0ajgXq9jk6ng1arhVar1Sc/fqvcrNyVf8q41+shmUyi2+06GbDd\nfvEXf3FDsq1UKq5N9Thwsa3Z3sonZdlqtdDtdl1bZDIZ10a1Wg3dbheFQgHJZBKdTgf1en2V3rFv\npFIp5HI5N30xCALk83kEQYBOp4NOp4NqtYpOp4NGo4F2u40wDJFOp/v6FPlT3tkHrY6onlr5Axfm\nzq5Hvnyur521/EH3dzodtNttpy/EBeDCAogwDJHP551sVf/4XPabbDaLQqHg2iCZTCKXy7l2a7Va\nTrb1et3pP/tLEAR9fc9XV61Xr9dz9Vde9LpXv/rVkXJIjSLgQUxYpVXmeD0rFbUVmx5PJBJIp9NI\nJpNIJBJO6Hpc77EKyOdYpVQltMpiy7K8KR8q7HGRPlc7CilKuZV3n8xtGcAFoCUQE+CCIEAmk0Ey\nmVx1H+XpK9/KkNdQZgRRNWY+uSvQjpusHtjjwEVD7AMS1sHqUSqVQqfT6bsumUwin8+7/zSKBJRk\nMol2u71K33388rceH/Stcmad2A40pOOmKJ0cRCpfn14BQDabRa1WQ7vd7nPm8vm809dWq+VkTqNG\nR4xlWVn4+B4kY9vPtf19YGx/R9FQ0A3DEJ1Op89zTaVSSCaTKJVKqFQqaDQamJycdAyl02l0u13k\n83m0220sLy+jXC6j3W5jYmICe/fuRTqdxrlz5zA7O4unn34a9Xod8/PzOHv2LM6dO4e5uTm0Wi1n\ntaampnDdddfhpptuQr1ex+7du53HnM/n0ev1sHfvXpw/f77PkiqIJRIJNJtNFAoFFItFNBoNABe2\nf2MnoTeRTCZdh1taWsL8/Dz279+P/fv3Y3FxEfPz8+tSOku9Xg/pdNrxSblp4ymAUalarRby+Xyf\nonU6HUxMTDjPnGBx9uxZfP/738ePfvQjnD171t134sQJtFot7NixA9u2bcOv/dqv4dprr8XevXsd\nQLA8dt5isYi5uTn3XGvk6BmycxDQut0ucrkcGo2G897CMES9XnfeSTqddoZtHESZEtgUiAjyBCp+\n08NVoOx2u0in0wAuGC16oZlMBnNzc3j22Wfx6KOPYmFhASsrK8jlcjh79izK5TJSqRQmJydx++23\nu3mkpVIJ5XLZAXS32+3TOf6nzJU/K1MeTyQSrn+qXtJh4TG2zzidhvVSlGPQ6/WQyWRQLpfxb//2\nb/jiF7+IlZUVJ9sXXnjBRVu7d+/GK1/5Stx3333o9XrYtm0bFhcX3bJhPkf1FMAqvY1yuAaRz+kc\nBROGgi49TOst0IpTich0r9dDq9VCu91Gp9NxKYVms4lt27ah1+uh3W7j6NGjOHnyJFqtFsrlMhqN\nhlOGhYUFnDx5EpVKBc1mEwCQz+dx6NAhPPHEE9ixYwf27duHn/u5n3OdoVAoYPfu3Th9+jRWVlZQ\nLBYdGBEcEomE8+g6nU5fndgxeYxeTLPZRC6XwxVXXOEsMACX5tgoEdz4/EQigVqt5oxXp9Nx34lE\nwgFCpVJBKpVyyplKpbBt2zYXqgEXdmA6ffo0FhcXccMNN2BlZQXnzp3DD3/4QywvLzsDeuLECUxM\nTODQoUO48sor8Uu/9Eu44447MD09jUwmg1QqhTAM0e12cfLkSRSLRWQyGccveU+lUn1gy/u0ngQG\nGjmGgSSmkca1ZJg8kR8aWA1rVRc0zdHr9dBoNFxdNRVw4sQJlMtlHDlyBJlMBr/wC7/gVls98cQT\nrpxms4lsNotnn30WX/ziF3HzzTfjN37jN/CKV7wCjUYD+Xwe2WzWGbFut9snN3UYgIugSS/Pylyd\nDOq1RoCDoqbNpiiP88SJEzh37hyefvpp9Ho9vPnNb8a3v/1tfPe738Vjjz2GlZUV1xYnT57EkSNH\n8PnPfx4HDhzAO9/5TrzqVa/CysoKJicnXfSmEfcogLsW/td670igS9IGY8OmUqk+xSYY81w+n8fk\n5CSCIECz2XRe75kzZ9DtdtFutzE/P4+TJ0/ixIkTWFpacnlOWm+GxIuLiy4PnMlk8B//43/E7bff\njr1792Lfvn1YWlpCqVTqUzqWQ/7pyRLkybd6PGEYotVqOcUvFosuV1wul71hxXqJYEDPK5VKOb7p\nFTLHzedVKhUUi0W0Wi1ks1ns2rULzWYTi4uLSCaTfUYrl8thZmYG//t//2/8+Mc/dnnOTCbjcryU\nwblz57C0tITnnnsOjz76KF73utfhla98JX7mZ34G09PTaDabmJmZcbIjTwSpdruNdDrtvHdGKp1O\nxwEJ88jABQCZmJhwHm+328Xk5KTTn40SQZ56qzlyBVkFpVarhUKh4HgvFApOH4IgQK1Ww5NPPomV\nlRWUy2Xceuut+MY3voGHHnoI1WrV6Ss9sW3btqFarWJ+fh6JRAKnTp3CY489hje84Q2444478LM/\n+7O4/vrrHeAyOqPXTXClbiqIaKpMdRm4mFvP5XJuTEQNz6UknwdrAV89RNaj0Wjg0KFDaDQaOH/+\nPG655RZ89atfxWc/+1mcPn0a6XQauVwOtVrNOXHVahXLy8tIJpM4ceIEHnvsMfzX//pfceedd+KW\nW27BDTfc4Pr8MPLlda3xJ99R5Y2SehwKulqYhjfsaFRmdduZe+Ugg4IUwWVmZgaVSgULCws4e/Ys\nnnvuOfzkJz9xuRyukeYzdaBnYWEB1WoVzz//PCYnJ12HyGQyKBaL6Ha7rmOrkFRRLVmrR74zmYwL\nKRl6jlNpNXQE4HJvqVQK2WzWAS+9Q3a6TqeDmZkZzM/PY2VlxQ06nD59Gjt37sQNN9yAo0ePYn5+\nHv/2b/+G733vezh37pxLFTBFtGPHDjSbTVceB4jOnDmD73znO7j22muRSCSc5zA1NYXz588DuJjH\npGIqwCrgMu1A+fF/JpNx9WI6pFKpjLR5zihEudkBSh1c4rPoLdLr1NQN87Kzs7Podru46aabcPTo\nUezevRt/+7d/i2eeeQbPPfecS8PR+ExOTrqyJycnkc1msbi4iDAM8c///M+Ynp7G5OQk0uk0rr76\napdaqlarTv9SqVSfrAmubEP2RTvoSsPX7Xb7Uj5WBpebaDBmZ2fRbrfxspe9DD/4wQ9w44034q//\n+q/x5JNP4sknn3S8M9KjExAEAWZmZpyOdrtdfPWrX8XMzAx2796NQqGAvXv3ulSRermadlEd0Wie\nx33ga1ML9v4oGgq66jUqqceQyWT6gIj5MOanaL2p0I1GA61WCy+88AJOnjyJs2fPujwkOwItMj+t\nVgu5XA7btm3rCxPPnj0L4MJocrFYxBVXXNE3umgFrHypx0AhO8GIh7SysuLqRP4UbDZC5IMy1kZu\nNBp9I9asQ7FYdGkIGjh6n9u3b0er1cKxY8fwwx/+0HVIzUsqyJfLZddh8/k8rrrqKld2pVLBD3/4\nQ1x55ZVuCz62sw1pWR69dg17rXdAwGe7EViAC2kihuYbJWsU2NZqvOgd2lCcQLuysuIMwp49e3Ds\n2DEsLCzg+9//PqrVKrZt24Z2u+1AutlsuhSbplHCMMT09DSuuOIKnDp1Cu12G0899RS2b9+OQ4cO\n4d577+0DBd6jM1NobBkNKYjy2+dB0oum7uusostN1I/du3fjxIkTbvyhVqu5t76USiUsLy87ver1\neqhUKgDgsOWaa65BPp/Hiy++iDAM8fjjj+Oqq67C17/+dbz//e/ve56mEpUHqwfqmWu/HObJbxh0\nbR5XFYFWh4ptG5JgSaCdnJxEtVpFpVLB/Pw8Dh8+jBdeeAHHjh1zOcZ0Ou2UXPOr7OwMUbvdLpaW\nltBqtVCpVDA3N4errroKu3btcp4xQ2CbXuBACK2fVVIVMnAxrxsEgZtipYn6jZCNBAgMaoVtyMIp\nXOxAjUYDKysrSCQSzgg9+eSTePrpp/GjH/0I586d6xugUtCjp6ReIVMry8vL+L//9//iiiuuwPXX\nX49MJoOlpaVVislyKEMd3LHel6ZPgAsGOpvNotvtunYeJUQblQhSOoCkPDGK0TrQODGfTlk/88wz\n2LdvH/71X/8VR48exfe//308//zzLnXW6/UwPT2NRCKBarXal9cmUARBgKmpKbRaLTz99NP4yU9+\ngre+9a1oNBoolUo4f/68q7+mElRfFXippwqsJI2iNFWxmWR1W9uVKYVer4cf//jHuPrqq/Hv//7v\neP755/H1r38d586dQ7VadfUqFAooFAo4f/68qwfHHBYXFwFc2MCmUqng+PHj+J//83/ivvvu64vE\nST7g1HSZ6riSjRIsYPOaQTR0RZptRG1odl5FeM5HZG4rk8mg1Wrh1KlTeOGFF9yoLvMz6XTadbxS\nqYRcLucUi8JKp9OYmJjAzMyMG2kvFot9+eAXX3wRZ86cwdzcnOu49GjVY+aH4KA5XQpY0wzkkx67\nhnPjSDOoIbOyVm9SrwP6Pc1kMokf/vCH+O53v4tarYazZ8/iqquuQq/XQz6fx8zMjGsrBT225cTE\nBEqlErZv345isYiZmRkHPM8//zyefvppPPfcc26Aj3yzPP2wM+i8S+AiGNsohDJVfsZFbEOdT665\ne51lwY5EA8DBzV6vhyeeeALf+MY30O12cfjwYVx33XVuRs0VV1zh9JODqxxE5qBtoVDA9PR0n1OQ\nTCZdXviTn/wkUqkUlpeXUSgU+tJbWhdr0DjADaBP5ylv6omVaVSKbTOJOvjv//7v+MpXvoJEIoFD\nhw7hmmuuQTKZxJ49ezAzM4NCoYB8Po9CoYBMJuPST4nEhbnnExMTmJqawjXXXIM9e/Y4p6xSqWB5\neRkf/vCHHQYoYCroUk/oIKq3qhFyFKiqgzGKpztUw6mottPQ6hK4eFxBrtlsukn0pHq9jhMnTuAn\nP/kJXnzxRczOzqJcLqNWq7mQjBVJJpPIZrPI5XJO+Bzt5bSqSqWC8+fP48SJEzh69ChqtdoqENXy\nADjDQNBQwVuBcTJ7rVZDIpFwgE+DslHSsFxzrdYgsAP3ej1Uq1Vks1lnnE6dOoVUKoWrr74aS0tL\n+O53v+uih1OnTuHYsWN9U85oRLQts9ksZmZmXH6M3luhUEC5XMZnPvMZHDt2zHmN5I/tTUPEQU+m\nYGhQNT2jnixzpkEQuNF8dqpxkC/002M6FQuAy8syZdbr9XDq1Cn8h//wHzA3N4e5uTl873vfw7Fj\nx/Dcc8/h3LlzbhyCg4m6kIKzMXbv3o0rr7yyb3CPhqvX6+G+++5zC3A0mlRvy+YXyTtlrJ2fXrJ6\n9xpWj9O4rYW0f3W7XfzkJz/By1/+crz44ouYm5vDt771LRw7dgxHjx51aUe2EyMw1o2Dnjt37sT1\n11+Per3eN1BIOR48eNC1jTU2vkhCscDiggVjLcNeE0UjSd4+XCcks8PS0wnDsC+fBcDNXjhx4gSO\nHz+O559/HocPH+4TLL2eVqvlBnvoge3YsQO7du3C9PS0G2DjqpVisYhUKoV2u40nn3wSJ06ccDlM\nO7qbSFyYMpbNZh2Ikdiw7XbbpUMYtnPwh15LqVTCxMSEW7G1EVJPLwxDl6OiweEAHutB74azFzgY\ndsMNN+D06dP4h3/4BySTSXz2s5/Fj3/8Y7RaLWzfvh35fB6tVsuN/FLBtm3b5jyGHTt2YGpqCu12\nu281WyKRwNzcHB566KFVnoCCGUPcXC7XNz+UdVPDouBM45LNZl27jsMTY0fSwTT9zTrYPB1TWtTz\nN77xjej1evj7v/97zM3N4a/+6q/w9NNPOwOv0+qoKyynUChgcnISuVwOu3fvdjMbmA9mLv5b3/oW\nTp486ZwAPluNEyNJrmRjPbhSUsNjfpgWsyHxZpEFJOsIvfWtb0UYhvjiF7+I06dP40//9E9x6NAh\nNzWT6csw7J8VRQcom81icnISe/fudQPPKysrKJVKzuH75je/ibNnzzrDrxG75sM5eO0DUU0fRDlo\nLGfDoMtK2wcxnOGoIb0CepEENwrin/7pn/C3f/u3+MY3voH5+XmEYeg6OT3GUqnkBtMWFxdRqVQc\nsNJTIIDo3OFarYZer4dz587he9/7Hmq1Wt+gRLfbdaFDuVxGpVJx3gmtIkHDpj1KpRKuueYaTExM\noNVqYWVlBXNzc5ifn8fS0tIw8Q0l9QCBizMA6EnqdCFV2NnZWWzbtg3pdBpnzpzBvffei/vvvx+1\nWg3/+I//iNe//vVuRLxarbpBuUKhgImJCQfqQRBg+/bt2L9/P3bu3ImVlRUHxJwC1el0UKvV8NRT\nTzl+NeyyXhM7B5fRUvmpHzzGwb2JiQlXBo3hOHKPBCnlkdPBdKCUz6M+qWFZWVnB+9//ftx9Dmz+\nMQAAIABJREFU9904ceIEHnnkERw4cAB33XWXy0fSSCWTSezcudMtTZ+amvr/2vuS2Diz6+pTA8ki\nWayZU3GUSImaW5TcrXbb7c7godtGEAdOAgdZxMkiQLxKvAgMBMkuQZBkk0WQhZEgA4LEAQzHgREb\n3WlPcdzu2Fa3rLYl0ZJIURRn1siqIlnTv6j/XJ56KkrsZqX9/4AeQJCs8fvue+/ec88dHuLxOAYH\nBzE5OYlyuWzyZ7J/d3c3dnZ2UK/X8e///u+W+w7sxy8Yh6AM6WFQsSq61b3KHGQN1ioC/mkPj8eD\nz3zmM3j++edx9+5dfOELX8DZs2fx0Y9+FNvb2030YL1eN+PV2dmJvr4+oxVGR0dRqVTQ3d1tFA9b\nAtCg/8M//ENTgLYVMm2lVA96TBV3q/t61Dh0ypir2dVCcJHxfy52LmJWIGUyGStaKJfLyOVyFnAg\nSc4N6vf7EQwGrdN7MBi0FBsGz/heTsr29vZDhx+qheLn6nPu324wkAqCipGIot3uL/8mInSvS61t\npVJBKBTC1tYWOjs70dvbCwDIZDJYXFzExz72MXzve9/DgwcPEAqFLDhGRFepVNDT04NAIIBEIoHR\n0VHEYjEEAgGcOXMGt27dMrdtY2MD1WoV4XAY8/PzFrADmqt6ODj3GkTSSkYN7NBoaw5pO4No5L+p\neHw+n2V8aN0/UTkAc1npcYTDYUOgS0tLePHFF7G4uIhXX30Vw8PDdqwO38vgcnd3tyndoaEhDA8P\no7OzE9VqFfl8Hv39/dja2rJr7O7uNpqIipz7xOPxNBWjAM3rmHJ3MzGI1vV+GUz7aXO6QOMebt++\nbTm2H/vYx7C4uIivfvWrSCaTKJfL5glyDulVDA4OYnh4GPF4HOPj4+bJ5XI5JBIJqwOgwbl//z6A\ng0uPgdYBMNcD0vcrLaHe0uNke+iUMf1SvUjeGCeSE6/pQoFAAOfPnzeOl5HeQCCA7u5uQyPkBEmc\nh8NhxGIxxONxxGIxoxICgQCCwSAymQwqlYo1c/H5fJicnEQoFGriMF2BuVkLeq/upAAN5Ea+qLu7\n+yH0cJSh36kTyCAiOT8+x/LfYrFoymFmZgYf+chHEI/HMTk5ibfeegsejwfRaNRSwsjlMjd2cHDQ\nji8ZHx9Hb28vOjs7kc1mEYvFLG/S52v0EyiVShgdHW1CD60QAWVNuauCdvO5eV2H5cLe7lDEx6FU\njVafcS0z8KvI+DOf+Qz+5E/+BJcuXcLc3BwqlQqi0ajRYqTaent7UavVEAqFMDIygkQigcHBQfT3\n9yMUCqFYLKK3t9eMWSQSwebmpnkyExMT9rfLv6qM6H1o/jb3qXpNvEcNIrXymt7N4eqPP/qjP8Jn\nP/tZXLp0CdeuXTPKi3qCHmsoFDLjPzIygoGBASSTSYyNjaGrqwt7e3vo6+vDyMgIVldXEQqFkM1m\nzZjPzMw0rdlW19RKv7mv42sUMbdSxo8aj1W62ojE3WS0QKqYlU+lhe7o6MDZs2dRr9exsrKCN998\n06KvVLB063p6eswli0QiiEajCIfD6Ovrs8XG3gkMdihampycRG9vr6Xn6LXyNzlFN3LtClQJ/FKp\nhEgkYv0k2lU1pZtL8yopH/6vpcJ6bUxP+tCHPoSpqSm8+uqrCAQCWF5eNlomnU6jUCgYdxsIBDA1\nNYWRkRGLEmsgdHR0FNlsFisrK9Z7wePx2Fzlcjlz/agE9F64DhTNtuL1yP+SY3YRQztk6+YKa46u\nGmWmYel91Ot1bG1t4dSpU/j0pz+N7e1t3Lt3DxsbG+js7LRsj3w+b+swEolgaGgIp06dwrFjx+zg\nRY0/1Ot1vPnmm0bBkQeOx+PGLepapDwIboj++D6l0dSIK8XA16lh/2mPUqmEs2fP4rOf/Sx2dnas\nj0UwGLQf9myhMh4aGsLly5dx/PhxRKNRAPs9VagfXn/9dQMKNLj9/f3WFIfDVbCtKAfVG0r7tFqj\nhzVkh8rTVUur2pyI1eXf1L1hRVUoFMLU1BT8fj8ePHiASqWCu3fvYnd3F319fVb0EI/HMTw8jKGh\nIXR3d9tC4UILBAIYHx9HrVZDJpMxPmxvbw+hUAiJRKLlfagCViTZypBwEgBYyz2637xnRRRHGapo\n+MMkcKC5Ekk3DBEwcxRDoRCuXLmC119/HaOjo8hkMlhaWjK+dGpqCgMDA0gkEojFYhgeHrbadHXD\nE4kENjY2MDw8jEAgYLLt7OzEwMDAgT0reK36GP9ude0MQJVKpaZeCwct6HcyVLFqwQafo/z12vi3\nSyW9973vxbVr15BIJOD1erGwsIBcLgePp3GibTweR39/P8bGxhCNRpFIJIz2UUTc09ODgYEBjIyM\nYHNz0xQvAIyOjlorU0XgamD1vvRvGmfXc9J+Fy6o+GkP8vfPPfccrl69ilgshjNnzuBHP/qRKcz+\n/n4kEgkkk0kkk0kMDg4iGo1awJdIngBuYGDAgsrarTCZTLYESu6+52OtaD2XBjwIGT9Ovo9VuppS\npcPr9Vpd90Gv13zWcrmMaDSKfD6Pvr4+jI2NYWZmxlwHIlkGAygsDRzwRru7u22hr6ysWO/XZDJp\nASAtf9SgD69drRaHi3A5mH2hyKJdC9edQKKzVq6K3oMG2sglhkIhDA0NobOzE7/0S7+EW7du4dSp\nU0gkEk1lruThSVfwfvkaLt5QKGSKpaurC2fPnn0o0dxFB/xRo0V5u8ZNDYurxNuheClXcq6aCcLn\ndc4BNCk5rsOVlRWMj49bSt6v/uqv4vbt2+jt7UUymWzK4mGgkXOofDGb30SjURw/ftw66dHYjY+P\nW08MVf4uxaAUCedN5a/3QgrCnZufFr3gKrPV1VWMjIzg2LFj2Nrawqc+9Slcu3YN8XgcIyMjZjTp\nMWshltJD7ENCw7ewsGC6J5lM4uTJk00pea0ohlbUA5/jtbv7spUcj0wvuBus1fNu+zi1tLoo6J6y\nECIWi8HjaXC+TDvjjWgqlXJRtG6a/8mc21gsZqhBESQF0ypyqcPlcLjwgX3lQVqinUpXf/P6+Pma\nUkVZBwIBK5vm6xjAOX78OF577TV88IMfRLlcxuDgIEKhEHZ2dszdJJqqVquWskQlQ0To8XjQ29tr\nudF7e3s4depU08Z1swx03unWuveq90nFq+l9B/HqRxmqjJTPVeSrytZFu8xm6O/vx9LSEkZHR60p\nf39/f1MvBM184Kb3er2Wb8q83e7ubmvx2Nvba4FL0hy6vnRd6t8HrWMdaqTpff6/kLkANOiSXC6H\niYkJDA8P4969ewiHw3jmmWewsrJiQWAte1agQXnqnHZ2dqK7uxtDQ0PIZDIYGxtDIBBAf3//QwbH\nBQGtqAV3uK99J+Ox0tcP54LUxalEvlogtndk1JzCo6ViYIrBHReNKgpRt7tQKFhTlq6uLvT29qK3\ntxehUMhSoQA0KQUXPfM59zdzR90Sy3ZH1V356mKgm0h5u/PAhebxeJqiu0RI4XAYt2/fxvr6Oib/\nb5oSUQC5zK6urqaCBuUCAdii9vv9iMVi1qyFpcB6vWqAdDHqvbheBu+HCkYRHaPT7UgZcxU8gCYD\nptSNctouwuSpBLlcDslkEtevXzf0BaDpHri+OX/6fXrf/D8UCuH48eOmeBX9cyhS5b3wmnU98/OV\nluBj/NF98G4N9eZ0+HyNntwAkEqlMDIyglu3bj20FpQK4roH9j0XlTEBGQHH9PQ0AoGAUWUH3bdy\nuq7y5TjocT72KLTc9F2PE9hBH6IR0IOEqs8Xi0UUCgXr/kVFoUUKijaoUJQnJAKmO03kRutGxcPF\n6ApBr1OrvVyBcdHymljWzPJQVVRHHa5rzutTVM3XKJesvG8ul8Pu7i62trZw79494/HC4bBRO9zQ\nRAraRIi8GJEac2jr9bp5E7FYzDh2Rut1XahS48ZQT0fLlvmYypmfSSPdDgOnypWfSXebLrp+H9eT\nypxyKpVKuH79ugVtent7MTo6ah3XWCFJlEoZejwe4xL5nVzXXFuhUAjj4+NNgUnlmhX5q9em8tT+\nEbxfzShy3/tu0gvu9VO2BE+5XA5vvPGGzU1vby8uXLhgqXrc47p3KSt6E/yf88lOcYFAABMTE/bd\n6pHzsYP0lnsP+rvVcwd9njveVsqYKi8uZi4SCtZFrBREIpFAIpGwEyOOHz9uLQV1E2vAgAqDrwNg\n7R2pZJiqEwgEMDY2hmQyacUarVCG3hO/x83QcAd7zqqVdWXzToe6e16vt6mfKmXtyj6Xy1lKzPz8\nvJXvMjo+NTWFRCKBnZ0dHD9+3PpdBINBBAIBpNNpkzcVArMjent7rZCC6JjfGQwGUSgUDCHzmtVQ\nEdnSKKihoHur535tbW1ZvwFSJEqvHGWosSYy5Jrl9VPJEqGyu1gul8ONGzcwOjqK8+fPo1ar4Wd+\n5mcwNTVlaWUqP4IInoJBxcvrKJfL5tFxveu5XpFIxIyOGl7dZ6pkFcmqoXAr0/i9msXRbvrm7c7J\nzs4OXn31VVy6dAlnzpyB3+/Hhz/8YZw4caKJphkbGwOApgAhka0GHOlhaKVsOBy2M9V4QofLZbuA\n53EI9TByOwztcCgfQ7W3/lalpdSDiy7cMsVSqWQWjYUPzNklv6sEuqY6qYvMjVoqlUwxu4JsdS+u\ncFyU69IQdFeUo2zXonXlqZkKrbJCdEOWSiX09fVZvnK93khx4mGVwWAQ3d3diMfjiEQiNl/MyfV4\nPNbXIhaLAWgYEhakdHV1WUe4er3RmlCT8l35ugu6lZFmkInrg0f4uEHMdslX0wLVtdTKrVbUzs7O\njmVysKBie3sb2WzW8m0ZvGW/ilqtcVwM0FCEkUjEKtB6e3utJwMb+xOxzc3NYWxsrOlAVjVgmsus\ncqecuC5VhpS59iLga/i9P41RrTZ6Nc/OzmJ+fh4ArPybYIB9sQcHB62YiiCAQWDSiSygopwCgYBV\ntu7t7eHWrVs4duyYgaVWcgQO7gzmxqoOq5wfNQ4dSCOs1wlXza8IghHZYrGIUqmE7u5uK59dXl7G\n3NwcMpkMJv9vIUNvb68Fxur1uiEtRdC1WqO0L51ON51XxYDN3t6e9eZVlKaIuxXvwsWp6FzpB7rm\njHxSWbUrkMbNpV3LtISZP+qe+/1+OzWZhqher2N+fh6vvfaapYq98MIL1iCbTXto7NiJifesdADT\n/IaGhvD666+jVqvh9OnTyGQyFsBTeami4HpQzlHXipa0VioV6z/AnF2iw3ZxjkRGOt/K2XKeeQ9E\nVdls1npseL2N5urf+MY3cP36dRSLRXzgAx/A9PS0KQWidcpXT47Ws9+YRjk4OGjnfa2vr+PChQtI\npVJ2koaue8pDDS6w36Td5Sr5HvKb/G7g3e270MoIM9PA5/Ph2LFjZnC/8pWv4I033sD29jZeeukl\nnDhxwnL0t7e3zQNknxV6ZvQOKdvd3V0MDQ3B5/NhfX0dq6uruHLlCra2thCNRpv2u16f6wm0ugel\nJw+SY1voBSJU1zX3eBpHl9ByM2oL7DePqNVqVjb62muvwe/3o1AooKOjAzdu3MBrr72GRCKBkZER\nTE9P48yZM6hWq0ilUtja2rIFyiOpWRgxNjaGXC5ngbRarYZcLod79+7hO9/5DmZmZjA8PGw3r6hG\neTU3uKPt8bjIWeaZTCaxsbGBQqFguZXtUrwuv8wIt7qnuuFYrx8IBFAul1EqlfDyyy+jVqtZ16ub\nN2/iBz/4ASKRCJ5//nnMzs4iFAqhVCohm80ilUohlUphc3PTzgFTnlIVKfm0v//7v8ezzz6L48eP\n27WrMtNrJAXBDAtFnFoWvLm5iWQyiUwm8xB/346hSkkRNK+JBTb6GgBNyfVf+9rXsLW1hVu3biGb\nzSKTyeBzn/sc/H4/nnrqKXzkIx9BMpk0hVIsFrG2tobFxUXzwDo7Oy3ntFQq2T4AgGQyif/8z//E\n2NgYTp8+jdOnTzdx9orUeY2kFPiYGhZNiyuVStY3RNfS/3YgzZ0/RYvsx1Kv1/Htb38bCwsLWFxc\nRCqVQi6Xw1/+5V/C5/PhypUreOmllzA+Pm7Xn8/nsbS0hOXlZStKCQQCGBgYwODgoLV7pec8OTmJ\nL37xizhx4gQmJydx5cqVpmt6lAJtNY6KcoG3cRowsK8c+DhTjpj8zQVAV2x7extra2tIpVK4e/cu\nnnnmGQvGsETP6/VicXER2WzWlMjdu3fx+uuvI51Om1VjRLu/vx/nzp0zcrxYLBpv89xzzyEYDJo7\nyEWp96JIShuEqDtH4WlgZH193Y5hYeS/HahBjYFb3snfAJqi00CDIlhdXcWNGzfwL//yL0gkEvjM\nZz6D//7v/8by8jJSqRR8Ph+SyST+4z/+Azdu3MAv//IvY2VlBV/72tdw9erVJll0d3cjGo1iZGQE\nly9fRjabxe3bt3HixAk72HJsbAzz8/Po7+9HX19fExeqMqbsNEdUeVwqXBbGZLNZuy8G9dopW+V1\nNadVr490BxVdIBDA9773Pbz66qu4ceMG/u7v/g7Dw8PmTbAcdXNzE7//+7+PP/iDP0BPTw/u3LmD\nf/zHf0Q2m23qM1yr1TAyMoKnn34a/f39WF5eRrFYtKYt7Mt7//59zMzMNJWvA/snctAIulSCGgxV\nJPTQ1Ft6NwJpiijV02HfkJdffhlf/vKX8dZbb+Hzn/883nrrLczPz+PVV19FNBq1k70//elP48/+\n7M/g8/mwsLCAv/qrv7JTvLVr2OjoKN7//vcjkUhgdXXV9uqJEycwMTGBzs5OrK2tPQSU3sk6U1m3\nGkemF5TDU6VUr9fNte3t7W3qY1utVo0T7OzstLPSOPmBQADHjh1DrVaz/qlsY5hOp5HNZjE8PIzB\nwcGmdDO6Edvb23jjjTes5JKNjH0+H0KhEKLRaFOqmipXcmvkPV3lqfcAwLjRjo6OJvecaVftGAwm\nMgWGGwTYn2CtHCNSHx8fxw9/+EP89V//NW7cuIH5+XmMjIwYzzs0NIRAIIDh4WHjGtkU5OTJkyZL\nItdkMolKpYI///M/x7lz53DlyhV885vfxOzsrBkzejfKNVKxteLLuPn0jDnOJZPdGbxy20Eedahr\nToXDYJ6iQZdaqtfrGB4eRqVSwV/8xV/g/v37WFhYQGdnJ06dOoW9vT2srq7iqaeewr1793Dq1CmM\nj49jbW0Nr776KmZmZrC7u4v5+XkcP34cY2Nj8Pv9mJ6expe+9CXcuHEDH//4x3HmzBm88sorFqjT\nWAb3Co2Vm7kC7AeYSE/xfdpYiLLX+dF7b+doFaRSIwzAqlOr1So+97nPYWFhASsrK+ju7saZM2dQ\nq9UwPz+PZ555Bjdv3sRv/dZvYXJyEisrK/jyl7+M06dPw+fz4datW5iZmcGxY8dQKBRw5coV/O3f\n/i3u3LmDT3ziE5iensZPfvITzM7O2hpw4xFqGPiawww3ueDtyvLQnK7LdagLqK4LFRytKV1TKjze\neE9PD/L5vFWaBINBhEIhs8wMXlHREjH09fVZQ5tqtYqNjQ3UajUUi0U75E+5YA3MeL1es5IaEQWa\nA2xKQyjCUJ7Y7TnxTkervGLNCiH6cgNrVLynTp0yGbMlZTAYxFNPPWWZH52dnbhw4YK1UYzH46jX\n63b6Bg9QzGaziEQi+OhHP4pTp07ZZ21tbSGVSuHs2bMYGxuzuVHvhj+6kDUgScWn6J1ypZtN9NtO\nPtdVshqkJPJSjl5ppfe85z0GCFgx2dHRgdnZWaytrSGfz1vlXl9fH0qlEmZnZzE3N4fx8XFrRcii\ninv37uHDH/4wpqencfbsWSwvLyORSODrX/86Ll68iJ6eHgwNDZmCVZSoSkL5aK4FVRwaJKPsW72v\n3eMgLlQfp3f0vve9D16v1wKNHk8jL/f8+fMYGBhAqVSyRkwM/D799NO4e/cu4vE4QqEQ6vU6+vv7\nkU6ncevWLXzyk5/Ej370I8zOzmJ5eRnxeBzf/OY3cfHiRSsddmmmd0IxHPa+Dxpv6zRg90s4wUyf\nUUXHhc0cV1ZFUXHwcXLC7DbGlnhu4ICoiK9jOplGNblY3RMdlBJRquJRAnLvVxUv77kdQxU/Fa7L\n1bkGgaOjowPxeBx+vx/RaBSpVMpKSAcGBrC9vW1oNBqNWtObsbExeL1eU7aaplOv13H58mVEo1Fs\nbm7i4sWLqNfrxrldvHjR8qFVVmqAiMoVmWmQwjXYGjRsJf93OtSl1kwblSuRoluU4PM1msNTdmxx\nSdTIk2br9bqh33q9junpaXi9Xmu4z9JfnlLd09OD559/HoVCAfF4HBcvXkSxWMT9+/fR39+PZDJp\n65RGmPI4yJvQ3GuCBKVTdL/SWP60BuchGo2is7MT0WgUa2trZui6u7sxMjJiPaAvXrxop4MTCMTj\n8aZjla5cuWJHSf3cz/0cdnZ2EIvFcOXKFWSzWSwuLmJwcBDPPvssgOZglxq4dgUbH7d22wIp3Aif\nWhIunJ6eniYUSkXKAgl1WRnUYTpIMBi0klRWqRAZuidBEDnrJm61UA/6/U7v+50OXQCuq87UHlXM\nml3AU2hrtRqCwSA8Ho/1SqCXwUXKZj1UyGxUzug7jV8wGDRlQrqGQcNoNIr+/v4mWsFVlC7t4HpH\n7mDWBlFdOwM85GmVg1PPhgpXXwvsGw0ePurxNA4izWaztrbK5TKCwSDC4bB5Xoycaxoku+H19PQY\nmOC8+P1+JJNJUzYDAwMYGBh46Hw5pby4tzQlUw2bolgFQPxfaZR3Y7i6gf8zJsB1mslk4PP5LA+8\no6PD+mcT5PB0CFKXTL1jxzemlzJAyn7HXV1d1iZWr0PXpwIHlz5o9zgUveBOkIsCdVIVyWiJJdEo\nsxEikYgtAlIHtNhUKK5w1NLzO7ip6AqHw+Emt9ZVqrpIW92L3pPejzaqVs73qMNVTEBz2TERuV6L\nFi3o89zoVGI0VD09Pca5+/37R5KQL+Tc0AgSoXGu/H4/Tp06hZMnTzYFpVx3l/Lk92txirvIqWQZ\n8NRsknbJtlWlIxWqm/vK76WXxGwcBRHHjx+3Y4zo3vJYepals3CFGQu8J95vJBIxampnZwerq6tW\nqnr69GlLB+R1t8roUC/QVWoqX23UrtTUuxFIO2iovmCGi8fjsRgPAPN4g8FgU/FQoVDAyMgI8vk8\nIpEIgP2TVur1OuLxeFNl3r1793Dy5EkEg0FcuXLFilc4WlEMqst4jXrtOt4pLXFoesEdrSa81d8U\nmDYrJy9LRcZFxc1G2gHAQwhFFSI5Sub4EqVpqo0rFJfD1c90/9bPYJBCK5D+t4dG1qmIgeY0PuUj\nmbe8vb1t/DaRhGZcRCIRlEolQ9KcI/bC2N3dNZeOPYR9Ph+mp6ebAl6ujNxFqAuYitrNdHBTuvi7\nHXw5P1spGg2QcsMqKidiVLROmoaBX6WaKF/ef1dXFxKJhJ1gooCBXonmY4+OjiISiSAcDiMejxu3\nqcn8rjJoZZRa7UcFHaqkf5r0ArBvNAi0NFhI7pyeK9cb4zkAmg5W5f/seEi6qlqt4uTJk3aC+MDA\nQNP5dTpchevK7KD36O+3Mw6ldN1J1wnm4mz15e5mJCWgXcUOWkSt3Ey+lguXk+L17h9iqacEKMpw\nP0dddlc5u39r0IWccLsWbislz2tUZaDy5uGGlKcb1GOpNBFOV1eXnWbMHxomFzGzdwULTpitcfr0\naSsR5lxqihJ/q6vbClEpYuP/biVhOw2a60Lq41xLVE6Up6bSueXCzAuljKgIlItXQ03F4vf7jRaq\n1WpWRckDK8+ePdtUrMKhFIgqAfXUqMB4XwpUiHjVaLdbxo8bBxljzUzSQhLuTzbDIjjg2tJzBekl\na7yoVCohl8shHA5jcHAQly9fRi6Xa7qOVimfrrJ1r9f9233Mfd9B41B5uu6ida1mK0us0VcqQgYb\n9JgRrb7SAgu3L2m9XrdsBgDWUYuNooPB4EPX22rwOSKdgwSs3BkVF6tn1L1u99DP1Gvkc2qkGFBU\nhcH3Ub7kuwFYmhsrBrnAOS8MtPB4Io+nkf+YTCaRSCTsNA73vl2r77pm6ha7+aW6hqic2qUUOH/q\npvPxgwKpRPEMLFJZaRYB89MZp2BzlWq1atkXPAXF4/HYuvF4PJZXvre3Z/14L126ZIeAak6r2xNE\nKRtXsVKWyvPq4+46/99Gu4f5fKWolCYolUp2hh/5bmYoxeNxO5SVoIA0CvlgxjrGx8dx5cqVJqDA\ntU7dpMCmlWfcarTSify7LUq31Qfq5qdl5g0QDWhuLDMPMpkMPB6PHXmjbqrH47G2jczlVDdPAwdE\ndr29vXbgXyAQQDabBdCcv+gqSApLEYl7Dy4iUEWhwZl2DFUMulmUWtDXugcMssSa1A3fQyW8tbVl\nbTTL5TK2t7ftNfQ6aNzYRIQjFovh3LlzdloCP4dpd8rZ8vo0UKNyVzlyqLw5Z60QyDsdnFt1tV0U\nrjLWakUaAD7HPHLmFTOD4969e3ai9c7ODjKZjJ1iQIXNoh/tiFUul/HUU0/h0qVLlgtOQ6enKesm\ndvOLeY9qFFTGfL3rubWLvjnqUIMLwBSm3+9HsVjEwsKCBSJZrcZGQR6PxzwOAgXqpN3dXXzgAx/A\n7OxsE5qmzuDxVZwfVbhuqh7wMCX5KLR70PM6Hqt0uYncCLC6jlq4wEGFCey7xJrCUi6XUSgUDL1W\nq1VsbW0ZCqOwmd6lAtnZ2UGxWLRuYlQcDASxW5N7D9zcWvbJHz5/ECpgYKlYLNq1tQuNuSiGgy4t\n6QReB7tTcdFo1ROVApvV5HI5LC8vm5VniWQwGLSuXkTxdKf39vaQyWSsQICoLBaLoVQqWUtINU78\nbm0urS68y6W6a4sKv1QqIRAItEXxUiG5HDRRLD0uKmYehKjolh4Bc8qZwVAqlZBKpbCzs4OVlRV4\nvV48ePDA5DY0NNTUH4D37vc3jleiTNkInYo6nU5boQ/XKZU0lbb+7Xo6agS5Z7XUuV0Lmq5hAAAg\nAElEQVQFPW93qJw51OPo6OhAoVCw2MnW1pYh10AggFu3bmFnZ8eO7FHgp4iVcxIIBLC+vo7h4WGT\nbSqVQiAQwIkTJ0yXsSdJNpttkjew348BeHRzJ33sMOv2bSNdtQqKZLWphl6wy71yAfGUWi4ipRDY\nzKWrq8t4HXI7VH76/a5bpcgGaOadibpbvY73qQaFr2PeIKkGBlGOOtQNdCfMLYqgPLmAKQdely6Q\nbDZr1hyAVeBtb28jk8lY9BeA9a/Y3d1FoVCwzRqPx7G3t2cZDFQ2vDZuduWPSSVRiZMjVjQG7Od4\nU9EStRNNtmPwe932jVoVp0iLAUj1ZCgrPQmDG5SGr1gsmhdXq9Vw//59C0SyAxbXfaFQQL3eSOpn\nGhoPWt3d3bVOW4x7uGlMRHalUskawVDGbtCZQ4//aZds386oVhuHD5D/5tjY2LCzBynbYrFovVY4\nN/Pz8wiFQsjn87h9+7algTEFr1qtolQqIZ/PA4CdWs2jwYLBIHZ2dpBOp01hc82yRoBnNFarVWQy\nGaytrT3URgDY95Ddvf92PIdDK11dnFR4ahF4QaqwmF9HToZIiN3HmLPII3YAWDoUN7kmrrOBuSI8\npt7Uao3mOr29vU3J+GosOA5yBZQXoxA1Us0OUIxWt2NoZoIqeg3eKRInt0W0q4EFKkEaJ7piROXF\nYtG8CjYpUh6SwTk2emFCf6FQwNLSEiYmJuy1vC41dFQunDegOVDHtcNBJUUDRg6v1WJ/p7JV70rn\nVZUQjT074rG3gfZOoHFhk/dSqYTBwUGkUikkk0l4PB4rUikUCvB4PNbInGufnfd2d3eRTCbNCK2v\nr2NjY8P2SSaTMaXNNUxeniCHEX4aShYHAM2enXoWfKwdw6Xr9HH3MZ/Ph83NTWsbQJmzPQCvV73f\nWCzWFGvgmmUTLOoWri2eVFOrNXpcAA1gsLKyAo/HY8UUqVTKTlLhmiBNwfWi3c1WV1etK1orL/id\nyPSxSpdubasvI0pVakEb1FChctK3t7eN/N7c3MTKyooJuV6vI51OG/8SiUQsFYTBIJ6HxkY4mUwG\nsVjMmk5vbW1ZL07yjsoXESlyIXAzKB+tC4VKL5PJANgP7hFttGMB03hpAIlypYIgl1qv1w11MkWO\nyJSLOJ/Po1QqIZPJ4M6dO1hcXMTCwgJOnz6Nzs5ObG5uolQqYXh42E5e5sJnQ20qjZ6eHuzt7aFQ\nKOD69euW5M+AZ6tcV03DoqKi0meaGudFF3FPT0+Te9mOoUCBG1fddl0PTEnK5XJ2tDewH3wMhUJY\nWVmBz+dDsVjE/Pw8vv71r+O73/2uZXZUKhUsLCxgcnISXq8X09PT5hUxW6FarSKfz9vRUqQ1rl+/\njve+971NB4WyExnL4mlYuVZY0EJvMJVKAWhGxTQUboCyXcq3lczdoKXH48HAwABSqZSdKK1ZCz09\nPZZdQAN/8+ZNfOtb38Lly5cNeN28eROTk5Po6+vD5OQk/P7GAQZMcSR9RmVerzeCxNeuXcNzzz1n\nsqVO4/qmriKQo8cWCAQwPT2NlZUVpFKppsDfQeMwcj0U0nU1PCdPURUrdfg6bjy2KSTqAmCH8Z09\ne9aUDs+9J3pjHwEKwOPxWFtCbkp2hCc3STTACLEKiH9T0apSbZX6RH6V7SSB/bOw3IbmRxlUTNrs\nBWh0h2KDHc326OjowOrqqgVnlpeXMTIyYodVcuEMDw9jeHgYtVoNa2tryGaz2N3dxcTEhClMIisa\nKMqsWCxiZGTEUGutVjOEwIWqhsJVbspjatCP+ZXatJxKmcbkIBf5nQ6t1OLcUVbslczv7OzsxK1b\nt6zAZn193YogSJtUq1WEw2E8/fTTOHPmDJ577jmsr68blXP+/Hk7zocbmdkgjAkUCgWjMbhncrmc\nddrjdSoC5HpUzplpgES/PT09hgIpWxZpqCFsZxDtICVTKBQsdZHe79zcnIGptbU1BINBm3+upXA4\njIGBAczMzODnf/7n8eDBA8uTvnDhgpVP61rd2dnB7u4utre3kc/nEQ6HTT/Vao22r/l83ujKbDZr\n8mcMiel8GtgFYACwXC5bN7xWXph61o8bh+qn2yriqaQ8rQeVMINY5AOJVqkoiNhY6lurNZLOadU1\nxYM3RN6GgQyWCrPqh+6/cpzAwxkJfKyVxXKRAJUvlb82+m7XwlXlrqic/KvyvcxXZE9Xn8+HtbU1\nDAwMmMFhkItKnF4Co+/cgOTaiRKIwLiIw+GwXQ9PQWDhhMqHi5vycwOCqozJy9PQ6X0zSKgLvx1D\nkRflt7u7i0wmY5QKTzve2dnBxsYGNjc30dXVhfn5eZw5c8bWJY01130kErGGLMViEQCMb+R9ZTIZ\nQ3TpdBqVSgXpdNo8LBqo0dHRJiTl0nk0lBqUpFLlfLBQiJ4ZP5+vIWJul0Hj9/IaS6USurq6sLGx\nYXPLs+MqlQrW1tawvr6Orq4uzM3N4ezZsxY0pWzJYycSCaumJFdbLpeRSCSMesnlclZIwv4N+Xwe\nPT09tgYJQDTXmftDeWNeI9/Dvc/zGMPhMILBIJaXl1vufZ2vx63dt0UvqGvIyC75MFVM2laRF+2W\ns1JxcSPQWumi0xvgZqUSJOervC+RkhvU4/sV8WiKlQoO2K/D5z0rR8xN2y7eEdjvP6AKjI9TyWsf\n352dHWxtbSEejzdxWx0dHdjc3EQ0GrXgFD+bfC6DNOQAec+0+AwwxeNxQwodHR1IJpN2TRqMokLT\nSLny1CwxBvaVBINK+pimbbWLuuF8cU2ogeNvonYak97eXty8eRMnTpywtct7yWazRi3RUNVqNeTz\neeTzeWviot/LY2M0zVFPv2au9NDQkEXw1fuhbGmw+Hry0fREFBlr9aEqci1COKp81aNlEFZlSyVM\nGXs8HiSTSVy7dg1nz541+fF+t7a2TA94PI0qwFqtcYJHNpu1xk7UK1S8BGlEypqKSgMzOjoKj6cR\nXPb5fAY8CEJUH/De6G3zOnnEGOXbKgCv73/UOBTS5Qe5KWNUmtxAurg5ucw20EXiBmB4wXrKgCYx\n87OB/RJhFkZodZhaKLeogIOT5i481/qrG1apVCydSC1mO9CuVn7RW+D3k4/j6/h9oVAIGxsbGBgY\nsI1EvpWLIxaLGUKo1+uIRCIoFApNyJYKpVKpWFP5arWK4eFhTExMGC3g9/utK7+6XtzULhoH9ruH\naV6xe9oB50PnVruXHXXs7e3Z/aoh5fVwnZDD9nq9mJycxH/9139henoa+Xzegi49PT3o6enB3Nyc\n9XkmwGAgkAFIbTpEnpKu6c7ODl588UVDderGqtEiz65BOMqWaZIsyuBrGQxkCiDQnPbk0mhHHcxA\n4jUC+zEdjRHQCxseHsZbb72FqakpCygyPtHb24vbt29bkxrqFfbfpTIm4OFeZ/9truPf+I3fMDqT\nqaOkMF15ezweOyGE65Xzyf2hgX16R608Zd0DjxuPhWpEmBQmLQkXMlNWuAD5fKlUavrRaHehUEAu\nl2tKJVLXvVqtGvdFhcSboUJnlBlAE2Lh+12F6CpgdYlVcFQIGihiRJnokW5eOxYv3Xm6tzRSDDq6\nstjZ2bEm5RxEP5VKBYODg3jttddsHrTKj/fC043z+bwFJUlDZLNZhMNhQ6iUP7lGDaJxMfJvRenq\nqVDJawCFGSlESfyb86tBzaPIlmuTSIypf1yTmUzGmgGRznEDqrzvRCKB119/HRsbG4bkCCg0VY7B\nyEKhgK2tLXg8HuuGtbS0hOnpaUNblAs9DABN2THsQcDAGb0Hrm8aFkW76jLzbwVE7aDHaNB3dnZM\nphsbG3YPVFq5XM7yvslvq/tP5Tw0NIRvfOMbuH//viFgFqFoEHl7exuFQgGZTAYrKysIBAJ2YOrt\n27cxMTHRlJFCmdDYcw1SFxGEUVYMcBIgMBWQcSPOs8a4gH3wcBjZPlbp6gdR2dIK8X9VtlwEDBow\nqEWlyjzclZUVZDIZFAoFi+yqclV3k9bQrRDq6elp6uGgbhyR9UE/dCf0f9IW/NHoPD8baG5ictRB\n/puLggqHCpayoKupBQ1cmORCt7e3MTQ0hB/96Ef48Y9/bHPAIgneDx+n19DZ2Wnt8nZ2djAzM2My\nJIojulKO1F14moKlvKSiXwDGm1Ehcg4OakjyTgfXKjcQkT2/l+4l74/pcseOHbNUIa5ncuCjo6P4\n/ve/j1QqZUFdurg8XcTr9RrHOzAwYBkM1WrVjjqivGjA6EFo7wtFporQNI1RsxKYzsfnVKlrLKIV\nKHm7g1ktzBRgwJzHdCmdReVZrVZx7tw5rK2tWb6y3ufY2Bi+853vWPUZjZdmHdAzKZfLGB0dtSyD\ncrmMiYkJW68KNCg37hMCCVIzCh5UDzEO5fV6DeRQMRMQaXxCfx41DqV03Q/jTXFSdQOqG8cJJp+k\nSq9UKmF5ednSMaicyXMxaVmLKgBYShizG/ijaNkNQGhEncjFfbxVUI0KhoE5pSxaveedDPUAuBm4\nkShLRS9EhsPDw1hcXGxy2RlMmZ2dxSuvvGKk/97eHrLZrCFcbnQe3seNs7W1hfHxcRw7dszuk7mg\nGuElStF5VpqByp2ydfsoAw10zsMJqaTU7W8HdUMDxcNRi8ViU1tMupWKuur1Ovr6+vDGG28gFAo1\n8Yh+vx8XLlzAyy+/jOvXr5uhIKebzWZNQTDIVqvVLENifn4eH//4x+H1eo3SoLLk/WvQjmgYaA7y\napqjggStsKPbzPdroBY4OsWQzWbR29trWSAuEiTN5VJQ4XAY3/rWt5BIJJo8Sb/fj9nZWbz88su4\nevWqybZQKFiVGRV5f38/YrFYk+J88OABfuVXfsViH1znBC/0GOhh833APligwqZS1nXMIL3f77eS\nbSpcrlfVf48ah254Q8GpIqArwUbDbhSSlSUa3Oro6EAikUAgEMDS0hLK5TIGBwcxNDRkHGU+n7dq\nG7prLKjgmV+hUMgyH4iyiaTZvQnYpwwoQJavah4sX6cLVPP8mLtJ15y9HtpBL7iBSm5uKgXmJyuP\nSt711q1bmJ2dtUwH0gwf+chH8IUvfAEDAwM4ffo0Tpw4gfHxcUPR+Xy+6YRlBtqWl5fxC7/wCzbv\n2m9ANwivxY228zluNkUZykdSuah3wk1GZNEO2XKz8fM4Z5x/ZsHQOOTzecu08Xq9VgbN7modHY1j\n6SuVCt58802Uy43+CePj4yYr0hVcj/RE2B+jv78fHo/H0qm8Xq9l8hA5Ub6UmXLepCJo3Gq1mhW6\nMAhJBUwDwHvUuTzqID0EwAoNuH8odxoQIkWlBKk0uZ59Ph/Gx8exu7uLq1evwuPx4OLFizh27Jih\n5HQ6bXSF0iXMTWePEN3zu7u7CIVC5tkBsFRJYD9PvlbbL0HnnFcqjS5ymv4K7PeJIYDTIJyu+4PG\noZBuqw+jsFohG1ppwnN9L4+ijsViyGQyWF5etjxSUg20fORgisUicrmc5UjGYrEmwZEPU7pA0bmL\n1ql8FLkr0tQsDUZSyS3RnWwHL6Zy1MirypTXpPIGYDmmzCPWjljDw8N23M79+/dx+/Zto3Co5Ikq\nabQePHhgyeAuD0a0p2fEub9V8eoCpKHlxiIHSrTB/FZyluquHXUw15m5mXptGotQ957X8+yzz1pQ\nijLz+RqnUX/oQx/C+vo60uk07t69a+uXngbngaAkn8/j5s2beOGFF2wu6cEB+8Eu9QgoP64Dvl77\nQih1w/QnrRis1+uWpUKD2C5Ol8HXQCCA+/fvWy6tcqWkker1ujVm6uzsxIsvvmhxBO63er2OWCyG\nl156yQqn5ubmsLKygnQ63ZS1pPsik8lgbm4OH/vYx5poQuoiyoeZDESsvD5+rnq9BDl8Dbl+ekpc\n02zAo159Wzhdhcwu36qvUfeHHCwbqyhv1dnZiVgsZqV629vbyOVy2N7eRjabNS5HA3fkjLu7u02h\n0AKRUuBiY0BIuehWtIf+z8c00MB7JRXCaioiw3YVSChlQaVDDgxo7pSlqWvb29uYnJzE8vKy9RLW\njfjBD37QksLX19exuLiInZ2dpuun9ebBk8888wzC4bBFxPl5lJPr8fD6NGjD9eDSD1RcpGpqtUb6\n1IMHD5q4Rm7AdihdXhe/izEHekEcGqwlDRYKhXDz5k2LlGsC/4svvgig0Ttga2sLa2trxvHS7WS0\nvFgsYm1tDQDw/PPPN9FhBBZKcai3yOtX91xddhpFBmIpZ15nLBbD2tpa03Mq56MMIvNqtYpEImGt\nFmmkaGRZ7l+pNJpYsdjg1q1bxvGr0nvxxRdtTW5sbGBpacmqTQnIlP8mP/yBD3ygKTtBC6qIVLlm\nCVDUCKsnSUqR76fHQC8CaJzxtrq6atSbu4YfNd5WIE03gm4yVV68AVoMJkcr39fV1WUH9zEox3p2\nKlwqBwCmTEOhkAUi2AdBKQGg+dQJvVa1RrzOVgQ4n+PCpmusJcztjLBThgxUcRO6ZZuq2HgPrA+n\nImE6TVdXF2ZnZ02m5XIZGxsblnmgLjURSyQSwblz50zJMIILoGnTaqqXXhuHBh8pQw3kqBFhl61M\nJmPzrfGBow5Noh8YGDB0S47VDajwvlkkwgY/9CiIFll+u7u7a0BB8zkZONvd3UU+n0cmk8GHP/xh\n4wYJPihrBkxdlEj507BpfATYz2ygkuNrKedoNIqlpSXLHCC1o+ln73QwKJXL5TA0NNTU0wBooHt6\nY8ViEeFw2B7P5/O2rygPovlAIGBcMQPtxWLRwBDXZaVSwebmJvL5PD75yU+it7e3qdCC60jzwYlW\neS4geyDTg63V9lP2AoGAzTvnBNhf9/39/bh79y4ymYwBNuBwqaSPVbq6CXQzKG/Xyt1WBayBCj4X\nCATMQjKfjqlRjLjn8/mmQgRa90KhYNFofjfLjNUFbsWvuNfJ1ygPxM1Hw8GyUVW6ahSOMnj93FCs\nsCFHxwlVa63R/vHxcWxsbFh/hkAggL6+PkxMTNiRSHShKVMGJJjWtLOzg+npaWQyGVy/fr0pCk5e\njouP/J1LLVCWAJreSy6RxoSHXtKgBQIB6xngpia2YxDR5/N5C4BkMhlLDeL3Kq3B9Xjp0iWsrKyY\nW8w5OnbsGJ555hmjZpgfSy6XPaFTqZQp7ZGREVy9ehX37983pal8pgsa+JzmtavBApqb9gQCARQK\nBTt7kPcBwAoNNLZyVKOmFBK7eZXLZaRSKWvurnswn8+bvHZ3d/HMM8/gJz/5ieU0c0/OzMzgfe97\nn+kVbeNKfpz/M4VzcHAQ3/nOd3D//n27Nv4AaAILfX19lqKo3DffR13CPU4lzpRByo4ZEwzM8fUK\n6g6U3eOEq0EedRc1GqookhuHriwhPNFEqVTC+vo6MpkMhoaGkEwmLRCXSqWwublpbhsP6OOx7B0d\nHdjY2MDc3BwWFhasG5PH47GjejRnVLMl3AwG1xUG0PQ6jaCTiGf0X9HIUQddfKUVXG6OG1LdIwag\nuIi4EJgTmU6n7fh0WnMGIqhoc7mcKaDz58+jXC5jfn4eX/rSl2wB7+zsIBQKmfFkKhSHS9NQJkRS\nXOxEIcFg0F7j9TaKEZaWlixw6n7OUQaRmNfrtWokuuJ082lgKX8ao3A4jJ6eHst8KJfL5on84Ac/\nwLPPPmsn0gKNaD1d4Hw+j42NDfj9jUMmL1++bB7fP/3TP+Hb3/52UxoVu2+pTJW20RiFcrjcX6Te\nPB6P9bfgnA8NDT3kmrcrO4R5stls1vYvva6+vj6bQ9UJRJHd3d0oFApNRhwAvvvd7+J973uflfnT\ny8zlckin00in0xY4q1QqeO9732tI9W/+5m/wta99rSkuQ9nyWhjApa7i/5wLomMq/XK5jGg02jRf\nnKPp6Wmsr6/b/lOK4VHjsdkLRFtAc8NtusOaSqSUAy04I8EUTLFYxIMHD1CpVHD69Gnb+Ol0uinh\nn1B/cHAQfX19iEQilmun7dpCoRCA5i5SJOg5kfw8XpcaAd3cGhDk6OhoHGE+Pz+PaDSKaDTa5Ood\ndSh/TMvNxiV0UUnWuwiJLiMXM1H6m2++iVwuh5deeglDQ0NmyCqVigU8AFhwcmpqCtFo1L77wYMH\nWFhYQLFYxNjYmEXalZun68uh64JIgdfHdUEFxzmoVCqYnJzE97//fev3wGCFzsE7HYxCk5Pzer0Y\nHBy0ApBKpYJCoWClueSd2UKQxSYa/Z+bm8Pc3Bx+8Rd/EZ/85CcxNzeHpaUlo4S2trYANNbj6uoq\nPB4P3vOe91ijlq6uLqyuruJ//ud/MDMzg4GBAXOnmU2hLjGwb8CIytSFZu5quVxu2gs03NPT0/jq\nV7+KiYmJpgqtoxq1Wq2G/v5+FItFozlOnjyJBw8eWM9a9iImR9rV1WXAaGdnB6OjoxbH8Hq9+PGP\nf4w7d+7g13/917G3t4f5+XncuXPHAB4VNL3dlZUV/PZv/7bJxONpNDF/5ZVXcOXKFTvCnZk9pDqI\nZgOBAPL5vBlOImDqPL4un89jYGDA7p26ZmZmBv/2b/+G48eP23sI3B41Dn0Eu1pfYJ8iIB+lg5ua\nbg8tAV2FTCaDzs5OHDt2DOl02m6a2Qu0jMB+s5VkMomOjg6kUiksLS2Zu8poOADjiPj97sIiWlA3\njcIlAuY9U0n7/Y3joFmFNDIy0uQOHnVwwyjCJkJj8juNiaKTYrGI7u5uxONxpNNp4x9ff/11VKtV\nRCIRDA4O4ty5c8jn85ibm8NPfvITrK+vm1fAQggeAc4E94GBAfT398PrbdTEM6hAvo0lrSonypb3\nQKXLunjeF/lHPs/+s6xsokJoB1+u2RdMLUomk5bJoA2WaLC6urqsColeEosobt26hbm5OczOzqKz\nsxNjY2Po7u7GzMwMvvKVryCdTmN0dNR42nw+j9/8zd+09oOhUAjxeBzj4+Po6enBxsYGarVGypdm\ndah3qfykur78m9fGkmClhmhkVldXbT0pxXeUwQBSOBw2ympiYqIp/5XFIjRqNBJ052kEAOCtt97C\nD3/4Q5w/fx57e3uYmJhAT08Ppqen8fnPfx7VahUDAwP2mSsrK/jDP/xDK30PBoMYHh7GyMgIurq6\nsLKy0pQyyHWpxSXVatWMHBUm6UzKnwbR690vyQcaOiKZTNppITxC6DBA7FBKl8MN6gANpaGRTLXC\n1er+SQ9bW1tWlqmvDQQCiMVilnTMaHA6nW6KkNNKsk6bLfdUKVWrVetCpteu0V9yvsqj6r0pWudv\nTkY6ncb29jai0Wjb8nSpLJn7SyRCQ8BFoeiE8iZiYGR9aWnJkLHXu9+MnIG1yclJvPHGG/jxj3+M\ndDqNS5cu4fz589YqjzwV806ZcqVBNbrpVBAuV68GTyO+GsRx0UC93qihDwaDNq/tGL29vUYvMKqu\n/Ydp3IPBICqVirmPXGvkY/1+P3K5HDY2NtDX12cGoq+vD4VCAYlEAp/61Kfwwx/+EF/84hetqOfX\nfu3XDFBwT9Bzo0x5rh9fpxw50Nz7RINkjGlo0E0zPyjDnp4elMuN42/ISfLzjjJCoRByuZwZ/1qt\nZtST8sbMqqH3ybXO3GTGGjY3N5FIJFCtVs3r4dr5vd/7PVy9ehX//M//jL6+PlSrVfzO7/xOUwCu\nWq1iaGjIdAkppb6+PgucsvpS+XvVMW6gmtdCkMU9yflhLQL7oBzWoL1tH075WzamcLMb1NXc2dnB\nzs5OU54kXQy6fX6/H+FwGOPj4zh+/DimpqYwPj6O4eFhxGIxsyJAwzrG43FEo1FLRyP3ouWeSuK7\n/C2zJZRbdDlfLQX2+XyIx+Pw+XxW4tiOCDAAS8/iBgIaG00jp1wIWkRAJcg0qHv37lm/XH4uG4Ew\nwDg9PY33v//9ePrppxEOh3Hp0iUMDg6aMqrVGtVT8XjcEISWRlNx6qbXTBMGSbgWOA+kfLTUWlOn\nIpEI7ty5Y/fTrnQ8Ij+mB9XrdaMvgMZaisViJkMWMNTrjcIUGoCFhQUsLS1haGgIoVAIvb29SKVS\nxklWKo0WhpcuXcJnP/tZ1Ot1jI2N4dy5c3buGSvjEomEnYGm0XgqVM65BnW4l5SmqdVqRg/RddeC\nH3pzXq8XsVjMelXze466dumak1YE9k/oJvDi6Q8MLDJQTFRer9dx9+5dLC0t2fFFvb29lpWgaHR2\ndhZ//Md/jEKhgJmZGZw9exahUMhanBaLRcRiMftOzrciXe3FoPED7SfC166traGjo8OyNFS/qWc8\nPDyMzc1NQ+yayXDQOFQTc244DZKo1aJwgH2LoQudFoY3yYYXPGuKipgotKenB4lEAp2dnYhEIk25\ntwyakX5QHpbfq9yzWna+X0l9LmpFF4rguIgnJiZsMfDsq3YN9mMlN060q8FAbVyjwTVSODx1o7+/\n366TQQQi1nw+j3g8jueffx7j4+M4f/68bWLO8cjIiN07z+2ifNUoAM0nKnPueV1Mn+JRKJoXSZTJ\nz7tw4QJeeeUVQ6FaOHCU4fF4kEgk7Nwx5Q+ZOkQ0pT0wqByIerPZLFKpFJ566ikzTplMxtAYkRCP\nRvrd3/3dplQo/TwqBXp5PB3C49k/qp2DsnLX4vb2NgKBQFPRDiuuqCA07/fixYu4evUqUqkU+vv7\nTTZHGaws5eGwoVDIFFQ6nUYsFjPZMD2PhQVMqfN6vUin09ja2sLFixebMkBo3EhfRqNRbG9v40//\n9E/N22BxTTQaRaVSQSKRsJRA9SK4/qlYqbe4rpUm293dtetjvjaNFdcw14nP58Ps7Cy+//3vWxqc\nFrccNA5VHOEqJY1Kthqaj0lLrkqXaIdokRaIqUwej8esnqaBKWJV68nPV0Wlbpb+EJXT0mnknc+p\n66EuPQN5zBxoB9Kl28Nr1jQkIm1FMNxM5POIyhkI8nq91gqPHBbQCNKtra2Z0eBpEwDse4hsyV9R\nYfN7qTyVG6dhU3lpLqg+r5kfyqWzbWQ+nzdPpB1Ilyc4MK+T90HZer37hQUED2RVQ6EAABK8SURB\nVMC+suPrCQjK5bIVWXDDsyhgZWUFq6urABrNzVmS2tPTY7QRDY1ScFTG9Bo0P1vlpHuQnLGuC8pY\n80r5vqmpKaTT6aZeE0fNXigWi4jH46aMGEDN5XJGlbC3hjZNUiVMhK4GTmmzWq1Rdr+wsICFhQXL\n7e/r60M4HDZqkvdCKo6KNBQKNQEB9WzdPUzPDIAZVvLsqiu4T2kEn3rqKWxtbVlKnIKJg8ahOF1F\nkvoYJ1VzGBX90CUG9ol3r9drFoxuAC00012UbKeS401TGZAM14CDJjkf1IJNkRYtVyshKcqo1RoV\nTVRGvNd2ZC8A+0fUc8PoQtCsAQaFOOF6DAu7jtF9JtXCkzsGBgYM8dG1Z2kw8zj1fZrFofy99opQ\n+ep1E4lrYIjGVDlgzmM0GjU6hP032pHSRNn19fVheXkZ3d3d8Pv9drYeqwzr9f1TF7geecQOGyzx\nOKlwONx06gQzJEhlMMWuVCrB42mcHEE3nOh3b2/PmuGol0jZa1oThyJX7oNisYhEIvFQDrfKvVar\nWRNvor12ceakhjY3N5tiIQwMkirq6elBd3e3ue5Er6SdgsEg1tbW0N/fb2miNLyhUMjSIpeXlxGJ\nROxYqkKhYCl94XDYAvY0kJShrmUNWuvf5JjpcW5ubuLChQtN3oeCDaChB/v7+81rZ0e5x4Gxd8Tp\numS9PseLUWUN7PflVSWrSpMb9aAfN09YlSUFp/xSK4XoKgo3Zcy9J9eIUFkrYjvq4Pe5yeSsJNMN\nxOthEI8bjHQEs0k0TY/KgwEu7WPBqiEG7BQpMUBJ+ZL20KIFVbZqYHntfI16Ey7PzjSgSCSCVCrV\nNoWg300aIJfLWZZGPp9vCvopIODaYnYDAOMg2VMEQFNPBwD2WuaTbmxsGF2m3h2w3zuYh1YqSNB8\nUUX8VNKsMKTsNOLOQRn7/X4LJmUymbatXRr/eDyOjY0N65LGc8rUW9rbaxyJRMSrmUNM5aK3RaTv\n9Xrtc8i7RiIRZLNZO1KJ4IFzxjVGD5BAhnLid/t8PmstCcD2T6lUAtCgb+LxuBlRN21WgQNRNzN6\nDuNFHIpecIe66HqzqrSUyOf//CEdQDiuSpVKpa+vD319fdaZiAqJQlNFrW5DKz7QpQ9ogd/O4qOl\nZmCwXfQC75tolo8xAKGGQeVLeWgwku/nuV2UD5WlBrS4EVk+yU1ExchiASpHF927UXa9Nj3aBGiO\nDLtIgUGoRCJhSe9U4u0YDJomk0ns7u5ia2sL4XDYMhPYVYxUDEuH1ZsiFaAGol7fbw3JzebxeIwS\n6+vrQzAYRHd3txUKMJfX6220dgRgVXoMGNF9VQqCa4SlxiwtTiQShl7JC3MueN0MbrJUl67zUekb\n3n8ul8Pp06etYRUb2zA9joqUxoTUA9cudYT2NKAXrL2FqS+Ye8s0tEgk0hS8peKnUSPtRiXMfa99\nd3kvHk+jcu7WrVtIJpNNJ97Qa9C4BABrs8r2tAo+DhrvOFqhCKYVYnSRphsgIIKjUNVCaJTbvWF1\nm5R/VevT6hpclOwiA3foe0mh0O2lUmgX0nUVKRcCFaqr3FwFqBFvuprcyFQ6fFyzM/hbKRc1YlTi\nNFJuPwjKRh+j66tGVukoF/nSYASDwaaN1g7Zcq5KpRLC4TAGBwexvr5uvWBV0dHN51qkEmMGjp6r\nRY6WyIjUifZh7ejosHagSpVxHlihR4RLpUq5c3NzTavs8vk8RkZGmuZF6TAFMlTaY2NjD/UxOMrg\nXDFr6Pjx45ibm7MArMYeaEApXz0klcqOqJ7pZ0S5DMAx9Y9zphkgAKwTGNc+UTTXJYGMtisF9luN\n8jrT6TRmZ2etp4lmj+h+4/B4PBgfH7fDYg8Dxt420tVNo+liruJ136NKjotJqQVacQDmNjC1TJWs\nWiduKrVy/D4N4LjKlj8HXa8iMf4Q/WhKUzuCPa1oEi5Clle69+QqZ7pRXHCsEgJgricVAx/XpHsN\nUnJQrvx+0kI6p3xc10K9XrejXFx56vt0+P3+/xWkq4hue3vburGx7Jh183qNXGtUxlyHuobIDRcK\nBatqq9frpsjpTZCyAWAIi8EkRbAej6cp/ZIbl0qFr+VgAx8toNHrU0qPFMPw8DCy2ayth3bQC8wU\nIH0wODiIq1evWo8PrlM2ltH/qVyZYcM1Sq+LKXykx8hd8yxAnRNSZAoYaADpnVLJkzNWpMvAtc/X\naHIeiUSQyWSayrNVvtQDnJOJiQmj6g4DGN6W0nVpBHV7XNTpDipXbnLd6LrQaB0V5apy5g25Sl6V\nUKvrVNSnkWSXFmk1qKyosPg57WzKosFAcoY8c4qoi0iVi0wr/7Rph9bi69lgXq/X8oLJt+kccJ4U\n6XG+1GVVQ0kDxHvY29uzVobAw9kvVGo6h5VKBaOjo3aA4+Pm47CDn6HXOjIygt7eXvzgBz8wRMV7\n0wIDphQRiXKjce0wMk7Fu7e3h76+PuOMNajL+dD0MipGvo6yd9ewKmcWEqTTaQvw0GNUpayomJ87\nNDRkZxO2Q+nSwKdSKQMgJ06cQCQSwdWrVy07gfuEgVuiTSpgNdbck+Fw2Pards5jEQvlRm+Dp1tr\nuigzc/Rey+WypZuSR+fcBQIBbG1tYXNz0/YGQQZ1CNeB62myypG9Wf5XOF3XZdRmGoos3aCJViJR\n8RLx0l3hgtTXqpXh9/N5vQ69WUW1ullYFQc8/sgd5VI7OjoQDAbR29sLAE3I/CjD5Zi5+Vm1w+5h\nfC1dLMqNNAwVssqLFEO1WrUUOwaCeN9URkop0AAobeMqC/UYuEFqtZp1iuP1uByw8o5czMViEUND\nQ4jH49Y0pZ2yZSkyo95TU1NIpVKoVqsPZczo2mMwiBtfDRnzN7numB6lJ1VQ+XIjspBCU6woU+Vw\nla/X2MXe3h7W19fh8/msm5fSNhwqcyp0Fry0q7CnWCyaJ1avNxp9b2xsYHZ2Fvfu3bM1SoqAXDl5\nVa5lXh89yb29PePMOS+6X0nxaXAYgClTDS6rHGic+JpqtWqGq15vlKunUil4PB4rKgJgFAr/p8JV\nr5sFXDwz78icrsvLKSeojYJdRKM3q4uYbgAFrUELzT1Ufq0V8tHAEQDjzqjsVVErImNvB70m9/7c\n++AIBoPWtOQw+XiHGRqppmGo1xvlkzwahs/znvS+WYqoQTi6tcxlzOfzptiB/cM+Vc6KNIhA6HWQ\nuuD8KMWhPDqjwtFo1DIiyIe1MsrAPoqo1Wq4fPmy9WFoB3VD48GNTpe4o6MDP/uzP4vFxUVrKkRv\ngChJNyQAk7FSX/F4HNVq1TIYtOJJ0xxVCXD9UzHzujhnStdRBkRmAJDJZDA1NfUQMFGKykXKfM2F\nCxfMiBxVvh5PIw9WS9eBBo3ziU98AouLi4b6AVjgkHuHbj3lTiqRoIONclh8oetR85MZLNQ5p8w5\n19oPgp/DwKk2OV9eXsa5c+dQLpebDl/gcGkbBSWXL19+iCY9aBxK6eqXchI14kjX1uXu9LVKKWiw\ngsKmJXetu/I0HBSqfp9GDVUgvBYiMg12qNLl+1xFwsfJP4VCoSaCvl1Dr5HfxcRvXjN/qBQ10MLF\noaeZMk2HngittitHYJ8D47UoT+4GDl26QBXp7u4u+vr6mhYsX8PP5m/lqMvlMo4dO2Zop10GjVy0\n3k+xWMTg4KDRLJxPolJ6EKqwqRS5bsgvFgqFh7wSlYemiSlNRrlw46unpmuXxph7jdQT88Z5n8B+\n9ytVuPxOj6dRmbaxsdEWeqFcLpsiJf3W3d2NQCCAoaEhSxtkYyVeE+kaVn5RjrwPTfNi3w8GADlP\n2g2MsqHC4zyTDtQTtXVd8DHqrkqlYkeIdXd3Gw2isqdsdT3z+65cuYKtrS3zih41DkUvtOI9qZy4\n0dyAWit+VwMIwH7ATINqGjhqhY508ygfqYhNX6v8I11NBpXU1dXf7n1z8Nh3RW9HHYqm1F3l9wEw\n3pD3QrkrjcPBoAU3PM+EojEjwtB7ZMBGAzGUpQYdSQPpvCinT6OpOcd8jX6Gi8S4qNmspF18ucvl\nc7PymgcHB5safJNe4FrhPbD4h+lHVNShUMjWvyo+fjflp2tZP69ardo10bArquM64GNUENreUQ2h\nyliDdJRvMplsimkcZbCbWbXayA5JpVIolxsHc+ZyOUxNTdlzLFlmqlytVrPGNeR3uaZJBSUSCZO1\nGn6uV84jPWSlZyh/ZmqoF+fmj3N90DDoKeMsjuHrlBtWneH3+zExMdHEYT9qHFrp6v9UWOT96J7p\nzagyUaWgSldTlnTBuXys+1lcSHwvJ4DQntegioobSdN2VOm6Ct5V9krm011ph9JV+aismVMLwKLs\nupnc7+ZC4ObVgBgVmaJg5WOB5kg3P0MjtzR0qpz5Q5kWCgWLQKtb5q4LvT5VLLFYDJFIpG18ua4N\nyphGgSh2a2vLlK0Ge3j/dF9ZHMJyTwBWHkwlSFeVikFzpNWromvLz2DVJeWrRlD3ATvv8bOoMAgi\nKOdWewho8LqJRKIt9I0aJ9IjPp8PkUjETgK+fv26XU88Hrd4CueFNA4/S/t80DhRtzCrhc/TeFBe\nXJ/A/knF7EnBQBl5YMpNz7PjaeMawCdII01Fw+watXK5bGcLco89UnaHEbDrSrv0gmp+vl4tsC44\noiUih0AgYMEHtSikFhQhAPvWzQ3UkB/joj9og/Mz1Sq6hkXvQbkgBtPo5rSDYlCuWykPLiKv12uN\nO3hdGkgjonU9CirCUCiEaDRqi5rv1wwOlx9UZchFRuWjhoyGjoqK0VsqNc4Xr829Rz7GOWLaUbtk\nq9kvrkHz+faPuFGDRc5Q4wOUO9Evf3d2dmJiYgLFYtGep7woJ542QUOvHhLXrCpGPq/BM87X2tpa\nk9LlZ1DWui81D5WKgKc9U5EcZTALBoDx30S7BCflcrmpqox0AKkCGncaEH4WdcPZs2ebvBOi0Wq1\naj0eSPEQWHBP8J6pIzjHnBvuB3ppDx48sPXBnGwONZDKvdOgejyNLJfZ2dlD8eWHzl5wkaZyn600\neytFzfcpKe4m6LsoSpG1Km432MWNq9/vUg3q5rr8s/se94fWTlFcq2Db2x1E7IoW9H47OjqsxJKP\nqdHR61AEy9eRYqB1pyLhwlB0RRRAdKyfrak6XLhUCuTvmK+qiM5dB62UoG6KwcHBhzj1dzo4V5qG\nB8CQGOXgGl+Px9PkvVGWlJEalEgkAgBNJaPc1ExbonKhgeRa1/VDD4OyoOEjoiuVStbjgJ3bXIpL\n74N/87vo6Zw8ebJtBo2BWp7qwmo8Gonh4WG7dx3V6v45hwxu6p4iCGPpNQ8/IL2zs7ODZDJpwUX2\n6iVVwblSxK8yJjDzehs5vNvb21hcXDRQQLlynzFQSLkpfabGgIfBHlnpKkpUJMoLIG9Dy64/Kmze\nEDcjUQVvQBeRi47dwI0qYBeJqDXjj+bn6pHKrlJthY71XojMgf1Uq6MOfr+bk8yOa7VaDffv32+K\njFLZKferyoALj5PPZtFKL1DmwH4qHykjWm/OqSISXjPvn72SC4UC1tbWTFkpj6bGU5G9zi2DIaOj\no02ZFkcZ6sYTAdLl5Flm165dayog4Tpkcxqfz2fNcLxer21s5oXyyKhCodAU29Bm2Vr1psCB90kF\noSiZc8BKJ3aJ83g8Zkw0QKdpVepF0JjTkExMTNi9HmUw+MdCGAbEWLq+u7uLf/3Xf20qmycNQ5Ss\naZgENJ2dnfaZfr8foVDICg+4n7u6urC9vW2GVNc+9RI9BO4rfjczTXw+H7LZrKW68fADlilTl6jB\n5JriumCVKjMl2C3vcUbtsUpXFVcrRUSEo0nyStZrYIAbjBufhDU3Bl/Pm6Pi0M/hBm5VYKGBE70O\nVrXQqmn1D1+v36HfqXyw3+9vOk+pHYqB16qTSpmSA1tcXLR7oUvD17n8ugbZqDjZX0Hd6HK5bHyX\n5jRqZF2bO+t3MQDEDmWpVAq5XA6rq6tNxy3pb13E/KGCYSe0arVxJAuv6aiDioGKh2N7e9sONb12\n7ZrNgQbQKAMm0bvUD3lGKrJCoWCRbirgfD5vQR6iNMqAaZb0+BSM6LpdXl7G8vIyCoUCNjc3m+5N\nXWm9dqX36PVoM3pmDRx1kKvVZjbr6+tYX19HoVDAwsICABjfz31PA070qpSJ0ikAMDU1hUwmY9kO\nXLM0RPSWafD8fr/JXPcD1zzplmKxiDt37mBubg5+vx8LCwvGN5Njr1ardmAqDbh6epwvGjW2ndRj\nfVqO+iPGCy+8UAfw5OcRPy+88MKjRPjI8US+T2T7/6N8n8j2aLL11OttIHiejCfjyXgynoxDjfZE\nLJ6MJ+PJeDKejEONJ0r3yXgynown410cT5Tuk/FkPBlPxrs4nijdJ+PJeDKejHdxPFG6T8aT8WQ8\nGe/i+D+GKJmh0iL23gAAAABJRU5ErkJggg==\n", "text": [ "<matplotlib.figure.Figure at 0x107a99d10>" ] } ], "prompt_number": 37 }, { "cell_type": "markdown", "metadata": {}, "source": [ "<p>It looks like with a rank of just 4 (out of 200) we can tell its a person (but not who). At about 10-25 you can make it pretty clearly who it is (assuming you know me) and at 50 there is practically no difference between the reduced image and the full.\n", "\n", "<br><br>\n", "\n", "And why do we bother with this? If you can get away with a low rank approximation where $k$ is way less than $M$, you can end up saving a considerable amount of space for storing, using, or sending data.\n", "\n", "</p>" ] } ], "metadata": {} } ] }