--- a +++ b/HAR_PREDICTION_MODELS.ipynb @@ -0,0 +1,1840 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Obtain the train and test data" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "ename": "FileNotFoundError", + "evalue": "File b'UCI_HAR_dataset/csv_files/train.csv' does not exist", + "output_type": "error", + "traceback": [ + "\u001b[0;31m-----------------------------------------------------------------\u001b[0m", + "\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m<ipython-input-2-f985c27c5009>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mtrain\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_csv\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'UCI_HAR_dataset/csv_files/train.csv'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mtest\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_csv\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'UCI_HAR_dataset/csv_files/test.csv'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtrain\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtest\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/Downloads/ENTER/envs/py36/lib/python3.6/site-packages/pandas/io/parsers.py\u001b[0m in \u001b[0;36mparser_f\u001b[0;34m(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, escapechar, comment, encoding, dialect, tupleize_cols, error_bad_lines, warn_bad_lines, skipfooter, doublequote, delim_whitespace, low_memory, memory_map, float_precision)\u001b[0m\n\u001b[1;32m 676\u001b[0m skip_blank_lines=skip_blank_lines)\n\u001b[1;32m 677\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 678\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0m_read\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 679\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 680\u001b[0m \u001b[0mparser_f\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__name__\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/Downloads/ENTER/envs/py36/lib/python3.6/site-packages/pandas/io/parsers.py\u001b[0m in \u001b[0;36m_read\u001b[0;34m(filepath_or_buffer, kwds)\u001b[0m\n\u001b[1;32m 438\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 439\u001b[0m \u001b[0;31m# Create the parser.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 440\u001b[0;31m \u001b[0mparser\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mTextFileReader\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 441\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 442\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mchunksize\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0miterator\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/Downloads/ENTER/envs/py36/lib/python3.6/site-packages/pandas/io/parsers.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, f, engine, **kwds)\u001b[0m\n\u001b[1;32m 785\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moptions\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'has_index_names'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mkwds\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'has_index_names'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 786\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 787\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_make_engine\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mengine\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 788\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 789\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mclose\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/Downloads/ENTER/envs/py36/lib/python3.6/site-packages/pandas/io/parsers.py\u001b[0m in \u001b[0;36m_make_engine\u001b[0;34m(self, engine)\u001b[0m\n\u001b[1;32m 1012\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_make_engine\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mengine\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'c'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1013\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mengine\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'c'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1014\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mCParserWrapper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moptions\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1015\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1016\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mengine\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'python'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/Downloads/ENTER/envs/py36/lib/python3.6/site-packages/pandas/io/parsers.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, src, **kwds)\u001b[0m\n\u001b[1;32m 1706\u001b[0m \u001b[0mkwds\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'usecols'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0musecols\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1707\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1708\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_reader\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mparsers\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mTextReader\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msrc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1709\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1710\u001b[0m \u001b[0mpassed_names\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnames\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32mpandas/_libs/parsers.pyx\u001b[0m in \u001b[0;36mpandas._libs.parsers.TextReader.__cinit__\u001b[0;34m()\u001b[0m\n", + "\u001b[0;32mpandas/_libs/parsers.pyx\u001b[0m in \u001b[0;36mpandas._libs.parsers.TextReader._setup_parser_source\u001b[0;34m()\u001b[0m\n", + "\u001b[0;31mFileNotFoundError\u001b[0m: File b'UCI_HAR_dataset/csv_files/train.csv' does not exist" + ] + } + ], + "source": [ + "train = pd.read_csv('UCI_HAR_dataset/csv_files/train.csv')\n", + "test = pd.read_csv('UCI_HAR_dataset/csv_files/test.csv')\n", + "print(train.shape, test.shape)\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>tBodyAccmeanX</th>\n", + " <th>tBodyAccmeanY</th>\n", + " <th>tBodyAccmeanZ</th>\n", + " <th>tBodyAccstdX</th>\n", + " <th>tBodyAccstdY</th>\n", + " <th>tBodyAccstdZ</th>\n", + " <th>tBodyAccmadX</th>\n", + " <th>tBodyAccmadY</th>\n", + " <th>tBodyAccmadZ</th>\n", + " <th>tBodyAccmaxX</th>\n", + " <th>...</th>\n", + " <th>angletBodyAccMeangravity</th>\n", + " <th>angletBodyAccJerkMeangravityMean</th>\n", + " <th>angletBodyGyroMeangravityMean</th>\n", + " <th>angletBodyGyroJerkMeangravityMean</th>\n", + " <th>angleXgravityMean</th>\n", + " <th>angleYgravityMean</th>\n", + " <th>angleZgravityMean</th>\n", + " <th>subject</th>\n", + " <th>Activity</th>\n", + " <th>ActivityName</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>0.288585</td>\n", + " <td>-0.020294</td>\n", + " <td>-0.132905</td>\n", + " <td>-0.995279</td>\n", + " <td>-0.983111</td>\n", + " <td>-0.913526</td>\n", + " <td>-0.995112</td>\n", + " <td>-0.983185</td>\n", + " <td>-0.923527</td>\n", + " <td>-0.934724</td>\n", + " <td>...</td>\n", + " <td>-0.112754</td>\n", + " <td>0.030400</td>\n", + " <td>-0.464761</td>\n", + " <td>-0.018446</td>\n", + " <td>-0.841247</td>\n", + " <td>0.179941</td>\n", + " <td>-0.058627</td>\n", + " <td>1</td>\n", + " <td>5</td>\n", + " <td>STANDING</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>0.278419</td>\n", + " <td>-0.016411</td>\n", + " <td>-0.123520</td>\n", + " <td>-0.998245</td>\n", + " <td>-0.975300</td>\n", + " <td>-0.960322</td>\n", + " <td>-0.998807</td>\n", + " <td>-0.974914</td>\n", + " <td>-0.957686</td>\n", + " <td>-0.943068</td>\n", + " <td>...</td>\n", + " <td>0.053477</td>\n", + " <td>-0.007435</td>\n", + " <td>-0.732626</td>\n", + " <td>0.703511</td>\n", + " <td>-0.844788</td>\n", + " <td>0.180289</td>\n", + " <td>-0.054317</td>\n", + " <td>1</td>\n", + " <td>5</td>\n", + " <td>STANDING</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>0.279653</td>\n", + " <td>-0.019467</td>\n", + " <td>-0.113462</td>\n", + " <td>-0.995380</td>\n", + " <td>-0.967187</td>\n", + " <td>-0.978944</td>\n", + " <td>-0.996520</td>\n", + " <td>-0.963668</td>\n", + " <td>-0.977469</td>\n", + " <td>-0.938692</td>\n", + " <td>...</td>\n", + " <td>-0.118559</td>\n", + " <td>0.177899</td>\n", + " <td>0.100699</td>\n", + " <td>0.808529</td>\n", + " <td>-0.848933</td>\n", + " <td>0.180637</td>\n", + " <td>-0.049118</td>\n", + " <td>1</td>\n", + " <td>5</td>\n", + " <td>STANDING</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "<p>3 rows × 564 columns</p>\n", + "</div>" + ], + "text/plain": [ + " tBodyAccmeanX tBodyAccmeanY tBodyAccmeanZ tBodyAccstdX tBodyAccstdY \\\n", + "0 0.288585 -0.020294 -0.132905 -0.995279 -0.983111 \n", + "1 0.278419 -0.016411 -0.123520 -0.998245 -0.975300 \n", + "2 0.279653 -0.019467 -0.113462 -0.995380 -0.967187 \n", + "\n", + " tBodyAccstdZ tBodyAccmadX tBodyAccmadY tBodyAccmadZ tBodyAccmaxX \\\n", + "0 -0.913526 -0.995112 -0.983185 -0.923527 -0.934724 \n", + "1 -0.960322 -0.998807 -0.974914 -0.957686 -0.943068 \n", + "2 -0.978944 -0.996520 -0.963668 -0.977469 -0.938692 \n", + "\n", + " ... angletBodyAccMeangravity angletBodyAccJerkMeangravityMean \\\n", + "0 ... -0.112754 0.030400 \n", + "1 ... 0.053477 -0.007435 \n", + "2 ... -0.118559 0.177899 \n", + "\n", + " angletBodyGyroMeangravityMean angletBodyGyroJerkMeangravityMean \\\n", + "0 -0.464761 -0.018446 \n", + "1 -0.732626 0.703511 \n", + "2 0.100699 0.808529 \n", + "\n", + " angleXgravityMean angleYgravityMean angleZgravityMean subject Activity \\\n", + "0 -0.841247 0.179941 -0.058627 1 5 \n", + "1 -0.844788 0.180289 -0.054317 1 5 \n", + "2 -0.848933 0.180637 -0.049118 1 5 \n", + "\n", + " ActivityName \n", + "0 STANDING \n", + "1 STANDING \n", + "2 STANDING \n", + "\n", + "[3 rows x 564 columns]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train.head(3)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# get X_train and y_train from csv files\n", + "X_train = train.drop(['subject', 'Activity', 'ActivityName'], axis=1)\n", + "y_train = train.ActivityName" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# get X_test and y_test from test csv file\n", + "X_test = test.drop(['subject', 'Activity', 'ActivityName'], axis=1)\n", + "y_test = test.ActivityName" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "X_train and y_train : ((7352, 561),(7352,))\n", + "X_test and y_test : ((2947, 561),(2947,))\n" + ] + } + ], + "source": [ + "print('X_train and y_train : ({},{})'.format(X_train.shape, y_train.shape))\n", + "print('X_test and y_test : ({},{})'.format(X_test.shape, y_test.shape))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Let's model with our data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Labels that are useful in plotting confusion matrix" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "labels=['LAYING', 'SITTING','STANDING','WALKING','WALKING_DOWNSTAIRS','WALKING_UPSTAIRS']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Function to plot the confusion matrix" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import itertools\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.metrics import confusion_matrix\n", + "plt.rcParams[\"font.family\"] = 'DejaVu Sans'\n", + "\n", + "def plot_confusion_matrix(cm, classes,\n", + " normalize=False,\n", + " title='Confusion matrix',\n", + " cmap=plt.cm.Blues):\n", + " if normalize:\n", + " cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]\n", + "\n", + " plt.imshow(cm, interpolation='nearest', cmap=cmap)\n", + " plt.title(title)\n", + " plt.colorbar()\n", + " tick_marks = np.arange(len(classes))\n", + " plt.xticks(tick_marks, classes, rotation=90)\n", + " plt.yticks(tick_marks, classes)\n", + "\n", + " fmt = '.2f' if normalize else 'd'\n", + " thresh = cm.max() / 2.\n", + " for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):\n", + " plt.text(j, i, format(cm[i, j], fmt),\n", + " horizontalalignment=\"center\",\n", + " color=\"white\" if cm[i, j] > thresh else \"black\")\n", + "\n", + " plt.tight_layout()\n", + " plt.ylabel('True label')\n", + " plt.xlabel('Predicted label')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Generic function to run any model specified" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "from datetime import datetime\n", + "def perform_model(model, X_train, y_train, X_test, y_test, class_labels, cm_normalize=True, \\\n", + " print_cm=True, cm_cmap=plt.cm.Greens):\n", + " \n", + " \n", + " # to store results at various phases\n", + " results = dict()\n", + " \n", + " # time at which model starts training \n", + " train_start_time = datetime.now()\n", + " print('training the model..')\n", + " model.fit(X_train, y_train)\n", + " print('Done \\n \\n')\n", + " train_end_time = datetime.now()\n", + " results['training_time'] = train_end_time - train_start_time\n", + " print('training_time(HH:MM:SS.ms) - {}\\n\\n'.format(results['training_time']))\n", + " \n", + " \n", + " # predict test data\n", + " print('Predicting test data')\n", + " test_start_time = datetime.now()\n", + " y_pred = model.predict(X_test)\n", + " test_end_time = datetime.now()\n", + " print('Done \\n \\n')\n", + " results['testing_time'] = test_end_time - test_start_time\n", + " print('testing time(HH:MM:SS:ms) - {}\\n\\n'.format(results['testing_time']))\n", + " results['predicted'] = y_pred\n", + " \n", + "\n", + " # calculate overall accuracty of the model\n", + " accuracy = metrics.accuracy_score(y_true=y_test, y_pred=y_pred)\n", + " # store accuracy in results\n", + " results['accuracy'] = accuracy\n", + " print('---------------------')\n", + " print('| Accuracy |')\n", + " print('---------------------')\n", + " print('\\n {}\\n\\n'.format(accuracy))\n", + " \n", + " \n", + " # confusion matrix\n", + " cm = metrics.confusion_matrix(y_test, y_pred)\n", + " results['confusion_matrix'] = cm\n", + " if print_cm: \n", + " print('--------------------')\n", + " print('| Confusion Matrix |')\n", + " print('--------------------')\n", + " print('\\n {}'.format(cm))\n", + " \n", + " # plot confusin matrix\n", + " plt.figure(figsize=(8,8))\n", + " plt.grid(b=False)\n", + " plot_confusion_matrix(cm, classes=class_labels, normalize=True, title='Normalized confusion matrix', cmap = cm_cmap)\n", + " plt.show()\n", + " \n", + " # get classification report\n", + " print('-------------------------')\n", + " print('| Classifiction Report |')\n", + " print('-------------------------')\n", + " classification_report = metrics.classification_report(y_test, y_pred)\n", + " # store report in results\n", + " results['classification_report'] = classification_report\n", + " print(classification_report)\n", + " \n", + " # add the trained model to the results\n", + " results['model'] = model\n", + " \n", + " return results\n", + " \n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Method to print the gridsearch Attributes" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def print_grid_search_attributes(model):\n", + " # Estimator that gave highest score among all the estimators formed in GridSearch\n", + " print('--------------------------')\n", + " print('| Best Estimator |')\n", + " print('--------------------------')\n", + " print('\\n\\t{}\\n'.format(model.best_estimator_))\n", + "\n", + "\n", + " # parameters that gave best results while performing grid search\n", + " print('--------------------------')\n", + " print('| Best parameters |')\n", + " print('--------------------------')\n", + " print('\\tParameters of best estimator : \\n\\n\\t{}\\n'.format(model.best_params_))\n", + "\n", + "\n", + " # number of cross validation splits\n", + " print('---------------------------------')\n", + " print('| No of CrossValidation sets |')\n", + " print('--------------------------------')\n", + " print('\\n\\tTotal numbre of cross validation sets: {}\\n'.format(model.n_splits_))\n", + "\n", + "\n", + " # Average cross validated score of the best estimator, from the Grid Search \n", + " print('--------------------------')\n", + " print('| Best Score |')\n", + " print('--------------------------')\n", + " print('\\n\\tAverage Cross Validate scores of best estimator : \\n\\n\\t{}\\n'.format(model.best_score_))\n", + "\n", + " \n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1. Logistic Regression with Grid Search" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "from sklearn import linear_model\n", + "from sklearn import metrics\n", + "\n", + "from sklearn.model_selection import GridSearchCV" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "training the model..\n", + "Fitting 3 folds for each of 12 candidates, totalling 36 fits\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=-1)]: Done 36 out of 36 | elapsed: 1.2min finished\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done \n", + " \n", + "\n", + "training_time(HH:MM:SS.ms) - 0:01:25.843810\n", + "\n", + "\n", + "Predicting test data\n", + "Done \n", + " \n", + "\n", + "testing time(HH:MM:SS:ms) - 0:00:00.009192\n", + "\n", + "\n", + "---------------------\n", + "| Accuracy |\n", + "---------------------\n", + "\n", + " 0.9626739056667798\n", + "\n", + "\n", + "--------------------\n", + "| Confusion Matrix |\n", + "--------------------\n", + "\n", + " [[537 0 0 0 0 0]\n", + " [ 1 428 58 0 0 4]\n", + " [ 0 12 519 1 0 0]\n", + " [ 0 0 0 495 1 0]\n", + " [ 0 0 0 3 409 8]\n", + " [ 0 0 0 22 0 449]]\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 576x576 with 2 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-------------------------\n", + "| Classifiction Report |\n", + "-------------------------\n", + " precision recall f1-score support\n", + "\n", + " LAYING 1.00 1.00 1.00 537\n", + " SITTING 0.97 0.87 0.92 491\n", + " STANDING 0.90 0.98 0.94 532\n", + " WALKING 0.95 1.00 0.97 496\n", + "WALKING_DOWNSTAIRS 1.00 0.97 0.99 420\n", + " WALKING_UPSTAIRS 0.97 0.95 0.96 471\n", + "\n", + " avg / total 0.96 0.96 0.96 2947\n", + "\n" + ] + } + ], + "source": [ + "\n", + "# start Grid search\n", + "parameters = {'C':[0.01, 0.1, 1, 10, 20, 30], 'penalty':['l2','l1']}\n", + "log_reg = linear_model.LogisticRegression()\n", + "log_reg_grid = GridSearchCV(log_reg, param_grid=parameters, cv=3, verbose=1, n_jobs=-1)\n", + "log_reg_grid_results = perform_model(log_reg_grid, X_train, y_train, X_test, y_test, class_labels=labels)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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UsM4h1n9WvcE/qdj/0eqUVNTKJ/7I84SqaEmX4oYr002newrr76i6RgRc/TCzOebjtATC86/UNMRum6pz7Z7yYPnTr2FmQ88U2vv3/U2XtdnXnJ6nU/5KmsvscF1tjcd7rjK/GtbUxot/gocSRnQ8lNgFeBu4APVgBoB36H0A/0b8DHb00c6f1+MloqIiIh6NTxaarhuEtsM8VgDnxriscNKcdMlktanzDHT6Xnbb2kiT0RExADRbHHTbSluusT2DEon3IiIiOihFDcRERETzlx1/J3n9dNoqYiIiIg5SstNRETEhJSWm4iIiIi+kJabiIiIiUakz01EREREv0jLTURExATU5nlu0nITERERrZKWm4iIiAmozS03KW4iIiImGGUSv4iIiIj+kZabiIiICajNl6XSchMRERGtkpabiIiICSgtNxERERF9Ii03ERERE1BGS0VERET0ibTcRERETEBt7nOT4iYiImKCafskfiluolbXX/fbhxdZYNG7enzapYGHe3zOXstrbIe8xnbo9Wt8fQ/P1QopbqJWtpfp9TklTbe9aa/P20t5je2Q19gObXmNbb4slQ7FERER0SppuYmIiJiQ0nITMS87sekAPZDX2A55je0wEV5jX5PtpjNERERED204eQP/+opzu/b8Kyz6+uua7JeUlpuIiIholfS5iYiImIAyz01ERES0TIqbiOgBSYsBy9m+vdr+ALBIdfg8239tLFzECCQtBWwF3G37uqbzxMSWPjfRVyStK2mnju1vSTq5uk1uMltNjgG27Nj+KrAZ5UPjS40kqtkEeA+RtJekQzq275P0pKSnJO3bZLa6SDpX0nrV/eWBm4GPA/8l6YBGw9VE0o6SXt+x/QVJN0o6R9JqTWarg7p4a1qKm+g3X+PV057/E/BL4GLgC40kqtdmwA87tp+yvZ/tvYH1GspUt7a/hwD7ACd3bD9oezFgGWD3ZiLVbjXbN1f3PwZcYHtH4C2UIqcNjgIeApC0A/Ahyms7B/j3BnPFHKS4iX6zvO2rOraftH2m7f+irPfS7xbwq+dn+HDH/SV6HaZL2v4eAsxn+5GO7TMAbD/HrMuM/e7FjvvbAP8PwPZTwMuNJKqfbf+tur8L8APb19k+iVKo9rFutts033aT4ib6zaTODdtTOjaX7XGWbnhZ0usGNga+GUtakfZ8YLT9PQRYvHPD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\n", + "text/plain": [ + "<Figure size 576x576 with 2 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(8,8))\n", + "plt.grid(b=False)\n", + "plot_confusion_matrix(log_reg_grid_results['confusion_matrix'], classes=labels, cmap=plt.cm.Greens, )\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--------------------------\n", + "| Best Estimator |\n", + "--------------------------\n", + "\n", + "\tLogisticRegression(C=30, class_weight=None, dual=False, fit_intercept=True,\n", + " intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\n", + " penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\n", + " verbose=0, warm_start=False)\n", + "\n", + "--------------------------\n", + "| Best parameters |\n", + "--------------------------\n", + "\tParameters of best estimator : \n", + "\n", + "\t{'C': 30, 'penalty': 'l2'}\n", + "\n", + "---------------------------------\n", + "| No of CrossValidation sets |\n", + "--------------------------------\n", + "\n", + "\tTotal numbre of cross validation sets: 3\n", + "\n", + "--------------------------\n", + "| Best Score |\n", + "--------------------------\n", + "\n", + "\tAverage Cross Validate scores of best estimator : \n", + "\n", + "\t0.9461371055495104\n", + "\n" + ] + } + ], + "source": [ + "# observe the attributes of the model \n", + "print_grid_search_attributes(log_reg_grid_results['model'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# 2. Linear SVC with GridSearch" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "from sklearn.svm import LinearSVC" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "training the model..\n", + "Fitting 3 folds for each of 6 candidates, totalling 18 fits\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=-1)]: Done 18 out of 18 | elapsed: 24.9s finished\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done \n", + " \n", + "\n", + "training_time(HH:MM:SS.ms) - 0:00:32.951942\n", + "\n", + "\n", + "Predicting test data\n", + "Done \n", + " \n", + "\n", + "testing time(HH:MM:SS:ms) - 0:00:00.012182\n", + "\n", + "\n", + "---------------------\n", + "| Accuracy |\n", + "---------------------\n", + "\n", + " 0.9660671869697998\n", + "\n", + "\n", + "--------------------\n", + "| Confusion Matrix |\n", + "--------------------\n", + "\n", + " [[537 0 0 0 0 0]\n", + " [ 2 426 58 0 0 5]\n", + " [ 0 14 518 0 0 0]\n", + " [ 0 0 0 495 0 1]\n", + " [ 0 0 0 2 413 5]\n", + " [ 0 0 0 12 1 458]]\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 576x576 with 2 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-------------------------\n", + "| Classifiction Report |\n", + "-------------------------\n", + " precision recall f1-score support\n", + "\n", + " LAYING 1.00 1.00 1.00 537\n", + " SITTING 0.97 0.87 0.92 491\n", + " STANDING 0.90 0.97 0.94 532\n", + " WALKING 0.97 1.00 0.99 496\n", + "WALKING_DOWNSTAIRS 1.00 0.98 0.99 420\n", + " WALKING_UPSTAIRS 0.98 0.97 0.97 471\n", + "\n", + " avg / total 0.97 0.97 0.97 2947\n", + "\n" + ] + } + ], + "source": [ + "parameters = {'C':[0.125, 0.5, 1, 2, 8, 16]}\n", + "lr_svc = LinearSVC(tol=0.00005)\n", + "lr_svc_grid = GridSearchCV(lr_svc, param_grid=parameters, n_jobs=-1, verbose=1)\n", + "lr_svc_grid_results = perform_model(lr_svc_grid, X_train, y_train, X_test, y_test, class_labels=labels)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--------------------------\n", + "| Best Estimator |\n", + "--------------------------\n", + "\n", + "\tLinearSVC(C=8, class_weight=None, dual=True, fit_intercept=True,\n", + " intercept_scaling=1, loss='squared_hinge', max_iter=1000,\n", + " multi_class='ovr', penalty='l2', random_state=None, tol=5e-05,\n", + " verbose=0)\n", + "\n", + "--------------------------\n", + "| Best parameters |\n", + "--------------------------\n", + "\tParameters of best estimator : \n", + "\n", + "\t{'C': 8}\n", + "\n", + "---------------------------------\n", + "| No of CrossValidation sets |\n", + "--------------------------------\n", + "\n", + "\tTotal numbre of cross validation sets: 3\n", + "\n", + "--------------------------\n", + "| Best Score |\n", + "--------------------------\n", + "\n", + "\tAverage Cross Validate scores of best estimator : \n", + "\n", + "\t0.9465451577801959\n", + "\n" + ] + } + ], + "source": [ + "print_grid_search_attributes(lr_svc_grid_results['model'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 3. Kernel SVM with GridSearch" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "training the model..\n", + "Done \n", + " \n", + "\n", + "training_time(HH:MM:SS.ms) - 0:05:46.182889\n", + "\n", + "\n", + "Predicting test data\n", + "Done \n", + " \n", + "\n", + "testing time(HH:MM:SS:ms) - 0:00:05.221285\n", + "\n", + "\n", + "---------------------\n", + "| Accuracy |\n", + "---------------------\n", + "\n", + " 0.9626739056667798\n", + "\n", + "\n", + "--------------------\n", + "| Confusion Matrix |\n", + "--------------------\n", + "\n", + " [[537 0 0 0 0 0]\n", + " [ 0 441 48 0 0 2]\n", + " [ 0 12 520 0 0 0]\n", + " [ 0 0 0 489 2 5]\n", + " [ 0 0 0 4 397 19]\n", + " [ 0 0 0 17 1 453]]\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjQAAAIxCAYAAABaRiKwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzs3Xl8FfX1//HXgQhUERJwARKUpRRNZEcQXMBWrRIQEVxQQerX2l/rvrTuS1FrFXBr7V6KIiqLohCoLFW07gQUkEUFBUmCC8hiaw1yPb8/7iTe7EFz9/eTx31wZ+YzM+fcuZBPznxmxtwdERERkWTWKN4BiIiIiHxX6tCIiIhI0lOHRkRERJKeOjQiIiKS9NShERERkaSnDo2IiIgkPXVoREREJKbMbLKZfWJmb9ew3MzsQTNbb2Yrzax3XdtUh0ZERERibQpwci3LTwG6BK+LgD/WtUF1aERERCSm3P1F4LNamgwHHvGw14BMM2tb2zbVoREREZFEkw1sjpguCubVKCOq4YiIiEjCsQOaObu/jt4OPv9qNfBlxJy/uPtf9mILVs28Wp/VpA6NiIhIutn9NfQ/KHrbX1z8pbv3/Q5bKALaR0znACW1raBTTiIiIunILHqv724OMDa42ukoYKe7b6ltBVVoREREJKbM7HFgMHCAmRUBtwL7ALj7n4D5wBBgPfAF8JO6tqkOjYiISLox4nqOxt1H17HcgYv3Zps65SQiIiJJTxUaERGRdNQwY10Shjo0IiIi6Si1+jM65SQiIiLJTxUaERGRtNNgl1cnDFVoREREJOmpQiMiIpJu4nzZdjSkWDoiIiKSjlShERERSUcaQyMiIiKSWFShERERSUepVaBRh0ZERCTtGNAotXo0OuUkIiIiSU8VGhERkXSUWgUaVWhEREQk+alCIyIiko502baIiIhIYlGFRkREJB2lVoFGFRoRERFJfqrQiIiIpJsUvA+NOjQiIiLpKLX6MzrlJCIiIslPFRoREZG0Y7psW0RERCTRqEIjIiKSblJwULAqNCIiIpL0VKERERFJR6lVoFGFRkRERJKfKjQiIiLpSFc5iYiIiCQWVWhERETSUWoVaNShERERSTu6bFtEREQk8ahCIyIiko5Sq0CjCo2IiIgkP1VoRERE0pEu2xYRERFJLKrQiIiIpKMUK2mkWDoiIiKSjtShEZHvxMxuM7NHg/eHmNl/zKxxA+9jo5md0JDbrMc+f25mHwf5tP4O2/mPmXVqyNjixcxWm9ngeMchDcAsuq84UIdGJMEFP8w/NrP9IuZdaGZL4hhWtdz9Q3dv7u6heMfyXZjZPsC9wElBPtu+7baC9d9vuOganplNMbM76mrn7nnuviQGIUksWBRfcaAOjUhyyAAu/64bsTD9u6/bwUAzYHW8A0kEZqbxlpLw9B+bSHKYAFxjZpnVLTSzgWa21Mx2Bn8PjFi2xMzuNLOXgS+ATsG8O8zsleCUyFwza21m08xsV7CNDhHbeMDMNgfLlpnZsTXE0cHM3MwyzGxAsO2y15dmtjFo18jMrjOzDWa2zcxmmFmriO2MMbNNwbIba/tgzOx7ZjYpaL/TzF4ys+8Fy04NTpPsCHI+PGK9jWZ2jZmtDNabbmbNzOwHwDtBsx1m9lxkXpU+1wuD9983sxeC7Ww1s+kR7dzMvh+8b2lmj5jZp0G8N5V1MM1sXBD7RDPbbmYfmNkpteS90cx+GcT/XzP7u5kdbGb/NLPPzWyxmWVFtJ9pZh8FMb5oZnnB/IuAc4FflX0XIrZ/rZmtBP4bHNPyU39mNt/MJkVsf7qZTa7tWEmC0SknEYmDQmAJcE3lBUFHYB7wINCa8KmSeVZx3McY4CJgf2BTMO/sYH420Bl4FfgH0ApYC9wasf5SoGew7DFgppk1qy1gd381ON3SHMgCXgMeDxZfBpwGDALaAduBh4J8coE/BrG1C3LKqWVXE4E+wMAgvl8BXwcdk8eBK4ADgfnAXDNrErHumcDJQEegOzDO3d8F8oLlme7+w9ryDNwOLAzyzAF+V0O73wEtgU5B7mOBn0Qs70+4M3UAcA/wd7NafzqMBE4EfgAMA/4J3BCs34jw51zmn0AX4CBgOTANwN3/Ery/JzhewyLWGQ3kE/4c9lTa9wXAGDP7oZmdCxxJA1QRRb4tdWhEksctwKVmdmCl+fnAe+4+1d33uPvjwDrCP+DKTHH31cHyr4J5/3D3De6+k/APuw3uvjj4wTUT6FW2srs/6u7bgvUnAU2BrnsR+4PAf4GyasvPgBvdvcjdS4HbgFFBBWQUUODuLwbLbga+rm6jQXXjAuBydy9295C7vxKsdxYwz90XBTlPBL5HuONTHpe7l7j7Z8Bcwp22b+Mr4FCgnbt/6e4vVRNr4yCm6939c3ffCEwi3HErs8nd/xqMQXoYaEv49FdNfufuH7t7MfBv4HV3fzPIfzYVj+HkYL9ln3cPM2tZR14Puvtmd/9f5QXu/hHw/4I4HwDGuvvndWxPEkmjKL7iQB0akSTh7m8DBcB1lRa145uqS5lNhCsvZTZXs8mPI97/r5rp5mUTZna1ma0NTlfsIFxlOKA+cZvZz4DBwDnuXtYxORSYHZwK2kG4IhQi/MO7XWS87v5foKZBuQcQHuuyoZplFT6XYN+bqfi5fBTx/gsict5LvyI8FPKN4BTXBTXE2oSKx6rycSqPx92/CN7WFlO9jqGZNTaz3wan+HYBGyNiqk1135tIBUBj4J3qOnEisaQOjUhyuRX4KRV/CJYQ7iBEOgQojpj2b7vDYLzMtYRPz2S5eyawk3pcyxCsezswPKgEldkMnOLumRGvZkGlYQvQPmIb+xI+7VSdrcCXhE+ZVVbhcwlO3bSn4udSX/8N/t43Yl6bsjfu/pG7/9Td2xGuPv2hbNxMpVjLKjllKh+naDkHGA6cQLgz2iGYX3YMa/p+1PW9uZNwZ7StmY3+jjFKLBkaQyMi8ePu64HpVBwbMR/4gZmdEwzcPAvIJfzbc0PYH9gDfApkmNktQIu6VjKz9kGsY4NxKZH+BNxpZocGbQ80s+HBslnAUDM7JhjvMp4a/q8Kqi6TgXvNrF1QiRhgZk2BGUC+mf3IwpdhXw2UAq/sVfbh/XxKuONxXrCPC4joRJnZGWZWNs5nO+GOQKjSNkJBTHea2f5B7lcBj+5tPN/C/oRz30a4U/abSss/Jjyup97M7DjC43/GBq/fmVl27WuJRI86NCLJZzxQfk+a4B4pQwn/wN5G+PTHUHff2kD7W0B4jM27hE+RfEndpyIAfkS4ijHLvrnSqewy6AeAOcBCM/uc8IDh/kE+q4GLCQ8+3kK4g1BUy36uAVYRHrj8GXA30Mjd3wHOIzwQdyvhMUXD3H13PfOu7KfALwl/xnlU7BgdCbxuZv8J8rrc3T+oZhuXEq72vA+8FOQYiyuDHiF87IqBNYQ/70h/B3KDU4BP17UxM2sRbPOSYOzSS8E2/lHHIGZJJCl2Hxpz/9aVaBEREUlCdtD3nDOrO1PbQB5avczd+0ZvB1WpQiMiIiJJT3d/FBERSUcpdnZQFRoRERFJeqrQiIiIpJs4Dt6NFlVoREREJOmpQiMNypo0cpql9teq9w+OiHcIIpJGNm38kK1btzZwPcWI5hX28bh+OrV/8kjsNcuA/gfFO4qoevlZ3eFdRGLn6P7HxDuEpKAOjYiISBpShUZERESSXopdta1BwSIiIpL8VKERERFJMwY0imKJJlR3kwanCo2IiIgkPVVoRERE0o1Fd1BwPKhCIyIiIklPFRoREZE0pAqNiIiISIJRhUZERCTtRPfRB/GgDo2IiEgaSrH+jE45iYiISPJThUZERCTNGBoULCIiIpJwVKERERFJN7qxnoiIiEjiUYVGREQkDRmq0IiIiIgkFFVoRERE0pDG0IjEyN+vnsjHM95i1V8W19jmgV+M570pL7Hiz4vo9f0jyuePPXEU7075N+9O+TdjTxwVi3C/lYXPLqR7bk/yunZjwt0TqywvLS3lvNFjyevajWMHDGLTxk3lyyb8dgJ5XbvRPbcnixYsimXYe0U5KkflmJjMoveKB3VoJGFNWTiTk284r8blp/T7IV2yO9Jl3DFcdP+1/PGyuwDI2j+TW8dcSf9Lh9HvkqHcOuZKMpu3jFXY9RYKhbjisqt4pmA2b65axszpM1m7Zm2FNlMmP0xWViar31nFpVdcwo3X3wzA2jVrmTljFstXFjJn3tNcfumVhEKheKRRK+UYphyVo0SfOjSSsP696nU++3xHjcuHDziJRxbPAuD1tcvJbN6CNq0O4sd9B7Fo2b/Z/vkOdvxnJ4uW/ZuTjxwco6jrb+kbhXTu3ImOnTrSpEkTzjhzFAVzCiq0KZhTwLljzgXg9JEjWPLcEtydgjkFnHHmKJo2bUqHjh3o3LkTS98ojEMWtVOOYcpROSYaw2hk0XvFgzo0krSyD2jD5k9KyqeLtm4h+4A2ZLduw+ZPK81v3SYeIdaqpKSEnPY55dPZOdkUl2ypsU1GRgYtWrZg27ZtFJdsqbJuSUkJiUY5Vm2jHJWjRIc6NEnCzP5Ty7IVZvZ4xPRFZjY9YrqFmW0ws45mNsXMRgXzl5hZYUS7vma2JGK6X9DmPTNbbmbzzKxbgyf3LVU3oM3dq5+PxyKkveJeNabKsVfTJNymHusmAuVY1qbqesoxsaRDjpWZWdRe8aAOTZIzs8MJH8fjzGy/YPZfgRwzOyGYHg9MdvcPqtnEQWZ2SjXbPRiYAdzg7l3cvTdwF9C5wZP4loo+3UL7g9qVT+cc0JaSbR9TtHUL7Q+sOj/RZGdnU7S5qHy6uKiYdm3bVGrTrrzNnj172LVzF61ataowv2zdtm3bxibwvaAcy9oox8h1laNEgzo0ye8cYCqwEDgVwMO/avwcuN/M+gI/AibUsP4E4KZq5l8CPOzur5TNcPeX3P3pBoz9O5nz6kLGnhC+gqn/4b3Z+d/P+eizT1hQ+AIn9TmOzOYtyWzekpP6HMeCwhfiHG1VfY/sw/r1G9j4wUZ2797NzBmzyB+WX6FN/rB8pk2dBsBTT85m0PGDMDPyh+Uzc8YsSktL2fjBRtav38CR/frGI41aKccw5agcE46lXoVG96FJfmcBJwJdCXdCHgdw95VmtgD4F3Cau++uYf1XgRFmdjzwecT8PODh+gRgZhcBFwHQrPG3SKF6j93wewZ3H8ABLVux+bGl3PrIJPbJCH9l/1zwKPPfeI4h/X/I+odf4ovSL/nJxKsA2P75Dm6f9gBLfz8PgPHT7md7LYOL4yUjI4P7HpjEsCHDCYVCnD9uLLl5uYy/9XZ69+3N0GH5jLvgfC44/0LyunYjKyuLqY+FD0luXi4jR42kV7c+ZGRkcP+D99K4ccN99g1FOSpH5SixYtWdN5TEY2b/cffmleYdCdzv7kebWWNgE9DN3bcHyzsBBe6eG7HOlGDerGC8zDVAC+BG4FpgorsPNrOnCFdongnWez1ot9DdL68xzhZNnP4HNVjeieh/z74b7xBEJI0c3f8YlhUub9CyR0a75p55YfeG3GQF225/dZm711imMrOTgQeAxsDf3P23lZYfQviX6sygzXXuPr+2feqUU3IbDRxmZhuBDYQ7HCMjln8dvGrl7s8BzYCjImavBnpHtOkP3Awk3g1dREQkaQS/gD8EnALkAqPNLLdSs5uAGe7eCzgb+ENd21WHJkmZWSPgDKC7u3dw9w7AcMKdnG/jTuBXEdMPAePMbGDEvH2/5bZFRCSBGHEdQ9MPWO/u7wfDIZ4g/PMrkhP+JR3Cv0jXeR28xtAkj33NrChi+l6g2N2LI+a9COSaWVt3r3gDhTq4+3wz+zRi+iMzOwu428yygU+ArYSvmBIRkSQX5cG7B1jEbUGAv7j7X4L32cDmiGVFQP9K698GLDSzS4H9gBOogzo0ScLdq6um3VupTQhoGzG9ETiiUptxEe8HV1rWp9L0a8CgbxmyiIikr621jKGpridVeUDvaGCKu08yswHAVDM7wt1rHEahDo2IiEjaid/l1YQrMu0jpnOoekrp/4CTAdz9VTNrBhxA+GxBtTSGRkRERGJpKdDFwnevb0J40O+cSm0+JHwPtbIbyDYDPqUWqtCIiIikG4vf4xncfY+ZXQIsIHxJ9mR3X21m44FCd58DXA381cyuJHw6apzXcZ8ZdWhEREQkpoJ7ysyvNO+WiPdrgKP3Zpvq0IiIiKShJHh+5l7RGBoRERFJeqrQiIiIpJmyG+ulEnVoRERE0lCqdWh0yklERESSnio0IiIiaaiRKjQiIiIiiUUVGhERkXRjumxbREREJOGoQiMiIpJmLL4Pp4wKVWhEREQk6alCIyIikoaM1KrQqEMjIiKShnTKSURERCTBqEIjIiKShlShEREREUkwqtCIiIikoRQr0KhCIyIiIslPFRppUL1/cAQvP/tSvMOIqu/9vE+8Q4i6jx5YHO8Qoq5lk6x4hyANxN3jHUJURSM9M42hEREREUk4qtCIiIikndR79IE6NCIiImko1To0OuUkIiIiSU8VGhERkTSUYgUaVWhEREQk+alCIyIikoY0hkZEREQkwahCIyIikmZ0Yz0RERGRBKQKjYiISBpKtQqNOjQiIiJpKMX6MzrlJCIiIslPFRoREZG0k3rPclKFRkRERJKeKjQiIiJpSBUaERERkQSjCo2IiEia0Y31RERERBKQKjQiIiJpKMUKNOrQiIiIpCOdchKJkYXPLqR7bk/yunZjwt0TqywvLS3lvNFjyevajWMHDGLTxk3lyyb8dgJ5XbvRPbcnixYsimXYe+XHecewbvx83rvjWa49+cIqyw9p1Y7FV05mxS1P8/zVD5OdeXD5srEDhvPu7c/y7u3PMnbA8FiGvVeeW/g8R/c4jqOOOJrfTfx9leWvvvQaJw44mez9D2Xu7IIKy6Y/OpMB3Y5hQLdjmP7ozFiFvNfS4buaFjkuWESPvF4ccVh3Jt4zqcry0tJSxpwzliMO685xAwdXzPHuiRxxWHd65PVi0cLFsQxbAurQSEIKhUJccdlVPFMwmzdXLWPm9JmsXbO2Qpspkx8mKyuT1e+s4tIrLuHG628GYO2atcycMYvlKwuZM+9pLr/0SkKhUDzSqFUja8RD59zMKQ9eRO6twxh9ZD6Ht+1coc3EM37JI689Q4/xpzG+4A/cdfpVAGTt25Jbh15M/7vOot9dZ3Lr0IvJ3LdFPNKoVSgU4vorb+Kxp6fy4vLnmT3zGd5Z+26FNtnts3ngL/cy4qzTKszf/tl2Jv3mPua/MJd/vljApN/cx47tO2IZfr2kw3c1XXK88rKreHruUyxfWcjMJ6rPMTMzk7fXreTSyy/mphu+yXHW9FksW7GUZwpmc0WC5lhFeGRwdF5xoA6NJKSlbxTSuXMnOnbqSJMmTTjjzFEUzKn423vBnALOHXMuAKePHMGS55bg7hTMKeCMM0fRtGlTOnTsQOfOnVj6RmEcsqhdv47dWf/Jh3ywtYivQl/xxNL5DO/xwwptctt+n3+tfQ2A5995vXz5j/OOZtHaV9j+xU52fLGLRWtf4eS8Y2KeQ13eLHyLjp07cGjHQ2nSpAmnjRrOgoKFFdoccmh7crvl0qhRxf+Olix+gUE/PJasVllkZmUy6IfH8vyiJTGMvn7S4buaDjkWVspx1FmjKJg7r0KbeXPncV6Q44jIHOfOY9RZFXMsTMAcU506NJKQSkpKyGmfUz6dnZNNccmWGttkZGTQomULtm3bRnHJlirrlpSUxCbwvZCdeRCbP/uofLpox8dkZx1coc2KzesY2fskAEb0OpEW32tOq/0yyc48uOK62z+ucDoqUWwp2UK77Lbl022z27Cl0nGsed2PaJfTLmLdtmwp+aiWNeIjHb6r6ZJjdk5EnNnZlBSXVG1TIceWbNu2jZLiEnIi1m2XnZg5VhR+9EG0XvGgDk0CM7MbzWy1ma00s7fMrL+ZLTGzvmb2ejDvQzP7NHj/lpl9XMP8Dma20cwOCLbtZjYpYl/XmNltEdPnBftdbWYrzOxvZpYZq9zdvcq8yv9IqmkSblOPdRNBdTFVzvuaWfcw6AdHsvymJxn0g74Ubf+IPV/vqX5dqvlA4qzGY1SvdZPjOKbDd1U51t4mWb6rqU4dmgRlZgOAoUBvd+8OnABsLlvu7v3dvSdwCzDd3XsGr4NrmL+x0i5KgdPLOjiV9n0ycCVwirvnAb2BV4CYlQCys7Mp2lxUPl1cVEy7tm0qtWlX3mbPnj3s2rmLVq1aVZhftm7btm1JNEXbP6Z9q29yysk8mJIdn1Ros2Xnp4z802X0vmMkNz79AAC7/vcfirZ/VHHdrKrrJoJ22W0pKf7mN/ktxR/RptJxrHXdom9+y91SvIU2bROvCpUO39V0ybG4KCLO4mLatmtbtU2FHHeGc8zJpihi3ZLixMyxgigOn4lXX04dmsTVFtjq7qUA7r7V3RuyhrkH+AvhjktlNwLXuHtxsO+Qu09293cacP+16ntkH9av38DGDzaye/duZs6YRf6w/Apt8oflM23qNACeenI2g44fhJmRPyyfmTNmUVpaysYPNrJ+/QaO7Nc3VqHX29KNq+hy0KF0aJ3NPo334ewjhzBnxfMV2rRunln+m971p/yUyS8/BcCC1S9zUu7RZO7bgsx9W3BS7tEsWP1yzHOoS88+PXh//Qds2vghu3fv5ulZz3BS/on1WnfwCYNY8q8X2bF9Bzu272DJv15k8AmDohzx3kuH72o65NinUo6zps8if+iQCm2GDB3Co0GOsyNzHDqEWdMr5tg3AXNMdboPTeJaCNxiZu8CiwlXW15o4H08BKw0s3sqzc8Dltd3I2Z2EXARQPtD2jdIYBkZGdz3wCSGDRlOKBTi/HFjyc3LZfytt9O7b2+GDstn3AXnc8H5F5LXtRtZWVlMfexhAHLzchk5aiS9uvUhIyOD+x+8l8aNGzdIXA0p9HWISx6/gwVX/I3GjRox+eWnWLNlPb8+9VIKN73N3BXPM/gH/bhrxFU4zovvFnLx4+MB2P7FTm6f90eW3jADgPEFf2D7FzvjmU61MjIy+M29tzP61HMJhb5m9NizOCy3K3ePn0DP3j348dCTeLPwLS44+0J27NjJovmLmHDHvby47DmyWmVx5XWXc/Kx4R+cV11/BVmtsuKcUVXp8F1NlxzvfWASp+afRigUYuy4MeEcb7ud3n2+yfH/xl3IEYd1Jysri0emTQHCOZ5+xun07t43/FklaI6RjNQ7LWbVnfuTxGBmjYFjgeOBnwHXAeMIV08KgzbjgL7ufkmldavMN7ONwbytZvYfd29uZuOBr4D/Ac3d/TYz+wzo6O47zawbMBXYH7jB3afXFnOfvr395ddf+u7JJ7Dv/bxPvEOIuo8eSP37aLRsknidI/l2Uv3n2NH9j2X5suUN2vvYr0OWH3bT8Q25yQqW/3T2MnePaZlKFZoE5u4hYAmwxMxWAedHYTf3E67G/CNi3mrC42aed/dVQE8z+z3wvSjsX0RE4iDVKjQaQ5OgzKyrmXWJmNUT2FRT+2/L3T8DZgD/FzH7LmCimeVEzFNnRkQkhaTaZduq0CSu5sDvgkul9wDrCY9TmRWFfU0Cyk9Nuft8MzsQ+Gdw2msH8DawIAr7FhER+c7UoUlQ7r4MGFjNosGV2k0BplSzfpX57t4h4n3ziPcfA/tWavsw8PDeRS0iIskixc446ZSTiIiIJD9VaERERNJNHMe6RIsqNCIiIpL0VKERERFJM6l4Yz1VaERERCTpqUIjIiKShlKtQqMOjYiISBpKtQ6NTjmJiIhI0lOFRkREJN2YbqwnIiIiknBUoREREUlDGkMjIiIikmBUoREREUkzhh59ICIiIpJwVKERERFJQ6lWoVGHRkREJA2lWH9Gp5xEREQk+alCIyIikm4s9U45qUIjIiIiSU8VGhERkXSkCo2IiIhIYlGFRkREJA2l2hgadWhE9tJ/Hno93iFEXfPTjoh3CFH3vznr4h2CNJBU+8FcWYqn12DUoREREUkzBjRKsY6SOjQiIiJpR89yEhEREUk4qtCIiIikG4NGqtCIiIiIJBZVaERERNKMkXpXh6lCIyIiIklPHRoREZE01CiKr7qY2clm9o6ZrTez62poc6aZrTGz1Wb2WF3b1CknERERiRkzaww8BJwIFAFLzWyOu6+JaNMFuB442t23m9lBdW1XHRoREZE0FMernPoB6939fQAzewIYDqyJaPNT4CF33w7g7p/UtVF1aERERNJMnAcFZwObI6aLgP6V2vwAwMxeBhoDt7n7s7VtVB0aERERaWgHmFlhxPRf3P0vwfvqelJeaToD6AIMBnKAf5vZEe6+o6YdqkMjIiKSdizap5y2unvfGpYVAe0jpnOAkmravObuXwEfmNk7hDs4S2vaoa5yEhERkVhaCnQxs45m1gQ4G5hTqc3TwPEAZnYA4VNQ79e2UVVoRERE0o3FbwyNu+8xs0uABYTHx0x299VmNh4odPc5wbKTzGwNEAJ+6e7batuuOjQiIiISU+4+H5hfad4tEe8duCp41Ys6NCIiImnGSL0xJ6mWj4iIiKQhVWhERETSUBxvrBcV6tCIiIikIT1tW0RERCTBqEMjCWvhswvpntuTvK7dmHD3xCrLS0tLOW/0WPK6duPYAYPYtHFT+bIJv51AXtdudM/tyaIFi2IZ9l5ZtGAxvfL60P3wnky6594qy0tLSxl7zji6H96TwUf/sDzH5xY/xzH9j6NfrwEc0/84ljz/QqxDr7cf9xnEuj8/z3t/fZFrz/hFleWHHJjN4jsfZ8XvF/D8XdPJbt2mfNndP7mBt/+wmDV/+hcP/OzXsQx7r6TDd1U5pkaOZYzwKadoveJBHRpJSKFQiCsuu4pnCmbz5qplzJw+k7Vr1lZoM2Xyw2RlZbL6nVVcesUl3Hj9zQCsXbOWmTNmsXxlIXPmPc3ll15JKBSKRxq1CoVCXHX51Tw1dxaFK95g5vQnWbtmXYU2D//jETKzMlm59i0uvuwX3HzDrQC0bt2ambOn88abr/Lnv/+Jn/7kZ/FIoU6NGjXioZ/fwSm3nk/uz3/E6ONO5fD2XSq0mXjhTTw/gp3OAAAgAElEQVTy3JP0uOTHjH/8Ae4adx0AAw7vw9G5fel+yUkc8YsTObJLdwZ1OyoeadQqXb6ryjH5c0x16tBIQlr6RiGdO3eiY6eONGnShDPOHEXBnIIKbQrmFHDumHMBOH3kCJY8twR3p2BOAWecOYqmTZvSoWMHOnfuxNI3CqvZS3wVLl1Gp4gcR515OvPmzqvQZt7c+Zw75hwARow8jSXPv4C706NXD9q2awtAbt7hlH75JaWlpTHPoS79ftCT9SUb+eCjD/lqz1c88eJchh91UoU2ue278K+3XgLg+ZWvMPyoEwFwd5o1aUqTjH1ouk8T9snYh493bI15DnVJh++qcgxL9hwrsyi+4kEdGklIJSUl5LTPKZ/OzsmmuGRLjW0yMjJo0bIF27Zto7hkS5V1S0oqPyYk/kqKS8jJyS6fzs7OpqRyjsVbyttkZGTQsmULtm37rEKbp596hu49u9O0adPoB72Xslu3YfPWbz77oq1byG59cIU2Kz5Yw8ijhwAwYuDJtNh3f1rtn8lr65bz/MpX2DK1kC1TC1mw/AXWbV4f0/jrIy2+q8qxSptkzDHVqUMTI2Z2o5mtNrOVZvaWmT0f/L3ezHYG798ys4FB+wPN7Csz+1ml7Ww0sycjpkeZ2ZTg/Tgz+9TM3jSz98xsQdn2guVTzGxU8H5J5JNQzayvmS2JmO4XtHnPzJab2Twz6xatz6ey8E0iK6o8Ir+aJuE29Vg3EdQvx9rbrFm9lltuvJUHH7q/4QNsANV97l7pobrX/P1OBnXrz/IH5zPoiKMo2rqFPaEQndseyuHtv0/O+f3JHtuPH3YfyLF5/WIVer3pu1rWpup6yjGRRW/8jMbQpDAzGwAMBXq7e3fgBOBcd+8JXAj82917Bq9XgtXOAF4DRlezyb5mllfD7qa7ey937wL8FnjKzA6voe1BZnZKNfEeDMwAbnD3Lu7eG7gL6Fy/jL+77OxsijYXlU8XFxXTrm2bSm3albfZs2cPu3buolWrVhXml63btm3b2AS+F7JzsikqKi6fLi4upm3lHHPalbfZs2cPO3fuolWrrHD7omLOOeNc/jL5z3Tq3Cl2ge+Foq1baH9Au/LpnAPaUrLtkwpttnz2MSPv/Bm9LxvCjY/cA8CuLz5nxICTeW3dm/z3yy/475df8M9lSzjqsN4xjb8+0uK7qhyDNsmdY6pThyY22hJ+lHopgLtvdfe66pGjgauBHDPLrrRsInBDXTt19+eBvwAX1dBkAnBTNfMvAR6O6Fzh7i+5+9N17bOh9D2yD+vXb2DjBxvZvXs3M2fMIn9YfoU2+cPymTZ1GgBPPTmbQccPwszIH5bPzBmzKC0tZeMHG1m/fgNH9qvpKfbx06dvbzZE5DhrxlMMGTqkQpshQ4cwbepjAMx+8mkGDT4OM2PHjh2MHH4mt91xKwMGJt5A2TJL311Bl+yOdDi4Pftk7MPZxw1jzusVrwBp3SKr/LfZ68+8mMmLpgPw4aclDOp2FI0bNSajcQaDjjiKtQl4yikdvqvKMSzZc4xklnpXOenGerGxELjFzN4FFhOuotR4na2ZtQfauPsbZjYDOAuIvKZ3BvALM/t+Pfa9HKjpEphXgRFmdjzwecT8PODhemy7LN6LCDpN7Q9pX9/VapWRkcF9D0xi2JDhhEIhzh83lty8XMbfeju9+/Zm6LB8xl1wPhecfyF5XbuRlZXF1MfCIefm5TJy1Eh6detDRkYG9z94L40bN26QuBpSRkYGk+6fyGn5pxP6OsSY888jN+9wbr/tTnr36UX+sCGc/5MxXDjuIrof3pOsrCymPDoZgD//4a+8v+F97v7NBO7+zQQAnpk/m4MOOjCeKVUR+jrEJX+8mQW3T6Vxo8ZMXjSdNR++y6/Pu4rC91Yx9/VFDO42gLvOvxbHefHt17n4D+ErR2a9PI8f9hjIqj8sxB2eXbaEgjcWxzmjqtLlu6ockz/HVGfVnTeUhmdmjYFjgeMJdzCuc/cpZjYYuMbdh0a0/SWQ6e43mll34O/ufmSwbCPQFzgVOBr4JzDU3ceZ2Tigr7tfErGtEcBF7n5KMNamwN1nBeNlrgFaADcC1wIT3X2wmT1FuELzTLCN14N2C9398try7NO3t7/8+kvf5aNKeKGv98Q7hKhrftoR8Q4h6v43Z13djUQSwNH9j2FZ4fIGLXu0/sFBfsrvzmjITVYw7eQ/LHP3mJapdMopRtw95O5L3P1Wwqd0RtbSfDQwLui8zAF6mFmXSm2mAscBh9Sx617A2poWuvtzQDMg8rzFaqB3RJv+wM1Ayzr2JSIiSSLVTjmpQxMDZta1UoekJ7CpprbAfu6e7e4d3L0D4QG5Z0e2c/evgPuAK2rZ7yDCp4L+WkeIdwK/iph+iHCHamDEvH3r2IaIiEjcaAxNbDQHfmdmmcAeYD01D9QdDcyuNO9J4Ang9krz/07VQb1nmdkxhDsgHwAj3b3GCg2Au883s08jpj8ys7OAu4MByZ8AW4HxtW1HRESSQzxvgBctNXZozKxFbSu6+66GDyc1ufsyYGANy5YASyKmb6umzUogN3jfIWJ+KdAuYnoKMKWWOMZFvB9caVmfStOvAYNq2paIiEgiqa1CsxpwKnbiyqadusduiIiISIKK11iXaKmxQ+PuDXP9rYiIiEiU1WsMjZmdDXRy99+YWQ5wcHAaRURERJJO/K5GipY6r3Iys98TvnfKmGDWF8CfohmUiIiIyN6oT4VmoLv3NrM3Adz9MzNrEuW4REREJErMkuEBmnunPh2ar8ysEeGBwJhZa+DrqEYlIiIiUZV2p5wI32TtSeBAM/s18BJwd1SjEhEREdkLdVZo3P0RM1sGnBDMOsPd345uWCIiIhJNqVWfqf+dghsDXxE+7aTHJYiIiEhCqc9VTjcCjxO+I20O8JiZXR/twERERCQ6jNR7OGV9KjTnAX3c/QsAM7sTWEb4gYkiIiIicVefDs2mSu0ygPejE46IiIjEQqpd5VTbwynvIzxm5gtgtZktCKZPInylk4iIiEhCqK1CU3Yl02pgXsT816IXjoiIiESfpc+N9dz977EMRERERGLDSL1LluscQ2NmnYE7gVygWdl8d/9BFOMSERERqbf6dNCmAP8g3KE7BZgBPBHFmERERCSagmc5ResVD/Xp0Ozr7gsA3H2Du99E+OnbIiIiIgmhPpdtl1q4u7XBzP4fUAwcFN2wREREJJrS5rLtCFcCzYHLCI+laQlcEM2gRERERPZGfR5O+Xrw9nNgTHTDERERkWgre/RBKqntxnqzCd9Ir1rufnpUIhIRERHZS7VVaH4fsyhEkkjjRvV9SH3y+t+cdfEOIeq+l9813iHExBcFqX8svebfvVOCRym9dLqx3r9iGYiIiIjEitGI1OrQpNqNAkVERCQNpX7tXERERKpItVNO9a7QmFnTaAYiIiIi8m3V2aExs35mtgp4L5juYWa/i3pkIiIiEhVm4cu2o/WKh/pUaB4EhgLbANx9BXr0gYiIiCSQ+oyhaeTumyqdawtFKR4RERGJAUuxq5zq06HZbGb9ADezxsClwLvRDUtERESk/urTofk54dNOhwAfA4uDeSIiIpKkUu0qp/o8y+kT4OwYxCIiIiIxYMRv8G601NmhMbO/Us0zndz9oqhEJCIiIrKX6nPKaXHE+2bACGBzdMIRERGRWLAUe1hAfU45TY+cNrOpwKKoRSQiIiKyl77Now86Aoc2dCAiIiISO+k4hmY734yhaQR8BlwXzaBERERE9katHRoLX9PVAygOZn3t7lUGCIuIiEhySbXLtmsdERR0Xma7eyh4qTMjIiIiCac+Q5zfMLPeUY9EREREYsKi/CceajzlZGYZ7r4HOAb4qZltAP4LGOHijTo5IiIiycjSa1DwG0Bv4LQYxSIiIiLyrdTWoTEAd98Qo1hEREQkRtJpUPCBZnZVTa+YRShpa+GzC+me25O8rt2YcPfEKstLS0s5b/RY8rp249gBg9i0cVP5sgm/nUBe1250z+3JogWJex9I5ZgaOf64z2DW/W0J703+N9ee+Ysqyw85KJvFdz3Oij8u5Pl7ZpB9QJvyZb+94HpW/Wkxq/60mDOPGxbLsPfKwgWL6JHXiyMO687EeyZVWV5aWsqYc8ZyxGHdOW7g4IrH8e6JHHFYd3rk9WLRwsVV1k0UCxcsomdeL7od1qPGHMeecz7dDuvBoIHHl+e4bds2TjlhCAdltuGqy66OddgSqK1D0xhoDuxfw0skakKhEFdcdhXPFMzmzVXLmDl9JmvXrK3QZsrkh8nKymT1O6u49IpLuPH6mwFYu2YtM2fMYvnKQubMe5rLL72SUCgUjzRqpRzDkj3HRo0a8dDFd3DKTWPJveiHjB48nMMP6VKhzcSf3sQj/3qSHj8/ifHT7ueun4Rv5TWk3w/p/f0j6PmLH9P/8mH8ctT/Y/99m8cjjVqFQiGuvOwqnp77FMtXFjLzieqPY2ZmJm+vW8mll1/MTTd8cxxnTZ/FshVLeaZgNlck6HEMhUJcddnVzJ77FMtWLmXmE7NYu2ZdhTYPT36EzMxMVq1bwSWXX8zNN9wCQLNmzbj5tpv4zd13xiP0b8WARlH8Ew+17XWLu493919X94pZhJKWlr5RSOfOnejYqSNNmjThjDNHUTCnoEKbgjkFnDvmXABOHzmCJc8twd0pmFPAGWeOomnTpnTo2IHOnTux9I3COGRRO+UYluw59uvak/VbNvLBRx/y1Z6veOKFOQwfcFKFNrmHdOFfb70EwPMrXmH4USeVz39h1euEvg7xRen/WPHBGk7uMzjGGdStsNJxHHXWKArmzqvQZt7ceZwXHMcRkcdx7jxGnVXxOBYm4HEsfKOQThVyHEnB3Erf1bnzOHfMOQCMGHlaeY777bcfA48ZSNNmTeMRugRq69Ck1sk1SSolJSXktM8pn87Oyaa4ZEuNbTIyMmjRsgXbtm2juGRLlXVLSkpiE/heUI5V2yRjjtmt27D502/iKtq6hezWbSq0WfH+WkYePQSAEUefTIv99qfV/pmseH8tp/QdzPeaNqN1iyyO7z6A9ge2i2n89VFSUkJ2TsSxyM6mpLikapsKx7El27Zto6S4hJyIddtlJ+ZxLCnZQk5Odvl0dnY2W4rr+q6Gc0xOhln0XvFQW4fmRzGLIk2Z2X1mdkXE9AIz+1vE9KSy8UpmdqWZfWlmLSOWDzazir9ChOcvMbO+wfsOZvaemf04sr2ZjTOzr82se8R6b5tZh+B9czP7o5ltMLM3zWyZmf204T+F6lV3D8fK/0iqu82jmVW7IBEHvynHsjZV10umHKuLqXLe1/z1DgZ1P4rlv/8ng7odRdGnW9gTCrFo+YvMX/o8r9z7NI9f93teXbucPaE9sQq93up3HKtvU591E0G94kySXNJVjR0ad/8sloGkqVeAgQBm1gg4AMiLWD4QeDl4PxpYCoyo78bNLAdYAFzt7guqaVIE3FjD6n8DtgNd3L0XcDLQqr77/q6ys7Mp2lxUPl1cVEy7tm0qtWlX3mbPnj3s2rmLVq1aVZhftm7btm1jE/heUI5lbZI7x6KtWypUVXIOaEvJZx9XaLPls48ZeftF9L7kFG6ccg8Au774HIDfPPE7el18MifdcC5mxnslH8Qu+HrKzs6muCjiWBQX07Zd26ptKhzHneHjmJNNUcS6JcWJeRyzs9tRVFRcPl1cXEybdhW/q+0ivs+ROSardKrQSPS9TNChIdyReRv43MyyzKwpcDjwppl1JjxA+ybCHZv6aAMsBG5y9zk1tCkA8sysa+TMYH/9gnW/BnD3T9397vqn9t30PbIP69dvYOMHG9m9ezczZ8wif1h+hTb5w/KZNnUaAE89OZtBxw/CzMgfls/MGbMoLS1l4wcbWb9+A0f26xur0OtNOYYle45L31lBl3Yd6HBwe/bJ2IezB53KnNcqXpHVukVW+X/y1591CZMXTgfCA4pb7Z8JQLeOh9G94+EsXPZibBOohz6VjuOs6bPIHzqkQpshQ4fwaHAcZ0cex6FDmDW94nHsm4DHsc+RfdhQIccnyR9a6bs6dAjTpj4GwOwnny7PURJDnU/bluhx9xIz22NmhxDu2LwKZAMDgJ3ASnffbWajgceBfwNdzewgd/+kjs0/QrhDMrOWNl8D9wA3AOdHzM8DVpR1ZupiZhcBFwG0P6R9fVapU0ZGBvc9MIlhQ4YTCoU4f9xYcvNyGX/r7fTu25uhw/IZd8H5XHD+heR17UZWVhZTH3sYgNy8XEaOGkmvbn3IyMjg/gfvpXHjxg0SV0NSjqmRY+jrEJf84WYW3PkojRs1ZvLC6azZ9C6/HnM1he+tZO5rixjcfQB3/eQ63J0X336dix+6CYB9Gu/Dvyc+CcCuL/7DefdcRujrxLsCKCMjg3sfmMSp+acRCoUYO25M+Djedju9+3xzHP9v3IUccVh3srKyeGTaFCB8HE8/43R6d+8b/j4k6HHMyMhg0gMTGZ5/GqHQ10GOh3P7bXfQu08v8oflc/4FY7lw3E/pdlgPsrKyeHjaP8rXP/z7eXy+63N2797N3DkFzJn/DIfnHhbHjOrWKMWGypqeNxlfZjYNmAucAtxLuEMzkHCHprW7X2dmbwMj3P09M7sX2ODuD5nZYOAadx9aaZtLgE+A9sCP3P2LYH55ezMbB/QFrgBWEz6lNBcYCnQHfuLuI4L1bgTOAA5y91pHLPbp29tffv2l7/ahiMTA9/K71t0oBXxRsK7uRknOSe2fY8f0P47ly5Y3aO+jfW6OX/7YZQ25yQp+2evaZe4e01KcTjnFX9k4mm6ETzm9RrhCMxB4ORi02wVYZGYbgbOp32mne4DXgZlmVmMlLnhe1yTg2ojZa4Aewbge3P1Od+8JtNi71ERERGJDHZr4e5lwVeQzdw8Fg7EzCXdqXiXcebnN3TsEr3ZAtpkdWo9tXwnsAv5utZ/onQKcABwI4O7rgULgDjNrDGBmzdCl/CIiqSF4OGW0XvGgDk38rSJ8ddNrlebtdPethCsysyutMzuYD/AjMyuKeA0oa+Th84nnA20JV2yq5e67gQeBgyJmXwi0Btab2TJgMRWrOCIiIglDg4LjzN1DVDqV4+7jIt53rGadyGdpfa+azQ6OaLsbiLxt6ZJg/hTClZmydg8S7tSUTe8CflaPFEREJOkYlmJFd1VoREREJOmpQiMiIpJmDGhkqVXTSK1sREREJC2pQiMiIpKGUu0ux+rQiIiIpCENChYRERFJMKrQiIiIpJ343QAvWlShERERkaSnCo2IiEiaMTSGRkREROQ7MbOTzewdM1tvZtfV0m6UmbmZ1fnkblVoRERE0lC8xtAEDz1+CDgRKAKWmtkcd19Tqd3+wGXA6/XZrio0IiIiEkv9gPXu/n7wvMEngOHVtLud8IOVv6zPRtWhERERSTcGZo2i9gIOMLPCiNdFEXvPBjZHTBcF874Jz6wX0N7dC+qbkk45iYiIpJ2oP217q7vXNO6luh17+cJwj+g+YNze7FAVGhEREYmlIqB9xHQOUBIxvT9wBLDEzDYCRwFz6hoYrAqNiIhImgk/bTtul20vBbqYWUegGDgbOKdsobvvBA4omzazJcA17l5Y20ZVoREREZGYcfc9wCXAAmAtMMPdV5vZeDM79dtuVxUaERGRNBTPp227+3xgfqV5t9TQdnB9tqkKjYiIiCQ9VWhERETSUCM9+kBEREQksahCIyIikmaM+I6hiQZ1aERERNKOld3RN2WoQyMiaem/BWvjHUJM7Htu93iHEHU7pi6NdwhR5Xwd7xCSgjo0IiIiaUiDgkVEREQSjCo0IiIiacYs9QYFq0IjIiIiSU8VGhERkTRkGkMjIiIiklhUoREREUk7lnJjaNShERERSUO6bFtEREQkwahCIyIikmbCz3JKrZpGamUjIiIiaUkVGhERkbRjumxbREREJNGoQiMiIpKGUu2ybVVoREREJOmpQiMiIpKGUm0MjTo0IiIiaUinnEREREQSjCo0IiIiacbQow9EREREEo46NJKwFj67kO65Pcnr2o0Jd0+ssry0tJTzRo8lr2s3jh0wiE0bN5Uvm/DbCeR17Ub33J4sWrAolmHvFeWYIjkuWETPvF50O6wHE++ZVGV5aWkpY885n26H9WDQwOPLc9y2bRunnDCEgzLbcNVlV8c67L3y4x7Hse6+Rbz3wHNcO/xnVZYfckA7Ft80lRX3zOP5W6aR3apN+bI9j7/Lm3fP5c275/LML/8cy7D3yuIF/6LvEf3odXhf7ptwf5XlpaWl/OTc/6PX4X350TEnsmnjhwBs2vghbVpmc8yRgzjmyEFceXFiH0sALPy07Wi94kEdGklIoVCIKy67imcKZvPmqmXMnD6TtWvWVmgzZfLDZGVlsvqdVVx6xSXceP3NAKxds5aZM2axfGUhc+Y9zeWXXkkoFIpHGrVSjmGpkONVl13N7LlPsWzlUmY+MYu1a9ZVaPPw5EfIzMxk1boVXHL5xdx8wy0ANGvWjJtvu4nf3H1nPEKvt0bWiIcuuI1T7rqA3Kt+zOijh3F49vcrtJk45noeeXE2PX6Vz/gnf89do68pX/a/3V/S69ph9Lp2GMMnVO0MJYJQKMQ1l/+KWXNm8PqKV5g1/SnWra14HKf+41EyMzN5c20hv7js59x246/Ll3Xs1IGXlr7AS0tf4L6HqnZqJfrUoZGEtPSNQjp37kTHTh1p0qQJZ5w5ioI5BRXaFMwp4Nwx5wJw+sgRLHluCe5OwZwCzjhzFE2bNqVDxw507tyJpW8UxiGL2inHsGTPsfCNQjpF5DjqrJEUzK2U49x5nDvmHABGjDytPMf99tuPgccMpGmzpvEIvd76fb8H6z/exAefbOar0Fc88UoBw488oUKb3Ozv86+3XwHg+dWvMrzvCdVtKmEtW7qcTp070qFTB5o0acLIM0cwf+4/K7SZP/efjB5zNgDDTz+VF55/EXePR7gNwmgUtVc8qEMjCamkpISc9jnl09k52RSXbKmxTUZGBi1atmDbtm0Ul2ypsm5JSUlsAt8LyrFqm+TMcQs5Odnl09nZ2WwprivHlmzbti2mcX4X2a0OZvO2b3Iq2vYR2VkHV2izYtM6RvY/GYAR/U6ixb7706p5JgDN9mnK0t88zat3zGJ43xNjF/he2FKyhez23xzHdtntqhzHLSVbyM5pBwTHsUULPtv2GRA+7XRsv8EMOWEYr7z0auwCl3K6ykkSUnW/9VQ+L1vdL0ZmVu2CRLzfgnIsa1N1vVTLMVlyqUl1sVbO6JpH7+L3F9zGuEGn8+LapRRt28Ke0B4ADrn4WLZs/4SOB7XnuZsfZdXmd3j/4w9jEHn9VVtpqfJdrf44tml7MG+vX0Gr1q14a/lbnHvGGF5982VatGgRrXAbRDJ9B+sjahUaM7vPzK6ImF5gZn+LmJ5kZlcF7680sy/NrGXE8sFmVrFuG56/xMz6Bu87mNl7ZvbjyPZmNs7Mvjaz7hHrvW1mHYL3zc3sj2a2wczeNLNlZvbTWnLpYGb/C9quNbM3zOz8Sm1OM7OVZrbOzFaZ2WnB/B5m9lZEu9Fm9oWZ7RNMdzOzlRG5FUa07WtmS4L3+5rZtGDbb5vZS2Z2qJm9Fbw+MrPiiOkmwXojzMzN7LBK+bwd8TnvDHJbZ2YTI9odbGYFZrbCzNaY2fyaPqOGlp2dTdHmovLp4qJi2rVtU6lNu/I2e/bsYdfOXbRq1arC/LJ127ZtG5vA94JyLGuT7Dm2o6iouHy6uLiYNu0q5tgu4nMI57iTVq1axTTO76Jo20e0b/3NZ5/Tug0l2z+u0GbL9k8YOekX9L7uVG58IjyGZNf//lO+DOCDTzazZM3r9OqQG6PI669ddjuKN39zHEuKS2hb5Ti2o7goXCXcs2cPu3btIqtVFk2bNqVV6/Dx7Nm7Jx06dWTDextiF7wA0T3l9AowEMDMGgEHAHkRywcCLwfvRwNLgRH13biZ5QALgKvdfUE1TYqAG2tY/W/AdqCLu/cCTgbq+t9lg7v3cvfDgbOBK83sJ0EsPYCJwHB3Pww4FZgYdKhWAYea2f7BdgYC64BeEdMvR+znIDM7pZr9Xw587O7d3P0I4P+Aj9y9p7v3BP4E3Fc27e67g/VGAy8FMdfk38Hn0AsYamZHB/PHA4vcvYe75wLX1fEZNZi+R/Zh/foNbPxgI7t372bmjFnkD8uv0CZ/WD7Tpk4D4KknZzPo+EGYGfnD8pk5YxalpaVs/GAj69dv4Mh+fWMVer0px7Bkz7HPkX3YEJHjrOlPkj+0Uo5DhzBt6mMAzH7y6fIck8XSDSvp0qYDHQ7MYZ/G+3D2wKHMKfxXhTat988qz+n6037O5OdnAZC5XwuaZDQpb3N01z6sKVof2wTqoXffXmxY/z4bP9jE7t27eXLGbE4ZWvG/4lOGnszjU58A4Jmn5nDc4GMxM7Z+urV8wPrG9zfy/voNdOjYIcYZ7B0j/OiDaP2Jh2iecnoZuC94nwe8DbQ1syzgC+Bw4E0z6ww0B34J3ABMqce22wCPADe5+5wa2hQAx5lZV3d/p2xmsL9+wDn/v737jpOqPvc4/vkCQY0V7IKKKFFAqqioN2rUawM0tgg2sMRoEo0aLFFvNEZiAY3lqokaayyxkSDGYIloVFRARYwVWwDxWrBgA1me+8c5C8Oyu+zizJydM9+3r3kxp8yc5zcHmWd+NSIWAETEB8AFTS1YRLyZ1i5dBFwPDAd+FxFvpcffknQecHJEHCppIrA18BCwBXAFSSLzTPrnQwVvPxI4E1i8NxqsCywcz1pYpoZIWgnYDvgBMAY4eynl+iqtTaptSF4XeKDg+AsNXOdo4GiA9TdYf2lhNUmbNm34/aUXMWjPvampqWHosMPo1r0b55z1W/r268vAQQMYdsRQjhh6FN037UG7du24+dYbAejWvWdITyQAACAASURBVBv77b8ffXpsQZs2bbjksotp3bp1UeIqJpcxP2W86NJR7D3gh9TULOCwYYfSrXtXfnv2ufTdog8DBg1g6BGHcdSwH9Njs160a9eOG2+5fuHru27SnTmfzWHevHncO2YsY/7+N7p226yRK5ZfzYIafn7dbxh3+g20btWK68bfxUszXuc3B5zApDencu/kh9mx29acN+RkIoLHXnmGn/3pbAC6dtiEP/74XBbEAlqpFef/7Q+8PLPlJTRt2rRh5CUXsN/AA6ipqeGQYQfRtdtmjPjNefTp25s9B+3BoYcfwk8OP5Y+XfvRrv1qXHdz0ujwxONPct5vzqd1mza0bt2aiy+/iHbt22VcoqURrSooqW4KlbKHtqS3ge2BPUgSwg7ABOBT4LyI2F7SmemxEcCbwFYR8b6kHYHhETGwznuOB3qSJDNXFuxfeL6kYUA/koRh54gYmjaxDExfe3hENKc2qBMwNq0Zqd23GjArIlaQ9Gz6nlMKjvcCro+IvpLOBhaQJEDjgKFp+X8k6XVgtzRJGk+SHF0I/BaYA4yKiB0l9SZJLt4AHgZujIjXC653NvB5RBQ2GR0C/CAijpT0JPDziHi2sDx1Prd2JMnVgIh4T9JuwF+A59L910dEo70yt+jXN554+vGmfrRmmVmQ/J7JvRUP7pV1CCX3yc0Tsw6hpHbcZieem/x8UbOPLj03iUvGXljMt1zMwA33mxwRZa1SLfUopydIaiC2JUlkJhRsP5meMxi4Pa0tuQc4oAnv+xBwqKTvLuW8W4H+kjZq6ARJZ6R9Tpo7fEJ1ntfNDAv31X4OWwETI+INYBNJawIrRcSbdV57LkktzUIR8TzQmaQGpz0wUVLXpcQ4BLg9fX57ul2f76f9eN4jSXTeS685Lr3mNcBmJDVqay7lmmZmVgHy1uRU6oSmth9ND5Imp6eAbdJ9T6R9TLoAD6a1OYNp+Eu30IXA08CdkhpsNouI+SS1IqcW7H4J6JX26yEiRqR9UJrbHb0PUDtD2L9JaoQK9U2vBUm5twT+iySpg6SPz2AWJXaFcf8TWB7oX2f/5xFxT0T8FPgzsGdDwUlaHdgJuDb9bE8GDlT9Dff/ioieJPfp2LQ2qPaasyPi1og4lKSf0/YNXdPMzCwr5aihGQjMjoiaiJgNrEaS1EwgSV7OjohO6WM9oIOkDZvw3icCnwF/auBLutYNwC7AmgARMQ2YBJwrqTWApOWh6Sll2mQzCrg83TUK+FXBKKpOJP2BLkqvOQeYDgxjUUIzATiBehKa1AjglIJrbpc2CZGOYOpGQZ+aeuwP3BQRG6af7frAWyRJVb0i4jXgPNIEUNJOtbVgaafmjYGWNdbSzMyWibz0QbNMJRnd9FSdfZ9GxIckNRSj67xmNItG5OwsaUbBY5vakyLp/DOUpONqgw2B6Wify4C1CnYfBawOTJM0maQJ69R6Xl5o43Ro88vAHcDlEXF9eo3n09ffK+kV4F7glHR/rSeA5SJiero9gaQ5p96EJiL+DnxQeH3gUUlTSfq0TALubiTeISz52d4NHLSUcv6BpDP1RiQdmCelzVETgGsjIt+N1WZmVpFK2inYqo87BVulcKfg/HCn4Ob7Xs9N4rL7Li7mWy5mjw32zl2nYDMzM7OS89IHBST1AG6us3tuRGydRTxmZmalkV1fl1JxQlMgIqYCvZd6opmZWYVrldHw6lJxk5OZmZlVPNfQmJmZVRt5tW0zMzOzFsc1NGZmZlWmdrXtPHENjZmZmVU819CYmZlVIfehMTMzM2thXENjZmZWdYRyVqfhhMbMzKwKtXKTk5mZmVnL4hoaMzOzKuNh22ZmZmYtkGtozMzMqpCHbZuZmZm1MK6hMTMzqzpyHxozMzOzlsY1NGZmZlUob31onNCYmZlVGQGtctZIk6/SmJmZWVVyDY2ZVaX5MT/rEMriq1unZh1Cya2wX7esQyitN2YV/z2VvyYn19CYmZlZxXMNjZmZWdXxsG0zMzOzFsc1NGZmZlXIfWjMzMzMWhjX0JiZmVWhvPWhcUJjZmZWZUT+Eho3OZmZmVnFcw2NmZlZNXKnYDMzM7OWxTU0ZmZmVccT65mZmZm1OK6hMTMzq0KeWM/MzMyshXENjZmZWRXKWx8aJzRmZmZVKG8JjZuczMzMrOK5hsbMzKzKCHcKNjMzM2txXENjZmZWdTyxnlnZPPCPB+jZrTfdN+3ByAtGLXF87ty5HDLkMLpv2oPvb7MD77z9zsJjI88fSfdNe9CzW28eHPdgOcNuFpcxH2V8aNxDbNF9S3p37cvFF/5+ieNz585l2EFH0LtrX3babhfeefs/ix2f/p/prNeuI5ddfHm5Qm62ariPu/XZgVeueJjXrxrPqfseu8TxDdbswEPn3MKUS+7nkXNvp8Pq6yw8tv4a6zHu7Jt46fKH+PflD7LhWh3LGXrFkbS7pFclTZN0Wj3HT5L0kqQXJD0sacOlvacTGmuRampqOOH4k/jb2NE8N3Uyd/7lTl5+6eXFzrnhuhtp1241/v3qVI474eec8av/AeDll17mzjvu4tkXJjHmvr/yi+NOpKamJotiNMplTOShjL/8xcncde+dPDPlKe7+y9288tIri51z0/U3s1q7VXn+5Wf56fHHctbpZy92/FfDz2CX3XYpY9TNUw33sVWrVlzxk3PY45xhdDvuvxny/b3o2nGTxc4ZNex0bnrkHnqdsAfn/OVSzjv0lIXHbjrhYkaOvppux+3CVifvzfuffFjuIjSbSvhfo9eVWgNXAHsA3YAhkrrVOe05oF9E9ATuAi5cWnmc0FiLNPGZSWy8cWc26rwRbdu25YAf7c/YMWMXO2fsmLEcfOjBAOy73z6M/+d4IoKxY8ZywI/2Z7nllqPTRp3YeOPOTHxmUgalaJzLmKj0Mk6eOJnOG3dmo86daNu2Lfv+aF/uu/fvi53z93vv56BDhwDww/325tFHHiUiABj7t/vo1HlDunbbrOyxN1U13MetuvRm2qx3eOv/pvPN/G+4/fF72XvrXRc7p9v6XXj4hScAeGTqBPbe6r8B6NpxE9q0as1DUx4H4Iuvv+SreV+XtwCVZStgWkS8GRHzgNuBvQtPiIhHIuLLdPMpYKlVXk5orEV699136bj+or+/HTp2YOa7sxo8p02bNqyy6ip89NFHzHx31hKvfffdd8sTeDO4jEueU5FlnDmLDh07LNzu0GE9ZtUp46yZ7y48p7aMsz+azRdffMEloy7ltDNPLWvMzVUN97FD+7WZ/uGiuGZ8NIsO7dde7Jwpb7/MftvsAcA+/Xdjle+uTPuVV+N7HTrzyRefcfepf+DZi+/jwqG/olWrFv71qmSUU6keS9EBmF6wPSPd15AjgfuX9qYt/BO3alX767VQ3f9J6jklOacJr20JXMbac5Z8XbWU8XfnnM9Pjz+WlVZaqVThFUU13Mf6YgoWj3349SPYofvWPHvxfezQvT8zPpzF/Joa2rRqzfe7bcnwG0aw5fC96LzOBgzbaf9yhb7MStzktIakSQWPoxe79JLq+RsEkg4B+gEjl1aeikhoJP1e0gkF2+MkXVuwfZGkk9LnJ0r6WtKqBcd3lLR4/Wiyf7ykfunzTpJel7Rb4fmShklaIKlnwetelNQpfb6SpKskvSHpOUmTJf24kbIsEYukGyTtXxDTq5KmSHpC0qbp/oHp+09JO0r9RNIZkp5PHzUFz48veO8pkm5r4vUmSupdcN4RkqamnbJelLRYlWApdejQgRnTZyzcnjljJuutu06dc9ZbeM78+fP57NPPaN++/WL7a1+77rrrlifwZnAZa8+p8DJ2XI+ZM2Yu3J45813WqVPG9QrOqS1ju/btmPzMJM46/Sx6dOnJVZdfxUUXXMzVV15d1vibohru44yP3mP9NdZbuN1x9XV5d/b7i50z6+P32e+CY+h70gDOuCX5fv3syznM+Og9nnvrJd76v+nULKjhr08/QN/Om5c1/hbow4joV/Ao/Is9A1i/YLsjsES1naRdgDOAvSJi7tIuWBEJDfAksC2ApFbAGkD3guPbAk+kz4cAE4F9mvrmkjoC44BfRsS4ek6ZQfKh1uda4GOgS0T0AXYH2jf12g04OCJ6ATcCIyV9B7gaGJTu7wOMj4gREdE7InoDX9U+j4jL0nJ1JbnH20tasQnXu5I0C04/kzOA/0o7ZfUHXviW5WqyfltuwbRpb/D2W28zb9487rzjLgYMGrDYOQMGDeCWm28B4J67R7PDD3ZAEgMGDeDOO+5i7ty5vP3W20yb9gZbbtWvXKE3mcuYqPQy9u3XlzemvcHbb73DvHnzuOeOe9hz4B6LnbPnwN259ebkd8Vf7/4b2++4PZL4xyP3M/X1F5j6+gsce9yx/PLUkzj6p0fXd5lMVcN9nPj6FLqs24lOa3XkO22+w+D/GsSYZxYfkbX6yu0W1uT8ar+fct3DdySvnTaFdiuuyhqrJP/079RjW16a/np5C9BMtRPrZdTkNBHoImkjSW2BwcCYxeKT+gB/JElm3q/nPZZQKfPQPAHUjoXsDrwIrCupHfAl0BV4TtLGwErAycDpwA1NeO91gJuAMyNiTAPnjCVJCjaNiFdrd6bX2wo4KCIWAETEB8AFzStegx4DTgBWJrlXH6XXmAu82sjrah0E3Ezy+ewF3Nb46Uwg+ewA1gLmAJ+n1/y89nldaVXi0QDrb7B+fac0W5s2bfj9pRcxaM+9qampYeiww+jWvRvnnPVb+vbry8BBAxh2xFCOGHoU3TftQbt27bj51hsB6Na9G/vtvx99emxBmzZtuOSyi2ndunVR4iomlzE/ZRx1yYXsO2A/ahbUcMjQg+navSsjzv4dfbbozZ6D9uTQww/l6GHH0LtrX9q1a8d1f/5T1mE3SzXcx5oFNfz8ml8z7qybaN26Ndc9dAcvTX+d3ww5kUnTpnLvxIfYcfP+nHfoKUQEj730DD/7468BWLBgAcNvGMHD59yCJCa/8SLXPHh7xiVquSJivqSfk1QktAaui4h/SzoHmJR+F48k+T6/M02Q/hMRezX2vqqvbbQlkvQ2sD3JMC+RdCCaAHwKnBcR20s6Mz02AngT2Coi3pe0IzA8IgbWec/xQE+SZObKgv0Lz5c0jKT97hlg54gYKulFYGD62sMjojm1QUvEIukGYGxE3JXGNDwiJkk6mWTY2oFpE9tewMMkCdZttUlU+h6fR8RiDfGSXgP+G9gU+HntX4ZGrncCsFZEnK5kWN3fSZKhh4F7IuLepZVvi35944mnH2/qx2GWmXkL5mUdQlm0bdU26xBKboX96o74zZnxs4hP5ha149HmfbrHnY/cWsy3XEy3dr0nR0RZq+IqpckJklqabdPHhPRRu/1kes5g4Pb0i/4e4IAmvO9DwKGSvruU824F+kvaqKETCvq0NNaFv6EMsnD/LZKeB7YDhgNExFHAziSJ1XDgusaClbQl8EFEvEOSkPRNa7Tqc4ukGcCpwOXp9WpIms/2B14Dfi/p7MauaWZmlpVKSmhq+9H0IGlyegrYJt33RNpptwvwYFqbM5ikP83SXAg8TVKt1WATXETMBy4i+dKv9RLQK+3XQ22fFmCVRq73EVA3sWgPFM7CdHDaF+aHEbFwaFtETI2I35PUuuy3lHINATZLP4s30pgaes3BwEYkSdsVBdeLiHgmIs4j+TyXdk0zM6sQJR7lVHaVlNA8QdLMMzsiaiJiNrAaSVIzgeQL/OyI6JQ+1gM6qAnTJQMnAp8Bf1LjvZluAHYB1gSIiGnAJODctIkGSctT/5C0Wq8D66Uddknj6wU839ALlIyk2rFgV2/gnQZOr+04fQDQs/bzIJm0qMEELyK+Ac4kqYXqKmk9SX2bek0zM7MsVUqnYICpJKObbq2zb6WI+FDSYJL+NYVGk9QsPA3snDar1FrYHBURIWkoSd+UC4H76gsgIuZJugy4tGD3USSdl6ZJmg18xeK1OHXfY66ScfXXp8nPN8BREfFpw0VHwCmS/pi+/xfAsEbO3x6YGREzC/Y9BnST1OB4yYj4StJFJE1a5wCjJK0HfA18ABzTyDXNzKyCNGE0UkWpmE7BVhncKdgqhTsF54c7BTff5n26x93jSzcSa7PVepa9U3Al1dCYmZlZkWTV16VUnNCUiKQeJHPAFJobEVtnEY+ZmVkt4YTGmigippJ0pDUzM7MSc0JjZmZWdZq0REFFqaRh22ZmZmb1cg2NmZlZVXINjZmZmVmL4hoaMzOzaqP8TaznGhozMzOreK6hMTMzq0Keh8bMzMwqXt4SGjc5mZmZWcVzDY2ZmVmVkSfWMzMzM2t5XENjZmZWhdyHxszMzKyFcQ2NmZlZFXINjZmZmVkL4xoaMzOzKpS3UU5OaMzMzKqQm5zMzMzMWhjX0JiZmVWZPE6s54TGiurZyc99uEKbFd8p82XXAD4s8zXLzWXMB5cxH8pdxg3LeK2K5YTGiioi1iz3NSVNioh+5b5uObmM+eAy5kNeyug+NGZmZmYtjGtozMzMqpJraMxamquzDqAMXMZ8cBnzoRrKWHEUEVnHYGZmZmXUq2/P+MfjY0v2/uutuOHkcvczcpOTmZlZFcrbsG03OZmZmVnFcw2NmZlZVXINjZmZ2WIkrS5pH0lbZB2LVScnNFZRJHWXtFfB9u8lXZc++mYZWzFIWkVSl4LtAyQdlj7WzjK2Ysn7PQSQdKSkkwu2Z0r6TNIcScdmGVuxSBorafP0+brAi8ARwM2STsg0uCKRNEjShgXbv5Y0RdIYSRtlGVsxqISPLDihsUpzPotPOb4bcB/wCPDrTCIqrlHAdgXb5wFbAtsDv8kkouLL+z0EOAa4rmD7/YhYBVgTGJJNSEW3UUS8mD4/HHgwIgYBW5MkNnkwAvgAQNJA4BCSso0B/pBhXFYP96GxSrNuRDxZsP1ZRNwNIOknGcVUTFsCheWYExHHAUh6PJuQii7v9xCgVUR8VLB9J0BEfC1phYxiKrZvCp7vDFwDEBFzJC3IJqSii4j4Mn2+L/CniJgMTJb00wzjKoIs61JKwwmNVZqVCzcion/B5lpljqUU2sTik0MdWvB8tXIHUyJ5v4cAqxZuRMTvACS1AlbPJKLimy7pOGAG0Bf4B0CasH0ny8CKSJJWAr4kSdquLDi2fDYhWUPc5GSV5l1JW9fdKak/8G4G8RTbAknr1G7UVulL6gDk5Vdv3u8hwAOSzq1n/znAA+UOpkSOBLoDw4ADI+KTdH9/4PqsgiqyS4DngUnAyxExCUBSH2BWloF9W1IyD02pHllwDY1VmlOBv0i6AXg23bcFMBQ4MKugimgkcK+kXwLPpfv6kvStGZlZVMWV93sIcDJwraRpwJR0Xy+SL8ajMouqiCLifZK+QnX3PyLpzQxCKrqIuE7SOJKawykFh94jSeSsBXFCYxUlIp5Jf8n/jEX/oPwb6B8R/5dZYEUSEX+W9CFwLsmvX0hGj/w6Iu7PLrLiyfs9BIiIL4Ahkjqz6D6+FBFvZBhW0UnaBugAPBYR70vqCZwGfB9YP9PgiiQiZgIz6+xeBRgO/Lj8EVlDnNBYxUm/9PIyGmYJEfEP0v4IeZX3eyhpg/TpfAp+2dfuj4j/ZBFXMUkaCQwkaZI5VdJY4KfA78jJKKc0QRsFrAf8FbicpB/N1sBFGYZWFHKnYLPsSHoEaGhF1YiIncsZT7FJauxLPiLit2ULpkTyfg9T95GUsfAbI0iGba8FtM4iqCIbAPRJR261I+n/1DMiXs84rmK6BrgKmADsTtJEeitwcER8nWVgtiQnNFZphtezrz9wCvB+mWMphS/q2bciSQfM1YGKT2jI/z0kInoUbkvqRNJ3aBeSGow8+Kr2Sz0iPpb0as6SGYDlIuKG9PmrkoYDp0VETYYxFY1raMwylM4BAYCkHYD/AZYDjslDH5OIWFiNLWll4Bckk5bdTg6quCH/97BQOuvzGSxqojg+Ir5p/FUVY2NJYwq2OxVuR8Re9bym0iyfjmiq/eb/HOipdBhPRDzb4Cut7JzQWMWRtBvJl+DXwIiIeCTjkIpKUnvgJOBg4Eagb0R8nG1UxVUF93BzkkSmO3AhcGReftUX2LvOdi4S7jreAy5uYDuAncoekTXICY1VFEkTSfohjCRp16Zw/Z9K/8WUdrTcF7ga6BERn2ccUtHl/R6mpgDTSfrSbAVsVTg3R0Qcn1FcRRMRj2YdQ6lFxI5Zx2BN54TGKs0XJNW++6ePQnn4xfRLYC5wJnBGwZegSDrMrpJVYEWU93sISZ+nhjo+54KkqdRfxtq/qz3LHFLRSdq3seMRcU+5YimFrCbAKxUnNFZR8v6LKSJyP3t33u8hQEFH0jwbmHUAZTCokWMBVHRCkzdOaKyiVMEvpvaNHY+I2eWKpVTyfg8BJN1LIzU0eegwGxHv1Ldf0nbAQSQTJ1a0iDi8oWOS1i5nLLZ0Tmis0uT9F9Nklpy/pFYAncsbTknk/R5CMhlb1ZDUmySJ+RHwFvm4h0uQtCqwH0lZu5LMklyh5GHbZhk7u6FfhjmxY87L1+iv3hxpGxEP1ndA0gVAxXeolfQ9YDAwBPgI+AugiPhBpoEVWbp6+F4kSUxfktXifwg8lmVctqTct9db7jws6TRJeU3GR2cdQDlI2lTSRZLuSx+j0i/IvLhC0oDCHZJapQty9sompKJ7BdgZGBQR/xURlwO5Gpou6RbgNWBX4H+BTsDHETE+IhZkGVtxqISP8nNCY5WmD7A2MFnS9lkHUwL5qgOuR7qg4XiSkU5Xk0wv/wUwPl20Mg92BS6q7S+U/sofA7Sl8Sa3SrIfybwsj0i6RtLO5O/v7+bAx8DLwCvpXEK5Hr1WyfL6K9dyKiLmACdK2oKktmYGsID8DBXtIOmyhg7mYf4SkkUph0TE+IJ9f5X0T+AsYI9MoiqiiHhb0i7AOElrAYcCT0fESRmHVjQRMRoYLWlFkiaYE4G1JV0FjI6IBzINsAgiopekzUiamx6S9D6wsqR1IuK9jMP7VrKrRykdRTjZtMoiaSfgUmAccAVJQgM0PPKiUkh6h0ZWoY6IG8sYTklIei0i6m1eStcD2rTcMRVbwUSB6wI3AQ+SzBgM5GPyQEltImJ+nX3tgQOAAyMiD/MJLUZSP5I+QwcAMyJi24xDWmZ9tugd/3yy3m5eRdF++bUmR0S/kl2gHq6hsYoi6XaSkQUHRcTUrOMpgY/ykLQsxZxGjtW3OGclKlwG4AWSZtLafXmZPPAZkk6yC6XTCvwxfVQ8ST+PiP+t3Y6IScCkdJHKim/y9sR6Ztl6OCKuqe+ApLUj4v/KHVCRrZt1AGWwfgPNaqKih8Eu0thInxz1E8rXt2H9jiDpDLyYSJo2Kn6kWt44obGKUjeZyde8EEDSyTLvTm7k2KSyRZGdO4ANsg6iCNaU1GCfoIi4uKFj1lLkKyd1QmMVJ+fzQuS+U1sVNKktTV6+RVoDK5Gf8tSnp6TP6tmfi7XV8nbjnNBYRUnnhdgeeICkKvifwLQ6I2YqWce8j3KSdD0NJ24REUeWM54M5CVpnRUR52QdRIlNjYg+WQdhTeOExirNEvNCSMrLFwTAVyTLH+TZ2Hr2bQCcQPKrv+I1spaTgNXLHE6p5O0HfhXK1y10QmMVJc/zQqRyP8opIu6ufS6pM3A6Sa3b+cCfsoqryBpbyykv6zztLek7EfENJLM/A3sC7+RhgdHUnVkHYE3nmYKt4kTEKxHx63S+khNJ5vl4RtKTGYdWDPOyDqAcJHWV9GfgXuBxoFtEXBURuSh/RDxa3wN4E9gq6/iK5M8kSwEgaRNgAsniqT+TdF6GcRXTB5K6AChxvaTPJL1QMNdQhRJS6R5ZcA2NVbSCeSFOBn6RdTxF8LPG/qHMyYRsdwL9SGoqTiRZ/2eV2n8E07lMckPSGiQTsQ0hGYWXl/W62kXE6+nzocBtEXGcpLYkzaa/yi60ovkFcEP6fAjQE9iIZAmWS4HvZxOW1ccJjeVCRCyQdCLw+6xj+ZZGkfS9qP2JU7cfRh4mZNuSpFzDgV+m+wrL2zmLoIpJ0srAPiRNo98jSWI6R0THTAMrrsK/mzsBIwEiYp6kHCzcCMD82iY1YCBwU0R8RNLcfWEjr7MMOKGxPMlDD7dTgekRMQtA0lCSeXbeBs7OLqziiYhOWcdQBu+TzKR7JvB4RISkfTKOqdhekDQKmAlsQjLyEEmrZRpVcS2QtC7JQISdgREFx1bIJiRriPvQWJ7kYbTTH4C5AOlq4ucBNwKfkqxMnUuSNpZ0hqQXs46lSE4HlgeuAn4laeOM4ymFHwMfkvSj2TUivkz3dyM/HZ9/TTLZ49vAmIj4N4CkHUj6Q1WsZHHK0v2XSZm8OKVVEklzaHg47AoRUdG1jpKmRESv9PkVwAcRcXa6/XxE9M4yvmJKf/keSNIs05MkebsnT2t0paO4hgCDgS4kq4mPjojXMg3MmkxSG2DliPi4YN+KJN+fn2cX2bfTd4s+8ehT40v2/qu0Xc2LU5o1JiJWzjqGEmtdsIrxzsDRBcdy8f+rpB+TfMl3JFkG4CjgbxHxm0wDKyJJJ5CM3no+IkYAIyT1ICn3/UDF19hIeoTGJ0jcuZzxlEI6wmkksImkqcDwiJgZEXlZRDVXcvEPpFmO3AY8KulDkkn2/gULh8V+mmVgRXQFyRDfg9JRauRsckRIkrXLgM0kvQA8CTwBjIqI0zONrHiG17OvP3AKSR+iPLiOZFqIx0iWW7kc2DfTiIooD50OCzmhMWtBImKEpIdJVt1+IBa1CbcCjssusqJaj2QY88WS1iappflOtiEVV0QMB0iHMPcDtiVZufkaSZ9ERLcs4yuGiFg4o3Xap+R/gOWAYyLi/swCK66VCxbEHSmp4qdNyDMnNGYtTEQ8Vc++3PS5iIgPSTrLXiWpI0n/kvclvUzSvyQvNRiQjIRZBVg1fbwL5KmPFt0rxwAADzBJREFU0G4kiczXwIiIeCTjkIpteUl9WFSZsULhdqXPC5XVBHil4oTGzMpKUv/apC0iZpCMiBmVTp0/ONPgikTS1UB3YA7wNEmT08WFHUsrnaSJwJokfUwmpPsWTgpZ6V/2qfeAixvYDvIxL1RuOKExs3K7ElhiNuSIeBXIS8fgDUiaX14nmadlBvBJphEV3xfA58D+6aNQLr7sI2LHrGMoHZG3XjROaMzMiiwidldSn9+dpP/ML4HNJc0GJkTEWZkGWAT5/rJPSKrbAThI5t55PiLmZBCSNcIJjZmVW2dJYxo6GBF7lTOYUkk7dL8o6ROSEWqfkkyfvxXJfDQVTdIUkqHpTwJPRMTb2UZUEoPq2dce6CnpyIj4Z7kDKqZ81c84oTGz8vsAuCjrIEpJ0vEkNTPbAd+QDNmeQDIMOC+dgg8mKeN/A2elk809WfuIiKezDK4YIuLw+vZL2pBkdN7W5Y2o2PKV0jihMbNy+zwiHs06iBLrBNwFnFi7LlfeRMSLwIukS3Kkq4oPBk4g6ejdOrvoSisi3pGUq6kG8sAJjZmV28eS1omI9wAkHUayAOc7wNkRMTvT6IogIk7KOoZSk9Qa6MOimqiNSTpAX0s66imv0hF5c7OO41uRh22bmX1bqwHzYOECnOeTTBrYm+TXft0RM9YyfQa8TDLz82kR8VbG8RSdpHtZcnmH9iQTXx5S/oisMU5ozKzcWhXUwhwIXB0RdwN3S3o+w7iseY4Ctkn/PDydl2YCySiumZlGVjx1Vw0P4CPg9YiYl0E8uSFpd+BSkqbJayPi/DrHlyNZdmILks/8wKV1PHdCY2bl1ibvC3BWg4i4jWTtMSR9l2T01nbAeZLaRsSGWcZXDE3t6yVpQkRsU+p48iJtrryCpEP5DGCipDER8VLBaUcCH0fEJpIGAxeQ/ABqkP/xMLNyq4YFOKtCOrJpaxb1o9kSmE4yqquaLJ91AM2VTKuXWR+arYBpEfEmgKTbgb2BwoRmb+Ds9PldwP9KUsH6dktwQmNmZVUlC3DmnqTnSGZEnkQyVPsi4KmI+DzTwLJRcavFPzv5uXErtFlxjRJeYnlJkwq2r46Iq9PnHUgS31ozWHII/MJzImK+pE+B1UkmNqyXExozK7u8L8BZJYYCUxv7xWwtV0TsnuHl66saqvv3qCnnLKbVModjZmZVKyJeALpLulHSJEkT0+c9s44tA/ka/1x6M4D1C7Y7kqxEX+85ktqQrFbf6JQOTmjMzKzZJO0NjAYeBY4gGe30KMlotb2zjC0Dh2YdQIWZCHSRtJGktiQTMtZdDmUMSS0gJFM5/HNptYFybaGZmTVXupbT3nWH0krqBPwtInplEFZRSToSaB8RI9PtmcDKJDUyp0TEVVnGV8kk7QlcQjJs+7q0b905wKSIGCNpeeBmkskbZwODazsRN/ieTmjMzKy5JL0UEd2ae6ySpHPr7B4RH6Xbz0VEn/TL9oGI2D7bCK2Qm5zMzGxZfCNpg7o704Ub52cQTym0qk1mUncCRMTXwArZhGQN8SgnMzNbFmcBD0n6HTCZZATKlsBpwKlZBlZEqxZuRMTvACS1IhlCbC2Im5zMzGyZSOoF/BLoTtKv5N/AqIiYkmlgRSLpSmB2RJxZZ/+5wBoRcUw2kVl9nNCYmZnVI50J+VqSmqfaJK0XyWSCR1XpJIItlhMaMzNbJpKGAscDm6W7XgYui4ibsouq+CR1JqmFAngpIt7IMh6rn/vQmJlZs0k6DDgBOAl4lqTJqS8wUhJ5SGoKOj3PZ1ENzcL9EfGfLOKy+rmGxszMmk3SUyRzg7xdZ38n4PaI6J9BWEUlaSpJZ+fCmYADWBNYKyJaZxKY1cs1NGZmtixWqZvMAETE25JWySCeoouIHoXbabJ2KrAL8LsMQrJGeB4aMzNbFl8t47GKI6mLpBuA+0mGqHeLiMuzjcrqcpOTmZk1m6QvgWn1HQI6R8SKZQ6p6CRtDpxB0iH4QuC2iKjJNipriBMaMzNrtnRG4AZFxDvliqVUJNUA04H7gCUSmYg4vuxBWYPch8bMzJqtqQmLpAkRsU2p4ymRI0k6AVsFcA2NmZmVTO2CjlnHYfnnGhozMyuliv3VLOleGok/IvYqYzi2FE5ozMzM6jcq6wCs6ZzQmJlZKWnpp7RYbSPiwfoOSLoAeLTM8VgjPA+NmZmV0qFZB/AtXCFpQOEOSa3SOWl6ZROSNcQJjZmZNZukIyWdXLA9U9JnkuZIOrZ2f0S8mE2ERbErcJGkfQEkrQCMAdoCg7IMzJbkUU5mZtZskiYCu0fER+n2cxHRR9LywAMRsX22ERaHpI7AOOByktqmpyPipGyjsvq4D42ZmS2LVrXJTOpOgIj4Oq3JqHiS+qZPTwFuAh4E/ly7PyKezSo2W5JraMzMrNkkTYuITerZ3wqYFhGdMwirqCQ90sjhiIidyhaMLZUTGjMzazZJVwKzI+LMOvvPBdaIiGOyiaw8JPWPiKeyjsMWcUJjZmbNJmlF4FpgS2BKursXMAk4KiI+zyq2cpD0n4jYIOs4bBEnNGZmtswkdSZZjRrgpYh4I8t4ykXS9IhYP+s4bBEnNGZm1mySGq2diIj/lCuWLLiGpuXxKCczM1sW95Gsc1Q4E3AAawJrAa2zCKqYGlnLScDqZQ7HlsI1NGZm9q1J6gScCuwCXBYRl2caUBFI2qGx4xHhpQ9aECc0Zma2zCR1Ac4AtgYuAm6MiG+yjaq0JK0PDI6IkVnHYot46QMzM2s2SZtLug24G3gI2Dwirs1rMiNpDUnHSnoMGA+snXFIVodraMzMrNkk1QDTSfrS1NQ9HhHHlz2oIpO0MrAPcBDwPWA0cGBEdMw0MKuXOwWbmdmyOJL6O8zmyfvAM8CZwOMREZL2yTgma4BraMzMzOoh6URgMLAicCvwF+DBPCzrkEdOaMzMrNkaGdIMQETsVcZwSiqdPHAISXLTBTgLGB0Rr2UamC3GCY2ZmTVbNQxplnQC8DjwfETMT/f1IEluDoyIjbOMzxbnPjRmZrYs2kbEg/UdkHQBUPEJDdARuAzYTNILwJPAE8CoiDg908hsCa6hMTOzZpP0GnBiRNxXsK8VcB2wTkTsnllwRSapLdAP2BbYJn18EhHdMg3MFuMaGjMzWxa7Av+QtFxE3CNpBeBO4DNgULahFd0KwCrAqunjXWBqphHZElxDY2Zmy0RSR2AccDlwKPB0RJyUbVTFI+lqkpXE5wBPA08BT0XEx5kGZvXyTMFmZtZskvqSLEJ5CjCCZJK9P0vqmx7Lgw2A5YD3gJnADOCTTCOyBrmGxszMmk3SI40cjojYqWzBlJAkkdTSbJs+NgdmAxMi4qwsY7PFOaExM7OiktQ/Ip7KOo5iSpvXtiNJagYCq0fEatlGZYWc0JiZWVFJ+k9EbJB1HN+WpONJEpjtgG9IhmxPSP+cGhELMgzP6vAoJzMzKzZlHUCRdALuIhmePivjWGwpXENjZmZFlZcaGqssrqExM7Nma2QtJwGrlzkcM9fQmJlZ81XDWk5WWZzQmJlZ0UhaHxgcESOzjsWqiyfWMzOzb0XSGpKOlfQYMB5YO+OQrAq5D42ZmTWbpJWBfYCDgO8Bo4HOEdEx08CsarnJyczMmk3SV8AzwJnA4xERkt6MiM4Zh2ZVyk1OZma2LE4HlgeuAn4laeOM47Eq5xoaMzNbZpI6A0OAwUAX4CxgdES8lmlgVnWc0JiZWbNJOgF4HHg+Iuan+3qQJDcHRoRrbKysnNCYmVmzSRpFss7RZsALwJOkax1FxOwsY7Pq5ITGzMyWmaS2QD+S5Gab9PFJRHTLNDCrOh62bWZm38YKwCrAqunjXWBqphFZVXINjZmZNZukq4HuwBzgaeAp4KmI+DjTwKxqedi2mZktiw2A5YD3gJnADOCTTCOyquYaGjMzWyaSRFJLs2362ByYTdIx+KwsY7Pq44TGzMy+FUkdge1IkpqBwOoRsVq2UVm1cUJjZmbNJul4kgRmO+Ab0iHb6Z9TI2JBhuFZFfIoJzMzWxadgLuAEyNiVsaxmLmGxszMzCqfRzmZmZlZxXNCY2ZmZhXPCY2ZlYWkGknPS3pR0p2Svvst3mtHSWPT53tJOq2Rc1eT9NNluMbZkoY3dX+dc26QtH8zrtVJ0ovNjdHMFnFCY2bl8lVE9I6IzYF5wDGFB5Vo9r9JETEmIs5v5JTVgGYnNGZWWZzQmFkW/gVsktZMvCzpSuBZYH1Ju0qaIOnZtCZnJQBJu0t6RdLjwL61byRpmKT/TZ+vLWm0pCnpY1vgfGDjtHZoZHreyZImSnpB0m8K3usMSa9KegjYdGmFkPTj9H2mSLq7Tq3TLpL+Jek1SQPT81tLGllw7Z982w/SzBJOaMysrCS1AfZg0QKGmwI3RUQf4AvgTGCXiOgLTAJOkrQ8cA0wCPg+sE4Db38Z8GhE9AL6Av8GTgPeSGuHTpa0K9AF2AroDWwhaXtJWwCDgT4kCdOWTSjOPRGxZXq9l4EjC451AnYABgB/SMtwJPBpRGyZvv+PJW3UhOuY2VJ4HhozK5cVJD2fPv8X8CdgPeCdiHgq3d8f6AY8kcyqT1uSydo2A96KiNcBJP0ZOLqea+wEHAYQETXAp5La1Tln1/TxXLq9EkmCszIwOiK+TK8xpgll2lzSuSTNWisB4wqO3ZFOLve6pDfTMuwK9CzoX7Nqeu3XmnAtM2uEExozK5evIqJ34Y40afmicBfwYEQMqXNeb6BYk2YJOC8i/ljnGicswzVuAH4YEVMkDQN2LDhW970ivfZxEVGY+CCpUzOva2Z1uMnJzFqSp4DtJG0CIOm7kr4HvAJsJGnj9LwhDbz+YeDY9LWtJa0CzCGpfak1DjiioG9OB0lrAY8B+0haQdLKJM1bS7MyMEvSd4CD6xw7QFKrNObOwKvptY9Nz0fS9ySt2ITrmNlSuIbGzFqMiPggrem4TdJy6e4zI+I1SUcD90n6EHicZGXnun4BXC3pSKAGODYiJkh6Ih0WfX/aj6YrMCGtIfocOCQinpX0F+B54B2SZrGl+R/g6fT8qSyeOL0KPAqsDRwTEV9Lupakb82z6UrVHwA/bNqnY2aN8dIHZmZmVvHc5GRmZmYVzwmNmZmZVTwnNGZmZlbxnNCYmZlZxXNCY2ZmZhXPCY2ZmZlVPCc0ZmZmVvGc0JiZmVnF+3+UmBZqhXdcLwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "<Figure size 576x576 with 2 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-------------------------\n", + "| Classifiction Report |\n", + "-------------------------\n", + " precision recall f1-score support\n", + "\n", + " LAYING 1.00 1.00 1.00 537\n", + " SITTING 0.97 0.90 0.93 491\n", + " STANDING 0.92 0.98 0.95 532\n", + " WALKING 0.96 0.99 0.97 496\n", + "WALKING_DOWNSTAIRS 0.99 0.95 0.97 420\n", + " WALKING_UPSTAIRS 0.95 0.96 0.95 471\n", + "\n", + " avg / total 0.96 0.96 0.96 2947\n", + "\n" + ] + } + ], + "source": [ + "from sklearn.svm import SVC\n", + "parameters = {'C':[2,8,16],\\\n", + " 'gamma': [ 0.0078125, 0.125, 2]}\n", + "rbf_svm = SVC(kernel='rbf')\n", + "rbf_svm_grid = GridSearchCV(rbf_svm,param_grid=parameters, n_jobs=-1)\n", + "rbf_svm_grid_results = perform_model(rbf_svm_grid, X_train, y_train, X_test, y_test, class_labels=labels)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--------------------------\n", + "| Best Estimator |\n", + "--------------------------\n", + "\n", + "\tSVC(C=16, cache_size=200, class_weight=None, coef0=0.0,\n", + " decision_function_shape='ovr', degree=3, gamma=0.0078125, kernel='rbf',\n", + " max_iter=-1, probability=False, random_state=None, shrinking=True,\n", + " tol=0.001, verbose=False)\n", + "\n", + "--------------------------\n", + "| Best parameters |\n", + "--------------------------\n", + "\tParameters of best estimator : \n", + "\n", + "\t{'C': 16, 'gamma': 0.0078125}\n", + "\n", + "---------------------------------\n", + "| No of CrossValidation sets |\n", + "--------------------------------\n", + "\n", + "\tTotal numbre of cross validation sets: 3\n", + "\n", + "--------------------------\n", + "| Best Score |\n", + "--------------------------\n", + "\n", + "\tAverage Cross Validate scores of best estimator : \n", + "\n", + "\t0.9440968443960827\n", + "\n" + ] + } + ], + "source": [ + "print_grid_search_attributes(rbf_svm_grid_results['model'])" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# 4. Decision Trees with GridSearchCV" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "training the model..\n", + "Done \n", + " \n", + "\n", + "training_time(HH:MM:SS.ms) - 0:00:19.476858\n", + "\n", + "\n", + "Predicting test data\n", + "Done \n", + " \n", + "\n", + "testing time(HH:MM:SS:ms) - 0:00:00.012858\n", + "\n", + "\n", + "---------------------\n", + "| Accuracy |\n", + "---------------------\n", + "\n", + " 0.8642687478791992\n", + "\n", + "\n", + "--------------------\n", + "| Confusion Matrix |\n", + "--------------------\n", + "\n", + " [[537 0 0 0 0 0]\n", + " [ 0 386 105 0 0 0]\n", + " [ 0 93 439 0 0 0]\n", + " [ 0 0 0 472 16 8]\n", + " [ 0 0 0 15 344 61]\n", + " [ 0 0 0 73 29 369]]\n" + ] + }, + { + "data": { + "image/png": "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Oyis7Xbg+LBtC4L1kwhVZkrb3UeoU1O6vA34v1qkICIiCcewJCu6q0IjIiIiCU8VGhERkRRjQJolV00jubIRERGRlKQKjYiISAqKx2ej7Q51aERERFKQJgWLiIiIxBlVaERERFJO7G6AFymq0IiIiEjCU4VGREQkxRiaQyMiIiKyW8zsRDP7wMzWmNl1NbQbaWZuZrt8crcqNCIiIikoVnNogocePwAcBxQAi81slruvqtBub+BS4O3aHFcVGhEREYmm/sAad/84eN7gv4BhVbS7ldCDlb+rzUHVoREREUk1BmZpEXsBrcxsSdhrXNjZs4D1YcsFwbofwjPrBbRz97zapqQhJxERkZQT8adtb3b36ua9VHViL9sY6hHdDYytywlVoREREZFoKgDahS1nA0Vhy3sDBwELzCwfOBiYtauJwarQiIiIpJjQ07Zjdtn2YqCzmXUACoEzgbNKN7r7VqBV6bKZLQCudvclNR1UFRoRERGJGnffAVwMzAVWA1PdfaWZ3WJmp/zY46pCIyIikoJi+bRtd58DzKmw7nfVtB1Um2OqQiMiIiIJTxUaERGRFJSmRx+IiIiIxBdVaERERFKMEds5NJGgDo2IiEjKsdI7+iYNdWhEJCVtfXJZrEOIinY3nxjrECLu3d9MjnUIEbXDv491CAlBHRoREZEUpEnBIiIiInFGFRoREZEUY5Z8k4JVoREREZGEpwqNiIhICjLNoRERERGJL6rQiIiIpBxLujk06tCIiIikIF22LSIiIhJnVKERERFJMaFnOSVXTSO5shEREZGUpAqNiIhIyjFdti0iIiISb1ShERERSUHJdtm2KjQiIiKS8FShERERSUHJNodGHRoREZEUpCEnERERkTijCo2IiEiKMfToAxEREZG4ow6NxK15L8yje05Pcrt0Y/wdEyptLy4u5pzR55HbpRtHHDKQdfnryraNv308uV260T2nJ/Pnzo9m2HWiHJMjxxfnvkif3H707Nqbu+68u9L24uJixp51Pj279ubow45lXf6n5bav/3Q9mS2yue+u+6MVcp0d0/lgFl/+FMuunMblR55baXt2szY89/MH+PdFj7Lwksc57oBDABjUqT8LfjWJhZc8zoJfTeLIjn2iHXqtLZj/b47udQIDexzLgxP/Vmn7268vZvDhp9KpeVfmPPNCuW0dmx3ISYeewkmHnsIF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\n", + "text/plain": [ + "<Figure size 576x576 with 2 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-------------------------\n", + "| Classifiction Report |\n", + "-------------------------\n", + " precision recall f1-score support\n", + "\n", + " LAYING 1.00 1.00 1.00 537\n", + " SITTING 0.81 0.79 0.80 491\n", + " STANDING 0.81 0.83 0.82 532\n", + " WALKING 0.84 0.95 0.89 496\n", + "WALKING_DOWNSTAIRS 0.88 0.82 0.85 420\n", + " WALKING_UPSTAIRS 0.84 0.78 0.81 471\n", + "\n", + " avg / total 0.86 0.86 0.86 2947\n", + "\n", + "--------------------------\n", + "| Best Estimator |\n", + "--------------------------\n", + "\n", + "\tDecisionTreeClassifier(class_weight=None, criterion='gini', max_depth=7,\n", + " max_features=None, max_leaf_nodes=None,\n", + " min_impurity_decrease=0.0, min_impurity_split=None,\n", + " min_samples_leaf=1, min_samples_split=2,\n", + " min_weight_fraction_leaf=0.0, presort=False, random_state=None,\n", + " splitter='best')\n", + "\n", + "--------------------------\n", + "| Best parameters |\n", + "--------------------------\n", + "\tParameters of best estimator : \n", + "\n", + "\t{'max_depth': 7}\n", + "\n", + "---------------------------------\n", + "| No of CrossValidation sets |\n", + "--------------------------------\n", + "\n", + "\tTotal numbre of cross validation sets: 3\n", + "\n", + "--------------------------\n", + "| Best Score |\n", + "--------------------------\n", + "\n", + "\tAverage Cross Validate scores of best estimator : \n", + "\n", + "\t0.8369151251360174\n", + "\n" + ] + } + ], + "source": [ + "from sklearn.tree import DecisionTreeClassifier\n", + "parameters = {'max_depth':np.arange(3,10,2)}\n", + "dt = DecisionTreeClassifier()\n", + "dt_grid = GridSearchCV(dt,param_grid=parameters, n_jobs=-1)\n", + "dt_grid_results = perform_model(dt_grid, X_train, y_train, X_test, y_test, class_labels=labels)\n", + "print_grid_search_attributes(dt_grid_results['model'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 5. Random Forest Classifier with GridSearch" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "training the model..\n", + "Done \n", + " \n", + "\n", + "training_time(HH:MM:SS.ms) - 0:06:22.775270\n", + "\n", + "\n", + "Predicting test data\n", + "Done \n", + " \n", + "\n", + "testing time(HH:MM:SS:ms) - 0:00:00.025937\n", + "\n", + "\n", + "---------------------\n", + "| Accuracy |\n", + "---------------------\n", + "\n", + " 0.9131319986426875\n", + "\n", + "\n", + "--------------------\n", + "| Confusion Matrix |\n", + "--------------------\n", + "\n", + " [[537 0 0 0 0 0]\n", + " [ 0 427 64 0 0 0]\n", + " [ 0 52 480 0 0 0]\n", + " [ 0 0 0 484 10 2]\n", + " [ 0 0 0 38 332 50]\n", + " [ 0 0 0 34 6 431]]\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 576x576 with 2 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-------------------------\n", + "| Classifiction Report |\n", + "-------------------------\n", + " precision recall f1-score support\n", + "\n", + " LAYING 1.00 1.00 1.00 537\n", + " SITTING 0.89 0.87 0.88 491\n", + " STANDING 0.88 0.90 0.89 532\n", + " WALKING 0.87 0.98 0.92 496\n", + "WALKING_DOWNSTAIRS 0.95 0.79 0.86 420\n", + " WALKING_UPSTAIRS 0.89 0.92 0.90 471\n", + "\n", + " avg / total 0.92 0.91 0.91 2947\n", + "\n", + "--------------------------\n", + "| Best Estimator |\n", + "--------------------------\n", + "\n", + "\tRandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',\n", + " max_depth=7, max_features='auto', max_leaf_nodes=None,\n", + " min_impurity_decrease=0.0, min_impurity_split=None,\n", + " min_samples_leaf=1, min_samples_split=2,\n", + " min_weight_fraction_leaf=0.0, n_estimators=70, n_jobs=1,\n", + " oob_score=False, random_state=None, verbose=0,\n", + " warm_start=False)\n", + "\n", + "--------------------------\n", + "| Best parameters |\n", + "--------------------------\n", + "\tParameters of best estimator : \n", + "\n", + "\t{'max_depth': 7, 'n_estimators': 70}\n", + "\n", + "---------------------------------\n", + "| No of CrossValidation sets |\n", + "--------------------------------\n", + "\n", + "\tTotal numbre of cross validation sets: 3\n", + "\n", + "--------------------------\n", + "| Best Score |\n", + "--------------------------\n", + "\n", + "\tAverage Cross Validate scores of best estimator : \n", + "\n", + "\t0.9141730141458106\n", + "\n" + ] + } + ], + "source": [ + "from sklearn.ensemble import RandomForestClassifier\n", + "params = {'n_estimators': np.arange(10,201,20), 'max_depth':np.arange(3,15,2)}\n", + "rfc = RandomForestClassifier()\n", + "rfc_grid = GridSearchCV(rfc, param_grid=params, n_jobs=-1)\n", + "rfc_grid_results = perform_model(rfc_grid, X_train, y_train, X_test, y_test, class_labels=labels)\n", + "print_grid_search_attributes(rfc_grid_results['model'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 6. Gradient Boosted Decision Trees With GridSearch" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "training the model..\n", + "Done \n", + " \n", + "\n", + "training_time(HH:MM:SS.ms) - 0:28:03.653432\n", + "\n", + "\n", + "Predicting test data\n", + "Done \n", + " \n", + "\n", + "testing time(HH:MM:SS:ms) - 0:00:00.058843\n", + "\n", + "\n", + "---------------------\n", + "| Accuracy |\n", + "---------------------\n", + "\n", + " 0.9222938581608415\n", + "\n", + "\n", + "--------------------\n", + "| Confusion Matrix |\n", + "--------------------\n", + "\n", + " [[537 0 0 0 0 0]\n", + " [ 0 396 93 0 0 2]\n", + " [ 0 37 495 0 0 0]\n", + " [ 0 0 0 483 7 6]\n", + " [ 0 0 0 10 374 36]\n", + " [ 0 1 0 31 6 433]]\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 576x576 with 2 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-------------------------\n", + "| Classifiction Report |\n", + "-------------------------\n", + " precision recall f1-score support\n", + "\n", + " LAYING 1.00 1.00 1.00 537\n", + " SITTING 0.91 0.81 0.86 491\n", + " STANDING 0.84 0.93 0.88 532\n", + " WALKING 0.92 0.97 0.95 496\n", + "WALKING_DOWNSTAIRS 0.97 0.89 0.93 420\n", + " WALKING_UPSTAIRS 0.91 0.92 0.91 471\n", + "\n", + " avg / total 0.92 0.92 0.92 2947\n", + "\n", + "--------------------------\n", + "| Best Estimator |\n", + "--------------------------\n", + "\n", + "\tGradientBoostingClassifier(criterion='friedman_mse', init=None,\n", + " learning_rate=0.1, loss='deviance', max_depth=5,\n", + " max_features=None, max_leaf_nodes=None,\n", + " min_impurity_decrease=0.0, min_impurity_split=None,\n", + " min_samples_leaf=1, min_samples_split=2,\n", + " min_weight_fraction_leaf=0.0, n_estimators=140,\n", + " presort='auto', random_state=None, subsample=1.0, verbose=0,\n", + " warm_start=False)\n", + "\n", + "--------------------------\n", + "| Best parameters |\n", + "--------------------------\n", + "\tParameters of best estimator : \n", + "\n", + "\t{'max_depth': 5, 'n_estimators': 140}\n", + "\n", + "---------------------------------\n", + "| No of CrossValidation sets |\n", + "--------------------------------\n", + "\n", + "\tTotal numbre of cross validation sets: 3\n", + "\n", + "--------------------------\n", + "| Best Score |\n", + "--------------------------\n", + "\n", + "\tAverage Cross Validate scores of best estimator : \n", + "\n", + "\t0.904379760609358\n", + "\n" + ] + } + ], + "source": [ + "from sklearn.ensemble import GradientBoostingClassifier\n", + "param_grid = {'max_depth': np.arange(5,8,1), \\\n", + " 'n_estimators':np.arange(130,170,10)}\n", + "gbdt = GradientBoostingClassifier()\n", + "gbdt_grid = GridSearchCV(gbdt, param_grid=param_grid, n_jobs=-1)\n", + "gbdt_grid_results = perform_model(gbdt_grid, X_train, y_train, X_test, y_test, class_labels=labels)\n", + "print_grid_search_attributes(gbdt_grid_results['model'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "# 7. Comparing all models" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " Accuracy Error\n", + " ---------- --------\n", + "Logistic Regression : 96.27% 3.733%\n", + "Linear SVC : 96.61% 3.393% \n", + "rbf SVM classifier : 96.27% 3.733% \n", + "DecisionTree : 86.43% 13.57% \n", + "Random Forest : 91.31% 8.687% \n", + "GradientBoosting DT : 91.31% 8.687% \n" + ] + } + ], + "source": [ + "print('\\n Accuracy Error')\n", + "print(' ---------- --------')\n", + "print('Logistic Regression : {:.04}% {:.04}%'.format(log_reg_grid_results['accuracy'] * 100,\\\n", + " 100-(log_reg_grid_results['accuracy'] * 100)))\n", + "\n", + "print('Linear SVC : {:.04}% {:.04}% '.format(lr_svc_grid_results['accuracy'] * 100,\\\n", + " 100-(lr_svc_grid_results['accuracy'] * 100)))\n", + "\n", + "print('rbf SVM classifier : {:.04}% {:.04}% '.format(rbf_svm_grid_results['accuracy'] * 100,\\\n", + " 100-(rbf_svm_grid_results['accuracy'] * 100)))\n", + "\n", + "print('DecisionTree : {:.04}% {:.04}% '.format(dt_grid_results['accuracy'] * 100,\\\n", + " 100-(dt_grid_results['accuracy'] * 100)))\n", + "\n", + "print('Random Forest : {:.04}% {:.04}% '.format(rfc_grid_results['accuracy'] * 100,\\\n", + " 100-(rfc_grid_results['accuracy'] * 100)))\n", + "print('GradientBoosting DT : {:.04}% {:.04}% '.format(rfc_grid_results['accuracy'] * 100,\\\n", + " 100-(rfc_grid_results['accuracy'] * 100)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "> We can choose ___Logistic regression___ or ___Linear SVC___ or ___rbf SVM___." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Conclusion :" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the real world, domain-knowledge, EDA and feature-engineering matter most." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " \n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " " + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}