-
-
Save attibalazs/47f400fe033cf62b737e314490d8cde2 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Bayesian Neural Network in PyMC3\n", | |
"(c) 2016 by Thomas Wiecki" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"%matplotlib inline\n", | |
"import pymc3 as pm\n", | |
"import theano.tensor as T\n", | |
"import theano\n", | |
"import sklearn\n", | |
"import numpy as np\n", | |
"import matplotlib.pyplot as plt\n", | |
"import seaborn as sns\n", | |
"\n", | |
"from sklearn import datasets\n", | |
"from sklearn.preprocessing import scale\n", | |
"from sklearn.cross_validation import train_test_split\n", | |
"from sklearn.datasets import make_moons, make_circles, make_classification\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"X, Y = make_moons(noise=0.2, random_state=0, n_samples=1000)\n", | |
"X = scale(X)\n", | |
"X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=.5)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.collections.PathCollection at 0x7fb0bb68cf28>" | |
] | |
}, | |
"execution_count": 3, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\nMRERkYX+H5gH8VRKFl8QAAAAAElFTkSuQmCC\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x7fb0bb68cfd0>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.scatter(X[Y==0, 0], X[Y==0, 1])\n", | |
"plt.scatter(X[Y==1, 0], X[Y==1, 1], color='r')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"# Turn inputs and outputs into shared variables so that we can change them later\n", | |
"\n", | |
"ann_input = theano.shared(X_train)\n", | |
"ann_output = theano.shared(Y_train)\n", | |
"\n", | |
"n_hidden = 5\n", | |
"\n", | |
"# Initialize random weights.\n", | |
"init_1 = np.random.randn(X.shape[1], n_hidden)\n", | |
"init_2 = np.random.randn(n_hidden, n_hidden)\n", | |
"init_out = np.random.randn(n_hidden)\n", | |
" \n", | |
"with pm.Model() as neural_network:\n", | |
" # Weights from input to hidden layer\n", | |
" weights_in_1 = pm.Normal('w_in_1', 0, sd=1, \n", | |
" shape=(X.shape[1], n_hidden), \n", | |
" testval=init_1)\n", | |
" \n", | |
" # Weights from 1st to 2nd layer\n", | |
" weights_1_2 = pm.Normal('w_1_2', 0, sd=1, \n", | |
" shape=(n_hidden, n_hidden), \n", | |
" testval=init_2)\n", | |
" \n", | |
" # Weights from hidden layer to output\n", | |
" weights_2_out = pm.Normal('w_2_out', 0, sd=1, \n", | |
" shape=(n_hidden,), \n", | |
" testval=init_out)\n", | |
" \n", | |
" # Build neural-network\n", | |
" act_1 = T.tanh(T.dot(ann_input, weights_in_1))\n", | |
" act_2 = T.tanh(T.dot(act_1, weights_1_2))\n", | |
" act_out = T.nnet.sigmoid(T.dot(act_2, weights_2_out))\n", | |
" \n", | |
" out = pm.Bernoulli('out', \n", | |
" act_out,\n", | |
" observed=ann_output)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 28, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
" [-----------------100%-----------------] 10000 of 10000 complete in 14.5 sec" | |
] | |
} | |
], | |
"source": [ | |
"with neural_network: \n", | |
" step = pm.Metropolis()\n", | |
" trace = pm.sample(10000, step=step)[5000:]" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Predict on hold-out data" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 29, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"# Replace shared variables with testing set\n", | |
"# (note that using this trick we could be streaming ADVI for big data)\n", | |
"ann_input.set_value(X_test)\n", | |
"ann_output.set_value(Y_test)\n", | |
"\n", | |
"# Creater posterior predictive samples\n", | |
"ppc = pm.sample_ppc(trace, model=neural_network, samples=500)\n", | |
"\n", | |
"pred = ppc['out'].mean(axis=0) > 0.5" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 30, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.text.Text at 0x7f06c15f7898>" | |
] | |
}, | |
"execution_count": 30, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\nQmCC\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x7f06c0b63828>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.scatter(X_test[pred==0, 0], X_test[pred==0, 1])\n", | |
"plt.scatter(X_test[pred==1, 0], X_test[pred==1, 1], color='r')\n", | |
"plt.title('Predicted labels in testing set')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 31, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Accuracy = 95.39999999999999%\n" | |
] | |
} | |
], | |
"source": [ | |
"print('Accuracy = {}%'.format((Y_test == pred).mean() * 100))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Lets look at what the classifier has learned" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 32, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"grid = np.mgrid[-3:3:100j,-3:3:100j]\n", | |
"grid_2d = grid.reshape(2, -1).T\n", | |
"dummy_out = np.ones(grid.shape[1], dtype=np.int8)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 33, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"ann_input.set_value(grid_2d)\n", | |
"ann_output.set_value(dummy_out)\n", | |
"\n", | |
"# Creater posterior predictive samples\n", | |
"ppc = pm.sample_ppc(trace, model=neural_network, samples=500)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Probability of label == 1" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 34, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.text.Text at 0x7f06c15a3198>" | |
] | |
}, | |
"execution_count": 34, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x7f06c1284ba8>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"cmap = sns.diverging_palette(250, 12, s=85, l=25, as_cmap=True)\n", | |
"fig, ax = plt.subplots(figsize=(12, 8))\n", | |
"contour = ax.contourf(*grid, ppc['out'].mean(axis=0).reshape(100, 100), cmap=cmap)\n", | |
"ax.scatter(X_test[pred==0, 0], X_test[pred==0, 1])\n", | |
"ax.scatter(X_test[pred==1, 0], X_test[pred==1, 1], color='r')\n", | |
"cbar = plt.colorbar(contour, ax=ax)\n", | |
"_ = ax.set(xlim=(-3, 3), ylim=(-3, 3));\n", | |
"cbar.ax.set_ylabel('Posterior predictive mean probability of class label = 1')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Uncertainty in predicted value" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 35, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.text.Text at 0x7f06c0a26a58>" | |
] | |
}, | |
"execution_count": 35, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAApoAAAHhCAYAAADOAR5gAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvXmcHWWd7/9uyJ5eQ7YOwQ5g8riAzoiigsyMcq8jjAvo\n+HIYEEYERVyIgxJRhOBF7pgBlEFRLgxcGRnHFR1R+XkVXMidKwgiRvBJE0hDTNIh6e50d/aQ/v1x\nTnVXV9fyVNVT2znf9+vFi5zuU3Wqz6lTz6c+361lbGwMQRAEQRAEQbDNYUUfgCAIgiAIgtCYiNAU\nBEEQBEEQMkGEpiAIgiAIgpAJIjQFQRAEQRCETBChKQiCIAiCIGSCCE1BEARBEAQhE6Yl3VApdRhw\nK6CAQ8BFWuvHbR2YIAiCIAiCEIxSqgW4GXg5sBe4QGv9lOv3K4ELgG31H71fa92rlPoE8FZgOnCz\n1vqOrI4xjaP5FmBMa/064NPAtXYOSRAEQRAEQTDgDGCm1vok4HLgBs/vTwDerbV+Q/2/XqXUXwKv\nrW/zV8BRWR5gYqGptf4+8L76w2XAoI0DEgRBEARBEIx4HXAvgNb618ArPb8/AbhcKfWruosJ8NfA\nOqXU94D/BO7J8gATh84BtNaHlFL/m5qi/lsrRyQIgiAIgiCY0A7sdD0+qJQ6TGt9qP7468CXgGHg\nbqXU3wDzgRcAbwaOoSY2X5TVAaYSmgBa639QSi0EHlRKvVhrvcfvefsG+5ti1uWw7h3/d7taXuCR\nCDZwf542SXNuRB1T1L6T/k1yPgtJcM63vM6frL6zfgzoLbGev7l3IPZrbOjbGf0kD+v+1B97G4Df\nb92YaDtbHL94WextvnDf9S32jyQ+p77kHZlonJ89/p2ov28YaHM9dotMgBu11sMASqkfAX8ObAee\n0FofBNYrpfYqpeZrrbfbPPbxA0q6oVLqHJcNuxd4nlpRkIAsykJxZLHQyvksJKVdLW+482dAb8lF\nZAIc29MR6/lJRWbRJBGZAgBrgdMBlFKvAX7v/EIp1U4tRD6nXjT0BuA39W3eVH/OEmAOsCOrA0zj\naH4XuEMp9Yv6fi7RWu+zc1jVpdEuqM1Ou1puJNz8Pvc8nRW/15ZzURDsEFdUpsFxMN0C89ieDl9n\n06aoLNLNFJGZiruB/66UWlt//B6l1FnAXK31bUqpy4GfUzMEf6a1vhdAKXWKUupBoAW4WGudWdS5\nZWwsn4h2s4TOhcYkTDSaCDqbKRVxBKwtASyiVagKtm/wbIlME0fTKybdYtP7OxGZNSR0Xn5S52gK\nQjNjKsCKEmreRdcJY6YVq4IgmJNEZDo/ixs6rxLiZDYHMhlIEAzwiq088s6CxGCWhUS2thGEIiir\nm5mGJMVAVUBEZvMgjqYgGJKHs2e6UMZ1Jb2v4f1bovYlOZ9CWSnbjdDm3gGWLJ836WdLls9LXAwE\n2YrNoivNhcZHHE2haRjWvaVblGDiuOIem03hZ5pnmvf7V8bPSygHZfw+O2IyjagUhEZDhKbQFJRt\nQTIlbc/MOJjuy/S9TCsEqvqZCZPJ4nMs47nhFZdxxGajhscFASR0LjQhZQoD21gwg/6WsH0HvQem\nIfkyLvRC+XDOE5vfubzOPRv5mX5hdEFoNkRoCk1BWYSllzS5lmEkdULTHouzXxGiQhZU8bwSsTkV\nKQRqLkRoCkKDkWe4PcvXKOvNgWCOzRupMo+WjMJ2zmZVp/8IzYnkaApCwUS1SqpSTmQVHSdBKJqi\nemUWUXEubmbzIY5mAvyaYAuNj/O5J/m8/QSYX2/ONC2LTMgqZO7dV9TryHemebDxWVfZzRQmEJHZ\nnIjQTEBWeXVCc+E3ljLLcysvcSciUkiCzTGtVSNO1XnSsHmVx0wK1UaEZkKa7UIoTJBF1bp7n0n2\nHVWEE7XPOEU8Yc81fR1BcOM9l8rUGaIREJEpFInkaAqFUsamy37YqsbO8jWCXifOgh32XG8uqfPY\n/Z/Q3GQ14lTOreSIyBSKRoSmIJSILPtqptleFnohDPcNY5ybx6her81AlmFzEZlCGRChKRSGeyFp\nlkUlL4JcRlMR4A7ji8gUwgg6n6LOM9PBAFUoBJKRk5MRkSm4EaEpFIY3DNuoxF0s4y6spvuPK+wb\n+TMRssckX9f22NNGpkq9M/NyUo87clEuryOkQ4Sm0NQ4Is39nx9JRXGeC2TcMGTWx1aV/FshHTZS\nNcpwU1OEm2kaNq+SyMwLEZnVQYSm0LSEhfyihGea/dvc1q9a1+9naV8nDSI2Gx+/nrBJ9lGU4Cxr\nyHzdn/or2c4oa0RkVgtpbyQUSlELS5JQdl6V4zaI+/dl0a5JaC6cHrA2HM4qnD9pRWaUmykuptAo\niKMpCIIgWKEMIfAqICIzOeJmVg9xNIWmxMQ1KWrRtPG6cRqwZ0FVXCkhnKKm9TTy+ZOHyMwzbJ5V\nhblXUK77U7+IzIoiQlNoWrxizJbAS7pAJs1rK/vovjIekxBMWO6yrc/S5DvXiGIzTs/MKpCXyAz6\nmVANRGgKTY9tIRRngbT52kGN1ot0NauA9/2pynHbxrRFVpr3p5lHTeYlMvNyM6VXpmCKCE1ByAC/\nRulBv4tD0lnmgj9BbZ/k/Qwm6fvTSO5k3EKgvNoYNXKluVBdpBhIEHLAxjzwvNsUNZIwCELGbcYj\nzTkcd7u8zr+4rY2yEplpaYS8TJAQeSMijqYgFIyJ25lHWNPvtZrB3XPn6jb635qEtO+JOx/TNC+6\nrDc5IjIlZC7ER4SmIBiSRZV6UHP1pFXjtnPokmxnIh7KKOjKeEx5knVhmfvcLIvAjONmlnWeeSOJ\nTHEzGxMRmkJTkGYBjTOlx3ZVbtJti8yhSyuWhWTY6J5QVOP+sp8jSURmXDczSX5mI4lMoXERoSkI\nBZHV4trshRpCtSjq3DN1M8sqMvMgT3EpbmbjIkJTaAps9rfMo/I7qRtYlvCv+zjc/xZB21y4v3em\n36M8SDrb3DZlFZh5IyKzsRGhKQgxsV1wE/VaRfTkTENUE25BqMoNR5ZupojMdALz2J4Oi0ciZIkI\nTUEoGUknBIX9Lq9pRSIki6HMwq1sjnZWIfM44fJmF5lpHUwRmdVChKbQNJRFBIUttkmm+0T9XWkX\nd5Pty/LeCsXgd46UKVSeNSIyzRGR2XxIw3ZByJmgptdJW77k3cjdi4jM4in6M/C+fjM1wi9KZFZx\nCpCNXMxGmxffDIijKQgFYdIovAztYcIc1UYVD1Wk6M/COU+KPo4o5qnuQoqBbIhMaWdUwy02X1/g\ncQhmiKMpCAVTlubVYfi5sGUXFEL+RJ0TjXbO5DnDvIoOppdmTxtoVsTRFCbhFTeNtjBUgTIJTC9y\nPghZYbvBv7QwSkaZnUyhmojQFAIRUSFIyFywjV8qhu3zqSwi0wZ5OJkiLoUsEaEpTEIERLGU2c10\nU4VcPKG8ZHnu2BCZZZ1rXnWkMXtzIkJTECxh0uKlaGyGJ23M1hbKT9qbijjbpz0vG8nJzJPfb92Y\nqatpQ2BKW6PqIkJTEFJSFRfSOxbS1nF7hYSE2xsD9+cYV2x6z4EqOeBlcjOrXgAkAlMAqToXhFSk\n6XEZ97lB/TdNyKOv4bDujezpWRVR3uz4fU5laLVVNapWCGQTG43ZRWQ2BiI0BSEFJmLNZOGNszgn\nEYjiMgpxSHNeNMM5taFvZ0M1DrcdNpdcTMGNCE1BSImp2AxyifJygLJ8HXGxGo80fVPTuO9pmKe6\nM3+NvARmXtXmNkXmcUcuknC5MAXJ0RQEC5jmPNoSZElzLP1y5WzmawqNRVqx6Ld9WGujsp+L4mL6\nY9PBFJHZeIjQFARLlH2RdHAfo7PImxTzCAL4nz9xtwvbX9rvUVYjJkVk+iNhciEKCZ0LgkWyDBd6\nq4Bt79OhqLCnINggjcgMqjhPIjLTFAJlGTa3JTJthcndiJvZmIijKQgVIg+3MclreIWpjDJtXPK6\nmUpCUpFZlpZGVWlnlIWLKSKzcRGhKQiWqUoI3Q8bIjPoZ0I1qUIPzCwFZh5uZl4C04abKSJTiIsI\nTUHIgCqKzaodr5AdVWq4XmWRWRUH00GKfoQkiNAUhIyoithMc4xlFR9CcqpwzkI2uZiNTFo3U9oW\nCUmRYiBB8MFGf8uqLNhJEZHZmGT1uTbD+VLWSUBZzjE3RURm8yKOpiCE4IjFuItko4vMpCR9P4V8\n8ba7svV5SRut/ClDXqaIzOZGHE1B8JBmgo/M8w7G255J3qdqUEaHM4s+mY1IGZxMQRBHU0hM0sbN\nZSZK/AT1nTQVTabPdd7PRhFjYc26G+XcEeJTRB5zVvmZZQ2bF424mYIITUEgH0HnnsLTCAJSRKIQ\nRRb9VPMqAopTcZ5EZGZdcW6zMXtSRGQKIEJTSIEjmKouNvKqunbeqzxnomeNac6ln0Nb9fNGCMZk\n3GSexHUxRWSmJ2uRuWT5vEz3XxWUUi3AzcDLgb3ABVrrp3yedwuwQ2v9SaXUNOCrwDLgIHCh1np9\nVscoOZpCKqouFpIufEnHNFZFQMYlTuqAjLhsbLI8x5O4mSIyk5PUzcxSZC5ZPk9E5mTOAGZqrU8C\nLgdu8D5BKfV+4DjXj04HDtdanwz8D+DaLA9QHE0hN8pWcWxrCo7z80YVkaY0grstxCev815EZjSN\nLDJFXAbyOuBeAK31r5VSr3T/Uin1WuBVwC3Ai+o/Xg9Mq7uhHcD+LA9QhKbQlNgUmYLQjDTajZWI\nzHIiAjOSdsB98h5USh2mtT6klFoMXEXN9XwX0FJ/zihwNPBH4AjgzVkeoITOhaZDRGZ2NJr4EAQv\nzSAys5hnHhcJkRszDLS5Hh+mtT5U//c7qQnJHwGfAM5SSp0LfBS4V2utqOV23qmUmpHVAYqjKeRK\n0YJNhJAgCElp9BZGNgTmhr6dqcPnVRSYBTrKa6k5kt9WSr0G+L3zC631TcBNAEqp8wCltb5TKXUF\nE+HyIWpa8PCsDlAcTSEVcRpvpxWZRTX5LlocVw0R80IZsN0vM6nIrIqbadPFjJOGIKTmbmCfUmot\ncD3wUaXUWUqpC0K2+TxwglLql8BPgcu11nuyOsCGcjSldUq+5CEogqb0eDH5vKsUMve+biOItyx6\nKgpCmamCyMwqTG7D2RSi0VqPAR/w/HhKqyKt9Vdd/95FLWczFxpGaDbCQiyUj6DzKmuRlGUFdx4V\n8lKBLlSJKAeuUUPmNivLbbmYVQybC+E0jNCURS1/8njPTUYxFvHZ+wkp2wIuKzGYtcgMawElCIId\n0rqZttsXiXspBCE5mkIlcIsUd9PvOOLFttBJGsJvZJr97xeyIc3YySiycjOzDps3IuJmNiaJHM36\n+KLbqY0vmgF8Vmv9A4vHJQhTsCFisnAds3A2B4ZGWHVdL32b59PT/RxrLltBV0db9IYZ4yz481T3\nlN+l/Xx2DOzkko89wNN9nSzrGeSm609hXpe4JGUlryEFeTRqrxplczMFIYykofNzgO1a63OVUl3A\no4AITaEURBWd5CE24+CXHrDqul6+/7MPAy08+sQYtNzErde8Iu2hlppLPvYA3/7ee4AWHv7tGC3c\nwddu/5uiD0sokCydTGhON7MMPTKF5iJp6PybwKdd+zhg53AEIT3eMHvUc7I6BtPX8Gvb1Ld5PhND\nHFrqj4vHz8l0SCven+7rxP031x4LZcQ5Z8uWKrG5d6BwN7PMleZpRGYebmbRn52QDYmEptZ6t9Z6\nl1KqDfgW8Cm7hyUI6TARejYXSdvV6T3dzwFj9Udj9CzZnuzAMiBKbCbtd7qsZxD333x0z1CyAxRy\nJUm+dBZkOdfcFHEy0yNis/FIXHWulDoK+C7wRa31N+wdkiDkRx55ZiaV817WXLYCWm6q5Wgu2c6a\nj5fLOTLB+XtNBchN159CC3fwdF8nR/cM8S/Xvy7Lw2tqbPUcLoOrmZUwKWNLo0adZ+5lc++AFAY1\nEC1jY2PRz/KglFoE3A98UGt9v8k2+wb747+QIBREUvGZVeP4qlO0GBEmsNEqLEyo2jq/TfIzk4pM\nEzczrtDMw81MKjTTuplFFQGZiE113jtbIp+UAyvfcGkmGucL911fir8vDUkdzcuBTuDTSqkrqcW7\nTtNa77N2ZIJQIGELbtqFNK9qXUGISxkcSshOZGY1GrHMIXNBKJpEQlNrvRJYaflYBCF3ogSf36Lr\n/lncEGQjCEwRytUm6vMzEZtZitEyiMw4bmZeIrPqbuaS5fOMPjcJmTceDTMZSBDiYkMsJQk1NgJx\nxWaUeImbzylkS6N9HlV2MouqMofkIjNILIqIbE5kMpBQGdJUNPvtx/S5UGsmfs75P+TkU9dy9vn3\nMDC4M/TnfvtoNGyJEPf7Y+PzFaLJ8wZpQG8xcilNn5d1dXmZioCqKDIFwYs4mkLp8VvsklbNJlk4\nh3Uvl3xuvW8z8agm440umuI4m36uZqO/P2Um7xSIsKlSWZGlyGyEfplZiElxLQUvIjSFypNHAUNQ\nM/GwJuONKqJs/l1+YqdRwrVVIKr1lu3PIkhkZj0ByIRmdDI39O20KjZFZAp+SOhcaCqSLpxLu57F\nr5l4UJPxRhWZWWAyyUnIFu9nYLMB+zzVPf5fnmSVlwnZuplpin6ShMttvU9FiMy8zykhGeJoCk1H\nkpDhmstWML19ajNxvybjIjKDCXKfRWAWj43PoKrnflnczKIqy9M6m+JkCmGI0BRKTZr8P5t0dbRx\n86q2Ka8xr6ujqXIyBaEKZNXKCLJzM4sSmQ5JxGaRAlPczOogQlNoSqQXZP4MDI2w6rpeNg1sY1nP\nIDddfwrzuqSytVFI+n0qMj+zDCKzaIEZlzK4lyIyq4UITaHUmFYpS+i1/Ky6rpfv/+zDBFXoC9Ul\nichMIjBtzjUvg8gsEyZuZhlEJtTOHRGb1UGEplAp4vT/E/FZLvo2zyeoQl+oLnmJTJuUQWSmqSy3\nTZVEplA9RGgKDYW3+TfEdzudEG/f5vn0dD/HmstWMDZG5cO+7sW9CDegp/s5Hn1ijJrYnKjQD6LR\nptNUET8RGTSCNWtsuJlJin4aRWQ2WgN2cTWrgwhNoWEIWvTiNgp3h3gffWIMWm4CiAz7DuteX5Ha\n1dGW6u+ygddBKuIiveayFdByE5sGlk6q3PfDe8MgYjN/wr5PacjazQwqBGpWkdloAlOoHiI0hYYh\nqMAn7jQab4i39hhMwr5+IvXWa15h/Dc0Ml0dbXzjW+8q+jAEA8pWKGczN7MobArMvAuByhg2Fzez\nOojQFBoK96STpOMOvSHeniXbYWzMKOwbLFKLZZ7qLiwvLokb6b5p8G6/Y2Anl3zsAZ7u66xsGkOz\nUnRuZiMgIlNEZtUQoSk0JGlmajsh3r7N8+lZsp01H6/vy/Wzz1603FfM+opUXpDuj8mAsAu1Vww4\nz02SFpBFyDtqvryQjrK5mXGwGTa3SZGFP0mbsZdRYIKIzCqSm9BMk2clRQHlxL0gNdJn09XR5gp3\nT4hEv58557XzXgSK1BLgdjXjOEvOc1fe/BT3PngZpmkBac+JoFSIsPnyUYgbGk4ZRWYjhM1tkZeb\nKSJTsEnpHU0pCignZVyQ3HgFxbUXLcmlKCdIpJaFNCH0TdsWkXdagN/3fVnPIA//1rx63Y24ocWR\nZd/MsElASd1MW4VANtzMPMPlIjIF2+QmNJMKxLBcLaE4wnIhy4BXUBwcsV+UU8a/2yGslZHfBdtE\nBCxdsJV1G83TArI6N/zmy5uSxg1tBrKYmJX0xsZEZMYZNRmHMjVnTysy44TNyyoyhWpTekcTyr2g\nNztl/Wy8gmLTwFLf58VdWMv696bFxOlcfd5iZrYXnxbgnS8fhyA3VELqE9gUm1m5mKYCs+iWRkU3\nZS9bayP3Ta4UhjUPlRCagmCCWyxs7X8cOBO3oGhXJ/tu53Znw6iKyEzaMzNKbB5zwgu59QTnkVla\ngGk0Iq983yA3tJlC6mXOrS7SxYRyOZmQzs2MKzKzdDP9rj8iOquFUqoDOBY4BDyttTb+IorQFBoG\nt1iA17N0ybUsWvRi4/BqmJNTtgU5iKALdlqxmTY/KiiM7vd+Z5kqE+SGNktI3ft+B30uNlzNuOLB\ntsgsesxkWjezbHmZm3sHEolRGze5kp9ZHEqp04BVwEuATcAB4Cil1BPAdVrrH0ftQ4Sm0DBMFgtd\nLFr0Ytb+zN/FjItX/BRVDBXUesjvdzb27/55Fhf7LHICk5CmwKhKlOX9FuxgIzRuKh6zEpl+z3Wu\nQyIwi0Up9b+BrcAHtdZ/8PzupcB7lVJna63PCduPCE2hMkQ5XWFiwbu4mrprfs8p05jJuG2K4vTP\ntI1pcdDA0AhX3LKFp/vM58qnzbFMU2BUZYI+DxtitMghAUW6mVWrMi8jIjBLw6e01n/y+0VdeP6j\nUsq/AMKFCE2hcgQJziCxYBKejbOw5jlm0itqL397B52tc5PvL0BsmggCG66mn9j0umxX3LIldr5k\n2hzLNAVGVSNPV9NUbDZKr8w8w+V5uplCc+IWmXUHcx4TYUO01r/UWm+K2o8ITaESmIhFP7EQtaAm\nacGT55hJr6jdN7qGL1x8TKp9bnj4Sa6+s59N2xaxdMFWVp+3OJV4tYXzOTzdt424+ZLNkmNpkyzd\nTDdFOpsmlKVfZhVdzPGpYSX+fIX0KKW+BLwFeAoYq/94DHiDyfYiNIXK4rh9mwb8Q6ymC2bchTXP\nMZNeUVtrmp6Oq+/sH5/ws27jGLSYi1ebrmZQYUqSfMlmybG0RV4i0wTbbmacsHlVRWbZ3EwRnA3P\nGwGltd6TZGMRmkIl8BMmV9yyZdzt84ZLs1ww8xwz6RW1xx47DKRzH70TfmyI17gEfT7DujdRvmSz\n5ljapOwiM8u2RmloRifTiwjMhucpXCHzuIjQFCpHVIg16wWzq6ONz31s+Xju5GVr1icuCAqrIgd/\nUdvV0Zbqwu6d8LN0YT9gHo7PuiJ02rZtsfMlmynHsipEnaO2RWbR7YzyZEPfzlSupi03M+ozzqpb\nhZA7A8DjSqn/C+x1fqi1Pt9kYxGaQqHE6ZnofY5fuDQvV8ZGQZDfRdq5ME8uAhrjG5/voqtjIjwf\nlvc2OLorNAdz9XmLoWVN7fcL+1l9bjJHJUokp6Gso02zpMhRuza+N3FufmyGy4ue/iMITcC99f8S\nIUJTKIy0i5s3XPrZi/K7c05bEBS2KA/oLaz6ty2RQjZIbEblYHa2znU9TldY5D1u22ITqtMs3xZ5\ni+y8G7PHJcjNTCIwQUSmVJoLcdFaf1UpdRzwV9R048+11o+abn9YVgcmCFGkXUydcOnan53M127/\nm9DQ9cDQCBde8QhvPP8ZLvzUwwzuHEn12j3dz+EuvqsVBJkTJsjmqW4jITugtzA4uouVNz/F367e\nxcovbWBodJf1HMx5qtt4ukcQad5/aTCeHc323jbK9B+TsLmfoBSRKSRBKfVu4PvA0UAP8F2llFHY\nHMTRFHLEr6m2zROwXS1n468f8W2mbrv3pY2CIG+lpluoRVW2O9v4uZdLF4ylysGMOl7365uSZ+/R\nqpOXm2lLZJa9fVFWlFlkOhQtLCU/s2G4FDhRa70DQCn1WeDnwO0mG4vQFHLD21T71w9ey4O/emes\nCS5RuCvR3YLGdu/Lro42l1CKbm0UNk3I72K85rIV7BudyKO8/MxFvou5n3t528eYkoMZlbcZeuw+\nIfG47UzSvv/NmLOZJc3mZEK5pv/kITKTzia3hYjMhuJwR2QCaK23K6UOmW4sQlPIDW9T7U2bj+cj\nlz5gtVrY+xqOoEnS+zLpmEo/4jp6Y1tHuercRePicPVX/cWht4J8+/BTXHDdMSxdMMZtH4PO1pqT\nufLmpxL3zvTDLZwXtz7D6vMWE7akRb3/JtNqmkFs5vH3ZSEym8nVrGLPzLzxikz3uSECtJL8Tin1\nBeBf64/fC/zOdGMRmkJueKvEYZf1CS7e13AETdxQd9CC7/55nAU7iaNn0ljdXUG+ffgptg58lK0D\nXVOenzZv0+tquoUzjDGz/SZuPSF4e5P3P8/RiGWkqiLTIQuxaasQqAyN2fMeL1kUIiQbkguBq6mF\nyg8D7gMuNt1YhKaQCzsGdrJ//x6mT7+KAwdeCewC3sTRPXdbfR2nEv1JPWuSoIkb6o6qeM5jmpCJ\nOBxz/Xv33iOBLt/np+2dCZNzSeMKZ5P3P+o9bXQ3M2uyFvFldTTLUGVuKjJtCsy8w+ZRBY7SU7O6\n1CcCXZZ0exGaQi5c8rEH+MGPPgjsBH5EV+deTv2ru61PcHEq0WuLavqxkLbCtXEd1Xmqm6ULHogU\nh27XE+6iJj2nPt9W70yoCQoT4RyWl+qlmZ3MPKiiyLThZhadl5mXi1mFoh8RmdVDKfWI1voV9XxM\nt6/RAoxprQ832Y8ITSEXJnInO4G/55ijv8vXbj/Z97nuRTGJyLO9qHrFZpL9x3VUYao4vPEzL5sy\nFWjC9RwC9nBYy7W0zp7Pq160ndXnHjn+PNu9My9/e0ekcLZZaS5uZnLKKDKXLJ8X2rS9rOMm45CH\nyKyCwBSqi9b6FfX/T2mFqZSaabofEZpCLvhN8TEhywKQOOIx6jhM3bs4Lp8jDmsX8xeO/9ydCzcR\nEv8x8F4OjbUwvHuM6dPWGFeVJ6GzdS6fe/fc+rH5C2dblf7O++7XHstmx4KkeM+dMoniRnOKi3Az\ny+hkisAU8kQp9V9a69e6Hh8G/AY43mR7EZpCLnin+CQNmWclNkyrnoMIcu+8wnL/gT38+FerpjzP\njdch8lZsuh87rucvHl3Anv32mrSbEpZ3lSQv1Y1XsHnbY7VwRynmmzvH2QxV8V6ShsyTuJkiMsuB\niMzmQSl1H7VpQHjaGR0E/tN0PyI0hVxwciejiBJ7JmLDtHo5qTDwcyWD3DuvAO1s+yfX83byiwd3\n8cbznxnfz9jW0fDX9izsjuu58ksbuPch+03aTQgSmzaa2rvxtq6y3bEgLc0mMpOSZM550nGTedPI\n4XIRmM2H1voNAEqpG7XWlyTdjwhNoVKYio24YtP93Kjwtp972dM9VnfvasVOGzft5sJPPcyGZ+dM\nOl6Yz0Ru4Yu2AAAgAElEQVTBzo8YGvkEjz5R28++0eS9LW0U+6Rp6u5m8vs3xjc+30VXR7zCLD/R\nljT9ohExnQNftpZRUSLTz80sqpVRllTNyRSR2fSsUkqdCbRSuwAfDhyttb7SZGMRmkKlyENsRBWx\n+LmXX1k9nYfWfYat26dx6NAnGRpp4fv3jbFk4WdwV4K/9s+HmTG95vJt3LSboRE74e6oYh8TEWnS\ntzMId+ujrMZNlj39Ii/cwrHIcH3csHkSkRmXoqvMGw0RmEKd7wBzqBUL/Ar4C+C/TDcWoSlUCrfY\nWNK9hf37p3PyqWtTCQav4xNVxOKXe/g//xds3nYlcM+kbY/oPIZXHe8OH79k3B298FMP8/378gl3\nm4hIb9/Op59NVrxje9yng1/6RRLRWNZczyphW2Q2AkX0ykyDn4iUCT5CAApYDtxIrWn7x4Bvm24s\nQlMoFd5Qn9etcYuNc87/YaBgiBMu9L7GsUqHFrH45R6+66OD9eeP4HYwjzlqMLCtkXs/i9ueTdXb\nMgqT5u/epu5HH7UdaDd+DWdhSlsENDA0woXv/AabBpZGikevaPz1g9eyaNGLQ7cre66nTbIIm2ch\nMsvWzqiMbqZfbmaaeeZlbbAvlJJ+rfWYUuqPwMu01ndKeyOh0piGAr2C4Uk9y8rCGjRdyMGvJ2ZP\n9/q6uDod+Dqdbbv5yxN3hxbAuPczoKenOmYnNL5xSxtDo1vpaltGz6Jt4yFyk8lAafI83e5H2iIg\nd+g9ynH0ngObNh/Pps1vDd2uyrmecc7vqohMWxSZmxl3fnkciir+kUk+1UAp1QLcDLwc2AtcoLV+\nyud5twA7tNafNN3GxR+UUjcBXwbuUkotAYwXLRGaQmkJC4sO616Wdj3Lwy73cOOmPi78VHhvSi9+\notbtmpou1n7iyvQYIP2c6InQ+H8AH2DrYAtPPDPG3tFruPLtC7nolJnsHb2GLUNL6O7czEWva/UV\nAUmaunsXoyTN6d14Q+/eGwj3Z+YVjbXRprXtgpxKW7meNkk7pCAPmsUBy9LNjBs2DxOZzZCOIBhx\nBjBTa32SUurVwA31n42jlHo/cBzwC9NtPHwAOElr/bhS6krgvwF/b3qAuQnNZuwxJ6QjKJfOWZQd\ncfeLB+cwNDKHoZEP8P37OqwVn4B51W5acZV2EZ8IjTtFgQAtbBlaAhykffYcrnz7HGrtzxYG7idu\nKC4LxyMq9O7+PK69aAkHR2oCf/vOp9m0+eL6b4KdStNWW3nhPb9sXCtN5sbHcTyTnJ+mQigsbG5a\ncV5k38wsyMLFTHIzWxZX0/t9KFMnhRLwOuBeAK31r5VSr3T/Uin1WuBVwC3Ai0y2cW37Cq31I8DJ\n9cd/Qa21yncA45M0N6EpIlOIS1QunSPu3nj+Mzz6xMTNlWnxick5WZUL2kRofHKOaHfnZsKEpR+m\nYnNwdBcrL1nLpm2LOPaYnbGc5DDihN7dAn9wZxef+srdpXIqTUjbgiiJMC3Led0IIjPLsHkYSW4I\n44rNMopM98/Kch4XTDs18edwUCl1mNb6kFJqMXAVNbfyXSbbePZ9EfA+4Gqf1x0D3mBygBI6F0pL\nUC6dd3Rk3OKTqLvjLC9iWYUfnfzK3o1zGN7zaTrm9LB03lZWntYKwM7de7jx3pHx0PnK01ppnz0n\ncH8mYtNbyR7UBzTuYpXUHe7qaONrt9txsvPGLTazdjOTEFeg5FUAVCWRWUS1ud93z/lZ1OdZBpEZ\nRZkMrKJuOIBhwH2H7xaM7wSOAH4EdAOz6wU9O0O2GUdr/b76Pz+qtX406QGK0BRKy+RWRtvZt3//\nlFZG7Wo5X751IdMvdefcvQm2bQOiL0R+i3KVBKa7P+b82fu5/pwZtM8+CjiE28m88d4Rfv7EFUAL\nessYcE09lB5MlNg0qWSHdOG3uKK/yik6Jscd5H7m8XenzSN2EyUyTdzMKonMuKSpJofg1kXun1dB\nSApGrAXeDHxbKfUa4PfOL7TWNwE3ASilzgNUvWL87UHbBHCrUmoWcBdwl9b62TgH2LRC05Z7IGTH\n1FZGF+JXieybc2fQTzOPsEvWBRRuV7EWyfAXkLVczam5m1EEOVNLls8zqmQPwz1BqPuIZ+Cw6Wx5\nrnt8GlPPiRPupNfFFuzjbrqfhiRzzN00osjM2s2M+sycz7bInMuyTalqIO4G/rtSam398XuUUmcB\nc7XWt5luE/YCWutXKaWWA38H/EgptQP4N631v5ocYNMKTYcqOyDNhO3eh0kveFHjKfPG6yoGCcju\nzs11JzN57qabzb0Dsdoh+S1wkyYI8e/AWTjThKa338HXTkx8eEJMbN0Qpa2ErsJM8zKJzKq4ks4a\nm0RsyhodjtZ6jFpVuJv1Ps/7asQ2Ua/Tq5S6AdgAXAp8AhChGYZzwssJXH78Whktnbcp8edncqEL\nEpRZjVdMyvzZz2JS/FPL1bxmUo5mFFF5nVFjL714xebkNkZtuAXzk3qW7z5MqqkbmawcIRPBkrU7\nX4XinzKJzDgULUida7U4mtWkHmo/C3g1tfF3H9Za/1/T7ZtWaELjL0ppKXomtPuiFFSJbNJ/0P13\nLO161siFDBKUfuMV04SjTGaQh2EqIE3bG7mJyutMkkfmFvDbdqwHBoEuavns3oKuyTS7yCyKKIHZ\nLG2M8hSZpt+rsrQfMiGLzgrDupcFrymsCKeZOBu4E/h7rfWBuBs3tdAUwiliJnTQxcikEjko73bS\n34GZCxk0r9tb4b647VngmMT5bSYzyMNIIiBNSZrXGcbKqx6blFO6ZOFnWHjEcrrnPwstN9RyNH1a\nGokTUgxBIrOIZuEiMv2pkthMg1tsyvUgX7TW71BKnQy8Vyl1B/BqrfUvTbevhNAMOqnEwciWPGdC\nb/z1I6G5j3FyI73nSy0MO1U0hhHUMilqPrn7oj8wNMLKm58KdStNK7f9yHqxN8nr9LqaUQ6t9+9d\neMRyfnL7C5h881D7t+NEP6lnRX7mci2wT16TgMpc/JN3qDzN3PKsxWYZQt9Fv36zopS6hFovziOB\nbwG3KKX+VWt9ncn2lRCabmRByY88Z0JfccuW0NzHJLmRzrnS0/1wrD6bEByqN5lP7lz0V13XG+lW\nJqncfuJ3f4rVEzMppmF5t9iMcmi9f2/YZ3Hx++81+szlmmC/96ttkRkUNi9z8U9V8zGzQkReU/MP\n1PIzf6213qGUehXwINA4QlMWkmLIcya01z3dNLB00ue+aWAbcV1JJ9Ty5VtPG++zuXTeptBJMw42\nRkpu2NBOlFsZp3LbcTCT9MRMQpywvCM2oxza1ectZma72dSfoPSFScfYZNeGsL+3rEKgLCKzTDPM\n/Ug7drIZQugSOi+M57XW+5VSzuO9wPOmG1dCaArFkOdM6Cj31Pt7E1fSwe/vyONCZeJWmlRue0Pk\naXMngxb+tIvl5t4Bli4YDP2bO1vncus1L6w/Cv/84k58ajRMCt2ywKabaWP6jw2yDJmXQWQ2G2UI\n4zcZv1BKXQfMVUqdQW0s5c9MNxahKZSCKPd06u/fRHtXh+/Fxp3PeazSvtXyNu6MoyalxHEr/QjK\nwUzaEzNq0d/QtzP1onnRKTNT/c1uomaeN7Kb6T0v82rFlpfIzMvNzLrwR0RmcYjYzJWPAxcCvwPO\npTbS8iumG7eMjY1ldFyT2TfYn88LCU2J+4Jz4RWPjOf2wRhvO/UmvvGtd0Vul4QsCyaChObwnt18\n4cejxjmacV2lrAsabIT3mklkugn6u/POzUw7yzyO0ExaCFR2kZmVwMwzfJ53KNvv/J/ZtajF56m5\nc9u712SicS74t8sK+/uUUqEhJK31Myb7EUdTaDj8cvsaqTWGae5k0rBlWmczqr9m2lyyZhWZNrdJ\nQxGtjeJSZpGZpYOZd46mjXNPnMlS8wtqDY5nAYuAp6jlZr6Q2oQgFbzpBIdldXSCUBQ93c9R+24M\nAf/Oxk27ufBTD9P34CNNcUHb0LczdW5c1rl1Np3gHQM7Oef8H3LyqWs5+/x7GBiMf+zDurfwc8Pk\n9f1C6rYw+UxsNGePg622RlHErTBPSpYuZhULgeLcNDbyDWZZ0VofrbU+Bvgl8Fda6+Va6xcBrwUe\nM92POJpCYXgXSVsXEie37xcP7mJo5BMMjbTw/fvsjIt0538ubn0m9iSfOCxZPi+We2RbHDr7y6pt\nS9Im915sDhYoaixtHMFoe5yfzXB5GShrr8xGCJVnhbiapefFWutfOQ+01g8ppV5kurEITaHyeC9Q\nTmuiN57/DI8+Ea8lUhTufp4Qf5KPLbxzyN923CFaZ87O5LWShNLjjKeME0r3E4He1li9G1o55/wf\nsv7J6QwMPMMR85fzwmNGjEeo5i02iwqXx3GVi7jhycPNbAQns6p4v2NhYlPczMLZpJT6DPANapHw\nc4D1phunEppKqVcD/6S1fn2a/QjVIOsF2HS2uunEmCza43jzP3/ym/mcePF6XrliP9decLRVdzNs\ncff20hzdfRXvP6X2u9G9e7nroYNsHzmSI9o2cc6J0yJFaNQ2NirS0+A4yU/3Pz1FPHpbX+3Y0cvv\nfv9J4D+AT7Jpcwu/e8zc6ZRFLTkmIjPLSUBx3MwkIjPJdyALkVllgengt574iU35PpaCc4DPULuo\njgH/h1oTdyMSC02l1MeBdwOjSfchVAfny5+l2JwIge7k4d/+iPt+/gBv+KuxKYLTdGJMVHucJEyI\n153Ajzh06HCGdy/jvkd3s/rO/kTupltQTnYqtwVWlHt7aW4fObJ+THDXQwf5Td/VQAsbB8ZoYUKE\nBmGyTdah9DAmnOSp4tHb+mr9ky9g0+YWoJW8RqgK9kRmUrJsyA7lEJmNIDDdRIlNEZnlQGs9CHw4\n6fZpHM0ngTOBf0uxD6GJ8V5Qnu5zpv/8GDiLwaEWvvO9CSdqWPcyMDTCLx7cBdwDjACnB4bE0073\n8cMRrz+4f4RDhz7JeAid62PNKQd/x9J06o+3l+b8tj9RE1bURae/CA0izjZFuJsTTvJU8ehtyH/2\n+ffw2LoxaueH2QhV51yUhS0ZNkVmXgVAbmbu3cVJD32P9pEBhtu6WHvimeyfORGdKMN4yUYTmQ5B\nYlNoHBJXnWut7ybOOBIDylD5KUST1We0rGeQmjCYLCae1LPGX3PVdb0MjXwCeAtwFvCjekh8Mlld\nqBzx2j534aRjhPn1KThmBIXF/af+TOVtxx3ilT1XsWzeLbyy5yrOPvHw8d8d0baJ2vsIEyI0nIlt\napX620YP8ZVfjTC6b4/v8/Oe+DLRScARjxAkHm+6/hT+9ow7eNlxz7N0ybW8/GXf5G/PuIPPXtQ9\nfo3xO4ebaXHLe/pP1iIzrZt50kPf49i+x1gwsIlj+37PyQ9+b/x3ZSj+aVSR6SDrfmNTmmIg94lW\nRmehjMfUCLjfUycE+tOfb2do6M345VZ6cyQ723ZbCYnH5bV/vpMf/3LCLVs8/ylWn2sWNg/LvYya\n+uMs6q0zZ9dD2ztxnEyHc06cRgtXsX3kSOa3/WmSCA3C2ebxzdPZfeAKdu9v4eG+8LB7VCg9TkFQ\nFGsuW8H09jvqBT7XcsT85Sw/ZnTKBCmYOnI0aBFL8502zSduBNJWm5ddZAK0jwz4PhaRmR+yxjYu\nNoSmla717mbaZTvZ5G4rn9CiIxAGBnfykUvvqBX7eHIrvQU+f3nibt9CoKw/sy988qXMmO7O/3wt\nXR1tgU7R4Ogurr6zvzaaccEgF50y0zf3cuVprcA1k6b+OJi6iGEiNGzRP/kY2D6ygo0D8cLuYaF0\nE7FpspD2nPgKvnbi1J87PTSdwrAv33pa4LhRBxv5XzZbKlWdY3s6SjPT3BRvIdBwWxcLBja5HpsJ\nRRkfaY+yrfsCKKUOMRFCAjgAHAJmAsNa6y6T/dgQmlbHLpX5ZCujCM6TvP72eV0d3LxqRf3R5NxK\nvwIfd2/LsCp0mwTlfwbNP7/6zn7uffAyoIV1G8fYO+qfe+k39cfGIm7qKk07fAPuvEZ37mcYSfI2\nB0d38U93D9O3+UDiz80t+B59YgzeFzxu1MHGeextqdSohUZldzPjElRpvvbEM4GWeo7mPNaeeEYu\nxyOYIwVC+aO1PgxAKfVlYC1wl9Z6TCn1DuBNpvtJJTS11n3ASWn2UXYa2c10/21l+vKGved+As89\n2zysCj0v/MRmrVDIm3sZnuKcVmAmqfA9dcVuWljF8N4e2mf1cfaJ5u2aHLHp7fG58rTdvOhlS6c8\n/5/uHjb63MLOzSf1LLzjRvPA21IprNCoUXF/zq0zRozaaPlRtMgE2D9zLvefcnas/ZXBzUw7zrWK\nNLvhUxCv1lp/wHmgtf6OUurTphuXJkezKjTKSV5WAZ3kuPxmm6dhQ98W3vGRxxkc7qGrfSN3f/Gl\nHH1U8ov54Ogutu98CvhPat3ATuPoo7YDwS5YEpFpo3XMrBkzOf2456mNtIWN24c57khz8bChbyd3\nPbxvSuX8V142+XnzVDd9mw8Q9bmFfdeGda9vr9Q8vqPelkp+uaJVJ8rNdHdIgKn5vFn2y3Qwzc+0\n3TOzLCLT/f+iBGceU338Rq82wjpcIXYppd4DfJNaEfm7gR2mG4vQjMD7JZKT2x8bxRFJL1ZhjdmT\nhNXf8ZHH2bztSqCFPXvHOPNDn+HR709cxONW7F59Zz9bB68eP77F867iotcZpbYYY6s/4Z79+7h/\n/RyG9/bQNquPU1fsHt+36WLtVznvzdUc0FuMGuoHLSjOuZJFr1QTvAVHachz/J7NavOwXq6CHcLE\noztyUqSrWVbTQrDKOcAXgX+hlqP5U2pi0wgRmgY0ori03RS3yOKIMLHhHhlpGlYfHO7BvYAODvek\nWqC9YfOOmT20z07fGcw9zWfa4ds5dcVuZs2YmWqf96+fQ+9znwNa6B8Zo4VVdYezJmZNxGbrjI24\n8zy9lfMOl7+9w0gkht3o+aVSJD2fi3RJshabcc/fKDdzQ99OWmdM7lPqzuctk5uZhDL0zTShLGFz\n9/cmyXkc9b2TJu6Fc6HW+i1JNxah2cTYXNzSFkekOY6wxuxJwupd7RvZs3diAe2Y8xRwfOLjW7pg\nK+s2RguvuLin+dRClxOiMCnDeyeL7Nrjp8Z/byI2zzlxGm1zplbOb+4dYHb3TFf1/VZWn7eYY054\nAaYN9bMQY1H7zKuVUVZi06aLCRNpHUFttPIQmVmSp8h0hKLfZ1QWEWmC+yYt7nlsKhxFYBbKW5RS\nn9ZaJyr+FqHZ5JjeiUZ9yctaHBF33vmA3sId/7iQ89Zcxc7RZXS0buSrly2O/bpuR+iiU2ayd9S/\nZZEfpvmZ3mk+T+9YwQ/XrU/lbLbN6qN/ZOL9ap/VN+U5UWKzdeZszj4Bju2ZqJx3uPxLz47n9a3b\nOAYta/hCfT68jYU17mJkkvuVp1tvW2wmEZlBbqb3vAxroxWH/QcPsn7rUvYcOJbZ0zewYvGzzJg2\nPXSbrNzMIkSm+99lCIXbwPQ8FvFYGXYAf1RKPQKMT/HQWp9vsrEITcGIqLBFmuKILEOGcXL4nIt8\nz+IF/PyGBfWfxncyvQu1X8siGxzRtomNAxOi8OChuTz53OdSOZveqvM3rNhNrWXaZEycTb+WR5sG\nFjPJYd66YMp2Sclq0WqWVkaQTzsjr5u5futSto18EWhhZO8Y8CGOW7o1cPtGE5kmP68C3pu0KLEZ\nVegnIrRUfDXNxiI0hXHcTfPdjx2c0X1+F4CkxRG2RaZf8Y/pvPOgHpgmmDZkt8k5J05jePcqnt6x\ngoOH5gKn4RfujoO36txPZDokEZs7d2/Endc3OLoRR8ynbdWSZHEyKfZL6tbHDblb/y5YDplHkbQg\nbc+BY3EL+dpjf6GZRGRGnaNVycesImFi0/t99YsuOPsQikVr/VWl1DxgLrUv6+HA0abbi9AUphBW\n5ev8O+6X37voXnvRkkyaqicp/rGBaUP2KOK0Ndq4fZjTj4MfrlvPk/UCnqBwd1aYFgg5tM9ezHMj\n/0Et1DpK59zJaQlFhA6jzuWkbn2ckHsZKnfTupkm+OVmzp6+oe5k1s7f2dM3WHmtrARm2tZGVXYt\nbWNy3ou7WTxKqWuBDwLTge3AkcBvgFebbC9CMycarUVS3LtN76J7cCQbARhV/JPVFKEkDdnT4HaP\nTMPdWR5L2KLudjWPOmKIDds+hCMqlnWvAaaGz/NqRG3iOiZ1601D7kUXANkQmGkKgFYsfhb40KQc\nzdp6Npm2g/s4d909HLF3JztmdfCtFaeyZ8bUHq/iYBZHVqJQxGbhnAUcBdwIXEMtPHip6cYiNAvA\nb2Gp6pfI9ALgXXTjNFWPIw6jin+ycjxtVJabupneRT1OuDsrTJ1N9yz3o4/azupzg7fxE5tR50Lc\nBcl7A/TrB69l0aIXW6kuNwm5F+1kmorMLGeZz5g2vZ6T6YTL/QuBrhzq5RXPrQegZ6T2HbjzuDcb\nv05eAtN9znoFv7iZyRGxWShbtNbDSql1wMu11t9VSq0x3ViEppAK0y++d9ENa6r+5VtPY15Xx/gi\nHEccRhX/2J4i5LD6vMXQsqaWo7mwn4tel7wKNwhbTdmLZHJhVCedreYjLsHsXPAuSGGupfcGaNPm\n49m0+a1WqsubYXoQ5NfO6Ii9O0MfQ7CbWZSLGda+qFFxf/9s3kiJyCyUnUqpdwMPAx9WSm0GjKeO\niNDMiap/SdI2zPUuup+9KLip+vRLJy/wccRhWE9NiHY8kxYEdbbO5QsXH1N/dEzscGSQY1QlcRk3\nXzMJSW4UwnIlvTdAsGt832mry+d1dXDzqhUAtKuTU+0rK5Ysn2fUnD2IvETm8YuXsWP7unEnE2DH\nrMniMetzD5LnZzajk2kqMsMKgqq+bjYQ7wXO0lr/m1LqLcAtwBWmG4vQbGLi5o2m+dL75bk5r+8V\nD94FPm4vzCAGhkbYf/AgnW3/CjzHa/+shTUff/nUY01RfZ4Ev4XchsBMs8BnOXUliqe3Psd71mxl\n5+gyujr/MGnWvOm54HZVwnIl3TdA/f1PsGnzxfXfpO8Fm7aALik2z90sQ+YmuM/Db604FWBSjmae\nmIrMvPKLy0wSken3WCgHWuvNwPX1fxvnZjpUVmhK64Pk+F0Eish/cVxSr3hwFnjn97bmWa+6rpcf\n//Ifx19nxoybAnM904rNtE5RWtK6SO7t44jOuK6mdwY6wHvWbGXrQG3i0Z5tk2fNxzkXnHPaL1dy\ncjh9jB98+zjgOD5y6d1WQt1l+Y5lSdZupve82zNjdmBOZpZuZhIXU8RmOI30PWhklFKHqIV6HA5Q\nm3U+ExjWWhuFzyspNItyChqZgaERLj7/h5mP2fPSrpbz5VsXMv3SqblszuccFQ43JW7Y1VRsJqna\njROO3LN/H/evn8Pw3h7aZvVFTv6xPd7v91s35upw7hxdhnfWvEOSc8EvV/Ijl04Np9+8aoWViT9h\nbk5W+WtZkPZGKC9H3URk+g0PiCJtGyPBH1mvq4PW+jAApdSXgbXAXVrrMaXUO4A3me6nkkLTfaGW\nkzY+fk103XmSWY/ZczOse5kG47lssBC2bWN42zbrrxUnBJ9l6DzuAn7/+jn01vtk9o/YmWkeF0c0\nmAgAP1czzkLfPvdp9uyf+Jy62vuAF8Y6Xjd+aRvecPof/zCdC694hL7Nz3Cs2pPpjVaZrlum4ya9\nRLmZZZ5lLhRHmvNeopiF8mqt9QecB1rr7yilPm26cSWFpoOccMnxivVNA9vIc8yeLTcnTusjk7Br\n0QLTbwGvTfqZ+Gzck3+8bufizj9GzolOQx7u5p2rusdnzXd1PsvdX3xJov20q+WBFefecPrAzqdY\n97MrcQrSkt5omZ7Xac//LEOzZcrLjCKrkLk0ZbeLrNWVZ5dS6j3AN4HDgHdTm39uRKWFppAe5wLg\nXXiXztuUWb9PmyHDOK2PwsKuZc7HbJvVR//IxGfjnvzjdTuH94bPibaBidhMU4HunjU/T6Ur+Aiq\nOHeH05fO28SGZ5aweduEmH9Sz0r1ulnhPk/TTlHyO2dtiMykbmbbwX1cOdTLEZvWhjZkLzt5T7Uq\ncwpG1Hph6lJKulzhnAN8EfgXajmb/4ea2DRChKYATOSxPalnhRZZpP2Sm14UTZ1KG30xs64wT9qI\n3SFs8o/X7QybE+2w/+BB1m9dOmkSS1wXNImzmSRPzo84LnZQxbkTTq+djwu58FMPs653clpF3HM9\n6wU/6Dx1u5um53IakRmWQzzG46xYfCCRqx63IXse7YzikLeL6ZybZc35TfrdERFZPrTWfcBbkm4v\nQlMAvAtv8oIbW5g6lbZaH6Uh6xnRYZN/vG6nyZzo9VuXsm3ki0BLfcZ0Ni5oUK7m/AUzuPHeEbYM\nLaG7czMrT9vNi1621HcffiFi03NjWPcaTecB/7SKvEVmGncqr5GTfjdDble9ZnbEP5+OX7yMIzat\nnfQzv4bsDmWrMi8iVF42YekmqVgUkVlOlFJ/TW305Dwm7tzRWh8TuJELEZrCJKIWu6gLgcnsaBNM\nnUpbrY+SkrXIjGJx5x8Z3hs9J9pNzfWM54L6kTRf88Z7R/j5E1cALegtY8A1fOVl/s8dHN3Fqise\nmeRexnGxo6bzOOe7N62iTE6mg43+rrZFJiRz1f3YMasjtCF7UuK46FJpnpy0IjFsexGghXMT8I/A\nOia3OzJChKYwBb8vteliGjaFJQ6mTmXa1kdpFm6bIjNug3YnD850TrSb2dM31J1Mcxc0KV5Xc3Tv\nXh58sgW4BxgBTmfL0JLA7a++s597H7wMt3vZ0z1m7GJP27aNm1etiFzETM5vv5uoaZ7uCHHC+l6y\nFqxh52uaKvMkrrob52bFtCG7qZspAtMuWYg957snQrL0bNda35N049IJTWlhkB9x8mJMP4+wKSxx\nKNqpjMJUZNqu4LXRNqbmesZzQcOOJ46reddDB9l9oNaMvXZj/HW6Ozezufeg72K/adsivO7lNz7f\nFd4EwlIAACAASURBVPvcCDvXdwzs5GKXa/rlW0/z3Yf3JurgyNSQfZzitCQkdTWzcDIdTl2xO7ar\n7kdYQ3YHE5Ep/TLtkNcaLGt9JfiVUuoG4F5gr/NDrfUvTTYuldCUyrLisPV+h+XExXFsbDVpzwLb\n4XJTN9NWb8IkLmgYUWLT7WpuHzkSt3BsmzXMytNaA7ddumAr6zZOdi+7Ol6Q6tzw3sxe8rEHJonD\n6Zf6u/Demyi/kL2N4rSq0TuwheOWgq3zKQ1JReZhoyMsuvM2pm/r58CChfSfdyGHWs2c6EZE1l7B\nw4n1//+562djwBtMNi6V0JSTuzhsvfdBOXFlTFyP6wzFFZhJ+2ZWEVNn84i2TWwcmBCOJxz9HO2z\nFwL+4yhXn7cYWtawadsili7sZ83HA5I5U2DqwntvovxC9mmL06JC71l3SPCSdWN2mz0z0ziZi+68\njfYH/wuA2RufgpYWtlz80Vj7axRkHRa8aK1fn2b7UglNIV+yuKB4p7AM695MpvykpQwtjeKIzCpM\nWgkTm46rec6J02jhKraPHMmyRdumuJlesdnZOpcvXOwUNh7D2NZRMMx5jCJsFrr7OQAHFizkwP7n\n6eq8gzG2c8pJc/jyTW8Cz7mdNuUj69C7H0nTO6pwTpoyfVt/6OMwyticPU2evSB4UUq9Dvg40Ert\nQnk40KO1XmayvQjNEpImT7Us/cj8LmppCiVsknWOWzOKTIcoZ7N15mzefwqM7u3nrocOsurr7fUW\nR620z55j9Bo2p+IM615fF957/l78/nv5z7oAhDFmzrij1k2hq2PSc9OmfISF3svmZsal7eA+Ltn6\nKN0HdrG7bWGtIbvhtlm6mVC7kZi98amJxwsnv577fLP9ObQMDdF63Q0cvnkLz3d3M3rZpYx1JK+4\nD7rumxS9pe22IG5ow3Ib8DngH6g1bT8NeMR0YxGaJcObp+pg8gX2fvGLynMNupgV4dbYoKiczKpi\nEka/66GD/KavVhTktDi68u01oekXQvdiU2z6ufBevALw6b7O8Sr0J/UsazdOQaH3vLsjZBEyv2Tr\no7x+5E+1B3trrnFU8Q9kLzIB+s+7EFpaajmaCxfRf+4F47/znme2HczW625g1s/uB2D6E3+EFhi5\n5jNTnmdDKNqaJBS0DynmbVj2aK3vUEotAwaBC4GHTTcWoVkBbEziKcMXvwyFEkWHzJO2MWoEwoqC\nai2ODo4/10Rs2iLqhmxgaIRtO9ZTy32fCK+7q9Bt3Tjl3W3Be75meRPUfWDXpMdhDdkd8hCZAIda\n2wrLyTx885bQxw5ZCkRBiGCvUmoeoIHXaK3vU0rNNd34sOyOS0iCe8FrV/Gmk4Q9d1j35nKR2TGw\nkwuveIQ3nv8MF37qYQZ3joz/rqf7OSZ6vTpuzVQ29G3hz972M3pe/yR/9raf8vSz+YYM3cRpY1RV\nkXn84mWJGq+HEXXsR7Rtwn0udHdutvr6UQwMjUw6TwcGJz477/do1XW9bN52CfAfwH+ydMm1/Mv1\nr6vPQ7d74+SE3n9ye62y3nFIbc4zd8hTZB6/eBm72xZO+llYQ/bjjlyUm8gsmue7J3+2zy9J7pim\nuc7bMiNs7EcEcem4AfgG8APgXKXUH4DfmG4sjmYJSfNFjQqNhLk3Nqb6eFvFuF0eU7fmHR95nM3b\nrgRa2LN3jDM/9Bke/X59lrNPnufY1tFMEvKL6pUJ2YtMP2F5/OJlVl/XL4TuVxQ0v+1PrDyta8r2\nWbqaU9I43ncT3/jWu8Z/73yPBoZG+MWDu4AHqAnjv2B+xyjTtm2zPv7UcdvLWFziJuk5Yrshuylp\nzyGbaRp+jF52KbTUnMznl3Qz+vFLU+/TL+3KpnjzW2dsCVVnvyapX8O6lwWvKdfM+wblp8C3tdZj\nSqkTgBWA/zxfH0RoVpigHM6kYjNsqo/JRapdLQ/tNWhaKDE4PHmkXe1xDa9A2De6hi9cfExhi7Sp\nyCy6+MfUsbQtNoNwioJgJ9DKc9sO0N4TsZGHNALAJI2jXS3n4vN/yNDIJ3A3mHcEZdCNU5KiN3dK\nRx7nct5uJthryA5mbmZZHUwHtwD0y8m0hem1Oy7udSYrFzNMbIrrmT1KqaOoXfx+BJymlHIumjuB\nHwMvMtmPCM0GwfuFTCI2g/oJeienBC2cw7p3SquYF6q9U54XRVf7Rva4RiR2tfcBLwSmCoTa5Jga\ng6O7WHnJWraOHFWKHoRJsC3ykoTEbYrNMFezSPzcSJPvRGfb7nFBGXTjFFb0FkeEuoV0nHM3zajJ\nKOKeFzb7ZDpEicyyC0yIZwyUGe/3pSxdTwRrXA28HlgCuKcAHaQ2R9gIEZoNQpZTfcLC4V6uvWjJ\nlFYx7Z4WMFHc/cWXcuaHPsPgcA9d7X3c/cWXjP/OKxCWLuwHan0W/eZijy/wGTRnt+1m2hSZaXMu\nne2zcjf9xOaGvp2x8u5MHL+gsGGQG+kVm0sWP8fDriKg1/75Tro6wm/iw9zSuJ0XbAlMyF9kxiGL\n+eW2yMJZdp9nVROZpscbt+tJ3HB8lQV6VdBanw+glFqltf5c0v2I0Kwwtu8Yg6b6mIzec+jqaOPm\nVW2Rxxbm7Bx9VPd4TqbjZDpMFQgvG99u68iBKcdZBRcziP0HD7J+69JJM6RnTIse72ezsCdMcLr7\nIm6ZPpcvLP4zRqfNtPbaNvEu6mFpHJMWyJYDwNeBNmAExg5EvlZY7mZWnReydDGTYnoelkVkesdQ\n7v8fV6TqZxlFWURSktZ5ptgQm1HPF3LhO0qps4F/B74CvAL4qNb6AZONKyE0y9Sip5GZ19XBzatW\n1B8trE096eowGr3nxRtC8V5AkvbUDBMI3gV+cduzOG6nbWwv3n5Cbv3WpWwb+SLQwsjeMeBD9Rnl\nwdiuHvfbr3Os7r6IL6r3Rbxm6auN95nG1TR1mfxSSpyfR20HsHnLEuDt4z/fsv3fI1/z8vcv4aF1\njiO/kU++/6Xjv7NdQATpRaaJ456Vm5mHyIyaY+6cS21XfJlZrjGUe//5+kxzJ22TVS6jre1N129Z\n5+NRz5u8GXg5sBe4QGv9lOv37wBWAYeAf9da/4tSahpwO7AMmAF8Vmv9g5CXuR24CXgboIB/BK4D\nXmNyjJUQmg5FNSAvmqyq+xzCGk/7TU757EXxXt+kAbYNZ8ftdi5ue5bV5ybLA7TZoD3NIr7nwLG4\n36Pa42ChmZXI9Hud32/dOKUvovexg+kcdFNshDJNnZOlXc9OCp2bCMP/+b+2TOqacO0tN3HrNbVj\ntt0nM+hctXkjVDWR6e1WEDTH3HsemfazzBrbrp6NPsw2aNb1OwfOAGZqrU9SSr2aWiuiMwCUUocB\n1wInALuBx5VSXwPeCmzXWp+rlOoCHqXWuiiIWVrrbymlbgPu0lr/SikVHV6rUymh2Ux4Ww1de9GS\nzMY1RjWe9k5OgfQXoCycHbfbueHh/ay+s59N2xaxdMFWVp+3mM5W4/6yVkjrFM2evqHuZNbeo9nT\nNwQ+Ny+R6X69LZvmjjuZAFumx39/owqD/Focxa02D3JUvO6mN53jy7eelkgYht1E+TnyRaZ3NOKU\nKu/54jfH3O/8eb67uzaZx3mcop9lUpxz0lRsinATgNcB9wJorX+tlHql8wut9SGl1Ivr/19IrXf6\nfuCbwLfqTzsMiMoJer7ujL4Z+LRS6gzgedMDrITQbMYvk3+roWzGNQblYGb5vmc1AWVgaISVVz3G\n//1DJ8O7lgJ/w7qNHdBSa4MUhU03c8/+fdy/fg7De3tom9XHqSt2M2vGRA5jlFO0YvGzwIcm5WjC\n1JvIvEWmw09e9lZ47D8n5WgGYdvVTNLaKKwdGMDF5/9wSm/NW695RezZ5XFuotKKzCXL51kfkeom\nqZtp67O2UWHunWPecqx/H60s+lnGoYzrXFiqid/xhkXf3M3ky/i3Vph2au2GHA4qpQ7TWh+CcbF5\nJvAlapXiu7TWYwBKqTZqgvNTEa/xPuCjwAe11luUUn8HXBCxzTiVEJrNSFCrIS9Jv7ju5/u1JMr6\nQmDaU9ONSWuYlVc9Nl55Xut7+B/AWZPaIAVha8F2XKL718+h97nPAS30j4zRwipOP874JpAZ06bX\nczKdcLlxpCIX9syYzfdfWWtybjO86s3TdLuag6O7uPrOfvq2LmBg9DG65najlh+IPWfcpJVR0nQO\nk5uoMhSpFe1m5tXmyjvHfH+AgBzr6GiInMysXstkrTE9pkYMoxfREaHOMLVqRYdxkemgtb4buFsp\n9VXgXOCr9R6Z3wW+qLX+RtgLaK1/D5zvevx3cQ5QhGZJCWo15MZ99+i9CMQJbQdVm5cFR2D+4sFd\n482zgwqIaoJyQixAK04bpMHRRVydYTjdu3AP753ceL72uOas2BJmRbmZXkx6b6ZxNR2x6W5hBWP0\nD/wHf3z279g3uoY7bzw51j69i12Sojc/3DdRA0NdXPbPUydZZc2xPR2heZpFi0wbmPbL9M4xn2ep\nkrwqk5xsYTvXsxHFZkGspRbS/rZS6jXA751f1B3LHwBv1FrvB3YBThj9/6PmUN6f9QGK0CwpScVf\nki+vXw5mmZioUL+HKMdp6YKtrNs4IRba5zzGScc9zupzF7HaJVLWbRybFE6P42aaTlVpm9VH/4jr\nWGb1sWf/Pr732Bh7Dpwcq2VRGLP37+ad6++bNNpvz4zZqfaZhKSN3uM4W/43Ei1GjrUfG3/9CFfc\nsoWn+zrp7t7NW0+/lWeebrWWzuHXXeFz785emNgQmWUPm5eFrARno/SJTDoSWTDmbuC/K6XW1h+/\nRyl1FjBXa31bvfjnl0qp/cBjwNeAzwOd1PItr6QW/jtNa70viwMUoVlSTMSfSQjDNLcmLnleBCeK\nK0YgogJ49XmLoWVNzbVc2M/qc48cdy29IsURJ1nluJ26YjctrGJ4bw/ts/p4w4rd3P3YWOyWRUE4\nC/o719/HK55bD0DPSE1ERI36c8hbpDqupjd/ddn8PbTODH/dzb0DLF0wOOlGAkaZaNz/wtDt/XAL\nQX47xttOvYmf3P4SXycySTGetzBow4b22PsIw+/ctVFxnofILGI6lE0xaHNfQddk73U8K1GW1Tph\nskaI2ExHPd/yA54fr3f9/jbgNs/vV9b/M0YptQx4KbXCoxdorZ823VaEZoOT5Rc4L7E5UVxxOvB1\nOtt285cn7vZ1nDpb57qKfiYX/3jdzvmzn2Vz78JYxxJnEZ81Y2Y9J9MJl29hz4GTidOyKAj3gn7E\n3snH5H0chp9IfeSv3zv+ez/3K0ycmrqa3vzVm3++isv+OlrgOjcSfVsXMDi6kc65i1nWvSZxK6ug\nCvGkfV69hE2ySksSkZnHTPMoTARmI4yZNKHo3pJRbmPS124EJ1aYQCn1LuAKYA7wWuC/lFIf01p/\nzWR7EZqCEWEVu1lfVJziig0b2lm6sJ8bP/OyRO6S2+2cP/tZVp7Warxt0AIed+GO07IoCO+CvmNW\nx7hIdB6b4hWlRz2/m0dcj487ctGUvzGNg+rgn7860YczqHH75BuJ4+v/XxDrtd0EVYjb6vNqq7er\nl6ycTEjmZpqIzKLn25cll7Is7p3tUZIiLhuaVcBJwC+11tuUUn8O/JRaGD4SEZpCJN4LiM1Qh0l+\nU1dHmyuv7RjGto4ysHXUdxunKtmv4McRKbVF2szJtL14m7YsCsJvQf/WilMBJjmMpnhF6nBbtFOU\n1EF1Rmo+9PSRHDrUhzsNon1WHxAt5vz6ajokaXkUVCFu0qLIpAvCpMIgnS4Xt6wTgERkmlEWgQnx\nRWHYNV8EZlPwvNZ6RCkFQL3F0aGIbcYRodmAmIY8glzKOK9RJH4tYq4OKfgpA2laFgUt6HtmzA50\nFP0cSTffWnEqHXNm0T4ywHDbPNaeeEbkPqIc1KDwuXukJgzSOuMTzJ35gvH8VRvtbuKKzaA2WyYt\nimyF101Im0dchTGTDmrB4az47q3MHtrOns75rD/tLA7Onog+NErYvFFolKIlIZQ/KKU+BExXSv0Z\ncDG1aUJGiNBsYOJ8+cOSwZO0TDLFVBTMU91GvQeDCn6SUGQo0qHt4D4u2foox3CQHdvXxSrWcRb4\nqIX+/qOXGe3LEStJHdTJIzW7mDvzBfzdK51G2jOnPN907rmXJM6mF5M+r1mMUfViIjCrUvxjwrE9\nHaz47q0seuJhANq39AHw+NsvTLzPMriZYGYApLn5j0OWYy7jrhNlcnqFQD5ILUdzD7W55/cBxhMN\nRGgWSBaVhFnOps3qztUkBGmKt+AnafGFrVBkWi7Z+iivH/kTEC8fMotQpSM2wxxUBz9X05ufWguX\nZ4MNsRlFFmNUs6DonpmmTrVzUzF7aPukn7sfe93Mw0ZHWHTnbbVm7AsW0n/ehRxqnbh2lEVkuvEL\nQwf1mYTshFhWYy7jGBMiMivDhcAXtNaXJ9lYhGbOhF1QIN8vnonAy6P1hM0Q5NT2RpMXuLwcIoe0\n4chjODjpsUk+ZJb5cFGh+DC8+alvWNGCn5PpJqmrCdmLzazGqNqkyJB5HNyf8Z7O+eNOpvMY/EPm\ni+68jfYH/wugNmaypWW8OXsZRaaD+7oaJciyFJxZRquihKyJsytCtDQcCfw/pZSmVgD0Xa31btON\nD8vssIQpmPYUywtH4D36xN/z/fs+wmX/XMwdqM0QpFPw8+3Vtf/bnPwTl7QL+PGLl03Jf4yqKM+j\n6OK4IxcZvY43rOrkp77q6LUct3QrvQNTUyFsu29ZjnocGwt6YOc40t4UZe1kZtWYff1pZ9H/4hMY\nXriUPW2dzB7o54Sf/G8OGx2Zsu30bf2hj8tOFtd790zxtMeQ9nrfrpb77sM0fUByP8uB1vrjWuuj\ngc8CrwEeVUr9m+n24mjmSFi4xJaAixPeNhF4JiGetBhV+KYUDKbFFKZuZtQibsslcvIfF+weZO6B\nPczfPcC56+7xzdXMs7J35t5dfPipnzJtoD+00XvSaUFuwmafF4mpE1+EyDSljI3ZD85u5fG3X8hL\nvnsr7U9sYvbIEPRvmuRWOhxYsLDmZDqPF068VplHRBbRFzPu820eY5x9iYtZTpRSLdSqV2cAhwDj\nKUIiNAuk6NybsuSYZRmCzGrqT9Y4C7mTD3nuuns46rnnmLd/lBfsquWsufMk824fc9JD3+PYvseA\n5L00gzDJ6TMVm1mKjKgbNa/ADGu9FZcqNGaH6PMyLC3Cm6vp51b2n3chtLTUcjQXLqL/3AumPKcs\ngjNrARW3DV1eIlOoPkqpm4AzgN8CdwEf0VrvNd1ehGZFiBKO3guDidiMEnhRFxtbRTxRFb5J3cy4\nIrMsbqbfQh7Wu9JUZM7cu4uTHvpevZVRF2tPPJP9M5MJnfaRye/tUc8Hp+uEuZrOSMoo/HI1i3Y2\nw27U0rTeKvPNUZ7Tf7y5mm630uFQa9sUlzOIPArE/MhDtAVd64PEpoSkhZisB16htX4uycYiNCtA\n0nmxUYneJi1cwo4jbRGPdzH2WwTiiswyL9ImBC3kQb0r4ziZbhdywcAmoIX7Tzk7dMEPEt/DbV31\nfTiP54UWCsUNoZtWKoeJzSxEhfvmqnvBAU475XNs2f6CSTdqQeesSeutzb0D7Ny9hxvvHWHL0BK6\nOzez8rRW2mfPGX+O9zMZ3buXux46yPaRIzmibROvXDrIrBlTi6y88+UXd/6RGdPS93H1YkNkQi1X\nE6B9z2CgWxmXvMRmmR3BuKZFmRnWvSx4TbHDABoZpdT7tNb/C5gHfMBp2O6gtf6MyX5EaDYBSdoS\nuS82OwZ2csnHHuBJPWuSc2mziKfosFaRk1UcwhZyv96VQQt6kHPpdSEX7I+u6Pb7/Ya+naw98Uyg\nZUqj9yRi09TVjEuQqEjixDvb/OLBXQyNfALn5uptp97ET25/AWFOpkNU6y3nJunGe0f4+RNXAC3o\nLWPANVz59prQ9DtP73roIL/puxpoYePAGMO7V3H6cc9PeZ53vvzw3g/VhwdEY1NkmnJwditDq1Yx\nZG2P+VHVqukkgzuq9jcKsWgJ+DfURrsZIUKzApi0oLAZ5vbu65KPPcC3v/cevM5l2hxP0ybscViy\nfF4mrmbRvQjdvSuPO3IRx4Y8N8i5PLRoEbhcSKdtTBL2z5zL/aec7fu7JC2Q/MSm19UManUUdyxl\nEid+Ypt7CLq5ijqXw1pvuc/ZLUNLJr1G7fHkNlduto8cOen5tbnxT015nne+fK2BvpnQTELQDY9p\nuyrbaRFF3MxGCU5bvSyD1oigiu8s+y3niYjcbNFa31L/50at9Vfdv1NKfdB0Pw0nNBv5DitNzzPT\nxdXvvXu6rxO/xXXNZSvYd+AG/t+jHcBz7N8HgztHYuVphl38s2xNEwdT0ZSVm+nGxDEKci7XL6yF\nIp3Rfhv+8q28JGTUXxDH9nRY7TWaNV6xmcSJn9hmBPeM9p4l241nmDutt2oEDxHo7txcdzJrr9Hd\nuRlYGPieH9G2iY0D0Y3w22b10T8y8bzZ0zcYHXdS/G54njnn4lT7HG/QvuVPHD46yvNt7RxYtHhK\no3YHG+KyZWiI1utu4PDNW3i+u5vRyy5lrCNeb9e8HE63iAx7LT+xWcUxxEK2KKVWAu3ARUqpHtev\npgFnA18y2U9DCU3nxK+K2Ex68fFeJEy23zSwlKRh7qVdz/IwU53Lro42Zs6YztDIe4EWfvzAGDP+\nObt5z3kTx5XLWmTGCUl68ycd59JpG+PwEsuj/txk5WoGEVUY5Babfk68Wyz6iZOJbU4Hvk5n227+\n8sTdXH5mu8FfFn3sblae1gpcMylHM4xzTpzG8O5VDO/tGZ8b79cIf3HnHxneO9Ewv9ZA3zxHMy5+\nNzzPGG4b9Fm6G7QDMDjA7Gc2Tml9ZCIwTavRW6+7gVk/ux+A6U/8EVpg5Bqj1LQpBOXS2xRtSda+\nPAuWqrA2C+M8CZxA7WLpDp3vA/7BdCcNJTSrShJhHPf5y3oGefi38cPcw7o3tDo9q3nPebqZRblz\nWeW9rT3xTFrnzJjkVPoRNuoviqJcTRuTgrzns1cs+gkQv206W9O7ZX5pHu2z59RzMg8CC4Hwc3Tj\n9mFOPw4mwuX+05achvkT4XIzkZn0PA264UlDUEN2989th8gP37wl9HHWZN0GT4SfEITW+h7gHqXU\nN4FZWuvfKqU6gBO01r8y3U9DCc2sZnHHIcldm+0vulO883RfJ8t6Brnp+lO49qIlHByJ7lXp9/6F\nVadn0YuzDCIzLzcziiTFFUetWMLjK6KdyaBRf7bwczWTNHA3zdU0wRGbzvkcFvb2noefe7cjYPLN\n9bMx/aeIMZPugrFDixYF3vB4CXOmvQ3ax39eb30UR2SaPvf57u6ak+k8XpLu8zftEJKHABSRKRhy\nHvAK4I3AHOBKpdRfaK1Xm2zcUEITiv3i+I3OisqTyQJ38c7Dvx3j4EgtnB2nlZEptput5zUByBZ5\nTFaJQxwB5iz8Uc5n2GtFuZq2xKZNypL7W/YRk5DOdXcXjNkqABpv0L7lTxy+a5TnW9s5sLib/nMv\nyKzYZ/SyS6Gl5mQ+v6Sb0Y9fmsnrQGMLv0b+25qANwMvB9Bab1FK/TdqzdtXm2zccEKzKOI2zM2S\noOKdLIjbizOMvEVmHDfT24Pw1BW7fWd1m5BVyNxZzKftHmXFvV+PLPLx5my6Md1H0hB63FZHNl3N\nMuB3rsZ5H/Nw3G2dpzY/pzgN2m0x1tGROCezkSlDBFHIjWnAbGC0/ngG0t4oX6K+bHknQSfNxzQl\nqlWSWzA6LkOcbZKQ1RQgB/8ehLF2kSnuxXzFvV+PXeTjOEnO+xhnH1FiM6gwKK2zWVWxmdZ1L7rV\nlhsbfTOdm5r2PYMcWLAwsII8jLRupo3K8jg0Sm5kI/wNghG3AA8rpX5Qf3wa8EXTjUVo5kSeX8ib\nrj+FFu6oNVgPCGenGR+Zrg9hsilCNkkSjrTVg9C2mzlz7y7e+IcfMvtnE85jWJGP16kc/uDFkxb1\nJcvncdjoCEf0/TFwH37YFJumrqaXokdSlpEs3UxbzdndNzWzNz41pYLcj/E2R9v6aTmmJ7UwtFlZ\nLgiNhtb680qpB4C/AA4A52itf2u6vQhNQ8LuQKNCCHnf9c3r6uBrt/9N/Zj8ncw0wi+q0tzPXciq\nOh3MHaIoFzPMKbLRg9C2yDy2p4OXfPebU5zHsCIfr1M5+87bpizqi+68jWm7d036mUmhUBn6aza6\n2CxTyDwKU7fZexMTVFnuZlKbo41PpRaG3kryGQ8+RMvOnZm5mkU4gY3iogr5oZR6s9b6HqXUufUf\nObPOj1dKHa+1vtNkP4mEplKqBbiZWnLoXuACrfXUUsAGwd2fE4KnLbifE/S8OK+X9qIQJoDTCL8k\nleZR22QxJchNGpEJcOqK3bSwiq0jizPtQRh3TrSfe/m7sz48/m9vkY/Jou792cG5cxn+4MUsqTuf\nYcI+b7FZtfB5mrB5WTohgN28TO+NkVNBHob3HE3bcshbWX7YyCit/3x9Q7ia3iJVEZtCDF5FbRza\n6wN+n53QBM4AZmqtT1JKvRq4of6zpsBEcKbdt/ffSfcbJDbTtCVKUmluuzrdIWrhtiV6Zs2YyVHz\nN3DUfMfJjCcybYQi/RZvP/cyrMiHpd0Qsah7W8jsfunLpoTXk4jNOE3ck4bPoTFdzSoNDzAVmeO5\nmbt2sH/ePJ6f28qB7iPpP/eCyG2952jalkOjl13K9Acf5PDRCSf/8Gc3hWxRPCbrgxTrCGnQWl9V\n//970uwnqdB8HXBv/QB+rZR6ZZqDqCp53h2meS0/sZlG+CWpNB8bg30jezi4Z3/tgQVsicysiytM\nF+8ks6HjtChasnwe/d319jDb+jmwcBHPvf3v6L7587XH9UKM8RYy9ef4LfxZzZRPgp+rWUaxmfT9\nyvr8bDu4j0u2PsoxHGTH9nV8a8Wp7Jkx2/e5Np1MdxoHwPALlXFFef95FzKjfba1lkNjHR2M3i3N\n4wAAIABJREFUzZkDLqHZMjSUap9Z4r2e+5kf/z977x5mV1Xf/7/PXDKZJHNNJpOJIUHSZEm/FHyE\nRoqAIGKFUr+A4k9+IpYIAdGvYkGCP9IIFn0McpEqVEyMNa2l39JHU6s1vQj1EhUCBSGSrsQAAyGT\nyWUymTOZmcxMZn5/nLNP9llnX9bae6291z7n83oeHnIua+89Z6+913t/rjZVQiGyCWPsFfhnl09z\nzpfKbCeq0GwF4F7FJxljdZzzqYjbyyQmLlbZXrVx0VmWCAhPLrrl8y9gy9O3A8hh+6vTODZ8LzY9\n9I4T41OqbWi64LWKhShKb+hA66ULR3SJ5WF6HnmwFOvmTsSQWfCDxKaKC90rISjod9PVljIpkhTk\nUebpp/c9jwvzbwAAluQL18Om0y6r+J7uMkZiGMes7S9g8V13SGWet5+5HPkzo7u1fbPM9x8ofSeL\n8ZkyFsy0RCYJ3ExyAQpuz7UotB77GxRaln0YwJtlNxJVaA4BcN8FSGRmZNumCEouGuB92LO/G+6Y\n0D37u2OJS1usaXFxL95ib2jxdVSCxJYY6yaTiOG1ba/z4SU2w9znURNRbI3VjJuoloTLvGeiPPFr\n7lgyMbZi2EfDyFE0vPpyaOa5jsLsXlnmx086CY27flf6zvHFJ8Xej4jXvT2KOMxqDUsSm9mCc94L\nAIyx0znnK10f3c8Ye9ZnWAV1Efe/FcClxQM4G8CLEbeTCdwXRitbRheKB37JRY6YXNS1Dycs8NNY\nNN+sO1DGmmaDNdPNUEtH2eup7vjlY8IsehNd88tfSyRiqOxHVvz9wYKTK36vF/e9qvTbe51z0w8k\nh4eP4pZHXsYH7jqKWx7ejUGX61VXNQQdtEwew5o9T+HhV57Amj1PYc7ksdJnIy3lc+DQzMpzZqIo\n+9AnbsbQij/C6MmnYHL27LLP/B54dHX/8coyP3rTDRi76EJMnPoWjF10YckdnxscRMuatWhfeQNa\n7lyL3JFo50t0azv/yeD1/SjrkDgmi2KVSIUcY6yUEMQYuwQFy6YUUS2a3wdwMWNsa/F1rEDRrJBl\ngan6BOz3fT8XuVdykbuP9F0fXQDk7sWe/d1YNL8fd10bXUTpEA+2xGUCKMVmtg0eRH5WK8aaZmOo\ntQt7FVpCRnURy8RjqhyDLmEXJjD93Od+8Zpe6HCr372pvywkBLl78dWbT5Eam2R2vts9/paxQuzh\nPYvejj9YcDIe7yz8jnPHjuDQzDY8vvyisrG66mU6lMI4gJLVsufhB9C67del73g98OhsMemVZT77\n0fWeWeY6amzKxE7KEme811iyMhISXA/gO4yxhcXXvQA+Ijs4ktDknE8D+HiUsVlG5wUZ98nU72YT\n94lVtN6K4/1c5F7JRR1tLSWLZvuc2a4FWG4htgFTZWLci7c7NhMA9nedjCfP+zCWerR89CKOYNLd\n0s9LbMYteeSXgW4DXiEhcXuYO+h0m4vucffr0RnNnjGZgDmRKRL0wFM3nMdJ3/87rV17hm+/FY3b\nnkF9Pl96z69Ekvi+aiklUyLOq6Sezu8ThEOxOPvpjLG5KCQBKVkUqGC7BDrrkMV9opRtdxkFGZHq\n5yL3Sy4yXR/TRrxEUfP4CK7a+UTJarR93ocw3lRwF3rFZsq6Im1IdlFFpcxRECpWTZEjI6P4wrr/\nwcHRk7Coax/u+ugCtM+ZHTjGi0Vd+wqWzKIlf17z6wDmB45JWmQCQF/j7JIl03kdJt5Va7rGIeiB\np3vTBswsJqzp6toz3daGiT88C/VPPFl6z69Ekmj9jFtKKS5R4jVFA0IakNU0uzDGlgDYAOBkAOcx\nxp4AsJJz/qrMeBKaCZGmu0Qnoot8wbw+3LDmYGArS9vEpsnYTL/F+6qdT+BtB3YCKGT2tj29GU+e\n92EAhdjMQpY5iq/lxGOWRKZo1VQVm3Hqanrx0JY8/mvHGkRxebtxh4TMa34dt1wiZ4UOwsT8/OqC\ntwIoWDL7Gmfj309/X5RDKyOp5Kuw4uxR+5QP334rkENoiSTZ75kkTKQFiU0SeIQGHgXwFQDrAPQD\neAyFYu3nywwmoRmCaQukzDaTEJmyLnfRRT4+PoF//smfI6yVpRNfFVdwJpVtrlNkApWZvG4r5tYV\nVwDIFetndmLv+69FGKZEphgHZ9MDggphVs2+wYUQXd5RaJ8zG7df3A7gGMIsmTKYeggabmjCPYve\nDiDZouw6CCvOHjWGcrqtTel7rWwZcigvt6JiSYyCynhRbNaCwBziu9B1tt7wDsKTeZzzf2eMrSuG\nTq5njH1CdjAJzYjIiE0dAjFJkSmzL9FF/p6Vr0GllaVbyJgSMUGuSVNJQGGL96GZbaUahUC51XK8\naXbJusm66rH8x4+VFWCfFGI1dYvMoCQLndZoWaumn4jSadXsad8L3nfCMv/a/jdwy8P10i70qA88\nOuZm2p1/kiasOHvcGEoZ/O71psoMxWnOUSvY4uWrEUYZY4tQLB3DGDsXhadrKUhoRiQJkensx/QF\nFWf7UVpZRhUuSbWbNJEA5GTynnR8BEMtndi6orJj69IlbVj+vfWlbilOjUF3QXadIlM2i1dVbMbN\nPvcq4O6gkhgUZNUsuLjvwbOvdCE/1oqhkU9gy7a2UBd6nL8rySxzk0S1Zkadu1NzWgItj34xlFFd\n6l7oTATV5eZOorGHzWS1lmhG+QwKPc+XMsaeB9AJ4CrZwSQ0CSncQsMtUFRaWZoq0K6z1aRul7nD\n6Ixm/Pcffwz/7fO5s3iL3VKc12kITHGMCbEZJTHIS2wGJQYBleKotXkW1l45Cx/f2ADe9/+W3n/l\n9XllHYUODx/F3Zv68crr89DTvhe3XDIHrc2zlI7XfRxxMVUFwSHImpm0wJTFL4ZSR1miILEaJnSC\nBGBcN7fOBNUsU6t/dwp0A/hDAMsB1AP4H875uOxgEpoheN1MTLWezAoDvK8kVmRaWZrsAJQFkRmG\newEXu6U0Dh/B2d+9V6otnwxxahHqEJtxSx1FxU9wii70nva9AOaXjvsL39tfShoqfO8erL1STWjq\nzjKPSpy5Gldk1g3n0b1pQ6F8keRcdo/JnbLE0yJZIQQ/e+I7OlzqQWI1rjUt6j2frHhECtzLOf8R\ngN9GGUxC0wBJ3Agmuubj07f9Aq/0tuPkJYfxpZsWVmR7u/GKwwzrT176noe4cItNP2xpMZlWXKYb\n2bi3ncUi7c2DB9E4fATN+UEgPxjali8MXcWuTVQQ8LJqBrnPATWrphtRcK58ZwN+u+cvMDR6Clqb\nd+NjF5THZ4pJQ4XX0g0xtIrqtKyZOiyZ3Zs2oLVYoshvLotiFMePo/W/txU+fPVlT4tkkBDUUZYo\nqlg1ZTjwW1tq2apJJMJuxthGAE8BGHXe5JxvkhlMQlORpC9mrxtLK1uGa1b+CP+0+ToAOTz73DRy\n+DYeWa1m7QrqTx4HmzLLk0iwCEPFHTnZPKcUk3n2d+8F8idqH6r2IXfQ2VHF2Z7sOdbVLWh8chI7\n9y3C6MRSNDfuxvIFr8fanhO/ufGnkziQ/0sAORzIT+Nb/3UP1l554nt+Fk/ZfchgszUzisj0cpWL\nc9drLotiVGxL6SXygoSgjrJEKmLV/TBPpYaIKuMQCjfBs13vTaNQ4igU64SmjU9mjvtc5riiWDNV\nyxoN8V14pbcdbkvL7/hM5ePyK74u4iUs/MSLTeVw0qiXKUvT2FG857c/QvNPvLPLFy7rrCjrErUP\nuYOu5AgT5zgsVnPnvkXYn/86gBzyY9MAPokzF1V+TzUD3ctieWQkj4e25NE3uBBzWybxjmV34uDw\n0lKMpgy6RWaasZk6kJnLFeJzuvyll8gLEoKy5YuCCBOrqp3Y4ibw2LY2ErUB5/w6xlgDgNNRcOm8\nWCxzJIV1QhOQb6+YJDZYMt0s6ngdzyI82zvIPR4lYxwwKzJVrV9+MX9JWIlk8FvAz9m2Gd3FtpNe\n2eWAvj7kTpiDjuQIFRxX6OL9/Rhq7iiJ6ShxmqMTS+EWhIXXb8Q+Ri+L5UNbUIrLRN80Ljj1Hvz1\nykmkZcmMKzKTbN+5qKcR3Y88WBGLKTOXRTE6wk7FjM6WQIuk6WLqfmI17npQa/UuiWzDGHs3CtbL\nvSgkA7Uzxj7IOd8mM94qoanSXtHGi1MlA9GvELwsstneQe5xlYxxx6ppk8jUQRK9zL3oGi8XI2K2\nOaC/D3kS9QbdlLlCi+85YlpGbLrjNJsbdxctmQVB2Ny4G4C3FV/Wqrm790ipzFHf4MKSxXL1Y62I\nGpdpS+IPIC8wg34rmXaeDguXdaL7kQc9YzFl5rIoRse/cCeOhVjc41oto1j5da89tq9rBAHgqwAu\n4Zz/BgAYY2cB+AaAs2QGWyU0VbDRxe6FTKHfKO52mWxvINg9LrsNB92xfn4cGRktuS6jlJRJ25op\n01VFzC4fbT9xXkyVg0miZ7M7oUN0hXqJaTdBSUGFmMxPlsVovriv0VdMyYrNA/snsPbK+SgIyYLF\nMmpcZpjIjDIv06qEEBWZWEw/3GI0qXuNqpXf9JpT67UxCWs55ohMAOCcP8MYywUNcJNJoekOurb5\ngrTh2KK6x5PGbc1096EOKikT12Ue1ZoZtJBHyS53YjRN4Szaqm5GP2tPUJtKtxVTxC2mAbVSRzMa\nGnHaon0A9hXfaQQQXMBdxbLpHA9QKOY+cfxuvPDaAgCHMDE5iqHRkdLDjnjMYRa/tB98gtDdalJH\nXHFSIhNI3sovi+1rG1FzPMUY2wBgPQpP5R8C8Cpj7HwA4Jz/LGhwZoSmatB1Gqh0Kkiqc5CKe9wW\nZErK2NhlRSWhwp1dHhfZtp6qbkZZa4+7j71owZqcNRsT87sxMb8bQ9deD/RNBO5TV6kjB5XkILfg\nbKwfRn7sRgA5bN01jcYf34MPn+l97KZanqadABQl41xXXLEKcZLcomSVBxH0HdV7Plk3CYs4tfj/\nLwvv341C2t67ggZbIzRVLsIsdEWIc8ORFawyf7eqezwNxNjMMNel38Ju2pqpw5IZtSahiJ/VRxSd\ncaxDonWn6cmfYsZ7LsH4GWdgeM3nKhbzTtaD3ClLCjUPi4ycdroQmxetgHuY2Hx2z+/QP8gwNLYE\nLTN7cdHyEcyc0QRAPRN9d+8RvNo/H+6HncLr5B5usigyAbW4Yl2WyzhJbqaTidx43a9l7vMm1zhV\n8WvjWkuYh3N+YZzx1gjNILI0uZPqgS7u00YLb1S8EjQcdIjMKKQZ9+ZGZXGOu5CL1p7c1BRy+WHM\n/MVW4Cv3ey7m7oV7tKWjwqIlU1czSlvKQvmjdQBy6M9PI4fVuPS046XPVcXm3JY9eHXgxMPOvJY3\nAMiVNhoeG8N3t03i9YFutMysLxO9o+PH8OTOWZ6COClMiUxZdLvG47i/Za38ptYg2Xu3brEZdb2w\n1bBD2E0mhGbW8LsYdYtBZz9ZFpleosPpQ+1O0NCJqrVIl8g0vYDrxhGNM7b+EnVjx8o+81vMxYV7\nSqIagZdV00tsruicj/e88C/omTiKvsbZ+OqCt2K4oSjghPJHQ2NLALxcNl5FbF6zogE5fB4H82/C\nvJY38OEV9RXfcQTlwfybMLdlD65Z0YA5Tc347rZJPNN7N7xE75M7Z2HXAX9BDKTXPCAJTMRfRk1y\ns0UwpSU2CSIprBGaKj3FbRVXokvfQfXmEDWMIC2iljZSLWekIy7TxCIus3irlIixBUc0tty5FjOf\neLLsszgZ61G7BV218wm8LV+onfmWsULHpHsWvR1AZfmj1pm9ntuQFZtzmppx43lAwV3ubcl0C8pX\nB6aRw+dx43nA6wPdEEXv6PgOPLlzFl45tBzAYwAuBdBeIYjjzM+wByKd81REdt7GDefwIkn3tym8\nWgTnBgfR8eh6oPc1THR0FP5OjfvT2VyEqG4YYzdxzr8Rdbw1QlNEdkLbMvGDLlobxKBt6BSZNncA\nUlm4ZRZrEwt1GMO33wpMTqLxueeRAzD+1tOlFnOVBxCZWM25Y+Wf90wcLf3bXf5oQcs+vGv5CACz\nLumD+TfBLShfH+jG9jdeRsvMevTny0Wv25JZiJ3/BwAfKhPEWRWZOomS2KOjAxAAYGAADbfdAfS+\nBixZjMn71wEdHeGfSSBrjXR/p2HlKtRv/gGAQoVs5AA8/pjCHxS+ryCDCK1bhItPolA3MxJWCU0V\n0WiTVdOW48gKsiLzyMgovvi9gaJrMl9yTargxMTtyy9Ac+MYli94HTMaGqMcticqfcyzynRbG/Lr\nvqR1m1GsmodmtmFJ/sRDRV/jiV7Y7vJHBdHlLzJV4zX9EOM4HdF40fIR5LAaQ2NL0DqzF+9aPoLN\nL5wKtyhtqDuKN89djXctH8GL++KV1NER2hE0V50HIL/zpdMKn3T3KjcNt91REnZ47nkAwOTGb4Z+\nJouy67v3tbKX9Xv7MKjZfR60LfdntMbVPK8zxp4A8BSAUedNzrnUxWmV0FTFFmsmIY+suNjdewSP\n/nzY0zWpgtuS5PTILgiScJJMAFJZrNOwasbFXcjdaU0oEmbVfHz5RQCAWfn9pRhNL4LKHQGFh497\n/+0gJo4vLYutVOWaFQ0YGikXlEATZs5oKsZdOi7xJrTM7C2zcr557k5cetrxRERmFFHdMDKM5Vse\nQ+vo4dL58hKcukM9Uq1rKQi7stcenxkvP7RkcUnUAmYaLMhi61o7xHeh6+x0445rhF+7/i1dqN0h\n00LTFrzia2oFHa0n3biFhuiaLLw+8bmMy7wQAyf2yJYTmmHosGYmFZMZp9agDsraURZbE+65+KNK\n2xid0YxNp10m5WIOEpvuh4+oDzBAIY7z0tOG4BaUfnhZOf1EZsvkMXx63/OeSU9uTCapLd/yGLp3\nPAugvJUkEDxn3TVVo5BE9yrARzgJwg5LFvt+NtEp7zYv25+CC37y/nWFf/S+honODgx/9lZrBV9a\n0O+RDJzzuxljXQDejoJu/BXnXLo0CAlNjdSa4NQpMr0sWUElZmTjMkVLUqFHdjg6Yt5MEcWambRL\nUpwbXq0JvdznbqumX5mjsJqaDn5iU3z4EB9gZFEpwSRaOYMsmZ/e9zwu9El6ctDRxzwIsV2oSitJ\nwF9whs3dJBJ7/MSJW9hhyWJMrrkDDStXFV73LMDxS98L9O0riT4HFZe4kgu+o6P0WQ5Ai9QeCEI/\njLE/BrARBctmHYBHGWMf45z/UGZ8TQtNmcLpUYhScD1r4lSXyAxylXqVmFGtr7ig/X8wNFbeI9tp\nX+hHXJFp0poZ1WWu4pI0Yf0UWxM2HuhHz8MPYP95H8Bks399ShNiU3z4aKzfDWCex2h/THb8cSc5\neb3WHdKxu/dIxZwdbZ+H1r4TiUpRWkkChfnq3Ctk5q5XYo/O+Rh4T3cJO6A8GQfPAccvfx8GHvma\n51BpsRnknke8aiVhUHmk6qTYc/wRAGcAGANwPef8ZdfnVwP4NIAJAC9yzm92fTYfwDMA3s053xmw\nmy8COJdz/kpx3CkAvgfALqFp2ySXrVvmoHrsYWJT3F5ayU1e+w1bGHRaMv1qEQKVJWaiLO5+PbL9\nSMqSmaTIBNRckiasn05rwlnbX0DDyFE0HD2K1m2/xhm5HJ4VXOhirGaUAu5uRLHp5cYWE4SC5mUc\nZMRxX+PskiXTee0gIzKbx0dw1c4ncNLxEQy93IGtK67AeNPs0HFudl5yNQAUYjR9Wkl6x91Wzqu4\n8cS65qPy+iOIwKnAdVgSH/e8171fZwyosy3b1mFCC5cDaOKcn8MYezuAB4rvgTE2E8AXAJzGOT/G\nGPt7xthlnPMfMsYaUMgkH5HYR6MjMgGAc/4yY6xO9gCrzqJp4kKKsj0Vkel+P2mxqbq/OCLTKxHI\nrxahDtIqzB5G0iITUHNJmkjIcFoTLr7rDjS4LZuKLlk3slZNEa9kHaDcSvmv2+vL4jiHRlYX4zGj\nI3usTpKTO0YTkJ+fV+18Am87UBBFXQN7AOTw5Hkf9v2+lwV+snkOXrryhsC56hV32zfnM1Z1/omF\ngWScCve885oogwSxEucC2AIAnPOnGGNnuT47BuAczrnTcaMBBasnANwH4K8BfE5iH68xxm4B8K3i\n6+sBeBcr9iAxoZnEpFF5atP5lChu01Y3+MBgHqvv24XevfOwpOcA7r19OTraKiN/krBkOoQl/ETF\n1sLsKiJT54KtUmvQZEKG6EKfmN9trC1lHMQ4Tq9OQ7KozsXhhqaKmEwVxHqjrXn14vhA+Fz1irsF\n9FdF0DUfVcWLKApz968D9h/0/K70dgX3vDjelOvcdtFm2qJb5bSifNGcZIzVcc6nOOfTAA4AAGPs\n/wCYzTn/T8bYnwHYzzn/D8bY/yexj48B+BqAO1GI0fwJgFWyB1g1Fk1xopqepEEXRhAyAtiUUF19\n3y7880/+D4Acnt8xDeS+hvX3vE1qbByRueM3b+ChLfmy3uWtzbMAxOsp7Ucahdl1Y7p8UVDcm46E\nDHdsnhvHhd64v7/MJSuKTZkC7kD8xCA/xDhOd2F1lX7lJttJ+iHWGx1q8ReMfg9GMg9EXg8Nuiib\nn13zMHbeO1B/8FDsBCElsekhCluLGeK1Kgh1oxLCVmu/jQJDKM8Vq+OcTzkvijGc9wJYBuDK4tvX\nAZhijF0M4K0ANjHG3sc53++1g+L7/0/UA6wKoRnWlUfnBI0jAsM6L5i+kHr3zoPbSlN4HU4UkemI\nhiMjo1i14SAO5FcAGAbv+ySArxd7mcv1lFYhjYXdQZc1M4kamUFxb7o6rXiJTceFbjtecZyOi12m\nXzmQ3lzcfsGH0Pb0ZrTmBzDU0omtKy73/F4ckQn4PzTooHx+FhNx7v2ytu3HxTEI2Ch+bD0uEdW1\n1GSilA5SbB+8FcBlAP6JMXY2gBeFz78JYJRzXroRcM7f6fybMfYkgBu9RCZj7Iec88sYY6+g0NKs\nDM75KTIHmAmhGfREY6ubWkQmw9z037Kk50DBklm00ixZeBDA4sAxcUQmADy0JY8D+b8s7RP4B/QN\nLgQwCUCupzQgl+UbdWFPwpppk8gEkot7E/+eoPkUZtXUnRQUhF8cJyDnVk/zgWe8aXZgTCagp2uV\nyYeGivnY+5o2b48uIWab2HH/NraLzays2xnh+wAuZoxtLb6+rphpPhvAsyhYL39eFJTTAB7inP+z\na3yFgHThdNb4IABPa6cMmRCaQQQJOBMXWtSbXdoX1gDvw+eubMOx4XuxL38Sliw8iHs/6//76IrH\nLIjKE4syMBs97b8DMF/L9uOiqx6hTAs/m0iqMLaIn0s9DipJQaoudC+C3OrOPnQTd542jR3FOdsK\nVs6p7m7snH+1Z1mptOaqGMpxvGseGne4vlDMztYRB2+zAIuDTW2Zw4h6rNV67uJQjMP8uPC2u0RC\noM7jnL8r4DPnZr2Jc35qtCPMgNBUmYxJTcIsXdBu2ufMxldvLli6O5l/bKZOIdDTvhe878Si3NXy\nNG65ZK7SNkxaM3WQNZEJAEdvvB4N27ejbmgIU62tOHpjZUtIU6iITdlYTRXiis0gt3qa8zDoYeic\nbZuxtPeFwouBPQCAl64sP+dpzlUxlGPsvHdg7KIL0Thw2DM7O8o9mESKXaicQzp3qfMbxthHADyN\n8l7nr/kPOYHVQtMrwUfXhItSfkj8ThbFpoOYGeq38B8ePoq7N/Vjz/5uLOrah7s+ugDtc/xr8onZ\nw7dcMgfAPa5EoLmlRCAZAWGDy9xvAdeZYZ40s7+5AQ37DwAA6sYOYPaj6412ChLxE5thGei6ss/d\nc0ZVdHq51WXnoGx7SdVjC7O4i5nnYucfwLsu5tQc9X40UcI/KkI5Dh7C4Mb1APSUgwsKu6omEZP1\ndcmLajo/Gebtxf/cTAOonhhN3YRdiLI3oKxf1DJWpbs39WPL07cDOILtr/4rfvlSHuf8frjgdGht\nnlVM/JmELe5yHZgSmbpLw/gRFqOZRNcqE270KIgiUUV4qj7kyLSXVD0OmbJbQy0dxZqaBUbbyxMB\nFy7rRPcjD1bWxVSMwQx6eA2a1yZDOcJi+22PZ1QlS39Llo61luGcvznO+JoSmiYWzKyLzTD27O9G\nwe39YwBXY+hoDlu2TQO5e0tueMC7GHsQWbZmZsWSGVTCKGhh9+paBZi5frzEpl9SkBNnePFAPw7N\nbMPjyy/C6IxCt56oxdu9kHWte+1vfHISO/ctKmt5OqPhRDeqsPaSDrp7me99/0cx58ePoXnwIEbb\n55U6/zjUDecx67cvlL3nrpPp17vcTZwHJFM9zlu75p7oV150wQ/51MIkCMIbxlgHCiWSlgK4CsBX\nAPw553wwcGARq4WmKOLiPP2YWCSzJDCdBV0lCxgAFnXtw/ZXp1HICD+R1FMQoOoCEzAnMlXdkmHo\najepgk5rZlAJI7+FvZUtAwYG0HDbHeXdS4r1Ax1M9EMPwx1n6NSJ3HTaZaXPdYtNZ5tBn4vs3LcI\n+/NfB5BDfmwawCeLLVALBLWXdDBRBcHp9ONH68OPoOFouej1qospOz9VLdVBJbX8LI4y99/pGz+B\n+uI1gOeex0Q+D3jsp9qsmgShmfUA/h3ACgB5AH0AvgvgT2QGWy00gfgWw6hjw246WRKZDl6LRJj7\n8q6PLgBy9+KX2ycxNHIZnKSeRfP7sXdXu/Ix6E7scCPrlpRZyKOKzKjWTBPu8iD3eNDC3nDbHajf\n/IPCi2ILvsmN3yy7FnX1n1YRJGKcodgBB9ArNgF1i/noxFK4H8gKr08ITb/2klERe7RHRYzZnJw1\nu6wuZlIhHX5Evd+m1r4yIUggEwnxZs75NxljH+ecjwO4kzH2G9nB1gtNQH+v8bjYLjKdxdtrYfBq\nQxmEk6k+OHwUd226t5AUNL8fd13bjZG+Y4FjRXRZMgFvASDrlgwjaOHWUX8wKSrc4/PmoXPdV0qW\nysM3rSqzQjrX2RTfCXfZ/Knf7ii5H1s6OjB8+63SMZ66rpWlS9oq4gwPzbTvXDQ37i4vwT1ZAAAg\nAElEQVRaMgsPZM2Nu8s+D2svacKaKTNnR9vnobXvRJmmkdNOj5QIZBsmYz/TTiZSablMEDGZZIy1\noVhzkzG2DMBU8JATZEJo+qFjEfPq1hN00WZFZDr/FsWmVxvKdR8Jv/m6SyMBpxiJyYyLDrdk1tzl\nQd2mRPd4Y1NTmaWyAyi12Bviu0pjW4TFOXdksDSuHkBjawvAlgPCAi6z2Iku98Err/EUNF7Z51tX\nXAEgV+p48/iid3juQ7dVU4XlC14H8MmyGE2gMWwYgHTboDoxm82DB4GTFnp2+Ylr1UzDKupcA40D\nhzHR2aEt9tO2ZCIbjoGoaj4P4L8ALGaMbQbwRwBWyg7OrNCMK/jCxKSOkhrivpIWqV439ahtKJMg\njjUTCHdLml7Io7jNoy68MouK2z3eypYBF723/Au93iXQRIFa/9rrQLEUkjNucv0jyD39DHKHD+N4\nyxwcvfEGTEnMb9Hl3j08Jp3ZLHa8WQr/OZOW2JzR0FiMyXTc5eEi0+S8lLXAOzGcYXM4jlhMw/Xu\nXAOtbBnyGu+/JOqIWoJzvoUx9gwKJY7qAdwI4LDs+MwKzagkba107y8JwRl2M/duQ6m2AERJAAoj\nrsgEwt2SYSTd/Ud14S2buz4JO14PQqVxSxaXYi4BIPfKq2hYuQqHb1oFuFzookCtW7kK2PW7Extc\nshgN93wZdXv3AgAaRkc963B6JQyJLvbmvPS9ykjx9rSJKzJ1WeBV5q8jNoMSwmSy1OMicz8V77+2\ne6SiQsKXMAlj7Fec8z8C8KPi6zoAvwHwBzLja0Zoqib36HBFBFlFvfaZBPfevhzIfa0Qo1lsQzm9\nbzjx43CjQ2SGYdJqZFJk+s0hv4SdIJzuKnX/9TPkBgdRNzgIbP4B5uTznok8zr5LXVlcorbhA+Xl\ncbySLLwShlRi5rzc57r7n4eVIzKJaZEpa82MMn8HeB+W/O1fhyaEmbJihj3Aq3qkTAs1E/Gczt/i\nV/OWxCcRF8bYEwAuKP57CoUYzRwKhbF/ILudTApN3a3HomwvbIyt3YU62lqw/h6n/WShf/CAgtAU\nF/7dvUcSSZBJW2T6/Y1piEwAlW5v12vfeTU9Xfj/sfIkrvq9fZ7WqRIdHZUiVrCOeglGr4ShIw/e\nV1lWad+I/9/pgaxlU8Z9HlaOyBSmwzhkrsm49V7TyugOe4C3DZP3+Gq20hLp4/RBZ4w9xDn/dNTt\nWCc0dT/5xRGZUY4lar23tIjr2pJZ0IJEgY52gqbRJaRVrDuhc04QeliyOHSbDZ/6c9T/65aK948v\n7KmwPja2tmByxVm+25q8fx0m8vnAAtte1kuvskqdbW2+8zCsJWVcwsoRAfrrs3qJzObxEVy18wnM\nHTtSUYzeizSS1kRMZnT74XldSNR9FbdBlj+CUOILjLF3c87/kzH2OQBvA7CWc75DZrBVQlPM5AO8\nbwIqT3FeLnBV4ee1DdmbVTWJTN3F2ZMQmbo7rLgx2QEo7CHHy53thXt83S9/XfbZNICpS9+L4U99\nEm2fua18oE+iUImOjtC6mbLdXuI+7AS5z8OsmmHliAC1tpFh+M3Hq3Y+gbcd2AnAuxi9Gx0u87hz\nt5P1GOvm44dsGMlEPo/c44+Fbiv/1DbMue8BNAwclhKoUTFtdUyiXSxR8/w9gH9hjAGFzkAPAngU\nwPkyg60Sml7oiJV0thG38Ltfa76sIbuwx7Uk6RKZaZWqAdKvm+n7MOPlznbhNd8dOeWQA4AZMzDd\n1lZhnZKxkIYRVBQ+SYLEplc5opbJqTIL5pvGy0NLotZnDXroEYvPexWjB9IXmW6rfJLnVyWMpH5v\nHwYl1o2OR9eXdQ0CwuOcbSeraxJhPR2c868zxr4G4G8453/LGJN2pScmNMMsNDIubIe0CrirutJt\nerpUsRrpcFX6icwkXeVxrZlpi0wRxwJTv7cPdWy5sgVm+pyzAdF13vtawbrjqjcYZCG1AZn4TC9X\n9NMDlXPPqxzRp/c8VWbB7K8vd2F71WcNI2wuHprZVrJkOq9F0mwkkGZXoLD77URHR1mDAceFH3q/\nDohzrnXSrsuZ9v6JCuoYY2cCuBzAOxljb4WCfrTeoulF2gJO5iJI+xjdmCwx4oVOkRnVmmnSZW4C\nGYu7O47SKZYeZtV0M/m1B5F7/oVSWSIAJctly4qzgMcfw2SEYzdJ3XAev/+99WgePIjR9nmlwuJh\neLmiR0+7TGo+iRbLI/WNeGlWZ+S2kTJz8fHlFwFAmTB2o+thSNWamabAlGGI70Iuqgs/QpxzVGwW\nTX73nbTEnrvjEWD3b1dDrAbwFQD3cc5fZoz9GoBcAWRYJDSjFkJPQ9BlSWQC4f3MdWFLjUMdIjNs\nAdcdnykzZ8Ss3im+U20x6OjAxM9/goZbV4fGdsqg6/oLmp/dmzagdcezhf0VWyROXnlDxVwT4zT9\nXNHO3AgSnGKHqTeaWiLFZKpklo/OaPaNyfSjVkRm2BwPcuEHjZONc652bC6PZMMxEADn/CeMsRcB\nrGCMXQ7gf3POpS1H1ghNFdKafDL7tUFkptHqLUxkJmnNlCGqyIwqMHWcD78sX6Un/5DYTlXiiE13\nSaWmOe3o/+gNFe0oG/eXz5vmwYO+23OLzTBXdFDcZliHqTB0li7KSlhHGEHF3WWIktQZej1ovhaq\nARuEnVd9UCJdGGN/DGAjgF8DqAPwKGPsY5zzH8qMT1Rohk0cXfUpdZPlmExH4KhYNVVLypiwZJp2\nmfthq8gEKrO4j666Hi1r1pYW7/zttxZc4CKK5V9UiSo2y0oqAUAuV9GOcqJrPppffbn0erS90DLV\nr5amIzbDXNGAv9iM2mFKd21MnSIzytyNKw7diOWzGrZvx/TcuaHbLR3Da68jd+QIptvbcXzRosK1\nEHAsJFKyDZ0/6/gigHM5568AAGPsFADfA2Cf0JQh6KmVRGY4opgUBWcQh4eP4u5N/dizvxuLug7j\npvOa0No8K3CMjMhUtWaqikx3ncORg/Mj1yC0WWQClS7CljVrKzqzDBX7OrtR6iIkitI1d6Dhni+H\nilS/bldBYkWmHWX/R28Acjng9b0VMZpBYhMANs0Id0Xr6omuIjJlambqjB2OOne9OjtFzTIXz3XD\n/gPA/gMl0Tm46duYbmurmEdlcclAYczOXb7HQgKFIIzQ6IhMACjGadbJDk5UaEYxh6d546imm5aM\nNfPuTf3Y8vTtAHLY/uo0xobvwdorg4WmbqIs+u46hyjG1qnWINTZ+cfBdPiCdGcWhexaUZTmnn7m\nRPKQn0h1idPOohgd2l9wcQeJFZmC31NzWtB382ciVUKQbU8ZV2yqWjLDamammV3uRmfnn4ryWS4a\n9h9Axze+WTavHCu53z7F91u75hq12hNEjfMaY+wWAN8qvr4eQK/s4MQtmjozyUxbEVWEcZr9yx3i\nJvzs2d8Nd5eUvsGFQEAesk5rZpyFXswS9qtBGIW9uwaMFmaPg5dQ85yvKtm1ggjNHT4c+DngbTFt\nLYqGugCx4lXwO6hLkAxNY0dxzrbNaM0PYKilA7sXnRto3XbwEosyczKKuzyoZqapKgh1w3l0b9qA\nxv39mOia7xkP6+A8IPk9CERxqbvPde7QoYJF040zr4oPLVN8J1p6enB87lx4dZ53P5S0smVoWLlK\n3mpPEIQqHwPwNQB3oiASngCwSnZwaq7zuIIzKUEXJDZlOgZliUVd+7D91RNdUnra9wKY7/ldnXGZ\ncV2XYpawVw1CoHoSKxy8hJqXdFDKrhV7mLfMQcPoaOn1RGcH8sL8buc7y+oYusVoHVteKsUElAsE\nlYLffnHDovv8nG2bsbT3BQBA18AeXDVyTDmb28FUP3K/RCWTpba6N21A69O/AoBCzKtHPCxQboX3\n6/wTxaXuPte5I0fQfu115WJzyWJgYACN578bdXv3or647bHzz8PYRReWx2ietKiyhBHVxCQIY3DO\n9zPGPgzgDAATAF7knE/Ljk89RjOK4ExayLkFpbhvW8RmXGvm3l0DuOm8JowN34O+wYXoad+LWy6Z\nE2ubMtZMHfFxX13wVrTNnB2Y+JE0SWT9i0LN9xpSyK51i9KJzg4cvfEGzH50vVJPc7fF1NneFN8p\nXeMwTjmu1ny5GD3p+Eik7ZhETFTafsGHcFqTehF4FcTsffG1F34PAnFd6tNtbTj+q58hJ5TZarh1\ndXmNVwD1Bw5gcON6322V5nyCNTEJotZgjF0M4DsA9gKoB9DOGPsg53ybzPjUhaaDrOBMy1pos5VS\nh8gEgNbmWcWYzEn4WTIBfdZMXeWL3ryIYdMiFvidarNmutEaS1wUpe75rtLTvNSxKGB7MkQVm0Mt\nHega2ON6bV/Yg7tmZlINA8Ts/Yn5lfuVfTiSia31wz1XKx5+PKyQQdsu2xbVxCQIkzwI4BLO+W8A\ngDF2FoBvAPAoc1KJNULTIcxVHYYNsZJZQke7SS+SajUp495MuvtPUjVMbUlWc1u+vI5J17Uo4z7f\nuuIKALlijGYntq64HKc1za6YjzKZ36ZRnZdxyho52fuN+/sxMb8b/dder7wtBz+XugyBBgXBKjk5\nvytw22VrBdXEJAiTHHNEJgBwzp9hjOWCBrixTmgCehYmv24HujG5sMoQx5oZRWTaZM00FUPnRiUR\nKMki+aZFpo7wjzjjVee1IzbHm2bjyfM+HPr9sMxvk0R58IlbO9PJ3teBSmytH14GBdEqOXjTqsh1\nOwmC0MpTjLENANaj4PL8EIBXGWPnAwDn/GdBgxMTmkkIMr/F11TMZNoWpaRFpixJWDNt6mWedBem\ntOedH7LehDiFwFWbCTjItqg0SRoCU5Y02k1WWDcFq2QLzD60Uy9tgpDm1OL/vyy8fzeAaQDvChqc\nqkUzSTd3Ugk6Sewjib7lXugqZxTXmqlLZOqIz7TSTa6pE5DKNaPyXZ2FwN34FXB3UGlRqZOoDztJ\nicy64Txa1vy1lg5AUQhqyhG2RkRtVejeXtk2hGvnsIdVlYQpUWtwzi+MM94K17kuERh209EpNtN2\nmcchTZd5lghbtHWKTJ2Ll1InoBD8OnXFOd64WctBVk1ZsSnTolIHSYrMqHRv2oCZxdJHOoV/FPzu\n4UkZCsRrZ04+n9pvQRBpwxj7JwCPcs7/w+fzSwF8jHP+/qDtWCE0gWTEZhJuGNPoyjCvdpJOAIqD\ndgtJAjUFo1qSALms5bCs86gudAd35rcpbLdkOoiljuJ0ANKBitiMOgd9xwnXSuPAYbJgErXMnwH4\nPGPsrwD8BsAeFGI0T0Yh43wzgOvCNmKN0NSJ181IpxAM6sduK3EWZVlrpk1u8zDCFnNbuwFJYaim\nYNg8l73O4mQtuxHFZsPIMJZveQyn9fdjqKUDW1dcgXGP+pSOADQZS5yUyNQxT8XSRyrlikzhZzn3\nnGOyoSIy36N6nARRgnM+DOCzjLEvoBCHuQzAFIBfoWDJPBo03sEqoanyxKoi7rIkMr2sOI6LVtaa\nqdNqSS5zb3S5zU1YS5KqKRi1WYFs1vLc7mbM+PyXAtsmusXm8i2PoXvHswBQrKWZC8xAd4tBnaIz\nSyITOFH6qDl/OJbwB9QSvWS+KzPHZENFZL5H9TgJohLOeR7AP0cdb5XQBOQXXp2JREH79OoEZAo/\nIWlz8o9DUl2AZIiTBJSqJVNTEk+SNQXjuNDDmHPfA6XYwaC2iY7YbB48WPa+2CUoCFUrp59ITSJk\nY1FPY6Fv+XfD+5bL4JQ+0vHwpJLoJfPd3OAgpq+6urwZQEdH+Zzb/XLZGLwsvHaQCSmhepwEoZ1Y\nQpMxdgWAD3DOwwvXWYzJxVIWXWJSlzXTRpGZRN3MNNGZxBMLBcHrla3bWRwztP+g5xgRP8uWGCsY\n1DZx4bJOjLbPQ2tfb+k9v65ATWNHcc62zcWi7uUu9jPnzsH/+uk/+BZy9xKSOsSlijVTtm+5CnFF\nZm5wEHO+tA5NW39Z9n5QvKdMUphbjKIY1yteE7lDh8pfH/S5B5JbnCBSIbLQZIx9FcB7ADwf9l1T\n6LQueonNrCT4pEVS3X8Au0oaGSNiEo/ueoB+gld0Wbr35zWmVbL1pJ9lS0wa8mqb6GbnJVcDAJoH\nD2K0fR72XnI1sP94xffO2bYZS3tfAFDpYj9n22Ys9SnkbspaqTono/Qt90NXCMic+x7AzJ//ouL9\noHjPiqSwefPQsmZt2QNHhfj0uCamO+cCru9Nd3o/YJBbnCCiwRh7GMDfyPY2F4lj0dwK4PsAbpT5\nctzFMKkamEm3sLRNZOqqlekmS3Uz9+4aSLSsURkRLC6+9QDjECB4ZbN1ndcy15OfZUtMGjpw8eXo\neeRB35jN+acvxkvNN5Rta+mSyjktutTdr8XPnELuJkRm1Oxymb7lYeiew17WyOn29sB4z6M3Xo+G\n7dtRNzSEqdZWYGK8JFYbd/wPGrZvx+RbGBp3nBgz0dmBir53v3cKsH17+WsvNLvFqeA7UUM8BeDL\njLH5ADYB+FvO+T7ZwaFCkzG2EsBnUKj+niv+/zrO+eOMsXeqHq3qxZl0RncWMshNESYyo1gwkxCZ\nWSplFISqxcVrrmoRm1FcjCFjggSnX7kjMWnoTWvWlsdsTk4CjY1lwtMLR9A583uopaNoyUTxdafr\n3+WfTXZ2WyMyHeL2LTfxoCSeQwCYuuB8tKw4y3fM9Jq1aNh/AABQN3YAdaNjZZ837D+ASbYcYxdd\nWFahQIxGJUslQZiFc74JwCbG2EkArgbwS8bYSwA2cM43h40PFZqc840ANsY+UoGw7PJaFnxJY8KK\nCdglMq12mTtYkogQZeGWHeMpgtc/guO3rsYU3xmY9SxazWbxHWgYKVTXcGIVp27+TEWcslP26Myi\nS/2JM94LIFeM0ezE1hWXl767dcUVvp85BMV4hqFjHkbtW26yi9Xw7bcCk5NofO555ACMv/V0DN+0\nCtMBXX8aBw6Xvc7V11dst/7gIQxuXB+8c0uuG12QpZSwEcbYmwFcg4LQ/B0KHu0PMsau5JxfGzTW\nmqxzEpZ6UC1kbap8kS31MgH5xV0243yA96XSG1pEZwHrMqIs3HEW+44ODKz+bOjXKqxmgg/VL1bR\nXfaota8XK0YmfMsejTfNDiyJBATHeAYRV2TaXNt1uq0N+XVfCvxOhbVdsIJPnXM2cs//BnWuBwox\nxtMm8WXiWIyEwhBETBhjWwF0A/gOgPdyzl8rvv8dAG+EjbdGaBL6kBGbJutj2hKTqYLqIq5LbIZ1\nsgpbaNwu6aQWJc99RSzNpPKA6Y7ZHG3pQG5iEi3PnYhN94tVFMsedY3Hm/tBMZ5+xBGZNgtMVdxz\nx88K3nDr6tJ7ufvXAcXqBbUousi6SVjC/Zzz77nfYIwt4Zz3oiBAA4klNDnnPwXw0zjbiErSSTtZ\nI0hsqorMLGaXO2StA5Bs3VavItYV6KrL6XE8othULc0U5boVYzYHn92J6Y3ALP5SIXJ8fBx1w/mK\ncWLZo9H2eaE90YMQ4zhbhg/hwp//na8L3QaRaYMF3sEtnrzmiPheq8+c9auAkFWCrgmybhJpUIzJ\nzAH4AmNsG074kRoA/CuAt8hsp87M4Zmlmi64pBcA051+kirKroO4i3hYxQDVhDfdD02O+Kt/7nnU\nb/5BwVKkkbLjFbLO6/7tP9CwchVw+DBEovyducFBtKxZi/aVN6DlzrXIHTlSyDhvaEDD0aNoGDmK\n1uefRfemDRXndeclV6P/1DMx1LME/aeeWSqDtHRJWyQRuHXFFdi95HSMNRbqa84cH8XS3hfxjqcr\nY+JJZPoTZ757PZBVu9Gh2v8+wkruRsGYuAzAz4r//imAfwPwY9mNJOY619lvvJouOFPljXS2oUyK\npK2ZYXSynsDzE7SAOyJTZd7Lflf6QStiXc5I+xbi7XKjo6jf/APknn4G093zY1tUvWptTt/zBama\nkpPNc/DSld4Z6VFw4jj/979+DTNdlk3Rha5bZNYN5wsdgQJaciaFrvt5VEtdK1uG/FPbSoX+S12D\nMozONZIgdMA5XwkAjLHVnPPIF1iiMZp0ISWDLpc5oOY2T9qaGZT9a6JmpiM6VS1EqmLTIba7LMFO\nKM4iX/dv/4Hc6Gjp/bq9e4G9e0vHIZP044VfrU2vmpKqD1lR3eheZZJMVjcw0RFIFZu8SR2Prkd9\nSNegasCm35yoWb7JGPsEgE640jA55979ZQUSTwai2Mp0rJiqC+nw2Bi+u20Srw+cgpaZvbho+Qhm\nzmiKe4ixcVszvbJ/X7vmZmP7NuWC9FtIIi8wTmzm717G1MKFmJ7XCZxyilmLTzHrvGHlqhOxmiIx\nLKp+tTY9a0r2TUTej0iQCBVLIe19f2CFj9hE7QikK3HNKy44TaumksXeQLyyCUhUEpbyjwCOANiO\nQkS8Eqllnddi3cy03ORRrDXf3TaJZ3rvBpBDf34aOazGpadVtvNLE9FV2TV+BKpSRsaqmTXKEnMA\nHF9xVmKWHncmca5/f8GiWWSiM/rCLnYJcmpteteUVA8bCbJE+olNdykknZZMv/no1xEorkvdr9e8\nQxLiJ6z6guexKFjsVZPVCIIoYwHn/OKog60pb1Stlk5d4tItJt0LkYlYzO1v9OP1gVNwwkKew9DY\nEgAv+45JIwlIdF2Ots9L/BhkSTRsxEBspjTuepqHD5eVqhm+aVXkzYoZ50kTZNlkXfVY/r31pR7r\nOy+5GpPNc7Qfg19HoLgudb9e8ybxEreqKDUWSPOaIIjs8xxj7HTO+QtRBlsjNKsJ3ZZLUUw6r3Vb\n4tzxmC0ze9GfP9F1tHVmr+84HSIzShcgx3XZNX6ktMCrYsqa6WWhEcWmMUtRgrGZZXi4Jyfv+3Lp\nvY5vfBOHb1pVZi0zgWrTAlnEVpbOe8u/t76sIDyASMlHYXPRryNQkEtdxmXuF/8qQ9QHKFHcNra2\nYNKnXaXvdaLSJCCta4IgqoPTUBCb/QDGUBQGnPNTZAaT0NSICdd40IKpczEVk34uWj6CHFZjaGwJ\nWmf24l3LRwCUx2jqsmJGbTU53jQbr11zs7K7PCn8xKZp0ur97OWeBFD23px8PhHLpCPaTApOB7Eg\nvPg6jLgPO14udZWYTL/4V4eyeezxMBFFbFaIWZ0WRq8HHuqHbgSq71kzXBFncGJC09SE9NpmGu73\npEWmLvyyymfOaCrGZDoLmH6RqbPNZBSCFnhdiT+pdPZIq/ezhHuyceCwVCyeLGElqExYN53e6Y6r\nfGxOG1pdn6uEcOiwqLtd6rmlSzDu0yveD7/4VzfOuWlZs/ZEprcr1lFVbFa0E1W1MAYk9/jFY1JM\nphlIbFYvjLHLOOc/BPBOn69sktmOVRZNlRtV0MROuoySqSQfHQQlAiXZ8UdERWT61c00WUpGNyZv\nxtZ0SPFzT6bsstQtNsXe6RNNzRhtacdE8xyMzu2WCuHQGbLRfuZyHDvzXhyLOF4l/jXIEqkSZ59b\n/wiOu+J3VS2Mgck9FI+ZOCQ2q5Y/BPBDABd6fDaNLApNFYFoS9KQzQXXTXUBSqqXOaC3n7mbsIVe\nV0kYN0la9RPDbVnqWYDjl74X6NtXKR4UBEVYFrRImFUT0Cs2Rdd447FRNB4bxdCipVKxmbrjgmXn\nal1vL9o+9RnUDQ1hqrUVR77+EKZOOklpX6IlcqKz40RRPR88E3982k9KEyQmKR4zcUhkViec888X\n/3+d+BljrFl2O1YJTVux2WLph+lWk1FJ2l1uW+mianvyL7csAccvfx8mf7Kl7DuqgkImC1oUL7nb\nb8WhfSPR/xAFxN7pDjKxmabmo4zYbPvUZ9Cw/wAAoG7sANo++Wkc/ufvKe3Hy80+HTKnvc7n0D1f\niHUdTHR0oN79hktMUjxmclTTvYzwhzH2fgBrAcxBIRGoHkAzgPky4xNtQZk10hKYcS0vMiIzTbe5\nLEHWzDC3uY4FPWonoDBSids0hQY3peidkMmC9hIvhz7ycc/tO3Ume17fq1R+SIzFdMY5rvGOV3Zg\nxtgJcRsWm2n6oSdMbNYNDQW+lsHPzR70AOV3PqM+dA3xXciJgvemVScEb1oxygRRvdwL4HoAtwL4\nIoA/BiAdjE4WTQ+yKjCTII16maqk5ZoUCQsFqQrrZhQ35cAApm/8RJk10u0aD8uCBvzFi1fxcned\nSZXyQ2IsZuue3XjmhjWl3ukNo8NY/uNyIeogitShT9yMKde2dfUt99uO13ydam1F3diBE29MTyN3\n5Ii2clN+cz3ofCo9dBXnTXtASEVVXFMEoQBjLAfgEQBnoFB66HrO+cvCd2YB+HcAKznnO4vv3QHg\nfQAaATzCOf92wG4Oc86fZIy9A0Ab5/wuxtizsseYaNa5gy2Z4l6kITJ1CkyT1sxqiM0UERdk3ec/\n6cS0pInipmy47Y5S5rKXa1wmC9pPvHgVLxfrTMqWH6ooW5QfxPIfP1YSqY7g9EIUqc2bNpTVwNTV\nt1xlO0e+/hA6PvJnqDs2DgCoOzaOOV+533i5KZnzKUPYvCGIGuVyAE2c83MYY28H8EDxPQAAY+xM\nAN8A8CbXe+8E8EfFMbNRsFQGMcoYWw5gB4ALGGNPAJB+Qk3Fomnjwpt1gQnYLTJtRbRW6nSTO9YV\nr2zcqrG6RHFTCu71xoHDZa9lsqA9xcu+Ec/i5WKdSdnyQ16xmFFFalifctm+5SIVIjp/2HcOT7e0\nADOagKLQBIAZW3+JljvXhiZcqeCe20N8V+j5lL4WhHkjWrWr5poiCDXOBbAFADjnTzHGxM4HM1AQ\nnn/reu+PAWxnjG0G0ALgsyH7WAPgHgAfAXAHgBsBbJA9QHKdI5vJPiJhIjNOTGbSNTNlrJm7e49o\nK29kIsPci6D6kTWxSBYz1OteebX8/SWLlVvQiuLFuYa9ipf3X3t9WevGnee+X2ofOy+5Gq17dqM5\nP1h6L6pIHWou7/Pu17dcFXE7XmEGDnPuewB1+XzZe3VjxzDziSe1Wgfd89l9Xuj4lR8AACAASURB\nVFWrCVQghGk4f2tNXDsE4U8rALcAmGSM1XHOpwCAc/4roORid5gHYDGAywCcAuAHAN4SsI+DnPMP\nFv/9h4yxDgBM9gBrWmjGFZiOOImynSTd5WmLTBWScpknhayIrKoEIR/KMtQBTLW3Y/qC88vc7aqC\nU8SrH7jYujEoTdJ9XU42z8EzN6zxjcMMwvmee5x7v359y1XoZD0Y/8s1GPvK/VJu6aDWkiptJ2UQ\n530rW4bpq66O1VNdDNPI3b8OrR0dwYMMUgvXbBj0G1jBEApWSYeSyAzgEIAdnPNJADsZY2OMsXmc\n8zJXTDEmsx7ABsbYx4BSNbMGFNzxy2UOsGaFZjVYMWWwQWTKWjN1icy9uwasKmsUJDZtDCMxhuD6\nnH7zyb5u96ixrVNzWtB/7fWlBJnu76xXSrSpnDedGDx9NRyb5nwUEnBaH36kIhvdTVD8pnOcUWIy\ngfLwDpVi6xXdeNyfBVhCdRGnpzoAq7LJ3XOzZjwSAdBvoL86iQJbUbBM/hNj7GwAL0qM+QWATwF4\nkDG2EMAsFMSnyMUodAXqAeC+0UwCeFT2AGtWaFYDJmtl2h6TGeQ2t0lkAvS0X0IxQz2q2NSVaBO4\nfVeiDxCexa5rTqouZmXu6q55GDvvHag/eAjHu7qA6anCv2Mk6KhQx5YDIdUEsghd3/QbpMz3AVzM\nGNtafH0dY+xqALM55+44ymnnH5zzHzHGzmOMPY2ClfJmzvk0BDjndwEAY+xazrlUFyAvalZoit1E\nomQfx7GKxulUIiswbUj8MWHN1C0yTT6Jht2A3WLKypt1QE9pVUwW0naHsehKtPFDJovdXd4Ii3rQ\n3xOtfFFcyuuNAmMXXYjBjeuN79drLk/evw4Thw5hxvMvFFa8iQnkjtjZWCKMaq8mIYuV96waoygQ\nxSLCOz2+9y7h9R0Ku1kNyXaTXtSs0ASCBUac+EsRt6B0CyFVsWlrtx8/dHcBMlGkPU2RmQUCe0qr\nkoDrs5P1IHfKEkBDoo0fMlns7vJG6OstWVX96l6G1dWsG87jpO//nXIijYy7OkqSjphZLkVHBxrn\nzi0lJNX/7BdA4/3A44/JjbeMari+CUKS3YyxjQCeAjDqvClr5axpoSlDXMEpCknntaooUhWZNlgz\nZZGxZmZJZKouQFYvWBo6/ySNWPqo/4prtG6//6M3YHR4IjBByK+8kZ9bP8zd371pA2YWP1dJpJEp\nfi/T8tONOF+V5q9HiaJBMb5PoxWdIAgtHELBxX62671pSFo5SWhKIrra46KSsJKUJTMNl3kYplpN\n2iIyrSdK55+UERNk2hHfMyFaHH8T0MZy4bJOYFFPwZJZxLGq+rn1xfdnP/8seh5+oGTZFD+XTaSR\nKZaumqQTK/HDp0SRG61WdIIgYsM5vw4AGGMdnPPDYd8XIaEpiYksdVMtJ9PuY66rZqauOpkicURm\nUPmdqhOZMBtXKUNYLJyM21f22g1yX4sWxzNcFkev69ivfJFf/Uzx/frxcbRu+zVm7uLI9XQjN1Je\n/1I2kUYmK13G6ikS5i73uxakShRl0IpOENUMY+wMAP8XwKxiZvvPAHyQc/7fMuNJaEqQVtJPFKrF\nZS4jMpPOLhfrAgI1UJ7IgpIyQWIzzO2rcu12f+uv0frcMwCK7uvJSfR9+vbCtgMSjLzmoV/5Ij8B\n6rzf8sxTyE2dKIE3Y/AwMFgwIEzO78L03LmBWeJR4i11tYh042v1lJlPGbSiE0SV8zUAVwD4e875\nXsbYx1Goo7lCZjAJzRB0WDKTFptpojsByBb8LDTVaMXMEkFuX9VrdxbfUfZ65o6XStdtj6ZOPn4C\ndGpOC449dC/mvOcS5PLDnmOn584NzRhXjbcE1GpxqhDVxZ62FZ0wA9XazDSzOOc7GCs0A+Kc/wdj\n7D7ZwSQ0A7ChqLtKfCZZM4lqxc+qGcXtK5uQ5+7X9pvzPoAzYnbyCcIJ5xg/4wzM/MVWz+/I/G1x\niqLLWOlVLaaRxIUFVnRCL86cIrGZWQaK7vNpAGCMfRiAtPWMhKYPuhN/bMX2mpm2QDdIs4TVEvUT\nP1Hcvn4Cc5T9Plqe21Z6Pbj4xLHMP30x+k7XV/RdZID3oZP1YHjN5wCnpeS8uUCuDvUHDkj/bVGE\nt4PMHI9iMSUI50GR7qGZ5eMAvgPgfzHGBgHsAiBdzqMmhaaXiDSVhRxHZJq2Ztre/cc26EZpniG+\nq2Q1axw4jImOjoKY9LGaBbl9VStF7PvYTZje1FCyWg5eez0WJlhk3RGbcYRb3HjLsJhjVYspXS+E\nA82F7MI5380Yez+AYRR6n8/nnP9OdnzNCU2/hcd5X2cZI5stmbrJgjVTx8MEiU39iOLGbTWrB2JZ\nzdznPOy6jtN/XBeO2IyKqXhLBxWLKV0nBFEdMMY+BeDPOOdvY4wtAfAvjLEHOedSMS5VJTT9FhIV\n8WiLyMySNdN2kanbWm11y8iM4WVBixNnGIRK84WwTj0miSs2TaIrQ93Wa8jW47IV+r1qhlUA3g4A\nnPNextiZKHQJqi2hGbR4JJXUU0sWTAebs8xtXayJYOLEGcogIzjDOvXUKrIWUxIeBFFVNAI45no9\njmJikAxVIzTTQncM5tIlbZmyZsoia800VaRdN7SQ6sGrZ7aJuo6qBNXNNE0tPCCpXD9kNbMXOic1\nw2YATzDG/rH4+koAP5AdXBVCM60yRCYSfZIoZ6SLtKyZsqWNbHZBEpU4mamm4wyB8HuGXwcf01TL\nfDURy5xEfDQJJ4KohHO+mjH2AQDvBDAB4K8455tlx1eF0EyaJOMv/UhbZJogK/UzaTEyR1jLSZEo\nnXBkEDv4HLjyQ+h55EGjMZvVIjIJgqhKdgDoR7HEMGPsfM75z2QGpiY0dbXws6GougpxRWZcganL\nbZ6GNdMGkUmYR+XeYKquo5iB3vPIg8ZiNklgEgRhM4yxhwH8KYDdrrenAbxLZnxqQrPqe0QbIKsi\nUyY+M8yaaYPIJEtmggwMoGXN2lBLpakMdRHdMZvVLi5bu+aiYeWq8jaSHR1pHxZBENF4DwDGOR+N\nMjjTrvNasmZWs8gMI22RSQIzeRpuuwP1EpbKqBnqqvVy48RsVruoFGlly9CwchXqNxdzBZ57HgAi\nt5Wk648gUudllHflVSLTQjMtFi7rTLSUUbWLTFszzWmBS5He18pe+lkqk8pQF2M2ZXqd14rA9LxO\nhPNX8TpBKGudIGIzAOAlxtgvAYw5b3LOV8oMzqzQTNuaqSo2dSQARSHrIjOuNVM185wWI3XcYTDa\nfr8li0uWMMDfUhknQ13FqqnaNSiLIlM1bj7wXAvnD0sWxzm0yLj/FhKcBBGZLcX/IpFZoZk2SYnM\nONbMrIvMJKHFxy4m719X+Ecxxi93/zq0umL8dMV4R205GzQuayJTnPsymf9h14t4/kqvHQYG0HDb\nHRTDSRAZgHP+nTjjMyk007RmZsVlnkZRdt3EtWZmZcHPuqXFESZlxx9XSHR0RI7pUyVINNYN59G9\n8RuYxV8CpoGR5W9B//U3Y4AncmjGiTLnpMaEnL+G2+7QFsMZhCias3qNEUQaMMamUN4BaBrAYQD/\nCeATnHMpQWSd0AxzdaYhMk0UZg8jqshMW2Cm1c9cRFVkJlEMupoRf7ukhIQu/MRm96YNaP3vbaXX\nrc8/C2zaUBXtKIPmu59VU9s1YiiG0+uhja5rgogG57xOfI8x1g3gBgAPA7haZjtWCU3nRu/8XxQL\nSYhMnRbLJEWmKYFpe/cfL7JiyaxqEk4GUSnc7r6PuOeK+9/Od7zKGCXZjtIUMuLLqDXQQAwnxWMS\nhHk45/0A7mGM/VZ2TGJCM4ql0i04syYyo2CTwMwqWRaZVWVVNZgM4mVpky3cLt5H/O5Lznu5U5YA\nrrJGQHLtKE2hMsc8wyI04BfDadSKShCETsZlv5iY0IwjANLOME8CG1tKZs2amUWRWa2NC0KTQSLi\n93vJFm53P7TKzJfh228FJifR+NzzmD4+hRF2amBpoyzMQVXhaETo6YrBdcUCt3R0aGtBShCEP4yx\nKwEckv2+Na7zpKyWSaHiNrdRZEZBJT5TZ8Z5FhZ3GarKcpNgMg+gVri9k/UUXO0SnYem29qQX/el\n0utqyTTPivU87BjdscD1QJklOwt/H0HYDGPsFZQnAwFAG4BdAK6R3Y41QrNWsVVkqlgz00wAMrXA\nJxHjVa3WTFME/V6qhduj9kgXH4izJjDdxJnjpq8P6e16FPY3cUxZEeYEoZkLhNdTAA5zzodVNmKV\n0Kw2q2YYNorMNFpMRkX3Iu8lZGo1qUD8LdL++8NEuWrh9jg90m0RlzIJUDLfsW2OKx2HEAtcx5Zj\nSvPxOL8PiU2i1uCc9+rYjlVCM01syDZPm6REZpDbXDY+05bFvhqpBUtr1B7pNiFjlY1qufXD9NxQ\nFXKmYoEJgtBHzQvNLAtMnRnnSSX+2NQNKG1stY64WxHacowy3WpUSKpHuklkrLJ+38kNDqLj0fWh\nWd+qbSkTJ4FYYN1zjyBqDeuEZlZLGWXVipkUMgIzbicgU9gitpLGtr9b54Ifp0e6LchYZf2+0/Ho\n+oqC+gOrP1sxngRWAduuBYLIEtYJTZOYqpOZhsjMijVT1oKpIjLJbV67uMWmuPjrFkW2J/3IWGW9\nvtPKlmkrqG+T1ZsgCDupGaFZTSIzC6i4yONaMsm1VVv4CRtd88CveYRsw4mkRKmMVVb8Tum3M1hQ\nnyAIwk0qQjPpzHITIjOuwIyTcW6DNdOWnuaAWfceWWuyg6554BW+EyYe07J4qrTedM9lMYnm8E2r\nIu2frg+CIMJItAVlGtiY7GOLyIxKmMg0ac200YVJFHF1aSklmHR0qH/HArIyzyJnlbuSaKIK9FCR\nmZFzTRCEWarada5LZFarezyKNVOnJdPW5B8Hstao4e7S4rhlxYxgme9EoVZDJ+LUAwWi/W6y14Wp\nc00QRLaoaqEZFxMC0xZrZhZFZpJWJhKZEZBJMNGUhEIUkK0HqmM+K2+jBs+1W7jTPYQgClSt0DSV\n/CODKCYdgWaLyIyCrMishjqZtEBERCbBxEASSq1aM4HwzPNUBKYDJRwRBIEqFpo2EbfVpG6RaaoD\nkIlSRmlAJVuiIdOlhTq56CUs8zxue0m/cTLbrcVzTfcNgqiEhKblpG3JlKUaLJluSGxGQKZLi+ZO\nLrVszdRBUEkomfkfeJ0k0LWHIAj7qUv7AGwmbfFkQmQm1c/cD9utmW5IxMgxxHeV/kt6v0SB3OAg\nWtasRfvKG9By51rkjsjHl6s+UIm/exrnniCI7FB1Fs20yxnFdZM72GDJlBGZaYtxGdwLqeqCSJZN\nIm1kCtFHLnPks48wl7nfZ3StEAQhUlUWzbRFpi5MiUwVa6aJguxpWDPFha+VLYttwSHKcX7PJEVG\nLZ0Tmb81bpkjNybiOWvpfBEEUU5VCU0d7O49Ellk6rBm2mDJVEHmt1q4rDO2yIxa2ihO/BkhD4nM\ndDneU359+JU5CsLEOXSfKzpvBFGbRHKdM8ZaAfwdgFYAjQBu5Zz/WueBqRLXmplmS0kHkyIzaqvJ\nOGQpHpOwHxIq/viVOVIVj2Hf93Pj04MbQRB+RI3R/HMA/8k5/yvG2HIAjwE4U99hnUAUkF7ihURm\nMGkkAOkUmXELtfvFjsnEviUJWV+9UT1HKv2/bSLOcYtljlRjLOPMMZWxFMdJELVHVKH5AIBjxX83\nAhjVczjleAnIvbsGtIoYEpm1QVbEJlFOlHMTNzEmLXQcd5CIo6oABEGkQWiMJmNsJWPsRcbYC87/\nASzjnB9jjC0A8LcA7jBxcF6CUnzPpg5AUchaTGbSJNF2MkqCUFLHYcNxpUmUvz9qYkzav3XchB4Z\nt3eUcUHfDxrr92BHEERtEWrR5JxvBLBRfJ8x9gcA/h6F+MxfGDg2AAVh6YhJm2L+siAy0+5nHhfd\nIjPMbWdL/BktxuU4v4eshUy2/7fXPlT3pZMox+1Gxi0t/n26M8y9vhd3XwRBZJuoyUC/D+AfAXyQ\nc/6i3kPyhkSmnZioo2nSihm26MnWEySSRzbMIaz/t9d2o+5LJ0EJPVHqv4rIWiKj4nfdeO2LrjFC\nFZoz2SU3PT2tPIgxthnA6QBeBZADMMg5vyJoDP/O4+o7CiGNJKCsFGRPwpoZJjKjPBwk4SoX8VsI\n6WZmJ34PC1GFYdh5TjPWULXZQJgoNTWnVTwBNngNiGwRlMTW1NGdS/hwPDnw619o1zgA0HX2uVb8\nfXGIZNHknF+u+0CC0B2HmWadzCRIIgHIJkumCesTLXz2ovvc2PpQ4RWvG0dsmvwb3S553SWVCMIL\nmjfZwfoWlLZ0+8mKyEwCGZGpYs2MY8V0x9ZRlisRFdvEZpi7WXZ8mPVX998ss704opSoTWieZBtr\nhaYtAhMwIzL/YMHJRtznUa2Zsm5znSJTt5ucxGZtE7d+piN80p5DOhfVMMGaZqIOiQeCqA2sE5q6\nBKauXuVZsmSadpnrEJk6xaUtSRyEHXQ8uh71MetQ2jp3ZF3mUbdDmeHJQoktehjiu9B1tj2VUghv\nrBGaNlkwHUyKzKxlnZuIyTSFqtgkF17KDAyg4bY7gN7XgCWLMXn/OqCjw/fr4rl1zt0U34l61/uq\ndSizTphYtFVEEwQRHcZYDsAjAM4AMAbges75y67P/xTAXwCYAPBtzvkGxlgDgO8AOBnAJIAbOOc7\nTR1jaMH2JEiz6Hoa2OQyB/TVzpRxmQ9wfYt/WHYticds0HDbHajf/APUP/c86jf/AA23rvb9rtc5\nH+K7MMR34XhPubVctQ6lLZgShHQ92APdn/RAvyEA4HIATZzzcwB8DoXOjQCAoqB8AMC7AVwAYBVj\nrAvApQDqOefvAPCXAL5k8gBTFZp7dw1Yk1GeFLZZMpMUmSYIW5TpRpQBel8Lfl0k7FwP334rxi66\nEBOnvgVjF10YWj/TZrziKKOMJeyG7k+EBs4FsAUAOOdPATjL9dmpAHZxzoc45xMAfgHgfAA7ATQU\nraFtAMZNHmBqrvNas2IC5kRm2glAqiJzgPdpjdUMi3eiuE3LWbIYeO758tcRmG5ry0RPc1nihHTo\nCgcxFbtJMaHxoThPokgrALeFbZIxVsc5n/L4LI+CsBwG8GYA/wNgLoDLTB5gKkIzCyJTZ3ymSStm\nVttM6habDkHdSUhs2snk/esK/3DHaAokde5UC6SbJo1j8AtP0ClciXjQ70i4GALQ4nrtiEzns1bX\nZy0ABgF8BsAWzvmdjLE3AXiSMXYa59yIZTNRoWlaYNqYBGSbyFTFRPcfIP0OQHSjtoiODkxu/Gba\nRwEgWUEruy+dD0lB25LpkBTHwkoQ1UyKVuWtKFgk/4kxdjYAd1vwHQB+jzHWDmAEwHkAvgLg93HC\nXT6IghZ051JqJVILyig8ueZRozuyTWTa2GLSQcaiKZtlblObST8hSW6l6qBaxIrKA0+ch6M4LSB1\ntrFMoyVmrUAVM2BNC8pjh/uNaJywv8+VdX568a3rAJwJYHYxw/xPAHwehXbh3+Kcf4MxNhvARgA9\nABoBfJVz/n9NHD9AQrMMHSIzqWQfk0IzSZHpZKHr6A7kQL2Uq5cga1xWhKisqItbpihozoc9iOkS\nhyaT9UhkEQAJzSxgTR3NONiQaZ5kNnm1icw4yC40tChVB6KgrIZzqvo36RLVQfsJ2ofstWRK+IsZ\n+bbPAb+6rwRRK2ReaNpiyUwKk3GZJkWmKmKvZlmyYtUiouO3UGfJqimieuxRrw9xfFQoa5wgCFky\nLTRrTWSaQrXrz95dA4mITZlF1Jb+1AQRFXHuqljpvGI4dYk/UcyqxouGXZdRj9N9XFkQuu7fIQvH\nSxC6yazQtElkZiEuE0i/rJFY0qiT9Whxn+vqA01kmyw+bERxT/uJFlNWyqCY0jCxZ1JkZemaztKx\nEoRuMik044rMLFoxTYnMpHuYe4lNL3SKBpNlWwgiKmFzXBRocSyfKsei+3qga4sgapvMCc1aFJlx\nCLJixhGZcdznpoq1R8FZYMm1RSSFTXHHcRN+CIIgwki117kqNorMJNzmpltMmqCT9VghJmmxrB3o\nXKtB9S0JgkiCzAhNG0oYpUES3X+iIGvNTFNsqi6WtLhmn1o7h1GtnXGspGJrV4IgiCAy4Tq3KfHH\njc3df0yi6jIXk35MiM84GaxZTCIh/Ilb+qeaMZk4Z0N9UwqByR4UplH9WC80bXSXJ4HpDPOkk4BM\nobuUC1E90EPECXR0E/L7nte20xAPYkITQNe1Tkz8pu4YeTpX1YvVQtNmkWnSmmmrJROIXqzdJium\nqe0Q9kFiUw4T1wCJh+qBriEiDtbGaNaqyNSBiSSghcs6EynSLgstYIQsNFfMEtSpKa3jaGXL6Lxr\nxPktTdRCpXNV/Vhn0bQ1HtPB9rhMGZGp4ja3SVw60E2JIAqouLpNWqVs6UFP9wZz0G9LRMUqoWmz\nyLS5jJGDTktm2gKTEjoInZALXS9eopKECOFAYROEGyuEpq7SRVkWmXGRFZlh1sy0BSZA5VMIM0QR\nmzYL1Cjlu7z+FtXt2Pp7EHZA84MQSVVo1mptTC/iWDN1WTJ1icy4iT+UMUqYIMoCGHfRNGmZ99um\nbO/xqNgsvon0oflBiKQiNE0JzNPe1J3ZckZRURGZQdZMW0SmG3K/EDpIa9Hzs8ynvQjTNUWYhuYY\n4SbRrPPdvUcyZ8XMQmxmXNwic++ugdJ/qpgoYRS2KA/xXakv3IS9pDE3wrJoTS/CSf7NJCgIgggj\nMaGZlMBMs793FhFFZlTS7mtOYpMQUZkTOkqsqGyDBJo8UR8mnXH0MGoHdB5qFyuSgWzFdmumLre5\nKkmLSnKhE6YQ51XUmErb5qfpOOc0/l6V+wAJGoKwh6oSmjrjM23PNK81y23YImPbQk/Yj9+cSUpk\nJpE0UQ2JdVGOnRJSCMIerO0MpML2N/ozKTKjWjNVRWaQNdPtLrehtJEq1FWC0EnS4kRm/uqY39Xo\ntgz7m+i+YBd0r65dMm3RNJFhXm2WTBmX+d5dAyWRuXBZZ2is5gDvSz0mkyDCSMKqpWvhdB+r1zZ1\nWV9tt3DKusfdf3fQGLJsEkT65KanpxPZ0YaP3KttR9VSmF3VomlCZLpRsWimJTRtXSCJ7JP1uExA\nPQHKFsTjDjs2HYXnieqgqaM7l/YxAMCxw/1GxJQtf18cMmPRNF0fs9pEpgpZcZnTQkLEIawXt6r1\ny3brYBBxj1n3306WR4KoXqwXmtVYgD3tupluoojMNKyZWVzMiXQJEi5+7tYogscmwSmTNW/DcXoR\nJ6mKIAh7sVJoJi0uk7Rm2iIys2LFBGghIdSJYx2LWuLIpjJcXn+DrmOTjY80iS2/M0EQ4VgnNElk\nVhLVbb6794hnnGYckZm0NZMWFEIVXS7YrFs3AXuOgyCI2sUqoVmNbnKHrFsySWASthAk5nTH+VHs\nIEEQRDysEppJY3u9zLjo7AaUFCQwCVlEt3BWBKFtVk+CIAiT1LTQzAJR3OZhBdpti8+kBZeIi6my\nPlHEq7h9v22YiJ9MgrCanwRBEG5qVmjaXpgdkBeZWbRcOtBClT3STHrRkeSje7te+4ga2+nehi5I\nFMaHfkOCiE5VtKC0GdNu8yyLTCJ7OAtu1loaJiEynW3F3Z7u4zGxXWonSBCELDVn0cyCJROQs2ZW\ng8hM0jpGVgm9ZOF3jNJhJm2y8LsSBEHIUjNCMw2BabKcUVSRaWOBdpvqDxLBpH2edCb9JCUyZY45\nid817XNHEERtYpXQPO1N3UZKHGVJZJrERpHpkLRlkxZdIgmceUbzjSCIWsW6GE3dPb2zJjJtcpkn\nXTvTRjcmYR864gNprhEEQSSDdUJTJ1mJx0wCVWtmGv3MTULCovqw3Upo+/ERBEEkgVWuc0Bfd6C0\nRGYWrZm2iMqoC7OMK5wW/eokKP7R75zrKpEUtB3b5pttx5NF6DckiGikJjRNtpvMosg0SZg1c4D3\npS4244hMorbxEpu6RabX9vxqZtokSGw6lixDvyNBRCcVoUkisxKbYjOTJEgQqJSmoQQfAogvCKKM\nr8VOObX29xIEEZ1EhaZJgQlUt8isNmQKaAeJR7JkEm5kBI9JV3eU8TJz2FSXoDjbp2uPIAgVqiYZ\nKKsiU5Yk62ZmAbKkEG5kOvL4ub9raS7V0t9KEIQdJGbRNG3NTAMdIrMWrZlhOK5ISvAhZPBqs+g3\nN0y5ub1Ersz8TSOhKG7Re7ruCIJQwbqs8yhktYyRrMisRmtmmJCkxYyIQ9D8Mu2O9nrftvls2/EQ\nBFG9VI3rPGlsd5knRZYWLBn3KpEtgs5n1HPtzBPxvzj7UC3BlKXriiAIIojMWzSr2Zppu8jMKpSh\nTohEEaU6HlqiuNwJgiCyRKaFZlYTgJKIy0zKbZ4lCyEt4ISIyvwVH1BUYh3FuZel64YgCCIO5DpX\nJMmi7Lt7j0QaZ3NspgOJPiJNdIVRyMxjEpkEQdQymbVoZtVlbhoSmQThjS5Xtzh//SybXvM8Sgkm\nv+NQ+T5BEERakEVTAVtbTDqQyCRqDdlC7aatiKJLPYrIjAJZRwmCsJ3MWTSzbsk0FZ8ZV2Sa6HdO\nopJIE7Eea5JiM43xBEEQNpIpoZmmyEw6AUgl41yXJdOE2CQI08gKNB2xknHEYFDyUNTtkjglCMJ2\nMuM6J5GZDAO8T9u2yK1HpIlMPKSKUNMh6vzaYBIEQVQrmbBoksj0x0RcJlk2iVrCLfR0WxxV9p3k\n2DiIvxEJZYIggrBeaGY5JjNLlkxTUHF0Im1U5qCXe133/PXbnkomOV1TBEFkhUhCkzE2C8DfA+gA\ncAzARznX6HO1hCSzzG0RmSYsmSQ2iTQQk4FUcYRfEvPXbSUM21/SVlev/VB5JYKwA8ZYDsAjAM4A\nMAbges75y67P/xTAXwCYAPBtzvmGsDG6iRqjeQOAZzjn7wTwXQCr9R2S0iv0oQAABHBJREFUHWSh\n+49uyF1OVBtxRaZp/EovRemtrlLGKW7JJ9X4VoIgjHE5gCbO+TkAPgfgAecDxlhD8fW7AVwAYBVj\nrCtojAkiCU3O+UMAvlh8uRjAYW1H5CLLbnMV0rZmdrIe4yKTEoMIk+islaki/HTvJ+hzFREp+zld\nlwSRec4FsAUAOOdPATjL9dmpAHZxzoc45xMAfg7gnSFjtBPqOmeMrQTwGQDTAHLF/1/HOX+WMfYT\nAKcBuNjkQSaN7YXZdZCG9ZJc6IQJVNzOKtsyiYpoVOmpHmW/dF0SRKZpBeDuVz3JGKvjnE95fDYM\noA1AS8AY7YQKTc75RgAbfT67iDHGAPwIwO8FbeerT9yfi3SEBEEQAXSdrS9MRee2dO5H13El9fcR\nRK3R1NGdlsYZQkE4OrgF4xAKYtOhBQUPdNAY7URynTPG7mCMXVN8eRTApL5DIgiCIAiCICTYCuBS\nAGCMnQ3gRddnOwD8HmOsnTE2A8B5AH4F4JcBY7STm56eVh7EGJsP4DsAZqIgVu/gnP9K87ERBEEQ\nBEEQPrgyyE8vvnUdgDMBzC5mmP8JgM+jEPr4Lc75N7zGcM53mjrGSEKTIAiCIAiCIMLITAtKgiAI\ngiAIIluQ0CQIgiAIgiCMQEKTIAiCIAiCMEIivc5rpWVl2jDGWgH8HQrlDBoB3Mo5/3W6R1WdMMau\nAPABzvmH0z6WaiHptmi1DGPs7QC+zDm/MO1jqUaKHVk2AjgZwAwAX+Sc/0uqB1VlMMbqAKwHwABM\nAbiJc/5SukdFeJGURbPqW1Zawp8D+E/O+QUoZJ49nO7hVCeMsa+i0BmLasPqJdG2aLUKY+yzKCzQ\nTWkfSxVzDYCDnPPzAVwC4OspH0818qcApjnn56LQy/tLKR8P4UMiQjOplpUE/v/27l81qiCO4vhp\nLIV02kjSHQz4DFYWloJVSBERAmm0EEQRLS0Dgo1VElJpICGldoJpfIMDPoSVfxDFYm6bK8KdO5vZ\n76faW+1hWO4edubub1fSm+H1JUnfG2bp2ZmkndYhOjTrWLQl9kXSndYhOvdOpfxI5Xv2V8MsXUpy\nKml7uFwTvWJhTb51vowjK1v4xzpflXQo6UHDiBfeyBof2b7ZNFyfxkapYSJJTmyvts7RsyTfJMn2\nZUlHkp61TdSnJH9s76vshtxtHAfnmLxoTjWyEuPOW2fbN1TOwz5K8mn2YB0Z+yyjilnHogE12b4m\n6VjS6yRvW+fpVZKtYYjMZ9vXk7CTt2Bm2TpnZOU8bK+rbNlsJPnQOg/wn8ZGqWF6nDGuxPYVSe8l\nPU5y0DpPj2xv2n4yXP6Q9FvloSAsmFmeOlf5VejA9n2VcntvpvddNi9VDvi/Gp7g/ZqEs1i4KE4k\n3bJ9Nlxzn6iLsXD1PJW0Ium57Rcqa307yc+2sbpyLGnP9keVLvOQ9V1MjKAEAABAFfxhOwAAAKqg\naAIAAKAKiiYAAACqoGgCAACgCoomAAAAqqBoAgAAoAqKJgAAAKqgaAIAAKCKv6WtCLd56fpaAAAA\nAElFTkSuQmCC\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x7f06e4b26d68>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"cmap = sns.cubehelix_palette(light=1, as_cmap=True)\n", | |
"fig, ax = plt.subplots(figsize=(12, 8))\n", | |
"contour = ax.contourf(*grid, ppc['out'].std(axis=0).reshape(100, 100), cmap=cmap)\n", | |
"ax.scatter(X_test[pred==0, 0], X_test[pred==0, 1])\n", | |
"ax.scatter(X_test[pred==1, 0], X_test[pred==1, 1], color='r')\n", | |
"cbar = plt.colorbar(contour, ax=ax)\n", | |
"_ = ax.set(xlim=(-3, 3), ylim=(-3, 3));\n", | |
"cbar.ax.set_ylabel('Uncertainty (posterior predictive standard deviation)')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"This is really neat -- because we're in a Bayesian framework we get uncertainty in our predictions. You can see that very close to the decision boundary, our uncertainty as to which label to predict is highest." | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Variational inference with ADVI " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 36, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"# Restore to original data\n", | |
"ann_input.set_value(X_train)\n", | |
"ann_output.set_value(Y_train)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 37, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Iteration 0 [0%]: ELBO = -575.13\n", | |
"Iteration 2000 [10%]: ELBO = -239.1\n", | |
"Iteration 4000 [20%]: ELBO = -201.38\n", | |
"Iteration 6000 [30%]: ELBO = -188.81\n", | |
"Iteration 8000 [40%]: ELBO = -181.05\n", | |
"Iteration 10000 [50%]: ELBO = -169.2\n", | |
"Iteration 12000 [60%]: ELBO = -136.24\n", | |
"Iteration 14000 [70%]: ELBO = -121.37\n", | |
"Iteration 16000 [80%]: ELBO = -118.21\n", | |
"Iteration 18000 [90%]: ELBO = -121.86\n", | |
"Finished [100%]: ELBO = -119.77\n" | |
] | |
} | |
], | |
"source": [ | |
"with neural_network:\n", | |
" # Run ADVI\n", | |
" means, sds, elbos = pm.variational.advi(n=20000, accurate_elbo=True)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 38, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.text.Text at 0x7f06b8e46080>" | |
] | |
}, | |
"execution_count": 38, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x7f06b972d860>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.plot(elbos)\n", | |
"plt.ylabel('ELBO')\n", | |
"plt.xlabel('iteration')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Mini-batch ADVI for Big Data\n", | |
"\n", | |
"Contributed to PyMC3 by Taku Yoshioka." | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Redefine model, this shouldn't be required but couldn't solve it in time." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 39, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"# Turn inputs and outputs into shared variables so that we can change them later\n", | |
"import theano.tensor as tt\n", | |
"\n", | |
"ann_input = tt.matrix()\n", | |
"ann_input.tag.test_value = X_train\n", | |
"ann_output = tt.vector()\n", | |
"ann_output.tag.test_value = Y_train\n", | |
"\n", | |
"#ann_input = theano.shared(X_train)\n", | |
"#ann_output = theano.shared(Y_train)\n", | |
"\n", | |
"n_hidden = 5\n", | |
"\n", | |
"# Initialize random but sorted starting weights.\n", | |
"init_1 = np.random.randn(X.shape[1], n_hidden)\n", | |
"init_1 = init_1[:, np.argsort(init_1.sum(axis=0))]\n", | |
"init_2 = np.random.randn(n_hidden, n_hidden)\n", | |
"init_2 = init_2[:, np.argsort(init_2.sum(axis=0))]\n", | |
"init_out = np.random.randn(n_hidden)\n", | |
"init_out = init_out[np.argsort(init_out)]\n", | |
"\n", | |
" \n", | |
"with pm.Model() as neural_network:\n", | |
" # Weights from input to hidden layer\n", | |
" weights_in_1 = pm.Normal('w_in_1', 0, sd=1, shape=(X.shape[1], n_hidden), \n", | |
" testval=init_1)\n", | |
" \n", | |
" # Weights from 1st to 2nd layer\n", | |
" weights_1_2 = pm.Normal('w_1_2', 0, sd=1, shape=(n_hidden, n_hidden), \n", | |
" testval=init_2)\n", | |
" \n", | |
" # Weights from hidden layer to output\n", | |
" weights_2_out = pm.Normal('w_2_out', 0, sd=1, shape=(n_hidden,), \n", | |
" testval=init_out)\n", | |
"\n", | |
" # Build neural-network\n", | |
" a1 = T.dot(ann_input, weights_in_1)\n", | |
" act_1 = T.tanh(a1)\n", | |
" a2 = T.dot(act_1, weights_1_2)\n", | |
" act_2 = T.tanh(a2)\n", | |
" act_out = T.dot(act_2, weights_2_out)\n", | |
" \n", | |
" out = pm.Bernoulli('out', \n", | |
" T.nnet.sigmoid(act_out),\n", | |
" observed=ann_output)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Define mini-batches and how to set them" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 40, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"minibatch_tensors = [ann_input, ann_output]\n", | |
"minibatch_RVs = [out]\n", | |
"\n", | |
"def create_minibatch(data):\n", | |
" rng = np.random.RandomState(0)\n", | |
" \n", | |
" while True:\n", | |
" ixs = rng.randint(len(data), size=100)\n", | |
" yield data[ixs]\n", | |
"\n", | |
"minibatches = [\n", | |
" create_minibatch(X_train), \n", | |
" create_minibatch(Y_train),\n", | |
"]\n", | |
"\n", | |
"total_size = len(Y_train)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 41, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Iteration 0 [0%]: ELBO = -221.06\n", | |
"Iteration 4000 [10%]: ELBO = -230.95\n", | |
"Iteration 8000 [20%]: ELBO = -165.57\n", | |
"Iteration 12000 [30%]: ELBO = -92.98\n", | |
"Iteration 16000 [40%]: ELBO = -70.55\n", | |
"Iteration 20000 [50%]: ELBO = -120.95\n", | |
"Iteration 24000 [60%]: ELBO = -129.75\n", | |
"Iteration 28000 [70%]: ELBO = -96.38\n", | |
"Iteration 32000 [80%]: ELBO = -137.92\n", | |
"Iteration 36000 [90%]: ELBO = -122.2\n", | |
"Finished [100%]: ELBO = -105.2\n" | |
] | |
} | |
], | |
"source": [ | |
"with neural_network:\n", | |
" # Run advi_minibatch\n", | |
" means, sds, elbos = pm.variational.advi_minibatch(\n", | |
" n=40000, minibatch_tensors=minibatch_tensors, \n", | |
" minibatch_RVs=minibatch_RVs, minibatches=minibatches, \n", | |
" total_size=total_size, learning_rate=1e-2, epsilon=1.0\n", | |
" )" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 42, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.text.Text at 0x7f06e5221470>" | |
] | |
}, | |
"execution_count": 42, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x7f06b8c62cf8>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.plot(elbos)\n", | |
"plt.ylabel('ELBO')\n", | |
"plt.xlabel('iteration')" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.5.1" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 0 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment