Skip to content

Instantly share code, notes, and snippets.

@poulter7
Forked from yhilpisch/01_bc_day_04.md
Created December 1, 2017 17:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save poulter7/30c98606a2c0e7eb60d39be2b90320a6 to your computer and use it in GitHub Desktop.
Save poulter7/30c98606a2c0e7eb60d39be2b90320a6 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<img src='http://hilpisch.com/tpq_logo.png' width=\"300px\" align=\"right\">"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# FPQ Bootcamp &mdash; Day 4"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Deep Learning with TensorFlow**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Financial Data"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"from pylab import plt\n",
"plt.style.use('seaborn')\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"raw = pd.read_csv('http://hilpisch.com/tr_eikon_eod_data.csv',\n",
" index_col=0, parse_dates=True)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"sym = 'SPY'"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"data = pd.DataFrame(raw[sym])"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"data['Returns'] = np.log(data / data.shift(1))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Prepare Features"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"lags = 10"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"cols = []\n",
"for lag in range(1, lags + 1):\n",
" col = 'lags_%d' % lag\n",
" data[col] = np.where(data['Returns'].shift(lag) > 0, 1, 0)\n",
" cols.append(col)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['lags_1',\n",
" 'lags_2',\n",
" 'lags_3',\n",
" 'lags_4',\n",
" 'lags_5',\n",
" 'lags_6',\n",
" 'lags_7',\n",
" 'lags_8',\n",
" 'lags_9',\n",
" 'lags_10']"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cols"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"data = data.iloc[lags:]"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"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>SPY</th>\n",
" <th>Returns</th>\n",
" <th>lags_1</th>\n",
" <th>lags_2</th>\n",
" <th>lags_3</th>\n",
" <th>lags_4</th>\n",
" <th>lags_5</th>\n",
" <th>lags_6</th>\n",
" <th>lags_7</th>\n",
" <th>lags_8</th>\n",
" <th>lags_9</th>\n",
" <th>lags_10</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2010-01-19</th>\n",
" <td>115.06</td>\n",
" <td>0.012418</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2010-01-20</th>\n",
" <td>113.89</td>\n",
" <td>-0.010221</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2010-01-21</th>\n",
" <td>111.70</td>\n",
" <td>-0.019416</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2010-01-22</th>\n",
" <td>109.21</td>\n",
" <td>-0.022544</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2010-01-25</th>\n",
" <td>109.77</td>\n",
" <td>0.005115</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2010-01-26</th>\n",
" <td>109.31</td>\n",
" <td>-0.004199</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2010-01-27</th>\n",
" <td>109.83</td>\n",
" <td>0.004746</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" SPY Returns lags_1 lags_2 lags_3 lags_4 lags_5 lags_6 \\\n",
"Date \n",
"2010-01-19 115.06 0.012418 0 1 1 0 1 1 \n",
"2010-01-20 113.89 -0.010221 1 0 1 1 0 1 \n",
"2010-01-21 111.70 -0.019416 0 1 0 1 1 0 \n",
"2010-01-22 109.21 -0.022544 0 0 1 0 1 1 \n",
"2010-01-25 109.77 0.005115 0 0 0 1 0 1 \n",
"2010-01-26 109.31 -0.004199 1 0 0 0 1 0 \n",
"2010-01-27 109.83 0.004746 0 1 0 0 0 1 \n",
"\n",
" lags_7 lags_8 lags_9 lags_10 \n",
"Date \n",
"2010-01-19 1 1 1 0 \n",
"2010-01-20 1 1 1 1 \n",
"2010-01-21 1 1 1 1 \n",
"2010-01-22 0 1 1 1 \n",
"2010-01-25 1 0 1 1 \n",
"2010-01-26 1 1 0 1 \n",
"2010-01-27 0 1 1 0 "
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.head(7)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## TensorFlow"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"# !conda install -y tensorflow"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"import tensorflow as tf"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"tf.logging.set_verbosity(tf.logging.ERROR)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Defining Feature Columns"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"fc = tf.contrib.layers.real_valued_column('lags', dimension=lags)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Defining the Data Function"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"def get_data():\n",
" fc = {'lags': tf.constant(data[cols].values)}\n",
" la = tf.constant(np.where(data['Returns'] > 0, 1, 0))\n",
" return fc, la"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Defining the Model"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"model = tf.contrib.learn.DNNClassifier(hidden_units=[50, 50],\n",
" feature_columns=[fc])"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"DNNClassifier(params={'head': <tensorflow.contrib.learn.python.learn.estimators.head._BinaryLogisticHead object at 0x119f7cf28>, 'hidden_units': [50, 50], 'feature_columns': (_RealValuedColumn(column_name='lags', dimension=10, default_value=None, dtype=tf.float32, normalizer=None),), 'optimizer': None, 'activation_fn': <function relu at 0x117c0e8c8>, 'dropout': None, 'gradient_clip_norm': None, 'embedding_lr_multipliers': None, 'input_layer_min_slice_size': None})"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Fitting the Model"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 3.05 s, sys: 209 ms, total: 3.25 s\n",
"Wall time: 1.87 s\n"
]
},
{
"data": {
"text/plain": [
"DNNClassifier(params={'head': <tensorflow.contrib.learn.python.learn.estimators.head._BinaryLogisticHead object at 0x119f7cf28>, 'hidden_units': [50, 50], 'feature_columns': (_RealValuedColumn(column_name='lags', dimension=10, default_value=None, dtype=tf.float32, normalizer=None),), 'optimizer': None, 'activation_fn': <function relu at 0x117c0e8c8>, 'dropout': None, 'gradient_clip_norm': None, 'embedding_lr_multipliers': None, 'input_layer_min_slice_size': None})"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%time model.fit(input_fn=get_data, steps=250)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Predicting Market Direction"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 159 ms, sys: 10 ms, total: 169 ms\n",
"Wall time: 166 ms\n"
]
}
],
"source": [
"%time pred = model.predict(input_fn=get_data)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"data['Prediction'] = list(pred)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1 1800\n",
"0 162\n",
"Name: Prediction, dtype: int64"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data['Prediction'].value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"data['Position'] = np.where(data['Prediction'] > 0, 1, -1)"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
" 1 1800\n",
"-1 162\n",
"Name: Position, dtype: int64"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data['Position'].value_counts()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Evaluation"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'accuracy': 0.5575943,\n",
" 'accuracy/baseline_label_mean': 0.54638124,\n",
" 'accuracy/threshold_0.500000_mean': 0.5575943,\n",
" 'auc': 0.57244992,\n",
" 'global_step': 250,\n",
" 'labels/actual_label_mean': 0.54638124,\n",
" 'labels/prediction_mean': 0.54625636,\n",
" 'loss': 0.68263215,\n",
" 'precision/positive_threshold_0.500000_mean': 0.55666667,\n",
" 'recall/positive_threshold_0.500000_mean': 0.9347015}"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model.evaluate(input_fn=get_data, steps=1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Backtesting"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
"data['Strategy'] = data['Position'] * data['Returns']"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlYAAAFcCAYAAAAK1vDkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzs3Xd8leXZwPHfmTnZe5PFyEPYU0QQ\nAffee1frxFpba62tVqutq2/Vat1irbNV68RZBRUEZEMYDxBCSELIInue9f7x5KyckwXZXN/P5/28\nzz73uUl7rt739Vy3zul0IoQQQgghDp9+oBsghBBCCDFcSGAlhBBCCNFLJLASQgghhOglElgJIYQQ\nQvQSCayEEEIIIXqJBFZCCCGEEL3EONANcCkvr+uTug/R0SFUVTX2xaOHDOkD6QOQPnCRfpA+AOkD\nkD6Aw+uD+PhwXaDjw37Eymg0DHQTBpz0gfQBSB+4SD9IH4D0AUgfQN/0wbAPrIQQQggh+osEVkII\nIYQQvUQCKyGEEEKIXiKBlRBCCCFEL5HASgghhBCil0hgJYQQQgjRSySwEkIIIYToJYOmQOhgtH79\nWu6773dkZmah0+loaGggJSWVP/7xIUwmk9/1eXm7qaurZcqUaQPQWiGEEEIMNBmx6sL06TN45pkX\nefrpF1i8+A2MRiPLl38X8Nply75h7949/dxCIYQQQgwWMmLVA1arlcrKCsLDI3j++WfYtGk9DoeT\niy++nIkTJ/H5559iNJrIzh7Lfff9jjfffI+goCCee+5pMjIySUpK5rnnnsZkMnHWWefy9tuvM2XK\nNPLydgPwyCN/w2q18sc//g6Hw4HdbuPOO+9h1KjRA/zNhRBCCNEdQyaw+s+3u1mzo6zH9xkMOuz2\nwMsQzhybwEULOw9a1q1by6JFN1BdXYVOp+Oss87DarVSUlLMc88tpqWlhRtvvJann36BU089g9jY\nWMaNm9Dh81pbW3nppdcAePnl5znhhJO54467eOCBP7Bq1QpCQkIJDQ3j/vsfIj8/n4aG+h5/ZyGE\nEOJI0mhtZEfVbqbGT0SnC7iEX78ZMoHVQJk+fQYPPPAwNTXV3HHHrSQnp7Bnz25UdQeLFt0AgM1m\n48CBkg6f4XR6Arv09Ayfc9nZCgAJCYm0traycOGJFBXt4+67f43RaOTqq6/rg28lhBBCDB/v7fqE\n1QfWMTIyg19Pv3VA2zJkAquLFo7ucnQpkPj4cMrL6w778yMjo7j33gf5xS9u4pZbfsHUqTP47W9/\nj8Ph4J//fJnU1FT0ej0OhxZEmc1mKisrSE5OYffunWRmZgGg17ePpH33N2xYR2xsHE888Q9yczfz\nwgv/4OmnXzjs9gshhBDDVVH9fgD21BTgcDrQ6wYuhXzIBFaDQVbWSC644GJWrPiBxMREbrnlepqa\nGpk3bwEhIaEoSg7PPvsUmZlZXHbZVfzmN7eTlJRCeHh4tz9j9Ogx3HffPfznP2+j1+u59tqf9+E3\nEkIIIYa2quZqDjZXufd3V+8hO3rgcpN13tNUA6m8vK5PGtJbI1ZDmfSB9AFIH7hIP0gfgPQBDP0+\ncDqdfLznC74qWOpz/Iyskzg164RuPeNw+iA+PjxgMpeUWxBCCCHEkFNQV+gTVF097hIAQk2hA9Uk\nQAIrIYQQQgwida31FNYVd3ldo7XJvX3L5J8RagoBoMnW1NEt/UICKyGEEEIMCq32Vu5e/iceWfMU\n9daGTq+taakFYF7qbMbHjiUhOB6Aj/d8QYO1sc/b2hEJrIQQQggx4KwOG1sqtrn3lxUu9ylX1Ght\n4qkNL/L42mfYU7OXHVW7AJibejQA8SGxmA1mABxORz+23Je8FSiEEEKIAbWudCOLt77lc+zzvd8Q\nZgpjftocAHZU7WJnlbZSyf+te5Zgo4WooEhSQpPc99w769dUt9QSbg7rv8a3IyNWQgghhBgwda31\nfkGVy4r9q93bFU2VPueabM2Mjx3rU2k9xhLNyEjfQtz9TUasuvD66/9k7dqf0Ot16HQ6brjhVkwm\nE3V1tUyZMq1bz9i4cT1hYeGMHj2mj1srhBBCDC3eNaiyo0cTZ4nmx5I1AEQGRQDaNGBF00EAjk2d\nzQ/FKwFIDk3s59Z2TQKrTuTn72HFiu957rlX0Ol07Nql8tBD9zNv3nxiY2O7HVgtWfIxxx9/kgRW\nQgghhBen08mzmxYDcPbIUzkpcwF51XvdgdX2gzv58+q/sb/hgPuec0adRlHdfvJrCySwGmqio2Mo\nLT3AkiUfMWvWMYwZo/Doo39j0aIbMBpNZGeP5eGH/0RaWgYmk4lbb72dv/71EVpbW6itreGaa35O\nQkIiq1evZOfOHWRmjmTbtlz+/e830ev1TJo0hZtvvo3q6moeeOD3WK1W0tIyWL9+DY8//hQPPngv\nL730LwDuu+93XHrpFeTkjB/gXhFCCCEOjyu5vMnW7H77b1bydACc+NYL9w6qACzGIH4+8SqK6/cz\nNmbwDVgMmcDqv7s/ZUPZlh7fZ9DrsDsCF3WfmjCR80af0eG9UVFRPPLI33j//X+zePFLWCwWbrjh\nFk499QxiY2MZN24CTU1NXHPNdWRnj2XNmtVccsnlTJs2gy1bNvHKKy/w5JPPMmvWbI4//iRCQoJZ\nvPgFXn75dSwWCw8+eC9r1qxi5coVHHvsfM4770LWrFnFmjWrSE/PICjIQn7+HmJjYykpKZagSggh\nxLDw0Oq/0Wxr5ubJ1wLam32uab+U0CQizeHUtHZcET0yKJzIIKVf2tpTQyawGghFRYWEhoZyzz1/\nBGDHjm3ceeftnHDCScTGxrqvS0/PBCA2No7XXnuFJUs+AnTYbDa/51VXV3Hnnb8AoLGxkeLiYvbu\n3cupp2oB3qRJU93Xn3nmOXz++SckJiZx0kmn9eE3FUIIIfpPaWMZAPvrtdGoEWHJ7nMhpmD+Mvde\nbv32Lr/7zsg6uX8aeBiGTGB13ugzOh1d6sjhrAOUl7eLDz54j0cffYKgoCDS0tIJCwsjIiISh9co\nmOuNhJdffp4zzzyH2bPnsGTJx3z++afu806ng+TkVBISEnnyyWcxGo189tknjBmTTVFRIbm5Wxgz\nRmHrVs+o3Pz5x/P2228QGRnJgw8+ckjfQQghhBisPtnzJQBhpo7LI0yNn8i4WIUIczgT4nL6q2mH\nrMvASlEUE7AYyASCgIdUVf3Y6/yvgOuA8rZDNwL7gDeABKAOuFpV1XKGmOOOW8jevfnccMM1hIQE\n43A4ueWW2zEajTz77FNkZmb5XL9gwfE89dRfef31V0lISKS6uhqAceMm8Pzzz/DAAw9z8cWXs2jR\nDdjtdpKTU1i48ESuuOIaHnzwPr799mvi4uIxGrV/lqCgIKZMmUpVVRUREZH9/v2FEEKI3uZdvLOq\nRfudtBiC/K6bnTyTjeW5nJgxn4yItH5r3+HqzojVFUClqqpXKooSC2wAPvY6Pw24SlXVda4DbcHW\nFlVV71cU5RLgD8DtvdjufnP11ddx9dXX+R0/5pi5ALz33ifuYyeeeAonnniK37XnnHM+55xzPgCZ\nmVmcfLLvtN6GDWu5/vobyckZz5o1q6msrHCfs9nsnHXWub3yXYQQQoiBZHXYAq4DmBzm/3bfZWPP\n5/KxF/jUqRoKuhNYvQu857Vva3d+OvA7RVGSgCWqqj4MzAUeazv/OXDv4TZ0OEtOTuXhh/+EwWDA\n4XDwy1/eCcAdd9xKXFw806fPHOAWCiGEEIdnRfFq3lLf9zs+ITaHqCD/WRm9bmjWMO8ysFJVtR5A\nUZRwtADrD+0ueQf4B1ALfKAoyhlABFDTdr4OkHmsTmRmZvHCC6/6HX/iiX8MQGuEEEKI3uMapQoU\nVIGnCOhw0a3kdUVR0oAPgGdVVX3L67gOeFJV1Zq2/SXAVLQgK7ztsnCguqvPiI4OwWg09Kz13RQf\nH971RcOc9IH0AUgfuEg/SB+A9AH0Tx98tvNb/rnhXb/jJ4ycixO4csp5hJiC+7wdHentPuhO8noi\n8BWwSFXVb9qdjgByFUXJARqAhWiJ7o3AacBPwKnAD119TlVVY89a3k2H81bgcCF9IH0A0gcu0g/S\nByB9AP3XB3vK/HOqRkZmcHraqZgNJhqqbTQwMP8Wh9MHHQVk3RmxugeIBu5VFMWVK/USEKqq6ouK\notwDLAVagG9UVf1MUZRlwGuKoiwHWoHLDqnVQgghhBhQ1S01hJpCMekPrUJTvbUe0IKpmYnTCDKY\nmZE4BYO+b2apBlp3cqxup5M3+lRVfR14vd2xRuDCw26dEEIIIQZMg7WR36/4MxkRadw147Ye368e\n3M36ss0A3D71RoyHGJwNJUMz5V4IIYQQfa6uVRttKqgtpKq5mrWlG3t0/8u5nnGXIyGogiFUeV0I\nIYQQA+epDS9Q3lSJxRDUZQX0VruVutY6Gm1NAFycfeTUY5TASgghhBABWR1W93Z5UyWgre/XPrCq\naaljWdFyTs5YSG7ldl7d6i4gwJyUo5g3Ynb/NHgQkMBKCCGEEAEt37/a71iLvcXv2Aub/0lBXSEr\nS9a4pw9dMiPS+6x9g5HkWAkhhBDCz08H1rO8eJXf8ZUlaylrLKeq2VOisrBeK6nQPqgCyI4e3XeN\nHIRkxEoIIYQQfj7K+9y9fVLGAlrsrXxXtIKa1loeWPU4AI8fez8t9lafhZUBdOhw4gQgLjim/xo9\nCEhgJYQQQggfxfUlVLfUkBqWzD1H3eE+3mhtZE3pBvf+b3643+/e26feyO7qPSzJ/7o/mjroSGAl\nhBBCCB+vb/s3ANlRo3yOm/SmTu97ZsGj6HQ6NldsBSDIYO6bBg5ikmMlhBBCCF86HQAnZBznc7ik\nodS9nR6e6nMuKyIDXdt9jVatzEKwceDWABwoElgJIYQQwofD6SDIYCYqKNLneKuj1b193YQrmRA7\n1r1/1qiT3duhphAARoSl9HFLBx+ZChRCCCGOcAcaSnlm4ytcNe4ixkSNorqlhsigCL/rbpn8Mz7f\n+w0nps8nLjiGyLbA67gRx/i8/XfmyJOxGIJYmH5sv32HwUJGrIQQQogj3LrSTVS1VPPUhhcpayyn\nwdoYcLQpKiiSS5Xz3G/6nTv6NM4bfQbnjj7D5zqzwczpI086IqcCZcRKCCGEOMJZjBb39vaqXQCM\njR7T5X3BxmCOT5/XZ+0aimTESgghhDjCudb0A3h350cApIYnD1RzhjQJrIQQQogjmNPpZM2BDX7H\nI83+OVaiaxJYCSGEEEew/NoCKpsPAp63+XToiDCHD2SzhiwJrIQQQogj0IG6MtaXbWZD2Rb3sZGR\nGQCYDCYMesNANW1Ik+R1IYQQ4gj0wNInqWyqcu9fopzHuBgFq93GhLicAWzZ0CaBlRBCCHGEsTvs\nPkEVwMS4HKKCIrlt6s8HqFXDgwRWQgghxBGmqqXavR0dFEVOzBi/Kuvi0EhgJYQQQhxh6lobADg+\nbR7njTmji6tFT0jyuhBCCHEEcTqd/FC8EoCY4OgBbs3wI4GVEEIIcQTJrdzO6gPrAMiOGjXArRl+\nZCpQCCGEOAJYHTae3/QqO9qWrAFIDk0cwBYNTzJiJYQQQhwBVpWs8QmqZqZORqfTDWCLhicJrIQQ\nQohhzul08o76gc+x88adOkCtGd4ksBJCCCGGuWZ7s89+SmgSI6PTB6g1w5vkWAkhhBDD3Ae7P3Nv\nj4rM5Nrxl8k0YB+RwEoIIYQY5jaV57q3fzntJvQ6mbDqK9KzQgghxDBnMQQBcGrm8RJU9THpXSGE\nEGIYs9qtHGypJisinTNGnjzQzelTza22gW5C51OBiqKYgMVAJhAEPKSq6sde5y8FfgnYgc3ALaqq\nOhRF2QDUtF2Wr6rqtX3QdiGEEEJ0ocHWiMPpIDY4ZqCb0mdarXY27KrghY+3MnpEJPdcMX3A2tJV\njtUVQKWqqlcqihILbAA+BlAUJRh4CJioqmqjoihvA2coivIVgKqq8/uu2UIIIYTojhZ7KwBmvXmA\nW9J3PvlxL0tWFgCwu6iGsuomEqKCB6QtXQVW7wLvee17j7G1AMeoqtro9axmYDIQ0hZgGYF7VFVd\n1UvtFUIIIUQ31LXWU1hXTLg5HACzwTTALeo7a3aU+ezHRgQNUEu6CKxUVa0HUBQlHC3A+oPXOQdQ\n2nb+NiAM+BqYAPwVeBkYA3yuKIqiqmqnE5/R0SEYjYZD/yadiI8P75PnDiXSB9IHIH3gIv0gfQDD\nvw8e+/LvFFQXcc3UCwGICg/z+87DoQ/e+GI7ZVVN7v1FF04mKTGy2/f3dh90WW5BUZQ04APgWVVV\n32p3Tg88BmQD56uq6lQUZSewW1VVJ7BTUZRKIBko7OxzqqoaOzt9yOLjwykvr+uTZw8V0gfSByB9\n4CL9IH0Aw78P7A47BdVFAHyy/X8AOFp0Pt95qPdBQ7OV2578wb0/dUwcza12ckZEdvt7HU4fdBSQ\ndZW8ngh8BSxSVfWbAJe8gDYleE7bCBbAz4CJwC2KoqQAEUDJIbVaCCGEED32w35PBk5lcxUAaeGp\nA9WcPrGvtN69nRwbwm3nTxrA1nh0NWJ1DxAN3Ksoyr1tx14CQoG1wHXAD8C3iqIAPAW8AvxTUZTl\ngBP4WVfTgEIIIYToPe/u/MjvWGbE8FrCpq6x1b19z5UD9xZge13lWN0O3N7JJR3VwbrskFskhBBC\niENmdXjGMq4Zdyn/3PY2ACGmgXlLrq9s23sQgN9eNpVQy+BJzJclbYQQQohhZGfVbvf2tIRJ5Nfu\nY3Lc+AFsUe+z2R2sU8uJCjMzJi1qoJvjQyqvCyGEEEOI0+lkbelG6q0NVDYd9Dv/7KbFAMxNmYVB\nb+Ci7LNRYkb3dzP7VF5xDQ3NNqYrCegH2WLSMmIlhBBCDCEFdYW8utXzkv7tU28kO3oUAA6nw318\nYty4fm9bX2potvL0+1uoqGlyB1OZSYOvXIQEVkIIIcQQUtNS67NfWFdMSmgSBr0ee1tgNTFuHBPi\ncgaieX1my55KdhZW+xzLHmTTgCBTgUIIIcSQ0mD1rfvYam/lt8sf4Kn1L1Df2gBAhDlsIJrWpw5U\n+te7jI20DEBLOicjVkIIIcQQ0j6w+jT/KwAK6/dT3VIDQJhp6AVWTS02dDr4buN+KmubufT4Meh0\nOlqtdv797W7yirXv9sdrZlJa1UhEiHnQ5VeBBFZCCCHEkJFfs48P8z4DYMGIuSwtWu5zflf1HgDC\nzKH93rbD8fGKfD78Id/nmA4dJ84YwfZ9VSzdUOw+npYYRsYgzK1ykalAIYQQYoj467pn3NtHJU3z\nO//FXm2RlDDT0AmsKmua/YIqgK/XFvLEu5toarH7HB+Mo1TeJLASQgghhqC44BhmJE4BICE4zufc\nUAqsvlyzD4BQi5GLFoxm9vgk97mSykZ2FFS59+dOTO739vWUTAUKIYQQfajB2khhXTFjY8Yc1nOW\nFvpO+1mMFq4ZdymT4sYzOmokr217G7WtOOhgnAq0OxwcrG2hvLqJnIxod/7UN2u1xaJ/dloOU7Pj\n2bb3ICu3HnDft3F3BQBXnaxw3JSUAWl7T0hgJYQQQvShN3e8x6byXG6edO1hlUB4b9fHPvt6nTbp\nND1xMgCjIjPdgVX4IEpeP3CwkS9WF1Be3cz2ttGnm8+ZwMyxCVTWNuMExmdGMzU7HgCz0eD3jIhQ\nM/OnDo1FpCWwEkIIIfqIw+lgU3kuABUBqqQ7nU5+uewebE47Y6JGclrWCWRH+1dJdzqdXX5WuNmT\n0B06iKYCf9i8n+83lfgce+7DXPJnpZOWoAWAk0Z5pjJNRv8spWtOGdu3jexFkmMlhBBC9AGn08lL\nW15379ucNp7b9CqLc990H/tx/0/YnFpy9q7qPTy14UXqrQ1+z2q2N/vs3zL5Or9rvGtXmQ2DZ1Hi\n2vrWgMe/WL2Plz7ZBkBMRJD7eHpiGBct8ASXU0bHMWVMnN/9g5WMWAkhhBB94P3dn7C5Yqt7v9nW\nTG7ldgB+xuXUtNTylvq+333/3Po22w/u1K4bfxkhxhCe2fSy+/w5o05jfKzid5/3iNVgUXCgjlXb\nSgH47WVTefStDQGvC7V4AkGdTscps9KpqGliw64KTpmV3i9t7S0SWAkhhBB9oH2yeVljhc/+3tpC\n9/YDs3/LH1c+CuAOqgAWe60JCHBa5gmcmDE/4OfFBccAntyrweDJdzdhd2jTmEp6NC/ftYD6Jiu/\nfNq3b0alRvjde8VJClec5B9ADnaDp/eFEEKIYcI1nafX6Xlk7n2EmULZWZXnc82utv2zRp5CXHAs\n14y7tMvndjYqFRkUwU2TruE30xcdRst7R1l1E+t3llPToE0DXnK89kakXq8jPMR3mnJ6djymAAnr\nQ5WMWAkhhBC9rMmq5UQdlTiNcHMY0ZYoCuuKfa6xOm0AjGub1pvY7o3BrIgM8msLfI51lTs1MW7c\nYbW7PafTyX+/38O4zBhyMqK7vL68uolH3lxPVV2L+9gJM0Zw0sw0975Op2Px3QvJ21/D8x/mcv78\nUb3a5oEmgZUQQgjRy5rsTQAEm7RFgmOC/AOr6mZt7bsIszYNZjFaeHL+X/ih6Edmp8zE6XTyffEq\nLMYg3t35EQAmff8mpZdWNbFkZQFLVhbw55/PYkteJSfMTAtY/bzFaufVz7b7BFUA4zNjAj57VEok\nj98yp0/aPZBkKlAIIYToZc02LbiwGLTA6rKxF/icX1e6iW0HVVJCk3ze5jPpjSxMn0ewMZgQUwin\nZC7kqMSp7vOhppB+aL2Hd5mHv/17E+98u5u1O8r8riupbODm//uOHfuq/c51Z6RrOJHASgghhOhl\nzTZtKtBi1MoItA+IFm99E4fTwcS4cei6WPvOoPdMLkVbonq5pZ2z2hzu7cpa7TuVVzf5Xbe7uMa9\nPT4rhrPmZLr3zabhkz/VHRJYCSGEEL3s28IfAAg2aiNWOp2ORVOux6DzDTLMBnOXzzJ63RMd1H+B\nlc3u4In/bPI7HmhUqqJaC7ouO2EMv754Cs2tWm0uc4Bin8PdkfeNhRBCiD5U2ljOruo9AIQYPSNV\nOTHZZESk+VzbnUKe3uUT+rPw50fL891v9Xnbmn+Qv/17I699scN9rKJGG8WaMlor5FnfZAUgLGTw\nFCrtL5K8LoQQQvSid9QP3Ns5Mdk+5wztakx1Jxm9q6nCvuBwOFmyUnsjcd7kZOZOTMFiNrBkVQGr\nt5WSm68tz/Pdxv1ce9pYVm7VioBGt1VQdy1VM21MfL+3faBJYCWEEEL0omCDFlyMisxy51i5tC/e\naXfYu/XMRVOuJ6wfF1b+5+faaNTR4xO55lRPGYggk/9E16ufeUauDHrt/Ikz00iKCWHCyMBvBA5n\nElgJIYQQvcTusHOwRctBumrcRX7n2wdW4wIsTRNI+5Gvvpa3X0tGnz8l1ee4d35VfJSF8mrfNQxd\n9Dodk0cPnfX9epPkWAkhhBC95P3dn7jrVQUaYWo/9edahmawMRr0BJkMjBkR6XN80qhY9/aVJykc\nPS7RvT9vcnK/tW8wkxErIYQQopesKlnr3m4/DQgQYgwGIMhg5t5Zdw6qdf1c7A4H5dVNxEZa/PK7\nLlowmjkTkqmsbSYnM5qv1njWOzz/uOFVQf1QSWAlhBBC9JIWu/9bdN5cldih/2tSddfuohqaW+1k\np/m3z2jQk5EUTkaStmbhBfNHUdvYys1nTyA8pOvSEUcCCayEEEKIXrChbAt6nR6H08H0hMkBr3GN\nWHUVgA0kVx6V97RfR9ITw7n/2qP6uklDigRWQgghxGFanPsm68o8xTSvHndJwOuC2wKrwayyRktI\nT4rp3+VzhovBN7krhBBCDGLrSjfx1o73fUoleAdVwcZgDPrAy7i4CoRmR4/u20b20MHaZv7vnQ38\nmFvC8i0lAMSE++eIia51OWKlKIoJWAxkAkHAQ6qqfux1/kzgPsAGLFZV9SVFUYKBN4AEoA64WlXV\n8t5vvhBCCNG/Fm99E4AV+1dz+9QbeFv9r895i6HjgGRkZAZ3Tl9EUmhCn7axp1ZuPcDWvVVs3VsF\nQHCQ8Yhb46+3dGfE6gqgUlXVY4FTgWdcJ9qCrieAk4DjgBsURUkCbga2tN3zL+APvd1wIYQQor81\nWn0XIH5qw4uUNVb4HAszdT6FlhWZ7l5DsD8VlddTXd8S8Jxe7/v238ULB9eI2lDSnRyrd4H3vPZt\nXts5wG5VVasAFEVZDhwLzAUea7vmc+Dew2+qEEIIMTAcTgcby3NpsDZ0ee0J6cf1Q4t6xmZ3cN8r\nP6HX6Xj5twsAyM2r4MNlu0mICsZqd7ivjY0IYt7klIFq6pDXZWClqmo9gKIo4WgBlvfoUwRQ47Vf\nB0S2O+461qno6BCMxr4ZdoyPD++T5w4l0gfSByB94CL9IH0APeuD7/eu5pXcNzo8HxEUxoyUSdid\nDk4aP6fDHKuB8uUqbd0/h9PJloJqEmNC+N2zK/yuG5cVw3VnTTii/j56+7t2661ARVHSgA+AZ1VV\nfcvrVC3g3aJwoLrdcdexTlVVNXanKT0WHx9OeXldnzx7qJA+kD4A6QMX6QfpA+h5H2zfv6fDc7OT\nZ3JFzoXu/YOVffN7djje/tKznt8Tb6/v8Lqbzx5PqMV4xPx9HM5/FjoKyLqTvJ4IfAUsUlX1m3an\ntwNjFEWJAeqBecBfgQzgNOAntLysHw6p1UIIIcQAq7c28G2h78/Y+WPOpKq5mnprA+eOPn2AWtYT\nzoBHp2XHM0OJ58VPtnH67AxCLaaA14nu686I1T1ANHCvoiiuXKmXgFBVVV9UFOVXwJdoifCLVVUt\nVhTlOeC1tpyrVuCyPmi7EEII0ed+KlmHsy0wmZ4wmbjgWOakzCLIMDQqjbdY7RysC5y0PkOJ5+jx\nSRw9PqmfWzV8dSfH6nbg9k7OfwJ80u5YI3Bh4DuEEEKIoaPR5nkT8Jrxlw7K9f06U99oxemE2eOT\nuPa0sewtqeMvb6wDYGI3qquLnpHK60IIIUQnypsqAbhj2s1DLqgCaLZqhUyDzAaMBj2jUiOIDDOT\nnhghU399QAIrIYQQogOf5H3B2tKNAANSe6o3tLS2BVYmLSjU6XQ8dtMxJCSEU3Ww6/IRomcksBJC\nCCE68F3xj+5tk35o/WTWNrYPUKzkAAAgAElEQVTy7Ae5jEyOACDIq5K6yajHaBh6o29DwdD6KxFC\nCCH6icPpoMnW7N4PNw+t2k7fritiZ2E1Owu1ikcj4sMGuEVHBglXhRBCiACqW2p89ofaVODq7WU+\n+2MzogeoJUcWCayEEEKIAA42e2pbX6qc12+fW9vQyn++3c3GXRVU1DRRXd/CN+uKaGqxdX1zm/yS\nWkoPNmIytuVVAWHBkqjeH2QqUAghhAjA6rACcObIk5mbenS/fOaWPZU88Z9NAHzx0z6fc82tNk6f\nndmt5zz42loA5kxIIi0hjOx0Ga3qLxJYCSGEEAHYHNoIkbEfktadTif7KxvdQVUgpVVNHZ7zZvNa\nUPnkWekkRoccdvtE90lgJYQQQgTwzb7vATDo+m5BZYfDyfWPLfU7HmQy4HA6sdo8QZLd7mDZxmK+\n27ifW8+dQFxkcMBnfrdxv3tbgqr+J4GVEEII0c72gzvZVa0tvNyXI1Z/fn2t37GLFozm5KPSOFjb\nwrvLdhMeYuabdUWs3FrKyq2lANz13EounD8KJ3DijDR3LhXAm1/vBOD4aSP6rN2iYxJYCSGEEO08\ns/Fl93ZfjViVVDaQX1LndzwnIxqdTkdspIWbzp5AQ7OVb9YV+V337rI8AEItRo6bkgrgM8I1f1pq\nn7RbdE4CKyGEEKIT5U0VffLc9TvLAUiODeGh62fx3nd5qPuqSUv0rTfVnUKer3+pEhMRxNHjtMWU\njx6fSGpcaO83WnRJAishhBDCS2XTQZ/9SXHj+uRz6hq1tw5Pn52BTqfjwvmjA15nNOg6fc5rX6ju\n7bFtb/9Fhpp7qZWip6SOlRBCiF5TUdPEzx75lqUbige6Kd3Sarfy7KbFfLV3KU6nE4BH1/7dff7o\n5BlkRWb0yWfXNrQCoKR1XgrBoPf/qT5nbhZXnqz4Hd+xrwqAyNCgXmihOBQSWAkhhOgVDoeTB15d\nA2hTU1+vLQTAarNz3ys/+eUJrcw9wMufbqO2sbXf2+qyuTyXrZU7+GjP52wqzwWgwdroPn9yxsLD\n/oz6Jiu5+ZU+xxqarWzYXUFEiInIsJ6NLp1/3EjOmpvFdCXe79z732kJ9zJiNXBkKlAIIYSPipom\n/vWFSnl1E7+8cDKJMR2/sp9fUovTCSPiQ3l3WR4NzZ7q4G//bxeVNc2YjHqKyut58+udRIcHMS07\nntqGVl76dBsAWckRHD99YN5gMxk81ci/L17JlISJTI2fyIbyLdw14zYSQuIO+zP+9cUO1qrl/OKC\nSUwZrT2vuLyBllY7C6akdiuHavHdC9lf0UB0eBDBQdpPd0SImRNnpPH12kKmjI5j425PLlhED4M1\n0XsksBJCCOHW0mrnrudWuveXrCrgZ6flBLzWZne4K3x35Ks1hT777y3LY1p2PFV1Le5ju4qqUdKj\nDmuR4LrGVlZvK2XhtBHo9VpOkmtqT6frOEfJ0XYNgFq1GwC7U3uzLj449pDb41Jd38JaVUtSr6hu\n4mBtM3q9jlarHYAQS/d/hlMCJKNfesIYjpmQRFJMCG/+byfLN5cAMmI1kCSwEkII4Zab75u4vXxz\nCXMmJPHoWxu4+ZwJzBybgMPpZO2OMj74IT/gMyaNimVzXmXAc64f/HU7PQsE/7S9jJ+2lzE2PYod\n+6qJCDHx60umkpbQ/UDrxU+2sTX/IDa7k1NmpQPw7fpi3vx6J/dfO5P0xPCA97XYW/yOtdq1qUmT\nvntr6+WX1JKeGOaXC7WvtI7726ZGAVqsdu589kcAbjlnAqAVAj1cGUnad0uO9YwsSmA1cCTHSggh\nBABFZfX844MtACRGe6p6P/rWBgCe+zCXhmYrK3MP8PxHWyk92BjwOWcck8n5x41kXKZ/UrZaWI3d\n4aCm3j+vasc+bdHj2kYrX7VbJ6/LtpfXA/Ddpv04nU52Fla7C2W+8PHWgPeUNZbzXdGP7v0RYSkA\nVLfWYjFYulUYdNmGYh58bS2vf7mTxmbfRZLfaPt8l5oGz3d+9kMtn8u7sOfhigrzJKyHyoLLA0YC\nKyGEOEKUVjWyYVd5h+c3tOXoZCSF8/urZgRMqi6ranLXXwpk9vhEspLDOX12JifOSPM558olqqpr\noaSyEb1O12GtpZ4EHLuLa9yBWunBRt74eiePvLnefb6kshG7w+F33wOrHmdfnSehPiIonFa7lYrG\nChJD4judQnT5X1tC/veb9vPch1vcx1usdnYX1QBw3ryRGA06dhXW+N1vNvXez3C0V2Cl70bbRd+Q\nwEoIIYapr9cUkl9SC2j5Pb97YRVPv7+F8g4W83W9/n/NKWMJCzYRZvEf9XjoX2vZV+pfLdzlgvmj\n3VNiE0bGuI/PGpfIgqlaJfBdhTXsLq4hMSaYsA5GVuqarN34hpoPvt/js790vX+ph6/XFLFlT+Dp\nSZdtlSp3fPd7bE57t5LWq+pa2F/R4N7fureKx95az41/Xebuy6lj4jjjmExS4kIpCNBv07MTuvyc\n7kpoG2Xsqu6V6FuSYyWEEMPMu0t38/lqz1TaK79dwL++8hSRPHCwgaQI/zpHrqkq10hVsVfQ4OJ0\nQmWtJy9pZEoEpxyV7p7aivIa5TLo9fzqoskUlTdwyqx0Pl9VAOB+GzA+Khiv3HEfLW3J3V0pKq9n\ne0FVwHPXnjaWVz/bAcB/lmqJ6X+95RiWbdzPdedM7PS53QmsXAFdbISFytpmwDOdebBtPzbCAmhv\n8LV31pxMgsy9t1xOTISFW8+dQHS4pdeeKXpORqyEEGIYKT3Y6BNUAbz1v13k7vEkpdcGyG8CKKlo\nQAeEh2ijSGcc03lhzD9cNYM7L5nCjLEJ/OOOefz99mP9ps8mjIx1J5NHtEuoDg8xkZWsJV7rgN9f\nNZ1nfjkPAJvNf+oukNXbSt3bD994tHs7PspCeIBg5ol3N/Hpj3v5uN0oV3sJwR0HVp+syOfX/1jh\nHg287nT/tyYfe1vLS3O99XfdGb7V2w16HeccO7LTNhyK6UoCI1Miev25ovsksBJCiGFkrVrmd8xV\nmDMhSpsq+mFjMRt3VVBZ08zDb6yjpLKB95blUVzRQEpcqHsq7/SjMzv8nL8tmsPIlAgsZi1wCA4y\ndjit59I+sDLo9Zw0M43RqZHccNZ4RqVEEmIxotfpsDk6GMpqxzuQi48Mdk+DGQ16DHr/KbHicm0U\nrqquudPnhpoC5345nU4++CGfqroW94ie66083+u0/x/SNp3a/i293sytEoOL/MsKIcQw4qq8HcjJ\nbSNHKzbv5+/vb+b97/LYVVTD719azWdt03Rmr9f/TV4//kfl+OYCeb+B1l3tazbp9TpCLCbuuXI6\ns8Yluo8bDbpuj1i1tGpThnddOhW9XofNrkU0JZWNPtNvhpgSDIkF6Cz1mLK2uEsquFycfY7Pfkdv\nBHrX3wItSdxiNnD/tTMDXh/q9Z0fv/kYd3BrNvbeFKAYXCTHSgghhgnvytt/v/1YdhVW8/R/PW+q\nTciK8bneEuT/E+BdQsH7zbKrTxlLcXkDybEhXLxwzCG1LyMxnKPHJ7JqqzZ9F2hECbTRJleA1JUW\nq1biICrcN9BLjQslIymcK0/K5vWvVMyjNwHgaLGgD2qm0LnZfW2IMZgQk291eZPBt2/2VzTwh5dX\n+32+w+lEp9ORnhhOZJjZr4yEd1HP2EgLkWFmyqqbZMRqGJN/WSGEGAY251Xw9/e0YOHEGWmEBZsY\nlRrpc01YsIlRXvk3hgCv5F9z6lif/alj4hiVGkFwkJEHr5/FLedOJDby0JKjjQY9N5w5npvOHk9M\nRBAnzkzr4DodNnvXI1ZOp5Oytjcc2xfaPO1oLT9swbQRRKZ5pkf1QdoUYLOtieigKAD+Mvded5V2\nFx2+fbNy64Eu23P3ZdP41cWTiY/S+ichKpisZN98J1cwaZIRq2FLRqyEEGKIs9kdvPaF9tbf7PFJ\nXDBfS4puXwvKZNT75Dnl7vWtsj5pVCwzxvpO+d12/qReb+9ROYkclZPY4XmjUd+twOq/3+9xv4Vn\nafd2nXfwZw33XfwZoKG5FcwQa4nBpDdSb/V9A9Lh9Hy+1eZgW7u+igozU13fyrVegWhiTAiJMSE8\netMxbM6rCFjt3RVYGTsYrRNDnwRWQggxxJVWNVFV18IxE5K43uvtM+9gQ4f2ox7iNf3XvnL6xJGH\nvzZebzDq9Vi7EVh5v+nYfsTKe2rQ5rDRfnyott5KcJiVsLYk9XEx2T7nI4M8I03Lt5SQX6LVoAoP\nMZEcE8KNZ08gOrzjPLNJowK/VRjUluzf3eR8MfRIYCWEEIOU3eHAoNfz5LubaGy2cc+V0/2uabHa\nubct96f9D71OpyMnI5rtBVXo9Tp0Ol2ndZPaj/oMFINBR2NL54GVuq/Kp+Cma+HlX108mbziWuK9\nRqwCFSG3x+ZRb4WoIG26NDE0gacXPEKrvZXK5ipiLJ7leGrqPQnrTyya6/6sQxEWrP3s1vegAKoY\nWroVWCmKMgt4VFXV+V7HkoB3vC6bAtwNvAAUAbvajq9UVfV3vdJaIYQ4AjQ2W/l4xV6+WlPI8dNH\nuBc0djicfj/qByo9o06BksFdIzmOthGSzgKruEPMneptJoM+4BI0LvVNVvf6hQA/Oy2HfbVFfJr/\nFVflXMyELG3krbi+hM/yvyY2Vk9V4NJdmLze/tPr9FiMFlLDkt3HrDYHm3Zr/X/7BZMOK6gCzxp+\nDRJYDVtdBlaKotwFXAn4TECrqnoAmN92zWzgz8BLwChgvaqqZ/Z2Y4UQYrhzOJwsevIH976rBhVo\na/0lx/rWV2ps8Sz8e/JR6X7Pi26rsO6aeHLVnXIZER9KUVttp/bPHigGgx6rzTNV5nQ6ef1LlTEj\nopg9IYnKGt8aVHMnJXPfj49Q2XyQD/KWcGXORTicDv7y0xNdfpbF2Hkw+fxHue6RMVcV9cPhWibI\nLlOBw1Z33grMA87r6KSiKDrgaeBmVVXtwHQgVVGUpYqifKYoitI7TRVCiOHvnpdWdXju9y/5v+7f\n3BZYXbJwNMEByidMyPQtsZDZrpil90LJrorrA83U9lbg+9/l0dJqp67JyrKN+91L4dQ3+472OJ1O\nmu1asLW9UmVt6UZuW3p3h8+PDvL0SVgHhUBdcvM9eVy9USLBNV0riyQPX13+laiq+j7Q2ZjlmcBW\nVVVdC1GVAA+rqroA+AvwxmG3UgghhgGn00mr1xp47y7dzRdey8/YHQ53+YC/3HA0N5093u8ZjnZl\nAfaV1QOeCt/tZbVb3mTiyFgeuGG2e39EQhjzJqdw6tHpfsvRDBSDQftpWrKygG/WF9HkNSoHsLdt\nKRmAadnxfFP4PQ1WbUq0prWOV7e+1enzx0SOcm+nh6d2eF2r1Y7Vq1DpoZaZ8DYzJ4ETZ6Rx79Uz\nDvtZYnDqjeT1K4CnvPbXAjYAVVWXK4qSqiiKTlXVTsc9o6NDMPZRXY/4eP9XXo800gfSByB94DJQ\n/fDet7t468sd3HHJNB57Y637+LHT08hMjqCoTJtyysmMYaKSyEQlkeysWNZuK+WttkWU61ocjE6L\nct/70fJ8AJISwgJ+r+gYz4iM63x8fDiL/3ASOwoOctSkVI6a1HFwMRBCvJbG2VlUw+zJnvbFx4e7\nq8tfdEI2l588lps+CTw6dcnEs3hny8c+x0LNIVwz83x+WrJGe8a00zoMKPcU1/jsJyVGBryup35x\n6bReeU5vkP9O6P0+6I3Aajrwo9f+H4FK4DFFUSYD+7oKqgCqqhq7uuSQxMeHU15e1/WFw5j0gfQB\nSB+4DGQ/fLFyL1abwyeoArjvhR/5v1vnsKVtnb8JWdHuNkZZjJwwLdUdWN3x5Hcsvnuh+16tSrmD\ntNiQDr9Xanwo6Qlh7vPx8eFgszE2NWJQ/k04vfKPNu+u4NdPfe/e925vdkoElZX1VDdrI1jHp8/j\nm33atbGWGKJ0vtOgAFnhGTgaPYFURUV9h+0o3K/VyJo1LpGLF44elH11OOS/Ew6vDzoKyHo8Yawo\nymWKotzQth0P1LULnB4BjlMU5Tvgb8A1PW6tEEIMEza7g8WfbWedWkZ1u3XmXKrqWnA6nezZrwUI\nmQEKS3r72SPf8tP2Usqrm9yFNNvXcfL24HWz+PmZ/tOKg1Vn32VnYTURoWaCg4yMTIlga6XqPndG\n1knuiulBBjN6nec5V+VczLhYhcvGXtDtKU9X36YlhB3S2ojiyNStEStVVfcCR7dtv+V1vBytzIL3\ntVXA6b3XRCGEGHocTiert5WyJa+SVdtKWb65JOB1sREWKmubsdmdfPGTlm81MtV/ymnB1FSWbih2\n7z//0VYuWTi6bxo/wCxBHQdWT7+/mYZmG2PTtenQwjqtT8bFKJgNZnQ6HU6nE7PBTIQ5DACjzsCs\n5OnMSvbUATNsP6nLZH3XmoYmg6z+JrpPCoQKIUQfWLX1AC9/ut3v+LnHZpGTEcOzH27h2Ekp7Cut\no7K2meK2KSkdgUdsLj8xm427K6jyGvWqb9aSui894dAWRR6sOitU6lqcOTpcSyRvsWv9cWrW8YBn\nKZr08BGkhadyxdgLGRWV6f8Z+hCszX6H3bbvPciqbVpgZTRKYCW6T/5ahBCiD5RU+ueNBgcZOHNO\nFqNHRPK3RXM5d95ITG1B1O4iLVH6zDmZAZ+n1+v8Cnhu2FUOQE5GdKBbhqz2tbYAjsrR1jB0FUGN\nbFvz0BVYBRl8p+pSw5IAmJ0yk4SQeL/nBZkNtNp8i5B6L8T8+Dsb3duBCq8K0REJrIQQog9U1voO\nh9x+wSQev3mO33Wuaaa3/qctVhHaQdkEgHOOHemzX9xW2LOze4YiS4ARuxvOGo/RoHMXRHWNajXb\nAgdWccGdr3sYZDJS29DKkpV7AXj87Q3c8fRySiob/K6tqOlkaEuIdiSwEkKIXra7uMadnxMTEcTd\nl09j8ug4Qiz+IzEH2wVgk0Z1HBDkZEQzPdt/9CU0wHOHskBTgXqdjjEjPGUmzCYDG8u2sPrAOkBL\nVvfmWgOwI862WvSu0g3bC6qobbRScKCOLXsqfa6dOynZ734hOiKBlRBC9LK320afjpuSwl9vmUO2\nV92p9rzPLZiaSmJMSKfPvva0sX73mTt5i24osrSrID8uU5vqTIr19I3FbOCbQs/SP5a2EavLx17A\n1IRJJITEdfoZza2eQq3eRVebW+088Z9N7v3z5o0kISr4EL6FOFJJYCWEEL2ooqaJ/JJazCY9V58y\ntsvrvXOqCss7rqnkEhxkRKeDhrZlXTob4epN5Y2V2By2ri/sAYfTwVcFS6lsqvI53n7E6tZzJwKQ\nk+7JJdMHN7CnZq9739i2mPIxKUdx/YQr0Os6/3mbriS4t/O9Krn/60uV1DhPUdVTZvmvvyhEZySw\nEkKIXvTVT4UAjMvwL04ZiNGg58IF2hIrSicjWy46nY4gk4H6Ri2w6uwNut5S0XSQB1Y9xsNrnnK/\ndddTpQ1lNNl8pz2X7PmKj/I+576VD7O5fCsOp4Pi+hK+KHsPnVlb2uf3V053r4HoLo+gt/Hv/S+7\nnxNnienxcjzXnT3Bvf36F6rPueS2kbEnb5uLUUotiB4aXhPzQggxQD5fVcC2giry99cSGWrmlnMn\ndH1Tm1OOSictIYyx6d17uy/UYqSyti1pux+mAYvqinHi5EBDKWWN5SSFJnZ4bVljBbGWaAx6T7uq\nmqv50+q/AvD4sQ8QYgqm0drIlwVL3de8sOU1n+cYk61YC8YxKjUSp9PJ+7s+IVKvvemns/i+cfnA\nMR0vuNwR74DJtd6iS4u166KrQnREAishhOimnYXVRIWZSYj2zYNyOJy8uyzPvT89M75HIx06nY4J\nWd2f0tOKimqB1YiEsG7fd6iqWz1TZVXNNT6BVXljJSaDkXBTGCtL1vC2+l8ALhhzFgvS5mr3tHjW\n3Psw7zMuG3s+FU0H3QnkAek85+qtDSwtWt62dwo6Y2svfKuO1Ta0YjToMZlktEr0nARWQggRwK6i\nanL3HOTYScnERQVjtdl55M31AO61+pxOJ+8uzXNXTHeJjbD4Pa83xUYGQ1vdq5EpEX36WQD1rZ4R\nnSa7ZzrP7rBz/6pHA97z3q6PqWw+yAVjzvLJzcqvKQBgbdnGgPe5eAdPjbYmn3P68IPu7ekJk7vx\nDXqmuKKBlNgQ9D2cXhQCJLASQgg/NruDv7+nLZ3yyY97AbjxLN+19tbsKOO5D3MD3u+qtdRXvMs2\nJHfxFmFv+L5opXu7xdaC1WHjy73fsLRwRaf3LS1cztLC5T7HShvLcTqd1LRoo2BmvYlWh9X/ZoPW\nhw6ng5L6Az6nTKlaiYRTMhZyxsiTe/x9XOZNTub7Tf5LDdnsDlK8EtiF6AkZ5xRCiHaKyxtoaPYN\njl74eKt7+/7FP/Hvb3d1eP+8SSl91jbAZ4279qUJepvT6aTB5slpyqvZy3dFK/h87zc02wMXzhwR\n1vH3tzvt1LTWUlxfQpDBzDSvEaeJceNYNPl6bUen5Tl9uucrXsp93X3Nry/2LE97dPLMHietezt1\nVobP/jETktzbEliJQyWBlRBCtPPyp9s6Pb+vrJ6DtS0+x2Ijgrjnyuk8/+vjGD2i8+KUh+uE6SPc\n2309XbWqZK3P/sqSNRTUFnZ4/elZJ3L52AsCnjs2dTYAL215nZKGUlJCk5k3Yrb73E2TriEnNhuD\nzkBynIV7r57BlwXf+jyjzrKHEGMwSSEJxIccXqkJ75ph5x83kvTEcPd+cmzfjwSK4UmmAoUQwovV\n5qC4wn9Zk0Aiw8wcPS6Rc44diV4HJmP/vEUWYjFx/PQR9CSkqmutJ686n8nx3X9bEeCNHe8CkBgS\nT2mjtjbh+rLNHV6/IG0uwcZg/m/en/iheBUf5n0GwMkZCwk2arlne2u1nLTY4GgyItL40+y7iTB7\nghqj3kCQWUdWcgS0W8f69e3/ASAzonfqS5lNelqtDiJDg4gM81RvD+7jkUAxfMlfjhDiiFBZ08xH\nK/K59aKpbNpdQWFZPcdOSiYyzLPGnMPh5J1Opvjau/nsCZ1WVe9Ll5+Y3eG5ssZyvi5Yxo8la0gI\niePeWXfy5IYXONBQil6n51/nP9nl860OGxu8AqgJcTko9jF8X/yj+9jIyEyOT59HVkQGPxSvxOaw\nEWzUqpRbjBbmpBzlDqxOSD+O3ErfKMms1wKZ2GDfml9GvRGr004g4aYw6qz1RFt6Z1Twniums2LL\nAWZPSKSpxfOZ5n4KksXwI4GVEGLYa2618ZvntIBg+WZPsvJ/v9/Dg9fPIjUulOKKBu59ebX7XE5G\nNAunpfLiJ9u4+ewJ/P39zYxKjSCv2FN6ICbCd+HfwcDpdPLPre9QUKdN15U1VrBi/2oONGhrFzqc\nDopqSgin45pZuRXbeW7zqz7Hzhp5Cj/uX+PePyPrJE7NOsGzP/Ikv+eEmEK4YMxZ5NcUEGy0+IxK\nAej1gbNRjDqjX5X3O6bdzBPrn3O/lRhq6p0cqPTEcPcUYFiwpz1Go7wRKA6NBFZCiGFvxZYDHZ47\nUNlAalwom3ZXuI/pdPCbS6cC8ELb0ifP/HIeZpOee15cRUWN9uMeFTb4AqtNFVvdQZXLO+oHAEyI\nHUtu5Q4qm6oIN/sHVt/s+57CumLWlG7wO2fUGwk1edbM8w6qOrMgba67nlWMxfczDbrAo0JGvRZY\ntdq1kgtjo8cwOiqLqKBIqttqYgUZ+rbvHYdWYF4ISV4XQgx/G3eVd3iutm1pmLIqT62kX3m9eeYS\nYjFiNOh93hwbjMudvJL7RofnMiO0t+DWFW9mZ9Vu6lrreSX3Daqaq/l23/f8d/enAYOqcTEKoE3v\nAcRaulchvr2EkDhun3ojF2efQ6Q5nPkj5gS8zhVYVTVXAxBt0aZbs7zyqix9HFj1x1JBYniSESsh\nxLDkdDo5cLCR/JJatu6tYlRqBKNTI/nyJ9/RnJZWLa9mV5H2I37v1TO0pOkOHKzT3gY0D8Kq3M22\nZvdafvfOupO9tfvcyd6AOy/p2/wf+ZYfOSb5KNaXbQ6YjL5oyvU8s1Fbjy/IqAUx42IULlPOZ0Lc\nuENuY3b0KLKjRzFvxDEdXmPUG7A5bLy+XUucD2ub9hsZmcGG8i0A7kT43vbwDUezu7hGyi2IQyaB\nlRBi2LDZHby3LI8d+6qwO5wUl3ve7ps/JZU5E5M587jRLHp8KSlxoeyvaKDVZsfpdFJW1URybEin\nQRVAWry2hEz7GkgDraC2kMfWPg1AYkgCSaEJhJp8SwbkxPgmvBv1gX8C7ph2M6Ojsgg2WmiyNWPW\na3WzdDodc1Jn9UHrfZn0JprtLeTXalXaXdN+iV5L6SSHdbxe4eFIjAnxKcMgRE9JYCWEGBZq6lt4\nb1keK3ID51O5pvAykiJ46a755BXX8sib67HaHLRY7dgdTuIigwPe623h9FTSE8MG7G3AQOwOO69u\nfQuAMVEjuTLnYsB/uizcHMaoyEzyavYCBCzwecGYsxgdldV2vxZYjYvp+A3EvmDU+07DBRm1twfD\nzZ5RpL6eChTiUElgJYQYFl77QmWjVwK6tyCzwadCt0Gvd0/llVQ28vUabXowyquOUUcMej1K+qHl\nGPWV0sZyypsqmZE4hWvHX+Y+bjJ4KrTrdXr0Oj0RQZ4RuY1lW3yec9yIOe5Ec4CfT7ySPTUFTE/0\nzznrS0ad70+Tq4RDuMmz4LTZ0PW/lRADYfAlCQghxCHYlOcJqi5eONrnnCuPypurmOf6neV88EM+\nAMd7VTQfSsqbtO8eaCkZV+K5S7DBk5vUfo2+lFDf6bWMiDQWpM09rGVjDkX7KcqkEO3NzDCzJ7Ay\n6U0IMRhJYCWEGBYsZs+P8fypqRw9vvMcnJhw/6mkoZqw7Eo+jw+J8zsX0lYiwZXUbjF2PIUW3q7O\n1EAJajca5UpeN3kFXDJiJQYrmQoUQgxZZVWNlFQ2smRVAU0tWkHJX108mSCTgRvOHE+QycA6tZz7\nr53pd2/7JUvMRv2gLDjc4ZUAACAASURBVJ/QlYqmg6wt3QhAZkSa3/mcmGz3efB/my4+OJbypkoA\nUsOS+7Cl3Wdp10az15TmRdnnoEPnE2QJMZjIX6YQYsi675WfaLV5KjmOSolgQpZnYd6rTxnL1aeM\n7fD+x26azV3PrwTAbBr8dYucTqfftJyrYOakuPFEBfkv86JE+06LJrZNq7nMTp7Jx3u+ACDGMjgS\n8tuPqnlP+x3XSZkGIQaDofc/z4QQAiipbPAJqgBuOGt8j54RFxXMUTlaoGGz+z7L4XTQYG08vEb2\nop1Vedz1w/0sL17lc7zJphU2HRkZuPxD+2VkpiVM4sYZl7v3c2KyGR87lqOTZqDXDY6fBO88MPAd\nsRJisJMRKyHEkPT7l1b7HYuP6rpcQnsGvTYC1Nwuwf2lLa+zuWIr80fMwYmTc0adNqB5PXtr99Fo\na+Jt9b/UtNZxXOoxhJlDKagtAjpeO8+gN3BM8kzigrWRPJ1Ox/Gj5pJmzmBPTQHpESO4ZfLP+u17\ndIf3VOADs+/usN6WEIOR/LUKIYac3D2V7u0/XDWDh/61lrjIQ6vE7VrSxsXhdLCxPJfNFVsBWFa0\nAoDShnJyYrOZm3J0pwngfaXZ1uLe/iz/a7ZW7uCuGbfx+d7/Ab41ntq7POdCv2PRliimD5Kpv/a8\na1TFBccMYEuE6DkJrIQQQ86yjfvd21nJ4Tx849GEBx/adNGkkbFszT/IucdmUdlUxYtbXqOofr/f\ndTuqdrGjahdf7P2Wv8574JDbfqhcU34uBbVa7a0gg5kWe6tfVfWhrH3yuhBDiQRWQohB7ZVPt5EU\nG8LpszPdx6rqmtEBL/92ATqdjsTorpcgaba1sKZ0A2fHLvQ5fsKMEWQkhWMPKee+lQ93+Zz2AU5f\nKm0sJ9YSTXF9Cd8Xr/Q7v71yJy32VqDj5WmGooEYERSit3TrP4mKoswCHlVVdX67478CrgNcS8ff\nCOwD3gASgDrgalVVO15aXgghOmC1OdxL1HgHVnWNVqLCg7pduNLusPPr7+/Vdsw25sQdg9PpxKDX\nKrJnp0WxZM9P3W7XloptTOzGQsR2hx0nTp+gJ9Cbfe1tLt/KK7lvYHPaSQiOo6wpcEX5fXVafpV5\nmBXLtBhkxEoMXV2+AqIoyl3Ay0Cgv/RpwFWqqs5v+z8VuBnYoqrqscC/gD/0ZoOFEEeOxmZP/pPd\n4Xlrr67JSlgPpv5+Kt3g3n5ny8fctvRufrHsd7yjfoDVrn1GcYMWwOnQ8ZsZi5iWMIlzR58OaLWT\nvD2/+Z/ugpsdKarbz+9//DP3/vgwFU0HAfiu6Ed+t/xB9zReILur83lhy2vYnFoyffugakr8BPd2\nvVVbZPqX027qtC1DTbCMWIkhrDvv1uYB53VwbjrwO0VRliuK8ru2Y3OBL9q2PwdOOLwmCiGGqx0F\nVfziqR/4YvW+gOdrGlrd243NWgHQrfkHaWm1U1rV/VII68s2BTz+Q/FKdldry9nsqd6LSW/k7wse\nJjMinesmXMEJ6cfx6Nw/ctyIY3hg9t3M8FozzzUF15Hcyu3UtdZT21rHH1c+wu7qfL4vXkmdtZ7H\n1j5Nk81/AWSAJ9Y/B2hlEiLNEX7nr2hLRFeiR7sDqzCvNfSGA8mxEkNZl4GVqqrvA9YOTr8D3AQs\nBOYqinIGEAHUtJ2vA/wr1gkhjnhOp5N1ajn1/9/efcdHXd8PHH/dzGXvkAEkJMCHvVFRQHHVUdE6\nWrUOtGrV1ra2Vq22jtr6c9Zatfpztf4cHY7WYt2CICB7g3yBQIBA9l6XS+7u98f3Zu4uAxJCwvvZ\nRx/efb+f7/c+9+Fyeecz3p+WNv65eDfltaFzl7btrfY9/nytPuz15D/0LOKOts57jFxuF4W1RSw/\nuIrtVRojEoaHTS5Z56jH6XLS0NbI8PihIbmc4jyr7dKiUxiVlO873upspTPebOZe/7f975Q1lfue\n37H0Pv667W/srCn0HfMm+wT43cn38D31naB7RJms2Ew2jAYjDmcbjY6moDoOFoGrAoUYaA57tqNS\nygD8UdO0Os/z/wJTgXrAm5EuHqjtzv2Sk2Mwm/sm83F6+rGx/1V/kjaQNoBjpw0+XLGX59/dHHTs\n7he+5rc3zWKq0hN21jW28vaX/qBj4YoiPl9X7Huen50Y9v0s2rOcd7Z9SGVzddDxC8efxcnDZ5C/\ncyh/2fBP33FDlItGs/41lRqf1GkbTTCOBE1/fP/Xj9LuaueeubcxJSt4vlVVcw27aguDj9lrQu63\npmwDa8o28Nalz2A2mdl/qAiA7064gMwhSWRknMCLW14D4JJx53H+6NOJi4ol2hxFOw5aXC6sJgtD\nM1ND7t2VY+WzEI7L7Q8U+7Kex3IbHC3SBr3fBkeyjCQB2KqUGgs0ofdavQo0A+cBq4Fzga+6c7Oa\nHnTr90R6ejwVFQ19cu+BQtpA2gCOnTZoaW0PCaq8Fq3ex9AUPcnn4g0Hw14LEGUx8dNLJwa9H2/+\nqVe2vhH23qOiFRUVDUzOHBt0vKa+kfdL9VxQI2MLOm2jRLc/gGl36XV5eOkz3H/SL4m1xBJr0Vcn\nPrPhL1S11HBC5jSuHvtdHlr1BOXN+lypO6b/iC+Llwft3/f4khe5YeLVrCnaAsAQc6avHj+YcBVb\nK79hRsp0WupdtNBAojWRiqZqLEYLSdbEHv+7Hiufhc58Z+T5pNlS+qyeA6EN+pq0wZG1QaSArMf7\nFyilrlRK3eTpqboHWIwePG3TNO1D4HlgvFJqGXATcPQTvgghjlm/fjk4Y/pJ44bws8smAxBl9fda\nN7boMxC+f9Zo7l8QvIny1NFpxMcEZ0H/T+HHvqCqs9QD2QmZ/GzqzfxgwlWAvsLPOwdrZubUTutu\nMBg4Ly902uiDKx/nzq8eYGfNbipbqtlRswuTwcQ1Y7+H0WDkp1N/CMB5eWcyIjGXs3PnBV2/oWIL\nbc42Fh34CrPBREFinu/ctIxJXDPue0Fb06RHp2J3ttLQ1kiMpetUEwPRmcNPZUrGxP6uhhA91q0e\nK03TioCTPI/fCjj+OvB6h7LNQGiaXyHEoPbukkK27qnmlu9MICPC1jLa/hpqGvS5SZeeVsB5J+n7\n25VU6XOFmu3tONqcWC0missbAZiYn0JGcgzj8pLZXqQPpzU0h077/Hz/Et/jK9TFvP7NP0PKeI1K\nzvetzCuq1yfOmwymoM1+I6loqY54btnBVb57TM2Y6EurkBSVyHOnP+YrlxmTQX5iHjOGTOGdXf/B\n5Xbx1SF9D8BYSwyWLvbGS7L5p6725zY7QohQx8aOm0KIAa24vJH/fr2PfWUN3P3C1+wtqQ9brqpe\nXwmnhiVxzonDfcejo/S/8b7aXMLtzy6jpKqJnQdqSYy1+vb/u+PyqaQk6JOa7Z4hwUCxAT03UzMm\nsWDcFb7nufHDQsp3DKJs5u7lxZqcrm/0fGHBuTx3+mP8YvqPfOfWlW9iZelaMqLTuHbc5RHvYTKa\n+MX0Wzl16MmMT1UAvLtrIQDzhs3psg5RAZO7o2SDYiGOKRJYCSGO2J86zJl66LW1gB5wPfiXNVR6\nVvw1eVImzJuWgzEgiImLtvg2Q25pdfL7/1tHXZODMbnJQcHOiCw9/UCb078i0O1289T6532pB64a\n+12iTFZmZk7l5kkLuCD/W9wxwx/8eCV32Cevq7xUXlPSJ/DI7Pt8w3n5ibn8ePINQWXGpo4OWV0Y\nidUY3OM0NC67y2tODwi+Ol4vhOhfElgJIY5YVV1oTqbXPt7Bfa+uZl9ZA+8t3QPAzgP66ruYqOBZ\nCGaTEafL7Xve7OmRmj0xK6jciWOHADBvao7v2IqS1b5cVAWJI5iVNcN3bmLaOM7JOyNskBPdIVdS\npLxSHRkMBuKtwXmjxqaO5tyAuVftLme37gXBAd341DGMSRnV5TWBry85n4Q4tkhgJYQ4YpMK9NVy\nv7zCP/l7ScBGyWaz/lXT6JkbVZATmt7u1osmhBzLSg2emD1jTAZ/vG02p07RA6uFez7hrR3v+s53\nNvwWzqNz7u9R+e7Kih1yWNdNy5jU7W16vHLjhx7Wawkh+oYEVkKII/L11lI2FVZhNRsZMzyJcHFB\nSnwUrW1ODpQ3kpoQ5ZtTFWjGmAx+cbk/s7nNaiI5PjRRZEKsPvRlb2/l46Ivgs6lRif3qO5xlljf\ndjUX5p/bo2s7OnP4qczJmcXFI78dNhFpJJeMusD3OKcbw4BeKTb9vRYk5XX7GiFE3xs826ELIfrF\nSx9sB2Dk0EQMBgMLzh3DXz7cEVSmzeli0+5KmlvbmTctJ9xtABifl0JKQhTV9a387oYTO+29+dXy\nh4KeT8+YfFj1n5szi+HxOeQmhE5w7wmbOYrLO2RK745kWxJPzv0t9Y5GMmLSun3d7dNupry5kszD\n7B0TQvQNCayEEIfNFTAv6qeXTgJgzqTs0MCq3UVxhZ4+YVxeSqf3fPyWk3G53ZiMkTvUDzaW4PDs\n1XdB/jmcMWxOp7mrOmMwGBiRmHtY1/YWm9nW47lSKbZkX6+VEOLYIYGVEOKwfbpGzwU1d3IWlk62\npFqnVfjyV2WmdJ7Q0mAwYOpintFHAUOAZ+ee1u0VeEII0dfk20gIcdgKD+qbBnsTfXpdceYoZqh0\nfumZM+UNqgCS4nqWHuDNb97ms31fBh2rseurC58+7WEJqoQQxxTpsRJCHJZ2p4t1OysASPMk8bS3\n21lSvIKJY8Zx1oyJ1DW2Bl3z1I9P6dGqtzZnGytK1gBwVu5pvuP1jgaSo5IOe/hPCCH6ivypJ4To\nthVbS7jz+RXUNLQGpVMwGgxUNFfxi6X38Z89H/P71X8AwGrxDw+OzU0mMS50lV9nmtr9m7M7A3JD\nVdtriBuke+QJIQY2+XNPCNFtL3/wDQDLtpTwL0/ST69VpWuDnr/5zdvkJgwjOsZFS7OR+Jieb71S\n1VLje9zQ1khSVCKfFi0G4EDjoUiXCSFEv5EeKyFEjwUGVeecMJxGR1PQhHKAFSVr+Jv2Hkz4FCx2\nXzb1QE6Xk8/3L+GzfV/yxf6ltLmCyyw6sNT3+KGVT9LU1sz7ez7q5XcjhBC9R3qshBBhlVQ1sXJb\nGRfOHsHiDQdZtL44pMzNF47nhLFDeG37333HLEYLba62oHLG6EbiokN7rJYcXMG/dv/X99zpdvr2\n4NvfUMzGiq2+c3annTu/esD33FtOCCGOJRJYCSFCOF0u7n1pFQC7imvZsb82bLl0z6T11aXrAUiz\npXDRyPN5eevrQeWmjE3gihND98AraSwNet7gaPQ99u7/F222kRyVxKEmf9kp6ROYn39OT9+WEEL0\nORkKFEKE+GKtv3cqUlAF/pxUE1LHAHDL5OuZmjExpNzk0YnEx/jTLLjdbqpaqiltLg8qV1S/n331\nem6sars+v+rWyT/g7pk/DSpnMBh7vKeeEEIcDRJYCSFCrNHKuywTHWUmOsrM+vLNbK3agdlgYkhM\netiyLW32oOdv7XiH+75+hD11+4izxPLgrLsA2FO3j8fWPoPD6aCwdi9mg4mcuCxMRhMPnHSX7/r6\n1vojeHdCCNF3ZChQCBGkvLaFwoP1jBmehN3hpKi0AavZyB9/MpvGljY+WX2AL9YVMywjDoBXtr4B\nwND4HF8v0q2Tf0BJUykjEnL5w/o/0+L0B1aFtUW+3FQAN09aQLw1PqgOb3zzNvsbDjIqKZ8ok97T\nlR6TyrgUxfZqLWQOlxBCHCsksBJCALB4fTFrdpRz/qw8AEYNTeI7c/PZW1LP8CFxmIxGbFYz3503\nklibmdOnDaU9YBXfT6f+0Pd4fKpifKpif4M+pOgNhJramvnD+j/7yl0z9nu+ffpunHA1L3nmZq0r\n3wTAzCFTg+o4NmUU26s18hKG9/K7F0KI3iGBlRCC3cV1vP7pTgCS4koASE3UNwUekZUQVNZiNnLR\nnHwAPtqrp1iYnXMSVlPoqj+rUT/W5tQDq501hb5z95xwOzlxWb7nUzIm8sjs+7h72W99x0Ynjwy6\n38nZJxBriQ07j0sIIY4FEliJAcfldtHgaCIxKr7rwqJTjjYnSzYd4m+f7/IdW7m9DICZYzK6vN7b\nI3VO7ulhz5s9gVVZcwWNjiaaPZnUrxn7vaCgyiveGhf0PDU6Oei5zWzjxKzpXdZLCCH6iwRWYsBZ\nfmgVf9f+xTVjvye/ZI+A0+Xi5ieXRDwfHRX69dDuaqe2tZ606BRa2lvYXLkNgKSoxLD3sHgCq121\ne7hr2YOk2vRAKcYSHfF1DRhw4+Y3J/5CNlgWQgw4EliJAWd16QbPf9dLYHWY2p0ubnr8y6Bj3z45\nlw9W7APg6m+psNe9X/gRiw58xR3Tf8wHez7xHY+U+sBmDt4bsMqTQiErNjNi3Z469Xe4IezQohBC\nHOvkz0Fx2BxOBztrdvueB26S25dizHpvR0NbYxclRSQHyoPbbvyIFN+kdYBoq4lwFh34CoD15ZvY\nUbMrbJlAUSarb1VfoLTolIjXWEwWCaqEEAOWBFbisL3xzds8veFFfrr4V2yr2sFPvvwV7xf2/T5u\ncdZYAA42lvDVwZW0Oh19/pqDicvt5r0l+iRys0nvafruvJFEWUxYzfpXQrjtZxrbmnyPvQEWwK2T\nr+/09VJtwUHUmOTQDOxCCDFYyFCg6DFvz5R3SXy728mfN70KwKf7FnNhwbl9+vqBS/z/rr1HeXMF\nl4y6oE9fczBZtb2MbUU1TCpI5aeXTgoaxrv/upls3F3J+BH+YKil3c4dS+8Le6/bptzImJTOA6Xp\nQyZzaE8ppw+bQ6wllrk5s3rnjQghxDFIAivRYy9ueY3Cun1hz3Vc1dXb7O2trC3bGHRs8YFlgzKw\nWrS+mMbmNi44Ja/Xtm8pPFjHSwu3A3DJqQUh981KjSUrVe8RbGm3c6ChmLLmioj3S7YldfmaZ+fO\nY2hcNmNTRmMyhh9iFEKIwUICK9Ejda0NbK3aEfF8RnRan77+gYbikGNu3Oyt2+dLNDkYuNxu3vDk\nlVqrVfDbH5xASVUTKQk26pocRFlMJMaGzl3qzMqtJfz+9XUARFlNZKZEXpnndrt9vVS5CcMiluvO\nv7fRYGRC2tge1VUIIQYqCaxEj5Q1lwU9HxKTTrW91pdZ2+5s7dPXL/Js0NvRE+ue47nTH+vT1z6a\nWlr9w53FFY18vGo//1y8m/zsBPYc0vfJe/Xu8LmjArU6nGCAxuY2fv+X1b7jD143E4s5cu/RmrIN\nvsfeTZFnDplGlb2KvXX7ceMmzhIrGyELIUQHEliJHimsLQp6Pjx+KPPzz+Ev2/9Gu6ud0qZynC5n\nnw35VLRU9cl9jzUtdj2wMhkNOF1u/rlYX33pDapA71XqKrC55Q96nqobLxjnOzapIJWM5JhOr/v6\n0JqQYwvGXw5AeXMFT6x9jgXjrujGOxFCiOOLrAoU3VbaVMYHez8NOnZu3hlMyZjIH+Y+xNSMSTjd\nzqDVY73pQMNBlh9aFfZcQWJen7xmf3C6XDz//lYATpuSE7Gco83V6X3cbrfv8SpPNvV5U3O4+cLx\nnV5X1VLDztpC8hKGE2/R58ydmOnPF5YRk85jcx9gbOrozt+IEEIch7rVY6WUOhF4VNO00zocvwL4\nGeAENgO3aprmUkptAOo8xfZqmnZd71VZ9JdDTf5hwKvGXEZpczkZMekAmIwmkqz6nnJV9moSoxLC\n3uNIPLLm6YjnWtrtvf56/aWotIG9JQ0ApCfZIpYrPFTHuLzI+aDeX7bX97jdqQdhY3KTsVnD/9h/\nsX8p68s3c/6Is/SyKaP49oiz0Wp2MzJpRI/fhxBCHI+67LFSSt0JvAzYOhyPBn4HzNM07WQgEfi2\nUsoGoGnaaZ7/S1A1SNS16sNQP5hwFbOyZ/KdkecHDUWNSBwOwJPr/kxzW0uf1mVy+oSg54MpsKpt\n8OflmhGwX9/PLpscVG7h8iIefmMdt/1xKeW1we1deKiO/ywv8j0vq9bPx9rCB1UNjkbe2/0BRfX7\neWfXQgDSo1MxGAyMSRmF2SizBoQQoju6821ZCFwMvN7heCtwsqZpzQH3sgOTgRil1KeeY/domray\nl+or+lG9Q+9FSbCG3/x4dPJI3+Plh1ZxVu5pfVaXGyZcRVNbMx/u/YylB7/G7uy7wMrtdrNtbzVq\neDIWc9+Mnr/zZSGLNxRz/XnjcLTpecKuOns0KQk2nvzRKdQ3OcjNjCcrNYb0pGg2F1ahHagNuv7W\niyZQ3+Tg5f9uZ+ue6qD7V9Xr7RNrC038ua/+AP+7+a++52XN5QBMy5gcUlYIIUTnugysNE17VymV\nF+a4CygDUErdBsQBnwETgCfQe7lGAR8ppZSmae0d7xEoOTkGcyerlI5Eenr4QOB4ciRtsGjPcqIt\nNprd+jYoBdk5pMeG3i8d/zGn2RHxNbsz6bqjjj1gQzISgUR+nHMN1Yur2VquYYp1khITOa9ST9vA\n7Xbzycp9PPeOngj1sjNGcc1547q4qucamx18uFLPC/bcv7b4jmemx5Pu+b/Xi/fow3QX/OL9oHuk\np8RgtJr5+WOLcbn8c6uS46OYUJDGVxsPAjBmZHpQVvWnVrzM1wfWhdQpJTqJnMzIw4wDnXwnSBuA\ntAFIG0Dvt8ER9e8rpYzAY8Bo4BJN09xKqZ3Abk3T3MBOpVQVkAWEXyfvUVPT3Nnpw5aeHk9FRUOf\n3HugOJI2eHj1UxxsLAEgzZaC1WTF3WSmojn8/S5X3+Hv2r9YqH3OOTlnB51zu908u/FlWtrt/GL6\nrT1aObi71j9f6LYpNwa9n7zYXLaisaFoB5PSw0/M7mkbfLOvhsf/tiHo2PodZZw7U8/pVFzRyFP/\n3MRlpxVw0vjIGwp3pbK2hV+/HH5CvqO1rdt1jjIa+OzroqCg6taLJjBjTAba/hpfYNXSaKel0Y7b\n7eZ3q56k1NM7BfD9MZfy5o53ADgn94xB+3Mj3wnSBiBtANIGcGRtECkgO9Jxjf9Fn3t1UcCQ4PXA\nkwBKqWwgASg5wtcRR8HCPZ+wqsTfe1HWXOELqgAq7dUUJOZhNET+2JyYOcP3uM3ZFnSuzdXGjppd\n7Gs4wPryzSHXri/fHJJV3au44RAA3xt9UcgWKtlxWQCUNpWHXHe4OgZVAPZWfYjO5XJz3yurqWlo\n5UVPFvPD9a+v9uBodzE0PZapo/zJNsfnJTN2eDKNjia2Vn5DvaOBl7a8zoZyvUfr9zeeyG2XTOSe\nq/TVenaHk4qAeVb3XjPdNz8r3GT1Q02lQUHV8PihzMqa6XseZexZ8lEhhBC6HvdYKaWuRB/2Wwv8\nAPgKWKSUAngaeAX4q1JqGeAGru9qGFD0P6fLycdFXwB6pu3M2Ay+qdYzf49IGM7e+v0AjErK7/Q+\nVpOFqRmT2FC+mZ8tuZdbJl2Hy+3izR3vcP347/vK7ajZxczMqb7n7a52Xtn6BgBT0ydSZa8hOSoR\ni0kftippKvXVraPMWD2ACAwU+sLByiaWbDzomwiOwQnuw//bZPfBOr7eVkaszcwD15+A0WDA5XLT\n2NJGQqyVV7e+6duPMc4SS2NbExsrtvD7U+4lKzWRrNRYSqr01BYtjnaKK/Sh2lsvmkBBdqLvdYZm\nxHLS+CGcPlPPTF/SVMbDq58Kqstloy/EYDBwUtYMVpasZXgn2daFEEJE1q3AStO0IuAkz+O3Ak5F\n+q1y5ZFVSxxtrQEZ0x9a9QSPzr6ft3fq83jOyj2NT4oWs6/hQLe2Jok2+ReQvrtrIVX2GpxuJy9s\n/ovvuHfO1MbyLSzc8wnXjrvcd+6XX91Pq9PB1PSJ3DDxagAaPLmxUm2h837SbCmYDSZKmspCzh0u\nq9lItM2MzWrm+2eOory2hTc+3clrH2sAmDL2Yc37hvayYbhcp2M09mzO2Cer9/OPRXrSz3nTcjB6\n5pwZjQYSYq04XU5fUAUE5QY71FhKUpQeOHl7o5Zs1Hv0stNig1YSApiMRm66YDzp6fGs36PxyJo/\nApBoTeB3p9wT1AN5pbqE+fnnkhgl8y6EEOJwyBpqAYSmK9gfsCffiMRcbp18Pc3tLWTEdL03XLTF\nH1iVt1T6Hjtc/qFBh1NPKfDSVn2x6bu7F/rOtXrObajwT+RucDRgNBiJsYTub2cymkiyJVHXWhdy\nrifsjnZu/cNSzpg2FEe7i4LUWH55hd6rVtPQ6tu7D4MLa943AJiHHKDF0R52tV2g8ppmDAYDaYk2\n/rFoN5+t9U85zB0SGsQ0t0dOV/Hcplf40eQfMC5VERMV/CM8s0NQFWj9oa08suY53/M7Z94WMqxr\nMpokqBJCiCMgmdcFQEhvT2FdEQDfH3MZCdZ44qyx3QqqAOzdyCnV2mFPwcDJ6eE0OBqJs8RGnN8V\nZbLS2mFOV084XS5uf2Y5AF+s14PKhIBNjhPjrGBuxarWEDVxWdC1CwPyRUVy9/+u5K4Xvqa8toVP\n1xwgICk6jvbQDOoHGvTJ5idnneA7NjfnZN/j5za9AuibKV881z88m5EcfmNll9vFI1/5g6p7Trjd\n1+slhBCi90hgdZw71FjKb1c+ETTsBPjmW+XEha54e/mD7fzqxZXsKq6lsSU0mBnRje1lalrrgrZc\nicThbGNTxTYqWqp8ebTCiTJZcbgc3bpnR3tL6rnxsS9p9eSP8rr+vDG+x0aDgSi1DlNiFUZb8ArW\nT9fui/i6brebolL//n5LNhwKKZMQEzxRvK61wRc4xVpi+PGUG7io4DwuHXVByL0Bzprhnw81pMMe\ngPvri9lfX+yb/A9wUuYMcjwT/oUQQvQuGQo8zr27ayFlzeW+pJBDYtIpa64AwGq0MDQuO6h8fZOD\nFVv1ieT/88Z6AF69+/SgMidmTiM7dgjlzZX8dfvfQl5zXKpie5VGtb2my/r9z+qngoYTI7Earbjc\nLtpc7VhNnQ/LBdpdXMfDb/hXQp49cxifrtGH6SwBedUONpZgjK0PuR7AYLWzYVcl00anBx0vPFjH\n0+9sJjrKf5+P5dFDOgAAIABJREFUV+/HGFeNu82GuzWG2y6ZyPgRwfPGDgQMw45MGsHYlNGMTdH3\n5Xti7oPcsfR+AN97tVr8fx9lpQYHVo+u/ROgT04Hvdfr4lHf7qxJhBBCHAHpsTrONbUF975cri7G\nbNADgWHxOSG5prwrzwI9/fYmiisaeeyt9Xy16RBGg5HchGHMzJzKDydeS1r17KDyMc5UAN4v/KjL\n+gUGVZ0NRabYkgHYGDAvqytFpfVBQdWPL54YMkfJ6XLy8pbXQ1bRAZg87WTJ24a2vzbk/JJNh2hs\naaOi1g4Gl76K0NRG1LjV2CYvBWDqKD0Ya3e1U9lSjdvt9g2TZsZkMC5VBd0z2hzN1IxJgH8enMFg\n4Lpzx3DJqflEB8y5crn9Q4xbKvS0EMPic7DI9jRCCNFn5Bv2OLalcjsHGg/6nttMUQyLz6bdrQ+J\nDU8YCkB9swOT0UBMlJkv1hWH3GdTYRWbCqsA2LG/ljmT/b1cGaYRHNhdhiFqLtGTlmPXpvJVUzTR\n0wkZfgxUkJjnm+fldU7uGRHLTxsyiRUlq329bd3xUoccVOM9GxqnJEQxb2oOAB8VfRE0iR5g5pBp\nVLZUcmHBefxxwwuYEqvYWVwOjKKkqonk+CjMJiPLNvtzgEWNXYXB0oqjcJLvmMGmB6kut4vH1j7D\nwcYSrEaLLw3F2bnzws4pS7DGAfDZvsW+zZED2xygrKmc3656wvfcu3AgzhLcoyWEEKJ3SWB1nGpp\nt/NCwP5wAE210fz7y2JfP+aIhFy27q3iD//YREpCFLdcNIENuzoflgvcLgXgM8+wmrs1hpHVl7O5\nXg/ADBhwE3k+1PyCc3lq/fNBx2zmqIjlUz09Vt6NorujvklffXjR7BGcPCGTKKveA/XEradQ0lTG\njxbdGXJNnCWWBeP9qSFMBhNOt5ND5o3sKh7P/7yxjukqg6RYf10N1maMcfqKRVN6QCA7aRlO1/ks\nLl7mS8TqcLWx/NBqAKIivN/5+eewpHgFDY4m/nfza5Q1V3DblBtItunb+RxoOORLqeC1xxOkxlpi\nu90+Qgghek6GAo9TO6p2+R63V+q9HW5HdFAagARTCn/4h96rVF3fykcr9SShOemx3HvNdH44fzxj\nc5OD7pvZYY5PbaN/9d9mT68WgMEdGtObDCbOGD6XeGscmTGhaQOiTJEDq0TPCrfabqRcKK9t4YX3\nt9Jkb2dkTiLzZ48gLSl4Nd3vVj0Z9lpvKgiv26fdAoA5cx+P/vsLbNO+YGPtGr5YX4zB1kjUuK+x\n5Pt7vMwBgRXA/33zD/61+79hXys3fmjY4zazjRhzNPsaDrC5chtlzeW+YVV7u50n1j4T8b0nRiVE\nPCeEEOLISY/VcajV6eDlbXr+KPuWU3C3WzAYnbSX6pm53Y4oDNZWaqqD0wCs36kPs11yagEF2YkU\nZCcyXaVz3yurKa3W52o1NAUHHg3NbXpG8Q6r5lyG0NWEM4ZM4eKR3+aigvMweP4X2KvVWY9VlElf\nWefNFh/JocqmoL35hqZ3rwfnSnUJb2nv0uYKrndeQIbyqHH6fa25O2gpy8OcccDXUxWJdwufy9V3\nyIrNZEf1LipbqrlizMW+9xROTlwWu2r3+J5Hm6NpdDTxP2v+6BvKvf+kOylrLsfhdPDqNj2vb4ot\n8ibVQgghjpz0WA1ATpeTFzb/lbd2vBM0QTkct9vNkr0r2d9QTJurHZfbxeMBPRoXTJvIuJwsHLun\n4m7Sf+nat57Cz6f+mBfeKwTgpvnjgu6ZHOcPcMwmIz+cP56J+alYLUbKalpwBKQtqG9yEB/TvVV6\n3kDCaDBiMBgwd5g4b+ukxypQZUt1xHNrdgRve5OV5g+s3G63L3GpxWjGZrKRYI3nponXMDljAhCc\nVwr0ieMT4qaHvI511HrMmfvC1iE7NjiFxZnDT2VOzixGJo3g2/lns2D85Z0GVQBn5c4jNmC+VJw1\nlg0Vm309dj+a/AMyYtKYmDaOtOhUX7nO9nkUQghx5KTHagA62FTClkp94rW9vZXrJ3w/Ytm1ZRvD\npjwAaNs/mvnXjGCtVs72ooDUB+1Wlqzwb6EyIjOBu78/jUfe1NMrdExCmZsZz+3fnczLH2xnxdZS\nahtbyfDkU6pvdpCWGM2lpxXwyn+/8V/kMoExOG+UtUMw0eYK3mKys6FA0HM+NbU1h/QqBSqv0TOa\nnzA2A0uUk6mj9KCjtKmcZza+RG1rHaOS8mlztTMiOY+fTr3Jd+2Tc3+LxRgaJI5OUmxtXBd0zJQc\num9hRkwa5c2VWIwWLio4j38XfgjoezH21PhUxWNzHmB/fTGPrv0T9nY7LQHZ2ocEDKV6V1OeM/K0\nHr+OEEKInpHAagBqdPiDnnXlm7gef2BV21rHnze9ysHGEu494edsKN8c8T6jUodjNBo4YewQ8rIS\nMAJ3vvA1AMu26JOpLz2tgCEpMQxJieGm+eOoqrMHLekP5M2h9OZnu/jO3BHsOlCH3eEkMdbCKROz\nSImPYsueanYdrGV/1RDM6cHJMjsGVh3ZzLZOz88cMpUvi5fT7nKGPf/NvhpW7d+ObeZqtni29jMV\nT2NG22SeD9jH0DvE1nHYLNLrp8T4t4CxtaVjt4RfmfjL6T/m79q/OCfvDLLjMn2BVcd5Wz3hrVOD\no4k1ZXrge8uk60iN9s99izZH8+y8R0lPj6eyMjRdhhBCiN4jgdUAZA/YDibBqv9Sb3e1s7VqB58U\nLfKtMPv96j90ep9ZowK2QvFM3v7NtTN46LW1vuMF2f7JzieNC83CHmhifirvLtnDlj1VbNnjn6ge\n79kaZmxeCmPzUnjzs53srwodksqMSQ85Fsg7PNbS2s6OfTVMyE/FYvbfx+zJz+R0t4dc22xv4/G/\nbSBq8mYMAfslrylb7wtIOrpSXdJpfbxGpKXDTog1JWBoixwcxlhignoXp2VMYn35ZjJjI+/v15Vo\nT2AV+B7CbZRtMBgwGHq2UbQQQoiek8BqALK3+wOrekcDP1p0J6OTCthZWxi2/NWTL+Gl/6vAlFKC\nMb4WU1IF7nYzw5KGhJQdkRW8akwNTw4pE8mwjLiwxztu2XLWjKEs/dgfEF099rvkJ+aS0UVg5Z0f\n9NGq/XywoogLTs5j1NBExuQmYzYZfYlNS5vKyY0fFhRI/PmdzWBsB1fkOUa/nfUr6hx1PLnuzwAh\nyVEjSbIl8KuZPyPZlsTDi/8SdG7GkCmsLdtIfphtfq4ddznn5p1Jdphtg7orxhw8LHvJSMmqLoQQ\n/UkCqwGoyq5Pzh6bMtq3Ci4wqDp92Bzm5Myiqa2JJNMQfvHsCiCG9pICKAGDrQl3m5VhZ4UPhLwC\n96DrDoPBwJnTh/J5hySiKfHBc6PSk6LB7Q964q3xnQZVt025MWj13a4DepbzhSuKAJh/Sh4Xzcn3\n9Vi9/s0/iTJFMTVjIgCl1c0s2XAA24xFGIwuLEYL95/0S36/+infvCSTwURSVAJN7U0cjqHxesqK\nxJhoaj0jez+ceC2jkvOxmW18K3deyDVmo/mIgirQg78HZ93F/V8/CtBlcCqEEKJvSWA1QLjcLhYd\n+IovDyynplUPLM4cfmrY9AJzc04mPSYVSOOvH/knjJ8+LYfLzxjFiq2lDE2Pw9jF0NC00ZG3kIlk\n/uwRIYHV5FHB9zEYDL7tYABfT1MkOXFZQfObEuOCe8D+s7yIi+bkB/UwvbbtH0xOm8C6nRV8vGof\nxsRKDEZ9BeXJ2SeQbEvi8TkPUO9owOl2+rbEGRqXzalDT2FK+vgevGu/sdk57CvawfSMyUzy3OMK\ndfFh3au7vHUHjmhYUQghxJGTwKoHKluqibPEdDmJure1Oh38fMmvg44VJI4I2SAZ4PrxV5Iek0pJ\nVRNLNh5i6SZ9vtXsiVmcPysPs8nI3Mmh14WTENv5ZPJw4qItPPOzOfzx7U2kxNtIjo9iSHLoNipO\ng8P34Ys05LZg3BUcaiol3hrcsxY4r8rro1X7SBzmL9fmdrBMK+T1lUtxVmUTPU1ftTcqKZ/LRs0H\n9ACvY8JMo8HIdz0bFh+O80ecxaS0cUGr8vqa0WBkVFI+da31pNpSur5ACCFEn5HAqhtq7LWsLl3P\nB3s/xWq08j+zf4PV1L3cTL1hb11wPqSHT/kNiVH6pPWbJy3g7Z3vU2WvYXj8UManjsXR5uTptzdT\nXqsPc504PpPrzw+d0BzJ3d+fhra/hsyUw9tXLtZm4d6rZ3ReyOjPv9UxX5WXd8+8QK0OJ8u3lIYc\nf3txIc/ePpu/7N2GdYSeiuIfJS9izQVXur8H7YaJV/fpJG7vBtRH221TbsSNWyaoCyFEP5PAqhue\n3fQKpU1lANiddh5d+yfuPeH2o5Js0ely8uKW14KOeYMqgIlp45iY5k/guXh9Ma9/6h8evOTUfC49\nU9HS1Ep3jR6WxOhhfZuh21w7HNL0dAsmQ/c/hrsO1oY9npEczartFTirsmFE8ObKxhg9xcCvT/wF\ncYN0r7zuTrQXQgjRtyQNcxfcbrcvqPIqbSrj8/1Ljsrrv7NrIa1OBwYMXK4u5t4Tft5pee+EbtCD\nqvNn5REX0/Mhvb6mhvrnXUXqsQpn54HwgZXNaqLZ3qYnHo0g3P6DQgghRG+SwKoLyw+tCn/84Crq\nWuv7/PWb2vRVateM+x5zck7yrSIrLm+kut4eVPbfX+2httGB1WzkpvnjOH9WXp/X73BZjf5gz9TF\n5HUvp8tFSWVz2HPN9nbanW7AgHHHGSHnTZ5tcoQQQoi+JIFVF7ZU+lfVxQYMI1Xaq7ln+e/QqneH\nXLOv/gAOZ+RtVUBf5efusDFxR//Q/sW68k0AjE8d4zte3+Tgt6+t4Y4/r2D3QX1vuIOVTfxneREA\nV52tukzm2d8sAYGVt8dK21/DRyvD768HcPcLX7NuZ3BWc28W+PpmB+1Ofd7W1adP8hdwG5mSPpGX\nLnyst6ouhBBCRCSBVSfcbjf7Gg6QZE3kuuw7aN05JaTMlqrtvL3zfR5f+yzv7lrIx0WLeGztM7y9\n898R7/vZvi+5bfHd3LH0/oibKDe3tbD04Ne+54EbEB+sbPL0zsDDr+ur3by9V+Pzkjll4rEdVEHw\nvn/eOVaPvrWBt78spKahlcXri/l09f6ga6rq/fPE0hL1lZn3XD2dSQWpONpcHCjX51KlJwbMozK4\nuHHi1cRFDc65VUIIIY4tElh1orCuiAZHI476BP787600VMRj33hqUJm61nq+LF5OUf1+Fh34in31\nBwBYUbKGQ4366rUGRyPLD66i0dFEm6vdt0ec3WmnqqWGcF7d9qbv8fSMyUGTk+2twVu2uN1umux6\nD9m00ekDYsjLYvCvqty4q5Jmu/89VdXZef3Tnfx90W4qPCsbXa7g3r37FszkriunkpMWy8R8fSNl\n7/wri8kIe2f29VsQQgghQsiqwE78d8+nANTs8ed9cjtsuNvNGMx6ILC+wybHmyu3+R5XtlSRHZfJ\nO7v+w9qyjexvKKa2tS6ofHN7M6AHBi3tLfxpw0tYjGYK64oA+M2JvyAzNnjrmeYOgdUPHl3sexxj\nO3ppII6ExWwGz9t47cNdNMz2B4MPv7HO93j5lhIumpNP4aHgdouLtvi228kdoq+StDv0zZdNJgM/\n+dbp/HGDhrP62O+9E0IIMXhIYBWBvd3OztpCEhhCWWPgfnkG3O0WX2DVmWbPdinFDXpagWVhJsJ7\n52IdbCzh4dVPhZwPl4y0rknfMyXWZqbJHlyPWNvA+CfNSo0B72JLt5H3lu4JW66kSp+svrvYH1j9\n7oYTg8rkpMdiANyA0WAgMdZKZkoM5xR9n4IJwQlAhRBCiL40MH4LH0V76/bx1PoXcLr13o+qQ/4k\nmVaLEUebCwydTzr3qmiupNpeQ2lzeci5vIThFNXv56uDX5NsSwq7NQ0Ez0XaVlTNonXFbNhVCcB1\n543l2fe2BJU3mQbG6G5SYFZ3d+Shy7Z2fQ6aN8B68PoTyE4Lni8VHWUmNdFGZZ2dtESbr9fuwtkj\nernWQgghROcksOrgb9p7vqAKoL0sF4BX7pqHtr+Wx/62AYPRGelyAC4qOI9/F35Ipb2aXTWhPTFx\nllhGJxdQVL+fdeWbsDtbyU/MCyk3K2smNlMUbe0ufvjEl0Hn0hJtjMgK7Y3JSj28bOlHmy0q8KMX\nObCqrGuhtrGV2kZ94npGUnTYct5tblISosKeF0IIIY4GCawCVLXUcLCxxPfcUTgR2mw8dsssDAYD\nY3KTeeTmWTyw5jOAoLlWgUYnFwCwtmwj0ebQQOCR2fexrmyj7/m2qh2+Pd7OH3EW5404K6j87uLg\nCe53XTmV3Mx4bFYzV39LER9tYWxeMmajkSjrwMjAbbOacNZkYIjpPBdYcUUTP392OUPTY4mOMkd8\nf955ZykJR3cfRyGEECKQBFYB3tzxtu+xfeNc3I4YTpmQSVqiPzhKT7Rh8Oxz53b651oNjx/K/gZ9\nT7rogHlRXwWkTPAyGAwUJPmHqUwGE41teqqAU7KD5w+1tjl5/O8bg455J20DzJua07M3eYywWc04\ndk1Dnxnl5xtu7aC4oqnT+3lXFcbHDIzJ+0IIIQangTEh5yj4+tAatJrduF0GWtafjtsRw5VnjuLa\nc8cElTMYDP45Vu3+uPTKMZf4HqfaUrhs1IVB131v9HeCnifbkrh67Hd9z71zrKym4O1n/v7FLgBM\nRgMLzh3DQx0mbg9UNl/PU/Aw4KM/nHVY97vq7NGYjAbG5iZ3XVgIIYToI93qsVJKnQg8qmnaaR2O\nXwDch75w/lVN015SSkUDbwAZQANwraZpFfSzxxa/RV1bPb8/++aw5xcXLwOgbe9EaLfyxK0ndz2s\n5PbHpUPjsjk7dx45cVmYjCZGJecHFQ3cONnrpKwZ2NtbeXvX+7S06/O2rEa9x6W8ppkPvt7Hss36\n0OSt35nA1FHp3XuzA0CUJXRIb/rodBLjorjk1HwKshN57G8bgs4PTY+c5HPOpGxmjc/EPEAm7wsh\nhBicugyslFJ3AlcDTR2OW4CngJmec8uVUguBK4EtmqY9oJS6HPg18NPernhPldoPYrdW0NrWRpQl\ndLioqqkelz0aa+Mwnrj9FN9WKeEYanJwJx/E1RyPMU5PA2AwGLiw4FxfGYsx+PqJaeM4O3ceU9In\nBB33zsfyMhn1zYTv/t+VQcfVsKTuvdEBwmgMnbDuHcaLtMfhebNyO72nBFVCCCH6W3d+ExUCF4c5\nPhbYrWlajaZpDmAZMAeYDXzsKfMRcGZvVPRIRRvjMBjgUF11yLmSpjLs7ibcDhs3nD+u06AKoH3f\nBOybZ+Nq0Cech9tE2GL0B29moxmjwciFBeeSmzAM0NMIOF0u4q1xIdd+3GErF9DnJA12Xb3HmC7+\nXYQQQoj+1uVvKk3T3lVK5YU5lQAEpsNuABI7HPce61Jycgxmc9+saEtPjyfWGkOtG9xWF+np+rCc\ny+Vi6b5VvLv9IwDi7SM5+5T8zm4FQFubAbc7DmdrDO1xtdw1/1LfPb3i2vyBVYzF5jvvdruZf8d/\nfOf+/fh8xmeMZlv5Ti4cczb7Kpv5YIV/I+KfXzkNp9PNkCFHluiyY/2ORSnJMZ3WM3tI4hG9j4HQ\nBn1N2kAn7SBtANIGIG0Avd8GR9IFUA8E1iYeqO1w3HusSzU1zUdQlcjS0+OpqGjA5NYDneKyavIT\nGgBYfnAVb2nv+soOIZ+KioYu7+n2LmRzG2nbN47myigqYvXrtP01PPveFq7+lvKVn511ku++xRWN\nQffavqucWyfc4Hv+3L+CE36OyUnAbDJ2q16ReNvgWJeRYA2q53XnjuHLjQfZW6Ifa21pPez3MVDa\noC9JG+ikHaQNQNoApA3gyNogUkB2JIHVN8AopVQK0AjMBZ4AcoHzgNXAucBXR/AavSbabIN2qGip\n5PlNr3LRyPPZUb3bd97VHMeZ0zufw9NRRlI05bUtvuSVAEs2HaLJ3s4L728je3YSNY5aTh8+B4C9\nJfU89NraoHsEbj58qLKJLXuqMJuM/OqqacTYzIN63tCCc8fw3pJCHr5pFkZj6FDgnMnZTCxI5efP\nLgcGzj6IQgghjl89DqyUUlcCcZqmvaiU+jnwCfpcrVc1TTuolHoeeE0ptQxwoE9m73fRFj2wWlT5\nXwD2NxzC3ubwnXfsnMak81O7da8bLxjHW5/tZO6UbN75spAXF27nxYXbGZmTGJT5+4KMq8jLsfmS\nhC7f4k8+mppgo6reTmubvhpwd3Gdb/PhedNywmZVH2zmTs5m7uTsTsskBGx9Ex01MJKfCiGEOH51\nK7DSNK0IOMnz+K2A4wuBhR3KNgOX9V4Ve0eMxQYt/uf1Dj3jd3v5UNr2jWNcbipGQ+StVQLNGp/J\nrPGZrNkRvAfg7oN1cND/3OmwMCQ2g9LqZpZuOsTX20p950YNTaRqu50XF27j5vnjfcNdAHlDZMzb\nK/DfJFyKBiGEEOJYctwss4q2hM9J5axLIyc1npsvnBD2fGfMps4DsdJqPZL7+xe72FxYBeiZxX92\n6WQOVTWxcnsZdY0O3vxsJ9NG+3NUSZLLYFd/S1Fdb9eTswohhBDHsME7gaeDOQUTcDWFDq+dXjCd\nh244kbjons/f8Q7jdXTWDD2lQnlNM2632xdUATjaXIzJTSYnzZ/ssriiiZoGfZ7WnVdMJS3CRsPH\nq3lTc7jk1IKuCwohhBD97LgJrNLjEnhg9u24mv3DbM6GJKaOyjjse9od4QOrKSP1uVqrvyln6aZD\nYcsU5CSSlqj3okVZTDS2tAGQ00l2cSGEEEIc246bwAogNSGa1q2nBB07kmG3SfnhJ7vHxfgnXL/z\nZWHYMmaTkUd+OIsxw5NobXOyYVclIPOIhBBCiIHsuAqszCYjT9x6Mo49+nwqZ/mwI7pfSoKNV+6a\nxzXnKGZPyvIdt5iN3P7dyQA0BaRTALj36um+x0ajgYvmBCcktZiPq38SIYQQYlA5biave6Uk2Bif\nOJnNa7K5aPaRz9sxGAycNiWH/KwE34bJyXFROJ2uoHL3XjOdnLTYkFxNKfFRQc9lgrYQQggxcB13\ngRXAzy6bzL7SBrLTYnrtnsMy4jh5QiYjshKIsppChvTCBVUAKYn+1Yq5kmZBCCGEGNCOy8AKIDez\nd4MYg8HADd8e53tu7RBYWSPsg2g0GHjhF6fSZG8nPkYyiwshhBAD2XEbWPW1uBgLNqsJu8OJ2WTE\naIw8xGe1mEICMSGEEEIMPDJTuo8YDQZfD5RMSBdCCCGOD/Ibvw/NGKPnyPr2yT3b3FkIIYQQA5MM\nBfahC07OY+qodAqyB/+GykIIIYSQwKpP2axmRuYk9nc1hBBCCHGUyFCgEEIIIUQvkcBKCCGEEKKX\nSGAlhBBCCNFLJLASQgghhOglElgJIYQQQvQSCayEEEIIIXqJBFZCCCGEEL1EAishhBBCiF4igZUQ\nQgghRC+RwEoIIYQQopdIYCWEEEII0UsMbre7v+sghBBCCDEoSI+VEEIIIUQvkcBKCCGEEKKXSGAl\nhBBCCNFLJLASQgghhOglElgJIYQQQvQSCayEEEKIQUwpZejvOhxPJLASQgxaSqnj9jtOKRWtlLL1\ndz360/H87++llEoCUvu7HseTAf+hU0r9QCl1tVJqSH/X5Wjz/hWilDpVKXVe4LHjjVLqJ0qp3yil\nTu/vuvQXpdQNSqlrlFLD+rsu/UkpNV8p9Xh/16M/KaVuA14BRvd3XfqLUuou4BGl1In9XZf+opS6\nHtgIzO/vuvQXpdSNSqnrlVJZR+s1B2xgpZRKUkp9CJwEKOB+pdQsz7kB+756QtM0b3bXW4FzlVJJ\nAceOC0qpZKXUR8B4YBdwj1LqlH6u1lGllEpUSn0CnIz+s3CbUiqzn6vVn2YAtyilRmua5lJKmfu7\nQkeLUipbKbUHyABu0TRtc8C54+KPLqVUrFLqNSAN+BeQFHDueGmD05RS/wVOAOqAVf1cpaNOKZWq\nlPocmAWMBe44Wn90DuQAxAbs1jTtRuB+YA3wKwBN01z9WbGjSSl1GTAKcAOX9XN1+kMW+ufgh5qm\n/R1YC9j7uU5HWxpQpGna9cALQCZQ3b9VOvoC/qCqA94CngfQNK293yp19FUCy4CVwK+UUk8rpX4E\nQX+IDXZm9M//a8CVwDyl1FVwXLXBNOBJTdNuBv6B/j15vEkGdnm+F3+H/j1ZcjReeEAEVgFDXjd7\nf0CAPGCUUipa0zQn8DbQqJS6IvCawSJCGwBsAG4HPgPGKaVUYPnBJEIbpKD/EvE6A2gNLD+YRGiD\nZOB9z+OfAN8GHlRK3eApOyB+znsi0s+DZz7JLE3TbgKylFJvK6VO66dq9qkIbRAPFAJ3e/77JjBf\nKfVLT9lB9Vno5HdDAfp3wTr0n40rlVK3e8oO5ja41nP4j5qmLVJKWYHT8PyhNRi/EyHi5yAJaFZK\n/Qo9sDoDfUTjGk/ZPvscDIgPWMBfGWeg/xVm1DRtJXovzS2ec83Ap0CuUsow2P4yCdcGnucHNU1b\nAmxB/+E5v0P5QaNDG9zj+Rws0zTtTQCl1FygUdO0rZ5yA+Lz3RMRfhbWapr2oef4f9G7vb8ErlVK\nRQ3GHtwI7eBC/6t0g1JqPtAGnAoshcH3SyVCG1Shfxe8omnaS5qmrUbv0Z+llLIMts9ChDbYhP77\n4HLgQ03TvgYeBuYcB21wp/dnwfOz7wCWA+d0KDuoRPpeBP4MTEH/43MqsBr4kVLK1pefg2P6F0/g\nPBHPL81KoBh41nP4N8A1SqkJnkYaBlQNpg9PhDY4APzRc9gBoGlaEfow2Gil1BlHuZp9qqs2UEqZ\nPKdHAs8opSYppf4JnH2069pXOvlZ8LaB92d5laZpZUA08Lmmaa1Hu659qZN2eNpzOBG9B/dC4Exg\nG/AADJ5fKp20wZ88hz8B3lRKxXuejwGWaZrWdlQr2oe68bvh9+jTRcZ7no8G1h8nbeD93eAdAt8B\nNCilYo6LoWmsAAAFb0lEQVRuDfteN74PqoAE9GHRCsACfKFpWp9OFzG43cfed41Saij6l2EGsBD4\nCD2ASAX2AbuBuZqm7VZK3QnkoHf9WoHfaJo24CfqdbMNTtE0ba9SyqxpWrvnQ3YesELTtB39U/Pe\n08M2MKB3+SvP8Wc1TfuoP+rdm3rYBvOB04Hh6L9UntA0bVF/1Lu3dbMd5miaVqiUmqpp2gbPdaOB\nEZqmfdIvFe9FPfwsXI4eXMYBJuBhTdOW9Ue9e1MPfzf8BD2wygWigAc1TfuyH6rdq3ryOfCUPxf4\nIXCjJ7gY8Hr4OXgBfXQrGX148AlN0z7vy/odqz1WC4BDwE/RJ93dBTRrmvaNpmnN6MuIn/KU/QN6\nz9XzmqadPRiCKo8FdL8NnACappVqmvbqYAiqPBbQdRt4/zqzoQ8D/UHTtPMHQ1DlsYCu28D719nH\n6D8Pb2madt5gCao8FtB5O7yK/t4JCKrMmqbtHAxBlccCuv9ZeA/4GfqQ4HmDIajyWED3vxefQ++9\nfFzTtHmDIajyWED32wDPd+ErgyWo8lhA9383/AR4FHhX07Rz+jqogmOox0opdR36JLtCYATwkKZp\ne5RSI4Gb0OcSPR1Qvhq4RtO0D/qjvn3hMNvgak3T/tsf9e0Lh9kG12ma9r5nTsGAH/qSnwWd/DzI\nZwGkDUB+FmBgfQ6OiR4rpdQjwLnof21NBq5F77oEfbz0c/RJ6SkBl10O7Dma9exLR9AGe49mPfvS\nEbTBboBBElQd9z8LID8PIJ8FkDYA+VmAgfc5OCYCK/QJpy9qmrYeffLhc+jLY6d4JpmVow/1NHpX\n9mia9qmmadv7rca9T9rg8NtgW7/VuPfJ50An7SBtANIGIG0AA6wN+j0jsWc103v4M8N+D/gP+pLh\np5VSN6Kv7kkFTJq+fHRQkTaQNgBpAy9pB2kDkDYAaQMYmG1wzMyxAlBKJaB36c3XNK1UKXUvegLI\nIcAdmqaV9msFjwJpA2kDkDbwknaQNgBpA5A2gIHTBv3eY9VBDnqjJSql/gRsBe7WBlHukW6QNpA2\nAGkDL2kHaQOQNgBpAxggbXCsBVZz0bdimAa8rnkyah9npA2kDUDawEvaQdoApA1A2gAGSBsca4GV\nA/g1egKvfh8n7SfSBtIGIG3gJe0gbQDSBiBtAAOkDY61wOqv2iDZduIISBtIG4C0gZe0g7QBSBuA\ntAEMkDY4piavCyGEEEIMZMdKHishhBBCiAFPAishhBBCiF4igZUQQgghRC+RwEoIIYQQopcca6sC\nhRCiS0qpPGAn4N0LLBpYgZ4ssKyT6xZrmjav72sohDheSY+VEGKgOqRp2hRN06YAY4BS4J0urjmt\nz2slhDiuSY+VEGLA0zTNrZS6HyhTSk0CbgMmoO8hthm4AngUQCm1StO0E5VS5wC/BSzAXuBGTdOq\n+uUNCCEGDemxEkIMCp5MzLuAiwCHpmmzgJFAEnCepmk/8ZQ7USmVDjwCfEvTtKnAJ3gCLyGEOBLS\nYyWEGEzcwAZgj1LqR+hDhKOAuA7lTgSGA4uVUgAmoPoo1lMIMUhJYCWEGBSUUlZAAfnAQ8DTwF+A\nNMDQobgJWKZp2nzPtTZCgy8hhOgxGQoUQgx4Sikj8CCwEigA/qlp2l+AWmAeeiAF4FRKmYFVwCyl\n1GjP8d8ATxzdWgshBiPpsRJCDFTZSqmNnscm9CHAK4ChwFtKqSsAB7AcGOEp9z6wCZgOXA/8Uyll\nAoqBq45i3YUQg5RswiyEEEII0UtkKFAIIYQQopdIYCWEEEII0UsksBJCCCGE6CUSWAkhhBBC9BIJ\nrIQQQggheokEVkIIIYQQvUQCKyGEEEKIXiKBlRBCCCFEL/l/7gxjI+7Yi0oAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x111f9a5f8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"data[['Returns', 'Strategy']].cumsum().apply(np.exp).plot(figsize=(10, 6));"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## In-Sample vs. Out-of-Sample"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [],
"source": [
"cutoff = '2015-1-1'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Training the Model"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [],
"source": [
"def get_training_data():\n",
" global training\n",
" training = data.loc[:cutoff].copy()\n",
" fc = {'lags': tf.constant(training[cols].values)}\n",
" la = tf.constant(np.where(training['Returns'] > 0, 1, 0))\n",
" return fc, la"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [],
"source": [
"model = tf.contrib.learn.DNNClassifier(hidden_units=[100, 100],\n",
" feature_columns=[fc])"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 4.23 s, sys: 209 ms, total: 4.44 s\n",
"Wall time: 2.18 s\n"
]
},
{
"data": {
"text/plain": [
"DNNClassifier(params={'head': <tensorflow.contrib.learn.python.learn.estimators.head._BinaryLogisticHead object at 0x11153f4a8>, 'hidden_units': [100, 100], 'feature_columns': (_RealValuedColumn(column_name='lags', dimension=10, default_value=None, dtype=tf.float32, normalizer=None),), 'optimizer': None, 'activation_fn': <function relu at 0x117c0e8c8>, 'dropout': None, 'gradient_clip_norm': None, 'embedding_lr_multipliers': None, 'input_layer_min_slice_size': None})"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%time model.fit(input_fn=get_training_data, steps=250)"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 163 ms, sys: 8.36 ms, total: 172 ms\n",
"Wall time: 162 ms\n"
]
}
],
"source": [
"%time pred = model.predict(input_fn=get_training_data)"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [],
"source": [
"# training.info()"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [],
"source": [
"training['Position'] = np.where(np.array(list(pred)) > 0, 1, -1)"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
" 1 1142\n",
"-1 106\n",
"Name: Position, dtype: int64"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"training['Position'].value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'accuracy': 0.58653843,\n",
" 'accuracy/baseline_label_mean': 0.55769229,\n",
" 'accuracy/threshold_0.500000_mean': 0.58653843,\n",
" 'auc': 0.61354995,\n",
" 'global_step': 250,\n",
" 'labels/actual_label_mean': 0.55769229,\n",
" 'labels/prediction_mean': 0.55788469,\n",
" 'loss': 0.67347383,\n",
" 'precision/positive_threshold_0.500000_mean': 0.57880908,\n",
" 'recall/positive_threshold_0.500000_mean': 0.94971263}"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model.evaluate(input_fn=get_training_data, steps=1)"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [],
"source": [
"training['Strategy'] = training['Position'] * training['Returns']"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x111e5ceb8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"training[['Returns', 'Strategy']].cumsum().apply(np.exp).plot(figsize=(10, 6));"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Testing the Model"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [],
"source": [
"def get_test_data():\n",
" global test\n",
" test = data.loc[cutoff:].copy()\n",
" fc = {'lags': tf.constant(test[cols].values)}\n",
" la = tf.constant(np.where(test['Returns'] > 0, 1, 0))\n",
" return fc, la"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 160 ms, sys: 8.77 ms, total: 168 ms\n",
"Wall time: 158 ms\n"
]
}
],
"source": [
"%time pred = model.predict(input_fn=get_test_data)"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [],
"source": [
"test['Position'] = np.where(np.array(list(pred)) > 0, 1, -1)"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
" 1 660\n",
"-1 54\n",
"Name: Position, dtype: int64"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"test['Position'].value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'accuracy': 0.52661067,\n",
" 'accuracy/baseline_label_mean': 0.52661067,\n",
" 'accuracy/threshold_0.500000_mean': 0.52661067,\n",
" 'auc': 0.50460315,\n",
" 'global_step': 250,\n",
" 'labels/actual_label_mean': 0.52661067,\n",
" 'labels/prediction_mean': 0.55635786,\n",
" 'loss': 0.69572294,\n",
" 'precision/positive_threshold_0.500000_mean': 0.52878785,\n",
" 'recall/positive_threshold_0.500000_mean': 0.92819148}"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model.evaluate(input_fn=get_test_data, steps=1)"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [],
"source": [
"test['Strategy'] = test['Position'] * test['Returns']"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x18266216d8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"test[['Returns', 'Strategy']].cumsum().apply(np.exp).plot(figsize=(10, 6));"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<img src='http://hilpisch.com/tpq_logo.png' width=\"300px\" align=\"right\">"
]
}
],
"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.3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
#
# Simple Tick Data Client with ZeroMQ
#
import zmq
import datetime
context = zmq.Context()
socket = context.socket(zmq.SUB)
socket.connect('tcp://127.0.0.1:5555')
socket.setsockopt_string(zmq.SUBSCRIBE, 'AAPL')
while True:
msg = socket.recv_string()
t = datetime.datetime.now()
print('%s | ' % str(t), msg)
#
# Simple Tick Data Collector with ZeroMQ & pandas
#
import zmq
import datetime
import pandas as pd
context = zmq.Context()
socket = context.socket(zmq.SUB)
socket.connect('tcp://127.0.0.1:5555')
socket.setsockopt_string(zmq.SUBSCRIBE, 'AAPL')
raw = pd.DataFrame()
i = 0
while True:
msg = socket.recv_string()
i += 1
t = datetime.datetime.now()
print('%s | ' % str(t), msg)
sym, value = msg.split()
raw = raw.append(pd.DataFrame({sym: float(value)}, index=[t]))
resam = raw.resample('5s', label='right').last()
if i % 10 == 0:
print('\n', resam.tail(3), '\n')
#
# Simple Tick Data Server with ZeroMQ
#
import zmq
import time
import random
context = zmq.Context()
socket = context.socket(zmq.PUB)
socket.bind('tcp://127.0.0.1:5555')
AAPL = 100.
while True:
AAPL += random.gauss(0, 1) * 0.5
msg = 'AAPL %.4f' % AAPL
socket.send_string(msg)
print(msg)
time.sleep(random.random() * 2)
#
# Simple Tick Data Collector with ZeroMQ & pandas
#
import zmq
import datetime
import pandas as pd
context = zmq.Context()
socket = context.socket(zmq.SUB)
socket.connect('tcp://127.0.0.1:5555')
socket.setsockopt_string(zmq.SUBSCRIBE, 'AAPL')
raw = pd.DataFrame()
i = 0
position = 0
while True:
msg = socket.recv_string()
i += 1
t = datetime.datetime.now()
print('%s | ' % str(t), msg)
sym, value = msg.split()
raw = raw.append(pd.DataFrame({sym: float(value)}, index=[t]))
resam = raw.resample('5s', label='right').last()
resam['SMA1'] = resam[sym].rolling(3).mean()
resam['SMA2'] = resam[sym].rolling(6).mean()
if i % 10 == 0:
print('\n', resam.tail(3), '\n')
if len(resam) > 6:
if resam['SMA1'].iloc[-2] > resam['SMA2'].iloc[-2] and position in [0, -1]:
print('\ngoing long the market\n')
position = 1
# place trading logic here
if resam['SMA1'].iloc[-2] < resam['SMA2'].iloc[-2] and position in [0, 1]:
print('\ngoing short the market\n')
position = -1
# place trading logic here
#
# tpqoa is a wrapper class for the
# Oanda v20 API (RESTful & streaming)
# (c) Dr. Yves J. Hilpisch
# The Python Quants GmbH
#
# dependencies:
# pip install v20
# conda install pyyaml
#
import v20
import pandas as pd
import datetime as dt
import configparser
class tpqoa(object):
''' tpqoa is a Python wrapper class for the Oanda v20 API. '''
def __init__(self, conf_file):
''' Init function expecting a configuration file with
the following content:
[oanda_v20]
account_id = XYZ-ABC-...
access_token = ZYXCAB...
Parameters
==========
conf_file: string
path to and filename of the configuration file, e.g. '/home/me/oanda.cfg'
'''
self.config = configparser.ConfigParser()
self.config.read(conf_file)
self.access_token = self.config['oanda_v20']['access_token']
self.account_id = self.config['oanda_v20']['account_id']
self.ctx = v20.Context(
hostname='api-fxpractice.oanda.com',
port=443,
ssl=True,
application='sample_code',
token=self.access_token,
datetime_format='RFC3339')
self.ctx_stream = v20.Context(
hostname='stream-fxpractice.oanda.com',
port=443,
ssl=True,
application='sample_code',
token=self.access_token,
datetime_format='RFC3339'
)
self.suffix = '.000000000Z'
def get_instruments(self):
''' Retrieves and returns all instruments for the given account. '''
resp = self.ctx.account.instruments(self.account_id)
instruments = resp.get('instruments')
instruments = [ins.dict() for ins in instruments]
instruments = [(ins['displayName'], ins['name'])
for ins in instruments]
return instruments
def transform_datetime(self, dt):
''' Transforms Python datetime object to string. '''
if isinstance(dt, str):
dt = pd.Timestamp(dt).to_pydatetime()
return dt.isoformat('T') + self.suffix
def retrieve_data(self, instrument, start, end, granularity, price):
raw = self.ctx.instrument.candles(
instrument=instrument,
fromTime=start, toTime=end,
granularity=granularity, price=price)
raw = raw.get('candles')
raw = [cs.dict() for cs in raw]
for cs in raw:
cs.update(cs['ask'])
del cs['ask']
if len(raw) == 0:
return pd.DataFrame() # return empty DataFrame is no data
data = pd.DataFrame(raw)
data['time'] = pd.to_datetime(data['time'])
data = data.set_index('time')
data.index = pd.DatetimeIndex(data.index)
for col in list('ohlc'):
data[col] = data[col].astype(float)
return data
def get_history(self, instrument, start, end,
granularity, price):
''' Retrieves historical data for instrument.
Parameters
==========
instrument: string
valid instrument name
start, end: datetime, str
Python datetime or string objects for start and end
granularity: string
a string like 'S5', 'M1' or 'D'
price: string
one of 'A' (ask) or 'B' (bid)
Returns
=======
data: pd.DataFrame
pandas DataFrame object with data
'''
if granularity.startswith('S'):
data = pd.DataFrame()
dr = pd.date_range(start, end, freq='4h')
for t in range(len(dr) - 1):
start = self.transform_datetime(dr[t])
end = self.transform_datetime(dr[t + 1])
batch = self.retrieve_data(instrument, start, end,
granularity, price)
data = data.append(batch)
else:
start = self.transform_datetime(start)
end = self.transform_datetime(end)
data = self.retrieve_data(instrument, start, end,
granularity, price)
return data[['o', 'h', 'l', 'c', 'complete', 'volume']]
def create_order(self, instrument, units):
''' Places order with Oanda.
Parameters
==========
instrument: string
valid instrument name
units: int
number of units of instrument to be bought (positive int, eg 'units=50')
or to be sold (negative int, eg 'units=-100')
'''
request = self.ctx.order.market(
self.account_id,
instrument=instrument,
units=units,
)
order = request.get('orderFillTransaction')
print('\n\n', order.dict(), '\n')
def stream_data(self, instrument, stop=None):
''' Starts a real-time data stream.
Parameters
==========
instrument: string
valid instrument name
'''
self.stream_instrument = instrument
self.ticks = 0
response = self.ctx_stream.pricing.stream(
self.account_id, snapshot=True,
instruments=instrument)
for msg_type, msg in response.parts():
# print(msg_type, msg)
if msg_type == 'pricing.Price':
self.ticks +=1
self.on_success(msg.time,
float(msg.bids[0].price),
float(msg.asks[0].price))
if stop is not None:
if self.ticks >= stop:
break
def on_success(self, time, bid, ask):
''' Method called when new data is retrieved. '''
print(time, bid, ask)
def get_account_summary(self, detailed=False):
''' Returns summary data for Oanda account.'''
if detailed is True:
response = self.ctx.account.get(self.account_id)
else:
response = self.ctx.account.summary(self.account_id)
raw = response.get('account')
return raw.dict()
def get_transactions(self, tid=0):
''' Retrieves and returns transactions data. '''
response = self.ctx.transaction.since(self.account_id, id=tid)
transactions = response.get('transactions')
transactions = [t.dict() for t in transactions]
return transactions
def print_transactions(self, tid=0):
''' Prints basic transactions data. '''
transactions = self.get_transactions(tid)
for trans in transactions:
templ = '%5s | %s | %9s | %12s'
print(templ % (trans['id'],
trans['time'],
trans['instrument'],
trans['units']))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment