diff --git "a/pythonanalysis.ipynb" "b/pythonanalysis.ipynb" new file mode 100644--- /dev/null +++ "b/pythonanalysis.ipynb" @@ -0,0 +1,5672 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "source": [ + "# **Data Analysis & Visualization**" + ], + "metadata": { + "id": "rXD0DerjACNL" + } + }, + { + "cell_type": "markdown", + "source": [ + "## 1. Install required packages" + ], + "metadata": { + "id": "L2_Ii1X0ANbi" + } + }, + { + "cell_type": "code", + "source": [ + "!pip install -q pandas numpy matplotlib seaborn scikit-learn vaderSentiment torch" + ], + "metadata": { + "id": "G9Jn1lYPEAlg" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2. Load and inspect datasets" + ], + "metadata": { + "id": "A5wn83GxAoG3" + } + }, + { + "cell_type": "markdown", + "source": [ + "### a. Initial setup" + ], + "metadata": { + "id": "m-3zieMXEVRc" + } + }, + { + "cell_type": "code", + "source": [ + "# Core libraries\n", + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "# Visualization\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "# Machine Learning\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.ensemble import RandomForestClassifier\n", + "from sklearn.metrics import (\n", + " accuracy_score,\n", + " classification_report,\n", + " confusion_matrix\n", + ")\n", + "\n", + "# Sentiment Analysis\n", + "from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer\n", + "\n", + "# Deep Learning (LSTM)\n", + "import torch\n", + "import torch.nn as nn\n", + "\n", + "# Settings\n", + "pd.set_option(\"display.max_columns\", None)\n", + "\n", + "# Matplotlib export settings for Hugging Face / saved PNGs\n", + "plt.rcParams.update({\n", + " \"figure.facecolor\": \"white\",\n", + " \"axes.facecolor\": \"white\",\n", + " \"savefig.facecolor\": \"white\",\n", + " \"savefig.edgecolor\": \"none\",\n", + " \"text.color\": \"black\",\n", + " \"axes.labelcolor\": \"black\",\n", + " \"axes.edgecolor\": \"black\",\n", + " \"xtick.color\": \"black\",\n", + " \"ytick.color\": \"black\",\n", + "})" + ], + "metadata": { + "id": "E00YMWKiEbSI" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### b. Create the df_real dataframe from the final_real_dataset.csv" + ], + "metadata": { + "id": "cDKvBgvJEd1d" + } + }, + { + "cell_type": "code", + "source": [ + "df_real = pd.read_csv(\"final_real_dataset.csv\")" + ], + "metadata": { + "id": "KwH-Apd5En-w" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### c. Create the df_synth dataframe from the final_synthetic_dataset.csv" + ], + "metadata": { + "id": "LHxe-doRErDC" + } + }, + { + "cell_type": "code", + "source": [ + "df_synth = pd.read_csv(\"final_synthetic_dataset.csv\")" + ], + "metadata": { + "id": "dJSeNhkZEzg2" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### d. Visualize the first few lines of both datasets" + ], + "metadata": { + "id": "ZhSk7ckKFB9F" + } + }, + { + "cell_type": "code", + "source": [ + "print(\"Real dataset preview:\")\n", + "display(df_real.head())\n", + "\n", + "print(\"\\nSynthetic dataset preview:\")\n", + "display(df_synth.head())" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 554 + }, + "id": "2iWWSJlGFGxP", + "outputId": "0f802e0b-555e-4f37-be73-8d4d75ad7247" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Real dataset preview:\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + " date close ticker headline_count \\\n", + "0 2026-04-06 258.859985 AAPL 13 \n", + "1 2026-04-07 253.500000 AAPL 29 \n", + "2 2026-04-08 258.899994 AAPL 26 \n", + "3 2026-04-09 260.489990 AAPL 7 \n", + "4 2026-04-10 260.480011 AAPL 22 \n", + "\n", + " headlines_text next_day_return \n", + "0 Jack Dorseys Bitchat Removed From Apple Store ... -0.020706 \n", + "1 Apple's iPhone sales continue to surge as iPho... 0.021302 \n", + "2 Warren Buffett Is Retired. His Latest Advice C... 0.006141 \n", + "3 Is Qualcomm Stock A Cheap Cash Machine With Bi... -0.000038 \n", + "4 TSMC's Q1 revenue jumps 35% y/y, beats market ... NaN " + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
dateclosetickerheadline_countheadlines_textnext_day_return
02026-04-06258.859985AAPL13Jack Dorseys Bitchat Removed From Apple Store ...-0.020706
12026-04-07253.500000AAPL29Apple's iPhone sales continue to surge as iPho...0.021302
22026-04-08258.899994AAPL26Warren Buffett Is Retired. His Latest Advice C...0.006141
32026-04-09260.489990AAPL7Is Qualcomm Stock A Cheap Cash Machine With Bi...-0.000038
42026-04-10260.480011AAPL22TSMC's Q1 revenue jumps 35% y/y, beats market ...NaN
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"display(df_synth\",\n \"rows\": 5,\n \"fields\": [\n {\n \"column\": \"date\",\n \"properties\": {\n \"dtype\": \"object\",\n \"num_unique_values\": 5,\n \"samples\": [\n \"2026-04-07\",\n \"2026-04-10\",\n \"2026-04-08\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"close\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 2.8790409470864153,\n \"min\": 253.5,\n \"max\": 260.489990234375,\n \"num_unique_values\": 5,\n \"samples\": [\n 253.5,\n 260.4800109863281,\n 258.8999938964844\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ticker\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"AAPL\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"headline_count\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9,\n \"min\": 7,\n \"max\": 29,\n \"num_unique_values\": 5,\n \"samples\": [\n 29\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"headlines_text\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 5,\n \"samples\": [\n \"Apple's iPhone sales continue to surge as iPhone 17 outpaces iPhone 16 || Apple Foldable iPhone Faces Delay Risk || Warren Buffett says he sold Apple stock too soon and would like to buy more of it, 'but not in this market' || 1 chart reveals how 'Magnificent 7' fortunes have fallen || FTSE 100 Live: Defence stocks lead decline as Trump's Iran deadline looms || Tech valuations settle down, offering new opportunity for investors || Nasdaq opens in red as Iran says 'restraint is ended' ahead of Trump deadline || Apple Stock Drags Down the Dow || Apple shares plunge 4% as foldable iPhone delays, App Store slump weigh on AAPL || The Dow Tests a Key Technical Threshold. Watching Apple, Home Depot Stocks. || The dividend yield on the S&P 500 is now at 50-year lows. Here's the biggest problem. || Apple shares fall on reported foldable iPhone delay || High Growth, Lower Valuations: Why Goldman Sachs Now Sees 'Opportunity' in Tech Stocks || Apple Stock Drops on Foldable iPhone Delay Fears || Worries That Apple's Foldable Phone Is Delayed Are Hitting the Tech Giant's Stock || Anthropic touts AI cybersecurity project with Big Tech partners || Anthropic launches cybersecurity partnership with Nvidia, Microsoft, other tech giants after latest AI model finds 'thousands' of previously unknown bugs || Anthropic launches cybersecurity partnership with Amazon, Apple, Google, Microsoft, Nvidia, and others || Josh Brown on Apple: Close your eyes and buy it || Nasdaq leads markets lower as Iran says 'restraint is ended' ahead of Trump deadline || Apple Stock Lower on Mixed Foldable iPhone Reports || Apple's global sales for iPhone 17 surged in February || Apples Foldable iPhone Remains on Track for September Debut || Apple's Foldable iPhone Might Not Be Ready in Time || Dow Jones Futures: Stocks Whipsaw Into Trump's Iran War Deadline; Apple, Tesla Slump || Apple's stock pares losses. Here's how to think about the latest saga with foldable iPhones. || Apple Foldable Timeline Slips On Engineering Challenges || Samsung Display secures exclusive Apple foldable OLED orders, partners poised to benefit || Apple's foldable iPhone reportedly still on track for September launch despite engineering hurdles\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"next_day_return\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.01740696731083936,\n \"min\": -0.0207061178045073,\n \"max\": 0.0213017510709443,\n \"num_unique_values\": 4,\n \"samples\": [\n 0.0213017510709443\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\n", + "Synthetic dataset preview:\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + " ticker date close headline_count market_attention_score \\\n", + "0 AAPL 2026-04-06 258.859985 13 29.57 \n", + "1 AAPL 2026-04-07 253.500000 29 59.73 \n", + "2 AAPL 2026-04-08 258.899994 26 57.41 \n", + "3 AAPL 2026-04-09 260.489990 7 22.20 \n", + "4 AAPL 2026-04-10 260.480011 22 44.66 \n", + "\n", + " sentiment_label avg_synthetic_return synthetic_volatility \\\n", + "0 neutral 0.000290 0.008071 \n", + "1 positive 0.007028 0.012363 \n", + "2 positive 0.008240 0.012922 \n", + "3 neutral 0.001543 0.009618 \n", + "4 neutral 0.000151 0.017220 \n", + "\n", + " final_synthetic_close synthetic_headline_count positive_headline_count \\\n", + "0 259.53 10 3 \n", + "1 271.70 10 5 \n", + "2 280.83 10 5 \n", + "3 264.43 10 2 \n", + "4 260.53 10 1 \n", + "\n", + " neutral_headline_count negative_headline_count \\\n", + "0 6 1 \n", + "1 4 1 \n", + "2 4 1 \n", + "3 6 2 \n", + "4 7 2 \n", + "\n", + " synthetic_headlines_text \n", + "0 Investors await upcoming earnings release || A... \n", + "1 Investors reward strong operating performance ... \n", + "2 Company sees modest changes in recent activity... \n", + "3 Analysts note both opportunities and risks || ... \n", + "4 Stock holds near prior closing levels || Compa... " + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
tickerdatecloseheadline_countmarket_attention_scoresentiment_labelavg_synthetic_returnsynthetic_volatilityfinal_synthetic_closesynthetic_headline_countpositive_headline_countneutral_headline_countnegative_headline_countsynthetic_headlines_text
0AAPL2026-04-06258.8599851329.57neutral0.0002900.008071259.5310361Investors await upcoming earnings release || A...
1AAPL2026-04-07253.5000002959.73positive0.0070280.012363271.7010541Investors reward strong operating performance ...
2AAPL2026-04-08258.8999942657.41positive0.0082400.012922280.8310541Company sees modest changes in recent activity...
3AAPL2026-04-09260.489990722.20neutral0.0015430.009618264.4310262Analysts note both opportunities and risks || ...
4AAPL2026-04-10260.4800112244.66neutral0.0001510.017220260.5310172Stock holds near prior closing levels || Compa...
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"display(df_synth\",\n \"rows\": 5,\n \"fields\": [\n {\n \"column\": \"ticker\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"AAPL\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"date\",\n \"properties\": {\n \"dtype\": \"object\",\n \"num_unique_values\": 5,\n \"samples\": [\n \"2026-04-07\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"close\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 2.8790409470864153,\n \"min\": 253.5,\n \"max\": 260.489990234375,\n \"num_unique_values\": 5,\n \"samples\": [\n 253.5\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"headline_count\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9,\n \"min\": 7,\n \"max\": 29,\n \"num_unique_values\": 5,\n \"samples\": [\n 29\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"market_attention_score\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 16.604912827232788,\n \"min\": 22.2,\n \"max\": 59.73,\n \"num_unique_values\": 5,\n \"samples\": [\n 59.73\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"sentiment_label\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 2,\n \"samples\": [\n \"positive\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"avg_synthetic_return\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.003881102717012244,\n \"min\": 0.000151,\n \"max\": 0.00824,\n \"num_unique_values\": 5,\n \"samples\": [\n 0.0070279999999999\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"synthetic_volatility\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.0035116733793595467,\n \"min\": 0.0080714723976896,\n \"max\": 0.0172198041349036,\n \"num_unique_values\": 5,\n \"samples\": [\n 0.0123625481012433\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"final_synthetic_close\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 8.899571899816308,\n \"min\": 259.53,\n \"max\": 280.83,\n \"num_unique_values\": 5,\n \"samples\": [\n 271.7\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"synthetic_headline_count\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 10,\n \"max\": 10,\n \"num_unique_values\": 1,\n \"samples\": [\n 10\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"positive_headline_count\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 1,\n \"min\": 1,\n \"max\": 5,\n \"num_unique_values\": 4,\n \"samples\": [\n 5\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"neutral_headline_count\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 1,\n \"min\": 4,\n \"max\": 7,\n \"num_unique_values\": 3,\n \"samples\": [\n 6\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"negative_headline_count\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 1,\n \"max\": 2,\n \"num_unique_values\": 2,\n \"samples\": [\n 2\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"synthetic_headlines_text\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 5,\n \"samples\": [\n \"Investors reward strong operating performance || Shares move higher on bullish sentiment || Company shares trade mostly flat after market open || Market reaction remains muted after company update || Shares remain range-bound in recent session || Firm beats expectations on both revenue and earnings || Analysts highlight downside risks for stock || Business posts solid year-over-year growth || Shares increase as margins beat estimates || Firm announces routine operational update\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### e. Check dataset shapes" + ], + "metadata": { + "id": "zBTQBZa6GawW" + } + }, + { + "cell_type": "code", + "source": [ + "print(\"Real dataset shape:\", df_real.shape)\n", + "print(\"Synthetic dataset shape:\", df_synth.shape)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "JEQhA-soGpAo", + "outputId": "89e954e3-e3a5-424a-df4c-af671e17f540" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Real dataset shape: (50, 6)\n", + "Synthetic dataset shape: (50, 14)\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### f. Convert date columns" + ], + "metadata": { + "id": "tqjZQ4CLn_HQ" + } + }, + { + "cell_type": "code", + "source": [ + "df_real[\"date\"] = pd.to_datetime(df_real[\"date\"], errors=\"coerce\")\n", + "df_synth[\"date\"] = pd.to_datetime(df_synth[\"date\"], errors=\"coerce\")" + ], + "metadata": { + "id": "Fw_2jodooBvo" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### g. Check for missing values" + ], + "metadata": { + "id": "uqpJPDyHoDD7" + } + }, + { + "cell_type": "code", + "source": [ + "print(\"Missing values in real dataset:\")\n", + "display(df_real.isna().sum())\n", + "\n", + "print(\"\\nMissing values in synthetic dataset:\")\n", + "display(df_synth.isna().sum())" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 830 + }, + "id": "MJmZ4zShoFG2", + "outputId": "27315990-7bc0-4ac1-8c6d-47c679db60e4" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Missing values in real dataset:\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "date 0\n", + "close 0\n", + "ticker 0\n", + "headline_count 0\n", + "headlines_text 6\n", + "next_day_return 10\n", + "dtype: int64" + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
0
date0
close0
ticker0
headline_count0
headlines_text6
next_day_return10
\n", + "

" + ] + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\n", + "Missing values in synthetic dataset:\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "ticker 0\n", + "date 0\n", + "close 0\n", + "headline_count 0\n", + "market_attention_score 0\n", + "sentiment_label 0\n", + "avg_synthetic_return 0\n", + "synthetic_volatility 0\n", + "final_synthetic_close 0\n", + "synthetic_headline_count 0\n", + "positive_headline_count 0\n", + "neutral_headline_count 0\n", + "negative_headline_count 0\n", + "synthetic_headlines_text 0\n", + "dtype: int64" + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
0
ticker0
date0
close0
headline_count0
market_attention_score0
sentiment_label0
avg_synthetic_return0
synthetic_volatility0
final_synthetic_close0
synthetic_headline_count0
positive_headline_count0
neutral_headline_count0
negative_headline_count0
synthetic_headlines_text0
\n", + "

" + ] + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### h. Quick sanity checks" + ], + "metadata": { + "id": "mMeAyRChoLZN" + } + }, + { + "cell_type": "code", + "source": [ + "print(\"Unique tickers (real):\", df_real[\"ticker\"].nunique())\n", + "print(\"Unique tickers (synthetic):\", df_synth[\"ticker\"].nunique())\n", + "\n", + "print(\"\\nDate range (real):\")\n", + "print(df_real[\"date\"].min(), \"to\", df_real[\"date\"].max())\n", + "\n", + "print(\"\\nDate range (synthetic):\")\n", + "print(df_synth[\"date\"].min(), \"to\", df_synth[\"date\"].max())" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "J344m0FKoOd_", + "outputId": "f325c230-461c-4047-f39c-01cb1a3703d2" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Unique tickers (real): 10\n", + "Unique tickers (synthetic): 10\n", + "\n", + "Date range (real):\n", + "2026-04-06 00:00:00 to 2026-04-10 00:00:00\n", + "\n", + "Date range (synthetic):\n", + "2026-04-06 00:00:00 to 2026-04-10 00:00:00\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### i. Basic data cleaning" + ], + "metadata": { + "id": "hTA74o1Uog2S" + } + }, + { + "cell_type": "code", + "source": [ + "# -----------------------------\n", + "# Clean REAL dataset\n", + "# -----------------------------\n", + "\n", + "# Ensure text columns are strings\n", + "df_real[\"headlines_text\"] = df_real[\"headlines_text\"].astype(str)\n", + "\n", + "# Fill missing headline text\n", + "df_real[\"headlines_text\"] = df_real[\"headlines_text\"].fillna(\"\")\n", + "\n", + "# Fill missing headline counts\n", + "df_real[\"headline_count\"] = df_real[\"headline_count\"].fillna(0)\n", + "\n", + "# Drop rows with missing close prices\n", + "df_real = df_real.dropna(subset=[\"close\"])\n", + "\n", + "\n", + "# -----------------------------\n", + "# Clean SYNTHETIC dataset\n", + "# -----------------------------\n", + "\n", + "df_synth[\"synthetic_headlines_text\"] = df_synth[\"synthetic_headlines_text\"].astype(str)\n", + "df_synth[\"synthetic_headlines_text\"] = df_synth[\"synthetic_headlines_text\"].fillna(\"\")\n", + "\n", + "df_synth[\"synthetic_headline_count\"] = df_synth[\"synthetic_headline_count\"].fillna(0)\n", + "\n", + "\n", + "print(\"Cleaning completed.\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "BwtR4yYMojYo", + "outputId": "d115ac85-ed98-4e28-e2af-c275399c3452" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Cleaning completed.\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## 3. VADER sentiment analysis" + ], + "metadata": { + "id": "WhsDH6ecA5hu" + } + }, + { + "cell_type": "markdown", + "source": [ + "### a. Define sentiment scoring function" + ], + "metadata": { + "id": "ce4zPWyJOjxm" + } + }, + { + "cell_type": "code", + "source": [ + "analyzer = SentimentIntensityAnalyzer()\n", + "\n", + "def get_vader_scores(text):\n", + " \"\"\"\n", + " Apply VADER sentiment analysis to a given text.\n", + " Returns a dictionary with sentiment scores.\n", + " \"\"\"\n", + " return analyzer.polarity_scores(text)" + ], + "metadata": { + "id": "rMzE45RmOoim" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### b. Apply VADER to real dataset" + ], + "metadata": { + "id": "n6GjiVVxpctA" + } + }, + { + "cell_type": "code", + "source": [ + "# Apply VADER to headlines_text\n", + "vader_scores = df_real[\"headlines_text\"].apply(get_vader_scores)\n", + "\n", + "# Convert dictionary output into columns\n", + "vader_df = pd.DataFrame(vader_scores.tolist())\n", + "\n", + "# Merge back into df_real\n", + "df_real = pd.concat([df_real, vader_df], axis=1)\n", + "\n", + "print(\"VADER scores added to real dataset.\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "9aC-z6NVpg1H", + "outputId": "9d5dc9cd-b0ff-43c7-f189-4f2a1b5cc97e" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "VADER scores added to real dataset.\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### c. Create VADER-based sentiment label" + ], + "metadata": { + "id": "e9H0D-Ltpi6J" + } + }, + { + "cell_type": "code", + "source": [ + "def vader_label(compound_score):\n", + " if compound_score >= 0.05:\n", + " return \"positive\"\n", + " elif compound_score <= -0.05:\n", + " return \"negative\"\n", + " else:\n", + " return \"neutral\"\n", + "\n", + "df_real[\"sentiment_label_vader\"] = df_real[\"compound\"].apply(vader_label)\n", + "\n", + "df_real[[\"headlines_text\", \"compound\", \"sentiment_label_vader\"]].head(10)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 363 + }, + "id": "RtFuE17TpmT8", + "outputId": "a9c06926-e22c-424d-f767-309d3f26d9e1" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " headlines_text compound \\\n", + "0 Jack Dorseys Bitchat Removed From Apple Store ... 0.7783 \n", + "1 Apple's iPhone sales continue to surge as iPho... -0.9025 \n", + "2 Warren Buffett Is Retired. His Latest Advice C... 0.5806 \n", + "3 Is Qualcomm Stock A Cheap Cash Machine With Bi... 0.7346 \n", + "4 TSMC's Q1 revenue jumps 35% y/y, beats market ... 0.6187 \n", + "5 nan 0.0000 \n", + "6 Anthropic launches cybersecurity partnership w... -0.1082 \n", + "7 Uber deploys AWS custom chips to scale AI and ... 0.9484 \n", + "8 Amazon cloud unit's AI revenue run rate exceed... 0.9775 \n", + "9 Amazon CEO Andy Jassy takes a shot at Nvidia, ... 0.9596 \n", + "\n", + " sentiment_label_vader \n", + "0 positive \n", + "1 negative \n", + "2 positive \n", + "3 positive \n", + "4 positive \n", + "5 neutral \n", + "6 negative \n", + "7 positive \n", + "8 positive \n", + "9 positive " + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
headlines_textcompoundsentiment_label_vader
0Jack Dorseys Bitchat Removed From Apple Store ...0.7783positive
1Apple's iPhone sales continue to surge as iPho...-0.9025negative
2Warren Buffett Is Retired. His Latest Advice C...0.5806positive
3Is Qualcomm Stock A Cheap Cash Machine With Bi...0.7346positive
4TSMC's Q1 revenue jumps 35% y/y, beats market ...0.6187positive
5nan0.0000neutral
6Anthropic launches cybersecurity partnership w...-0.1082negative
7Uber deploys AWS custom chips to scale AI and ...0.9484positive
8Amazon cloud unit's AI revenue run rate exceed...0.9775positive
9Amazon CEO Andy Jassy takes a shot at Nvidia, ...0.9596positive
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"df_real[[\\\"headlines_text\\\", \\\"compound\\\", \\\"sentiment_label_vader\\\"]]\",\n \"rows\": 10,\n \"fields\": [\n {\n \"column\": \"headlines_text\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 10,\n \"samples\": [\n \"Amazon cloud unit's AI revenue run rate exceeds $15 billion, CEO says || Microsoft Stocks Path To $450 || Amazon Pharmacy to Offer Eli Lilly and Company's New GLP-1 Pill Foundayo via Same-Day Delivery || 3 charts reveal Big Tech's biggest problem this earnings season || Factbox-From OpenAI to Nvidia, firms channel billions into AI infrastructure as demand booms || Amazon's CEO doubles down on AI spending: 'We are not going to be conservative' || Amazon CEO Releases His Shareholder Letter. He Has One Message on AI. || Amazons Jassy says AI revenue run rate is over $15 Bln, hints at future chip sale || AI is supercharging the cybersecurity fight || 'Superyacht' Sales Are Rising Again. Who's Buying and How Much They Cost. || Amazon CEO takes aim at Nvidia, Intel, Starlink, more in annual shareholder letter || Amazon CEO Jassy says company could sell AI chips, raising stakes for Nvidia, AMD || Amazon CEO Says AI Chip Business Is Booming. It Could Be as Big as Broadcom. || Amazon CEO Andy Jassy defends AI spending spree in shareholder letter || Amazon vs Nvidia? CEO floats future chip business to shareholders || Amazon Is Considering Selling Its AI Chips to Other Companies || Amazon CEO Andy Jassy defends AI investment plan in annual letter to shareholders || Big Tech ETF rises as Amazon posts biggest gains in its portfolio || Morgan Stanley survey shows modest improvement in 2026 IT budget expectations || Amazon Stock Rises -- CEO Says AI Business Has Hit $15 Billion Run Rate || Amazon to sell new weight-loss pill Foundayo via kiosks, home delivery || Does Amazon really have more growth avenues than McDonald's? || Amazon Pharmacy adds Eli Lilly weight loss pill Foundayo same-day delivery || Amazon Pharmacy adds same-day delivery for Eli Lilly's Foundayo weight-loss pill || Amazon's Chip Business Tops $20 Billion Run Rate || Amazon Push Into GLP-1 Access Expands Healthcare Reach || US Import Volumes Hold Steady Despite Iran War, but Cost Pressures Concern Retailers || Eli Lilly's Foundayo Weight-Loss Pill Hits the Shelves. It's a Turning Point for the Stock. || Amazon may sell Trainium AI chips to third parties in shot at Nvidia || Amazon CEO Says Chip Business 'On Fire' As AWS Steps Up Challenge To Nvidia || Amazon stock is in focus as DOJ launches antitrust NFL probe || The AI Trade Is Reawakening. Why the Timing Couldn't Be Better. || Amazon Stock Set to Post Biggest Gain in More Than 5 Months. Why CEO Letter Has the Market Excited. || Amazon CEO's AI chip vision could end up challenging Nvidia || Dow Jones Futures: Stocks Extend Rally On Iran War News, Amazon; CPI Inflation, Nvidia Chipmaker Due || Investors Bid Up Amazon Stock After Chief's Annual Letter || Market Talk: The bull market will not be 'derailed' by war || Amazon's CEO Says Its AI Chips Business Is 'On Fire' || Amazons AI-Powered Tool Matches Dogs and Cats with Potential Adopters || Amazon Commits $25 Billion To Data Center Expansion || Amazon Pushes Deeper Into Healthcare With Lilly Drug || Apple to shutter its first unionized US store in Maryland || Amazon signals chip export ambitions as in-house silicon business tops US$20 billion run rate\",\n \"Apple's iPhone sales continue to surge as iPhone 17 outpaces iPhone 16 || Apple Foldable iPhone Faces Delay Risk || Warren Buffett says he sold Apple stock too soon and would like to buy more of it, 'but not in this market' || 1 chart reveals how 'Magnificent 7' fortunes have fallen || FTSE 100 Live: Defence stocks lead decline as Trump's Iran deadline looms || Tech valuations settle down, offering new opportunity for investors || Nasdaq opens in red as Iran says 'restraint is ended' ahead of Trump deadline || Apple Stock Drags Down the Dow || Apple shares plunge 4% as foldable iPhone delays, App Store slump weigh on AAPL || The Dow Tests a Key Technical Threshold. Watching Apple, Home Depot Stocks. || The dividend yield on the S&P 500 is now at 50-year lows. Here's the biggest problem. || Apple shares fall on reported foldable iPhone delay || High Growth, Lower Valuations: Why Goldman Sachs Now Sees 'Opportunity' in Tech Stocks || Apple Stock Drops on Foldable iPhone Delay Fears || Worries That Apple's Foldable Phone Is Delayed Are Hitting the Tech Giant's Stock || Anthropic touts AI cybersecurity project with Big Tech partners || Anthropic launches cybersecurity partnership with Nvidia, Microsoft, other tech giants after latest AI model finds 'thousands' of previously unknown bugs || Anthropic launches cybersecurity partnership with Amazon, Apple, Google, Microsoft, Nvidia, and others || Josh Brown on Apple: Close your eyes and buy it || Nasdaq leads markets lower as Iran says 'restraint is ended' ahead of Trump deadline || Apple Stock Lower on Mixed Foldable iPhone Reports || Apple's global sales for iPhone 17 surged in February || Apples Foldable iPhone Remains on Track for September Debut || Apple's Foldable iPhone Might Not Be Ready in Time || Dow Jones Futures: Stocks Whipsaw Into Trump's Iran War Deadline; Apple, Tesla Slump || Apple's stock pares losses. Here's how to think about the latest saga with foldable iPhones. || Apple Foldable Timeline Slips On Engineering Challenges || Samsung Display secures exclusive Apple foldable OLED orders, partners poised to benefit || Apple's foldable iPhone reportedly still on track for September launch despite engineering hurdles\",\n \"nan\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"compound\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.6113038578862943,\n \"min\": -0.9025,\n \"max\": 0.9775,\n \"num_unique_values\": 10,\n \"samples\": [\n 0.9775,\n -0.9025,\n 0.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"sentiment_label_vader\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"positive\",\n \"negative\",\n \"neutral\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 13 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### d. Sentiment distribution" + ], + "metadata": { + "id": "R1iU7-lYpp-e" + } + }, + { + "cell_type": "code", + "source": [ + "print(\"VADER sentiment distribution:\")\n", + "print(df_real[\"sentiment_label_vader\"].value_counts())" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "k0ppF9nMptoE", + "outputId": "5336e083-1c39-4aec-dadb-401d15b3dbff" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "VADER sentiment distribution:\n", + "sentiment_label_vader\n", + "positive 29\n", + "negative 12\n", + "neutral 9\n", + "Name: count, dtype: int64\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## 4. Compare synthetic vs VADER sentiment" + ], + "metadata": { + "id": "5bEdyEEEp5FC" + } + }, + { + "cell_type": "markdown", + "source": [ + "### a. Merge datasets" + ], + "metadata": { + "id": "temVGWVosyMh" + } + }, + { + "cell_type": "code", + "source": [ + "df_merged = pd.merge(\n", + " df_real,\n", + " df_synth[[\"ticker\", \"date\", \"sentiment_label\"]],\n", + " on=[\"ticker\", \"date\"],\n", + " how=\"inner\"\n", + ")" + ], + "metadata": { + "id": "2Rovrvwos055" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### b. Agreement %" + ], + "metadata": { + "id": "9Ku6PFNJs2yK" + } + }, + { + "cell_type": "code", + "source": [ + "agreement = (\n", + " df_merged[\"sentiment_label\"] == df_merged[\"sentiment_label_vader\"]\n", + ").mean()\n", + "\n", + "print(f\"Agreement between synthetic and VADER sentiment: {agreement:.2%}\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "WRq3cYqQs7Hm", + "outputId": "5748cc6e-d7f9-44ae-b024-9c7b248d34aa" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Agreement between synthetic and VADER sentiment: 32.00%\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### c. Correlation" + ], + "metadata": { + "id": "qpNG7Puys-KK" + } + }, + { + "cell_type": "code", + "source": [ + "mapping = {\"negative\": -1, \"neutral\": 0, \"positive\": 1}\n", + "\n", + "df_merged[\"sentiment_num_synth\"] = df_merged[\"sentiment_label\"].map(mapping)\n", + "df_merged[\"sentiment_num_vader\"] = df_merged[\"sentiment_label_vader\"].map(mapping)\n", + "\n", + "correlation_value = df_merged[\"sentiment_num_synth\"].corr(df_merged[\"sentiment_num_vader\"])\n", + "\n", + "print(f\"Correlation between synthetic and VADER sentiment: {correlation_value:.3f}\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "uOXfmt_ztAYh", + "outputId": "f29adbb5-02c0-411e-ce40-32add1069178" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Correlation between synthetic and VADER sentiment: 0.297\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### d. Boxplots" + ], + "metadata": { + "id": "Q10YXAyztB6L" + } + }, + { + "cell_type": "code", + "source": [ + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "\n", + "plt.figure(figsize=(6, 4))\n", + "\n", + "sns.boxplot(\n", + " data=df_merged,\n", + " x=\"sentiment_label\", # synthetic\n", + " y=\"compound\" # VADER score\n", + ")\n", + "\n", + "plt.title(\"VADER Compound Score by Synthetic Sentiment Label\")\n", + "plt.xlabel(\"Synthetic Sentiment Label\")\n", + "plt.ylabel(\"VADER Compound Score\")\n", + "\n", + "plt.grid(True)\n", + "\n", + "plt.tight_layout()\n", + "plt.savefig(\"artifacts/py/figures/vader_by_synthetic_label_boxplot.png\", bbox_inches=\"tight\")\n", + "plt.show()\n", + "plt.close()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 410 + }, + "id": "rMfwdHqXtDgd", + "outputId": "7f5b2103-ec9e-4e59-b604-a6c86505c626" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## 5. Visualize patterns in the data" + ], + "metadata": { + "id": "y3TjJlktttiR" + } + }, + { + "cell_type": "markdown", + "source": [ + "### a. Setup" + ], + "metadata": { + "id": "IQfenHK8tydX" + } + }, + { + "cell_type": "code", + "source": [ + "# Select a subset of tickers for clearer visualization\n", + "sample_tickers = df_merged[\"ticker\"].unique()[:5]\n", + "\n", + "df_sample = df_merged[df_merged[\"ticker\"].isin(sample_tickers)].copy()\n", + "\n", + "print(\"Sample tickers:\", sample_tickers)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Pd6JjYaQt0YP", + "outputId": "dedaec9a-b6a3-48cc-b3eb-3f258499f7cf" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Sample tickers: ['AAPL' 'AMZN' 'GOOGL' 'JPM' 'META']\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### b. Stock price trends over time" + ], + "metadata": { + "id": "erOSJKzvt3OQ" + } + }, + { + "cell_type": "code", + "source": [ + "plt.figure(figsize=(10, 5))\n", + "\n", + "for ticker in sample_tickers:\n", + " temp = df_sample[df_sample[\"ticker\"] == ticker].sort_values(\"date\").copy()\n", + "\n", + " # Normalize to 100 at first date\n", + " temp[\"normalized_price\"] = temp[\"close\"] / temp[\"close\"].iloc[0] * 100\n", + "\n", + " plt.plot(temp[\"date\"], temp[\"normalized_price\"], label=ticker)\n", + "\n", + "plt.title(\"Normalized Stock Price Trends (Base = 100)\")\n", + "plt.xlabel(\"Date\")\n", + "plt.ylabel(\"Normalized Price\")\n", + "plt.legend()\n", + "plt.grid(True)\n", + "\n", + "plt.tight_layout()\n", + "plt.savefig(\"artifacts/py/figures/normalized_stock_price_trends.png\", bbox_inches=\"tight\")\n", + "plt.show()\n", + "plt.close()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 487 + }, + "id": "diROnzFft5K0", + "outputId": "a661e18e-56fa-4b53-e72f-423930268782" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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30eNGkVqaipff/01FStWLHCSjIKsXbuWxYsXM2DAAA4ePMjBgwdtdR4eHvTr1w8vLy9mzZrFE088QZMmTRg0aBABAQGcO3eOtWvX0rp1a9sb+/fff5+ePXvSpk0bRo4cSUJCgm3dnNutuXThwgXuv/9+OnbsyEMPPURQUBCXLl1i6dKlHDhwgIkTJ9o+3Y+IiECj0fDhhx+SlJSEXq+3ras1ZcoU3nrrLbp160afPn2Iiopi5syZNG/enKFDhwLWN9qzZs2id+/eREREMGLECIKDgzl27BiHDx/ONxkwGAysWbOGjh070r17d/78889C3WNVnJ588kkWL17MpEmT+Oeff3jwwQdJS0vjt99+Y8yYMfTt25d27doxatQo3n//fSIjI+nSpQs6nY4TJ06wbNkyZsyYwSOPPFLssb344ov8/PPP9OrVi+HDh9O0aVPS0tL4999/Wb58OWfOnCny8KzCvp6efvppEhIS6NixI5UrV+bs2bN88cUXRERE2PUc56dv377897//zXd6bZPJxLfffgtYhy6eOXOG2bNnY7FYeOONN2z79erVi6lTpzJixAhatWrFv//+y3fffWfXKwrW392goCBat25NYGAgR48e5csvv6Rnz562npgPPviALVu20KJFC5555hnCw8NJSEhg3759/PbbbyQkJNzyeorzHqmzZ8/alkfISXxyhv5Wq1aNJ554ArD+brz99tuMHTuWRx99lK5du/LXX3/x7bff8u677+Ln52c75pgxY/j666/p2bMnL7zwAjqdjk8++YTAwEDbpD05jEYjf/75Z571qYQQxcwpcwUKIUq93NOf3yxn+uObpys2Go3KW2+9pdSoUUPR6XRKlSpVlClTpuSZErtatWpKz5498xw3Z/rzZcuWFSqWnGm0L1++bCv7+eeflUaNGimurq5K9erVlQ8//NA2NXZ0dLRtv9tNf55zzvy+bp72esuWLUrXrl0Vb29vxdXVValVq5YyfPhwZc+ePXb7rVixQqlXr56i1+uV8PBwZeXKlcqwYcNuO/15cnKyMmPGDKVr165K5cqVFZ1Op3h6eiotW7ZUvv76a7tpyRVFUb7++mulZs2aikajyTMV+pdffqmEhYUpOp1OCQwMVEaPHp1nmnNFsU5p3rlzZ8XT01Nxd3dXGjVqZDcVdu7pz3NcuXJFCQ8PV4KCgpQTJ04U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6qtP6ry6f00n0r+Hag/3r2EEro8PdbS+aMrngcMF6x7Wo31HUVtby8qVK5kyZYp/m9VqZcqUKSxdutS/rbKykquuuopZs2aRkpLSpHMvXbqUM888E6fT6d92zjnnkJmZSVFREQCffPIJo0eP5s477yQ5OZn+/fvzpz/9Ca/Xe1LnXbp0aYNrqj/m0GtqDe2xf0+Ez+ejrKyMuLi4Fj3v8QS7fw/32muvMW3aNMLDw4953mPdm029ptbQHvv3RFRWVuJ2u0+7+3fMmDGsXLnS/xjLzp07mTt3Luedd95JnVfvvyfevyfidH3/rampISQkpMHrQkND+e67707qvLp/T7x/T0Sw7l8IbB83xYnca8G6hxWkjiI/Px+v10tycnKD7cnJyWRnZ/u/v/feexkzZgwXX3xxk8+dnZ19xPPW7wPzH5Z///vfeL1e5s6dy0MPPcRTTz3FH/7wh5M679GOOfSaWkN77N8T8eSTT1JeXs4VV1zRouc9nmD376EyMjLYsGEDN9988wmdt7S0lKqqqiZfU2toj/17In7zm9+QlpbW6B+eQAt2/1511VU89thjjBs3DofDQY8ePZg4cSK/+93vTuq8ev898f49Eafr++8555zD008/zbZt2/D5fMybN4+PPvqIrKyskzqv7t8T798TEaz7FwLbx01xvM8DzXlN/b5jHXMy97CC1En45JNPWLBgAc8888xRj+nXrx8RERFERERw7rnnNvncPp+PpKQkXnnlFYYNG8aVV17J//zP//DSSy+1QMvbh/bev++++y6PPvoo77//PklJSS123pYSyP491GuvvcaAAQMYOXLkCba0fWrv/fvnP/+Z2bNn8/HHHzf67WtbEMj+XbRoEX/605944YUXWLVqFR999BGff/45//d//9cCLW8f2nv/ns7vv88++yy9evWiT58+OJ1OZsyYwQ033IDVevp85Gvv/dvW719ovX/j2jp7sBvQViUkJGCz2cjJyWmwPScnxz98uWDBAnbs2EFMTEyDYy677DLGjx/PokWLmDt3Lm63GzCHfgFSUlKOeN76fQCpqak4HA5sNpv/mL59+5KdnU1tbW2Doct6TTnv0Y5pySHZpmiP/dscs2fP5uabb+aDDz5o9d/mQ/D7t15FRQWzZ8/mscceO26bj3beqKgoQkNDsdlsx72m1tIe+7c5nnzySf785z/z9ddfM3DgwBY9d1MEu38feughrrnmGv8o34ABA6ioqGD69On8z//8zxE/MOn9N7D92xyn+/tvYmIic+bMobq6moKCAtLS0njwwQfp3r37Udus+zew/dscwb5/IbB93BTH+zzQnNfU7zvWMSdzD58+v55oJqfTybBhw5g/f75/m8/nY/78+YwePRqABx98kHXr1rFmzRr/F8Df/vY3Xn/9dQC6dOlCz5496dmzJx06dABg9OjRLF682H9zAcybN4/09HRiY2MBGDt2LNu3b8fn8/mP2bp1K6mpqUf9kN+U844ePbrBNdUfU39NraU99m9Tvffee9xwww289957xy33HSjB7t96H3zwATU1NfziF784bpuPd2825ZpaS3vs36Z64okn+L//+z+++OILhg8f3mLnbY5g929lZWWjD/P1v3QxDOOIbdb7b2D7t6n0/ntQSEgIHTp0wOPx8OGHHx7z8Svdv4Ht36ZqC/cvBLaPm+JE7rWg3cMnXKbiNDB79mzD5XIZb7zxhrFp0yZj+vTpRkxMjJGdnX3U19CEiiXFxcVGcnKycc011xgbNmwwZs+ebYSFhTUo0bhnzx4jMjLSmDFjhpGZmWl89tlnRlJSkvGHP/zhpM67ZMkSw263G08++aSxefNm4+GHHw5q+dL21L+GYRgbN240Vq9ebVx44YXGxIkTjdWrVxurV6/273/nnXcMu91uzJo1q0F56uLi4ib1SUsKZv/WGzdunHHllVc2qb315U5//etfG5s3bzZmzZp1xPLnzb2mQGlv/WsYhv9+HTZsmHHVVVcZq1evNjZu3Ojf/+c//9lwOp3Gv//97wb3b1lZWZN/RksJZv8+/PDDRmRkpPHee+8ZO3fuNL766iujR48exhVXXHFS59X7r+lE+tcw9P5rGE3r3x9++MH48MMPjR07dhiLFy82Jk+ebHTr1s0oKio6qfPq/jWdSP8aRvu6fw0jcH1sGMfvi6Z8HjhcsO5hBanjmDlzptG5c2fD6XQaI0eONH744YdjHt/Um2jt2rXGuHHjDJfLZXTo0MH485//3OiY77//3hg1apThcrmM7t27G3/84x8Nj8dz0ud9//33jd69extOp9Po16+f8fnnnx+3vYHS3vq3S5cuBtDoq96ECROOuP+66647bpsDIZj9u2XLFgMwvvrqqya3d+HChcbgwYMNp9NpdO/e/YjrIjX3mgKpvfXvke7NLl26+Pcf7f5++OGHm/wzWlKw+tftdhuPPPKI0aNHDyMkJMTo1KmTcccddxz3g5Lef02B6l+9/5qO17+LFi0y+vbta7hcLiM+Pt645pprjP3795/0eQ1D969hnHj/trf71zAC18fH6wvDaNrngcMF4x62GMZJjqOLiIiIiIicZjRHSkREREREpJkUpERERERERJpJQUpERERERKSZFKRERERERESaSUFKRERERESkmRSkREREREREmklBSkREREREpJkUpERERERERJpJQUpERERERKSZFKREROSUcv3112OxWLBYLDgcDpKTkzn77LP5xz/+gc/na/J53njjDWJiYgLXUBERadcUpERE5JQzdepUsrKy2L17N//973+ZNGkSd999NxdccAEejyfYzRMRkVOAgpSIiJxyXC4XKSkpdOjQgaFDh/K73/2O//znP/z3v//ljTfeAODpp59mwIABhIeH06lTJ+644w7Ky8sBWLRoETfccAMlJSX+0a1HHnkEgJqaGu6//346dOhAeHg4o0aNYtGiRcG5UBERCRoFKREROS1MnjyZQYMG8dFHHwFgtVp57rnn2LhxI2+++SYLFizggQceAGDMmDE888wzREVFkZWVRVZWFvfffz8AM2bMYOnSpcyePZt169Zx+eWXM3XqVLZt2xa0axMRkdZnMQzDCHYjREREWsr1119PcXExc+bMabRv2rRprFu3jk2bNjXa9+9//5vbbruN/Px8wJwjdc8991BcXOw/Zs+ePXTv3p09e/aQlpbm3z5lyhRGjhzJn/70pxa/HhERaZvswW6AiIhIazEMA4vFAsDXX3/N448/zpYtWygtLcXj8VBdXU1lZSVhYWFHfP369evxer307t27wfaamhri4+MD3n4REWk7FKREROS0sXnzZrp168bu3bu54IILuP322/njH/9IXFwc3333HTfddBO1tbVHDVLl5eXYbDZWrlyJzWZrsC8iIqI1LkFERNoIBSkRETktLFiwgPXr13PvvfeycuVKfD4fTz31FFarOV34/fffb3C80+nE6/U22DZkyBC8Xi+5ubmMHz++1douIiJtj4KUiIiccmpqasjOzsbr9ZKTk8MXX3zB448/zgUXXMC1117Lhg0bcLvdzJw5kwsvvJAlS5bw0ksvNThH165dKS8vZ/78+QwaNIiwsDB69+7N1VdfzbXXXstTTz3FkCFDyMvLY/78+QwcOJDzzz8/SFcsIiKtTVX7RETklPPFF1+QmppK165dmTp1KgsXLuS5557jP//5DzabjUGDBvH000/zl7/8hf79+/POO+/w+OOPNzjHmDFjuO2227jyyitJTEzkiSeeAOD111/n2muv5Ve/+hXp6elccsklLF++nM6dOwfjUkVEJEhUtU9ERERERKSZNCIlIiIiIiLSTApSIiIiIiIizaQgJSIiIiIi0kwKUiIiIiIiIs2kICUiIiIiItJMClIiIiIiIiLNpCAlIiIiIiLSTApSIiIiIiIizaQgJSIiIiIi0kwKUiIiIiIiIs2kICUiIiIiItJM/x9WlZX9ybIKigAAAABJRU5ErkJggg==\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### c. VADER sentiment over time" + ], + "metadata": { + "id": "U8un5lgdt7l_" + } + }, + { + "cell_type": "code", + "source": [ + "plt.figure(figsize=(10, 5))\n", + "\n", + "for ticker in sample_tickers:\n", + " temp = df_sample[df_sample[\"ticker\"] == ticker]\n", + " plt.plot(temp[\"date\"], temp[\"compound\"], label=ticker)\n", + "\n", + "plt.title(\"VADER Sentiment Over Time (Sample Tickers)\")\n", + "plt.xlabel(\"Date\")\n", + "plt.ylabel(\"VADER Compound Score\")\n", + "plt.legend()\n", + "plt.grid(True)\n", + "\n", + "plt.tight_layout()\n", + "plt.savefig(\"artifacts/py/figures/vader_sentiment_over_time.png\", bbox_inches=\"tight\")\n", + "plt.show()\n", + "plt.close()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 487 + }, + "id": "buKSZ9sYt9uL", + "outputId": "20be3dc1-440a-48e1-fe26-6e5be4851725" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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jtja2tK7d2+2b99e4pjQ0FBUKhUff/wxCxYsIDAwEBsbGwYPHkxERASKojBnzhy8vb2xtrbmnnvuITk5ucQ5Cttq8+bNtG/fHisrK4KCgli1alWFrvXAgQMMHToUR0dHbGxs6Nu3b5XOiytvjtiGDRvo27cv9vb2ODg40KVLlxsOad68eTM2NjaMHz8eg8EA3Pp7NyMjg5deegl/f38sLS1xc3Nj0KBBBAcHlzjHoEGDyMrKYsuWLbfYIkLcniQRE0JUi4kTJ2IwGPj1119LbE9OTmbTpk3ce++9WFtbF21fvnw5tra2jBgxgq5du9K4cWOWLl1a6ed98MEHURSl1AcDo9FIYmJiqZ+srKwbnrPww5KTk9MN9/Xz82Pbtm1ERkbecN8nn3ySV199lZ49ezJ//nweeeQRli5dypAhQ9Dr9SX2vXTpEqNHj2bQoEF88sknODk58fDDDxfNg+rTpw8vvPACADNmzGDJkiUsWbKkxJCossydO5dNmzbx+uuv8+ijj7Jq1SqeeuopHn30US5cuMA777zDfffdx6JFi/jwww9LHPvee+8xefJkmjZtyqeffspLL73Etm3b6NOnD6mpqSX2TUlJYejQobRr145PPvmEFi1a8Nprr7FhwwYAWrZsyezZswF44okniuLv06dPubGvWbMGf3//okT5Wn369MHf359169YBMHz4cOzs7Eq9JwFWrlxJq1atigohnD59mjvuuIOzZ8/y+uuv88knn2Bra8uoUaP4888/Sx3/zDPPcObMGd5++21ef/31cmO+VZcuXWLChAmMHDmSuXPnkpKSwsiRI1m6dCkvv/wykyZNYtasWYSEhDBmzJgScyYre03F6fV6Dh06RMeOHUtsd3Nzw9ramjVr1pRKhq6Vnp7O999/T79+/fjwww955513SEhIYMiQIWXOC1y6dClfffUVzz//PP/73//YuXMnY8aM4c0332Tjxo289tprPPHEE6xZs4ZXXnml1PEXL15k7NixDBs2jLlz56LVannggQdumDT8888/9OnTh/T0dGbOnMn7779PamoqAwYM4ODBg9c99lYsWrSI4cOHk5yczPTp0/nggw9o3779defZrV27lrvvvpsHHniAX375Ba1WWyXv3aeeeoqvv/6a+++/n6+++opXXnkFa2vrUnN3g4KCsLa2rjfFW4SocebukhNC1E8Gg0Hx9PRUunfvXmL7woULFUDZtGlTie1t2rRRJk6cWHR/xowZiouLi6LX60vsd72hiYqiKEePHlUA5eWXXy7a1rdvXwUo8+fJJ58s2q9waOLWrVuVhIQEJSIiQvn9998VV1dXxdLSUomIiLjhdf/www8KoFhYWCj9+/dX3nrrLWX37t2K0Wgssd/u3bsVQFm6dGmJ7Rs3biy13c/PTwGUXbt2FW2Lj49XLC0tlf/9739F2643FKpv375K3759i+4XDslq3bq1kp+fX7R9/PjxikqlUoYNG1bi+O7duyt+fn5F90NDQxWNRqO89957JfY7efKkotVqS2wvbP+ff/65aFteXp7i4eGh3H///UXbKjM0MTU1VQGUe+6557r73X333QqgpKenF12fm5ubYjAYivaJiYlR1Gq1Mnv27KJtd955p9KmTRslNze3aJvJZFJ69OihNG3atGhb4XumV69eJc5ZEdd7vQrPe+XKlaJthe+DvXv3Fm3btGmTAijW1tZKWFhY0fZvvvmm1Lkrek1luXTpkgIo//d//1fqsbffflsBFFtbW2XYsGHKe++9pxw5cqTUfgaDodSQ3ZSUFMXd3V159NFHi7ZduXJFARRXV1clNTW1aPv06dMVQGnXrl2J3wvjx49XLCwsSlxXYVv98ccfRdvS0tIUT09PpUOHDkXbrh2aaDKZlKZNmypDhgxRTCZT0X7Z2dlKQEBAuUMwy1KZ1zc1NVWxt7dXunXrpuTk5JTYt3gcxYcm/vHHH4pOp1OmTJlS4vdLVbx3HR0dlWeffbZC19msWbNSvy+EEBUjPWJCiGqh0WgYN24c+/btKzH8ZtmyZbi7u3PnnXcWbTtx4gQnT55k/PjxRdvGjx9PYmIimzZtqtTzFg6burZio7+/P1u2bCn189JLL5U6x8CBA3F1dcXHx4fRo0dja2vL33//XaEhZ48++igbN26kX79+7Nmzhzlz5tC7d2+aNm1aYqjlb7/9hqOjI4MGDSrRQ9epUyfs7OxKDdcKCgoq0fPj6upK8+bNuXz5cmWap5TJkyej0+mK7nfr1g1FUXj00UdL7NetWzciIiKKhj6tWrUKk8nEmDFjSsTv4eFB06ZNS8VvZ2fHpEmTiu5bWFjQtWvXm46/8PW1t7e/7n6Fj6enpwMwduxY4uPjS5Qr//333zGZTIwdOxYo6LX9559/GDNmDBkZGUXXlpSUxJAhQ7h48WKpKppTpkxBo9Hc1LVURlBQEN27dy+6361bNwAGDBiAr69vqe2F7Xsz11RcYXXTsnqFZ82axbJly+jQoQObNm3ijTfeoFOnTnTs2LFED4pGoykasmsymUhOTsZgMNC5c+dSQ94AHnjggRLFdAqvadKkSWi12hLb8/PzS8XfqFGjEoVaHBwcmDx5MkePHiU2NrbM6zx27BgXL15kwoQJJCUlleg5v/POO9m1a1eZlVlv1ZYtW8jIyOD1118vVRBIpVKV2n/58uWMHTuWJ598km+++Qa1uuDjXFW9dxs0aMCBAweIjo6+YexOTk4kJiZW9pKFEEjVRCFENZo4cSKfffYZy5YtY8aMGURGRrJ7925eeOGFEn/4f/nlF2xtbQkMDOTSpUsAWFlZ4e/vz9KlSxk+fHiFnzMzMxMo/QHd1taWgQMHVugcCxYsoFmzZqSlpfHjjz+ya9euSlU3GzJkCEOGDCE7O5sjR46wcuVKFi5cyIgRIzh37hxubm5cvHiRtLS0UvPGCl07t674h+xCTk5OpeaTVda15y384Ovj41Nqu8lkIi0tjYYNG3Lx4kUURaFp06Zlnrd4cgcFVSuv/UDp5OTEiRMnbiruwtf3ekskFH+8cP/CeT8rV64s+jJg5cqVtG/fnmbNmgEFw/8UReGtt97irbfeKvO88fHxeHl5Fd0PCAi4qeuorMq8XkDR++NmrqksiqKUuX38+PGMHz+e9PR0Dhw4wKJFi1i2bBkjR44sUW108eLFfPLJJ5w7d67E8Nuy2u9mr7VQkyZNSr3nCl/j0NBQPDw8Sj3nxYsXAXjooYfKvE6AtLS0Cg1TrozC+acVWSPsypUrTJo0iQceeID/+7//K/FYVb13P/roIx566CF8fHzo1KkTd911F5MnTyYwMLDUvoqilJksCiFuTBIxIUS16dSpEy1atGD58uXMmDGD5cuXoygKEydOLNpHURSWL19OVlYWQUFBpc4RHx9PZmZmiQIB11NYbKFJkyY3HXfXrl3p3LkzAKNGjaJXr15MmDCB8+fPVzgOABsbG3r37k3v3r1xcXFh1qxZbNiwgYceegiTyYSbm1u58+CuLT5RXm9LeR+MK6q8897o+UwmEyqVig0bNpS577XtVNXxOzo64unpecNE7sSJE3h5eRUtZ2BpaVk0V+arr74iLi6Of//9l/fff7/omMIej1deeYUhQ4aUed5r31/F5ztWp1t5vaBy11Rc4TITN0r8HRwcGDRoEIMGDUKn07F48WIOHDhA3759+eWXX3j44YcZNWoUr776Km5ubmg0GubOnVtmIZybvdZbUdhO8+bNK3cJhcr8DqgOnp6eeHp6sn79eg4fPlz0uwqq7r07ZswYevfuzZ9//snmzZuZN28eH374IatWrWLYsGEl9k1JSSn3CxkhxPVJIiaEqFYTJ07krbfe4sSJEyxbtoymTZsWVccD2LlzJ5GRkcyePbtUYYmUlBSeeOIJVq9eXWJY2/UsWbIElUrFoEGDqiT+wg+K/fv358svv7zpQgyFH5ZiYmIAaNy4MVu3bqVnz55V9iG+Jr+Vbty4MYqiEBAQUNTLcKsqG/+IESP47rvv2LNnD7169Sr1+O7duwkNDeXJJ58ssX3s2LEsXryYbdu2cfbsWRRFKRqWCBR966/T6Srci1rb3eo1+fr6Ym1tzZUrVyp8TOfOnVm8eHHRe/73338nMDCQVatWlXitZ86cWel4KqKwd6j4cxVWU712nb1CjRs3BgoSypp87Quf99SpUzf8EsnKyoq1a9cyYMAAhg4dys6dO2nVqhVQte9dT09PnnnmGZ555hni4+Pp2LEj7733XolEzGAwEBERUaICrhCi4mSOmBCiWhX2fr399tscO3asRG8Y/Dcs8dVXX2X06NElfqZMmULTpk0rXD3xgw8+YPPmzYwdO7ZKv6Ht168fXbt25fPPPyc3N/e6+27btq3M7evXrwegefPmQME3zkajkTlz5pTa12AwlKo6WBG2trYAN3VsZd13331oNBpmzZpVqidCUZSiOUWVUdn4X331VaytrXnyySdLPV9ycjJPPfUUNjY2vPrqqyUeGzhwIM7OzqxcuZKVK1fStWvXEsOz3Nzc6NevH998801RElFcQkJCJa/M/G71mnQ6HZ07d+bw4cMltmdnZ7Nv374yjymsiFn4ni/sySr+fjlw4EC5x9+q6OjoElUC09PT+fnnn2nfvn2ZwxKhoBe/cePGfPzxx0XDnIurrtd+8ODB2NvbM3fu3FK/Y8rq6XN0dGTTpk1FZeULexSr4r1rNBpJS0srsc3NzY1GjRqVWsLizJkz5Obm0qNHjxueVwhRmvSICSGqVUBAAD169OCvv/4CKJGI5eXl8ccffzBo0KBSE9QL3X333cyfP5/4+Pii+VQGg4FffvkFgNzcXMLCwvj77785ceIE/fv359tvvy11nrS0tKJjrlWR3rZXX32VBx54gEWLFvHUU0+Vu98999xDQEAAI0eOpHHjxmRlZbF161bWrFlDly5dGDlyJAB9+/blySefZO7cuRw7dozBgwej0+m4ePEiv/32G/Pnz2f06NE3jKu49u3bo9Fo+PDDD0lLS8PS0pIBAwaUOw/tVjRu3Jh3332X6dOnExoayqhRo7C3t+fKlSv8+eefPPHEE2WWFL/RORs0aMDChQuxt7fH1taWbt26lTv/qmnTpixevJiJEyfSpk0bHnvsMQICAggNDeWHH34gMTGR5cuXF/U2FNLpdNx3332sWLGCrKwsPv7441LnXrBgAb169aJNmzZMmTKFwMBA4uLi2LdvH5GRkRw/frxS11Yb3Oo13XPPPbzxxhukp6cXDfXMzs6mR48e3HHHHQwdOhQfHx9SU1NZvXo1u3fvZtSoUXTo0AEo6MFctWoV9957L8OHD+fKlSssXLiQoKCgMpOeW9WsWTMee+wxDh06hLu7Oz/++CNxcXH89NNP5R6jVqv5/vvvGTZsGK1ateKRRx7By8uLqKgotm/fjoODA2vWrKnyWB0cHPjss894/PHH6dKlCxMmTMDJyYnjx4+TnZ3N4sWLSx3j4uLCli1b6NWrFwMHDmTPnj14eXnd8uuckZGBt7c3o0ePpl27dtjZ2bF161YOHTrEJ598UmLfLVu2YGNjU2UjEIS47dRojUYhxG1pwYIFCqB07dq1xPY//vhDAZQffvih3GN37NihAMr8+fMVRSkoX0+x8vM2NjaKv7+/cv/99yu///57qTLxinL98vXFfw0WlnM+dOhQqXMYjUalcePGSuPGja9bpnz58uXKuHHjlMaNGyvW1taKlZWVEhQUpLzxxhtFJdSL+/bbb5VOnTop1tbWir29vdKmTRtl2rRpSnR0dNE+fn5+yvDhw8u8ruIl6RVFUb777jslMDBQ0Wg0JUpnl1e+/rfffitxfHltMHPmTAVQEhISSmz/448/lF69eim2traKra2t0qJFC+XZZ59Vzp8/XyLOwpLbxT300EMlSuIriqL89ddfSlBQkKLVaitcyv7EiRPK+PHjFU9PT0Wn0ykeHh7K+PHjlZMnT5Z7zJYtWxRAUalU5S5LEBISokyePFnx8PBQdDqd4uXlpYwYMUL5/fffi/a53nvmRm6mfH1Z7wOgVKnxwhLw8+bNq/Q1lScuLk7RarXKkiVLirbp9Xrlu+++U0aNGqX4+fkplpaWio2NjdKhQwdl3rx5JcrVm0wm5f333y/ar0OHDsratWtLvQ/Ki70y79nCttq0aZPStm1bxdLSUmnRokWpY68tX1/o6NGjyn333ac0bNhQsbS0VPz8/JQxY8Yo27Ztu2E7Fars66soivL3338rPXr0UKytrRUHBwela9euyvLly4seL+v/0qVLlxRPT0+lZcuWRf8/b+W9m5eXp7z66qtKu3btFHt7e8XW1lZp166d8tVXX5W6jm7duimTJk2qcJsIIUpSKUoVzG4VQgghRL332GOPceHCBXbv3m3uUK7L39+f1q1bs3btWnOHUm8dO3aMjh07EhwcXG5hEyHE9ckcMSGEEEJUyMyZMzl06BD//vuvuUMRZvbBBx8wevRoScKEuAUyR0wIIYQQFeLr63vDgjXi9rBixQpzhyBEnSc9YkIIIYQQQghRw2SOmBBCCCGEEELUMOkRE0IIIYQQQogaJomYEEIIIYQQQtQwKdZRBUwmE9HR0djb26NSqcwdjhBCCCGEEMJMFEUhIyODRo0aoVaX3+8liVgViI6OxsfHx9xhCCGEEEIIIWqJiIgIvL29y31cErEqYG9vDxQ0toODg1lj0ev1bN68mcGDB6PT6cwaS30k7Vu9pH2rl7Rv9ZL2rV7SvtVL2rd6SftWr9rWvunp6fj4+BTlCOWRRKwKFA5HdHBwqBWJmI2NDQ4ODrXijVjfSPtWL2nf6iXtW72kfauXtG/1kvatXtK+1au2tu+NpixJsQ4hhBBCCCGEqGGSiAkhhBBCCCFEDZNETAghhBBCCCFqmCRiQgghhBBCCFHDJBETQgghhBBCiBomiZgQQgghhBBC1DBJxIQQQgghhBCihkkiJoQQQgghhBA1TBIxIYQQQgghhKhhdSoR27VrFyNHjqRRo0aoVCpWr159w2N27NhBx44dsbS0pEmTJixatKjUPgsWLMDf3x8rKyu6devGwYMHqz54IYQQQgghhLiqTiViWVlZtGvXjgULFlRo/ytXrjB8+HD69+/PsWPHeOmll3j88cfZtGlT0T4rV65k6tSpzJw5k+DgYNq1a8eQIUOIj4+vrssQQgghhBBC3Oa05g6gMoYNG8awYcMqvP/ChQsJCAjgk08+AaBly5bs2bOHzz77jCFDhgDw6aefMmXKFB555JGiY9atW8ePP/7I66+/XvUXIYQQQgghhLjt1alErLL27dvHwIEDS2wbMmQIL730EgD5+fkcOXKE6dOnFz2uVqsZOHAg+/btK/e8eXl55OXlFd1PT08HQK/Xo9frq/AKKq/w+c0dR30l7Vu9pH2rl7Rv9ZL2rV7SvtVL2rd6SftWr9rWvhWNo14nYrGxsbi7u5fY5u7uTnp6Ojk5OaSkpGA0Gsvc59y5c+Wed+7cucyaNavU9s2bN2NjY1M1wd+iLVu2mDuEek3at3pJ+1Yvad/qJe1bvepr+yoKYALFBIpJBcp/txXT1ceUYrcL9yu8XeIxVbHzlT6+4H6x21e3qzTW/BW1HWtPA6o6NXml7qiv79/aora0b3Z2doX2q9eJWHWZPn06U6dOLbqfnp6Oj48PgwcPxsHBwYyRFWTgW7ZsYdCgQeh0OrPGUh9J+1Yvad/qJe1bvaR9q9ettq/JpGAymDAaFEzGq/8aTBiNCkaDCZPh6r/XPGYqerysfYvdN5a/vfA5Cx83Gq+NxVSQENUCySla7KOtaD/Qm2Zd3dHoJCOrCvL7oXrVtvYtHC13I/U6EfPw8CAuLq7Etri4OBwcHLC2tkaj0aDRaMrcx8PDo9zzWlpaYmlpWWq7TqerFS8+1K5Y6iNp3+ol7Vu9pH2r1+3YvoqioJgUjIWJRrFkpGSiYira578kpViCUtZxVxMXQ76B5HArdsZeQjFxdZ+riYy+eHJT/Bz/bVMUc7dS5ajVKtQ6NRqNCrVWhVpT8KPSgkoDKjWotIBaKfjRKChqE4rGhKI2YVIbC/5VGTGpjZjUBowYMKqNGFR6jCoDRpUevUqPAT355JEfrsY3pj0ZibB7xSX2rwuhcd8GdOgbgJOdIyqVytzNUufdjr8falJtad+KxlCvE7Hu3buzfv36Etu2bNlC9+7dAbCwsKBTp05s27aNUaNGAWAymdi2bRvPPfdcTYcrhBBClElRivXMlJGolJ28lExwive+lO4Nunpbf22PkAmj/r8epKIeI33JXh2j0QQ1kujouBydWCVnUmtVaDTqgn+16qJER60FlUaFSgNolIIhepr/Eh3UJhS1gqIxYlKZriY5RkwqAyaVEaPagFFtwIAew9V/jSo9evLRq/LRk09+4W0lj3xVHnlKLnnkkq/kkUsO+Uoe+aY88o169CY9SlU2rkL5r5UnaN1+pWV8d9pHDcA2owHn1qZwdGMEZz13kuixDyetEVe1DleVBW4aS1zV1rhprHHV2uCmtcVGYwUaLai1oNaBRgdqTcFttfbqfe31bxfdv3ps0WO6kudWa6/eL3ZuSRZFHVKnErHMzEwuXbpUdP/KlSscO3YMZ2dnfH19mT59OlFRUfz8888APPXUU3z55ZdMmzaNRx99lH/++Ydff/2VdevWFZ1j6tSpPPTQQ3Tu3JmuXbvy+eefk5WVVVRFUQghhKiI9IQcMq7oOLo5AkyUHMZmNGG6ptfm2sSnvF6kwtt1jUb7X5JT0KujRqNVodKoUGuu9upogKsJT/FeHQp7dlQmTBojJpURA3qi46Nw9XRF0fzXq1OQ8OjRo8egyqfgVh56VT75Sh555F7t7/kv0ckz5aJX9OivJjr5pnxMVTE2UAGMV3+qiVpRsFAUdAroUNBdvV+4zUJR0FK4jaLHdcUe11Fyf93VH5NKRaJGTYLdOi613IoutQc+cUOwz3OlY8Rw8qIHcNpjNzs8d5CrSyvzOm1NJlwNRtyMRlyNRtwMRlyMV+9f3e5iNGJdXV2UKnX5SVphQlityWHZj6kUFW5px1FdtgELq3Jiuva5yrgtiWa9UqcSscOHD9O/f/+i+4XztB566CEWLVpETEwM4eHhRY8HBASwbt06Xn75ZebPn4+3tzfff/99Uel6gLFjx5KQkMDbb79NbGws7du3Z+PGjaUKeAghhBDlSUvI4Y+PjqLPteLQudDqf0IVRQmORqdGrSlIcop6drSqoiSnYBibUqxXR7naq1Ns+NrVf42qgt6cgmFrBT+Gq0PXDCo9elV+wTA2VR6Gqz07+eRd/cklTym4XZjo5Bvz0ZuuJjvGfIzKTWYohZ/ZXQHD1Z9qZmFSsOC/JMWinESmeKJjoYAFCtprtxUmO/x3Dovi56X0eUokUGoLLLSW6DQWaLVWoLEErRVoLcr+V2MJ2mI/GstijxXuW/wxSwxo2HvgIOPu6IZWpYBRDyYjJoOeM2czCT5kAanWdIwaTMfYARh8LxDvc4BYbRzxhmwSDNlkKXqy1GqyLNSEcv2hWfaocUOLK2rcTGpcFRWuJgU3E7gaTbgajbgaDVgYjWDSg8kARkPBvyZ9QXxlde0pJjDmFfzUjgJ6QMEH7u4Al2/xROqykr7iiWcFHrtRr+JNJ6wVTVLLikl3dbzt7ZVo1qlErF+/fijX+QZl0aJFZR5z9OjR6573ueeek6GIQgghbopRb2LTd6fQ5xpR2ebj3twBtVZVMF9HXTh0zYSiNmJUGa4OY7vao6O+Ok+Hq707hT06qoIER0/+1Z+Cnp2CIWx55Ct5GEwG8o355JvyixIdvUmPwVTJLKUGenHKUzzJKZ7Y6ChjW+F+VK6XpzDRsShxTLGEiJLJj05R0AIqVCUTlqKk5WrCoyue1BRPciyvSXiunwCVfb/YuTQWNfLhVNHrSTmVguJzBxSb36IGWgdBq3sVrpxI5MiGUOLDMtBeCcI7vBUDu3vScYgvjq42ZOmzSMhOICEnoejf+Ox4ErITiM+5+m92PLnGXDIwkUE+IYVPAgW9o9doYOmMq40rbtZuuNq44mrtiptNwW03KxdcrZxoaOGITlGuJmmGq0nktbcLEsuC+2UldsVuFz2mL3YO438JYOG5y30uQ6n9TIZ80lOScLS3RWUq73mvia8shceSW7VvgNqi3KTv+j2HGpWGbkkpqM7qoe1oc19FhdWpREwIIYSobf5ddYmE8AzydTmsbP4BWZap/z1oxiSnkFahWI9LYZJiuvpT8d6Z/xKdMnpsKOM8hftQ+hiLomSnDGptmUmKorEgJTObBq4eqG+Y0JSVAFWkt6jYdhkGVoJKrSKwvSsB7VyIOJvMkQ1hRF9M5cyeaM7+G03TLu50HOqHfyN//B39yz2Poihk6jNLJWeJOYkFSVux5C3flE9qXiqpealcTLlYfmyocLJyKkjQiiVqJZI2a0+crZzRqMvI9mqAUa9n5/r13HXXXRUr5KAoV5O/Yj2AJuM1yaGhgoli8SSvIomnoYqe9zq3y+sdN12N15BTqfZVAx6AMSWsUseZmyRiQgghxE0KCY7n5PZIALY2/hm9RSoNFfXVpKVYsmIqSHwsCv+9tsfm6pC24r08JXqKKKOXp1RPUMneIIurw+AqXHxcY1EsEbEqneTcVI/OTfQWlfNB2aDXs/vqB1l1LaiKdrtSqVT4BjXEN6gh0ZdSObIhlPDTyVw4GMeFg3EEtHOh813+uPmVvZyPSqXC3sIeewt7AhsElvs8iqKQnp9eZo9aQk6xXrfsBAyKgeTcZJJzkzlH+evAqlVqXKxccLFx+a+HrVhvW2Ei52TlhNrcC6mpVAVD9zRawMq8sVQHk6kgGbupRLF0AmjQ53HyWDCtG99ZVsdqrSWJmBBCCHETUuOz2LjoOKDhaKOtuFsFsyQ8EWdTJYs+XNsTU26Scr0enXJ6hCraW6SxALWsFyUqp1GTBjR6vj0J4Rkc2RBKyLEErhxP5MrxRHyCnOk8zI9GTZ1u6twqlQpHS0ccLR1p6tS03P1MionUvNQSSdq1yVtCdgKJuYmYFBPxOfHE58RzhjPlnlOr0pZM1qxdy+hhc8PRUkr63zS1GlAXDC2sAopeT3iEHa3dW1XJ+WqKJGJCCCFEJaVnZ/DDZ5uxynci1v4yTRxX8r/YRELdhuHQexxaS5uK9RZJuW1RD7j62jP0yTYkx2QRvCmMCwfjiDiTTMSZZDybONJpqD++rZyrJWlRq9Q4WznjbOVMc+fm5e5nNBlJyUspv4ft6u3k3GQMioHYrFhis2Kv+9w6ta6oF614j5qbjRsu1i5FSZu9zr6qL1vUE5KICSGEEJUQlh7GVwv+wDelPbnaLNo5z2d0SiLGHi9xJqcj/i3uKlHsQIjbhbOnLQMfDqLriACCN4dzdm80MZfSWPvlcVx97ek01I/A9q6o1DX/5YNGrcHF2gUXaxdoWP5+epOepJyk/+asFU/aivWwpeSloDfpicqMIioz6rrPbaWxwsXaBU2Ohl17duFu515qOKSrjSu2OtsqvmpR20kiJoQQQlTQ7sjdfLlqMX3CJgDQyWkB/fLCocsUTP3egA0bzByhEObn4GJNvwnN6XKXP0e3hnN6VxQJ4Rls/PYUTh42dBzqR9Mu7mg0tW84rE6tw8PWAw9bj+vul2/ML1VgpHjyVrgtPT+dXGMukZkFc0nDwssvJmGjtSldaOSa4ZAuNi5Ya62r9JqF+UgiJoQQQtyAoij8cOoHftr7C/effwWAFvZr6KfZB+3Gw7CPwGjG0ohC1EK2DSzpNbopnYb6ceKfSE7uiCQlNptti85ycM0VOg7xo0V3D7S6ulReoYCFxoJGdo1oZNfouvvlGnJJyEkgJj2GzXs3493Cm+S8ZOJz4knMTizqZcvUZ5JtyCY0PZTQ9NDrntPewr4oKbu2Z614ImehsajCKxbVQRIxIYQQ4jqy9dm8vfdttlzeyqgLL2JptMHN4gL9bBZDixFw95cFE88lEROiTNZ2FnS7O5AOg3w5uTOS49siyEjKZeey8xxad4UOg3wJ6tUIC6v697HUSmuFj70PHlYexFjEcFeLssvXZ+uzSxQaubboSGFvW44hh4z8DDLyMwhJC7nuczewbFBqDbZrq0Q2tG6ITi1Dqc2l/r3jhRBCiCoSmRHJi9tf5ELKBXqF349blh+W6kyGOs5D06QvjP7xanlpIcSNWFhr6TTUn7YDfDj7bzRHN4eTmZLHv79f4siGMNoO8KZNP2+sbG+/xMBGZ4Ofzg8/B79y91EUhSx9VrmFRqplDbaryZuzlTNatfyuq2rSokIIIUQZDsQc4JWdr5Cal0qbjB60jukDwECH+dj7N4GxvxRUQRRCVIrOQkPb/j606u3F+QOxBG8MIy0hh4NrrnB0Szht+nrR7k5fbBxkaF1xKpUKOws77CzsCHS88RpsJQqMlFXWPycBg6nia7A1tGpYsoftmt41F2sXnK2czb8GWx0iiZgQQghRjKIo/HL2Fz45/AlGxUhH6zvoeXQcehTa26zG3z8fJq4CC6lwJsSt0GjVBPVsRIs7PLgUHM+RDWEkR2cRvCmc4/9EEtSrER0G+WLvXA8XNK5Gxddga+LUpNz9rl2D7driI4VJW1JOEkbFWLSQ9o3WYGto3bDcsv6yBltJkogJIYQQV+Uacpmzfw5/h/wNwN3+99B29zASc/Nw153njoAD8OA6sHI0c6RC1B9qjZpmXTxo2smd0JOJHN4QRnxoOie3R3J6VxTN7/Cg4xA/GrjZmDvUeuVW1mArXmikMHlLyknCoBiIy44jLjvuus+tU+tKJWplJW32Ovt6nbBJIiaEEEIAsVmxvLT9JU4nnUaj0vBK51fwO9aWE5GJWKoyGOK7HM1Df4Kti7lDFaJeUqlVBLRzxb+tC5HnUziyIZSo86mc/TeGc3tjaNLJjU7D/GnoZWfuUG8rFV2DzWAykJSTVOYwyMLkLSEngeTcZPQmPdFZ0URnRV/3ua00ViXmrBVfKLv4sEgL6uYwVknEhBBC3PaC44J5ecfLJOcm08CyAfP6zsMtshEbdl0C4E6PJdg/tggcrl+qWghx61QqFT4tnPFp4Uzs5TQObwgl7GQSFw/Hc/FwPP5tXeg0zA+PAOmZrk20ai3utu6427pfdz+9UV8wDPKaHrXy1mCLyIggIiPiuue00dpgY7Ih+2I244PGV+VlVStJxIQQQtzWfj3/K3MPzMWgGGju1JzP+3+OQ5Ytvy7aB1jR3mETAU/PAefyJ8cLIaqHR6AjI55tR0JEBkc2hBFyNJ7QE4mEnkjEu4UTnYb549WsQb0evlbf6DQ6PO088bTzvO5+uYZcEnMSyy40Uux24Rps2WSTZ8yroauoGpKICSGEuC3lG/OZe3Auv1/4HYCh/kOZ1WMWliYNq2avIs/ojrvFJe54bgy4tTRztELc3lx97Bn6RGtSYrMI3hTGhQNxRJ5LIfJcCh6BDnQa5o9f64aSkNUjVlorvO298bb3vu5+2fpsYjJiWLN9DQN8BtRQdFVDEjEhhBC3nYTsBKbumMqxhGOoUPFixxd5tPWjqBQTe+YtJD6jJZaqTAY/FoTGt5O5wxVCXOXkYcudDwXRZUQAxzaHc+bfGGIvp7NuwQkaetvRaagfjTu6oVZLQna7sNHZ4GvvS4A2AE/b6/ey1TaSiAkhhLitnEw4yUvbXyI+Jx57nT0f9f2IXl69QFG4/MOHHA+/A4A777bBoV0vM0crhCiLQ0Nr+oxvTqe7/Dm+NYJTu6JIisxk8/enaeB+hY5D/GjWzR2NRta0ErWXJGJCCCFuG39e/JM5++egN+kJdAzkiwFf4OfgB4pC+p/v8k9wOwDatc8jYNgwM0crhLgRW0dLetzfhI5D/TjxTwQntkeSGpfNPz+f5eDay3Qc7EfLHp5oLTTmDlWIUiQRE0IIUe/pTXo+PvQxy84tA2CAzwDe7/0+trqCRZmN/8xj83YX8hQ73N3y6f74EHOGK4SoJCtbHV1HBtJ+kC+ndkVxbGsEmcl57FpxgUPrQ2k/0IfWfbywsJKPvqL2kHejEEKIei05N5lXdr7CodhDADzT7hmebPckatXVIUv7vmLfuiji9PdgaWFk8It90WhlOJMQdZGFlZaOg/1o28+bs3tjCN4cRmZyHvtWhRC8MYy2/b1pO8AHK1uduUMVQhIxIYQQ9dfZpLO8uP1FYrJisNHaMLf3XAb4FquqFbyEK3+t4nj2DAAGPNoeh4bWZopWCFFVtBYa2vTzJqh3Iy4ciCN4UxipcdkcWhfKsa0RtO7jRbuBPtg6Wpo7VHEbk0RMCCFEvbT+8npm7p1JrjEXPwc/5vefT+MGjf/b4dQq0v+cw7a0eQC0u9ObwPauZopWCFEdNBo1LXt40vwOD0KC4zmyMYykyEyObgnnxPZIWvb0pMNgX/kCRpiFJGJCCCHqFaPJyPzg+fx0+icAenn14sM+H+Jg4fDfThc2Y/zjaTanvkOeYo+bvz3d721ipoiFENVNrVbRtLM7TTq5EXYyicMbQom7ks6pnVGc2R1Ns27udBzih5OHrblDFbcRScSEEELUG2l5aUzbNY290XsBeLzN4zzX/jk06mIV00L3wK8Psj9tLHH65lhaaxnyeGuZFybEbUClUuHf1gW/Ng2JupDKkQ2hRJ5L4dy+WM7tj6VxBzc6DfPD1cfe3KGK24AkYkIIIeqFiykXeXH7i0RkRGCttWZ2z9kM9R9acqeoI7BsLFcyW3MsexQAAx5qiYOLDEsS4naiUqnwbu6Ed3MnYq+kcWRDGKEnEgkJjickOB6/Ng3pPMwfj0BHc4cq6jFJxIQQQtR5W8O2MmPPDHIMOXjZeTG//3yaOzcvuVPcGfjlfjJyrNiW8T8A2g3wkXlhQtzmPAIcGf5MWxIjMwneGMqlI/GEnUwi7GQSXs0b0GmYP97NnVCpVOYOVdQzkogJIYSos0yKiQXHFvDtiW8B6ObZjY/7fEwDqwYld0wKgSWjMGansyn7c/KMVrj52dP9vsalTyqEuC25eNsx+PHWdB2ZTfCmMM7vjyXqfCpR54/h5u9A52F++LdxQaWWhExUDUnEhBBC1EkZ+RlM3z2dnZE7AXgw6EGmdpqKVn3Nn7a0KPh5FGTGsd/0P+KyvLG00TJkiswLE0KU1sDdhgGTW9JlRABHt4RzZk808aHprP/6JA29bOk41I8mndxRS0ImbpEkYkIIIeqcK2lXeOGfFwhND8VCbcE7Pd5hZOORpXfMTICf74G0cEJ1IzgW2wuAAZNlXpgQ4vrsna3oM7YZnYf5c3xbOCd3RpEUlcWWH85w8O8rdBzqR/NuHvKFjrhpkojVQ4pi7giEEKL67IzYyeu7XydTn4m7jTvz+8+nlUur0jvmpMIv90LSRTKs27A1bgpgou0AWS9MCFFxNg4WdL+3CR0G+3FyRyTH/4kgLSGH7UvOcWjtFToM9iWoZyO0Fpobn0yIYiQRq0cSM/P4cMNZ4qLUDDd3MEIIUcUUReG7k9/x5dEvUVDo6NaRT/p9gou1S+md87Ng2RiIPYnRxoPN+g/Iy87Hzc+eHvfJemFCiMqzstXRZXgA7e704fTuaI5tCSczJY/dKy9yeH0o7e70oU1fbyys5eO1qBh5p9Qj52Mz+O1IFCpUnIvNoI2Ps7lDEkKIKpGtz+bNf99kS9gWAMY2H8trXV5Dp9GV3lmfCysmQMQBsHLkgMdiYvdmY2Et88KEELfOwkpLh0G+tOnnxbl9sQRvCiMjKZf9qy9zdHM4bfp503aAN9Z2FuYOVdRyde6v0YIFC/D398fKyopu3bpx8ODBcvft168fKpWq1M/w4f/1Fz388MOlHh86dGi556zNejZxYWgrdxRUzFp7FkXGKAoh6oGI9Agmrp/IlrAtaNVa3un+Dm/e8WbZSZjRAH88Bpd3gM6W0K4rObo3G4A7ZV6YEKIKaXUaWvfxYuLsO7jz4ZY4ediQl23g8PpQfn5jH3t+v0hWap65wxS1WJ3qEVu5ciVTp05l4cKFdOvWjc8//5whQ4Zw/vx53NzcSu2/atUq8vPzi+4nJSXRrl07HnjggRL7DR06lJ9++qnovqWlZfVdRDWbPrQZ287Gcjgslb+PR3NPey9zhySEEDdtb/ReXt35Kun56bhYu/BZv89o79a+7J1NJvjrGTi3FjSWZAxfxtYlegDa9vcmsIPMCxNCVD2NRk2LOzxp3tWDy8cSOLwhlMSITI5vjeDkjkha9mhEm/6NzB2mqIXqVI/Yp59+ypQpU3jkkUcICgpi4cKF2NjY8OOPP5a5v7OzMx4eHkU/W7ZswcbGplQiZmlpWWI/JyenmricatGogTWDvUwAvL/+LJl5BjNHJIQQlacoCotOLeLprU+Tnp9OW5e2rByxsvwkTFFg/StwYiWotRjvX8zmzfbkZRlkXpgQokao1Coad3RjzIwujHiuHZ6NHTEZFE7vimLlnEMkn7AiJTbb3GGKWqTO9Ijl5+dz5MgRpk+fXrRNrVYzcOBA9u3bV6Fz/PDDD4wbNw5bW9sS23fs2IGbmxtOTk4MGDCAd999l4YNG5Z7nry8PPLy/utqTk9PB0Cv16PX6ytzWVVOr9fTv5HCiUxrIlJymL/lPNOGNDNrTPVJ4etr7te5vpL2rV51pX1zDDm8e+BdNoRtAODuwLuZ3mU6lhrLcmNXb5+D5vAPKKgw3r2A/WcaE3s5EgtrDQMebo4JIya9sVrjrivtW1dJ+1Yvad+q1ai5A57N2hBzKY1jmyOIPJdKdpSO394/QkC7hnQY7IuLj525w6w3atv7t6JxqJQ6MpEoOjoaLy8v9u7dS/fu3Yu2T5s2jZ07d3LgwIHrHn/w4EG6devGgQMH6Nq1a9H2FStWYGNjQ0BAACEhIcyYMQM7Ozv27duHRlN2GdJ33nmHWbNmldq+bNkybGxsbvIKq9bpFBXfntOgUSm81s6Iu0yLEELUASmmFJZlLSPGGIMaNXdZ30U3i26oVOUvnNo0dg1BMb8BcMznEc6ZBpJ0pOB3ccMOOVh7yMgAIYR55aeqSb9sQW7cf3NbLV0MODTOx9K5er8kEjUvOzubCRMmkJaWhoODQ7n71ZkesVv1ww8/0KZNmxJJGMC4ceOKbrdp04a2bdvSuHFjduzYwZ133lnmuaZPn87UqVOL7qenp+Pj48PgwYOv29g1Qa/Xs2XLFl4aM5ALK06y40IiOzPc+em+jtf9ICMqprB9Bw0ahE5XRqEAcUukfatXbW/fI3FH+HjPx6QaU2lg2YB5vebRyb3TdY9RH/4BzdGCJMx45yz8mj/O4Q+CAQOt+jai5+jGNRB5gdrevnWdtG/1kvatXoXt27l1J05tjyHkSAJ5iVoSErV4NnGgw2BfvFo0kM9qN6m2vX8LR8vdSJ1JxFxcXNBoNMTFxZXYHhcXh4eHx3WPzcrKYsWKFcyePfuGzxMYGIiLiwuXLl0qNxGztLQss6CHTqerFS8+FMTyzt2tGfzZLv4NSeKfC8kMbX39dhIVV5te6/pI2rd61bb2VRSF5eeWM+/QPAyKgZbOLfm8/+c0srvB5PZjy2HTawW3+0yDHi/wzydHycs24OprT+/RzdDoan4qdG1r3/pG2vfWpWXrCUnM5HJCFiEJmVxOyORSfCZxKRoWXjmMl5MNjRpY0aiBNY0aWOPVwApPR2vc7C3RaupUeYFax83XkSGPu5B2TzbBm8I5ty+GmEvpxFw6hZufPZ2G+RPQ1gWVWhKym1Fbfj9UNIY6k4hZWFjQqVMntm3bxqhRowAwmUxs27aN55577rrH/vbbb+Tl5TFp0qQbPk9kZCRJSUl4enpWRdhm5e9iyxN9Avly+yXmrD1Dv+auWOlk1XchRO2Rb8zn3f3v8uelPwG4K+Au3unxDtbaG4ynPvN3QYVEgG5PQ/8ZHFwdQuzlNCysNAXrhZkhCROitjCaFCJTsouSrYKfLC4nZJKYmV/OUSrOxmZwNjajzEc1ahUeDlZFSZqnY0GSVpiwNXK0xsFaK706FeDoakP/SS3oMtyfo1vCObM7mviwDDYsPIlzI1s6DvGjaWc31JL41mt1JhEDmDp1Kg899BCdO3ema9eufP7552RlZfHII48AMHnyZLy8vJg7d26J43744QdGjRpVqgBHZmYms2bN4v7778fDw4OQkBCmTZtGkyZNGDJkSI1dV3V6pn9jVgVHEpWaw9c7Qnh5kBTuEELUDvHZ8by8/WVOJJ5ArVIztdNUJgdNvvGHuEvb4PdHQTFB+0kw5H1CTyURvCkcgAGTW+LoKhNjxe0hPVfP5asJVkHvVkHiFZqYTb7RVO5x7g6WNHa1I9DVlsaudvg5WXH22EGatetCXIae6NQcYtJyiUrNITo1h9i0XAwmhajUHKJSc4CUMs9ra6H5LzFrYE0jx+I9a9a4O1piqZUvhQvZOVnRe0wzOg/z5/i2gnL3ydFZbP3pDAfXXKbjED9a3OEpXyzVU3UqERs7diwJCQm8/fbbxMbG0r59ezZu3Ii7uzsA4eHhqNUl36jnz59nz549bN68udT5NBoNJ06cYPHixaSmptKoUSMGDx7MnDlz6vRaYsXZWGh5c0QQzywN5uudIdzf0RvfhrWjoIgQ4vZ1LP4YL+94mcScRBwsHJjXZx49vHrc+MCwfbBiIpj0EDQK7v6CzLR8ti06C0Cbft407lh6XUkh6jLT1QSoeK9WYdIVn1H+gsEWWjWBLrZFyVZh4hXgYou9VcmhU3q9noyL0K+Za5nDqowmhcTMvKLErOAnt+DftILbyVn5ZOUbuRifycX4zHLjcrW3LDHksfB2YS+bi53FbderZm1vwR2jGtNhsC8nd0Rx/J8I0hNz2bH0PIfWhdJhkC9BvRqhs5Qktj6pU4kYwHPPPVfuUMQdO3aU2ta8eXPKKwxpbW3Npk2bqjK8WmlYaw96NG7I3pAk5qw7w3eTO5s7JCHEbeyPC3/w7oF3MZgMNGnQhC/6f4GPg8+ND4w+BsvGgCEHmgyC+77DpKjY/P1pcrP0uPra0/N+WS9M1F2ZeQauFJu3FXL19pXELPIM5fduudpb0tjVlsBiyVYTVzsaNbBGU0VzjTRqFe4OVrg7WNHRt+z1VnPyjcSk/ZegRaXmlLqfZzCRkJFHQkYexyPKfi4LrbpET1qJ2w2sadTAChuLOvcRtkIsbXR0vsufdnf6cGZPNEc3h5GVmsee3y5yeEMo7e70oU0/byyt6+f1327kVbwNqFQqZt3dimHzd7PlTBw7zsfTr7l8YyyEqFl6o54PD33IyvMrARjkN4h3e76Lja4CvfQJ5+GX+yAvHfx6wpifQWvBgT9DiAkpnBfWSobviFrPZFKISc8lJL5ksnU5IYvY9Nxyj7PQqPF3sSHQxY7GbrZX/y1IuhyszF+cAMDaQkOgqx2BrmWvj6UoCslZ+SWGPBb0qOUW3Y7PyCPfYCI0KZvQpPIXP25go6OR43+JWX0rLKKz1NDuTh9a9/Hi3P4YgjeFkZ6Yy4G/LnN0Uxht+nnT7k4frO0tzB2quAWSiN0mmrrb83APf77fc4VZa87QvXFDGaMthKgxiTmJ/G/H/wiOD0aFiuc6PMeUNlMqNvwoJRR+vgeyk6BRBxi/AixsCDuVRPCmMAD6P9gSR1cZdi1qj+x8Q7GqhP/9ezkxk1x9+b1bLnYW1yRbBcMKvRpY1+nEAgq+GG5oZ0lDO0taezmWuU++wURceskhj1GpOcSk/nc7M89Aarae1Gw9Z2LKLhNeXwqLaHRqWvX2omUPTy4ejufIxjBSYrI4sjGM4/9E0KqXF+0H+WDnZGXuUMVNkETsNvLiwKasPhbNlcQsftwTytP9am59HSHE7et00mle/OdF4rLjsNPZ8UHvD+jr07diB6fHFCRhGTHg2hImrQIrBzJTctn60xkA2vT1okkn6eUXNU9RFGLTcwmJL0iwQuIzuZyYRUh8JtFp5fduadUq/F1sCXSxLejVuvpvYxc7HG1qR++WuVho1fg42+DjXP4XK+m5emKKDXe8HQqLqDVqmnfzoFkXd64cT+TwhlASwjM4/k8EJ3dG0qK7Jx2H+MoXUnWMJGK3EXsrHTPuasHUX4/zf/9cZFSHRng6SmUxIUT1WROyhln7ZpFnzMPfwZ/5A+YT6BhYsYOzkmDJqIIeMSd/mLwabJwxGU1s/uG/eWE9Rsu8MFG9cvKNXEksTLau9m5dXYcrO99Y7nHOthYFSVax6oSBrrb4ONugq+O9W+bkYKXDwUNHcw/7Mh83mhQSMvKu9qjVr8IiKrWKwA6uBLR3IeJsMkc2hBF9MZUze6I5+280Tbu403GoHw0blT08VNQukojdZu7t4MXSA+EcCUvh/fXn+L/xHcwdkhCiHjKYDHx65FOWnFkCQF/vvsztPRd7i7I/OJWSm14wJyzhHNg3gsl/gX3BovQH1lwh5tJ/88K0sj6iqAKKohCfkUdIfCYhV3u1/uvdyqGcul9o1Cr8nG2uFsq4Wp3w6rBCJ1uZv2MOGrUKD0crPBwrV1iksGetLhQWUalU+AY1xDeoIdGXUjmyIZTw08lcOBjHhYNxBLZ3pdMwP9z8HKr8uUXVkUTsNlNYuGPkl3tYczyaCV196d644Y0PFEKICkrNTeWVXa9wIOYAAE+0fYJn2z+LWlXBHoD8bFg+DmKOgU3DgiTMyR+AsNNJBG+UeWHi5uXqjYQmZRXM2ypMtq7O38rMM5R7nKO1rijRKky6Al3t8HW2wUIrvVt1TU0XFvF0sEKTp+aQ6SzezrZVWlikUZMGNHq+PQnhGRzZEErIsQQuX/3xCXKm8zA/GjUtOyGtV8r7tqQWk0TsNtTay5GJ3Xz5ZX847/x9mnUv9KrzE4CFELXD+eTzvLj9RaIyo7DWWvNer/cY5Deo4icw5MOvD0LYv2DpUDAnzLVgIfrMlLyieWGtZV6YuA5FUUjIzCuzWEZESna5n9fUKvB1trlmKGFB0uVse/utbXU7q47CIqDm1IHSXWtVVVjE1deeoU+2ITk6i+BNYVw4FEfEmWQiziTj2cSRTkP98W3lXC/fx7lnzuD75QL0nTqh86nAcii1hCRit6lXBjdn3YkYzsdlsGR/GI/0DDB3SEKIOm5j6Ebe/vdtcgw5eNt588WAL2jq1LTiJzAaYNXjcGkr6Gxg4m/QqD3A1Xlhp8jN1OPiY0dPmRcmgDyDkfCk7KKFjosveJyRW37vlr2VtkSy1fhqsuXb0KbWFGcQtV9lCouEJ2Wwec9hGvo0ITY9r6hnrToKizg3smXgI0F0GRHA0S3hnN0bTcylNNZ+eRxXX3s6DfUjsL0rqipaY87csg4cJOqZZ7DKyiLp08+w+exTc4dUYZKI3aYa2Fjw6pAWzPjzJJ9uvsCIto1wtbc0d1hCiDrIaDLy5bEv+f7k9wD0aNSDj/p8hKNl2d8il8lkgjUvwpm/QGMBY38B3zuKHj54dV6YzkrDkCmtZV7YbURRFJKy8rkQk8beOBUnNp7nSlIOlxMyCU/OxlRO75ZKBT5ONqUWOm7salfjBRbE7auwsEhgQyuyLyncNagpOt1/lTGrvbBIWwc6d3Ai9Wgyl/fHkhCewcZvT+HkYUPHoX407eKOpg6PisrYto2ol6ei5OeTHRhI4NtvmTukSpFE7DY2tosPyw6GcSoqnY82nmPeA+3MHZIQoo5Jz0/ntV2vsSdqDwCPtHqEFzq+gFZdiT8vigKbpsOxX0ClgdE/QpM7ix4OP53EkcJ5YZNa0MBN5oXVR3qjibCrvVv/DSUs6OFKy9Ff3UsDl8NKHGdnqS2WbP2XdPk1tMFKEnZRy1W0sEh0Wk6ZJfsrU1jEwU5Nb8WSZumQEpvNtkVn2f77RTy6uRHUoxE+rjbVUlikuqT+uZqYN98EoxHbAQO4OKA/be3qVrXIutPaospp1Cpm3d2a+7/ey29HIhnfzbfcXwJCCHGty6mXeWH7C4Slh2GpsWRWj1kMDxxe+RNtfx8OLCy4fc8CaDmy6KHMlDy2FM4L6+NF087uVRG6MKOUrPyrQwhLzt0KS87GWE73lkoFXo5W2CnZdAvyp6m7A4GutjRxtcPV3lJ6t0S9Zm2hKRpCW5ZyC4uk5hb1tMVn5JFuMrGOHLbYQfs8LZ3ztNhmGojeFs2Ff6I4ZGkgtIEKN6f/Kj7+N/yxagqLVJWknxYR/+GHADjedx8ub72JsnmzmaOqPEnEbnOd/JwY3cmb349EMvOv06x+tieaejJmWAhRff4J/4cZe2aQpc/C09aTz/t/TlDDoMqf6N8vYNdHBbfv+hjajy96yGQ0seXH0//NC3tA5oXVFXqjiYjk7KL5WsWTrpRsfbnH2Vz9wFl8za3GrnYEuNiiwcT69eu5664WJYZ2CXG7u9nCItFJ2SRdTMc1Kh87g4r+uTqy4xSCU7PZbZFOXhn5VlUVFrlZiqKQ8Pl8kr75BgDnRx7BbdqrGAzlzwmtzSQRE7w2tAWbTsVyMiqNXw9HML6rr7lDEkLUUibFxDfHv+Gr418B0MWjCx/3/RhnK+fKn+zwT7Dl6nj+O9+GrlNKPHxw7RWiL6YWzAt7XOaF1UZp2XouFRtCWJh0hSVlYyhv8hbg1cC6VLIV6GqLh4NVuR/g9HpTdV2GEPXe9QqLGA0mzh+I5fCGUEjMpVeujl5GC/L9bYl01RCRk19thUUqQzEaiZ01m9RffwXAdepUGk55vE73iEsiJnC1t+TlQc2YvfYMH208x7DWHjSwkUUohRAlZemzmLF7Bv9E/APAhBYTeKXLK+jUN9E7cfJ3WPtywe1eL0Pv/5V4uNS8MHeZF2YuBqOJyJQcLidmEhKfVfRvSEImSVn55R5nrdMQ4GJLYze7EnO4Alxs69Q8FCHqO41WTVDPRrS4w4NLwfEc2RBGcnQWFhczaRqq5p5ejejwgC82DSzLLCwSlZpTtDj2LRUWKdaz1vCa5SJM+flET3uNjI0bQa3G452ZOI0ZUxPNU63kN6EA4MHufqw4FM6FuEw+2XyBOaNamzskIUQtEpYexov/vEhIWgg6tY637niLe5vee3MnO78BVj0BKNDlcbhzZomHs1Lz2LroDCjQSuaF1Zj0XH3RIsfFhxKGJWWTbyy/N8rT0eq/Xq2riVegqx2eDlaoZai7EHWGWqOmWRcPmnZyJ/RkIoc3hBEfms7J7ZGc3hVF8zs86DjEj46+TtVeWMRCqy7qSfO1VjH8t89wOX8cRatD+/YcLEfdxHzkWkgSMQGATqPmnbtbMeG7Ayw9EMa4rj60alSJ0tNCiHprT9Qepu2cRoY+AzdrNz7r/xltXdve3Mku74RfHwLFCG3HwbB5BZUYripYL+w0ORl6Gnrb0UvmhVUpo0khKiWHkMRMQuIzuZyYVfRvQkZeucdZatX/9W4VJlsudgS42mJnKR8lhKhPVGoVAe1c8W/rQuS5FI5sCCXqQipn/43h3N4YmnRyo9Mwfxp6lS4eUtHCIsULiZRVWCTfYCI0KZukmAQe2PcDLinh5GgsmN31YY4FayF4Ew1sdDS62pvm4WBBeowKr8g0Oge4VHcTVRn57SmK9Gjswoi2nqw9EcPMv07z21Pd6/S4WyHErVEUhR9P/cj84PkoKLRzbcdn/T7D1cb15k4YcQiWjwdjHrQYUVAhUV1yNvihdaEF88IsNQyV9cJuWmaeoVSRjJD4LK4kZZFvKL93y83esuRCx24FvVxeDayld0uI24xKpcKnpTM+LZ2JCUnjyMZQwk4mcfFwPBcPx+Pf1oVOw/zwCKj4F/fFC4u08b5+YZGYS+FYTH8Jy5Rw8qzt+G30VHJsvLBLzSEzz0Bqtp7UbD1nYtKvHqkh8FKSJGKi7npjeEu2nY3ncFgKq49FcW8Hb3OHJIQwg2x9NjP3zmRj6EYA7m96PzO6zcBCc5PzR2NPwdL7QZ8Fgf0L1grTlPwTFH4mqWCyODIvrCJMJoXotBxCEgp7tf6bwxWXXn7vloVWTUBDWxq72RLoYlf0b6CrLfZWUo1QCFGaZ2NHRjzbjoSIDI5sCCPkaDyhJxIJPZGIdwsnOg3zx6tZgyr5At9Cq8Y9PZ68159FHx2N1t2dwB++Z26T/0ZIpOfqC4Y8Xp2jFpmcxaEzIbT1crjl569JkoiJEjwdrXn+ziZ8tPE8768/x8CW7vKHWYjbTFRmFC/+8yLnU86jVWmZ3m06Y5rfwqToxEuwZBTkpoFPNxi3FLSWJXbJSs1j609X54X1bkTTLjIvrFBWnoEriVd7tYqtu3UlMZPc61QSdLGzLFEko3C4kJeTtSxTIoS4Ka4+9gx9ojUpsVkEbwrjwoE4Is+lEHkuBY9ABzoN88evdcNbSshyz5wh/PEpGJOTsfDzw/fHH9B5eZXYx8FKh4OHjhYeBYmXXq9nvf4ivZvWnd4wkERMlOGxXgH8djiSK4lZfLHtIm8Mv4m1gYQQddKBmAO8svMVUvNScbZy5tN+n9LJvdPNnzA1An6+B7ISwKMNTPgVLGxL7FJ6XljTW7yKukdRFGLSckstchySkElMWm65x+k0Kvwb2v43lPDqsMJAVzscreVLNCFE9XDysOXOh4LoMjyAo1vCOftvDLGX01m34AQNve3oNNSPxh3dKj2kOfvQISKefgZTZiaWQS3x/e47tA0bVtNVmJ8kYqIUS62Gt0cG8chPh/jp31DGdvGhiZu9ucMSQlQjRVH45ewvfHL4E4yKkVYNW/F5/8/xsPW4+ZNmxhckYemR0LApTPoTrBuU2q3UvDCL+jsvLCffyOXE0snW5YQscvTGco9raGtR5kLH3k7WaDVlrLoqhBA1wMHFmr7jm9P5Ln+Ob43g1K4okiIz2fz9aRq4X6HjED+adXNHU4HfUxn/bCfq5ZdR8vKw6dIF76+/QmNXdtGP+kISMVGm/s3dGNjSna1n43jn7zMseayrFO4Qop7KNeQyZ/8c/g75G4CRgSN5u/vbWGmtbv6k2cnw8yhIDgFHX5j8F9iVLvIRcSa5aF5Yv0nN68W8MEVRiC3q3So5nLBgEdSyadUq/BraXB1KWKxghqutrO0ohKjVbB0t6XF/EzoO9ePEPxGc2B5Jalw2//x8loNrL9NxsB8te3iW+0Vb6urVxLzxJhiN2A0YgNdnn6K2tCxz3/pEEjFRrrdHBLHrYgJ7LiWy8VQsw9p4mjskIUQVi82K5aXtL3E66TQalYZXOr/CxJYTb+2Ll7wMWPoAxJ8GO3eYvBocvUrtlpWWx5afToMCQb0b0azLLfS+1QJ/BEex4ISGGUf+ISu//N6tBja6ogSrIOEquO3jbINOereEEHWYla2OriMDaT/Il1O7oji2NYLM5Dx2rbjAofWhtB/oQ+s+XlhY/ZeCJC9eTNzcDwBwHDUKz3fnoNLeHinK7XGV4qb4NrThqb6N+WLbReasPUO/5m5Y1+MhQ0LcboLjgnl5x8sk5ybjaOnIx30/5g7PO27tpPrcghL1UYfB2gkeXA0NG5fazWRS2FI4L8zLjt51fF7YwSvJTF99GkVRAUY0ahV+zjalhhIGutrhbCu9W0KI+s3CSkvHwX607efN2b0xBG8OIzM5j32rQgjeGEbbAT606edFxvdfkbTwGwCcH3oIt9emoVLfPl9ISSImruvpvo3540gkUak5fLXjEv8b3NzcIQkhqsCv539l7oG5GBQDzZyaMb//fLztb3G5CqMefnsYQneDhT1M+gPcyy72c2jdFaIuFMwLGzKlVZ2eF5adb+DV34+jKNCxoYn3JvSisbsjFtrb58OEEEKURWuhoU0/b4J6NeLCwViCN4WTGpfNobVXOLruIo3C4vCxcMD72cdo+MSU224ajPyVENdlbaHhrREtAfhm52XCkrLMHJEQ4lYYFAPvHnyXOfvnYFAMDPEfwpJhS249CTMZ4c+n4MIG0FrBhBXgVXa1xYizyRxeHwoUzAtz8rAtc7+64qON5wlLysbT0YoxgSaauNlJEiaEEMVotGpa9mjE+JndGPxwcxxUaRgULeG+g9jX631OO/QlI7n8CrH1lfylEDc0pJUHvZu6kG80MWftGXOHI4S4SQk5CfyY+SOrLq1ChYqXOr7EvD7zsNHdYoEMRYG1L8Op30GthTFLwL9XmbtmpeWx5cer88J61f15YftCkli0NxSAufe2wlrGmQghRPlyc7D8biadts+g7ZlvcXEyYTKpOLUziqVv7Wfb4jOkxN4+X/pLIiZuSKVSMXNkK7RqFVvPxvPPuThzhySEqKSTCSeZtHES4cZw7HR2LLhzAY+1eezWh4EoCmx+E4IXg0oN938PzQaXuavJpLDlx8J5Ybb0HlO354Vl5RUMSQSY2M2Xno3r71o3Qghxq4ypqYQ/8ihZ//6L2tqaDu8/z5j37+Selzvg3cIJk0nh3L5Yls06wMZvT5EQkWHukKudfHcnKqSJmx2P9Qrgm12XmbXmDD0au2Clq7tzOoS4nay+tJrZ+2ajN+lxVbvy3ZDvaFxGAY2bsmse7Puy4PbIL6DVveXuenjdFaLOp6K11DCkHqwXNnfDWSJTcvB2smb6XS0BxdwhCSFEraSPiyPi8cfJu3gJtaMjvt8sxLp9ewC8mzvh3dyJ2MtpHNkYRuiJREKC4wkJjsevTUM6D/PHI9DRvBdQTSQRExX2/J1N+fNoFGFJ2fyw5wrP9m9i7pCEENehN+n55PAnLD27FIB+3v3ondEbXwffqnmC/V/D9vcKbg+ZCx0fLHfXiHPJHCqcFzah7s8L23MxkV/2hwPw0ei22Flq0ev1Zo5KCCFqn/zQUMIfexx9VBRaNzd8f/gey6alR0R4BDoy/Jm2JEZmErwxlEtH4gk7mUTYySS8mjeg0zB/vJs71auCHjI0UVSYnaWWGXcVFO748p9LRF9nYVIhhHkl5ybz5JYni5KwZ9o9w8e9P8ZSVUULZAYvgY2vF9zuNwO6P1PurgXzws4UzAvr6UnzbnV7XlhGrp7X/jgBwEPd/ejR2MXMEQkhRO2Ue/YsoRMnoY+KQufni9+yZWUmYcW5eNsx+PHWTHjnDlr28EStVhF1PpW/Pz/G7x8e4crxBBRT/RiBIImYqJR72jeii78TOXoj760/a+5whBBlOJt0lvFrx3Mo9hA2Whvm95/P0+2fRq2qol/5p/+ENS8U3O7+HPSdVu6uRfPC0vML5oWNbVY1MZjRe+vOEpWag6+zDa8Na2HucIQQolbKPnyYsAcnY0xKwrJlS/yXLsXC26vCxzdwt2HA5JZMerc7bfp7o9GpiQ9NZ/3XJ1n53kEuHorDVMcTMknERKWoVCpm3d0atQrWnYhh76VEc4ckhChm/eX1TN4wmeisaHztfVk2fBkDfAdU3RNc3AJ/TAHFBB0nw+B34TrDRA6vD61X88J2nI9nxaEIVCr4+IF22FjICH8hhLhWxvbthD/2OKbMTGw6d8bv58VoXW5u9IC9sxV9xjZj8ns96DjEF52VhqSoLDb/cJplM/dz5t9ojAZTFV9BzZBETFRaUCMHHrzDD4CZf59Gb6ybb34h6hOjycinhz/ltd2vkWvMpZdXL5aPWE7jBlVUlAMgdA+snAQmPbS6D0Z8ft0kLPJcMofWXQHqx7ywtBw9r/9xEoBHegTQNcDZzBEJIUTtk/bXX0Q+9zxKXh52/fvj8/13aOztb/m8Ng4WdL+3CZPf60HXkQFY2mpJS8hh+5JzrJh9mMxQHYZ8YxVcQc2pc4nYggUL8Pf3x8rKim7dunHw4MFy9120aBEqlarEj5WVVYl9FEXh7bffxtPTE2trawYOHMjFixer+zLqvKmDmuNsa8HF+EwWX11DRwhhHml5aTyz7Rl+Ov0TAI+1fowvB3yJg4VD1T1JVDAsGweGXGg2FO77FtTl925lpeWx+eq8sJb1YF4YwJy1Z4hNzyXAxZZXhzQ3dzhCCFHrJP/8M9GvvQ5GI4733I33F/NRX/PZ+1ZZ2eroMjyAye/1oMf9TbBxsCArJY/Us1bs+TWkSp+rutWpRGzlypVMnTqVmTNnEhwcTLt27RgyZAjx8fHlHuPg4EBMTEzRT1hYWInHP/roI7744gsWLlzIgQMHsLW1ZciQIeTm3n6re1eGo42OaVc/iHy+9SLxGdJeQpjDxZSLjF83nr3Re7HWWjOv7zxe6vQSmuskSZUWfxZ+uQ/yM8C/NzywCDS6cncvmBd2hpz0fJwb1Y95YdvOxvH7kcirQxLbYl3Hh1gKIURVUhSFhC++IO79uQA4PzQZz7lzUenK/1txqyystHQY5MuD73Wn19gmaKxNtOrjWW3PVx3qVCL26aefMmXKFB555BGCgoJYuHAhNjY2/Pjjj+Ueo1Kp8PDwKPpxd3cvekxRFD7//HPefPNN7rnnHtq2bcvPP/9MdHQ0q1evroErqtvGdPahnbcjmXkGPtxw3tzhCHHb2Rq2lYnrJxKREYGXnRdLhi1hqP/Qqn2S5Mvw8yjISQGvTjB+Oeisr3vIkQ2hRJ1PQWupYegTrdHV8aQlNTuf6asKhiRO6R1IJz8ZkiiEEIUUk4m4OXNI/OprAFxfehG3119Hpa6ZNEOr0xDUyxOPvlm4+t76EMiaVGdmGefn53PkyBGmT59etE2tVjNw4ED27dtX7nGZmZn4+flhMpno2LEj77//Pq1atQLgypUrxMbGMnDgwKL9HR0d6datG/v27WPcuHFlnjMvL4+8vLyi++np6QDo9XqzryNT+Pw1Fcdbw1sw+psD/BEcyZhOjejo26BGntdcarp9bzfSvhVjUkx8c/Ibvjv1HQBd3LvwQc8PcLJyum7bVbp906PR/nwPqsxYFLcgDGNXgNoKrnN81PlUDq4tmBfWe2wT7Bpa1PnXc+Zfp4jPyCPQxZbn+wWUez3y/q1e0r7VS9q3etXX9lX0euLeeIPMDRtBpcL1zTdwHDMGg8FQo3Ho9XpUqtrTvhWNQ6UoSp2o+xgdHY2Xlxd79+6le/fuRdunTZvGzp07OXDgQKlj9u3bx8WLF2nbti1paWl8/PHH7Nq1i9OnT+Pt7c3evXvp2bMn0dHReHr+15U5ZswYVCoVK1euLDOWd955h1mzZpXavmzZMmxsbKrgauuW5SFq9ser8bZV+F8bI+r6s86eELVOrpLL71m/c85wDoAelj0YYjUEjapqe50s9On0uvge9nkxZFq6s6fpG+TpGlz3GGOeirg9Npjy1dh45+PcJu+6+9cFJ5JV/HBegwqFl1ob8a9bX7YKIUS1UeXn02jJL9heuICi0RAzdgyZ7dqZO6xaITs7mwkTJpCWloaDQ/nztetMj9jN6N69e4mkrUePHrRs2ZJvvvmGOXPm3PR5p0+fztSpU4vup6en4+Pjw+DBg6/b2DVBr9ezZcsWBg0ahK4ax+UW1y0zj0Hz/yUyy0C6axsmdPWpkec1B3O07+1E2vf6QtNDmbprKqGGUCzUFrzZ9U1GBI6o8PEVbt/cNLS/jEKVF4Pi4IXl5LXc6Xj9/9cmk8KGBacw5afi5GnDvS/3qPOl6pOz8pn9f3uBfJ7oHcgzg6+/CKm8f6uXtG/1kvatXvWtfY1pacQ8+xy5Fy6gsrbC87PPaNqzp9niqW3tWzha7kbqTCLm4uKCRqMhLi6uxPa4uDg8PCpWjUun09GhQwcuXboEUHRcXFxciR6xuLg42rdvX+55LC0tsbS0LPP8teHFh5qNxcNJx/8GNeOdNWf4bNsl7m7vjZOtRY08t7nUpte6PpL2LW1X5C5e2/UamfpM3G3cmd9/Pq1cWt3Uua7bvvlZ8OtEiDsJtq6oJv+NziXwhuc8tO4KURdS0VqoGfpEG6xtq7ZKljm8u+EUSVn5NHO3Y+qQ5ui0FUss5f1bvaR9q5e0b/WqD+2rj4sn+vHHybt4EbWjIz4Lv8amQwdzhwXUnvataAx1pliHhYUFnTp1Ytu2bUXbTCYT27ZtK9HrdT1Go5GTJ08WJV0BAQF4eHiUOGd6ejoHDhyo8DlFgUl3+NHCw57UbD0fb5bCHUJUFUVR+PbEtzy37Tky9Zl0dOvIihErbjoJuy5DHqyYCBH7wcoRHvwTXJrc8LDI8ykcujovrO+E5jh71u31wgDWn4xhzfFoNGoVHz/QDssKJmFCCFGf5YeFETZxInkXL6J1dcVvyc+1Jgmri24qEQsJCeHNN99k/PjxRaXjN2zYwOnTp6s0uGtNnTqV7777jsWLF3P27FmefvppsrKyeOSRRwCYPHlyiWIes2fPZvPmzVy+fJng4GAmTZpEWFgYjz/+OFBQUfGll17i3Xff5e+//+bkyZNMnjyZRo0aMWrUqGq9lvpGq1Ez6+6CD4bLDoZzKirNzBEJUfdl67P5387/8X9H/w8FhbHNx/L94O9xsXap+iczGuD3R+HydtDZwsTfwaPNjWNMz2fLD6dRFGjRw5MWd9St0sFlSczM483VpwB4pl9j2no3MG9AQghRC+SeO0foxEnoIyPR+fnit3wZVs3q/vIk5lTpRGznzp20adOGAwcOsGrVKjIzMwE4fvw4M2fOrPIAixs7diwff/wxb7/9Nu3bt+fYsWNs3LixqCR9eHg4MTExRfunpKQwZcoUWrZsyV133UV6ejp79+4lKCioaJ9p06bx/PPP88QTT9ClSxcyMzPZuHFjqYWfxY11C2zIPe0boSjw9l+nMJnqRB0YIWqliIwIJm2YxJawLWjVWmZ2n8mbd7yJ7jrrd900kwn+ehbOrQWNBYxfBj5dK3CYwpYfT5N9db2wPuPq/h9kRVF4a/UpkrPyaeFhz/MDrj8vTAghbgfZR44Q9uBkjImJWLZogf/SpVh4e5s7rDqv0nPEXn/9dd59912mTp2Kvf1/5aMGDBjAl19+WaXBleW5557jueeeK/OxHTt2lLj/2Wef8dlnn133fCqVitmzZzN79uyqCvG2Nn1YS7aciSM4PJVVR6MY3Un+kwpRWXuj9/LqzldJz0/HxdqFz/p9Rnu39tXzZIoCG6bBiRWg0sADiyGwX4UODd4YSuS5FLQWaoY8XvfXCwNYeyKGDadi0V4dkmihrTMj+IUQolpk7NhB1Esvo+TmYt2pEz5ff4XGzMXp6otK/4U5efIk9957b6ntbm5uJCYmVklQou7ycLTihTsLvkH+YMNZ0nNrx3oOQtQFiqKw+PRint76NOn56bRxacOK4SuqLwkD2DYbDn0HqODeb6DFXRU6LOp8CgfXFJsX1qjuzwuLz8jlrb8KhiQ+N6AJrb0czRyREEKYV9qaNUQ++xxKbi52ffvi+/13koRVoUonYg0aNCgx/K/Q0aNH8fLyqpKgRN32aM8AAl1sSczMZ/7Wi+YOR4g6IdeQy/Q90/n48MeYFBOjmozip6E/4W7rXn1PuvtT2PNpwe0Rn0LbByp0WHZ6PpsL54V196gX88IUReGNP0+Rmq0nyNOBZ/vfuEiJEELUZ8lLfiH61WlgNOJw90i8v/w/1NbW5g6rXql0IjZu3Dhee+01YmNjUalUmEwm/v33X1555RUmT55cHTGKOsZCq+adq4U7Fu0N5UJchpkjEqJ2i8mMYfKGyay7vA6NSsP0rtOZ3WM2lprSy2RUmYPfwbarC9MPmg2dH63QYYpJYetPBfPCnDxt6TOuefXFWIP+OhbNljNx6DQqPhnTDp1GhiQKIW5PiqKQ8H9fEvfeewA4TX6QRh98gKoWlIWvbyr9l+b999+nRYsW+Pj4kJmZSVBQEH369KFHjx68+eab1RGjqIP6NHNlSCt3jCaFmX+dRlGkcIcQZTkUe4hx68ZxNvksTpZOfDf4Oya0nIBKpaq251Sd/BXWv1Jwp8+r0PPFCh97ZGMYEWcL5oUNndIanWXdnxcWl57LzL8Lqv6+eGdTWnrKsBshxO1JMZmIe/c9EhcsAMDlhedxnz4dlVq+nKoOlSrWoSgKsbGxfPHFF7z99tucPHmSzMxMOnToQNOmUllKlPTm8CB2nE9g3+Uk1p2MYUTbRuYOSYhaQ1EUVpxfwUcHP8KgGGjp3JLP+39OI7vq/X/imXoYzbGCP7B0fRL6v1HhY6MupHBwzWUA+o6vH/PCFEVhxqqTpOXoaePlyFN9G5s7JCGEMAslP5/o6TNIX7cOVCrc33oT5wkTzB1WvVbpRKxJkyacPn2apk2b4uPjU11xiXrAx9mGp/s15vOtF3lv3VkGtHDDxqLShTqFqHfyjfm8u/9d/rz0JwDDAoYxq8csrLXVO/ZedXkHnUK/QqUYof1EGPoBVLDnrcS8sDs8aNG97s8LA/gjOIpt5+Kx0Kj5ZEw7tDIkUQhxGzLl5BD54otk7doNWi2NPvgAxxHDzR1WvVepvzhqtZqmTZuSlJRUXfGIeuapvo3xdrImJi2XBdsvmTscIcwuPjueRzY+wp+X/kStUvNK51f4sPeH1Z6EEb4fze+T0SgGTC1GwsgvoIJDTRSTwtZFZ8hOy8fJw4Y+4+vHvLCYtBxmrSkYkvjyoGY0c7e/wRFCCFH/GNPSCH/0MbJ27UZlZYXP119JElZDKv3V3wcffMCrr77KqVOnqiMeUc9Y6TS8PaJgAe3vdl3hSmKWmSMSwnyOxR9j7NqxnEg8gYOFA1/f+TUPtXqoWueDARBzHJaOQaXPJs6+DcZ7FoKm4r3TRzaFEXEmGa1OzZAn6se8MEVReP2Pk2TkGmjv04ApvQPMHZIQQtQ4fXw8YQ9OJufoUdQODvj++CN2vXubO6zbRqUTscmTJ3Pw4EHatWuHtbU1zs7OJX6EuNagIHf6NnMl32hi1hop3CFuT39c+INHNj1CYk4iTRo0YcXwFfTw6lH9T5xwAZbcC3lpmHzu4FDgC6CteDXG6IspHPy7YF5Yn/HNadjIrroirVG/Ho5g54UELLVqPn5AhiQKIW4/+RERhE2cRN6FC2hdXfFbsgSbjh3MHdZtpdITdj7//PNqCEPUZyqVipkjgxjy+S52nE9g29l4BgZV49pIQtQieqOeDw99yMrzKwEY6DuQ93q9h43OpvqfPCUMfr4HspPAsx3GMcsw/rOnwodnp+ez+fuCeWHN7/CgZY/6MS8sKjWHOWvPAvDqkOY0casfyaUQQlRU7vnzhD/+OMaERHS+vvj+8D0WUvuhxlU6EXvooYeqIw5RzwW62vFYr0AW7gxh9toz9GrqgpWu7g9vEuJ6knKSmLpjKsHxwahQ8VyH55jSZkr1D0UEyIgtSMIyosG1BUz6EywqXpa9cF5Y1tV5YX3rybwwRVF47fcTZOYZ6OznxCM9ZUiiEOL2kh0cTMRTT2NKT8eyeXN8v/8OraurucO6Ld1UCTuj0cjq1as5e7bgG8VWrVpx9913o9HIB2tRvucHNOHPo5GEJ2fz3a7LPH+nLHkg6q/TSad58Z8XicuOw05nx9zec+nn069mnjw7GX4eBSlXoIEfPLgabBuCXl/hUwRvLjYvrJ6sFwaw9EA4ey4lYqVTM++BdmjUNZAUCyFELZG5cyeRL76EkpuLdceO+Cz8Go2DrJ1oLpUeFH/p0iVatmzJ5MmTWbVqFatWrWLSpEm0atWKkJCQ6ohR1BO2llreGF5QuGPBjktEpmSbOSIhqseakDU8tOEh4rLj8HfwZ+nwpTWXhOWmwy/3QcJZsPeEyX+BQ+WGFEZfTOXAX4XzwprR0Kt+DN2LSM7m/fUFXyC+NrQFAS51fx00IYSoqLQ1a4l49jmU3Fxs+/bB94fvJQkzs0onYi+88AKNGzcmIiKC4OBggoODCQ8PJyAggBdeeKE6YhT1yMi2nnQLcCZXb+K9dWfNHY4QVcpgMjDv0Dxm7JlBnjGPPt59WDZ8GYGOgTUTQH42LB8H0UfB2rmgJ8y5ckPvcjLy2fz9qYJ5Yd3qz3phJpPCq78fJzvfSNcAZx7q7m/ukIQQosYkL11K9LRpYDDgMHIkPl9+idq6mpdNETdU6aGJO3fuZP/+/SUqJDZs2JAPPviAnj17Vmlwov5RqVTMuqcVw7/Yw4ZTsey+mEDvpjIuWdR9qbmpvLLrFQ7EHADgibZP8Gz7Z1GraqganyEffp0MYf+CpQM8uArcWlTqFIpJYetP/80L6zO+Wc3MZ6sBS/aHsf9yMjYWGj4e3Q61DEkUQtwGFEUh8auvSPy/LwFwmjQJ9xnTUVVwHUlRvSr9KlhaWpKRkVFqe2ZmJhYWFlUSlKjfWng48OAdfgC88/dp8g0mM0ckxK05n3yecevGcSDmANZaaz7t9ynPd3i+5pIwkxFWTYFLW0BrDRN+hUaVL0EcvDmM8GLzwiysbmoaca0TmpjFBxvOATB9WAt8G9ZAxUohhDAzxWQi7r33i5Iwl+efw/2NGZKE1SKVfiVGjBjBE088wYEDB1AUBUVR2L9/P0899RR33313dcQo6qGXBzWjoa0FIQlZLN4bau5whLhpm0I38eCGB4nKjMLbzptf7vqFQX6Dai4AkwnWvABnVoNaB+N+Ab/ulT5N9MVUDvx9BYDe4+rPvLDCIYk5eiM9GjdkYjc/c4ckhBDVTtHriZ72Gim//AKA+5tv4vrss/VmlEN9UelE7IsvvqBx48Z0794dKysrrKys6NmzJ02aNGH+/PnVEaOohxytdbw2rGDY1OdbLxCfnmvmiISoHKPJyPzg+byy8xVyDDl09+zOihEraObUrOaCUBTYNAOO/gIqNYz+AZoMrPRpcjLy2fzDaRSTQrNu7vVmvTCAn/aGcig0BVsLDR/e31aGJAoh6j1TTg4Rzz1H+tq1oNXSaN48nCdNNHdYogyVHnfSoEED/vrrLy5dulRUvr5ly5Y0adKkyoMT9dvojt4sOxDOsYhU5m44x2dj25s7JCEqJD0/ndd3vc7uqN0APNzqYV7s+CJadQ0P5dsxFw58XXD7ngUQdE+lT1G0XlhqHg3cC9YLqy/fmF5OyOSjjQVDEt8YHoSPswxJFELUb8b0dCKefoacI0dQWVnh/cV87Pr0MXdYohw3/amhSZMmknyJW6JWq5h9TyvuWfAvfx6NYnxXX7oGON/4QCHM6HLqZV7Y/gJh6WFYaiyZ1WMWwwOH13wge/8Pdn5YcHvYPGg/4aZOE7w5jPDTyWh0aoY+UX/mhRlNCq/8dpw8g4neTV0Y39XH3CEJIUS1MiQkEP74FPLOn0ft4IDPwq+x6djR3GGJ66j00MT777+fDz/8sNT2jz76iAceeKBKghK3j7beDRjXpeAD0sy/T2M0KWaOSIjy/RP+DxPWTyAsPQxPW09+HvazeZKwI4tg85sFtwe8Bd2euKnTRF/6b15Yn3o0Lwzghz2XCQ5Pxd5Sy4f3t603vXxCCFGW/IgIQidOIu/8eTSuLvgt+VmSsDqg0onYrl27uOuuu0ptHzZsGLt27aqSoMTt5dUhLXC01nE2Jp1lB8LMHY4QpZgUE18f/5oXt79Ilj6Lzu6dWT58OUENg2o+mJO/w5qXCm73fBF6/++mTpOTmc/m76/OC+tav+aFXYrP4OPNFwB4a0QQjRrIWjlCiPor9/wFQidMQB8ejs7HB/+lS7Fq3tzcYYkKqHQiVl6Zep1OR3p6epUEJW4vzrYWvDK4oMDBvE3nScrMM3NEQvwnS5/Fy9tf5qtjXwEwocUEvh38LQ2tG9Z8MOc3wp9PAgp0fhQGzoKb6OkpWC/s7H/zwibUn3lhBqOJ//12gnyDiX7NXXmgs7e5QxJCiGqTHXyUsAcfxJiQiGWzZvgt/QULX19zhyUqqNKJWJs2bVi5cmWp7StWrCAoyAzfDot6YUI3P4I8HUjPNfDx5vPmDkcIAMLTw5m4biL/RPyDTq1jdo/ZTO82HZ1aV/PBXNlVsGCzyQBtxsBdn9xUEgZwfFsk4aeT0NSz9cIAvt19meMRqdhbafngPhmSKISovzJ37yb80Ucxpadj3aEDfkt+RufmZu6wRCVU+q/vW2+9xX333UdISAgDBgwAYNu2bSxfvpzffvutygMUtwfN1cIdoxfuY8WhCMZ18aWdTwNzhyVuY3ui9jBt1zQy8jNws3bjs/6f0da1rXmCiTwMy8eDMQ+aD4dRX8FNLsiZl6Lh0MFQAPqMbYaLd/2ZF3Y+NoPPt1wE4J2RrfBwtDJzREIIUT3S1q0j+rXXwWDAtk9vvOfPR20tw7Drmkr/JR85ciSrV6/m0qVLPPPMM/zvf/8jMjKSrVu3MmrUqGoIUdwuOvs7c28HLxQF3v77NCYp3CHMQFEUfjj5A89sfYaM/AzaubZjxYgV5kvCYk/BL/dDfiYE9IXRP4Lm5nrkcjP1JB+zQjFB0y7utOxZf+aF6Y0mXvntOPlGEwNbunFfRy9zhySEENUiZflyol95FQwGHEaMwGfBAknC6qibGo8yfPhwhg83Q6UwUe9NH9aCzadjOR6Ryu/BkYzpLCWnRc3J1mczc+9MNoZuBOD+pvczo9sMLDSl58XWiKQQWHIv5KaCd1cYtwx0N9fLo5gUti85jzFXjaObNf0m1p95YQALd4RwMioNR2sd79/bpl5dmxBCQMEXhYlff03iF/8HgNOECbi/+QaqmxwhIczvll653NxcFi9ezFdffcXFixerKiZxG3NzsOKlgQWFOz7ccI60HL2ZIxK3i6jMKCZvmMzG0I1oVVreuuMtZnafab4kLDUCfr4HsuLBvQ1M/A0sb34Y4dEt4UScSQG1wsBHW9areWFnotP54p+Cv0Gz72mFm4MMSRRC1C+KyUTc+3OLkjCXZ5/F/a03JQmr4yr86k2dOpXnn3++6H5+fj533HEHU6ZMYcaMGXTo0IF9+/ZVS5Di9vJwT3+auNmRlJXPZ1sumDsccRs4EHOAcWvHcT7lPM5Wznw/5HvGNB9jvl6VzHhYMgrSIqBhU3jwT7BucNOniwlJY/9flwFoEJRHQy/bqomzFsg3FAxJ1BsVhrRy5+52jcwdkhBCVClFryf69ddJWbIEAPc33sD1+eek578eqHAitnnzZgYNGlR0f+nSpYSHh3Px4kVSUlJ44IEHePfdd6slSHF70WnUvDOyFQA/7wvlbIwsiyCqh6Io/HLmF57c8iSpeakENQxi5YiVdHLvZL6gclIKhiMmXQJHH5i8Guxcb/p0uZl6Nn9/CsWk0LiTK7be9auXecH2S5yJScfJRse7o2RIohCifjHl5hL5/Auk/70GtFoazfsI5wcnmTssUUUqnIiFh4eXKE+/efNmRo8ejZ+fHyqVihdffJGjR49WS5Di9tOrqQvDWntgUmDm36dRFCncIapWnjGPN/99kw8PfYhRMTIycCSLhy7Gw9bDjEFlwtIHIO4U2LrB5L/A8ebXwVJMClsXnyEzJQ9HN2t6j2tysxXva6VTUWks2H4JgDmjWuNqb2nmiIQQouoY09MJf/xxMnfsQGVpifeX/4fjyJHmDktUoQonYmq1usSH4f3793PHHXcU3W/QoAEpKSlVG524rb0xvCVWOjUHrySz5kSMucMR9UhsViwPb3iYv0P+RqPSMK3LNN7r9R5WWjPOLdLnworxEHkIrBoU9IQ1bHxLpzy6NZywk0lotGqGPlG/1gvLMxh55bfjGEwKw9t4MqKtDEkUQtQfhoQEwiY/RM7hI6jt7fH98Qfs+/Uzd1iiilU4EWvZsiVr1qwB4PTp04SHh9O/f/+ix8PCwnB3d6/6CMVty9vJhmf7NQHgvXVnyMozmDkiUR8ExwUzdu1YTiWdwtHSkYWDFvJg0IPmHdJm1MPvjxQs2mxhB5NWgXurWzplTEga+1cXzAvrPbYpLt72VRFprfF/2y5xLjaDhrYWzL7n1tpKCCFqk/zISEInTiLv3Dk0Li74LfkZm05mHDIvqk2FE7Fp06Yxffp07rzzTu68807uuusuAgICih5fv349Xbt2rZYgi1uwYAH+/v5YWVnRrVs3Dh48WO6+3333Hb1798bJyQknJycGDhxYav+HH34YlUpV4mfo0KHVfRmigqb0CcTX2Ya49Dz+759L5g5H1HG/nv+VxzY/RnJuMs2cmrFi+Aru8LzjxgdWJ5MJVj8N59eD1grGrwDvW/uDW3xeWNPObgT1ql+9RccjUvl6ZwgA745qTUM7GZIohKgfci9cIGz8BPTh4ei8vPBf+gtWLVqYOyxRTSqciN17772sX7+etm3b8vLLL7Ny5coSj9vY2PDMM89UeYDFrVy5kqlTpzJz5kyCg4Np164dQ4YMIT4+vsz9d+zYwfjx49m+fTv79u3Dx8eHwYMHExUVVWK/oUOHEhMTU/SzfPnyar0OUXFWOg0zRxbMTfxhz2VCEjLNHJGoi/RGPbP2zWLO/jkYTAaG+A9hybAleNvf/PyrKqEosG4qnPwN1FoY8zME9L61U14zL6zfxBb1qoBFrr5gSKLRpHB3u0YMa1N/FqUWQtzeso8eJezByRgSErBs2hS/Zcuw8PMzd1iiGlVqwkBhb1hZZs6cWSUBXc+nn37KlClTeOSRRwBYuHAh69at48cff+T1118vtf/SpUtL3P/+++/5448/2LZtG5MnTy7abmlpiYeHGSfoi+u6s6U7/Zu7sv18ArPWnGHxI13q1QdLUb0ScxJ5efvLHEs4hgoVL3Z8kUdbP2r+95CiwJa34chPgAru+xaaDbnl0x7bGlE0L2zIlNZYWNefeWEAn229wMX4TFztLZl1twxJFELUD5m79xD5wgsoOTlYt2+PzzcL0Tg6mjssUc3qzF/o/Px8jhw5wvTp04u2qdVqBg4cWOH1y7Kzs9Hr9Tg7O5fYvmPHDtzc3HBycmLAgAG8++67NGzYsNzz5OXlkZeXV3Q/Pb2gvLper0evN29p6MLnN3ccVW3GsGbsuZTIrgsJbDwZzcCWbmaJo762b21R1e17KvEUr+x+hficeOx0dsztOZeejXpiMJh/vqF6z6do9n4BgOGuT1Ga3w23eN1xV9LZt7pgyF73+wNp4GFVoi3r+vv3aHgq3+0qmPc2Z2RL7CxUtepa6nr71nbSvtVL2rd6Xa99MzZuJG76DDAYsOnZE49PP8FkY4NJXosKq23v34rGoVLqSF3w6OhovLy82Lt3L927dy/aPm3aNHbu3MmBAwdueI5nnnmGTZs2cfr0aaysCqqjrVixAhsbGwICAggJCWHGjBnY2dmxb98+NBpNmed55513mDVrVqnty5Ytw8bG5iavUNzI2nA1W6LUOFsqTG9nxKLsl0cIAILzgvk7528MGHBVuzLRdiIuGhdzhwVAYPxm2kT9AsBJrwlcdrv1eammfIj71xZjrhprTz3O7XLrVan6fCPMO6EhPldFF1cTk5qYzB2SEELcMsd9+3H76y9UikJ6u3bEjnkAtHWmn0SUIzs7mwkTJpCWloaDg0O5+902r/QHH3zAihUr2LFjR1ESBjBu3Lii223atKFt27Y0btyYHTt2lDsMc/r06UydOrXofnp6etH8s+s1dk3Q6/Vs2bKFQYMGodPpzBpLVeuXb2DI/H+JTc8jwrY5zw+4tdLeN6M+t29tUBXtqzfp+Tz4c1ZdWAVAP+9+zO4+GzudXVWGetNUx5ejPVqQhBl7v0qLPq9xq9OwFUVh07dnMOYm4+BqxX0vdy9zSGJdfv/O3XCe+Nww3O0t+XpKDxyta1/8dbl96wJp3+ol7Vu9rm1fRVFI+fY7klevBsBh7BgaT5+OqpxOAHF9te39Wzha7kbqTCLm4uKCRqMhLi6uxPa4uLgbzu/6+OOP+eCDD9i6dStt27a97r6BgYG4uLhw6dKlchMxS0tLLC1LV+nS6XS14sWH2hVLVXHU6XhrRCueXRbMN7uv8EAXX3yczdMDWR/btza52fZNzk3m1Z2vcjC2oDrqM+2e4cl2T6JWVbguUfU6vRrWvVhw+45n0Qx4A00VdFsd3RJO+KnkgvXCprTB1sH6uvvXtffvodBkftoXBsAH97fFxaF2jzyoa+1b10j7Vi9p3+ql0+nQajTEf/ghyYt/BsDlmWdwef45889drgdqy/u3ojHUkk8nN2ZhYUGnTp3Ytm1b0TaTycS2bdtKDFW81kcffcScOXPYuHEjnTt3vuHzREZGkpSUhKenVOKqje5q40H3wIbkGUzMWXvG3OGIWuRs0lnGrx3PwdiD2Ght+Lz/5zzd/unak4Rd3Ap/PA6KCTo8CEPeoyrGDsZeTmP/nwXzwnqNaYqrb/1aLyw738Crvx1HUWBMZ2/6tzDP/FAhhKgKil5PzPQZRUmY+4wZuL7wvCRht6kK9Yh16NChwm+Q4ODgWwroeqZOncpDDz1E586d6dq1K59//jlZWVlFVRQnT56Ml5cXc+fOBeDDDz/k7bffZtmyZfj7+xMbGwuAnZ0ddnZ2ZGZmMmvWLO6//348PDwICQlh2rRpNGnShCFDbr16mah6KpWKWfe0Ytj83Ww+E8fOCwn0beZq7rCEma2/vJ6Ze2eSa8zF196XLwZ8QeMGNT90tVxhe2HlJDDpodW9MHJ+lSRhuVl6Nn1/CpNJoUknN1r1rl/rhQF8tPE8oUnZeDpa8eaIIHOHI4QQN02l1xMzdSrZO3aCRkOjue/jePfd5g5LmFGFErFRo0YV3c7NzeWrr74iKCioqCdq//79nD59utrXERs7diwJCQm8/fbbxMbG0r59ezZu3Ii7uzsA4eHhqNX/ffv99ddfk5+fz+jRo0ucZ+bMmbzzzjtoNBpOnDjB4sWLSU1NpVGjRgwePJg5c+aUOfRQ1A7N3O15uIc/P+y5wqy/T7PxpT5YaGtJr4eoUUaTkflH5/PTqZ8A6OnVkw97f4ijZS0q+RsVDEvHgCEHmg6Ge78F9a3PAVAUhW2Lz5KZnIeDqzX9J9Wv9cIA9l9OYtHeUAA+vL8tDlbmH24ihBA3w5iRgdcPP5J95QoqS0u8Pv8M+/79zR2WMLMKJWLF1wh7/PHHeeGFF5gzZ06pfSIiIqo2ujI899xzPPfcc2U+tmPHjhL3Q0NDr3sua2trNm3aVEWRiZr04sCm/HUsmsuJWfz47xWe6luLej9EjUjLS2Parmnsjd4LwGOtH+P5Ds+jqYIkp8rEn4Nf7of8DPDrVbBgs9aiSk59fFsEoScSUWtVDK2H64Vl5Rl49ffjAIzv6ksf6fkWQtRRhsREoh6fgs2VK6jt7PD5+itsunQxd1iiFqh0N8Jvv/1WYjHkQpMmTeKPP/6okqCEuBEHKx3ThxXUmvti20Vi03LNHJGoSZdSLjF+3Xj2Ru/FWmvNvL7zeKnTS7UrCUu+Aj/fAznJ0KgjTFgBuusX0aio2Ctp7FtVMC+s9wP1b14YwAcbzhGRnINXA2veGN7S3OEIIcRNyY+MInTiRPLPncNgZ4fXTz9KEiaKVDoRs7a25t9//y21/d9//y1RFl6I6nZvBy86+jYgO9/I++vPmjscUUO2hm1lwvoJRGRE4GXnxZJhSxjqf+vrcFWp9Gj4+W7IjAW3IJj0B1hWTbKUm6Vn83enMZkUGnd0o1Ufryo5b23y76VEluwvqJL40ei22FnWr94+IcTtIe/iRcImTEAfFo7WqxERTz+FZYtbXbBE1CeV/uv20ksv8fTTTxMcHEzXrl0BOHDgAD/++CNvvfVWlQcoRHnUahWz72nNyC/38PfxaCZ286VbYENzhyWqiUkx8dWxr/jmxDcAdPPoxry+83CycjJzZNfISoSfR0FqODgFwIN/go1zlZy6cF5YRnJuwbywB+vfvLCMXD3Tfj8BwIN3+NGzSe1YhFsIISoj5/hxIp54EmNaGpZNm+C5cCFnDh82d1iilql0Ivb6668TGBjI/Pnz+eWXgkVJW7ZsyU8//cSYMWOqPEAhrqe1lyMTuvqy9EA4M/8+zdrne6HVSOGO+iYzP5Ppu6ezI3IHAJNaTuJ/nf+HVl3Lekpy02DJvZB4Hhy8YPJfYH/9dQ4r49p5YZb1bF4YwPvrzxGVmoOPszWvD5NvjoUQdU/mv/8S+fwLKNnZWLdrh883CzHZ2po7LFEL3dRf8TFjxkjSJWqNVwY3Z93JGM7FZvDL/jAe7hlg7pBEFbqSdoUXt7/IlbQrWKgtmNljJnc3roXlfvOzCqojxp4AG5eCJMzJr8pOH3clnX2F64WNrp/zwnZdSGD5wXAA5o1uh60MSRRC1DHpGzcS9eo00Oux7dkT7//7ArWNDSa93tyhiVroprsO8vPziYyMJDw8vMSPEDXNydaCV4c0B+CTLRdIzMwzc0SiquyK3MWEdRO4knYFdxt3fh72c+1Mwgx5BeuERewHS8eC4YguTavs9LlZejZ9dwqTUaFxR1da961/88LSc/W89kfBkMSHe/hzhwwzFkLUMSkrVhL18lTQ67EfNhSfr79CbWNj7rBELVbpROzixYv07t0ba2tr/Pz8CAgIICAgAH9/fwICpCdCmMe4Lr609nIgI9fARxvPmTsccYsUReG7E9/x3LbnyNRn0tGtIytGrKCVSytzh1aa0QB/PAYh/4DOBib+Bp5tq+z0iqLwz89X54W5WNH/wZb1bl4YwLtrzxCTlot/QxumDW1u7nCEEKLCFEUhceE3xL7zDigKDcaNxevjj1FZVM1yJaL+qvS4j4cffhitVsvatWvx9PSslx8IRN2jUauYdXcr7v96H78ejmRCNz/a+zQwd1jiJuQpeby25zW2RmwFYGzzsbzW5TV0mlq4mK/JBH8/B2fXgMYCxi0D325V+hQn/onkyvGCeWFD6um8sO3n4vn1cCQqFcx7oB02FvXvGoUQ9ZNiMhH/0TySFy0CoOHTT+H6wgvy+VhUSKX/2h07dowjR47QQspvilqmk58z93f05o/gSN7+6xSrn+mJWi2/COsKRVEISQ3h24xviUuLQ6vW8ka3NxjdbLS5QyubosDG1+D4clBp4IFF0Lh/lT5F3JV09q66BBTMC3Pzc6jS89cGadl6Xl9VMCTxsZ4BdPGvmgqTQghR3RSDgZg33yJt9WoA3Ke/jvNDD5k3KFGnVDoRCwoKIjExsTpiEeKWvTasOZtPx3IiMo1fD0cwrquvuUMS18jWZxOWHkZoeiihaaFcSbtScDs9lBxDDgAuVi581v8z2ru1N2+w1/PPu3Dw24Lbo76GFsOr9PS5WXo2fV+/54UBzFp7mrj0/2fvvsObKt8Gjn+TNN0bummB0lL2EKSCgMgesmUIKBsXLsCBgixFmQ5EXCx/CgiKisALIgrIsCzZpayWAl2M7pk25/0jUFrbQluSpuP+XFcukpOTc+7zNMbcuZ+RiX91O6Z0ky6JQoiKQZ+RwbVJk0n580/QaPB6/z2c+/Uzd1iigilxIjZv3jzeeOMN5s6dS+PGjdFq83cXcnSsfL/YiorD3cGaV7vUZc7mM8zbdpbujTxxtpU+2mVNr+iJS4vjUuIlIhINSdadhCsmNabI11moLKipqcnS7kvxcSrHicfej+HvhYb7vRZB0yFGPXzuuLCblXtc2I4zsWw8eg21ChYOboq1VmPukIQQ4r5ykpO5+sKLpB06hMrSEp+PP8KhY0dzhyUqoBInYp07dwagU6dO+bYrioJKpSInJ8c4kQlRSs+0rsm6g5Gcj0th8Y5zzO7byNwhVVppurTcylZuhSspnMtJl3OrW4VxsXKhllMtajnWorZTbWo51qKWUy08rD3YsW0H7rbuZXgVJXRoOfwxw3C/80x4eJzRT1EVxoXFp2bx9s8nARjf3p+H/MrZwtxCCFGI7Js3iRw/nswzoajt7anx+VLsWrUyd1iigirx/93/+usvU8QhhNFoNWpm9WnIsG9C+O6fywx92I8G3lKpLS29oic2NZbwxHDCk8Jzk62IxAhi02KLfJ2FygJfR9/cJKu2Y+3cpMvZ2rnQ1+jK+zorx3+ALZMN99tNhravGf0UsRF3x4U9OrByjgsDmPnbaa4nZxLgbs9rneuaOxwhhLgv3bVrRI4ZS9bly2iqVcPv66+wbtDA3GGJCqzEidhjjz1mijiEMKo2AdXp1cSLLSeimbHpFOufbV0pu3YZ053qVu6Yrdvjty4nXSYjJ6PI17lau+YmW3krXD4OPmjV5XCmw9I6uwV+eR5QoNUE6Djd6KfITLu7Xph/czcadyjH3TMfwLZT0fx6LAqNWsWiQdIlUQhR/mVeuEDk2HFkx8ai9fbGb8VyLGvVMndYooIrcSK2Z8+eez7fvn37UgcjhDG907M+f4bGcSginl+PRdGveeX8UlsSekVPTGpMblXrTtIVnhhOXFpcka+zUFvg5+B3t7p1O9mq7VQbJyunMrwCM7n4F2wYBUoONH0Kus8DIyf2hnFhZ3PHhXV8ul6l/PHgZkom7/x8CoDnHvOnqSwzIYQo59KPH+fKhGfJSUzEMqAOfsuXo/XwMHdYohIocSLWoUOHAtvyflmQMWKivPB2tmFixwAWbA/j/a2hdKrvjoN1JarQ3EOqLrXgrISJEcWubuVNtGo51cLH3gcLdeUbp1QskSGwbhjkZEH93tDnM1CrjX6aE39d5dKx66g1t8eF2VbO9+q7m05zMzWLIA8HXu4UaO5whBDinlL27ePqSy+jpKVh3bQJvl98gYWLjGkVxlHib1bx8fH5Hut0Ov7991+mT5/O+++/b7TAhDCGce1qs+HwFSJuprHkzwu83bO+uUMyGr2iJzo1Ov+shLcrXcWpbuWdJOPO/SpR3SqJ6BPw/SDQpUGdjjBwOWiMn5DGRiSx/6fb48KeDKi048I2n4hiy4loQ5fEwU2xspAuiUKI8itp23auvf466HTYtWlDjSWforazM3dYohIp8TcKJ6eCX9S6dOmCpaUlkyZN4siRI0YJTAhjsLLQMKN3Q0avOsSKveEMbulLgLu9ucMqkVRdav6uhLcTr8tJl8nMySzydXmrW3krXN723lW3ulUSN87D//pDZiL4PgJDvgMLK6OfJjNNx+/f5B0XVsPo5ygPridnMv0XQ5fEFx8PoJGPJP1CiPIrfv16YmbMBEXBoXt3vOfPQ20py+EI4zLatzEPDw/CwsKMdTghjObxeu50ru/OH6FxzNx0mv+NbVXuxt7k6HMM1a1CuhPGpRdd3dKqtYaxW075p4GX6tYDSoiEb/tC2g3wagrD14Ol8X8FVRSFP/93lqQbGThUq7zjwhRFYdovJ4lP01Hfy5GJjweYOyQhhCiUoijc/Pobri9eDIDzkCF4vjsdlUYq+ML4SpyInThxIt9jRVGIjo7mww8/pFmzZsaKSwijmv5EA/acv8HeCzfYfjqG7o28zBJHSlZKvpkJ7/wbmRR5z+pWNetqBSbJqO1YGy97L6luGVtyDKzuA0nXoHpdGLERrE2T1J7cdZVL/1b+cWGbjkex/XQsWo1hlkRLC+OPsRNCiAelKApxCxZya8UKAKo9+yxur75SKX8gE+VDib/BNWvWDJVKhaIo+bY/8sgjrLj9xhWivKlZzY7n2vvz6Z8XmLM5lMfqumNjaZpft+5Ut/JNA3973a3r6deLfJ1WraWmY818k2TcqXA5WlbOMUPlTtotQ3fE+HBwrgnP/Ap21U1yqrjLSez70TAurM3AADxqVc6/cVxSBu/+ehqAlzsGypp+QohyScnOJvrdGSRu3AiA+5tvUm30KPMGJSq9Eidi4eHh+R6r1Wrc3NywtrY2WlBCmMLzHQL46eg1riWks2zXBSZ1DXqg4yVnJeefKOP2v5FJkWTps4p8XXWb6vkWOb7zr7e9Nxq1dH0wm8xk+G4gxJ0Be09DEubobZpT5V0vrJkbTR6vnOPCFEXh7Z9Pkpiuo7GPE891qGPukIQQogB9ZibXJk0mZedO0GjwmjMH5wH9zR2WqAJKnIjVrFnTFHEIYXI2lhqm9arP898f5Ys9l3iyhS9+1Wzv+ZocfQ5RqVG5k2RcSrjEkeQjfLzxY25k3CjydXeqW/mmgb+dfDlYOhj70sSD0qXDmqEQdRRsXOGZX8C1tklOpSgKf+UZF/Z4JR0XBrDx6DX+CI3DUqNm4aCmaDXSJVEIUb7kpKRw9YUXSTt4EJWlJT4fLcahUydzhyWqiFINLtm9ezcLFy4kNDQUgAYNGvD666/Trl07owYnhLF1b+RJ24Dq7L1wg9mbz/DNyJbA3erWnS6E961u3V4ur7pN9btJVp4uhd52Ut2qMLKzYP1IuLwXLB3g6Y3gbrplDk7uusbFO+PCxjXC2q5yjguLScxg5m+GLomvdgkkyFN+gBBClC/Zt25xZfwEMk6fRm1nR43PP8cuuJW5wxJVSIkTse+++47Ro0czYMAAXn75ZQD27dtHp06dWLVqFcOGDTN6kEIYQ44+h6iUKHo/ksDh+L/5O/46/TdmEq+7ys2Mm0W+zlJtiZ+jYd0tP3s/EsIT6NeuH3Vc60h1q6LT58DPE+D8drCwMcyO6N3cZKeLu5zEvp/OA9BmQAAetSvneClFUXhr4wmSM7Jp6uvMhHb+5g5JCCHy0UVFETlmLFkREWhcXfH9+itsGjY0d1iiiilxIvb+++8zf/58XnvttdxtL7/8MosXL2bOnDmSiAmzS8pKKrDI8Z11t3R6HQBad8O+F5Lvvs7Nxq3QRY697Lxyq1s6nY6t17bSsFpDtNrKWcmoMhQFfnsFTv8Maq1hnbCabUx2usz0bMO4sGyF2k2r06Rj5RwXBrDh8FV2hV3H0kLNokFNsJAuiUKIciTz4kUix44jOyYGC28v/JYvx6q2abqjC3EvJU7ELl26RO/evQts79OnD2+//bZRghLifrL12USlROUmW3lnKLxXdctKY4Wfox++9rXYfRpSkl0Z/lBLXu/YFnvLirXQs3gAigLb34F//wcqNQz8BgI7m/B0Cn/9L9QwLszVmo7P1K+048KuJaQzZ/MZAKZ0rUuAu1SNhRDlR/qJE1yZ8Cw5CQlY1qmD3/Jv0Hp6mjssUUWVOBHz9fVl586dBATkX5Dzjz/+wNfX12iBCQGQmJlY6CLHkcmRudWtwrjbuBdY5Li2U2287LxQqwy/zv/scpXXfjjO+n3wXGsN9pZldVXC7HbPg3+WGu73+Qwa9jPp6U7tvsbFo3fXC6us48IUReGtn06QnJnNQ37OjG0rXRKFEOVH6oEDXHlxIkpaGtaNG+P71ZdYuLiYOyxRhZU4EZs8eTIvv/wyx44do00bQzeeffv2sWrVKj755BOjBygqv2x9NtdSruXrTngn6bqVcavI11lprAqsu1XbsTY1HWsWq7rVr5kPa0IiORQRz/tbQvls2EPGvCxRXh1YCrs+MNzvPg+aDzfp6a5HJrP3x8o/Lgxg7cEr/H3+BlYWhlkSNerKWfUTQlQ8Sb//TtTkKSg6HXZtWuPz6RI09nbmDktUcSVOxJ5//nk8PT1ZtGgR69evB6B+/fr88MMP9O3b1+gBisojMTMx/yLHt+9HJkeSrc8u8nXutu5319vKU+HKW90qDZVKxcw+Dem9ZC+bT0QzLPgGbeqYZvFeUU4cWQ3bb3ehfnwaPPKcSU+XmZ7NtioyLuzKrTTe32LokvhG93r4u0lXXyFE+RC/YQMxM2aCXo9Dt254L5iP2lK6wQjzK9X09f3796d/f1noThR0p7qVd5KM4la37iRYeStctRxrYac13S9WDb2dGPFITb49cJmZm06z5eV2stZRZXXqJ8PkHABtXob2U0x6utz1wq6nV/pxYXq9wps/nSA1K4dWtVwZ3aaWuUMSQggAbn7zDXELFwHgPGgQnjNnoNLI8jKifChVIgZw+PDhfOuItWjRwmhBifLvTnUrX4UrKZwryVfuWd3ysPXIl2zdqXR52nk+UHXrQUzqUpffjkdxLjaFbw9cZmxbmTmp0jm3HTZOABRoMRq6zAYTJ0WGcWFxqNUquo5vWGnHhQF8H3KZ/RdvYqPVMP/JJqilS6IQwswURSFu4UJuLV8BQLXx43Gb9Fql/UFMVEwlTsSuXr3KU089xb59+3B2dgYgISGBNm3asG7dOmrUqLxdb6oanV7HteRrd5OtPNPBx2fGF/k6a411brJ1Z9zWnce2WtsyvILicba15I3u9Zi68SQf7zhHn6beuDlYmTssYSzhf8P6Z0CfDY0HQa9FJk/C8o4Laz2gDp61nUx6PnOKvJnG3K1nAXirRz1qVZcxF0II81Kys4meMYPEnzYC4P7661QbO8bMUQlRUIkTsXHjxqHT6QgNDSUoKAiAsLAwRo8ezbhx49i2bZvRg8xr6dKlLFiwgJiYGJo2bcqSJUto1aroVdA3bNjA9OnTiYiIIDAwkHnz5tGzZ8/c5xVFYcaMGXz99dckJCTw6KOPsmzZMgIDA016HeVJQkbC3UkyksJzx29dTb5KtnLv6tZ/ZyWs7VgbDzsPs1W3SmtwS1/WHozkxNVE5m07y8JBTc0dkjCGq0dg7VDIzoC6PaDfMlCbtktKVp5xYbWaVKdpp8o7m6xerzDlx+Ok63J4xN+Vpx+pae6QhBBVnD4zk6gpU0je8Qeo1XjNmYPzwAHmDkuIQpU4Edu9ezf79+/PTcIAgoKCWLJkCe3atTNqcP/1ww8/MGnSJL744guCg4P5+OOP6datG2FhYbi7uxfYf//+/Tz11FN88MEHPPHEE6xZs4Z+/fpx9OhRGjVqBMD8+fP59NNPWb16NbVr12b69Ol069aNM2fOYG1tbdLrKUs6vY6ryVdzuxDmHb+VkJlQ5OtsLGyo6VgzX1WrtpNhZsLyWN0qLY1axaw+Den/+X5+PHKVp1r50aKmTGlbocWehu8GQFYK1G4Pg1aBxrTdAxVF4a/vDOPC7F2t6DSy8o4LA1h9IIKD4bewtdSw4Mmm0iVRCGFWOSmpXJ04kbR//kFlaYnP4kU4dDbdGpFCPKhSrSOm0xVcvyknJwdvb2+jBFWUxYsXM378eEaPHg3AF198wZYtW1ixYgVvvfVWgf0/+eQTunfvzuuvvw7AnDlz2LFjB5999hlffPEFiqLw8ccfM23atNwZH7/99ls8PDz45ZdfGDp0qEmvx+hysjl34B+upp3jlwtZXEm9kpt03a+65WnneXeSjNsVLn8nf9xt3Stcdau0mvu5MLhlDdYfvsqMTaf49cW2Mv12RXXzInzbDzISoMbDMHQtaE3/w8rpPde4cMQwLqzbuMq7XhhA+I1U5m0zdEl8u2d9fF0rzw8zQoiKJ/vWLa5MeJaMU6dQ29lRY+lS7B4JNndYQtxTiROxBQsW8NJLL7F06VJatmwJGCbueOWVV1i4cKHRA7wjKyuLI0eOMHXq1NxtarWazp07c+DAgUJfc+DAASZNmpRvW7du3fjll18ACA8PJyYmhs55fi1xcnIiODiYAwcOFJmIZWZmkpmZmfs4KSkJAJ1OV2iSWlYOntzO0TXW6DT12RV6jHNuh4hxCAeVAoC1yoJaNu7UcvCjpnMgtarVo+btdbdsLGwKPWZOdg455JTlZZjVpE51+L9TMZy6lsT3/4Tz1MP5u5Xd+fua8+9cmRmlfZOuYbG6D6rUOBT3hmQPXgtqKzDx3+zGlRT+3mAYF9aqby2q+dqWu/eJsd6/OXqFKeuPkaHT06aOK4Mf8ip312oO8vlgWtK+plWR21cXHU3UhGfRRUSgdnHBe9kyLBs2KFfXUpHbtyIob+1b3DhUiqIoJTmwi4sLaWlpZGdnY2FhyOPu3Lezyz9I+9atoqcrL6moqCh8fHzYv38/rVu3zt3+xhtvsHv3bkJCQgq8xtLSktWrV/PUU0/lbvv888+ZNWsWsbGx7N+/n0cffZSoqCi8vLxy9xk8eDAqlYoffvih0FhmzpzJrFmzCmxfs2YNtrbm+1U4KyqSi6HeOGTd7VKntriOu93fNLHaRYD6CnnrOzkqCzK0LqRrXcmwdCFd60KG1pV0S1fDv1oXMrVOKKqqNc3r7mgVGyM02FooTGuWQyUualQ6lrok2p1/D/vMGFKsPNgbOI1MreknytDrIG6/Hdlpaqzds6n2ULqp5wMxq7+iVPxyWYOVRuGtpjm4ytw2Qggz0cbFUeOb5WgTE9E5OXF1/Dh0bm7mDktUcWlpaQwbNozExEQcHR2L3K/EFbGPP/74QeKqFKZOnZqv0paUlISvry9du3a9Z2ObmqIoJKUlseunv3HM8uByaAZZWW7EJA4ghgH8ax9HXacjBFrsxDbzEholG7us69hlXYfUIo6pUoO9B4qDNzh6ozh4gYMXiqM3OHgb/rX3BIvK802sa46eU5//w7m4FE6pazGrZ4Pc53Q6HTt27KBLly5otZKhGdsDtW96Ahbf9UOVGYPi6IPVM1vo5GT6WVwVRWHnqrNkp93A3sWKAZMeKbddEo3x/r14PZU3Pj8A6Hn3iYYMbikz5d4hnw+mJe1rWhWxfTNOnybqgw/RJyairV2bml99SX1PT3OHVaiK2L4VSXlr3zu95e6nxInYyJEjSxyMMVSvXh2NRkNsbGy+7bGxsXgW8R+dp6fnPfe/829sbGy+ilhsbCzNmjUrMhYrKyusrAomHlqt1ux/fCeVE9rqah7v+TAqRU34iRucC4kh8vQtrqe4cz2lB/vVPfGr70xQE0tq10jCIj0akqJu364Z/k2OhuRoVPpsw7/J0RB1pOgT21YHR29w9Ln9r1ee+z7g4AVW9mXXEA9Aq4XZ/Rox9Kt/WHvoKsOCa9HIx+k/+5j/b12Zlbh9M1Ng/TCIOwV27qhG/oa2WtmsB3dqzzUuHb1hGBc2vhEOzuV/rFRp3785eoW3fj5NZrae9nXdGPZIrUo9GUlpyeeDaUn7mlZFad/Uf/4h6oUX0aelYd24Mb5ffYmFS/mfZKuitG9FVV7at7gxlHpB57i4OOLi4tDr9fm2N2nSpLSHvCdLS0tatGjBzp076devHwB6vZ6dO3cyceLEQl/TunVrdu7cyauvvpq7bceOHbldG2vXro2npyc7d+7MTbySkpIICQnh+eefN8l1lCULSw2BLT0IbOlBenIW5w/HEvZPDHGXk7l8Op7Lp0FrraHOQ/UJCn4cn0ecUeWdnEKfA6nXbydn0fkTtaQoSL79b3YGpN0w3GJOFB2QldPtxOy/N5+7962dTb7GU3E84l+NPk292XQ8ind/PcWPz7WRGeHKK10GrBsGVw+CtRM8/TNUq1Mmp75+JZm96w3jwh7pXwdP/8q7XhjA139f4tiVBBysLZg3sLEkYUIIs0jasYOoSZNRdDpsWz9CjSWfobGXNQxFxVPiROzIkSOMHDmS0NBQ/ju8TKVSkZNjuokdJk2axMiRI2nZsiWtWrXi448/JjU1NXcWxWeeeQYfHx8++OADAF555RUee+wxFi1aRK9evVi3bh2HDx/mq6++yo331Vdf5b333iMwMDB3+npvb+/cZK+ysHGwpMnjvjR53Jf4mFTOHYwlLCSG5JsZnN0fzdn90di7WFG3lSd1gz2o5m1vWG/JwdNw8yniwIoC6fH5E7TCqmuZSZCZCNcT4Xpo0YFa2BSeoOXdZlsd1KafyfHtnvX5IzSWo5EJ/PzvNQa2kC5Y5U6ODn4cA+G7QWsHIzaCZ6MyOXVWejbbvz5FTraeWo2r0axz5V0vDOB8bDKLfz8HwLtPNMDLqfAJfoQQwpQSfvqJ6Onvgl6PQ5cueC9aiNrS0txhCVEqJU7ExowZQ926dVm+fDkeHh5l+ovokCFDuH79Ou+++y4xMTE0a9aMbdu24eHhAUBkZCTqPF/Q27Rpw5o1a5g2bRpvv/02gYGB/PLLL7lriIFhso/U1FQmTJhAQkICbdu2Zdu2bZVqDbH/cvG0I7iPP62eqE30xUTCQmK4cCSOlPhMjm6/zNHtl6nua09QsCeBD3tg53SP8V8qFdi6Gm6ejYveLyPJkJDlJmzR/0nerkH6LchOh1sXDbeiqLWGro73qq7Ze4Km1AVfADydrHmpYyDztp3lg/87S9eGHlhXrXlLyje9Hn55AcK2gMYKhq2DGi3L5NSKovDX92dJjEvH3sWKTiMbVOrqUHaOnskbjpOVo6djPXeelB8lhBBmcHP5cuIWGGbodnpyIF6zZqHSyP+YRcVV4m+qly5d4qeffiIgIMAU8dzXxIkTi+yKuGvXrgLbBg0axKBBg4o8nkqlYvbs2cyePdtYIVYYKrUK70BnvAOdaTckkMsnbxIWEsPlUze5cSWFG1cusP+nC/jWd6VusCf+zdzQWpXyA8/a0XBzCyp6H1367WStiMpaUhSkxBqmqEuMNNyKvjiwc/9PguaVv8rm4H3ftaXGtK3FhsNXuHQjlU/+OM+b3QJLd/3CuBQFtk6Gk+tBbQGDVxsWbS4jp/+O4sLhuNxxYdb25u+Pbkpf7L7IiauJOFpb8MEA6ZIohChbiqJwfdEibn6zHIBq48biNnmyfBaJCq/EiVinTp04fvy42RIxYRoWWg11HnKnzkPuZKTouHDE0HUx5lISkWduEXnmFlorDf7N3QgK9sQnyMX4Y6a0NuDqb7gVJUdnSMb+m6DlvSVHgT4bUmIMt6ijRR/PxvU/XSDvJGyG+1aO3szo05CRKw6ycn8EA5p5FX0sUTYUBf6YAYdXACro/yUE9Siz0+cbF9av8o8LC41O4pOdhuud1bchHo6Vt7eAEKL8UXJyiJk5k4QNPwLg/voUqo0da+aohDCOEidi33zzDSNHjuTUqVM0atSowKwgffr0MVpwwjys7bU0eqwGjR6rQUJcGudCYgg7GEvS9XTC/okh7J8Y7JwsCWzlSVCwJ9VrlOFsiBotONUw3Iqi1xsmDvlv18f/dofMTjd0h0y/BbEnizzcY1aO7Hdw5kKGE3HfexHkaIP6aBy4+N1N3mxcysUkI1XC34tg3yeG+70/hsZPltmpszLujgurWQXGhely9ExefxxdjkKXBh70a1bUYFEhhDA+fVYWUZOnkLxjB6jVeM2ZjfPAgeYOSwijKXEiduDAAfbt28f//d//FXjO1JN1iLLn7G5Lq97+PPxEbWLDkwj7J4bzR2JJTczi2I5Iju2IpJqPPXWDPaj7sCf2LuVgPTG1GuzdDTfv5oXvoyiQkVB498e8t8xEyEzCmyS8NUD6SUgH/u/X/MezsL49bq3o6hp2boYJUETphXwFf84x3O/6HrQYVWanVhSFXd+H5Y4L6zyyQf5ZRiuhpX9d4Ex0Es62Wt7v30i6AQkhykxOSipXX5pI2oF/UGm1eC9ehGOXLuYOSwijKnEi9tJLLzFixAimT5+eO0mGqPxUKhWe/k54+jvRdnAgl08ZxpNFnLzBzWspHNiYwoGfL1IjyIWgRwzjySytH2yyDJNSqQxVLBsX8GhY9H6ZKbmTjGw/cJQTZ0KpaXGT/gEatKkxhmQt7YZhCv/4cMOtKGoLQ7Lm4JV/YpG8Y9fsPcFCZn8q1LE18H+vG+4/9ia0ealMT39mbxTnD8WiUqvoOq7yjws7dS2Rz/68AMDsvo1wd5AuiUKIspEdH8+VCc+ScfIkaltbany+FLtHHjF3WEIYXYm/Kd+8eZPXXntNkrAqTGOhxr+ZG/7N3MhI1XHxaBxhITFEX0jk6tl4rp6NZ7dlGLWbuhH0iCe+9VxQa0w/3bxJWNmDVSBUD+Qx33bMWbSLqwkZhFevzZtPNzDsk535n0lGCqmupcQYxq0lXjHciqQyVPKKrK7dXhzbsvwvGmxUZ36FX1803A9+HjpMLdPT37iazN8/3BkX5o9Xnco9LiwrW8+UDcfJ1iv0bOxJ7yYyNlIIUTZ00dFEjh1H1qVLaJyd8f36K2wa32NWZiEqsBInYgMGDOCvv/6iTp2yWTBVlG/WdloatvOhYTsfkm6kc+5gDGEhsSTEpnH+UCznD8Vi42hJ3Yc9DOPJfO0rbPcma62Gt3vU44W1x/hmbwRDHq5Jrep2YGEFLrUMt6LkZBsmGck3hf9/pvJPjoacLMN+KbEQfazo49m43E3KiqquWTlWjnFrF/6AH8eCoofmI6Db3DK9rqyMbLZ9dXtcWKNqNO/sV2bnNpclf57nbEwy1ewsmdNXuiQKIcpG5qVwIseOJTs6GgtPT/xWLMfK/x4TeAlRwZU4Eatbty5Tp05l7969NG7cuMBkHS+//LLRghMVi2N1G1r2rE2LHrWIi0gmLCSG84djSU/K4vjOKxzfeQUXLzuCgj2o28oTB9eK19Wpc3036jnpOZuoZvbmM6wY9XDxXqixACcfw40i1rrS6yHt5t2krKjJRnRphkW00+Mh9lTR57S0vz1N/z2qa7bVyneydvkArBthWLKgQT/o/WmZLOZ9x3/HhXUaVb/Sjws7cTWBz3cZ1vF7r18jqtmXg3GfQohKL/3Uaa6MH09OfDyWtWvjt/wbtN7e5g5LCJMq1ayJ9vb27N69m927d+d7TqVSSSImUKlUeNR2xKO2I48OCuDK6VuEhcQQfvwG8dGp/PPLJf759RI+gc7UDfYk4CF3LG3K8XiyPFQqFQNq61lwUsOfZ+PYGRpLp/pG6qarVoO9m+FGs8L3URTISLw7TX+B7pC3k7WMBMhKgRvnDLeiaKwMSZlDIYti37nZe5hnkpGoY7BmsGF2y4AuMODrMo8j37iwsQ2xsa/c4/cys3OYvP44OXqF3k296dFYuiQKIUwvNeQgV194AX1qKtaNGuH71ZdYuLqaOywhTK7E337Dw+8xGYEQ/6HRqKnVpDq1mlQnMz2bi0fjOBcSw7VzCbm3PevOUbtpdYKCPfFt4IqmnI8n87CBUa1r8vXeCGZvPsOjAdWx1pZRgqBSgY2z4ebRoOj9slLzd3ksrLqWGgc5mRAfYbgVeU4NOHjeu7rm4GXoomks18Pgf/0hMwlqPgqDvy3zSUzyjQvr649XgHOZnt8cPv7jPOfjUqhub8XsPveYxEYIIYwk+Y8/uDZpMkpWFrbBwdRYuhSNvZ25wxKiTDxQGUJRFAAZPyCKxcrGggaPetPgUW+Sb2UYxpP9E0N8TBoXDsdx4XAcNg5aAloaxpO513Qot++tFzr4s+lENJdvpvHN35eY2DHQ3CHlZ2kH1QMMt6JkZ+WZZORa/vu5i2PHgJJze9u1e5/Tzu1uclZg7Nrtm+X9/+dqm3kdizVvGNZ3824OT60r88lJDOuFnb47LqxL5R8X9m9kPF/uNnRJnNu/ES52lbv6J4Qwv4SfNhI9fTro9dh37oTPokWoraQ7tKg6SpWIffvttyxYsIDz5w2/FtetW5fXX3+dp59+2qjBicrLwdWaFt1r8VC3mlyPTOZcSCznDsWQnqzj5F9XOfnXVZw9bAkK9qRuKw8cq9uYO+R87K0seLtnfV5Zd4zP/rpA/4dq4ONcvmK8LwtLcKlpuBVFnwMpcf9J1gqpruVkQup1wy36eNHHs3a6m5zlq67drqzpVbS58CGqrOvgVh9GbARrR+Nf+z3cGReWEJuGnXPVGBeWocthyobj6BXo39yHrg09zR2SEKKSu7liJXHz5wPgNHAAXrNmobKoGMMUhDCWEr/jFy9ezPTp05k4cSKPPvooAHv37uW5557jxo0bvPbaa0YPUlReKpUK95qOuNd0pM3AOlwJjTeMJzt2nYTYNEI2XSJk0yW8ApwICvYkoIU7VrblY/2mPk29+T4kkoPht3h/yxk+H97C3CEZn1pze2IPL6CI61MUSLuVfzbIwqprWSmG8W0ZiRB3ptBDaW/fFJfaqJ75BWzLfoxA6L7oPOuFVf5xYQCLd5zj4vVU3B2smNH7Hl1ehRDiASmKwvXFH3Hz668BcB07BvcpU8ptDxghTKnEidiSJUtYtmwZzzzzTO62Pn360LBhQ2bOnCmJmCg1tUZNzUbVqNmoGlkZ2Vz69zphITFcDYsn+kIi0RcS2fPDOWo3rk7dYE9qNqqGxsJ848lUKhWz+jSk16d/s/VkDPsu3ODRgOpmi8dsVCqwq2a4eTUper+MpEK6Pv5nwpH0eJKtvLAe9hNah7Kvyty4msKeHwyTmzzS1x/vKjAu7MjlW3z99yUAPhjQGGfbyp94CiHMQ8nJIWbmLBI2bADAfcpkqo0bZ+aohDCfEidi0dHRtGnTpsD2Nm3aEB0dbZSghLC0tqBeay/qtfYiJT6Dc4diORcSw81rqVz89zoX/72OtZ2WgJbuBAV74lHb0Sy/ptX3cuSZ1rVYtT+CGZtO83+vtENbzicbMRtrR8PNvV6Ru+jSkvjz9z/p6Vz2Y7IM48JOkaPT49ewaowLS8/KYcqGEygKPNmihvFmABVCiP/QZ2UR9fobJG/fDmo1nrNm4jJokLnDEsKsSvyNMSAggPXr1xfY/sMPPxAYWM4mLBCVgr2LNQ91rcnQ6cEMmfYwzTr7YutkSUaqjlO7r/HT/CN8/+4/HNwcTuL1tDKP77UudalmZ8mFuBRW748o8/NXKlobs6xrpigKu9feHRfWeXTlHxcGsGB7GOE3UvF0tGb6E9IlUQhhGvrUVK4+9xzJ27ej0mrx+egjScKEoBQVsVmzZjFkyBD27NmTO0Zs37597Ny5s9AETQhjql7DgepPOtB6QADXzhrGk108dp3E6+kc2hzOoc3hePo7ERTsQUBLD6ztTD+ezMlGy5vd6/HGTyf4+I/z9GnqjbtjxVusuioL3R/NuZCqNS4s5NJNVu43LEfy4cDGONmUj7GXQojKJTs+nivPPkfGiROobG3x/WwJdoX0rBKiKipxIjZw4EBCQkL46KOP+OWXXwCoX78+Bw8epHnz5saOT4hCqdUqfBu44tvAlccyc7h07DrnQmK4EnqLmEuJxFxK5O/156nZqBpBj3hSq1F1NFrTdRl8skUNvj8YyfErCXz4f2dZPKSZyc4ljOvmtRT2rDOMCwvuU7tKjAtLy8rm9R8NXRKHPuxLhyB3c4ckhKiEdDExRI4dR9bFi2icnfH96ktsmtxjLLEQVUyp5glt0aIF3333nbFjEaJUtFYagoI9CQr2JDUxk/OHYgkLieHGlRTCj98g/PgNrGwtqNPCMJ7Mq46T0ceTqdUqZvdpSL/P97Hx32sMC/ajZa2yn/FPlExWRjbbvrozLsyVh7reYyr/SmTh7+eJvJWGt5M17/Sqb+5whBCVUGZ4OJFjx5IdFY2Fpyd+y7/Bqk4dc4clRLlS7BJBVFQUU6ZMISkpqcBziYmJvP7668TGxho1OCFKys7Jimad/RjyTiuGTm/FQ938sHexIjMtmzN/R/HzwqN8N/0AIZsukRBr3PFkTX2dGdLSF4B3fz1Njl4x6vGFceUbF+ZkSedRDarEuLDziSr+F3IFgPlPNsXBWrokCiGMK/30aS4PH0F2VDSWtWpRa833koQJUYhiJ2KLFy8mKSkJR8eCi6s6OTmRnJzM4sWLjRqcEA+imo89rfsH8PT7bej7ajPqtfZEa6Uh6UYGh7dG8P2Mf9jw4WFO/HWV9OQso5zz9W5BOFpbcCY6iTUHI41yTGEauePCVNB1XCNsHCr/uLCUzGzWXDR87A8P9qNtYBVcbkEIYVKpIQeJfGYkObduYd2gATXXfI/W29vcYQlRLhU7Edu2bVu+tcP+65lnnmHz5s1GCUoIY1KrVdSo50qnkQ0YvaAtXcc2pGajaqjUKuIikvj7h3OsenMfW5Ye5/zhWLKzckp9rmr2VkzpFgTAwu1h3Eo1ToInjCvfuLC+/ngHOps3oDIyf/s5bmWqqOFszdSe0iVRCGFcyTt3cmX8ePSpqdi2aoXft6uxcJVu+kIUpdhjxMLDw/HzK3pdnRo1ahAREWGMmIQwGa2lhsCHPQh82IO0pCzOH4rl3MEY4i4nE3HyJhEnb2JprckdT+Yd4Fzi7mrDWvmx9uAVQqOTWLA9jA8GNDbR1YjSyLdeWIOqMy7s7/PXWXvoKgAf9G+EvVWphggLIUShEn7+hehp0yAnB/tOnfBZvAi1lZW5wxKiXCv2/4ltbGyIiIgoMhmLiIjAxsbGaIEJYWq2jpY07eRL006+3IpO5VxIDGEHY0i5lUnovmhC90Vj72pF3VaGiUBcveyKdVwLjZrZfRsy6IsDrDsUyVOtfGlSw9m0FyOKRVEU9qw9R3zM7XFho6vGuLDkDB1v/ngCgHaeeh7xl1+ohRDGc3PlKuLmzQPAqX9/vObMRmUhP/YIcT/F/q8kODiY//3vf7Rv377Q57/99ltatWpltMCEKEuuXnY80q8OwX38ib6YQNg/MVw4ep2UW5kc3XaZo9su4+bnQEBLN3Iy7//F/eFarvRr5s0vx6KYsek0Pz3XBnUV+MJf3p09EE1YSMztcWENq8S4MID3NocSlZiBr4sNvf2SzR2OEKKSUBSF6x9/ws0vvwTAdfRo3N943egzEwtRWRU7EZsyZQpdunTBycmJ119/HQ8PDwBiY2OZP38+q1at4vfffzdZoEKUBZVahXegC96BLrQbWpeIEzcJC4kh8tRNrkcmcz0yGVR2/F/MKeq19qJ2Uze0lppCjzW1Z312nInl38gEfjp6lUG3Z1QU5nHzWgp71hrGhbXq4493oIuZIyobf4XF8cPhK6hUMG9AI66fOWDukIQQlYCSk0PM7Dkk/PADAG6TJlFt/DhJwoQogWInYo8//jhLly7llVde4aOPPsLR0RGVSkViYiJarZYlS5bQsWNHU8YqRJmy0GoIaOFOQAt30lOyuHA4jrP/RBMXkcyVM/FcOROP1kpDneZu1H3EE5+6LvmqXh6O1rzSOZC5W88yb9tZujb0xMlGpgo3B11mDtu/PkW2To9vA1dadKsa48IS03S89ZOhS+LoNrV5uJYLW8+YOSghRIWnz8oi6o03Sd62DVQqPGfOxGXIYHOHJUSFU6IOvM8++yxPPPEE69ev58KFCyiKQt26dXnyySepUaOGqWIUwuxs7C1p3KEG9R714NcN/4ePbQMuHI4j6UYGZ/+J4ew/Mdg5W1G3lQdBwZ5U87EHYFSb2vxw6AoXr6fy8R/nmNG7oZmvpGraszaM+Jg0bKvQemEAszefITYpk9rV7Xi9WxCgN3dIQogKTp+aytWXXiZ1/37QavFZsADH7t3MHZYQFVKJR1L6+Pjw2muvmSIWISoErZ1Cy541eaRvHWIuJhIWEsOFI3GkJmTy7++R/Pt7JNVq2BMU7EndVh7M7NOQp5cf5NsDlxn6sB9Bng7mvoQqJXR/NGf/uT0ubGxDbB2rxriwP87E8tPRq6hUsHBQE2wsNeh0kogJIUovOz6eK889R8bxE6hsbamx5FPsH33U3GEJUWHJlDZClJJKpcIrwBmvAGfaDa7L5VOG8WQRJ29w82oK+69e4MDGC9So78pQN1d+irvFjE2nWDv+EelDX0ZuRqWwZ20YAK16++NTt2qMC0tIy2LqzycBGN/OnxY1ZZZEIcSD0cXGEjl2LFkXLqJxcsL3qy+xadrU3GEJUaFJIiaEEWi0avybu+Hf3I2MVB0XjsRxLiSG6IuJXDlzC1/gBaw5fzKZDVsu8GTPAJlF0cR0mTls/+r2uLD6LrToXjXGhQHM3HSa68mZ1HGzY1KXuuYORwhRwWVFRBA5Ziy6qCgsPDzwW/4NVgEB5g5LiApPEjEhjMzaTkuj9j40au9D4vV0zh2MIeyfGBKvp9NQZ8H1zVdYtSc2dzxZ9Rr2UiEzgT3r8owLG92wyowL23Yqhl+ORaFWwcJBTbHWFj6rpxBCFEfGmTNEjp9Azs2bWNasid+K5Wh9fMwdlhCVgiRiQpiQk5sND/eqTcuetbhyIYHFX/+LT7ICSVkc/+MKx/+4gqu3Xe54MnsXa3OHXCmE7o/m7IHb48LGVJ1xYbdSs5j2i6FL4rOP1aG5X9XoiimEMI20Q4e48vwL6FNSsGpQH7+vv8aiWjVzhyVEpaE21oGio6OZOHGisQ4nRKWiUqnwC3ThiVENWeaYwSaHLDwbuqCxUHMrKpUDP19k9dv7+eWjfwndH01WRra5Q66w8o8Lq41PUNVJRt799RQ3UrKo62HPq50DzR2OEKICS/7zLyLHjUefkoJty5bUXL1akjAhjKxEidjp06f57LPP+Oqrr0hISADgxo0bvPbaa/j7+/PXX3+ZIkYAbt26xfDhw3F0dMTZ2ZmxY8eSkpJyz/1feuklgoKCsLGxwc/Pj5dffpnExMR8+6lUqgK3devWmew6RNXWqb477eu5EabJYZOdjlHz2vD4iHp4BzqDAtfC4vnz21BWvr6X3785RcTJG+hzZKa74jKsF3Y6d1zYQ91rmTukMrPlRDSbT0SjUatYNKgZVhbSJVEIUToJv/zC1ZdeQsnMxL5jR3y/+RqNg8z4K4SxFbtr4qZNm3jyySfJzjb8Uj9//ny+/vprBg8eTIsWLfj555/p3r27yQIdPnw40dHR7NixA51Ox+jRo5kwYQJr1qwpdP+oqCiioqJYuHAhDRo04PLlyzz33HNERUXx448/5tt35cqV+WJ3dnY22XWIqk2lUjGjd0P2X9jD7nPX+ftyPF3aetOgrTdJN9I5dyiWcyExxMekcf5wHOcPx2HjoCXwYcN4Mjc/BxlPdg97fjhHfHQqto6GcWFVZUKUGymZTP/1FAAvdqhD4xpOZo5ICFFRJfzvf9yYvwAAp3798HpvDioLGckihCkU+7+s9957jxdffJE5c+bwzTffMGnSJF5++WW2bt3Kww8/bMoYCQ0NZdu2bRw6dIiWLVsCsGTJEnr27MnChQvx9vYu8JpGjRrx008/5T6uU6cO77//PiNGjCA7OxuLPB8qzs7OeHp6mvQahLijdnU7xrWrzee7LjJ782naBVbHWqvBsboNLXvUokX3mlyPTCbsnxjOH44lPVnHiT+vcuLPq7h42lL39ngyx2o25r6UcuXsgWjO7o9GpYIuVWi9MEVRmP7LKW6lZlHP04GJHaVLohCi5BRFodr237nx558AuI4cifubb6BSG20UixDiP4qdiIWFhbFmzRrs7e156aWXmDJlCh999JHJkzCAAwcO4OzsnJuEAXTu3Bm1Wk1ISAj9+/cv1nESExNxdHTMl4QBvPjii4wbNw5/f3+ee+45Ro8efc+qQ2ZmJpmZmbmPk5KSANDpdOh0upJcmtHdOb+546isjNW+z7arycajV7lyK53P/zrPS4/Xyfe8i7cNjwyoTau+Nbl6NoHzB+OIOHmT+Jg0Qn69RMivl/AKcCLwYXf8m1fH0qZy/FpZ2vaNj05l9+1xYS161sTD377K/Dew+UQ0/3cqBgu1inkDGqJSctDpcgrdVz4fTEva17SkfU0nJzGJuPffp9qdJOzll3AZN47snBzIKfzzRJSMvH9Nq7y1b3HjUCmKohRnR7VaTUxMDO7u7gA4ODhw/Phx/P39Sx9lMc2dO5fVq1cTFhaWb7u7uzuzZs3i+eefv+8xbty4QYsWLRgxYgTvv/9+7vY5c+bQsWNHbG1t+f3335kxYwbz58/n5ZdfLvJYM2fOZNasWQW2r1mzBltb2xJcmajK/r2hYtV5DVqVwtRmOVS7z4SJeh2kx1qQdk1L5i0NcPvHArWCjXs2tt46rN1yUFWxHy/12RB3wJbsFA1W1bKp/nA6VaX3ZlIWfHBcQ1q2ih41cujuW6yPcyGEyGUXehaPjRuxSEpCUamI69eXxEceMXdYQlRoaWlpDBs2LLcIVJQS/Yy+fft2nJwMYw/0ej07d+7k1KlT+fbp06dPsY/31ltvMW/evHvuExoaWpIQC5WUlESvXr1o0KABM2fOzPfc9OnTc+83b96c1NRUFixYcM9EbOrUqUyaNCnf8X19fenates9G7ss6HQ6duzYQZcuXdBqtWaNpTIyZvv2UBTOrjzMP+Hx/JPpzdIBzYr92pT4TC4cjuP8oTjio9NIj9GSHqPFys6COg+5UbeVO241K954stK0767vzxGVEouNo5aBk4KrVJfEF9YcIy37Og28HFg0Lhit5t5ZuHw+mJa0r2lJ+xpXTlISN+bNJ3nTJgAsatbkUs+etBs/TtrXBOT9a1rlrX3v9Ja7nxIlYiNHjsz3+Nlnn833WKVSkVOCEvbkyZMZNWrUPffx9/fH09OTuLi4fNuzs7O5devWfcd2JScn0717dxwcHPj555/v+8cJDg5mzpw5ZGZmYmVlVeg+VlZWhT6n1WrLxR8fylcslZGx2ndW38b0/PRvfj8Tx4HwBNrXdSvW61zctTzc056WPWpz40oKYQdjOH8wlrSkLM78Hc2Zv6Nx9rDNXTTasXrFGk9W3PY9+0805/6JNawXNrYRTtXsyiC68uHnf6/yx9nraDUqFg9phq114Z9XhZHPB9OS9jUtad8Hl7J7N9HT3yU7Lg5UKlxHjcL5hec58+ef0r4mJu1rWuWlfYsbQ7ETMb3e+FNou7m54eZ2/y+erVu3JiEhgSNHjtCiRQsA/vzzT/R6PcHBwUW+LikpiW7dumFlZcWmTZuwtr7/YrnHjh3DxcWlyCRMCGMK8nRgZOtarNgXzszfTrPtlfZYWhS/b6FKpcLNzwE3Pwfa9K/D1bPxhIXEcOnYdRJi0zj4WzgHfwvHq44TdYM9CWjhjrWd+T+gjOFWdCq71xi6Kz/8RG1qVKH1wmKTMpjx62kAXu1cl3qe5q3ECyEqhpykJGI/+JDEn38GwLJWLbzmzsX2oeblZmyNEFVJhRjhX79+fbp378748eP54osv0Ol0TJw4kaFDh+bOmHjt2jU6derEt99+S6tWrUhKSqJr166kpaXx3XffkZSUlFsmdHNzQ6PR8NtvvxEbG8sjjzyCtbU1O3bsYO7cuUyZMsWclyuqmFe7BLLp+DUuXU9l5b5wnn2szv1fVAi1Ro1fw2r4NaxGVkY24ceuExYSw9Wz8URfTCT6YiJ/rz9HrUbVCQr2pGajami0FXNAmS4rh+1fnyI7S0+Nei606FHL3CGVGUVRmLrxJEkZ2TSp4cSz7U0/TlcIUfGl7N5N9LszyI6NNVTBRo7E7dVXUBfjR2ohhGkUOxF74YUXmD9/Pvb29gCsXbuWPn36YGdn6AqUkJDAsGHD2Lp1q0kC/f7775k4cSKdOnVCrVYzcOBAPv3009zndTodYWFhpKWlAXD06FFCQkIACAgIyHes8PBwatWqhVarZenSpbz22msoikJAQACLFy9m/PjxJrkGIQrjaK3lrR71mbLhOJ/uPE+/5j54OD7Y/xgtrS0IesSLoEe8SE3I5NzBWMIOxnDzagqXjl3n0rHrWNlaENDS0HXR09+xQo0n+3vdOW5FpWLjaEmXMVVnvTCAH49c5c+zcVhq1Cwa1BSL+4wLE0JUbQWqYDVr4vXBXGwfesjMkQkhip2Iffnll8ycOTM3EXv22WcJDg7OnTUxMzOT7du3myZKwNXVtcjFmwFq1apF3gkgO3TowP0mhOzevbtJF6EWorgGNPfh+5DL/BuZwAdbQ/l4aHOjHdvO2YrmXf1o3tWPm9dSCPsnhnMHY0hNzOL0nmuc3nMNx+rW1A32JKiVJ84e5Xvmz7B/ogndHw0q6DqmQZWZnAMgOjGd2b+dAWBS17oEejiYOSIhRHmWsmePYSxY3irYKy+jtqlY44aFqKyKnYj9N6kp5qz3QohiUKtVzO7TiD5L9/LLsSieauVHsH81o5+nmo89bQYG8Ej/Olw7F8+5f2K4+O91km5kcHhLBIe3ROBR25GgYE8CWrpjY1++kpxb0ansujMurFdtatRzNXNEZUdRFN786STJmdk093NmfDvpkiiEKFxOUhKxH84jceNGQKpgQpRXFWKMmBBVQeMaTjzVyo81IZHM2HSazS+1NVm3M7VahW89V3zrudL+qRzCjxvGk105c4vY8CRiw5PYu/48fo2qERTsSa0m1bDQakwSS3HlHRfmE+RCy561zBpPWfvh0BX2nLuOlYWahYOaoqlC3TGFEMVXoAr2zDOGsWBSBROi3JFETIhy5PWuQWw9Gc3ZmGS+D4lkZJtaJj+n1kpD3Vae1G3lSWqiYX2ysJAYrkcmE3HiBhEnbmBpY0HAQ24EPeKJVx1nVGZIAv7+Ie+4sAZValzY1fg03ttiWFPx9W5B1HGzN3NEQojyJic5mdgPPyTxJ0MVTFvTD++5c7G9Pdu0EKL8KVEi9u6772Jraxg/kpWVxfvvv5+7wPOdSTKEEKXnYmfJlK5BTPvlFIt+D+OJJl5Usy+7pRTsnKxo2smXpp18uRWVStjBGM6FxJASn8mZfdGc2ReNg6s1dYMNk3y4eJbNul1hITGE7jOMC+sypgF2TlVneQlDl8QTpGRm07KmC6MfrW3ukIQQ5UzK338bqmAxMberYE/j9uqrUgUTopwrdiLWvn17wsLCch+3adOGS5cuFdhHCPFgnmrlx9qDkZyOSmLB9jA+HNjELHG4etvRul8dHunjT9T5BMJCYrh4NI7kWxkc+b/LHPm/y7jXdKBusCeBLT1MNmlGfEyecWE9a+FbhcaFAXwXEsm+Czex1qpZIF0ShRB5SBVMiIqt2InYrl27TBiGEOIOjVrFrD4NefKLA/xw+ApDW/nRzNfZbPGo1Cp8glzwCXKh/dC6hJ+4wbmQGCJP3yLucjJxl5PZ9+MF/Bq6EtTKk9pNq2NhaZzxZLqsHLZ9dYrszBx8gpxp2atqVYMib6bxwVZDl8Q3u9ejdvWyqUAKIcq/lL/3Ej19ulTBhKjAZIyYEOVQy1quDHjIh41HrzHj11P8/MKj5WJMlIWlhsCWHgS29CA9OYvzh2MJ+yeGuMvJXD55k8snb6K11lDnIXeCgj3xCXyw8WR774wLc9BWufXC9HqF1388TlpWDq1quzKydS1zhySEKAdykpOJnTePxB9/Am5Xwd5/H9uWLc0cmRCipEqUiKWmpjJv3jw2btxIREQEKpWK2rVr8+STTzJlypTc8WNCiAf3Vo96/H46luNXE9lw5ApDHvYzd0j52DhY0uRxX5o87kt8TKph0eiQGJJvZnB2fzRn90dj72JF3VYe1A32pJp3ySaYCAuJ4UzuuLCGVWpcGMC3ByIICb+FraWGhU82rVJJqBCicP+tgrk8PQL3116TKpgQFVSxE7GsrCwee+wxTp06RY8ePejduzeKohAaGsr777/P//3f/7Fnzx60Wq0p4xWiynB3sObVzoG8tyWUedvC6N7QCyfb8vnfl4unHcF9/Gn1RG2iLyUaxpMdiSMlPpOj2yM5uj2S6r72BAV7Eviwx32TqoTYtNxxYS171sK3ftUaFxZxI5UPt50FYGqPevhVkx+5hKjKclJSiJs3j4QNPwKg9fPDe65UwYSo6IqdiC1btoyrV69y/PhxgoKC8j139uxZOnTowBdffMFLL71k9CCFqKpGtqnFD4eucD4uhY/+OMfMPg3NHdI9qdQqvAOc8Q5wpt3gQC6fvElYSAyXT93kxpUUbly5wP6fLuBb35W6wZ74N3NDa5V/PJmSA3+sCDWMC6vrzMNVbFxYjl5hyobjZOj0tKlTjeHBNc0dkhDCjFL27jNUwaKjAXB5+mncX3sVtfRCEqLCK3YitnHjRqZPn14gCQOoV68e77zzDj/++KMkYkIYkVajZmafhgz/JoRvD0Qw5GFf6ns5mjusYrHQGsaK1XnInYwUHReOGLouxlxKIvLMLSLP3MLCSkOdZm6G8WT1XABICLUiNSrNMC5sbNUaFwawcl84hy/HY2epYd7AJlXu+oUQBgWqYL6+hirYww+bOTIhhLEUOxE7c+YMHTp0KPL5xx9/nNmzZxsjJiFEHo8GVKdXYy+2nIxmxq+n+eHZR1CpKtaXc2t7LY0eq0Gjx2qQEJfGuZAYwg7GknQ9nbCQGMJCYrBzssSzjhOpVywN48JGV71xYRevp7Bgu6FL5ju9GuDrKr94C1EVSRVMiKqh2IlYQkIC1apVK/L5atWqkZiYaJSghBD5vd2rPn+ejeNgxC02HY+ibzMfc4dUas7utrTq7c/DT9QmNjyJsH9iOH8kltTELC4evQ7AQ9188W1QtcaF3emSmJmtp11gdZ5q5WvukIQQZcxQBZtPwoYNgFTBhKjsip2I6fV6NJqi1wZSq9Xk5OQYJSghRH4+zjZM7BjAgu1hvL8llE71PbC3qtirT6hUKjz9nfD0d6Lt4EAun7rJuYMxxNy4xkM9qt64qG/+vsS/kQk4WFkwb2CTClf1FEI8mJR9t6tgUberYCNG4D7pNamCCVGJFfubnKIodOrUCQuLwl+SnZ1ttKCEEAWNa1eb9YevcPlmGkv+PM/UHvXNHZLRaCzU+Ddzw7ehM1u3Xqpy46LOxyazaMc5AKY/0QBvZ5mKWoiqIiclhbj5C0hYvx4wVMG83n8Pu1atzByZEMLUip2IzZgx4777DBw48IGCEUIUzcpCw4zeDRiz6jAr9oYzqIUvAe4lW5tLlD/ZOXqmbDhOVraex4PcGNSyhrlDEkKUkdT9+4maNu1uFWz4cNwnT5IqmBBVhFETMSGEaXWs50Gneu7sPBvHrN9O8+2YVtKFrYL7cs8ljl9NxNHagg8GSJdEIaqCnJRU4ubPv1sFq1EDr/ffxy5YqmBCVCVqYxwkKSmJZcuW0VIWFhTC5N7t3QBLjZq/z99g++lYc4cjHsDZmCQ+/sPQJXFmn4Z4OlmbOSIhhKml7t/PpT69c5Mwl+HD8f/1F0nChKiCHigR++uvv3j66afx8vJizpw5BAcHGysuIUQRalaz49nH/AGYs/kM6VkySU5FpLvdJVGXo9C5vgf9m1fcmTCFEPeXk5JK9IyZRI4ZS3ZUNNoaNfBbvRrP6dNQ29mZOzwhhBmUeNq1a9eusWrVKlauXElCQgLx8fGsWbOGwYMHS5caIcrICx0C+OnIVa4lpPPF7ou81qWuuUMSJbRs10VOXUvC2VbL3AGN5PNTiEos9cABot+Zhi4qCgCXYcMMY8EkAROiSit2Reynn36iZ8+eBAUFcezYMRYtWkRUVBRqtZrGjRvLlwghypCNpYZpTzQAYNnui0TeTDNzRKIkTkcl8unO8wDM6tMQdwfpkihEZZSTkkr0zJlEjh6DLioKrY8PfqtW4fnudEnChBDFT8SGDBlC8+bNiY6OZsOGDfTt2xdLS0tTxiaEuIcejTx5NKAaWdl65mw5Y+5wRDFlZeuZsuEE2XqF7g096dPU29whCSFMIPWffwjv04eEdT8A4DLsKfw3/YrdIzKMQwhhUOxEbOzYsSxdupTu3bvzxRdfEB8fb8q4hBD3oVKpmNm7IRZqFTvOxPJXWJy5QxLF8NlfFwiNTsLVzpL3+kuXRCEqm9wq2KjR/6mCvStVMCFEPsVOxL788kuio6OZMGECa9euxcvLi759+6IoCnq93pQxCiGKEOjhwOhHawEw+7czZGbLxB3l2alriSz96wIAc/o2orq9lZkjEkIYU+o//xDet69UwYQQxVKiyTpsbGwYOXIkI0eO5Pz586xcuZLDhw/z6KOP0qtXL5588kkGDBhgqliFEIV4uVMgvxyLIvxGKiv2RvB8hzrmDkkUIjM7h8nrj5OjV+jVxIteTbzMHZIQwkj0qanELlxIwtp1AGh9fPB6/z3sHnnEzJGJykav15OVlWXuMModnU6HhYUFGRkZ5OSY/kdprVaLRqN54OMUOxE7deoUjRo1yn0cGBjI3Llzee+999iyZQvLly/nqaeeIjMz84GDEkIUn4O1lqk96jFp/XGW/Hmefs298XKyMXdY4j8+3XmesNhkqttbMqdvo/u/QAhRIaT+E0L0O++gu3YNAOenhuI+eQoae+mGKIwrKyuL8PBw6YlWCEVR8PT05MqVK2XW5d/Z2RlPT88HOl+xE7EmTZrw8MMPM27cOIYOHYqDgwMAarWa3r1707t3b+LiZIyKEObQv7kPa0IiOXw5nrlbz7LkqebmDknkcfxKAst2XQTgvX6NcbWTiY6EqOj0qanELVpE/Jq1AGi9vfGa+75UwYRJKIpCdHQ0Go0GX19f1OoHWgq40tHr9aSkpGBvb2/ytlEUhbS0tNy8x8ur9D1cip2I7d69m5UrVzJ58mRee+01Bg4cyLhx42jXrl3uPu7u7qUORAhReiqVill9G9J7yV5+Ox7FsFZ+tK5TzdxhCSBDl8PkDcfRK9C3mTfdG3maOyQhxANK/SeE6GnT0F29CoDz0CG4T3ldqmDCZLKzs0lLS8Pb2xtbW1tzh1Pu3OmyaW1tXSZJqo2NoedRXFwc7u7upe6mWOxI27Vrx4oVK4iOjmbJkiVERETw2GOPUbduXebNm0dMTEypAhBCGEdDbyeGB9cEYOam02TnSNeF8uCjP85xIS4FNwcrZvZuaO5whBAPQJ+aSszs2USOGoXu6lW03t74rVyB18yZkoQJk7oz7kmWjio/7iTEOp2u1McoccpoZ2fH6NGj2b17N+fOnWPQoEEsXboUPz8/+vTpU+pAhBAPbnLXurjYagmLTeZ//1w2dzhV3pHL8Xy95xIAc/s3xkW6JApRYaWGHORS3365XRGdhw6h9qZN2LVubebIRFUiS56UH8b4WzxQ7S4gIIC3336badOm4eDgwJYtWx44ICFE6TnbWvJ6t3oALP79HNeTZfIcc0nPymHK7S6JAx7yoUsDD3OHJIQoBUMVbA6RI0eiu3oVC28vqYIJIYyi1InYnj17GDVqFJ6enrz++usMGDCAffv2GTM2IUQpDHnYl8Y+TiRnZjN/21lzh1NlLfw9jPAbqXg4WjHjCemSKERFdLcKtgYA5yFD8N/0m1TBhBBGUaJELCoqirlz51K3bl06dOjAhQsX+PTTT4mKiuLrr7/mEZkpSAiz06gNE3cAbDhylaOR8WaOqOo5GH6LFfvCAfhwQBOcbLVmjkgIURL61FRi5ryXvwq2Yjles6QKJkRpHDhwAI1GQ69evYrcZ+3atWg0Gl588cUCz+3atQuVSpV78/DwYODAgVy6dCl3nyZNmvDJJ5+YJH5TKXYi1qNHD2rWrMmSJUvo378/oaGh7N27l9GjR2NnZ/oPpVu3bjF8+HAcHR1xdnZm7NixpKSk3PM1HTp0yPdHU6lUPPfcc/n2iYyMpFevXtja2uLu7s7rr79Odna2KS9FCJN7yM+FQS1qADDj19Pk6BUzR1R1pGVl8/qPx1EUGNyyBo/Xk9lkhahIUg/eroJ9/z0AzoMH479pE3Zt2pg5MiEqruXLl/PSSy+xZ88eoqKiitznjTfeYO3atWRkZBS6T1hYGFFRUWzYsIHTp0/Tu3fvMlnA2VSKPX29Vqvlxx9/5IknnjDKStIlNXz4cKKjo9mxYwc6nY7Ro0czYcIE1tzuLlCU8ePHM3v27NzHeaf8zMnJoVevXnh6erJ//36io6N55pln0Gq1zJ0712TXIkRZeKN7PbadiuHktUTWH77CU638zB1SlTB/WxiXb6bh5WTNtCcamDscIUQx6dPSiFu0ODcBs/Dywuu9Odg/+qiZIxOiYktJSeGHH37g8OHDxMTEsGrVKt5+++18+4SHh7N//35++ukn/vrrLzZu3MiwYcMKHMvd3R1nZ2e8vLx49913GT58OBcuXCAwMLCsLseoil0R27RpE3379jVLEhYaGsq2bdv45ptvCA4Opm3btixZsoR169YVmVXfYWtri6enZ+7N0dEx97nff/+dM2fO8N1339GsWTN69OjBnDlzWLp0KVlZWaa+LCFMys3Bite61AVg/razJKTJe9rUDly8yar9EQDMG9gER2vpkihERVBoFey3TZKEiXJLURTSsrLNclOUkvWyWb9+PfXq1SMoKIgRI0awYsWKAsdYuXIlvXr1wsnJiREjRrB8+fL7HvfOWl4V+Tt7sSti5nTgwAGcnZ1p2bJl7rbOnTujVqsJCQmhf//+Rb72+++/57vvvsPT05PevXszffr03KrYgQMHaNy4MR4ed2cz69atG88//zynT5+mefPmhR4zMzOTzMy7s9ElJSUBhnUEHmQtAWO4c35zx1FZVbT2faqlN+sORnIuLoUF284ys3d9c4d0TxWtffNKzczm9Q3HABjSsgatazuXu+uoyO1bEUj7mpYp2leflsbNTz4l8XbvGgtPT9xnzcK2TWv0gL4K/S3l/WtaD9q+Op0ORVHQ6/Xo9XrSsrJpNHOHMUMstlMzu2BrWfwUYvny5QwfPhy9Xk/Xrl1JTEzkr7/+okOHDoBhMeZVq1bxySefoNfrGTx4MJMnT+bixYvUrl07d587/+r1eqKjo1m4cCE+Pj4EBgbmJnZ32qgs6PV6FEVBp9MVKFQV9+9cIRKxmJgY3N3zj7OwsLDA1dX1ngtJDxs2jJo1a+Lt7c2JEyd48803CQsLY+PGjbnHzZuEAbmP73XcDz74gFmzZhXY/vvvv5eb1c537DDPf5xVRUVq367VVZyL07DmYCTeGeHUqADjzCtS+96x/pKaqwlqXK0UHlJHsHVrhLlDKlJFbN+KRNrXtIzVvjaXLuGx4Ucsb90CIKFVK2706smZhHjYutUo56iI5P1rWqVtXwsLCzw9PUlJSSErK4v0LPONi0pOSibbsng95M6fP8/BgwdZtWpVbuGiX79+fPnllzz00EMA7Ny5k5SUFNq2bUtSUhKWlpZ06NCBL774gnfeeQeAtLQ0APz8/AzVwLQ0GjVqxKpVq8jIyMgdU5aZmZl7HlPLysoiPT2dPXv2FJhf4k6892PWROytt95i3rx599wnNDS01MefMGFC7v3GjRvj5eVFp06duHjxInXq1Cn1cadOncqkSZNyHyclJeHr60vXrl3zdX00B51Ox44dO+jSpQtarXSLMraK2r7h60+w5WQMfyZUZ+2TD5fbBSEravvuu3iTfQeOAPDRUy1pU6eamSMqXEVt34pC2te0jNW++rQ0bn76KYnf562CzSSgik/GIe9f03rQ9s3IyODKlSvY29tjbW2Ng6JwamYXE0R6fzZaTbG/R6xfv57s7Gzq17/bI0dRFKysrPjiiy9wcnJi3bp1xMfH4+XllbuPXq8nNDSUDz74ALVanVvo2L17N46Ojri7u+Pg4JDvmABWVlZl9l08IyMDGxsb2rdvj7W1db7nipsMmjURmzx5MqNGjbrnPv7+/nh6ehIXF5dve3Z2Nrdu3cLT07PY5wsODgbgwoUL1KlTB09PTw4ePJhvn9jYWIB7HtfKygorK6sC27Vabbn58CpPsVRGFa19pz3RgD/PXudIZAJbTsfRv3kNc4d0TxWpfZMzdLzzyxkAnn6kJo/VK/5nkrlUpPatiKR9TetB2jft0CGi3pmGLjISAOdBT+L+xhto8nyhq+rk/WtapW3fnJwcVCoVarUatdowxYO9GeZtKIns7Gz+97//sWjRIrp27ZrvuX79+vHDDz8waNAgNm3axLp162jY8O6amzk5ObRt25Y//viD7t27515znTp1cHZ2LnCuO90R77RRWVCr1ahUqkL/psX9G5s1EXNzc8PNze2++7Vu3ZqEhASOHDlCixYtAPjzzz/R6/W5yVVxHDt2DCA3427dujXvv/8+cXFxuV0fd+zYgaOjIw0ayGxnovLwcrLhpU4BzN8WxtytZ+lc3wMHmUjCKOZuDeVaQjq+rja81aOeucMRQhRCn5ZG3EcfE//dd6AoWHh64jVnDvbt2po7NCEqrc2bNxMfH8/YsWNxcnLK99zAgQNZvnw5GRkZVKtWjcGDBxeosvXs2ZPly5fTvXv3Yp/z2rVrud/376hZsyYuLi6lvg5TKpuU8QHVr1+f7t27M378eA4ePMi+ffuYOHEiQ4cOxdvbGzA0fL169XIrXBcvXmTOnDkcOXKEiIgINm3axDPPPEP79u1p0qQJAF27dqVBgwY8/fTTHD9+nO3btzNt2jRefPHFQiteQlRkY9vWpnZ1O64nZ/LpzvPmDqdS2H3uOmsPXgFgwZNNsbOqEMNuhahS0g4f5lK//sT/73+gKDgPetIwI6IkYUKY1PLly+ncuXOBJAwMidjhw4eZNGkS/fv3L7Sr48CBA9m0aRM3btwo9jkXLVpE8+bN8922bNnyQNdhShXmW8P333/PxIkT6dSpE2q1moEDB/Lpp5/mPq/T6QgLC8sdHGdpackff/zBxx9/TGpqKr6+vgwcOJBp06blvkaj0bB582aef/55WrdujZ2dHSNHjsy37pgQlYWVhYYZvRswauUhVu6LYHBLXwI9pDtOaSWm63jzxxMAjGpTi0f8y+e4MCGqKn16OnEffUT8/6QKJoQ5/Pbbb0U+16pVq/tOgz948GAGDx4MQIcOHe67/4kTJ3B0dCyzronGUGESMVdX13su3lyrVq18fyBfX19279593+PWrFmTrVV4diRRtXQIcqdLAw92nIll5m+n+W5scLmduKO8e2/zGWKSMqhVzZY3ugeZOxwhRB5phw8T9fY7uWPBnJ4ciMebb8pYMCFEuVJxUkYhhFFM79UASws1+y7cZNupopdpEEX782wsG45cRaWChYOalmg9FSGE6ejT04n94AMuP/0MushILDw98f36K7zfe0+SMCFEuSOJmBBVjF81W557zLB8w5zNZ8y6FklFlJim462fTgIwrm1tWtZyNXNEQgiAtCNHuNSvH7dWfwuKgtOTA2+PBWtn7tCEEKJQkogJUQU9/1gdfJxtiErM4PNdF8wdToUy67fTxCVn4u9mx+Su0iVRCHPLrYKNeBrdZamCCSEqDknEhKiCbCw1TH/CsETDl7svEXEj1cwRVQy/n45h47/XUN/ukmitLd9ruAhR2aUdPUp4v/53q2ADB0gVTAhRYUgiJkQV1a2hB+0Cq5OVo2fO5jPmDqfci0/N4u2fTwEwoX0dHvIrn2uSCFEVGKpgH3J5+AiyLl/GwsMD36++xPv996UKJoSoMCQRE6KKUqlUzOjdEAu1ip1n4/jzbKy5QyrXZmw6zY2UTALd7Xm1c6C5wxGiykr/99/bVbDVhirYgNtVsPbtzR2aEEKUiCRiQlRhAe72jG1bG4BZv50hQycTdxTm/05Gs+l4FBq1SrokCmEm+vR0qm/ezLWRo+5Wwb78Au+576NxdDR3eEIIUWKSiAlRxb3UKRB3Bysu30xj+d5wc4dT7txMyWTaL4Yuic8/Voemvs7mDUiIKijt6L9cGTQY17/35q+CPfaYuUMTQohSk0RMiCrO3sqCd3rVB2DJn+e5lpBu5ojKl3d/Pc3N1CzqeTrwUqcAc4cjRJWiz8gg9sN5XB4+HN3ly2Q7OuK1dKlUwYQQlYIkYkII+jT1plUtVzJ0euZuCTV3OOXG5hNRbDkZjcXtLolWFtIlUYiyknb09liwVatAUXDo25eISa9h115mRBSiojlw4AAajYZevXrl2x4REYFKpUKj0XDt2rV8z0VHR2NhYYFKpSIiIgKADh06oFKpCtw0Gg0uLi7s3r0bgFGjRqFSqfjwww/zHfOXX35BpVKZ7kJLSBIxIQQqlYqZfRqiVsGWk9Hsv3DD3CGZ3fXkTKbf7pL44uMBNPJxMnNEQlQN+owMYufN5/Lw4WRFRGDh7k6NL5bh8d4c9DY25g5PCFEKy5cv56WXXmLPnj1ERUUVeN7Hx4dvv/0237bVq1fj4+OTb9vGjRuJjo7Od7t8+TKNGjWiefPmBAcH5+5rbW3NvHnziI+PN81FGYEkYkIIABp4O/L0IzUBwwyBuhy9mSMyH0VRePvnk8Sn6Wjg5ciLj0uXRCHKQtqdGRFXrjSMBevXD//fNuHQoYO5QxNClFJKSgo//PADzz//PL169WLVqlUF9hk5ciQrV67Mt23lypWMHDky3zZXV1c8PT3z3ebMmcONGzf43//+h7W1de6+nTt3xtPTkw8++MAk12UMkogJIXJN6hKEq50l5+NSWL0/wtzhmM2vx6LYcSYWrcbQJdHSQj4qhTAlfUYGsfMXGNYFy1MF8/7wAzROUo0WogBFgaxU89wUpUShrl+/nnr16hEUFMSIESNYsWIFyn+O0adPH+Lj49m7dy8Ae/fuJT4+nt69e9/z2J9//jnffvstGzZsKFA902g0zJ07lyVLlnD16tUSxVxWLMwdgBCi/HCy1fJm9yDe/OkkH/9xnj7NvHF3sL7/CyuR2KQMZmw6DcDLHQNp4C0TAghhSmn//kv02++QFW6YtdWpXz88pr4lCZgQ96JLg7ne5jn321FgaVfs3ZcvX86IESMA6N69O4mJiezevZsOeSrdWq02N0lr27YtK1asYMSIEWi12iKPu2fPHl599VU+//xz2rRpQ1JSUoF9+vfvT7NmzZgxYwbLly8v/jWWEfmZVwiRz6AWvjSt4URKZjYf/t9Zc4dTphRF4e2NJ0lM19HYx4nnOtQxd0hCVFr5qmDh4Vi4uVFj2edSBROiEgkLC+PgwYM89dRTAFhYWDBkyJBCk6IxY8awYcMGYmJi2LBhA2PGjCnyuJGRkTz55JNMmDCBcePG3TOGefPmsXr1akJDy99kZFIRE0Lko1armNW3Ef2W7mPj0WsMD/ajRU1Xc4dVJn46eo2dZ+Ow1KhZOKgpWo38ViWEKaQfO0bU1LfvVsH69sXj7amSgAlRXFpbQ2XKXOcupuXLl5OdnY23993qnaIoWFlZ8dlnn+Xbt3HjxtSrV4+nnnqK+vXr06hRI44dO1bgmOnp6fTv35+GDRvy8ccf3zeG9u3b061bN6ZOncqoUaOKHXtZkERMCFFAM19nhrT05YfDV3j319NsmtgWjbr8TPdqCtGJ6cz6zdAl8dUugQR5Opg5IiEqH31mJtc//ZRbK1eBXo+Fmxues2bh0PFxc4cmRMWiUpWoe6A5ZGdn8+2337Jo0SK6du2a77l+/fqxdu1aunfvnm/7mDFjeOGFF1i2bFmRxx03bhy3bt1i+/btWFgUL5X58MMPadasGUFBQSW/EBOSREwIUag3ugfxf6eiOR2VxNqDkYy4PaNiZaQoCm/9dJLkjGya+jozoZ2/uUMSotJJP3aMqLffIevSJQCc+vbB4+23pQomRCW1efNm4uPjGTt2LE7/+e984MCBLF++vEAiNn78eAYNGoSzs3Ohx1ywYAEbNmzgt99+Izs7m5iYGAD0ej3JyclotVrs7AomqI0bN2b48OF8+umnxrk4I5F+N0KIQlWzt2JyV8MvRwt/DyM+NcvMEZnO+sNX2H3uOpYWahYNaoKFdEkUwmj0mZnELVxIxLDhZF26hMatOjU+/xzvefMkCROiElu+fDmdO3cukISBIRE7fPhwgQk2LCwsqF69epGVrs8//xydTkf37t3x8vLKvfn4+FCvXj1++OGHIuOZPXs2en35WppHKmJCiCIND/Zj7cFIzsYks+D3MOb2b2zukIzuWkI6czYbBvBO6VqXAHfpkiiEsaQfP24YC5a3CjZ1Kpoifu0WQlQev/32W5HPtWrVKncK+/9OZZ9Xs2bN8j0ffntc6X/p9XqSkpJwdDTMdFzYWmW1atUiMzOzOKGXGfnZVwhRJAuNmtl9GwGw9mAkp64lmjki41IUhTd/PEFKZjYP+Tkztq10SRTCGHKrYE8Ny1MFW2qogkkSJoQQgCRiQoj7aFXblb7NvFEUePfXU+j1JVvIsTxbczCSvRduYGVhmCWxsk9IIkRZSD9xgvABA7n5zXLQ63Hs05s6v/2GQ8eO5g5NCCHKFUnEhBD39XbP+thZajgamcDGf6+ZOxyjuHIrjfe3GLokvtG9Hv5u9maOSIiKTZ+ZSdyiRUQMfYqsixdzq2A+8+dLFUwIIQohiZgQ4r48HK15uVMgAB/+XyhJGTozR/Rg9HqFN348QVpWDq1quTK6TS1zhyREhZZbBfv6G0MVrLdUwYQQ4n4kERNCFMvoR2vj72bHjZQsPt5x3tzhPJDvQi5z4NJNbLQa5j/ZBLV0SRSiVAxVsMV3q2DVq1Nj6Wf4LJAqmBBC3I8kYkKIYrG0UDOzd0MAVh+I4FxsspkjKp3LN1P5YOtZAN7qUY9a1cv3gphClFfpJ08SPnAgN7/++m4VbPNvOHTqZO7QhBCiQpBETAhRbO3rutGtoQc5eoUZv56+55Sz5ZFer/D6hhOk63J4xN+VpyvxItVCmIo+K8tQBRsylKwLt6tgny2RKpgQQpSQJGJCiBKZ1qsBVhZqDly6yZaT0eYOp0RW7Y/gYMQt7Cw1LHiyqXRJFKKE0k+eJHzAgLtVsCeewP+3TTh07mzu0IQQosKRREwIUSK+rra80CEAgPe3hJKamW3miIrn0vUU5m83dEl8u1d9fF1tzRyREBWHPiuLuMUfGcaC5a2CLVyAhYuLucMTQogKSRIxIUSJPfuYP76uNkQnZrD0rwvmDue+cvQKr/94ggydnrYB1RnWys/cIQlRYeRWwb76CnJycOzVS6pgQghhBJKICSFKzFqr4d0nDBN3fPN3OOE3Us0c0b2t2BvOkcvx2FtZMO/JJqhU0iVRiPvRZ2UR99HHd6tg1arhs+RTfBYtlCqYEKJEYmJieOWVVwgICMDa2hoPDw8effRRli1bRlpaWu5++/fvp2fPnri4uGBtbU3jxo1ZvHgxOTk5BY65efNmHnvsMRwcHLC3t6djx46sWrWq0PP/9NNPdOzYERcXF2xsbAgKCmLMmDH8+++/ufusWrUK5zIe5yqJmBCiVDrXd+exum5k5eiZ9Vv5nbjjQlwKC34PA2D6E/XxcbYxc0RClH/pJ08RMXAgN7/88m4VbPNvOHbpYu7QhBAVzKVLl2jevDm///47c+fO5d9//+XAgQO88cYbbN68mT/++AOAn3/+mccee4waNWrw119/cfbsWV555RXee+89hg4dmu97xpIlS+jbty+PPvooISEhHDt2jAEDBvDCCy8wZcqUfOd/8803GTJkCM2aNWPTpk2EhYWxZs0a/P39mTp1apm2xX9ZmPXsQogKS6VSMaN3A7p9vIddYdfZGRpH5wYe5g4rn+wcPZM3HCcrW89jdd0Y3NLX3CEJUa7ps7K4sfRzbn7zDeTkoKlWDc8Z7+LYtau5QxNC5KEoCunZ6WY5t42FTYl6lrzwwgtYWFhw+PBh7OzuLhnj7+9P3759URSF1NRUxo8fT58+ffjqq69y9xk3bhweHh706dOH9evXM2TIEK5cucLkyZN59dVXmTt3LgB6vZ6JEyfi6OjIK6+8wqBBgwgODuaff/5h/vz5fPLJJ7z88su5x/Xz86NFixZm/xFZEjEhRKn5u9kzrp0/y3ZdZNbm07QNrI61VmPusHJ9/Xc4x68k4GBtwYcDG0uXRCHuIf3kKaLffpvM84YF2x179sRj+jTphihEOZSenU7wmmCznDtkWAi22uJNeHXz5s3cSljeJCwvlUrF77//zs2bNwtUswB69+5N3bp1Wbt2LUOGDOHHH39Ep9MVuu+ECRN45513WLt2LcHBwaxduxZ7e3teeOGFIs9tThWma+KtW7cYPnw4jo6OODs7M3bsWFJSUorcPyIiApVKVehtw4YNufsV9vy6devK4pKEqBQmPh6Ap6M1V26l89WeS+YOJ9e52GQ+2nEOgBm9G+LlJF0ShSjM3bFgQ8k8f94wFuzTT/BZvEiSMCHEA7lw4QKKohAUFJRve/Xq1bG3t8fe3p4333yTc+cM/7+uX79+ocepV69e7j7nzp3DyckJLy+vAvtZWlri7++fb19/f38sLO7WnhYvXpx7bnt7exITE41yraVRYSpiw4cPJzo6mh07dqDT6Rg9ejQTJkxgzZo1he7v6+tLdHT+NY6++uorFixYQI8ePfJtX7lyJd27d899XNYD9YSoyOysLHinV31eWvsvn++6wICHfKjhYt6p4XU5eiavP05Wjp5O9dwZ+JCPWeMRorxKP3Wa6KlT81TBeuAxfbokYEKUczYWNoQMCzHbuR/UwYMH0ev1DB8+nMzMzNztZdFVcMyYMfTp04eQkBBGjBhh1u6JFSIRCw0NZdu2bRw6dIiWLVsChkF6PXv2ZOHChXh7exd4jUajwdPTM9+2n3/+mcGDB2Nvb59vu7Ozc4F97yUzMzPfmyYpKQkAnU6HTqcr9nFM4c75zR1HZSXtW7hu9asTXNuFkPB45vx2ms+ealaq4xirfZfuusTJa4k42Vgwq3c9srMrxlpnpibvX9OqSO2rZGVx64sviV+xwjAWzNUFt2nTsO/SBYXyeQ0VqX0rImlf03rQ9tXpdCiKgl6vR6/XA2CtsTZafCWhKEqxkxd/f39UKhVnz57NjRugVq1aANjY2KAoCgEBhvVJT58+TZs2bQocJzQ0lPr166PX6wkMDCQxMZGrV6/m5gB34snMzOTixYt06NABvV5PQEAAe/fuJTMzE61WC4CjoyOOjo5ERkYC5Lbpnfjyxnkver0eRVHQ6XRoNPmHZRT376xSzD1KrRhWrFjB5MmTiY+Pz92WnZ2NtbU1GzZsoH///vc9xpEjR2jZsiX79u3L9wdWqVR4e3uTmZmJv78/zz33HKNHj75nn9GZM2cya9asAtvXrFmDra0sEiuqpqhUWHBCgx4Vz9fPoZ6zeT5arqXCopMachQVTwfk0NKt3H/ECVGmrK5exXPDBqxiYgFIatKEuH590RcxfkMIYX4WFhZ4enri6+uLpaWlucMpkYEDB3L27FkOHjxYYJzYE088QePGjZk2bRqNGzembdu2fPvtt/n22bp1K8OHD2f58uUMGDCAK1eu0KJFCyZMmMB7772Xb98vv/ySt956ix07dtCyZUsOHjxIt27d+OCDD3juuefy7bt371569+5NREQETk5OrFmzhqlTp3L58uViXVdWVhZXrlwhJiamwA++aWlpDBs2jMTERBwdHYs8RoWoiMXExODu7p5vm4WFBa6ursTExBTrGMuXL6d+/foFsuzZs2fTsWNHbG1t+f3333nhhRdISUnJN7PKf02dOpVJkyblPk5KSsLX15euXbves7HLgk6nY8eOHXTp0iU38xfGI+17bzF2Z1l9IJLt1x2ZOLg1lhYlG4b6oO2bla3nyS9DyFGS6VLfnelPNTX7QNzyRN6/plXe21fR6QxVsOXL71bB3nmHgAoyI2J5b9+KTtrXtB60fTMyMrhy5Qr29vZYW5unElZaX3zxBe3ataNz5868++67NGnSBLVazaFDh7hw4QKtWrXCy8uLL774gmHDhvH666/z4osv4ujoyM6dO3nzzTcZOHAgI0eORKVS0bBhQ+bNm8eUKVNwdHRkxIgRWFhYsGHDBubMmcOkSZPo2LEjAJ07d2bSpElMmzaN2NhY+vfvnzt8ad26dahUKpycnHB0dMTa2hq9Xs+lS/nHu1tZWRU6di0jIwMbGxvat29f4G9yp7fc/Zg1EXvrrbeYN2/ePfcJDQ194POkp6ezZs0apk+fXuC5vNuaN29OamoqCxYsuGciZmVlhZWVVYHtWq223Hx4ladYKiNp38JN6lqPLSdjuHQjle8PXWVC+zqlOk5p2/ezXecIjUnGxVbL3AFNKtyvhmVF3r+mVR7bN/30aaKnvk3m7QHsDj264zl9OhaurmaOrOTKY/tWJtK+plXa9s3JyUGlUqFWq1GrK8xcewAEBgby77//MnfuXN555x2uXr2KlZUVDRo0YMqUKbzwwguo1WoGDx6Ml5cX77//Po899hgZGRkEBgbyzjvv8Oqrr+br/vfaa69Rp04dFi5cyKeffkpOTg716tVj6dKljB07Nt/5Fy1aRHBwMMuWLWPlypWkpaXh4eFB+/btOXDgQO7cEGq1mpSUFFq0aJHv9XXq1OHChQsFrkutVqNSqQr9mxb3b2zWRGzy5MmMGjXqnvv4+/vj6elJXFxcvu3Z2dncunWrWGO7fvzxR9LS0njmmWfuu29wcDBz5swhMzOz0GRLCFE0Jxstb3avx+s/nuCTP87Tr5kP7o5l88vdqWuJLP3L8EE5u28j3Bzkv18hlKwsri9bxs2vvr5dBXPF8913cezezdyhCSGqEC8vL5YsWcKSJUvuuV+7du3Ytm1bsY7Zp08f+vTpAxjGayUlJRXZM23w4MEMHjz4nscbNWrUffMSYzNrIubm5oabm9t992vdujUJCQkcOXIkN0v9888/0ev1BAfffw2F5cuX06dPn2Kd69ixY7i4uEgSJkQpDXyoBmsORvJvZAIf/N9ZPhrSzOTnzMzOYcqG42TrFXo29uSJJgWntBWiqilQBeveHc93K2YVTAghKqMKUdusX78+3bt3Z/z48Rw8eJB9+/YxceJEhg4dmjtbyrVr16hXrx4HDx7M99oLFy6wZ88exo0bV+C4v/32G9988w2nTp3iwoULLFu2jLlz5/LSSy+VyXUJURmp1Spm9WmISgU//3uNg+G3TH7OJTsvcDYmmWp2lszp20jGhYkqTcnK4vqnnxIxeAiZ586hcXHB5+OPqPHxR5KECSFEOVIhEjGA77//nnr16tGpUyd69uxJ27Zt+eqrr3Kf1+l0hIWFkZaWlu91K1asoEaNGnQtZDCyVqtl6dKltG7dmmbNmvHll1+yePFiZsyYYfLrEaIya1LDmaEP+wHw7q+nyM4p3lSwpXH8SgLLdl8E4L1+jahmL9VsUXVlnDlD+KDB3Ph8GeTk4NC9O/5bNuOYZ61MIYQQ5UOFmDURwNXVtcjFm8GwHkFhM/HPnTuXuXPnFvqa7t2751vIWQhhPK93C2LryWjOxiSz5mAkz7SuZfRzZOgMXRJz9Aq9m3rTo7F0SRRVk5KVxY0vvuTGV19BdjYaFxc8Z7wrCZgQQpRjFaYiJoSoWFztLJnSLQiAhdvDuJmSeZ9XlNzHf5znfFwK1e2tmN2nodGPL0RFkBEaSvjgIdz4/HPIzsahWzf8N/8mSZgQQpRzkogJIUxmWCs/Gng5kpSRzcLfw4x67KOR8Xy1x9AlcW7/RrjYyVT1omoxjAVbQvigwWSePWsYC/bRYmp88jEW1aqZOzwhhBD3IYmYEMJkNGoVs/saKlXrDl3h+JUEoxz3TpdEvQL9m/vQteH9l7EQojIpUAXr2tVQBevRw9yhCSGEKCZJxIQQJtWylisDmvugKPDuptPo9QXHcpbUot/DuHQ9FXcHK2b0bmCEKIWoGJSsLK4v+exuFczZ2VAF+/QTqYIJIUQFI4mYEMLk3upRD3srC45fSeDHI1cf6FiHI27xzd5wAD4Y0BhnW+mSKKqG3CrY0qV3q2BbNksVTAghKihJxIQQJufuaM2rnQMBmLftLInpulIdJz3L0CVRUeDJFjXoVN/DmGEKUS4pOh3XP1uavwq2eBE+MhZMCCEqNEnEhBBlYmSbWgS423MzNYuPdpwr1THmbz9LxM00PB2tmf6EdEkUlV/G2bOGKthnnxmqYF26GMaC9ewpC5cLIcq9UaNG0a9fv9z7KpUKlUqFpaUlAQEBzJ49m+zsbAB27dqFSqXCxcWFjIyMfMc5dOhQ7msrE0nEhBBlQqtRM7O3YeKObw9EEBqdVKLX/3PpJiv3RQDw4cDGONlojR2iEOVGbhXsyUFkhoaicXbGe9FCfD79BIvq1c0dnhBClEr37t2Jjo7m/PnzTJ48mZkzZ7JgwYJ8+zg4OPDzzz/n27Z8+XL8/PzKMtQyIYmYEKLMtA2sTs/GnugVmLHpdKGLsBcmNTObN348AcDQh33pEORuyjCFMKuCVbDO+G/+DadevSrdr8FCiNJRFAV9WppZbsX9f3dhrKys8PT0pGbNmjz//PN07tyZTZs25dtn5MiRrFixIvdxeno669atY+TIkaU+b3llYe4AhBBVyzu9GvDn2TgOht9i0/Eo+jbzue9r5m07S+StNLydrHmnV/0yiFKIsqfodNz46ituLPsCsrPRODnh8e506YYohChASU8n7KEWZjl30NEjqGxtjXIsGxsbbt68mW/b008/zYIFC4iMjMTPz4+ffvqJWrVq8dBDDxnlnOWJVMSEEGXKx9mGiY8HADB3ayipmdn33H//hRt8e+AyAPOfbIqDtXRJFJVPRlgY4UOGcGNJnirYls1SBRNCVEqKovDHH3+wfft2OnbsmO85d3d3evTowapVqwBYsWIFY8aMMUOUpicVMSFEmRvXzp/1h68SeSuNJX9e4K0e9QrdLyUzm9dvd0kc8YgfbQNlbIyoXBSdjhtff22ogul0hirY9Ok49pIqmBCiaCobG4KOHjHbuUtr8+bN2Nvbo9Pp0Ov1DBs2jJkzZxbYb8yYMbzyyiuMGDGCAwcOsGHDBv7+++8HiLp8kkRMCFHmrLUaZvRuwNjVh1m+9xKDWtagjpt9gf3mbg3lWkI6NVxsmNpDuiSKyiUjLIzoqW+TceYMAPadO+E1YwYWbm5mjkwIUd6pVCqjdQ8sS48//jjLli3D0tISb29vLCwKT0V69OjBhAkTGDt2LL1796ZaJV2qQ7omCiHMolN9DzrWc0eXozCzkIk79py7zpqQSAAWPNkUOyv53UhUDopOx/XPPyf8yUFknDmDxskJ7wULqLFkiSRhQohKzc7OjoCAAPz8/IpMwgAsLCx45pln2LVrV6XtlgiSiAkhzOjdJxpgqVHz9/kb/H4mNnd7coaOt34ydEkc1aYWretUzl/CRNWTEXaOiCFDufHpEtDpsO/UyTAjYu8npCuiEELkMWfOHK5fv063bt3MHYrJSCImhDCbWtXtmNDeH4A5m8+QocsB4INt54hKzKBmNVve6B5kzhCFMApFp+PGsmWEP/kkGWfOoL5TBftMqmBCiMpLr9ffs/J1L5aWllSvXr1S/0glfX2EEGb1wuN12Hj0Klfj0/n67wgy4lVsOHsNlcrQJdHWUj6mRMWWEXaO6KlT744F69QJr5kyFkwIUfnFxcUREGCYKfnOLIhF6dChwz3XKOvXr98DrWFWHklFTAhhVraWFrzTqwEAX/4dzrqLho+lMY/WplVtV3OGJsQDUbKzufHFF/+pgs2XKpgQotKLj49n8+bN7Nq1i86dO5s7nHJLfmoWQphdz8aetKlTjf0Xb5KJitrVbJnSVbokioor49w5w4yIp08DYN+xI54zZ6B1dzdzZEIIYXpjxozh0KFDTJ48mb59+5o7nHJLEjEhhNmpVCpm9WlIj0/+Jkev58MBjbCx1Jg7LCFKLieHW199xa0vvgSdDrWTE57vvI1j796VepyDEELk9fPPP5s7hApBEjEhRLkQ6OHAd2Nasm//AR7yczZ3OEIAoOj1KFlZKJmZ6DMzc+/nPs7MQsky3M9OTsFv6efcunYNAPvHH8dz1kypggkhhCiUJGJCiHKjRU0XYk+bOwpRniiKgqLT3U1+MjJRsjLzJENZuY/zJka5z2Vm5iZKSr7HeRKqrDzPZWaiv5NsZWSg6HQlitcaUDs64jntHamCCSGEuCdJxIQQQhRJURTQ6e4mJ3krQxkZJUx+7j4uMvkp5LlyQ61GZW2N2tISlZUVKisr1FaWqCwN99FqiVYUmn34ATbe3uaOVgghRDkniZgQQpRjiqJAdna+yk+RlaDMjHsmP9kZ6XhcvEjMrt2osnXFTowoL9MFq1S3kx+r3ERIZWWJ2rKox5aGfQt9bHn3OIU8VltZorK2NpzvTuJ1n7VwdDodx7dulRkRhRBCFIskYkIIcR9KdnbBqk2BSlD+8ULFSYwKJj+FJ0Po9Ua7Ficg5QFeX1QClJusWFsVTH7ulxjlTX5yH1vmS7jUlpag1UpXPyGEEJWGJGJCiHJPyckpYrKEe40PKiQxysi4d/JTYOzQ7UQoJ8fcTZBLlbdbXJ77BRKjPF3m7iQ8ilZLWHg49Zs0wcLG9u5+96oK5a0+SSIkhBBCGI0kYkKIUskdO5SRgT49AyUjHX264aYU2Hbnfgb6jHSU9Lz3M24fIw19Wjq1bt0iYvFHd2eqy8qC7GxzX24ulVZ7/6pQMROjfI+trQupCv3nsVaLSq0udew6nY74rVtx7tkTrVZrxFYRQgghRElJIiZEJZQ701x6OvqMjNuJT56EKCPDkDAVkRDduX/n9bn7ZuTZNz3dJJUiS+CeaZeFRZ5ucNYPlvwUZ7xQ3jFJlpYPlAgJIYQQVc2oUaNYvXo1zz77LF988UW+51588UU+//xzRo4cyapVq3L3/a9u3brx1ltv8fjjj9/zXDt37qRjx45cvXoVf39/6taty6lTp4x6PcYkiZgQZUxRFEO1p7AkJ081KV9CdKealGdb3oTobrXpbvJUpt3p1GrUNjaobG1QW9sYqjs2hn/VNja591U21obnbWzy3LdGZW2D2tYGvYWWf44epU2HDlja2RYcL2Rped8JE4QQQghRvvj6+rJu3To++ugjbGxsAMjIyGDNmjX4+fnl27d79+6sXLky3zYrKyvs7OyIjo7O3fbKK6+QlJTEypUr0ev1JCcnU7NmTQBWrVrF4MGD2bNnDyEhIQQHB5v4CktHvtEIkYeiKIbucP9NiG7f16Wk4PDvMRLT0lDrdPmrSfkSorvb8labcpMkI06+cF8aDWobm+InRDZ571sbqk42tnnu3zmGYZva2tpokyjodDoy4m9h3bCBdJ0TQgghiqAoCtlZZfhdIg8LS3WJ/5//0EMPcfHiRTZu3Mjw4cMB2LhxI35+ftSuXTvfvlZWVnh6ehZ6nLzbbWxsyMzMxNPTE71ej62tLZaWliiKwsqVK/n888+pUaMGy5cvl0RMiAel6PW3F3QtpKvdneQnIwN9WjETorzd9jLubr/fVN1ewHVjXZRWm6dqZJ2/mpQ3IbqTPOVNiO4kSnf2zVOFyrdNEhohhBCiUsnO0vPVK7vNcu4JnzyG1kpT4teNGTOGlStX5iZiK1asYPTo0ezatcuo8f3111+kpaXRuXNnfHx8aNOmDR999BF2dnZGPY8xSCImjELR6w1JUHHHI92z+13h45GUjIwyvSaVVlsgyVFZWXEzNRX3GjXQ2NrmrybZGLrlFbYtb4UptzJ1e/IFIYQQQojKbsSIEUydOpXLly8DsG/fPtatW1cgEdu8eTP29vb5tr399tu8/fbbxTrP8uXLGTp0KBqNhkaNGuHv78+GDRsYNWqUMS7DqCQRqwKUnJzcJEmfnoGSnlb4eKR8M92VoKtderphiu8ypLK0LLQSZEh+bP/T/e4eCVG+7nc2d7dZF754q06n48TWrTSVWeeEEEIIYSYWlmomfPKY2c5dGm5ubvTq1YtVq1ahKAq9evWievXqBfZ7/PHHWbZsWb5trq6uxTpHQkICGzduZO/evbnbRowYwfLlyyURexDvv/8+W7Zs4dixY1haWpKQkHDf1yiKwowZM/j6669JSEjg0UcfZdmyZQQGBubuc+vWLV566SV+++031Go1AwcO5JNPPimQiVcEmZfCuTppErVu3DBM/30n2crKKtM4VFZWJhiPlCfpsrZGpSl5SVwIIYQQojJQqVSl6h5obmPGjGHixIkALF26tNB97OzsCAgIKNXx165dS0ZGRr4xYYqioNfrOXfuHHXr1i3VcU2lwiRiWVlZDBo0iNatW7N8+fJivWb+/Pl8+umnrF69mtq1azN9+nS6devGmTNnsLa2BmD48OFER0ezY8cOdDodo0ePZsKECaxZs8aUl2MiCllnz95z+m+VMccj/bSRfTwAABYMSURBVLer3Z0kSab3FkIIIYQQ/9G9e3eysrJQqVR069bN6MdfsWIFkydPLlD9euGFF1ixYgUffvih0c/5ICpMIjZr1izAMB1lcSiKwscff8y0adPo27cvAN9++y0eHh788ssvDB06lNDQULZt28ahQ4do2bIlAEuWLKFnz54sXLgQb29vk1yLqWi9vPD6YhkHjx2jdYfHsXSwz58kWVlJkiSEEEIIIcxCo9EQGhqae78wmZmZxMTE5NtmYWFRaDfGvE6ePMnRo0f5/vvvqVevXr7nnnrqKWbPns17772HRTlaBqf8RGJk4eHhxMTE0Llz59xtTk5OBAcHc+DAAYYOHcqBAwdwdnbOTcIAOnfujFqtJiQkhP79+xd67MzMTDLzjIlKSkoCDOOHdDqdia6oGCwssGzVivTERDR1A1HfHsOkADlgWFeqLNeWqoTu/H3N+neuxKR9TUva17SkfU1L2te0pH1N60HbV6fT5Xax05flEjhGoChKbuxA7vCfO4/zPq8oCtu2bcPLyyvfMYKCgjhz5kyRx1UUhf/97380aNCAunXrFmijvn37MnHiRDZv3kyfPn2Mcl13zqvT6QoklcX9O6sU5T5zdZczq1at4tVXX73vGLH9+/fz6KOPEhUVle+POXjwYFQqFT/88ANz585l9erVhIWF5Xutu7s7s2bN4vnnny/02DNnzsyt0OW1Zs0abG1tS35RQgghhBBCFMHCwgJPT098fX2xtLQ0dzgCw7CpK1euEBMTQ3Z2/kFBaWlpDBs2jMTERBwdHYs8hlkrYm+99Rbz5s275z6hoaEFyovmNnXqVCZNmpT7OCkpCV9fX7p27XrPxi4LOp2OHTt20KVLF5nVzwSkfU1L2te0pH1NS9rXtKR9TUva17QetH0zMjK4cuUK9vb2ufMciLsURSE5ORkHB4cSLzZdWhkZGdjY2NC+ffsCf5M7veXux6yJWGGD6f7L39+/VMe+s/J2bGxsvopYbGwszZo1y90nLi4u3+uys7O5detWkSt6g2HFbysrqwLbtVptufnwKk+xVEbSvqYl7Wta0r6mJe1rWtK+piXta1qlbd+cnBxUKhVqtRq1jPcv4E5XxDttVBbUarVh9spC/qbF/RubNRFzc3PDzc3NJMeuXbs2np6e7Ny5MzfxSkpKIiQkJLfLYevWrUlISODIkSO0aNECgD///BO9Xp9v2kshhBBCCCGEMKYKk1JHRkZy7NgxIiMjycnJ4dixYxw7doyUlJTcferVq8fPP/8MGDLiV199lffee49NmzZx8uRJnnnmGby9venXrx8A9evXp3v37owfP56DBw+yb98+Jk6cyNChQyvcjIlCCCGEEEKIiqPCzJr47rvvsnr16tzHzZs3B+Cvv/6iQ4cOAISFhZGYmJi7zxtvvEFqaioTJkwgISGBtm3bsm3btnz9OL///nsmTpxIp06dchd0/vTTT8vmooQQQgghhCimCjbHXqVmjL9FhUnEVq1add81xP7bICqVitmzZzN79uwiX+Pq6lpBF28WQgghhBBVwZ3p0bOysrCxsTFzNAIMMyNC8ceDFabCJGJCCCGEEEJURRYWFtja2nL9+nW0Wq1M2PEfer2erKwsMjIyTN42iqKQlpZGXFwczs7ORS5MXRySiAkhhBBCCFGOqVQqvLy8CA8P5/Lly+YOp9xRFIX09HRsbGzKbPp6Z2fne86yXhySiAkhhBBCCFHOWVpaEhgYSFZWlrlDKXd0Oh179uyhffv2ZbL8glarfaBK2B2SiAkhhBBCCFEBqNVqWdC5EBqNhuzsbKytrSvUOnjSwVQIIYQQQgghypgkYkIIIYQQQghRxiQRE0IIIYQQQogyJmPEjODO+mVJSUlmjsQwWDEtLY2kpKQK1Ue2opD2NS1pX9OS9jUtaV/TkvY1LWlf05L2Na3y1r53coL7LfosiZgRJCcnA+Dr62vmSIQQQgghhBDlQXJyMk5OTkU+r1Lul6qJ+9Lr9URFReHg4FBmaxcUJSkpCV9fX65cuYKjo6NZY6mMpH1NS9rXtKR9TUva17SkfU1L2te0pH1Nq7y1r6IoJCcn4+3tfc8FpqUiZgRqtZoaNWqYO4x8HB0dy8UbsbKS9jUtaV/TkvY1LWlf05L2NS1pX9OS9jWt8tS+96qE3SGTdQghhBBCCCFEGZNETAghhBBCCCHKmCRilYyVlRUzZszAysrK3KFUStK+piXta1rSvqYl7Wta0r6mJe1rWtK+plVR21cm6xBCCCGEEEKIMiYVMSGEEEIIIYQoY5KICSGEEEIIIUQZk0RMCCGEEEIIIcqYJGJCCCGEEEIIUcYkETOxpUuXUqtWLaytrQkODubgwYOF7qcoCj169EClUvHLL7/c97gnTpygXbt2WFtb4+vry/z58wvsk5CQwIsvvoiXlxdWVlbUrVuXrVu3PvBxN2zYQL169bC2tqZx48b3PaYpVaT2zcjIYNSoUTRu3BgLCwv69etXYJ+NGzfSpUsX3NzccHR0pHXr1mzfvv2+8ZqKudq3Q4cOqFSqArdevXrd87i7du3ioYcewsrKioCAAFatWlXqayoLFal9o6OjGTZsGHXr1kWtVvPqq68W2Ofrr7+mXbt2uLi44OLiQufOnatk+wJ8/PHHBAUFYWNjg6+vL6+99hoZGRkPfFz5/DUoafvK5+9d92tfnU7H7NmzqVOnDtbW1jRt2pRt27Y98HFB3r9QuvaV969BcdoBivdd4L/M9v5VhMmsW7dOsbS0VFasWKGcPn1aGT9+vOLs7KzExsYW2Hfx4sVKjx49FED5+eef73ncxMRExcPDQxk+fLhy6tQpZe3atYqNjY3y5Zdf5u6TmZmptGzZUunZs6eyd+9eJTw8XNm1a5dy7NixBzruvn37FI1Go8yfP185c+aMMm3aNEWr1SonT54seQM9oIrWvikpKcpzzz2nfPXVV0q3bt2Uvn37FtjnlVdeUebNm6ccPHhQOXfunDJ16lRFq9UqR48eLXa7GIs52/fmzZtKdHR07u3UqVOKRqNRVq5cWeRxL126pNja2iqTJk1Szpw5oyxZskTRaDTKtm3bSnVNplbR2jc8PFx5+eWXldWrVyvNmjVTXnnllQL7DBs2TFm6dKny77//KqGhocqoUaMUJycn5erVq8VtFqMxZ/t+//33ipWVlfL9998r4eHhyvbt2xUvLy/ltddee6DjyuevQWnaVz5/DYrTvm+88Ybi7e2tbNmyRbl48aLy+eefK9bW1vdsB3n/GpiqfeX9a1CcdijOd4H/Muf7VxIxE2rVqpXy4osv5j7OyclRvL29lQ8++CDffv/++6/i4+OjREdHF+uN+PnnnysuLi5KZmZm7rY333xTCQoKyn28bNkyxd/fX8nKyip2vMU57uDBg5VevXrle11wcLDy7LPPFvs8xlLR2jevkSNHFvoBUpgGDRoos2bNKtV5HoQ52/e/PvroI8XBwUFJSUkpcp833nhDadiwYb5tQ4YMUbp161biayoLFa1983rssccKTcT+Kzs7W3FwcFBWr15drOMakznb98UXX1Q6duyY73WTJk1SHn300Qc6rnz+GpSmffOSz997t6+Xl5fy2Wef5XvdgAEDlOHDhz/QceX9a1Ca9s2rKr9/8yqqHYrzXeC/zPn+la6JJpKVlcWRI0fo3Llz7ja1Wk3nzp05cOBA7ra0tDSGDRvG0qVL8fT0LNaxDxw4QPv27bG0tMzd1q1bN8LCwoiPjwdg06ZNtG7dmhdffBEPDw8aNWrE3LlzycnJeaDjHjhwIN813dkn7zWVhYrYvqWh1+tJTk7G1dXVqMe9H3O3738tX76coUOHYmdnd8/j3uu9WdxrKgsVsX1LIy0tDZ1OV+Xev23atOHIkSO5XXEuXbrE1q1b6dmz5wMdVz5/S9++pVFVP38zMzOxtrbO9zobGxv27t37QMeV92/p27c0KuP7tzhK8z4z5/tXEjETuXHjBjk5OXh4eOTb7uHhQUxMTO7j1157jTZt2tC3b99iHzsmJqbQ4955Dgz/Y/rxxx/Jyclh69atTJ8+nUWLFvHee+890HGL2ifvNZWFiti+pbFw4UJSUlIYPHiwUY97P+Zu37wOHjzIqVOnGDduXKmOm5SURHp6erGvqSxUxPYtjTfffBNvb+8C//MyNXO377Bhw5g9ezZt27ZFq9VSp04dOnTowNtvv/1Ax5XP39K3b2lU1c/fbt26sXjxYs6fP49er2fHjh1s3Ljx/9u7/5iqqz+O4y+4eK8hOspE8U5RNMwZktFwmK5ytdHCrc0VrYJkNWeOrVrWXK5hmUJOzXQ211bSH8Yd/khdJjPBO5fl1oxCEfthc2wN6MeiQicC9/39g3G/oSCXH/dzvfp8bPefzzn33HPee++zz/se7kGNjY1DGpf8HXx8B+NGzN9Q9PcsMJD3dLddq89Q85dCLIIOHDig6upqbd68uc8+s2bNUkJCghISEvTII4+EPHYgEFBSUpI++OADZWZmKi8vT6tWrdL27duHYebRIdrj+8knn+jNN99URUWFkpKShm3c4RLO+P7Xhx9+qPT0dGVlZQ1yptEp2uNbWloqn8+nTz/99Kpvf68H4Yyv3+/XunXr9P777+vbb7/V3r17dfDgQa1Zs2YYZh4doj2+N/P997333tMdd9yhO++8U263W0VFRSosLFRs7M3zyBjt8b2Z8zfaxEV6Ajeq22+/XS6XS83NzT2uNzc3B7dgq6urde7cOSUmJvbos3jxYi1YsEB+v1+ff/652tvbJXVtXUvShAkTeh23u02SkpOTNWLECLlcrmCfmTNnqqmpSZcvX+6x/dotlHH76jOc28qhiMb4DoTP59Pzzz+vXbt2Ob6bIEU+vt0uXLggn8+nt956q9859zXumDFjdMstt8jlcvW7JqdEY3wHYsOGDSotLdWRI0c0e/bsYR07FJGO7xtvvKH8/PzgLmN6erouXLigpUuXatWqVb0+cHH/DW98B+Jmv/+OGzdO+/bt06VLl/Tnn39q4sSJWrlypVJTU/ucM/kb3vgOxI2cv6Ho71lgIO/pbrtWn6Hm783z9YbD3G63MjMzVVVVFbwWCARUVVWl7OxsSdLKlStVW1ur7777LviSpHfffVc7duyQJKWkpGj69OmaPn26vF6vJCk7O1vHjh0LJqgkffHFF5oxY4ZuvfVWSdJ9992nn3/+WYFAINjnxx9/VHJycp9FQijjZmdn91hTd5/uNTklGuMbqvLychUWFqq8vLzf49rDJdLx7bZr1y61tbXpmWee6XfO/eVmKGtySjTGN1Tr16/XmjVrVFlZqXvvvXfYxh2ISMf34sWLVxUD3V/amFmvc+b+G974hor77/+NHDlSXq9XHR0d2rNnzzX/hIz8DW98Q3Wj528oBpNnEc3fIR31gWvy+Xzm8XisrKzMzpw5Y0uXLrXExERramrq8z0K4dSYlpYWGz9+vOXn59vp06fN5/NZfHx8j2M2GxoabPTo0VZUVGQ//PCDffbZZ5aUlGRvv/32kMY9fvy4xcXF2YYNG6y+vt6Ki4sjevxsNMXXzKyurs5qamps0aJF9sADD1hNTY3V1NQE23fu3GlxcXG2bdu2HseLt7S0hBST4RTJ+HabP3++5eXlhTTf7iNrX331Vauvr7dt27b1enz9QNcULtEWXzML5mtmZqY99dRTVlNTY3V1dcH20tJSc7vdtnv37h75+++//4b8GcMlkvEtLi620aNHW3l5uf3yyy92+PBhmzZtmj3xxBNDGpf7b5fBxNeM+69ZaPE9ceKE7dmzx86dO2fHjh2zhQsX2tSpU+2vv/4a0rjkb5fBxNeM/O3WXxxCeRa4UiTzl0IszLZu3WqTJ082t9ttWVlZduLEiWv2DzURv//+e5s/f755PB7zer1WWlp6VZ+vvvrK5s6dax6Px1JTU23t2rXW0dEx5HErKiosLS3N3G63zZo1yw4ePNjvfMMl2uKbkpJikq56dbv//vt7bX/22Wf7nXM4RDK+Z8+eNUl2+PDhkOd79OhRu/vuu83tdltqamqv/xdroGsKp2iLb2+5mZKSEmzvK7+Li4tD/ozhFKn4tre32+rVq23atGk2cuRImzRpki1fvrzfBy3uv13CFV/uv136i6/f77eZM2eax+OxsWPHWn5+vv36669DHteM/DUbfHzJ3y79xcEstGeBK0Uqf2PMhriPDwAAAAAYEH4jBgAAAAAOoxADAAAAAIdRiAEAAACAwyjEAAAAAMBhFGIAAAAA4DAKMQAAAABwGIUYAAAAADiMQgwAAAAAHEYhBgAAAAAOoxADAOA/lixZopiYGMXExGjEiBEaP368Hn74YX300UcKBAIhj1NWVqbExMTwTRQAENUoxAAAuEJOTo4aGxt1/vx5HTp0SA8++KBefPFF5ebmqqOjI9LTAwDcACjEAAC4gsfj0YQJE+T1enXPPffo9ddf1/79+3Xo0CGVlZVJkjZt2qT09HSNGjVKkyZN0vLly9Xa2ipJ8vv9Kiws1N9//x3cXVu9erUkqa2tTStWrJDX69WoUaM0d+5c+f3+yCwUABAxFGIAAIRg4cKFysjI0N69eyVJsbGx2rJli+rq6vTxxx+rurpar732miRp3rx52rx5s8aMGaPGxkY1NjZqxYoVkqSioiJ9/fXX8vl8qq2t1eOPP66cnBz99NNPEVsbAMB5MWZmkZ4EAADXiyVLlqilpUX79u27qu3JJ59UbW2tzpw5c1Xb7t27tWzZMv3xxx+Sun4j9tJLL6mlpSXYp6GhQampqWpoaNDEiROD1x966CFlZWVp3bp1w74eAMD1KS7SEwAAIFqYmWJiYiRJR44cUUlJic6ePat//vlHHR0dunTpki5evKj4+Phe33/q1Cl1dnYqLS2tx/W2tjaNHTs27PMHAFw/KMQAAAhRfX29pk6dqvPnzys3N1cvvPCC1q5dq9tuu01ffvmlnnvuOV2+fLnPQqy1tVUul0snT56Uy+Xq0ZaQkODEEgAA1wkKMQAAQlBdXa1Tp07p5Zdf1smTJxUIBLRx40bFxnb93LqioqJHf7fbrc7Ozh7X5syZo87OTv32229asGCBY3MHAFx/KMQAALhCW1ubmpqa1NnZqebmZlVWVqqkpES5ubkqKCjQ6dOn1d7erq1bt2rRokU6fvy4tm/f3mOMKVOmqLW1VVVVVcrIyFB8fLzS0tL09NNPq6CgQBs3btScOXP0+++/q6qqSrNnz9ajjz4aoRUDAJzGqYkAAFyhsrJSycnJmjJlinJycnT06FFt2bJF+/fvl8vlUkZGhjZt2qR33nlHd911l3bu3KmSkpIeY8ybN0/Lli1TXl6exo0bp/Xr10uSduzYoYKCAr3yyiuaMWOGHnvsMX3zzTeaPHlyJJYKAIgQTk0EAAAAAIexIwYAAAAADqMQAwAAAACHUYgBAAAAgMMoxAAAAADAYRRiAAAAAOAwCjEAAAAAcBiFGAAAAAA4jEIMAAAAABxGIQYAAAAADqMQAwAAAACHUYgBAAAAgMP+B138RWMYZGaXAAAAAElFTkSuQmCC\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### d. Headline count distribution" + ], + "metadata": { + "id": "3Y6vPBR3uAqR" + } + }, + { + "cell_type": "code", + "source": [ + "import seaborn as sns\n", + "\n", + "plt.figure(figsize=(6, 4))\n", + "\n", + "sns.histplot(df_merged[\"headline_count\"], bins=20)\n", + "\n", + "plt.title(\"Distribution of Headline Count\")\n", + "plt.xlabel(\"Number of Headlines\")\n", + "plt.ylabel(\"Frequency\")\n", + "\n", + "plt.tight_layout()\n", + "plt.savefig(\n", + " \"artifacts/py/figures/headline_count_distribution.png\",\n", + " facecolor=\"white\",\n", + " bbox_inches=\"tight\",\n", + " dpi=150\n", + ")\n", + "plt.show()\n", + "plt.close()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 410 + }, + "id": "su8qc2tNuFse", + "outputId": "f9991698-ffb9-4699-f96a-03675068b406" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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fVRvv/22evfurdWrVys2NlZffPGFli9frgkTJpT7IsQLlZqaqrS0NLVp00aPPPKIGjVqpIMHD2rNmjX6/vvvnQHz1ltv1cyZM3XHHXeoW7du2rFjhyZPnqxGjRopLy/P2V/37t3Vrl07jRgxQjt37lSjRo00c+ZM238phoSEaNKkSXrwwQd19dVX67777lONGjWUkZGhb775Ru3atSsVHE8VFhamWbNmqWvXrmrRooXLN36uWbNGn376qdq2bSvp5BGg5ORkjR49Wrfccotuu+02paen66233tI111yjXr16Ofst7z56Plq1aqXp06dryJAhuuaaa1S1alV1797d7f7gRTx2XwtwBiW3AJZMfn5+platWub//u//zGuvveZyq2SJ028tXLhwoenRo4eJiooyfn5+Jioqytx///3m119/dXndV199ZRo1amR8fX1dblfs2LGjady4cZn1nelWvk8//dQkJyebmjVrmsDAQNOtWzeza9euUq9/5ZVXzOWXX278/f1Nu3btzKpVq0r1ebbaTr+F1ZiTt0M++eSTJioqylSuXNnUrVvXvPTSSy63UBpz8hbWpKSkUjWd6bbF0+3fv9/06dPHhIeHGz8/P9O0adMyb7M931tYz7RuydieegtrSR1JSUmmTp06pnLlyqZWrVqmc+fO5p133nGuU1xcbMaOHWtiYmKMv7+/admypfn666/LHL8//vjDPPjggyYkJMSEhoaaBx980Kxdu/aCbmE9/RbskveSlpZWqj0hIcGEhoaagIAAc+WVV5revXubVatWnWPkTtq7d6958sknTb169UxAQICpUqWKadWqlXnhhRdMTk6Oy7pvvPGGadCggalcubKJiIgwjz32mDl06FCpPsuzj57ps9mxY0epccvLyzMPPPCAqVatmpHE7ax/IQ5juDoHAABYj2syAACALQgZAADAFoQMAABgC0IGAACwBSEDAADYgpABAABsccl/GVdxcbH27t2r4OBgvtoWAIDzYIzRkSNHFBUVVe6HS57qkg8Ze/fuVZ06dTxdBgAAXmv37t2qXbv2eb/ukg8ZJV91vHv37nM+OhkAAPxPbm6u6tSp4/ZjAy75kFFyiiQkJISQAQCAG9y93IALPwEAgC0IGQAAwBaEDAAAYAtCBgAAsAUhAwAA2IKQAQAAbEHIAAAAtiBkAAAAWxAyAACALQgZAADAFpf814rbJSMjQ9nZ2Zb2GR4erujoaEv7BADAUwgZbsjIyFCDBg11/PgxS/sNDKyiLVs2EzQAAJcEQoYbsrOzdfz4MbXpO1IhkbGW9JmbuVMr3h+t7OxsQgYA4JJAyLgAIZGxuiy6vqfLAACgQuLCTwAAYAtCBgAAsAUhAwAA2IKQAQAAbEHIAAAAtiBkAAAAWxAyAACALQgZAADAFoQMAABgC0IGAACwBSEDAADYgpABAABsQcgAAAC2IGQAAABbEDIAAIAtCBkAAMAWhAwAAGALQgYAALAFIQMAANiCkAEAAGzh0ZCxdOlSde/eXVFRUXI4HJo9e7bLcmOMnn32WUVGRiowMFDx8fHaunWrZ4oFAADnxaMh4+jRo2revLnefPPNMpe/+OKLmjhxoiZPnqwVK1YoKChICQkJ+vPPPy9ypQAA4Hz5enLjXbp0UZcuXcpcZozRhAkT9K9//Us9evSQJH3wwQeKiIjQ7Nmzdd99913MUgEAwHmqsNdk7NixQ/v27VN8fLyzLTQ0VG3atNGPP/54xtfl5+crNzfXZQIAABdfhQ0Z+/btkyRFRES4tEdERDiXlSUlJUWhoaHOqU6dOrbWCQAAylZhQ4a7kpOTlZOT45x2797t6ZIAAPhLqrAho1atWpKk/fv3u7Tv37/fuaws/v7+CgkJcZkAAMDFV2FDRlxcnGrVqqWFCxc623Jzc7VixQq1bdvWg5UBAIDy8OjdJXl5edq2bZtzfseOHVq3bp0uu+wyRUdHa/DgwXr++edVt25dxcXF6ZlnnlFUVJRuv/12zxUNAADKxaMhY9WqVbrxxhud80OGDJEkJSYmaurUqfrHP/6ho0eP6tFHH9Xhw4fVvn17zZs3TwEBAZ4qGQAAlJNHQ0anTp1kjDnjcofDoTFjxmjMmDEXsSoAAGCFCntNBgAA8G6EDAAAYAtCBgAAsAUhAwAA2IKQAQAAbEHIAAAAtiBkAAAAWxAyAACALQgZAADAFoQMAABgC0IGAACwBSEDAADYgpABAABsQcgAAAC2IGQAAABbEDIAAIAtCBkAAMAWhAwAAGALQgYAALAFIQMAANiCkAEAAGxByAAAALYgZAAAAFsQMgAAgC0IGQAAwBaEDAAAYAtCBgAAsAUhAwAA2IKQAQAAbEHIAAAAtiBkAAAAWxAyAACALQgZAADAFoQMAABgC0IGAACwBSEDAADYgpABAABsQcgAAAC2IGQAAABbEDIAAIAtCBkAAMAWhAwAAGCLCh0yioqK9MwzzyguLk6BgYG68sor9dxzz8kY4+nSAADAOfh6uoCzGTdunCZNmqRp06apcePGWrVqlfr06aPQ0FANHDjQ0+UBAICzqNAh44cfflCPHj3UrVs3SVJsbKw+/fRT/fzzzx6uDAAAnEuFPl1y/fXXa+HChfr1118lSevXr9eyZcvUpUuXM74mPz9fubm5LhMAALj4KvSRjBEjRig3N1cNGjSQj4+PioqK9MILL6hnz55nfE1KSopGjx59EasEAABlqdBHMj7//HN9/PHH+uSTT7RmzRpNmzZNL7/8sqZNm3bG1yQnJysnJ8c57d69+yJWDAAASlToIxnDhw/XiBEjdN9990mSmjZtql27diklJUWJiYllvsbf31/+/v4Xs0wAAFCGCn0k49ixY6pUybVEHx8fFRcXe6giAABQXhX6SEb37t31wgsvKDo6Wo0bN9batWs1fvx49e3b19OlAQCAc6jQIeP111/XM888o8cff1xZWVmKiorS3//+dz377LOeLg0AAJxDhQ4ZwcHBmjBhgiZMmODpUgAAwHmq0NdkAAAA70XIAAAAtiBkAAAAWxAyAACALQgZAADAFoQMAABgC0IGAACwBSEDAADYgpABAABsQcgAAAC2IGQAAABbEDIAAIAtCBkAAMAWhAwAAGALQgYAALAFIQMAANiCkAEAAGxByAAAALYgZAAAAFv4eroAAH9tGRkZys7Otrzf8PBwRUdHW94vgPJzK2T89ttvuuKKK6yuBcBfTEZGhho0aKjjx49Z3ndgYBVt2bKZoAF4kFsh46qrrlLHjh3Vr18/3X333QoICLC6LgB/AdnZ2Tp+/Jja9B2pkMhYy/rNzdypFe+PVnZ2NiED8CC3QsaaNWs0ZcoUDRkyRAMGDNC9996rfv366dprr7W6PgB/ASGRsbosur6nywBgMbcu/GzRooVee+017d27V++//74yMzPVvn17NWnSROPHj9eBAwesrhMAAHiZC7q7xNfXV3feeadmzJihcePGadu2bRo2bJjq1Kmjhx56SJmZmVbVCQAAvMwFhYxVq1bp8ccfV2RkpMaPH69hw4Zp+/btWrBggfbu3asePXpYVScAAPAybl2TMX78eE2ZMkXp6enq2rWrPvjg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atWqioiI0IMPPqjs7Gzn8k6dOmnAgAEaPHiwwsPDlZCQUOb7KC4u1pgxY1S7dm35+/urRYsWmjdvnnO5w+HQ6tWrNWbMGDkcDo0aNeosI1c+y5YtU4cOHRQYGKg6depo4MCBOnr0qHP5hx9+qNatWys4OFi1atXSAw88oKysLJc+vv32W9WrV0+BgYG68cYbtXPnzrNu8/TPq+SzefnllxUZGanq1asrKSlJBQUFznXy8/M1bNgwXX755QoKClKbNm20ePFi5/Jdu3ape/fuCgsLU1BQkBo3bqxvv/32gsYG8CRCBnAR+Pj4aOzYsXr99df1+++/X1BfixYt0t69e7V06VKNHz9eI0eO1K233qqwsDCtWLFC/fv319///vdS2xk+fLiGDh2qtWvXqm3bturevbv++OMPSdLhw4d10003qWXLllq1apXmzZun/fv365577nHpY9q0afLz89Py5cs1efLkMut77bXX9Morr+jll1/Whg0blJCQoNtuu01bt26VJGVmZqpx48YaOnSoMjMzNWzYsAsaj+3bt+uWW27RXXfdpQ0bNmj69OlatmyZBgwY4FynoKBAzz33nNavX6/Zs2dr586d6t27t3P57t27deedd6p79+5at26dHn74YY0YMeK8a0lLS9P27duVlpamadOmaerUqZo6dapz+YABA/Tjjz/qs88+04YNG/S3v/1Nt9xyi3NskpKSlJ+fr6VLl2rjxo0aN26cqlat6vbYAB5n3YNjAZQlMTHR9OjRwxhjzHXXXWf69u1rjDFm1qxZ5tT/giNHjjTNmzd3ee2rr75qYmJiXPqKiYkxRUVFzrb69eubDh06OOcLCwtNUFCQ+fTTT40xxuzYscNIMqmpqc51CgoKTO3atc24ceOMMcY899xz5uabb3bZ9u7du40kk56ebow5+ajtli1bnvP9RkVFmRdeeMGl7ZprrjGPP/64c7558+Zm5MiRZ+0nMTHR+Pj4mKCgIJcpICDASDKHDh0yxhjTr18/8+ijj7q89j//+Y+pVKmSOX78eJl9r1y50kgyR44cMcYYk5ycbBo1auSyzlNPPeWynSlTppjQ0FDn8tM/r5LPprCw0Nn2t7/9zdx7773GGGN27dplfHx8zJ49e1y207lzZ5OcnGyMMaZp06Zm1KhRZx0XwJv4ejLgAH8148aN00033XRBf703btxYlSr97yBkRESEmjRp4pz38fFR9erVS50OaNu2rfPfvr6+at26tTZv3ixJWr9+vdLS0sr8q3n79u2qV6+eJKlVq1ZnrS03N1d79+5Vu3btXNrbtWun9evXl/Md/s+NN96oSZMmubStWLFCvXr1cs6vX79eGzZs0Mcff+xsM8aouLhYO3bsUMOGDbV69WqNGjVK69ev16FDh1RcXCxJysjIUKNGjbR582a1adPGZTunjld5NW7cWD4+Ps75yMhIbdy4UZK0ceNGFRUVOceyRH5+vvPajoEDB+qxxx7T/PnzFR8fr7vuukvNmjU77zqAioKQAVxEN9xwgxISEpScnOxyuF6SKlWqJGOMS9up5/NLVK5c2WXe4XCU2Vbyi7Q88vLy1L17d40bN67UssjISOe/g4KCyt2nFYKCgnTVVVe5tJ1+GigvL09///vfNXDgwFKvj46O1tGjR5WQkKCEhAR9/PHHqlGjhjIyMpSQkHBBF6+W5WyfQ15ennx8fLR69WqXICLJGe4efvhhJSQk6JtvvtH8+fOVkpKiV155RU888YSldQIXCyEDuMhSU1PVokUL1a9f36W9Ro0a2rdvn4wxzltbrfxui59++kk33HCDJKmwsFCrV692Xrdw9dVX68svv1RsbKx8fd3/sRASEqKoqCgtX75cHTt2dLYvX75c11577YW9gTO4+uqr9d///rdUGCmxceNG/fHHH0pNTVWdOnUkSatWrXJZp2HDhpozZ45L208//WRpnS1btlRRUZGysrLUoUOHM65Xp04d9e/fX/3791dycrLeffddQga8Fhd+AhdZ06ZN1bNnT02cONGlvVOnTjpw4IBefPFFbd++XW+++abmzp1r2XbffPNNzZo1S1u2bFFSUpIOHTqkvn37Sjp5weHBgwd1//33a+XKldq+fbu+++479enTR0VFRee1neHDh2vcuHGaPn260tPTNWLECK1bt06DBg2y7L2c6qmnntIPP/ygAQMGaN26ddq6dau++uorZ4CKjo6Wn5+fXn/9df3222+aM2eOnnvuOZc++vfvr61bt2r48OFKT0/XJ5984nLBphXq1aunnj176qGHHtLMmTO1Y8cO/fzzz0pJSdE333wjSRo8eLC+++477dixQ2vWrFFaWpoaNmxoaR3AxUTIADxgzJgxpU5nNGzYUG+99ZbefPNNNW/eXD///PMF33lxqtTUVKWmpqp58+ZatmyZ5syZo/DwcElyHn0oKirSzTffrKZNm2rw4MGqVq2ay/Uf5TFw4EANGTJEQ4cOVdOmTTVv3jzNmTNHdevWtey9nKpZs2ZasmSJfv31V3Xo0EEtW7bUs88+q6ioKEknjxBNnTpVM2bMUKNGjZSamqqXX37ZpY/o6Gh9+eWXmj17tpo3b67Jkydr7Nixltc6ZcoUPfTQQxo6dKjq16+v22+/XStXrlR0dLQkqaioSElJSWrYsKFuueUW1atXT2+99ZbldQAXi8OcfhIYAADAAhzJAAAAtiBkAAAAWxAyAACALQgZAADAFoQMAABgC0IGAACwBSEDAADYgpABAABsQcgAAAC2IGQAAABbEDIAAIAt/j8hH+28agNdJQAAAABJRU5ErkJggg==\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### e. Sentiment vs next-day return" + ], + "metadata": { + "id": "CaqoqYEvuHWF" + } + }, + { + "cell_type": "code", + "source": [ + "plt.figure(figsize=(6, 4))\n", + "\n", + "sns.boxplot(\n", + " data=df_merged,\n", + " x=\"sentiment_label_vader\",\n", + " y=\"next_day_return\"\n", + ")\n", + "\n", + "plt.title(\"Next-Day Return by VADER Sentiment\")\n", + "plt.xlabel(\"VADER Sentiment\")\n", + "plt.ylabel(\"Next-Day Return\")\n", + "\n", + "plt.grid(True)\n", + "\n", + "plt.tight_layout()\n", + "plt.savefig(\"artifacts/py/figures/next_day_return_by_vader_sentiment.png\", bbox_inches=\"tight\")\n", + "plt.show()\n", + "plt.close()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 410 + }, + "id": "jzdqhiXIuJcL", + "outputId": "cfdf55db-3877-4500-d451-91ab04726e89" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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O9G3b98iu/ELkjcOoEqVKvKy33//HV5eXsjIyEBISAi++uorPHv2DO3bt8fZs2cBAH369MHgwYMBvE4I8s5PXpKnqv79+yMrKwtfffUVRo4cKS//3//+h379+qFTp05YunQpqlSpguHDh+PatWtKbXfTpk34/vvvMW7cOAQHB+Pq1ato37490tLSAAD9+vWDsbExIiMj860bGRkJHx8f1KxZs9Dt+/n5ITc3Fz///LNC+ZMnT3DkyBH07t0bxsbG8vKtW7fC1NQUH330Edzd3eHk5FTgvotSUDsCAKlUikePHuV7vHjxoshtFtQWClOnTh3ExMTg33//LbLu559/jqlTp6JNmzYIDw/HiBEjEBkZCV9fX+Tk5CjULer19vLywsSJEwG8/iKT1+4aNGjwzhjCwsJw5MgRzJgxA59++il2796N0aNH49NPP8WtW7cwd+5c9OnTBxs2bMDixYsV1lXmMyXP06dP0aVLF7i6umLp0qWoX78+pk+fjkOHDgEAGjRogHnz5gF4/UUjL34vL68izyOpQNNdPFTxvNl1ffv2baGnpycmTpwoX/52F/idO3eErq6uWLhwocJ2/vrrL6Gnp6dQnpKSIqpWrSo6deoksrOzRbNmzUTt2rVFenq6vE5JXxISQohLly4JAGLy5MnysqysrHz1Pv/8c2FiYiJevnwpL/P09BQeHh4K9Xbv3q1U93jeJaGbN2+Khw8fijt37oh169YJY2NjUb16dfHixQshhBAymUw4OzsLX19fIZPJFGJ0cHAQnTp1kpcVdkko73JMQV3eb5/PvLgGDx6cr26dOnUEABEbGysve/DggTA0NBRffPHFO483LwZjY2Px77//ysvPnDmT7/wPHjxY1KhRQ0ilUnnZxYsXleq2z83NFba2tsLT01OhPCIiQgAQR44cUShv3Lix8PPzkz+fOXOmsLS0FDk5OQr1itOOvL29BYACH59//rm8Xt776rfffhMPHz4Ud+/eFTt37hTVq1cXhoaG4u7du+88ZiGEWLt2rQAgDAwMxIcffihmz54tTp48qXAOhRDi5MmTAoCIjIxUKD98+HC+cmVf73ddEvL29hbe3t7y58eOHRMARKNGjcSrV6/k5YMHDxYSiUR07dpVYX1PT09Rp04d+XNVPlPyzv+mTZvkZdnZ2cLGxkb07dtXXsZLQurHHhbSKEdHRwwd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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### f. Headline count vs next-day return" + ], + "metadata": { + "id": "RdodxgF-uLaU" + } + }, + { + "cell_type": "code", + "source": [ + "plt.figure(figsize=(6, 4))\n", + "\n", + "sns.scatterplot(\n", + " data=df_merged,\n", + " x=\"headline_count\",\n", + " y=\"next_day_return\"\n", + ")\n", + "\n", + "plt.title(\"Headline Count vs Next-Day Return\")\n", + "plt.xlabel(\"Headline Count\")\n", + "plt.ylabel(\"Next-Day Return\")\n", + "\n", + "plt.grid(True)\n", + "plt.show()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 410 + }, + "id": "boyUJf7puN4o", + "outputId": "07c853c6-cf5a-4e3e-cffd-5c1f69ef0621" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### g. Average return by sentiment label" + ], + "metadata": { + "id": "stlWe94quQBB" + } + }, + { + "cell_type": "code", + "source": [ + "mean_returns = (\n", + " df_merged.groupby(\"sentiment_label_vader\")[\"next_day_return\"]\n", + " .mean()\n", + " .reset_index()\n", + ")\n", + "\n", + "display(mean_returns)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 143 + }, + "id": "c6wClEOtuSql", + "outputId": "2c62e64a-3408-4d1f-fd7d-32148aba962a" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + " sentiment_label_vader next_day_return\n", + "0 negative 0.013091\n", + "1 neutral 0.008656\n", + "2 positive 0.005946" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
sentiment_label_vadernext_day_return
0negative0.013091
1neutral0.008656
2positive0.005946
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + " \n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "mean_returns", + "summary": "{\n \"name\": \"mean_returns\",\n \"rows\": 3,\n \"fields\": [\n {\n \"column\": \"sentiment_label_vader\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"negative\",\n \"neutral\",\n \"positive\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"next_day_return\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.0036067567963215135,\n \"min\": 0.00594604116661054,\n \"max\": 0.013090554859588542,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.013090554859588542,\n 0.008656307971642185,\n 0.00594604116661054\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## 6. Quantitative Analysis of the Real Dataset" + ], + "metadata": { + "id": "Uh_KVhIowRAL" + } + }, + { + "cell_type": "markdown", + "source": [ + "### a. Summary statistics" + ], + "metadata": { + "id": "EiWp4-5gwWuw" + } + }, + { + "cell_type": "code", + "source": [ + "df_merged[[\"headline_count\", \"next_day_return\"]].describe()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 300 + }, + "id": "-aQFpbQ4wYhE", + "outputId": "49c6746a-f03a-4f63-edc6-d1ebc9d7242f" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " headline_count next_day_return\n", + "count 50.000000 40.000000\n", + "mean 15.740000 0.008564\n", + "std 12.931231 0.020383\n", + "min 0.000000 -0.046916\n", + "25% 3.000000 -0.001507\n", + "50% 15.500000 0.005624\n", + "75% 25.000000 0.020508\n", + "max 48.000000 0.064986" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
headline_countnext_day_return
count50.00000040.000000
mean15.7400000.008564
std12.9312310.020383
min0.000000-0.046916
25%3.000000-0.001507
50%15.5000000.005624
75%25.0000000.020508
max48.0000000.064986
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"df_merged[[\\\"headline_count\\\", \\\"next_day_return\\\"]]\",\n \"rows\": 8,\n \"fields\": [\n {\n \"column\": \"headline_count\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 18.797542973860708,\n \"min\": 0.0,\n \"max\": 50.0,\n \"num_unique_values\": 8,\n \"samples\": [\n 15.74,\n 15.5,\n 50.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"next_day_return\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 14.138550726467518,\n \"min\": -0.0469160043291727,\n \"max\": 40.0,\n \"num_unique_values\": 8,\n \"samples\": [\n 0.008563691965384479,\n 0.00562380008292125,\n 40.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 26 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### b. Correlation: headline_count vs returns" + ], + "metadata": { + "id": "Clfcyy5iwcvf" + } + }, + { + "cell_type": "code", + "source": [ + "corr_headline_return = df_merged[\"headline_count\"].corr(df_merged[\"next_day_return\"])\n", + "\n", + "print(f\"Correlation (headline_count vs next_day_return): {corr_headline_return:.3f}\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "JZng1T5VwfWn", + "outputId": "b939cadf-4b91-499e-85d2-78b68ea837ed" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Correlation (headline_count vs next_day_return): 0.098\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### c. Correlation: VADER sentiment vs return" + ], + "metadata": { + "id": "IOGRoTLMwg4_" + } + }, + { + "cell_type": "code", + "source": [ + "corr_sentiment_return = df_real[\"compound\"].corr(df_real[\"next_day_return\"])\n", + "\n", + "print(f\"Correlation (VADER sentiment vs next_day_return): {corr_sentiment_return:.3f}\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "KFw0fy8WwkvI", + "outputId": "5841082e-e98d-4d90-df97-a978c9e41470" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Correlation (VADER sentiment vs next_day_return): -0.115\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### d. Correlation: Lagged sentiment" + ], + "metadata": { + "id": "jjvrRrSGwmaM" + } + }, + { + "cell_type": "code", + "source": [ + "df_real[\"lagged_sentiment\"] = df_real.groupby(\"ticker\")[\"compound\"].shift(1)\n", + "\n", + "lag_corr = df_real[\"lagged_sentiment\"].corr(df_real[\"next_day_return\"])\n", + "\n", + "print(f\"Lagged sentiment vs next-day return: {lag_corr:.3f}\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "ud-RbxHDwo6E", + "outputId": "096f3664-595c-4cb7-c4aa-63bc1393c6fd" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Lagged sentiment vs next-day return: -0.004\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## 7. Compare Real and Synthetic Data" + ], + "metadata": { + "id": "vSwgJdToxyDb" + } + }, + { + "cell_type": "markdown", + "source": [ + "### a. Compare headline distributions" + ], + "metadata": { + "id": "K-3eiGDTx0-l" + } + }, + { + "cell_type": "code", + "source": [ + "print(\"Real headline count:\")\n", + "display(df_real[\"headline_count\"].describe())\n", + "\n", + "print(\"\\nSynthetic headline count:\")\n", + "display(df_synth[\"synthetic_headline_count\"].describe())" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 704 + }, + "id": "SoSwD6Tdx6Ag", + "outputId": "06308851-2da5-485d-900e-5ff3a3ba75a7" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Real headline count:\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "count 50.000000\n", + "mean 15.740000\n", + "std 12.931231\n", + "min 0.000000\n", + "25% 3.000000\n", + "50% 15.500000\n", + "75% 25.000000\n", + "max 48.000000\n", + "Name: headline_count, dtype: float64" + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
headline_count
count50.000000
mean15.740000
std12.931231
min0.000000
25%3.000000
50%15.500000
75%25.000000
max48.000000
\n", + "

" + ] + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\n", + "Synthetic headline count:\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "count 50.0\n", + "mean 10.0\n", + "std 0.0\n", + "min 10.0\n", + "25% 10.0\n", + "50% 10.0\n", + "75% 10.0\n", + "max 10.0\n", + "Name: synthetic_headline_count, dtype: float64" + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
synthetic_headline_count
count50.0
mean10.0
std0.0
min10.0
25%10.0
50%10.0
75%10.0
max10.0
\n", + "

" + ] + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### b. Compare return distributions" + ], + "metadata": { + "id": "s5HAtM3Qx8BG" + } + }, + { + "cell_type": "code", + "source": [ + "print(\"Real returns:\")\n", + "display(df_real[\"next_day_return\"].describe())\n", + "\n", + "print(\"\\nSynthetic returns:\")\n", + "display(df_synth[\"avg_synthetic_return\"].describe())" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 704 + }, + "id": "oM2RH-Uux-fv", + "outputId": "6971dd0f-872e-4392-c011-79c955d58ff7" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Real returns:\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "count 40.000000\n", + "mean 0.008564\n", + "std 0.020383\n", + "min -0.046916\n", + "25% -0.001507\n", + "50% 0.005624\n", + "75% 0.020508\n", + "max 0.064986\n", + "Name: next_day_return, dtype: float64" + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
next_day_return
count40.000000
mean0.008564
std0.020383
min-0.046916
25%-0.001507
50%0.005624
75%0.020508
max0.064986
\n", + "

" + ] + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\n", + "Synthetic returns:\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "count 50.000000\n", + "mean 0.001012\n", + "std 0.007552\n", + "min -0.015868\n", + "25% -0.003786\n", + "50% 0.001513\n", + "75% 0.005023\n", + "max 0.018966\n", + "Name: avg_synthetic_return, dtype: float64" + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
avg_synthetic_return
count50.000000
mean0.001012
std0.007552
min-0.015868
25%-0.003786
50%0.001513
75%0.005023
max0.018966
\n", + "

" + ] + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### c. Visual comparison of returns" + ], + "metadata": { + "id": "vivKatNAx_y0" + } + }, + { + "cell_type": "code", + "source": [ + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "\n", + "plt.figure(figsize=(6, 4))\n", + "\n", + "sns.kdeplot(df_real[\"next_day_return\"], label=\"Real\", fill=True)\n", + "sns.kdeplot(df_synth[\"avg_synthetic_return\"], label=\"Synthetic\", fill=True)\n", + "\n", + "plt.title(\"Return Distribution: Real vs Synthetic\")\n", + "plt.xlabel(\"Return\")\n", + "plt.ylabel(\"Density\")\n", + "plt.legend()\n", + "\n", + "plt.tight_layout()\n", + "plt.savefig(\"artifacts/py/figures/return_distribution_real_vs_synthetic.png\", bbox_inches=\"tight\")\n", + "plt.show()\n", + "plt.close()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 410 + }, + "id": "Yp7MtxPqyCIZ", + "outputId": "170dd350-c0d6-440d-db21-567969d46296" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### d. Compare sentiment distributions" + ], + "metadata": { + "id": "SJOrnt3QyEMW" + } + }, + { + "cell_type": "code", + "source": [ + "print(\"Real VADER sentiment:\")\n", + "print(df_real[\"sentiment_label_vader\"].value_counts())\n", + "\n", + "print(\"\\nSynthetic sentiment:\")\n", + "print(df_synth[\"sentiment_label\"].value_counts())" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "K84mAHWJyHqQ", + "outputId": "f590c89f-d9a4-43a2-a9f8-1747d32e2812" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Real VADER sentiment:\n", + "sentiment_label_vader\n", + "positive 29\n", + "negative 12\n", + "neutral 9\n", + "Name: count, dtype: int64\n", + "\n", + "Synthetic sentiment:\n", + "sentiment_label\n", + "neutral 24\n", + "positive 13\n", + "negative 13\n", + "Name: count, dtype: int64\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### e. Compare average returns by sentiment" + ], + "metadata": { + "id": "tdYdvAvRyIM6" + } + }, + { + "cell_type": "code", + "source": [ + "real_returns_by_sentiment = (\n", + " df_real.groupby(\"sentiment_label_vader\")[\"next_day_return\"]\n", + " .mean()\n", + " .reset_index()\n", + ")\n", + "\n", + "synthetic_returns_by_sentiment = (\n", + " df_synth.groupby(\"sentiment_label\")[\"avg_synthetic_return\"]\n", + " .mean()\n", + " .reset_index()\n", + ")\n", + "\n", + "print(\"Real data:\")\n", + "display(real_returns_by_sentiment)\n", + "\n", + "print(\"\\nSynthetic data:\")\n", + "display(synthetic_returns_by_sentiment)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 321 + }, + "id": "_Et-LeTAyLZ0", + "outputId": "45b05ae2-d2ee-46c8-d868-db0672a4e5fc" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Real data:\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + " sentiment_label_vader next_day_return\n", + "0 negative 0.013091\n", + "1 neutral 0.008656\n", + "2 positive 0.005946" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
sentiment_label_vadernext_day_return
0negative0.013091
1neutral0.008656
2positive0.005946
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + " \n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "real_returns_by_sentiment", + "summary": "{\n \"name\": \"real_returns_by_sentiment\",\n \"rows\": 3,\n \"fields\": [\n {\n \"column\": \"sentiment_label_vader\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"negative\",\n \"neutral\",\n \"positive\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"next_day_return\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.0036067567963215135,\n \"min\": 0.00594604116661054,\n \"max\": 0.013090554859588542,\n \"num_unique_values\": 3,\n \"samples\": [\n 0.013090554859588542,\n 0.008656307971642185,\n 0.00594604116661054\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\n", + "Synthetic data:\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + " sentiment_label avg_synthetic_return\n", + "0 negative -0.008441\n", + "1 neutral 0.001548\n", + "2 positive 0.009477" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
sentiment_labelavg_synthetic_return
0negative-0.008441
1neutral0.001548
2positive0.009477
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + " \n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "synthetic_returns_by_sentiment", + "summary": "{\n \"name\": \"synthetic_returns_by_sentiment\",\n \"rows\": 3,\n \"fields\": [\n {\n \"column\": \"sentiment_label\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"negative\",\n \"neutral\",\n \"positive\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"avg_synthetic_return\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.008978690010205504,\n \"min\": -0.008440692307692284,\n \"max\": 0.009477307692307677,\n \"num_unique_values\": 3,\n \"samples\": [\n -0.008440692307692284,\n 0.0015476666666666625,\n 0.009477307692307677\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## 8. Predict next-day return direction with Random Forest" + ], + "metadata": { + "id": "v9UVpAbIzZO5" + } + }, + { + "cell_type": "markdown", + "source": [ + "### a. Define prediction target" + ], + "metadata": { + "id": "oBXfyid6zcqC" + } + }, + { + "cell_type": "code", + "source": [ + "# Create binary target: 1 = positive return, 0 = negative or zero\n", + "df_real[\"return_direction\"] = (df_real[\"next_day_return\"] > 0).astype(int)\n", + "\n", + "print(\"Target distribution:\")\n", + "print(df_real[\"return_direction\"].value_counts())" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "e9ve_LFEzfYl", + "outputId": "fb3d57e7-500f-4bdf-dda0-4dabf33790dd" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Target distribution:\n", + "return_direction\n", + "1 27\n", + "0 23\n", + "Name: count, dtype: int64\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### b. Define feature set" + ], + "metadata": { + "id": "uRlF9_0pzlEk" + } + }, + { + "cell_type": "code", + "source": [ + "features = [\n", + " \"headline_count\",\n", + " \"compound\", # VADER sentiment\n", + "]\n", + "\n", + "X = df_real[features]\n", + "y = df_real[\"return_direction\"]" + ], + "metadata": { + "id": "jR5CfaeTzm6k" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### c. Train-test split" + ], + "metadata": { + "id": "qHfjJi7Szoah" + } + }, + { + "cell_type": "code", + "source": [ + "from sklearn.model_selection import train_test_split\n", + "\n", + "X_rf_train, X_rf_test, y_rf_train, y_rf_test = train_test_split(\n", + " X, y, test_size=0.2, random_state=42\n", + ")\n", + "\n", + "print(\"Train size:\", X_rf_train.shape)\n", + "print(\"Test size:\", X_rf_test.shape)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "7dbbVbVhzqAR", + "outputId": "ca487d55-ad1c-4791-ee67-7adb4067e112" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Train size: (40, 2)\n", + "Test size: (10, 2)\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### d. Train Random Forest model" + ], + "metadata": { + "id": "bpcgoB16zsTm" + } + }, + { + "cell_type": "code", + "source": [ + "from sklearn.ensemble import RandomForestClassifier\n", + "\n", + "rf_model = RandomForestClassifier(\n", + " n_estimators=100,\n", + " random_state=42\n", + ")\n", + "\n", + "rf_model.fit(X_rf_train, y_rf_train)\n", + "\n", + "print(\"Random Forest model trained.\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "j_AyXZEqzvE7", + "outputId": "f250b706-d628-4e54-9fab-8efe21f120eb" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Random Forest model trained.\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### e. Make predictions" + ], + "metadata": { + "id": "Rj-Ge1Gwzxhk" + } + }, + { + "cell_type": "code", + "source": [ + "y_rf_pred = rf_model.predict(X_rf_test)" + ], + "metadata": { + "id": "IUIcZl4nzzHN" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### f. Evaluate model performance" + ], + "metadata": { + "id": "GQR3-D8Cz00D" + } + }, + { + "cell_type": "code", + "source": [ + "from sklearn.metrics import accuracy_score, classification_report, confusion_matrix\n", + "\n", + "rf_accuracy = accuracy_score(y_rf_test, y_rf_pred)\n", + "\n", + "print(f\"Accuracy: {rf_accuracy:.2%}\")\n", + "\n", + "print(\"\\nClassification Report:\")\n", + "print(classification_report(y_rf_test, y_rf_pred))\n", + "\n", + "print(\"\\nConfusion Matrix:\")\n", + "print(confusion_matrix(y_rf_test, y_rf_pred))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "eFtkApW3z269", + "outputId": "3dfe44c5-e4fa-49d2-db49-1469e5fd79ff" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Accuracy: 50.00%\n", + "\n", + "Classification Report:\n", + " precision recall f1-score support\n", + "\n", + " 0 0.60 0.50 0.55 6\n", + " 1 0.40 0.50 0.44 4\n", + "\n", + " accuracy 0.50 10\n", + " macro avg 0.50 0.50 0.49 10\n", + "weighted avg 0.52 0.50 0.51 10\n", + "\n", + "\n", + "Confusion Matrix:\n", + "[[3 3]\n", + " [2 2]]\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### g. Feature importance" + ], + "metadata": { + "id": "HoHGFyUAz6Ov" + } + }, + { + "cell_type": "code", + "source": [ + "feature_importance = pd.DataFrame({\n", + " \"feature\": features,\n", + " \"importance\": rf_model.feature_importances_\n", + "}).sort_values(\"importance\", ascending=False)\n", + "\n", + "display(feature_importance)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 112 + }, + "id": "pwCG5caDz7tC", + "outputId": "676d5102-9b83-4dd1-c006-6f9cc28cf206" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + " feature importance\n", + "1 compound 0.538501\n", + "0 headline_count 0.461499" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
featureimportance
1compound0.538501
0headline_count0.461499
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + " \n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "feature_importance", + "summary": "{\n \"name\": \"feature_importance\",\n \"rows\": 2,\n \"fields\": [\n {\n \"column\": \"feature\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 2,\n \"samples\": [\n \"headline_count\",\n \"compound\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"importance\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.05444850268289211,\n \"min\": 0.46149909452747306,\n \"max\": 0.5385009054725269,\n \"num_unique_values\": 2,\n \"samples\": [\n 0.46149909452747306,\n 0.5385009054725269\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Visualise feature importance" + ], + "metadata": { + "id": "HRi8hFmNz81v" + } + }, + { + "cell_type": "code", + "source": [ + "plt.figure(figsize=(6, 4))\n", + "\n", + "plt.bar(feature_importance[\"feature\"], feature_importance[\"importance\"])\n", + "\n", + "plt.title(\"Feature Importance (Random Forest)\")\n", + "plt.xlabel(\"Feature\")\n", + "plt.ylabel(\"Importance\")\n", + "\n", + "plt.tight_layout()\n", + "plt.savefig(\"artifacts/py/figures/rf_feature_importance.png\", bbox_inches=\"tight\")\n", + "plt.show()\n", + "plt.close()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 410 + }, + "id": "BDq2R6wqz_G1", + "outputId": "482da446-060b-4115-9244-77294c1f8901" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhgAAAGJCAYAAADIVkprAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAP95JREFUeJzt3XlYVHX///HXgMgq4IKgaOKWu5igJmqY0k25Vd6mlncipbZZGVnpbYFYiloZ3a6lqWWWVpbebWZxa5lZ7mUuuAQuJaClKPoVFD6/P/oxOQIKeHRSn4/rOtfFfM7nnPM+Z+YMrznLjM0YYwQAAGAhF2cXAAAArj4EDAAAYDkCBgAAsBwBAwAAWI6AAQAALEfAAAAAliNgAAAAyxEwAACA5QgYAADAcgQMAFet/fv3y8PDQ6tXr3Z2KRcUEhKiQYMGObuMq1L//v3Vt29fZ5dxzSFgoFzmzZsnm81W7DBy5MhLsszvvvtOY8aM0dGjRy/J/C9G4fZYv369s0spt+nTp2vevHnOLsNSY8eOVbt27dShQwd726BBgxxer+7u7rr++usVHx+vU6dOObHav5dzt9PZw7Jly5xdXhG//fabxowZo82bNxcZ98wzz2jx4sX68ccfL39h17AKzi4AV7axY8eqbt26Dm3Nmze/JMv67rvvlJiYqEGDBsnf3/+SLONaNn36dFWrVu2q+RR96NAhvfnmm3rzzTeLjHN3d9fs2bMlSdnZ2Vq6dKmef/557dmzRwsWLLjcpf5tnb2dzhYaGuqEas7vt99+U2JiokJCQtSqVSuHcTfccIPCw8P18ssv66233nJOgdcgAgYuym233abw8HBnl3FRTpw4IW9vb2eX4TQnT56Ul5eXs8uw3Ntvv60KFSqoZ8+eRcZVqFBB//rXv+yPH374YUVEROjdd9/V5MmTFRgYeDlL/ds6dztZ6XK/7vr27auEhARNnz5dPj4+l2251zJOkeCS+vzzz9WpUyd5e3urUqVK6t69u7Zu3erQ56efftKgQYNUr149eXh4KCgoSPfdd59+//13e58xY8boqaeekiTVrVvXfqg2PT1d6enpstlsxR7et9lsGjNmjMN8bDabtm3bpnvuuUeVK1dWx44d7ePffvtthYWFydPTU1WqVFH//v21f//+cq37oEGD5OPjo3379qlHjx7y8fFRcHCwpk2bJknasmWLunTpIm9vb9WpU0fvvPOOw/SFp12++eYbPfDAA6patap8fX01cOBAHTlypMjypk+frmbNmsnd3V01a9bUI488UuR0UufOndW8eXNt2LBBN910k7y8vPTvf/9bISEh2rp1q77++mv7tu3cubMk6Y8//tCIESPUokUL+fj4yNfXV7fddluRw80rV66UzWbTe++9p3HjxqlWrVry8PBQ165dtXv37iL1/vDDD+rWrZsqV64sb29vtWzZUq+++qpDnx07dqhPnz6qUqWKPDw8FB4erv/+97+l2v5LlixRu3btSvXPxGazqWPHjjLG6JdffrG37927Vw8//LAaNWokT09PVa1aVXfddZfS09Mdpi98rlavXq24uDgFBATI29tbd955pw4dOuTQ1xijF154QbVq1ZKXl5duvvnmIvtEoV9++UV33XWXqlSpIi8vL91444369NNPHfqcvd0TExMVHBysSpUqqU+fPsrOzlZubq6GDx+u6tWry8fHR7GxscrNzS3VNiyNi3ndSVJubq4SEhLUoEEDubu7q3bt2nr66aeL1Pjll1+qY8eO8vf3l4+Pjxo1amSfx8qVK9WmTRtJUmxsrP01fPZ7wi233KITJ07oyy+/tGzdcX4cwcBFyc7O1uHDhx3aqlWrJkmaP3++YmJiFB0drYkTJ+rkyZOaMWOGOnbsqE2bNikkJETSn28cv/zyi2JjYxUUFKStW7fq9ddf19atW/X999/LZrOpd+/e2rlzp95991298sor9mUEBAQUeQMvjbvuuksNGzbU+PHjZYyRJI0bN07PPfec+vbtq8GDB+vQoUOaMmWKbrrpJm3atKlcp2Xy8/N122236aabbtKkSZO0YMECDRs2TN7e3ho9erQGDBig3r17a+bMmRo4cKDat29f5JTTsGHD5O/vrzFjxig1NVUzZszQ3r177f9YpD+DU2JioqKiovTQQw/Z+61bt06rV6+Wm5ubfX6///67brvtNvXv31//+te/FBgYqM6dO+vRRx+Vj4+PRo8eLUn2T/G//PKLlixZorvuukt169ZVZmamXnvtNUVGRmrbtm2qWbOmQ70TJkyQi4uLRowYoezsbE2aNEkDBgzQDz/8YO/z5ZdfqkePHqpRo4Yef/xxBQUFafv27frkk0/0+OOPS5K2bt2qDh06KDg4WCNHjpS3t7fee+893XHHHVq8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9NtUAQBXDldX1xK/ORk4G0cwUGYFBQWaNGmSGjRoIHd3d1133XUaN26cJGnLli3q0qWLPD09VbVqVQ0dOlQ5OTn2aQcNGqQ77rhD48ePV2BgoPz9/TV27FidOXNGTz31lKpUqaJatWpp7ty59mkKD8kuXLhQERER8vDwUPPmzfX111871PX111+rbdu2cnd3V40aNTRy5EidOXPGPv7cw76S1KpVK40ZM8b+2Gazafbs2brzzjvl5eWlhg0b6r///a/DNJ999pmuv/56eXp66uabb1Z6evpFblGgZAUFBXr66adVpUoVBQUFObxejx49qsGDBysgIEC+vr7q0qWLfvzxR/v4PXv26Pbbb1dgYKB8fHzUpk0bffXVVw7zz8rKUs+ePeXp6am6detqwYIF563n3FMkhacIU1JSFB4eLi8vL0VERCg1NdVhuqVLl6p169by8PBQvXr1lJiY6LB/ns/Ro0f1wAMPKDAw0L7/f/LJJ/bxixcvVrNmzeTu7q6QkBC9/PLLDtOffYqnkL+/v+bNm+ewTh9++KFuvvlmeXl5KTQ01P6r3itXrlRsbKyys7Nls9lks9kcngeUwABl9PTTT5vKlSubefPmmd27d5tVq1aZWbNmmZycHFOjRg3Tu3dvs2XLFpOSkmLq1q1rYmJi7NPGxMSYSpUqmUceecTs2LHDvPHGG0aSiY6ONuPGjTM7d+40zz//vHFzczP79+83xhiTlpZmJJlatWqZDz74wGzbts0MHjzYVKpUyRw+fNgYY8yBAweMl5eXefjhh8327dvNRx99ZKpVq2YSEhLsy65Tp4555ZVXHNYlNDTUoU/hct555x2za9cu89hjjxkfHx/z+++/G2OM2bdvn3F3dzdxcXFmx44d5u233zaBgYFGkjly5Mil2Ny4hkVGRhpfX18zZswYs3PnTvPmm28am81mli9fbowxJioqyvTs2dOsW7fO7Ny50zz55JOmatWq9tfr5s2bzcyZM82WLVvMzp07zbPPPms8PDzM3r177cu47bbbTGhoqFmzZo1Zv369iYiIMJ6eng77iiTz0UcfGWP+2h83bdpkjDFmxYoVRpJp166dWblypdm6davp1KmTiYiIsE//zTffGF9fXzNv3jyzZ88es3z5chMSEmLGjBlzwW2Qn59vbrzxRtOsWTOzfPlys2fPHvPxxx+bzz77zBhjzPr1642Li4sZO3asSU1NNXPnzjWenp5m7ty5xdZfyM/Pz96ncJ0aN25sPvnkE5Oammr69Olj6tSpY06fPm1yc3NNcnKy8fX1NQcPHjQHDx40x48fL81TeE0jYKBMjh07Ztzd3c2sWbOKjHv99ddN5cqVTU5Ojr3t008/NS4uLiYjI8MY82fAqFOnjsnPz7f3adSokenUqZP98ZkzZ4y3t7d59913jTF/7fwTJkyw9zl9+rSpVauWmThxojHGmH//+9+mUaNGpqCgwN5n2rRpxsfHx76s0gaMZ5991v44JyfHSDKff/65McaYUaNGmaZNmzrM45lnniFg4JKIjIw0HTt2dGhr06aNeeaZZ8yqVauMr6+vOXXqlMP4+vXrm9dee63EeTZr1sxMmTLFGGNMamqqkWTWrl1rH799+3YjqcwB46uvvrL3//TTT40k83//93/GGGO6du1qxo8f71DH/PnzTY0aNS64Db744gvj4uJiUlNTix1/zz33mFtuucWh7amnnnLYT0sbMGbPnm0fv3XrViPJbN++3RhjzNy5c42fn98F68VfOEWCMtm+fbtyc3PVtWvXYseFhobK29vb3tahQwcVFBQ4HC5t1qyZw9e/BwYGqkWLFvbHrq6uqlq1qrKyshzmf/YP2lWoUEHh4eHavn27fdnt27eXzWZzWHZOTo4OHDhQpnVs2bKl/W9vb2/5+vraa9m+fbvatWtXYl2A1c5+PUpSjRo1lJWVpR9//FE5OTmqWrWqfHx87ENaWpr27NkjScrJydGIESPUpEkT+fv7y8fHR9u3b9e+ffsk/fl6rlChgsLCwuzzb9y4cbkuZjy7zho1akiSfb/58ccfNXbsWIc6hwwZooMHD+rkyZPnne/mzZtVq1YtXX/99cWO3759uzp06ODQ1qFDB+3atUv5+fmWrQPKjos8USaenp4XPQ83NzeHxzabrdi2goKCi17W2VxcXGTO+Wb806dPl6o+q2sBSquk12NOTo5q1KihlStXFpmmMCCMGDFCX375pV566SU1aNBAnp6e6tOnj/Ly8i5pnYVBv3C/ycnJUWJionr37l1kOg8Pj/PO14r3HJvNVuZ9/9x1QNlxBANl0rBhQ3l6eiolJaXIuCZNmujHH3/UiRMn7G2rV6+Wi4uLGjVqdNHL/v777+1/nzlzRhs2bFCTJk3sy16zZo3Dm8jq1atVqVIl1apVS5IUEBCggwcP2scfO3ZMaWlpZaqhSZMmWrt2bYl1AZdL69atlZGRoQoVKqhBgwYOQ7Vq1ST9uQ8MGjRId955p1q0aKGgoCCHi5IbN25s35cKpaamWv6dLq1bt1ZqamqROhs0aOBwNLM4LVu21IEDB7Rz585ixzdp0kSrV692aFu9erWuv/56ubq6Siq67+/ateuCR07OVbFixTIfEbnWETBQJh4eHnrmmWf09NNP66233tKePXv0/fff64033tCAAQPk4eGhmJgY/fzzz1qxYoUeffRR3XvvvfZfx70Y06ZN00cffaQdO3bokUce0ZEjR3TfffdJkh5++GHt379fjz76qHbs2KGlS5cqISFBcXFx9jewLl26aP78+Vq1apW2bNmimJgY+xtQaT344IPatWuXnnrqKaWmpuqdd96xX4kOXE5RUVFq37697rjjDi1fvlzp6en67rvvNHr0aK1fv17Snx8IPvzwQ23evFk//vij7rnnHodP5I0aNdKtt96qBx54QD/88IM2bNigwYMHW3LU4Gzx8fF66623lJiYqK1bt2r79u1auHChnn322QtOGxkZqZtuukn//Oc/9eWXXyotLU2ff/65li1bJkl68sknlZKSoueff147d+7Um2++qalTp2rEiBH2eXTp0kVTp07Vpk2btH79ej344INFjgxdSEhIiHJycpSSkqLDhw+XOaBciwgYKLPnnntOTz75pOLj49WkSRP169dPWVlZ8vLy0hdffKE//vhDbdq0UZ8+fdS1a1dNnTrVkuVOmDBBEyZMUGhoqL799lv997//tX9SCw4O1meffaa1a9cqNDRUDz74oO6//36HN7BRo0YpMjJSPXr0UPfu3XXHHXeofv36Zarhuuuu0+LFi7VkyRKFhoZq5syZGj9+vCXrB5SFzWbTZ599pptuukmxsbG6/vrr1b9/f+3du9ce6CdPnqzKlSsrIiJCPXv2VHR0tFq3bu0wn7lz56pmzZqKjIxU7969NXToUFWvXt3SWqOjo/XJJ59o+fLlatOmjW688Ua98sorqlOnTqmmX7x4sdq0aaO7775bTZs21dNPP20/mtC6dWu99957WrhwoZo3b674+HiNHTtWgwYNsk//8ssvq3bt2urUqZPuuecejRgxQl5eXmVah4iICD344IPq16+fAgICNGnSpDJNfy3i59rxt5eenq66detq06ZNatWqlbPLAQCUAkcwAACA5QgYAACnWbBggcPtq2cPzZo1c3Z5uAicIgEAOM3x48eVmZlZ7Dg3N7dSX6eBvx8CBgAAsBynSAAAgOUIGAAAwHIEDAAAYDkCBgAAsBwBAwAAWI6AAaBMBg0aJJvNVmTYvXv3Rc973rx55fqpcAB/P/xcO4Ayu/XWWzV37lyHtoCAACdVU7zTp0+X+QetAFiHIxgAyszd3V1BQUEOg6urq5YuXarWrVvLw8ND9erVU2Jios6cOWOfbvLkyWrRooW8vb1Vu3ZtPfzww8rJyZEkrVy5UrGxscrOzrYfFRkzZoykP3/Ya8mSJQ41+Pv723/JNj09XTabTYsWLVJkZKQ8PDy0YMECSdLs2bPVpEkTeXh4qHHjxpo+ffol3z4AOIIBwCKrVq3SwIED9Z///EedOnXSnj17NHToUElSQkKCJMnFxUX/+c9/VLduXf3yyy96+OGH9fTTT2v69OmKiIhQcnKy4uPjlZqaKkny8fEpUw0jR47Uyy+/rBtuuMEeMuLj4zV16lTdcMMN2rRpk4YMGSJvb2/FxMRYuwEAODIAUAYxMTHG1dXVeHt724c+ffqYrl27mvHjxzv0nT9/vqlRo0aJ83r//fdN1apV7Y/nzp1r/Pz8ivSTZD766COHNj8/PzN37lxjjDFpaWlGkklOTnboU79+ffPOO+84tD3//POmffv2pVhTABeDIxgAyuzmm2/WjBkz7I+9vb3VsmVLrV69WuPGjbO35+fn69SpUzp58qS8vLz01VdfKSkpSTt27NCxY8d05swZh/EXKzw83P73iRMntGfPHt1///0aMmSIvf3MmTPy8/O76GUBOD8CBoAy8/b2VoMGDRzacnJylJiYqN69exfp7+HhofT0dPXo0UMPPfSQxo0bpypVqujbb7/V/fffr7y8vPMGDJvNJnPOzyadPn262LrOrkeSZs2apXbt2jn0c3V1vfBKArgoBAwAlmjdurVSU1OLBI9CGzZsUEFBgV5++WW5uPx5ffl7773n0KdixYrKz88vMm1AQIAOHjxof7xr1y6dPHnyvPUEBgaqZs2a+uWXXzRgwICyrg6Ai0TAAGCJ+Ph49ejRQ9ddd5369OkjFxcX/fjjj/r555/1wgsvqEGDBjp9+rSmTJminj17avXq1Zo5c6bDPEJCQpSTk6OUlBSFhobKy8tLXl5e6tKli6ZOnar27dsrPz9fzzzzTKluQU1MTNRjjz0mPz8/3XrrrcrNzdX69et15MgRxcXFXapNAUDcpgrAItHR0frkk0+0fPlytWnTRjfeeKNeeeUV1alTR5IUGhqqyZMna+LEiWrevLkWLFigpKQkh3lERETowQcfVL9+/RQQEKBJkyZJkl5++WXVrl1bnTp10j333KMRI0aU6pqNwYMHa/bs2Zo7d65atGihyMhIzZs3T3Xr1rV+AwBwYDPnntgEAAC4SBzBAAAAliNgAAAAyxEwAACA5QgYAADAcgQMAABgOQIGAACwHAEDAABYjoABAAAsR8AAAACWI2AAAADLETAAAIDl/h/HEf2ofFi6cAAAAABJRU5ErkJggg==\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## 9. Sequence Modeling with LSTM" + ], + "metadata": { + "id": "IDZ7ctRv1IBJ" + } + }, + { + "cell_type": "markdown", + "source": [ + "### a. Prepare the dataset for sequence modeling" + ], + "metadata": { + "id": "McuxdRzQ1PM7" + } + }, + { + "cell_type": "code", + "source": [ + "# Keep only needed columns and sort by ticker/date\n", + "df_lstm = df_real[[\"ticker\", \"date\", \"headline_count\", \"compound\", \"next_day_return\"]].copy()\n", + "df_lstm = df_lstm.sort_values([\"ticker\", \"date\"]).reset_index(drop=True)\n", + "\n", + "# Remove rows with missing values in the features/target\n", + "df_lstm = df_lstm.dropna(subset=[\"headline_count\", \"compound\", \"next_day_return\"]).copy()\n", + "\n", + "print(\"LSTM input preview:\")\n", + "display(df_lstm.head())\n", + "print(\"LSTM dataframe shape:\", df_lstm.shape)\n", + "print(\"Missing values:\")\n", + "display(df_lstm[[\"headline_count\", \"compound\", \"next_day_return\"]].isna().sum())" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 419 + }, + "id": "XYlqdTUJ1RrO", + "outputId": "1aa0a472-fa37-4edf-c911-ddf98b86e13f" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "LSTM input preview:\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + " ticker date headline_count compound next_day_return\n", + "0 AAPL 2026-04-06 13 0.7783 -0.020706\n", + "1 AAPL 2026-04-07 29 -0.9025 0.021302\n", + "2 AAPL 2026-04-08 26 0.5806 0.006141\n", + "3 AAPL 2026-04-09 7 0.7346 -0.000038\n", + "5 AMZN 2026-04-06 0 0.0000 0.004606" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
tickerdateheadline_countcompoundnext_day_return
0AAPL2026-04-06130.7783-0.020706
1AAPL2026-04-0729-0.90250.021302
2AAPL2026-04-08260.58060.006141
3AAPL2026-04-0970.7346-0.000038
5AMZN2026-04-0600.00000.004606
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"display(df_lstm[[\\\"headline_count\\\", \\\"compound\\\", \\\"next_day_return\\\"]]\",\n \"rows\": 5,\n \"fields\": [\n {\n \"column\": \"ticker\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 2,\n \"samples\": [\n \"AMZN\",\n \"AAPL\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"date\",\n \"properties\": {\n \"dtype\": \"date\",\n \"min\": \"2026-04-06 00:00:00\",\n \"max\": \"2026-04-09 00:00:00\",\n \"num_unique_values\": 4,\n \"samples\": [\n \"2026-04-07 00:00:00\",\n \"2026-04-09 00:00:00\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"headline_count\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 12,\n \"min\": 0,\n \"max\": 29,\n \"num_unique_values\": 5,\n \"samples\": [\n 29,\n 0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"compound\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.7094530393197284,\n \"min\": -0.9025,\n \"max\": 0.7783,\n \"num_unique_values\": 5,\n \"samples\": [\n -0.9025,\n 0.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"next_day_return\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.015131750517991151,\n \"min\": -0.0207061178045073,\n \"max\": 0.0213017510709443,\n \"num_unique_values\": 5,\n \"samples\": [\n 0.0213017510709443,\n 0.0046055313560273\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "LSTM dataframe shape: (40, 5)\n", + "Missing values:\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "headline_count 0\n", + "compound 0\n", + "next_day_return 0\n", + "dtype: int64" + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
0
headline_count0
compound0
next_day_return0
\n", + "

" + ] + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### b. Scale input features" + ], + "metadata": { + "id": "FVuR55e51W6q" + } + }, + { + "cell_type": "code", + "source": [ + "from sklearn.preprocessing import MinMaxScaler\n", + "\n", + "feature_cols = [\"headline_count\", \"compound\"]\n", + "target_col = \"next_day_return\"\n", + "\n", + "feature_scaler = MinMaxScaler()\n", + "target_scaler = MinMaxScaler()\n", + "\n", + "df_lstm[feature_cols] = feature_scaler.fit_transform(df_lstm[feature_cols])\n", + "df_lstm[[target_col]] = target_scaler.fit_transform(df_lstm[[target_col]])" + ], + "metadata": { + "id": "FYYhy98d1YfR" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### c. Create sequences" + ], + "metadata": { + "id": "V6_ItAOd1aky" + } + }, + { + "cell_type": "code", + "source": [ + "def create_sequences(data, feature_cols, target_col, seq_length=3):\n", + " X, y = [], []\n", + "\n", + " for ticker in data[\"ticker\"].unique():\n", + " temp = data[data[\"ticker\"] == ticker].sort_values(\"date\")\n", + "\n", + " feature_array = temp[feature_cols].values\n", + " target_array = temp[target_col].values\n", + "\n", + " for i in range(len(temp) - seq_length):\n", + " X.append(feature_array[i:i+seq_length])\n", + " y.append(target_array[i+seq_length])\n", + "\n", + " return np.array(X), np.array(y)\n", + "\n", + "SEQ_LENGTH = 3\n", + "\n", + "X_lstm, y_lstm = create_sequences(\n", + " df_lstm,\n", + " feature_cols=feature_cols,\n", + " target_col=target_col,\n", + " seq_length=SEQ_LENGTH\n", + ")\n", + "\n", + "print(\"X_lstm shape:\", X_lstm.shape)\n", + "print(\"y_lstm shape:\", y_lstm.shape)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "XVtdClDX1crl", + "outputId": "295160a0-e773-496c-c59c-716d8406e4e0" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "X_lstm shape: (10, 3, 2)\n", + "y_lstm shape: (10,)\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### d. Split into train and test sets" + ], + "metadata": { + "id": "LUWzOBw31gLg" + } + }, + { + "cell_type": "code", + "source": [ + "X_train, X_test, y_train, y_test = train_test_split(\n", + " X_lstm, y_lstm, test_size=0.2, random_state=42\n", + ")\n", + "\n", + "print(\"Train shape:\", X_train.shape)\n", + "print(\"Test shape:\", X_test.shape)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "2_dw2AAz1jiJ", + "outputId": "3bf2a900-1be3-438b-98af-868a9aa90c51" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Train shape: (8, 3, 2)\n", + "Test shape: (2, 3, 2)\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### e. Convert to PyTorch tensors" + ], + "metadata": { + "id": "XP9Spfnh1mPY" + } + }, + { + "cell_type": "code", + "source": [ + "X_train_tensor = torch.tensor(X_train, dtype=torch.float32)\n", + "X_test_tensor = torch.tensor(X_test, dtype=torch.float32)\n", + "\n", + "y_train_tensor = torch.tensor(y_train, dtype=torch.float32).view(-1, 1)\n", + "y_test_tensor = torch.tensor(y_test, dtype=torch.float32).view(-1, 1)" + ], + "metadata": { + "id": "Ya9CVmVK1oU9" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### f. Define the LSTM model" + ], + "metadata": { + "id": "H6p0gYvd1qrm" + } + }, + { + "cell_type": "code", + "source": [ + "class LSTMModel(nn.Module):\n", + " def __init__(self, input_size, hidden_size=16, num_layers=1):\n", + " super(LSTMModel, self).__init__()\n", + " self.lstm = nn.LSTM(\n", + " input_size=input_size,\n", + " hidden_size=hidden_size,\n", + " num_layers=num_layers,\n", + " batch_first=True\n", + " )\n", + " self.fc = nn.Linear(hidden_size, 1)\n", + "\n", + " def forward(self, x):\n", + " lstm_out, _ = self.lstm(x)\n", + " last_output = lstm_out[:, -1, :]\n", + " out = self.fc(last_output)\n", + " return out\n", + "\n", + "input_size = len(feature_cols)\n", + "model_lstm = LSTMModel(input_size=input_size)\n", + "\n", + "print(model_lstm)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "GKziSHPx1shq", + "outputId": "7d90d6ee-d945-4b2e-ba1c-e37f97f7796a" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "LSTMModel(\n", + " (lstm): LSTM(2, 16, batch_first=True)\n", + " (fc): Linear(in_features=16, out_features=1, bias=True)\n", + ")\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### g. Train the LSTM model" + ], + "metadata": { + "id": "IAFRqUNI1v_R" + } + }, + { + "cell_type": "code", + "source": [ + "criterion = nn.MSELoss()\n", + "optimizer = torch.optim.Adam(model_lstm.parameters(), lr=0.01)\n", + "\n", + "EPOCHS = 50\n", + "\n", + "for epoch in range(EPOCHS):\n", + " model_lstm.train()\n", + "\n", + " outputs = model_lstm(X_train_tensor)\n", + " loss = criterion(outputs, y_train_tensor)\n", + "\n", + " optimizer.zero_grad()\n", + " loss.backward()\n", + " optimizer.step()\n", + "\n", + " if (epoch + 1) % 10 == 0:\n", + " print(f\"Epoch [{epoch+1}/{EPOCHS}], Loss: {loss.item():.6f}\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "x8rexP7D1x0F", + "outputId": "0328c74f-a886-4f61-b7fc-8877c606bead" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Epoch [10/50], Loss: 0.014488\n", + "Epoch [20/50], Loss: 0.011281\n", + "Epoch [30/50], Loss: 0.009491\n", + "Epoch [40/50], Loss: 0.008444\n", + "Epoch [50/50], Loss: 0.007770\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### h. Evaluate the model" + ], + "metadata": { + "id": "ISVSnyCc1zhC" + } + }, + { + "cell_type": "code", + "source": [ + "from sklearn.metrics import mean_squared_error, mean_absolute_error\n", + "\n", + "model_lstm.eval()\n", + "\n", + "with torch.no_grad():\n", + " y_pred_test = model_lstm(X_test_tensor).numpy()\n", + "\n", + "# Inverse transform predictions and true values back to original scale\n", + "y_test_actual = target_scaler.inverse_transform(y_test.reshape(-1, 1))\n", + "y_pred_actual = target_scaler.inverse_transform(y_pred_test)\n", + "\n", + "rmse = np.sqrt(mean_squared_error(y_test_actual, y_pred_actual))\n", + "mae = mean_absolute_error(y_test_actual, y_pred_actual)\n", + "\n", + "print(f\"LSTM RMSE: {rmse:.6f}\")\n", + "print(f\"LSTM MAE: {mae:.6f}\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "mFCWwgzy11mp", + "outputId": "fbaccbe3-b105-4b88-e677-820ee88279c7" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "LSTM RMSE: 0.009881\n", + "LSTM MAE: 0.008147\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### i. Inspect predictions" + ], + "metadata": { + "id": "GzI-Q7QV13-x" + } + }, + { + "cell_type": "code", + "source": [ + "lstm_results = pd.DataFrame({\n", + " \"actual_next_day_return\": y_test_actual.flatten(),\n", + " \"predicted_next_day_return\": y_pred_actual.flatten()\n", + "})\n", + "\n", + "display(lstm_results.head(10))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 112 + }, + "id": "3lXUuJC718Xv", + "outputId": "c9af8faf-ff42-4da7-cfa2-da7c14fd1c40" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + " actual_next_day_return predicted_next_day_return\n", + "0 0.009635 0.007078\n", + "1 0.020244 0.006506" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
actual_next_day_returnpredicted_next_day_return
00.0096350.007078
10.0202440.006506
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"display(lstm_results\",\n \"rows\": 2,\n \"fields\": [\n {\n \"column\": \"actual_next_day_return\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.007501761959933274,\n \"min\": 0.009634908676839199,\n \"max\": 0.020244002182271407,\n \"num_unique_values\": 2,\n \"samples\": [\n 0.020244002182271407,\n 0.009634908676839199\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"predicted_next_day_return\",\n \"properties\": {\n \"dtype\": \"float32\",\n \"num_unique_values\": 2,\n \"samples\": [\n 0.006506277713924646,\n 0.007078417576849461\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## 10. Compare Model Performance" + ], + "metadata": { + "id": "ytyPnp9jgkeT" + } + }, + { + "cell_type": "markdown", + "source": [ + "### a. Summary of model results" + ], + "metadata": { + "id": "po6UGGRDgn0M" + } + }, + { + "cell_type": "code", + "source": [ + "print(\"Model Performance Summary:\")\n", + "print(f\"Random Forest Accuracy: {rf_accuracy:.2%}\")\n", + "print(f\"LSTM RMSE: {rmse:.6f}\")\n", + "print(f\"LSTM MAE: {mae:.6f}\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Z8f1wI1Mgu1v", + "outputId": "dc9c5430-cec1-436e-fbe5-c38712ef8801" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Model Performance Summary:\n", + "Random Forest Accuracy: 50.00%\n", + "LSTM RMSE: 0.009881\n", + "LSTM MAE: 0.008147\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## 11. Create a Rule-Based Investment Signal" + ], + "metadata": { + "id": "0CEOiMi6ikWf" + } + }, + { + "cell_type": "markdown", + "source": [ + "### a. Define thresholds from the data" + ], + "metadata": { + "id": "7C94DnMHiwzb" + } + }, + { + "cell_type": "code", + "source": [ + "# 1. Define thresholds FIRST\n", + "high_news_threshold = df_merged[\"headline_count\"].median()\n", + "positive_compound_threshold = df_merged[\"compound\"].quantile(0.75)\n", + "negative_compound_threshold = df_merged[\"compound\"].quantile(0.25)\n", + "\n", + "print(\"High news threshold:\", high_news_threshold)\n", + "print(\"Positive compound threshold:\", round(positive_compound_threshold, 3))\n", + "print(\"Negative compound threshold:\", round(negative_compound_threshold, 3))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "tsEZZZekizPY", + "outputId": "296b5b47-7acc-497a-dfe9-e5a8da45af15" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "High news threshold: 15.5\n", + "Positive compound threshold: 0.938\n", + "Negative compound threshold: 0.0\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### b. Define rule-based singla function" + ], + "metadata": { + "id": "Z9u5COGui0tG" + } + }, + { + "cell_type": "code", + "source": [ + "# 2. Define rule function\n", + "def generate_investment_signal(row):\n", + "\n", + " # Buy condition\n", + " if (\n", + " row[\"compound\"] >= positive_compound_threshold\n", + " and row[\"headline_count\"] >= high_news_threshold\n", + " and row[\"sentiment_label\"] == \"positive\"\n", + " ):\n", + " return \"buy\"\n", + "\n", + " # Sell condition\n", + " elif (\n", + " row[\"compound\"] <= negative_compound_threshold\n", + " and row[\"headline_count\"] >= high_news_threshold\n", + " and row[\"sentiment_label\"] == \"negative\"\n", + " ):\n", + " return \"sell\"\n", + "\n", + " # Default\n", + " else:\n", + " return \"hold\"\n", + "\n" + ], + "metadata": { + "id": "f1IONuQKi5Dc" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### c. Apply the rule to the merged dataset" + ], + "metadata": { + "id": "v4Ev2CkHi6du" + } + }, + { + "cell_type": "code", + "source": [ + "# 3. Apply rule\n", + "df_merged[\"investment_signal\"] = df_merged.apply(generate_investment_signal, axis=1)\n", + "\n", + "# 4. Check results\n", + "print(\"Investment signal distribution:\")\n", + "print(df_merged[\"investment_signal\"].value_counts())\n", + "\n", + "df_merged[[\n", + " \"ticker\",\n", + " \"date\",\n", + " \"headline_count\",\n", + " \"compound\",\n", + " \"sentiment_label\",\n", + " \"investment_signal\"\n", + "]].head(10)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 449 + }, + "id": "hmx_J-kzi9HV", + "outputId": "f21d020e-197e-4ac2-e53e-c718932e5930" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Investment signal distribution:\n", + "investment_signal\n", + "hold 42\n", + "buy 8\n", + "Name: count, dtype: int64\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " ticker date headline_count compound sentiment_label \\\n", + "0 AAPL 2026-04-06 13 0.7783 neutral \n", + "1 AAPL 2026-04-07 29 -0.9025 positive \n", + "2 AAPL 2026-04-08 26 0.5806 positive \n", + "3 AAPL 2026-04-09 7 0.7346 neutral \n", + "4 AAPL 2026-04-10 22 0.6187 neutral \n", + "5 AMZN 2026-04-06 0 0.0000 negative \n", + "6 AMZN 2026-04-07 8 -0.1082 neutral \n", + "7 AMZN 2026-04-08 19 0.9484 neutral \n", + "8 AMZN 2026-04-09 43 0.9775 positive \n", + "9 AMZN 2026-04-10 29 0.9596 positive \n", + "\n", + " investment_signal \n", + "0 hold \n", + "1 hold \n", + "2 hold \n", + "3 hold \n", + "4 hold \n", + "5 hold \n", + "6 hold \n", + "7 hold \n", + "8 buy \n", + "9 buy " + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
tickerdateheadline_countcompoundsentiment_labelinvestment_signal
0AAPL2026-04-06130.7783neutralhold
1AAPL2026-04-0729-0.9025positivehold
2AAPL2026-04-08260.5806positivehold
3AAPL2026-04-0970.7346neutralhold
4AAPL2026-04-10220.6187neutralhold
5AMZN2026-04-0600.0000negativehold
6AMZN2026-04-078-0.1082neutralhold
7AMZN2026-04-08190.9484neutralhold
8AMZN2026-04-09430.9775positivebuy
9AMZN2026-04-10290.9596positivebuy
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"]]\",\n \"rows\": 10,\n \"fields\": [\n {\n \"column\": \"ticker\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 2,\n \"samples\": [\n \"AMZN\",\n \"AAPL\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"date\",\n \"properties\": {\n \"dtype\": \"date\",\n \"min\": \"2026-04-06 00:00:00\",\n \"max\": \"2026-04-10 00:00:00\",\n \"num_unique_values\": 5,\n \"samples\": [\n \"2026-04-07 00:00:00\",\n \"2026-04-10 00:00:00\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"headline_count\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 12,\n \"min\": 0,\n \"max\": 43,\n \"num_unique_values\": 9,\n \"samples\": [\n 19,\n 29\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"compound\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.6113038578862943,\n \"min\": -0.9025,\n \"max\": 0.9775,\n \"num_unique_values\": 10,\n \"samples\": [\n 0.9775,\n -0.9025\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"sentiment_label\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"neutral\",\n \"positive\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"investment_signal\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 2,\n \"samples\": [\n \"buy\",\n \"hold\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 55 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### d. Evaluate average next-day return by signal" + ], + "metadata": { + "id": "rqIbV8nei_jq" + } + }, + { + "cell_type": "code", + "source": [ + "signal_performance = (\n", + " df_merged.groupby(\"investment_signal\")[\"next_day_return\"]\n", + " .agg([\"count\", \"mean\", \"median\", \"std\"])\n", + " .reset_index()\n", + ")\n", + "\n", + "print(\"Average next-day return by investment signal:\")\n", + "display(signal_performance)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 129 + }, + "id": "4OPHI5fbjCw6", + "outputId": "00a1de95-a521-4269-d151-6f13e8af34b2" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Average next-day return by investment signal:\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + " investment_signal count mean median std\n", + "0 buy 6 0.011904 0.013574 0.014475\n", + "1 hold 34 0.007974 0.005043 0.021374" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
investment_signalcountmeanmedianstd
0buy60.0119040.0135740.014475
1hold340.0079740.0050430.021374
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + " \n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "signal_performance", + "summary": "{\n \"name\": \"signal_performance\",\n \"rows\": 2,\n \"fields\": [\n {\n \"column\": \"investment_signal\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 2,\n \"samples\": [\n \"hold\",\n \"buy\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"count\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 19,\n \"min\": 6,\n \"max\": 34,\n \"num_unique_values\": 2,\n \"samples\": [\n 34,\n 6\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"mean\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.002778403406310716,\n \"min\": 0.007974303598542246,\n \"max\": 0.011903559377490465,\n \"num_unique_values\": 2,\n \"samples\": [\n 0.007974303598542246,\n 0.011903559377490465\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"median\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.006032860048948689,\n \"min\": 0.005042535723571551,\n \"max\": 0.0135742882246936,\n \"num_unique_values\": 2,\n \"samples\": [\n 0.005042535723571551,\n 0.0135742882246936\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"std\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.00487818507958884,\n \"min\": 0.014475365436672489,\n \"max\": 0.021374160935993102,\n \"num_unique_values\": 2,\n \"samples\": [\n 0.021374160935993102,\n 0.014475365436672489\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### e. Visualize next-day return by signal" + ], + "metadata": { + "id": "y_c-ByDBjE6L" + } + }, + { + "cell_type": "code", + "source": [ + "plt.figure(figsize=(6, 4))\n", + "\n", + "sns.boxplot(\n", + " data=df_merged,\n", + " x=\"investment_signal\",\n", + " y=\"next_day_return\"\n", + ")\n", + "\n", + "plt.title(\"Next-Day Return by Rule-Based Investment Signal\")\n", + "plt.xlabel(\"Investment Signal\")\n", + "plt.ylabel(\"Next-Day Return\")\n", + "plt.grid(True)\n", + "\n", + "plt.tight_layout()\n", + "plt.savefig(\n", + " \"artifacts/py/figures/next_day_return_by_investment_signal.png\",\n", + " facecolor=\"white\",\n", + " bbox_inches=\"tight\",\n", + " dpi=150\n", + ")\n", + "plt.show()\n", + "plt.close()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 410 + }, + "id": "n7zAXO-8jIQD", + "outputId": "c8778bd6-d9b1-4409-beab-410f8c18bd57" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiwAAAGJCAYAAACpTmgpAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAVmhJREFUeJzt3X1cjff/B/DX6fZUVFIqRDciuYssclPmLmab3IZGaMzITBuTL5IhzE0Zadnc1/R1M5t7yU1Dc38zwsxYhsrNFFKdzrl+f/h1fTsqzkl1TvV6Ph4e2/lcn+s67+uc6zq9znV9rutIBEEQQERERKTFdDRdABEREdGbMLAQERGR1mNgISIiIq3HwEJERERaj4GFiIiItB4DCxEREWk9BhYiIiLSegwsREREpPUYWIiIiEjrMbAQVXG3b9+GRCLB4sWLNV1KqUgkEsyePVvTZWjc7NmzIZFINF0GlZORI0fC3t5e02WI7O3tMXLkSE2XoYSBpZJYt24dJBIJpFIp7t69W2R6ly5d0Lx583J7/uzsbMyePRtHjhxReZ6RI0dCIpGI/2rUqAFHR0cMHDgQ27Ztg0KhKLd6X6fgg7/gn76+Puzt7fHZZ5/hyZMnpVrmiRMnMHv27FLPXxUUbKMF//T09FCvXj2MHDmy2G1WU+zt7ZXqlEqlcHZ2xpQpU/D48WNNl/fWRo4ciRo1ami6DJVVtn1n/vz52LFjh8r9Hzx4gEmTJsHFxQVGRkaoU6cOPDw88NVXX+HZs2flV2gVpKfpAkg9ubm5WLBgAb799tsKfd7s7GyEhYUBeBmOVGVoaIjvv/8eAPDixQv8/fff2LlzJwYOHIguXbrg559/hqmpaXmU/EarVq1CjRo18Pz5cyQmJuLbb7/FuXPncOzYMbWXdeLECYSFhWHkyJEwNzcv+2IrkTlz5sDBwQE5OTn47bffsG7dOhw7dgyXL1+GVCrVdHkAADc3N3zxxRcAgJycHJw9exYRERE4evQoTp06peHqqpfKtu/Mnz8fAwcOhK+v7xv7Pn78GG3btkVWVhZGjx4NFxcXPHr0CJcuXcKqVavw6aefiuFy9erVGvsSV1kwsFQybm5uWL16NUJCQlC3bl1Nl/NGenp6+Oijj5Ta5s6diwULFiAkJARjxoxBfHy8RmobOHAgLC0tAQCffPIJhgwZgvj4eJw6dQoeHh4aqelVz58/h4mJiabLUEvv3r3Rtm1bAMDHH38MS0tLLFy4EL/88gsGDx6s4epeqlevntJ2+fHHH6NGjRpYvHgxbty4AWdnZw1WR1XFDz/8gNTUVBw/fhwdOnRQmpaVlQUDAwPxsb6+fkWXV+nwlFAlM336dMjlcixYsECl/ps2bYK7uzuMjIxgYWGBIUOG4M6dO+L0tWvXQiKRYM2aNUrzzZ8/HxKJBHv27MHt27dhZWUFAAgLCxMPpb/NuIJp06ahZ8+e2LJlC/744w+x/eeff0afPn1Qt25dGBoawsnJCV9//TXkcrnYJzQ0FPr6+njw4EGR5Y4dOxbm5ubIyclRu6bOnTsDAG7evKnUfvLkSfTq1QtmZmYwNjaGt7c3jh8/Lk6fPXs2pkyZAgBwcHAQX5/bt2+L40fWrVtX5PlefQ0LTlWlpKRg2LBhqFWrFjp16gTg5WmM999/H8eOHYOHhwekUikcHR2xYcMGtdZx2bJlaNiwIYyMjODt7Y3Lly+L0wq2hfPnzxeZb/78+dDV1S3VqZ3iXtcuXboUe6RO1fP4d+/exejRo2FtbQ1DQ0M0a9asyDasLhsbGwAvQ3aBS5cuYeTIkXB0dIRUKoWNjQ1Gjx6NR48eKc379OlTfP7557C3t4ehoSHq1KmDHj164Ny5c0r93rQtFTh27BjeeecdSKVSODk54bvvvnurdVNl+zlz5gwkEgnWr19fZP79+/dDIpFg165dYpuq78G3336LZs2awdjYGLVq1ULbtm0RFxcH4PX7DvByHwkKCsKWLVvg6uoKIyMjeHp64vfffwcAfPfdd2jUqBGkUim6dOkizleYKq95wb73559/ikd6zMzMMGrUKGRnZ4v9JBIJnj9/jvXr14u1vm6cx82bN6Grq4v27dsXmWZqaqp0xLG4bf/Ro0cYPnw4TE1NYW5ujoCAAFy8eLHIZ0rBacC7d+/C19cXNWrUgJWVFb788kulz04AWLx4MTp06IDatWvDyMgI7u7u2Lp1a4nroE0YWCoZBwcHjBgxAqtXr8a9e/de23fevHkYMWIEnJ2dsXTpUnz++edITEyEl5eXeL541KhReP/99xEcHCwGmd9//x1hYWEIDAzEe++9BysrK6xatQoA0K9fP2zcuBEbN25E//7932pdhg8fDkEQkJCQILatW7cONWrUQHBwMCIjI+Hu7o5Zs2Zh2rRpSvPl5+cXOTKTl5eHrVu3YsCAAaU69VDwYVerVi2x7dChQ/Dy8kJWVhZCQ0Mxf/58PHnyBF27dhVPHfTv3x9Dhw4F8DIQFLw+BSFPXYMGDUJ2djbmz5+PMWPGiO1//vknBg4ciB49emDJkiWoVasWRo4ciStXrqi03A0bNmD58uWYMGECQkJCcPnyZXTt2hXp6ekAXh5xMjIyQmxsbJF5Y2Nj0aVLF9SrV0/t9SnudX0b6enpaN++PQ4ePIigoCBERkaiUaNGCAwMREREhErLkMlkePjwIR4+fIh//vkHO3fuxNKlS+Hl5QUHBwexX0JCAv766y+MGjUK3377LYYMGYLNmzfjvffegyAIYr9x48Zh1apVGDBgAKKiovDll1/CyMgIV69eFfuosi0BL/e/nj17IiMjA7Nnz8aoUaMQGhqKn3766a1etzdtP23btoWjoyP++9//Fpk3Pj4etWrVgo+PDwDV34PVq1fjs88+g6urKyIiIhAWFgY3NzecPHkSgGr7zq+//oovvvgCAQEBmD17Nq5evYr3338fK1euxPLlyzF+/HhMmTIFycnJGD16tFLdqr7mBQYPHoynT58iPDwcgwcPxrp168RT4QCwceNGGBoaonPnzmKtn3zySYmvecOGDSGXy7Fx48Y3vT1FKBQKfPDBB/jxxx8REBCAefPm4f79+wgICCi2v1wuh4+PD2rXro3FixfD29sbS5YsQUxMjFK/yMhItG7dGnPmzMH8+fOhp6eHQYMGYffu3WrXWOEEqhTWrl0rABBOnz4t3Lx5U9DT0xM+++wzcbq3t7fQrFkz8fHt27cFXV1dYd68eUrL+f333wU9PT2l9vv37wsWFhZCjx49hNzcXKF169ZCgwYNhMzMTLHPgwcPBABCaGioyjUHBAQIJiYmJU4/f/68AECYPHmy2JadnV2k3yeffCIYGxsLOTk5Ypunp6fQrl07pX7bt28XAAiHDx9+bV2hoaECAOH69evCgwcPhNu3bwtr1qwRjIyMBCsrK+H58+eCIAiCQqEQnJ2dBR8fH0GhUCjV6ODgIPTo0UNs++abbwQAwq1bt5Se69atWwIAYe3atUXqePX1LKhr6NChRfo2bNhQACAkJSWJbRkZGYKhoaHwxRdfvHZ9C2owMjIS/vnnH7H95MmTRV7/oUOHCnXr1hXkcrnYdu7cuRLXobCCbfTgwYPCgwcPhDt37ghbt24VrKysBENDQ+HOnTtiX29vb8Hb27vIMgICAoSGDRsqtb36OgUGBgq2trbCw4cPlfoNGTJEMDMzK3YbKqzgtXz1X8eOHYsss7hl/fjjj0XeCzMzM2HChAklPqc625Kvr68glUqFv//+W2xLSUkRdHV1BVU+sovb71TdfkJCQgR9fX3h8ePHYltubq5gbm4ujB49WmxT9T3o27ev0udScUradwTh5XtvaGioNO27774TAAg2NjZCVlaWUu2Fl6POa16w7xVeR0EQhH79+gm1a9dWajMxMRECAgJeu04F0tLSBCsrKwGA4OLiIowbN06Ii4sTnjx5UqTvq9v+tm3bBABCRESE2CaXy4WuXbsW2R8DAgIEAMKcOXOUltm6dWvB3d1dqe3VbTovL09o3ry50LVrV6X2hg0bqryeFYVHWCohR0dHDB8+HDExMbh//36xfbZv3w6FQoHBgweL3yQfPnwIGxsbODs74/Dhw2JfGxsbrFy5EgkJCejcuTMuXLiANWvWlPtg2ILBZk+fPhXbjIyMxP9/+vQpHj58iM6dOyM7OxvXrl0Tp40YMQInT55UOs0QGxsLOzs7eHt7q/T8TZo0gZWVFezt7TF69Gg0atQIe/fuhbGxMQDgwoULuHHjBoYNG4ZHjx6Jr+Hz58/RrVs3JCUllcsguXHjxhXb7urqKp5eAQArKys0adIEf/31l0rL9fX1VTpC4uHhgXbt2mHPnj1i24gRI3Dv3j2l7SM2NhZGRkYYMGCASs/TvXt3WFlZwc7ODgMHDoSJiQl++eUX1K9fX6X5X0cQBGzbtg0ffPABBEFQ2rZ9fHyQmZlZ5DRMcdq1a4eEhAQkJCRg165dmDdvHq5cuYIPP/wQL168EPsV3h5zcnLw8OFD8fB+4ecxNzfHyZMnSzzqqeq2JJfLsX//fvj6+qJBgwbi/E2bNhWPbpSWKtuPn58fZDIZtm/fLrYdOHAAT548gZ+fHwD13gNzc3P8888/OH36dKnr7tatm9Kpknbt2gEABgwYgJo1axZpL1if0uy/r+57nTt3xqNHj5CVlVWq2q2trXHx4kWMGzcO//77L6KjozFs2DDUqVMHX3/9tdJRulft27cP+vr6SkdZdXR0MGHChBLnKa7+Vz8fCm/T//77LzIzM9G5c2eV9htN46DbSmrGjBnYuHEjFixYgMjIyCLTb9y4AUEQShw8+OoAryFDhmDTpk3YvXs3xo4di27duqlUx4sXL5CZmanUVjAW4E0KLukr/KFz5coVzJgxA4cOHSryIVH4efz8/PD5558jNjYWs2bNQmZmJnbt2oXJkyerfK+Kbdu2wdTUFA8ePMDy5ctx69YtpZ35xo0bAFDiIdiCmsrqVEeBwqckCiv8B6xArVq18O+//6q03OK2hcaNGyudAujRowdsbW0RGxuLbt26QaFQ4Mcff0Tfvn2V3qfXWblyJRo3bozMzEysWbMGSUlJMDQ0VGneN3nw4AGePHmCmJiYIoe6C2RkZAAA0tLSlNrNzMzE99fS0hLdu3cXp/Xp0wdNmjTBwIED8f3332PixIkAXl7lERYWhs2bN4vLLVB4e1y0aBECAgJgZ2cHd3d3vPfeexgxYgQcHR0BqL4t5ebm4sWLF8W+V02aNFEKl+pSZftp1aoVXFxcEB8fj8DAQAAvTwdZWlqia9euANR7D7766iscPHgQHh4eaNSoEXr27Ilhw4ahY8eOpa7bzMwMAGBnZ1dse8H6lGb/ffW5Cqb9+++/pf4CZ2tri1WrViEqKgo3btzA/v37sXDhQsyaNQu2trb4+OOPi53v77//hq2trfgFqkCjRo2K7S+VSouchi7u82HXrl2YO3cuLly4gNzcXLG9Mtzjh4GlknJ0dMRHH32EmJgYpfEdBRQKBSQSCfbu3QtdXd0i01+9T8OjR49w5swZAEBKSgoUCgV0dN58AC4+Ph6jRo1Sanvdt4bCCgZ8FuyAT548gbe3N0xNTTFnzhw4OTlBKpXi3Llz+Oqrr5S+DdWqVQvvv/++GFi2bt2K3NzcIlckvY6Xl5d4ldAHH3yAFi1awN/fH2fPnoWOjo74fN988w3c3NyKXcab7ndR0ofAqwPhCiscmgor7n0EVH+9VaGrq4thw4Zh9erViIqKwvHjx3Hv3j21XlcPDw/xKiFfX1906tQJw4YNw/Xr18XXSyKRFFv3614XAOJ78tFHH5X4h6hly5YAXv6hKGzt2rWvHSBZENKTkpLEwDJ48GCcOHECU6ZMgZubG2rUqAGFQoFevXopbY+DBw9G586d8dNPP+HAgQP45ptvsHDhQmzfvh29e/dWeVsq/AekrKm6/fj5+WHevHl4+PAhatasiV9++QVDhw4VByOr8x40bdoU169fx65du7Bv3z5s27YNUVFRmDVrltLYkNLU/ab1Kc3+W577mEQiQePGjdG4cWP06dMHzs7OiI2NLTGwqKuk2gv79ddf8eGHH8LLywtRUVGwtbWFvr4+1q5dKw6E1mYMLJXYjBkzsGnTJixcuLDINCcnJwiCAAcHBzRu3PiNy5owYYI42CwkJAQREREIDg4Wp5f0h9fHx0dp0Kw6Nm7cCIlEgh49egAAjhw5gkePHmH79u3w8vIS+926davY+UeMGIG+ffvi9OnTiI2NRevWrdGsWbNS1VKjRg2EhoZi1KhR+O9//4shQ4bAyckJwMvR/IW/jRenpNen4BvaqzfF+vvvv0tV59so+MZZ2B9//FHkyoQRI0ZgyZIl2LlzJ/bu3QsrK6tSn47Q1dVFeHg43n33XaxYsUIM17Vq1Sr2VNabXhcrKyvUrFkTcrn8je/Jq9vlm7aN/Px8AP878vfvv/8iMTERYWFhmDVrltivuNcReBmQxo8fj/HjxyMjIwNt2rTBvHnz0Lt3b5W3JSsrKxgZGRX7HNevX39t/WXFz88PYWFh2LZtG6ytrZGVlYUhQ4Yo1ajqewAAJiYm8PPzg5+fH/Ly8tC/f3/MmzcPISEhkEql5fbNXp39Vx1lUa+joyNq1apV4il94OWA3cOHDyM7O1vpKMuff/5Z6ufdtm0bpFIp9u/fr3TUc+3ataVeZkXiGJZKzMnJCR999BG+++67Ioe/+/fvD11dXYSFhRX5diAIgtJlmVu3bkV8fDwWLFiAadOmYciQIZgxY4bS5cYFO8yrf3htbW3RvXt3pX+qWLBgAQ4cOAA/Pz/x8HfBN4TC9ebl5SEqKqrYZfTu3Vu8x8fRo0fVOgpQHH9/f9SvX18MgO7u7nBycsLixYuLvSNl4cuqC+6V8urrY2pqCktLSyQlJSm1l7RO5WnHjh1KlyWfOnUKJ0+eRO/evZX6tWzZEi1btsT333+Pbdu2YciQIUqX+qqrS5cu8PDwQEREhHi5uZOTE65du6b0Gl68eLHYS3wL09XVxYABA7Bt2zalS7ILFF7eq9vlq0dcXrVz504AL0+LFDwXUPTb9atXIsnl8iKnRevUqYO6deuKR0xU3ZZ0dXXh4+ODHTt2IDU1VZx+9epV7N+//7X1l5WmTZuiRYsWiI+PR3x8PGxtbZW+QKjzHrx6+beBgQFcXV0hCAJkMhmAkvedt6XO/qsOExMTlWs9efIknj9/XqT91KlTePToEZo0aVLivD4+PpDJZFi9erXYplAosHLlSrVrLqCrqwuJRKJ0JPP27dtq3blXk3iEpZL7z3/+g40bN+L69etK3yCdnJwwd+5chISE4Pbt2/D19UXNmjVx69Yt/PTTTxg7diy+/PJLZGRk4NNPP8W7776LoKAgAMCKFStw+PBhjBw5EseOHYOOjg6MjIzg6uqK+Ph4NG7cGBYWFmjevPkbfw4gPz8fmzZtAvBy0OLff/+NX375BZcuXcK7776rdA68Q4cOqFWrFgICAvDZZ59BIpFg48aNJR6O1dfXx5AhQ7BixQro6uqKl0eWlr6+PiZNmoQpU6Zg37596NWrF77//nv07t0bzZo1w6hRo1CvXj3cvXsXhw8fhqmpqfhHzt3dHcDL92PIkCHQ19fHBx98ABMTE3z88cdYsGABPv74Y7Rt2xZJSUlKYbCiNGrUCJ06dcKnn36K3NxcREREoHbt2pg6dWqRviNGjMCXX34JAG8dBAFgypQpGDRoENatW4dx48Zh9OjRWLp0KXx8fBAYGIiMjAxER0ejWbNmbxzguGDBAhw+fBjt2rXDmDFj4OrqisePH+PcuXM4ePCgSrfXv3v3rrhd5uXl4eLFi/juu+9gaWkpng4yNTWFl5cXFi1aBJlMhnr16uHAgQNFjvg9ffoU9evXx8CBA9GqVSvUqFEDBw8exOnTp7FkyRIALwdLqrothYWFYd++fejcuTPGjx+P/Px88V4mly5dUvu1Lw0/Pz/MmjULUqkUgYGBRU4Pq/oe9OzZEzY2NujYsSOsra1x9epVrFixAn369BHHRL1u33kb6rzm6nB3d8fBgwexdOlS1K1bFw4ODuKA31dt3LgRsbGx6NevH9zd3WFgYICrV69izZo1kEqlmD59eonP4+vrCw8PD3zxxRf4888/4eLigl9++UV8bUtzpKdPnz5YunQpevXqhWHDhiEjIwMrV65Eo0aNKmzbeisVfFUSlVLhy5pfVXBJW3GXD27btk3o1KmTYGJiIpiYmAguLi7ChAkThOvXrwuCIAj9+/cXatasKdy+fVtpvp9//lkAICxcuFBsO3HihODu7i4YGBiodIlzQV0F/4yNjQV7e3thwIABwtatW5UunS1w/PhxoX379oKRkZFQt25dYerUqcL+/ftLvFz51KlTAgChZ8+er62lsIJLGB88eFBkWmZmpmBmZqZ0ye358+eF/v37C7Vr1xYMDQ2Fhg0bCoMHDxYSExOV5v3666+FevXqCTo6OkqXV2ZnZwuBgYGCmZmZULNmTWHw4MFCRkZGiZc1F1dXw4YNhT59+hRpL+ny4MIKLmv+5ptvhCVLlgh2dnaCoaGh0LlzZ+HixYvFznP//n1BV1dXaNy48WuXXdjrtlG5XC44OTkJTk5OQn5+viAIgrBp0ybB0dFRMDAwENzc3IT9+/erdFmzIAhCenq6MGHCBMHOzk7Q19cXbGxshG7dugkxMTFvrPPVy5p1dHSEOnXqCEOHDhX+/PNPpb7//POP0K9fP8Hc3FwwMzMTBg0aJNy7d0+pptzcXGHKlClCq1athJo1awomJiZCq1athKioqCLPreq2dPToUXFfc3R0FKKjo8Xt401KuqxZne3nxo0b4utz7NixYp9Hlffgu+++E7y8vMT1dXJyEqZMmaJ0ywRBKHnfAVDkcvHC23Nhhw8fFgAIW7ZsUWpX5TUvad8r2KYLX1Z97do1wcvLSzAyMhIAvPbS30uXLglTpkwR2rRpI1hYWAh6enqCra2tMGjQIOHcuXNKfYvb9h88eCAMGzZMqFmzpmBmZiaMHDlSOH78uABA2Lx5s9K8xd1Corht5ocffhCcnZ0FQ0NDwcXFRVi7dm2x/bTxsmaJIJThiD2iCnbx4kW4ublhw4YNGD58uKbLqTIePnwIW1tbzJo1CzNnztR0OUT0/3bs2IF+/frh2LFjal1tVRVwDAtVaqtXr0aNGjXe+q67pGzdunWQy+UMgUQaVPieQMDL8VLffvstTE1N0aZNGw1VpTkcw0KV0s6dO5GSkoKYmBgEBQVVuh8I1FaHDh1CSkoK5s2bB19fX5V+14eIysfEiRPx4sULeHp6Ijc3F9u3b8eJEycwf/78Em9/UJXxlBBVSvb29khPT4ePjw82btyo8k3N6PW6dOmCEydOoGPHjti0aVOpfjuIiMpGXFwclixZgj///BM5OTlo1KgRPv30U/ECieqGgYWIiIi0HsewEBERkdZjYCEiIiKtx0G3ZUChUODevXuoWbNmpfgBKSIiIm0hCAKePn2KunXrvvY37BhYysC9e/eK/HIoERERqe7OnTuoX79+idMZWMpAwRUqd+7cKfVPkJP2kMlkOHDgAHr27Al9fX1Nl0NEhXD/rHqysrJgZ2f3xqs9GVjKQMFpIFNTUwaWKkAmk8HY2Bimpqb8QCTSMtw/q643DangoFsiIiLSegwsREREpPUYWIiIiEjrMbAQERGR1mNgISIiIq3HwEJERERaj4GFqBC5XI6LFy/i2rVruHjxIuRyuaZLIiIi8D4sRKKkpCRERUUhLS0NALB3717Y2Nhg/Pjx8PLy0nB1RETVG4+wEOFlWAkNDYWjoyMiIyMxYcIEREZGwtHREaGhoUhKStJ0iURE1RoDC1V7crkcUVFR8PT0xNy5c+Hq6goDAwO4urpi7ty58PT0xKpVq3h6iIhIgxhYqNq7dOkS0tLS4O/vX+SXQnV0dODv74/79+/j0qVLGqqQiIgYWKjae/z4MQDAwcGh2OkF7QX9iIio4jGwULVnYWEBALh161ax0wvaC/oREVHFY2Chaq9ly5awsbFBbGwsFAqF0jSFQoHY2FjY2tqiZcuWGqqQiIgYWKja09XVxfjx45GcnIwZM2YgJSUFeXl5SElJwYwZM5CcnIxPP/0Uurq6mi6ViKja4n1YiAB4eXkhLCwMUVFRmDRpkthua2uLsLAw3oeFiEjDGFiI/p+Xlxc6duyI8+fPIzExEd26dUPr1q15ZIWISAswsBAVoquri1atWuHu3bto1aoVwwoRkZbgGBYiIiLSepUusKxcuRL29vaQSqVo164dTp069dr+W7ZsgYuLC6RSKVq0aIE9e/YU6XP16lV8+OGHMDMzg4mJCd555x2kpqaW1yoQERGRmipVYImPj0dwcDBCQ0Nx7tw5tGrVCj4+PsjIyCi2/4kTJzB06FAEBgbi/Pnz8PX1ha+vLy5fviz2uXnzJjp16gQXFxccOXIEly5dwsyZMyGVSitqtYiIiOgNJIIgCJouQlXt2rXDO++8gxUrVgB4eY8MOzs7TJw4EdOmTSvS38/PD8+fP8euXbvEtvbt28PNzQ3R0dEAgCFDhkBfXx8bN24sdV1ZWVkwMzNDZmYmTE1NS70c0g4ymQx79uzBe++9B319fU2XQ0SFcP+selT9G1ppBt3m5eXh7NmzCAkJEdt0dHTQvXt3JCcnFztPcnIygoODldp8fHywY8cOAC8Dz+7duzF16lT4+Pjg/PnzcHBwQEhICHx9fUusJTc3F7m5ueLjrKwsAC93JJlMVso1JG1R8B7yvSTSPtw/qx5V38tKE1gePnwIuVwOa2trpXZra2tcu3at2HnS0tKK7Z+WlgYAyMjIwLNnz7BgwQLMnTsXCxcuxL59+9C/f38cPnwY3t7exS43PDwcYWFhRdoPHDgAY2Pj0qweaaGEhARNl0BEJeD+WXVkZ2er1K/SBJbyUHAb9r59+2Ly5MkAADc3N5w4cQLR0dElBpaQkBClIzdZWVmws7NDz549eUqoCpDJZEhISECPHj14yJlIy3D/rHoKzlK8SaUJLJaWltDV1UV6erpSe3p6OmxsbIqdx8bG5rX9LS0toaenB1dXV6U+TZs2xbFjx0qsxdDQEIaGhkXa9fX1uQNVIXw/ibQX98+qQ9X3sdJcJWRgYAB3d3ckJiaKbQqFAomJifD09Cx2Hk9PT6X+wMvDiAX9DQwM8M477+D69etKff744w80bNiwjNeAiIiISqvSHGEBgODgYAQEBKBt27bw8PBAREQEnj9/jlGjRgEARowYgXr16iE8PBwAMGnSJHh7e2PJkiXo06cPNm/ejDNnziAmJkZc5pQpU+Dn5wcvLy+8++672LdvH3bu3IkjR45oYhWJiIioGJUqsPj5+eHBgweYNWsW0tLS4Obmhn379okDa1NTU6Gj87+DRh06dEBcXBxmzJiB6dOnw9nZGTt27EDz5s3FPv369UN0dDTCw8Px2WefoUmTJti2bRs6depU4etHmieXy3Hx4kVcu3YN9erV428JERFpiUp1HxZtxfuwVA1JSUmIiooSryIDXo6DGj9+PH+tmUhL8D4sVY+qf0MrzRgWovKUlJSE0NBQODo6IjIyEhMmTEBkZCQcHR0RGhqKpKQkTZdIRFStMbBQtSeXyxEVFQVPT0/MnTsXrq6uMDAwgKurK+bOnQtPT0+sWrUKcrlc06USEVVbDCxU7V26dAlpaWnw9/dXGgMFvLybsr+/P+7fv49Lly5pqEIiImJgoWrv8ePHAAAHB4dipxe0F/QjIqKKx8BC1Z6FhQUA4NatW8VOL2gv6EdERBWPgYWqvZYtW8LGxgaxsbHizzUUUCgUiI2Nha2tLVq2bKmhComIiIGFqj1dXV2MHz8eycnJmDFjBlJSUpCXl4eUlBTMmDEDycnJ+PTTT3k/FiIiDapUN44jKi9eXl4ICwtDVFQUJk2aJLbb2toiLCyM92EhItIwBhai/+fl5YWOHTvi/PnzSExMRLdu3XinWyIiLcHAQlSIrq4uWrVqhbt376JVq1YMK0REWoJjWIiIiEjrMbAQERGR1mNgISIiIq3HwEJERERaj4GFiIiItB4DCxEREWk9BhYiIiLSegwsREREpPUYWIiIiEjrMbAQERGR1mNgISIiIq3HwEJERERaj4GFiIiItB4DCxEREWk9BhYiIiLSegwsREREpPUYWIiIiEjrMbAQERGR1mNgISIiIq3HwEJERERaj4GFiIiItB4DCxEREWk9BhYiIiLSegwsREREpPUYWIiIiEjrMbAQERGR1mNgISIiIq3HwEJERERaj4GFiIiItF6lCywrV66Evb09pFIp2rVrh1OnTr22/5YtW+Di4gKpVIoWLVpgz549JfYdN24cJBIJIiIiyrhqIiIiehuVKrDEx8cjODgYoaGhOHfuHFq1agUfHx9kZGQU2//EiRMYOnQoAgMDcf78efj6+sLX1xeXL18u0venn37Cb7/9hrp165b3ahAREZGaKlVgWbp0KcaMGYNRo0bB1dUV0dHRMDY2xpo1a4rtHxkZiV69emHKlClo2rQpvv76a7Rp0wYrVqxQ6nf37l1MnDgRsbGx0NfXr4hVISIiIjXoaboAVeXl5eHs2bMICQkR23R0dNC9e3ckJycXO09ycjKCg4OV2nx8fLBjxw7xsUKhwPDhwzFlyhQ0a9ZMpVpyc3ORm5srPs7KygIAyGQyyGQyVVeJtFTBe8j3kkj7cP+selR9LytNYHn48CHkcjmsra2V2q2trXHt2rVi50lLSyu2f1pamvh44cKF0NPTw2effaZyLeHh4QgLCyvSfuDAARgbG6u8HNJuCQkJmi6BiErA/bPqyM7OVqlfpQks5eHs2bOIjIzEuXPnIJFIVJ4vJCRE6chNVlYW7Ozs0LNnT5iampZHqVSBZDIZEhIS0KNHD54iJNIy3D+rnoKzFG9SaQKLpaUldHV1kZ6ertSenp4OGxubYuexsbF5bf9ff/0VGRkZaNCggThdLpfjiy++QEREBG7fvl3scg0NDWFoaFikXV9fnzvQ/8vJyUFqaqqmyyiV/Px8pKen4/bt29DTqzS7iKhBgwaQSqWaLoOoXPHztupQ9X2sNJ/GBgYGcHd3R2JiInx9fQG8HH+SmJiIoKCgYufx9PREYmIiPv/8c7EtISEBnp6eAIDhw4eje/fuSvP4+Phg+PDhGDVqVLmsR3WRmpqKsWPHarqMtxIXF6fpEkolJiYGjRs31nQZRERlqtIEFgAIDg5GQEAA2rZtCw8PD0REROD58+diuBgxYgTq1auH8PBwAMCkSZPg7e2NJUuWoE+fPti8eTPOnDmDmJgYAEDt2rVRu3ZtpefQ19eHjY0NmjRpUrErV8U0aNBAfJ0rm7/++gsLFizAtGnT4OjoqOly1Fb4iCERUVVRqQKLn58fHjx4gFmzZiEtLQ1ubm7Yt2+fOLA2NTUVOjr/u1K7Q4cOiIuLw4wZMzB9+nQ4Oztjx44daN68uaZWodqQSqWV9lt+fn4+gJd/+CvrOhARVTWVKrAAQFBQUImngI4cOVKkbdCgQRg0aJDKyy9p3AoRERFpTqW6cRwRERFVTwwsREREpPUYWIiIiEjrMbAQERGR1mNgISIiIq3HwEJERERaj4GFiIiItB4DCxEREWk9BhYiIiLSegwsREREpPUYWIiIiEjrMbAQERGR1mNgISIiIq3HwEJERERaj4GFiIiItJ5eaWfMy8tDRkYGFAqFUnuDBg3euigiIiKiwtQOLDdu3MDo0aNx4sQJpXZBECCRSCCXy8usOCIiIiKgFIFl5MiR0NPTw65du2BrawuJRFIedRERERGJ1A4sFy5cwNmzZ+Hi4lIe9RAREREVofagW1dXVzx8+LA8aiEiIiIqltqBZeHChZg6dSqOHDmCR48eISsrS+kfERERUVlT+5RQ9+7dAQDdunVTauegWyIiIiovageWw4cPl0cdRERERCVSK7DIZDLMmTMH0dHRcHZ2Lq+aiIiIiJSoNYZFX18fly5dKq9aiIiIiIql9qDbjz76CD/88EN51EJERERULLXHsOTn52PNmjU4ePAg3N3dYWJiojR96dKlZVYcEREREVCKwHL58mW0adMGAPDHH38oTeNdb4mIKoecnBykpqZqugy15efnIz09HTdu3ICeXql/Dk+jGjRoAKlUqukyKh1eJUREVA2lpqZi7Nixmi6j1OLi4jRdQqnFxMSgcePGmi6j0qmc8ZSIiN5KgwYNEBMTo+ky1PbXX39hwYIFmDZtGhwdHTVdTqk0aNBA0yVUSmoHlnffffe1p34OHTr0VgUREVH5k0qllfJbfn5+PoCXf/QrY/1UemoHFjc3N6XHMpkMFy5cwOXLlxEQEFBWdRERERGJ1A4sy5YtK7Z99uzZePbs2VsXRERUmaSnpyMzM1PTZVQbBQOFU1NTK+2g28rIzMwM1tbWGq2hzN7tjz76CB4eHli8eHFZLZKISKulp6fjo+EjIMvL1XQp1c6CBQs0XUK1om9giE0bN2g0tJRZYElOTuZlWkRUrWRmZkKWl4sXjt5QSM00XQ5RudDJyQT+OorMzMzKFVj69++v9FgQBNy/fx9nzpzBzJkzy6wwIqLKQiE1g8LEUtNlEFVpagcWU1NTpauEdHR00KRJE8yZMwc9e/Ys0+KIiIiIgFIElnXr1pVDGUREREQlU/vHDx0dHfHo0aMi7U+ePKm0N/EhIiIi7aZ2YLl9+zbkcnmR9tzcXNy9e7dMinqdlStXwt7eHlKpFO3atcOpU6de23/Lli1wcXGBVCpFixYtsGfPHnGaTCbDV199hRYtWsDExAR169bFiBEjcO/evfJeDSIiIlKDyqeEfvnlF/H/9+/fDzOz/42Il8vlSExMhL29fZkW96r4+HgEBwcjOjoa7dq1Q0REBHx8fHD9+nXUqVOnSP8TJ05g6NChCA8Px/vvv4+4uDj4+vri3LlzaN68ObKzs3Hu3DnMnDkTrVq1wr///otJkybhww8/xJkzZ8p1XYiIiEh1KgcWX19fAC9/kfnVO9rq6+vD3t4eS5YsKdPiXrV06VKMGTMGo0aNAgBER0dj9+7dWLNmDaZNm1akf2RkJHr16oUpU6YAAL7++mskJCRgxYoViI6OhpmZGRISEpTmWbFiBTw8PJCamsrfeyAiItISKgcWhUIBAHBwcMDp06dhaVmxl/Dl5eXh7NmzCAkJEdt0dHTQvXt3JCcnFztPcnIygoODldp8fHywY8eOEp8nMzMTEokE5ubmJfbJzc1Fbu7/bhSVlZUF4OUpJplMpsLakDYr+K2S/Px8vp/0WgXbClF1UF6fiaouU+2rhG7duiX+f05OToXdLO7hw4eQy+VFblpjbW2Na9euFTtPWlpasf3T0tKK7Z+Tk4OvvvoKQ4cOhampaYm1hIeHIywsrEj7gQMHYGxs/KZVIS2Xnp4OAPjtt9+UtneiVxVsK0TVwbFjx3Djxo0yX252drZK/dQOLAqFAvPmzUN0dDTS09Pxxx9/wNHRETNnzoS9vT0CAwPVLlYbyGQyDB48GIIgYNWqVa/tGxISonTkJisrC3Z2dujZs+drgw5VDlevXkVcXBzat2+Ppk2baroc0mI3btxAXFycpssgqhCdOnWCs7NzmS+34CzFm6gdWObOnYv169dj0aJFGDNmjNjevHlzRERElFtgsbS0hK6ubpFvNOnp6bCxsSl2HhsbG5X6F4SVv//+G4cOHXpj6DA0NIShoWGRdn19fejr66uyOqTFCn5QTU9Pj+8nvRZ/fI+qk/L6TFR1mWpf1rxhwwbExMTA398furq6YnurVq1KPDVTFgwMDODu7o7ExESxTaFQIDExEZ6ensXO4+npqdQfABISEpT6F4SVGzdu4ODBg6hdu3b5rAARERGVmtpfD+7evYtGjRoVaVcoFOU+QDE4OBgBAQFo27YtPDw8EBERgefPn4tXDY0YMQL16tVDeHg4AGDSpEnw9vbGkiVL0KdPH2zevBlnzpxBTEwMgJdhZeDAgTh37hx27doFuVwujm+xsLCAgYFBua4PERERqUbtwOLq6opff/0VDRs2VGrfunUrWrduXWaFFcfPzw8PHjzArFmzkJaWBjc3N+zbt08cWJuamgodnf8dNOrQoQPi4uIwY8YMTJ8+Hc7OztixYweaN28O4GX4Kri/jJubm9JzHT58GF26dCnX9SEiIiLVqB1YZs2ahYCAANy9excKhQLbt2/H9evXsWHDBuzatas8alQSFBSEoKCgYqcdOXKkSNugQYMwaNCgYvvb29tDEISyLI+IiIjKgdpjWPr27YudO3fi4MGDMDExwaxZs3D16lXs3LkTPXr0KI8aiYiIqJor1RD3zp07F7lDLACcOXMGbdu2feuiiIiIiApTO7A8e/YMurq6MDIyEtsuXLiAmTNnYs+ePcX+MCK9nfT0dGRmZmq6jGojNTVV/C8vW604ZmZmRW70SERUQOVP4zt37mDw4ME4deoUdHV1ERQUhLlz52LcuHGIj49Hv379cOLEifKstVpKT0/HR8NHQJaX++bOVKYWLFig6RKqFX0DQ2zauIGhhYiKpXJgmTJlCnJychAZGYnt27cjMjISv/76K9q1a4ebN2+ifv365VlntZWZmQlZXi5eOHpDITV78wxElZBOTibw11FkZmYysBBRsVQOLElJSdi+fTvat2+PwYMHw8bGBv7+/vj888/LsTwqoJCaQWFSsT84SUREpC1UvkooPT0dDg4OAIA6derA2NgYvXv3LrfCiIiIiAqodVlz4Zuy6ejo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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### f. Investment signal distribution by ticker" + ], + "metadata": { + "id": "0fzgyURooMDn" + } + }, + { + "cell_type": "code", + "source": [ + "# Compute counts\n", + "signal_by_ticker = (\n", + " df_merged.groupby([\"ticker\", \"investment_signal\"])\n", + " .size()\n", + " .unstack(fill_value=0)\n", + ")\n", + "\n", + "# Plot only\n", + "signal_by_ticker.plot(\n", + " kind=\"bar\",\n", + " stacked=True,\n", + " figsize=(8, 5)\n", + ")\n", + "\n", + "plt.title(\"Investment Signal Distribution by Ticker\")\n", + "plt.xlabel(\"Ticker\")\n", + "plt.ylabel(\"Count\")\n", + "plt.legend(title=\"Signal\")\n", + "plt.grid(axis=\"y\")\n", + "\n", + "plt.tight_layout()\n", + "plt.savefig(\"artifacts/py/figures/investment_signal_distribution_by_ticker.png\", bbox_inches=\"tight\")\n", + "plt.show()\n", + "plt.close()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 524 + }, + "id": "U5nNmTMAn8jq", + "outputId": "ef03eef0-2944-445e-9459-117fe86bac69" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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Bumrr77S+vXrVaJECTPLAQAAgIlMDabPPfecFi5cqOXLlys4OFhnz56VJOXMmVPZs2c3szQAAAB4mKnjmM6cOVMRERFq0KCBChUq5HwtXrzYzLIAAABgAtNP5QMAAACSyT2mAAAAQCKCKQAAACyBYAoAAABLIJgCAADAEgimAAAAsASCKQAAACyBYAoAAABLIJgCAADAEgimAAAAsASCKQAAACyBYAoAAABLIJgCAADAEgimAAAAsASCKQAAACyBYAoAAABLIJgCAADAEgimAAAAsASCKQAAACyBYAoAAABLIJgCAADAEgimAAAAsASCKQAAACyBYAoAAABLIJgCAADAEgimAAAAsASCKQAAACyBYAoAAABLIJgCAADAEgimAAAAsASCKQAAACyBYAoAAABLIJgCAADAEgimAAAAsASCKQAAACyBYAoAAABLIJgCAADAEgimAAAAsASCKQAAACyBYAoAAABLIJgCAADAEgimAAAAsASCKQAAACyBYAoAAABLIJgCAADAEgimAAAAsASCKQAAACyBYAoAAABLIJgCAADAEgimAAAAsASCKQAAACyBYAoAAABLIJgCAADAEgimAAAAsASCKQAAACyBYAoAAABLIJgCAADAEgimAAAAsASCKQAAACyBYAoAAABLIJgCAADAEgimAAAAsASCKQAAACzB1GC6ceNGtW7dWoULF5bNZtPXX39tZjkAAAAwkanB9Pr167r//vs1Y8YMM8sAAACABfiaufPmzZurefPmZpYAAAAAizA1mKZXTEyMYmJinNORkZGSpLi4OMXFxWXsTe0B7igtYzJasxv4+xim7TvDn5U7eOnn7a3t5jg3Ae32OG89zr213XfjcZ6e75fNMAzzPtmb2Gw2ffXVV2rbtm2K64waNUqjR49OMn/hwoUKDAzMxOoAAACQEVFRUerSpYsiIiIUEhKS6rp3VTBNrsc0NDRUFy9evG1DUzSuSMa2c4dh/5i268qjVpm2772jmpm2b2/9vL213RznJuA49zhvPc69td1343EeGRmpfPnypSmY3lWn8v39/eXv759kvp+fn/z8/DL2po7oO6zqDmS0ZjeISbCZtu8Mf1bu4KWft7e2m+PcBLTb47z1OPfWdt+Nx3l6vl+MYwoAAABLMLXH9Nq1azp06JBz+ujRo9q5c6fy5MmjokWLmlgZAAAAPM3U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t3H06FG1adNGf/75pyTp3nvv1ZdffqmHHnrI5MqQWXbu3Kk33nhD33//vSQpODhYUVFRzuU2m00///xzljkGNmzYkKb16tevn8mVmGfjxo2qVauWyx+dERER+uyzzxQWFqYdO3aocuXK2r17t4lVut/o0aP16quvKjAw0OxSPKpTp0768MMPkz2VaRiGpkyZouHDh+vatWsmVOd5+/fv1yeffKIFCxZ4RQ9iogMHDqhNmzb666+/zC7F7fz8/HTvvfeqR48eatOmTYpj8lapUsXDld0ewfQ2OnTooH379mnEiBEKCAjQpEmTFB0drd9//93s0jLVpk2bVKNGDWXLli3Z5dHR0VqyZImefvppD1eW+fr06aNSpUrpjTfekPRfMJ09e7buvfdeGYahsLAwGYah+fPnm1wp3OV2p7R37typsLCw294MebcpWrSo/vjjD+XNm1eSNH36dD399NNZ+rKNtPr7779VpkwZs8vwqKzcg5icXbt26YEHHsiSZ4OSOxN2a9yz6pkwgultFCxYUF988YXq1Kkj6b/u8SJFiigyMlI5cuQwubrMY7fb9fDDD+urr75SoUKFkiw/d+6cChcubMmD+k5VqFBBCxcudD4FKTg4WLt27VLJkiUl/TfUzFNPPaXjx4+bWabbOBwOvfvuu/rmm28UGxurRo0aaeTIkcqePbvZpXmMt57SvrXdISEh2rlzp/NY91a7d+9W9erVFRsba3YpmeKnn37SsmXLdOzYMdlsNpUoUUIdOnRQvXr1zC7No7JyME3r76dixYplciXpl/UvlrxD58+fd/mruVChQsqePbvOnz/v8mSFrCgqKkrVq1fXsmXLVKNGDbPL8Zjjx4+7XGM1ZswY5cuXzzldqFAhnTt3zozSMsXbb7+tUaNGqXHjxsqePbumTp2q8+fPKywszOzSPCot11RndfRT/McwjCwZViSpf//++uijj5Q7d26VLVtWhmFo69atmjFjhgYOHKgPPvjA7BLhBlYMnGlFML0Nm82ma9euufQe2e12Xb16VZGRkc55We3Ul81m03fffacxY8aoQYMG+vDDD9WrVy+zy/KIgIAAHT9+XEWKFJEkvfzyyy7LT548maWuyfv000/14Ycfql+/fpKkNWvWqGXLlvrkk08se9dmZujZs6f8/f1TXYdRKHA3++qrrzR37lyFhYWpR48ezj/GHA6HwsPDNWDAADVp0kRt2rQxuVK4y7Zt27Ro0SLndbRly5ZVly5dVL16dZMrSxnB9DYMw0hyN65hGM7TvFn1jmXDMOTv76+PP/5Y1apVU//+/bVz505Nnjw5y4eVatWq6euvv1bt2rWTXb5s2TLn558VnDhxQi1atHBON27cWDabTadPn3aGc28QHBzsVZcvJLr5yU/x8fEKDw93OUMgZb0nP3mruXPnavDgwerZs6fLfLvdrt69e+vgwYOaM2dOlgmmaXlYSlY2dOhQTZo0SUFBQc7LczZs2KCpU6dqyJAhmjBhgskVJo9gehvr1q0zuwTTDRw4UJUrV9aTTz6pffv2aenSpWaXlKkGDhyoTp06qXjx4howYIAziCckJOjDDz/UBx98oIULF5pcpfvEx8crICDAZZ6fn5/X3JmbaNq0aV53jWnRokX18ccfO6cLFiyY5KY+m82W5YLpzWe7knP16lUPVeJZO3bs0P/+978Ulz/xxBNq3769ByvKXN72sJSbzZs3Tx988IGmTZumfv36Oe/Kj4uL08yZM/Xaa6+pUqVKlryBmZuf3ODy5cuWfYJCRiV3M8iJEyfUrl07RUREaObMmXrssceyXE9xotdee03vvvuugoODnX9pHjlyRNeuXdPgwYP17rvvmlyh+9jtdjVv3tzlNPaKFSvUsGFDlxv8svJpbG8daN5b2e32VHvSsuqZsICAAB05ckSFCxdOdvmpU6dUunRp3bhxw8OVwd0efvhhde7cOcmlaInef/99ff755/rtt988XNntEUzvwI8//qhPPvlEK1asyHI/yCndpRwdHa0+ffroiy++UHx8fJb7j/tmv/zyixYtWqS///5bklSmTBl17txZNWvWNLky9+JhCt57V763Wr9+fZqO+aw2dq/dbte5c+dSHEA/K4+2kig6OlqLFy/W9evX1aRJkyw7JFiOHDm0Z8+eFEfYOHLkiO677z5dv37dw5XdHqfy0+n48eMKCwvTvHnz9O+//6p58+b69NNPzS7L7erXr5/sGKYBAQH67LPPVLVqVc2cOdOEyjynZs2aWS6EJic8PNzsEky3bt26LHfWIy1+/vlnXbp0Sa1atXLO+/TTTzVy5Ehdv35dbdu21QcffHDbm8LuNg0aNDC7BNMMHz48xZs3b36QSFYwePBgxcXFOUcaiI2N1SOPPKJ9+/YpMDBQQ4cO1erVq/XII4+YXKn7+fj4pDrcWVxcXKqPGzcTPaZpEBsbq2XLlumTTz7Rli1b1LhxY/3www/6448/dN9995ldHjLJrXczlitXTp07d7b03YwZkZbBtH19fVWwYEE1adLE5RGOWUWLFi20aNEi5cyZU5I0fvx49e/fX7ly5ZIkXbp0SXXr1nU+AS6raN68uRo0aKDXXntNkrRnzx498MAD6tmzpypUqKB3331X/fr106hRo8wt1M1GjBih119/3RnQ/v33X+XOndvkqjJfgwYN0tRTnFXurahcubLeeecd581cc+fO1SuvvKI//vhDRYsWVe/evXX+/Hl99913Jlfqfg0aNFDdunX11ltvJbv8f//7nzZv3qz169d7trA0IJjexqBBg7Ro0SKVKVNG3bp1U6dOnZQ3b175+flp165dqlixotklZooTJ06kab2iRYtmciXmSO5uxsOHDysqKsrSdzNmRFqGAXM4HDp//rw2bNigIUOGaMyYMR6ozHNuvcb01oHms+opzkKFCmnFihXOP7befPNNbdiwQZs3b5YkLV26VCNHjsxygfx2nzeyhpCQEO3YsUOlS5eWJHXu3FnBwcH66KOPJP33RLcWLVro9OnTZpaZKb799lu1bdtWgwcP1iuvvKICBQpIks6ePav33ntPU6ZM0VdffeVytsQyDKTKx8fHeOONN4zIyEiX+b6+vsa+fftMqirz2e1258tmsxk2my3JPLvdbnaZmSI8PNwICAgwPvjgAyM2NtY5PzY21pg6daoREBBgzJs3z8QKzbNixQojNDTU7DLczmazGefOnXNOBwUFGYcPH3ZOnz17Nkse7/7+/saJEyec07Vr1zbGjh3rnD569KgRFBRkRmmZ6nafd1b1yiuvGPv37ze7DI/JmTOn8ddffzmnixcvbsyZM8c5ffToUSMgIMCM0jxi2rRpRrZs2Qy73W7kzp3byJ07t2G3241s2bIZU6ZMMbu8FGXtASndYP78+frtt99UqFAhdezYUd9++22W6zVJjs1mU2hoqIYPH65t27bpjz/+0I4dO5yvxOmsaMaMGXrnnXf0/PPPO4fYkP4bQumFF17Q22+/renTp5tYoXnq1KmT5S5l8GYFChTQ0aNHJf13ydKOHTtcrqu+evWqy88A7m7Lly9XpUqVVKtWLYWFhVnyxhd3qlChglasWCFJ2rdv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C9PgwYPlcDi0evVqhYaGKjg42OwyM11yN31l1acfTZ06VWvWrNE333yT5Canb775Rr169dLUqVP10ksvmVMgMl3iL3DDMLLkH183u7mnePPmzWrVqpWmT5+uxx577LY9LneriRMnasKECSpYsKAWLVqkxx9/3OySPCK1a6RvvrY2q6Dz4O5Ej2kGHDx4UHPmzNH8+fN15coVNWnSRN98843ZZbmdN970Jf13Q9dLL72U4p3ac+bM0dSpU7V7924PV4bMlFxA69WrV5YOaAMHDtTnn3+u0NBQ9e7dW127dlW+fPnMLivT2e12Zc+eXY0bN071tPayZcs8WJU5Dh48qNdff10rVqxQ165dNWbMGMsPJ5RW9JjenQimdyAhIUErVqxQWFhYlgumrVu31saNG9WyZUt17dpVjz32mHx8fLL8tbWSlD17dh08eFBFixZNdvnx48dVvnx53bhxw8OVIbN4c0ArWrSoqlWrlmrvUlYLaN7+QAXJu66txd2FYIpkeetNX5KUJ08erV+/PsWhsPbs2aN69erp33//9XBlyCwEtNRl5YDmbbzx2lrcXbjGFMnavHmz5syZowcffNDlpi9v8Mgjj2jmzJmaOXNmsstnzJhhzbHfkGFPP/20V16P5q1PvPJW3nptLe4u9JgiVdevX3fe9PXbb78pISFB77//vnr37p1lb/raunWrGjRooLZt22rIkCEqX768DMPQ/v379d5772n58uVat25dlnpCCoCsj2trcTcgmCLNvOWmL+m/u1f79u2ry5cvO+cZhqE8efJo9uzZat++vYnVAUD6cekG7gYEU6RbVr7p62ZRUVFatWqVyyNJmzZtqsDAQJMrAwAgayKYAre4ceOG1q5d6xzDdNiwYYqJiXEu9/X11ZgxYxQQEGBWiQAAZEnc/ATcYt68efruu++cwXT69OmqVKmSsmfPLkk6cOCAChUqpJdfftnMMgEAyHLoMQVuUbduXQ0dOlStW7eWJAUHB2vXrl0qWbKkJGnBggWaMWOGfv75ZzPLBAAgy8majzMB7sChQ4d03333OacDAgJcnvzz8MMP688//zSjNAAAsjRO5QO3uHLliss1pRcuXHBZ7nA4XJYDAAD3oMcUuEWRIkW0d+/eFJfv3r1bRYoU8WBFAAB4B4IpcIsWLVpoxIgRio6OTrLsxo0bGj16tFq2bGlCZQAAZG3c/ATc4ty5c6pataqyZcum559/XmXLlpX03wMGpk+frvj4eP3xxx8qUKCAyZUCAJC1EEyBZBw9elQDBgzQ6tWrlfgjYrPZ1KRJE3344YfOO/QBAID7EEyBVFy+fFmHDh2SJJUuXVp58uQxuSIAALIugikAAAAsgZufAAAAYAkEUwAAAFgCwRQAAACWQDAFAACAJRBMASCT9ezZU23btk3TuseOHZPNZtPOnTsztSYAsCJfswsAgLuZzWZLdfnIkSM1depUMQAKANwewRQA7sCZM2ecXy9evFgjRozQwYMHnfOCgoIUFBRkRmlOcXFx8vPzM7UGAEgLTuUDwB0oWLCg85UzZ07ZbDaXeUFBQUlO5TscDk2cOFGlS5eWv7+/ihYtqrfffjvZ909ISFDv3r1Vvnx5nThxQpK0fPlyPfDAAwoICFDJkiU1evRoxcfHO7ex2WyaOXOm2rRpoxw5cqT43gBgNfSYAoCHDRs2TB9//LEmT56sOnXq6MyZMzpw4ECS9WJiYtS5c2cdO3ZMmzZtUv78+bVp0yY9/fTTmjZtmurWravDhw+rb9++kv67bCDRqFGjNH78eE2ZMkW+vvxXD+DuwP9WAOBBV69e1dSpUzV9+nT16NFDklSqVCnVqVPHZb1r166pZcuWiomJ0bp165QzZ05J0ujRo/X66687ty1ZsqTeeustDR061CWYdunSRb169fJQqwDAPQimAOBB+/fvV0xMjBo1apTqep07d1aRIkX0008/KXv27M75u3bt0pYtW1xOzyckJCg6OlpRUVEKDAyUJFWvXj1zGgAAmYhgCgAedHPITE2LFi20YMEC/fzzz2rYsKFz/rVr1zR69Gg98cQTSbYJCAhwfp0jR447LxYAPIxgCgAeVKZMGWXPnl1r167VM888k+J6AwYMUOXKldWmTRt99913ql+/viTpgQce0MGDB1W6dGlPlQwAHkMwBQAPCggI0GuvvaahQ4cqW7Zsql27ti5cuKB9+/apT58+LusOGjRICQkJatWqlX744QfVqVNHI0aMUKtWrVS0aFF16NBBdrtdu3bt0t69ezV27FiTWgUA7kEwBQAPGz58uHx9fTVixAidPn1ahQoVUv/+/ZNd96WXXpLD4VCLFi20cuVKNWvWTN9++63GjBmjCRMmyM/PT+XLl0+19xUA7hY2g8eRAAAAwAIYYB8AAACWQDAFAACAJRBMAQAAYAkEUwAAAFgCwRQAAACWQDAFAACAJRBMAQAAYAkEUwAAAFgCwRQAAACWQDAFAACAJRBMAQAAYAn/DwU9jNOPiPpnAAAAAElFTkSuQmCC\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### g. Save the signal output for later use" + ], + "metadata": { + "id": "yevUBplwjKM3" + } + }, + { + "cell_type": "code", + "source": [ + "signal_output = df_merged[[\n", + " \"ticker\",\n", + " \"date\",\n", + " \"headline_count\",\n", + " \"compound\",\n", + " \"sentiment_label\",\n", + " \"sentiment_label_vader\",\n", + " \"investment_signal\",\n", + " \"next_day_return\"\n", + "]].copy()\n", + "\n", + "signal_output.to_csv(\"rule_based_investment_signals.csv\", index=False)\n", + "print(\"Saved: rule_based_investment_signals.csv\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "7-K_ooLVjNLD", + "outputId": "cb3916eb-43b5-4fb4-fb24-994f7418c969" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Saved: rule_based_investment_signals.csv\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## 12. Save outputs for the Hugging Face dashboard" + ], + "metadata": { + "id": "pzW0apqWpVYi" + } + }, + { + "cell_type": "code", + "source": [ + "import json\n", + "from pathlib import Path\n", + "\n", + "# ----------------------------\n", + "# 1) Output folders for Hugging Face\n", + "# ----------------------------\n", + "ART_DIR = Path(\"artifacts\")\n", + "PY_FIG = ART_DIR / \"py\" / \"figures\"\n", + "PY_TAB = ART_DIR / \"py\" / \"tables\"\n", + "\n", + "for p in [PY_FIG, PY_TAB]:\n", + " p.mkdir(parents=True, exist_ok=True)\n", + "\n", + "print(\"Output folders ready:\")\n", + "print(\" -\", PY_FIG.resolve())\n", + "print(\" -\", PY_TAB.resolve())\n", + "\n", + "\n", + "# ----------------------------\n", + "# 2) Dashboard overview table (date-level)\n", + "# ----------------------------\n", + "signal_counts_by_date = (\n", + " df_merged.groupby([\"date\", \"investment_signal\"])\n", + " .size()\n", + " .unstack(fill_value=0)\n", + " .reset_index()\n", + ")\n", + "\n", + "for col in [\"buy\", \"hold\", \"sell\"]:\n", + " if col not in signal_counts_by_date.columns:\n", + " signal_counts_by_date[col] = 0\n", + "\n", + "df_dashboard = (\n", + " df_merged.groupby(\"date\", as_index=False)\n", + " .agg(\n", + " avg_close=(\"close\", \"mean\"),\n", + " total_headlines=(\"headline_count\", \"sum\"),\n", + " avg_headline_count=(\"headline_count\", \"mean\"),\n", + " avg_compound=(\"compound\", \"mean\"),\n", + " avg_next_day_return=(\"next_day_return\", \"mean\")\n", + " )\n", + " .sort_values(\"date\")\n", + ")\n", + "\n", + "df_dashboard = df_dashboard.merge(signal_counts_by_date, on=\"date\", how=\"left\")\n", + "df_dashboard = df_dashboard.sort_values(\"date\").reset_index(drop=True)\n", + "\n", + "df_dashboard.to_csv(PY_TAB / \"df_dashboard.csv\", index=False)\n", + "\n", + "\n", + "# ----------------------------\n", + "# 3) KPI summary JSON\n", + "# ----------------------------\n", + "kpis = {\n", + " \"n_tickers\": int(df_real[\"ticker\"].nunique()),\n", + " \"n_rows_real\": int(len(df_real)),\n", + " \"n_rows_synth\": int(len(df_synth)),\n", + " \"n_days_real\": int(df_real[\"date\"].nunique()),\n", + " \"avg_headline_count\": float(df_real[\"headline_count\"].mean()),\n", + " \"avg_next_day_return_real\": float(df_real[\"next_day_return\"].dropna().mean()),\n", + " \"avg_synthetic_return\": float(df_synth[\"avg_synthetic_return\"].dropna().mean()),\n", + " \"agreement_synth_vs_vader\": float(\n", + " (df_merged[\"sentiment_label\"] == df_merged[\"sentiment_label_vader\"]).mean()\n", + " ),\n", + " \"corr_headline_vs_return\": float(\n", + " df_real[\"headline_count\"].corr(df_real[\"next_day_return\"])\n", + " ),\n", + " \"corr_compound_vs_return\": float(\n", + " df_real[\"compound\"].corr(df_real[\"next_day_return\"])\n", + " ),\n", + " \"buy_signals\": int((df_merged[\"investment_signal\"] == \"buy\").sum()),\n", + " \"hold_signals\": int((df_merged[\"investment_signal\"] == \"hold\").sum()),\n", + " \"sell_signals\": int((df_merged[\"investment_signal\"] == \"sell\").sum())\n", + "}\n", + "\n", + "if \"rf_accuracy\" in globals():\n", + " kpis[\"random_forest_accuracy\"] = float(rf_accuracy)\n", + "\n", + "if \"rmse\" in globals():\n", + " kpis[\"lstm_rmse\"] = float(rmse)\n", + "\n", + "if \"mae\" in globals():\n", + " kpis[\"lstm_mae\"] = float(mae)\n", + "\n", + "with open(PY_TAB / \"kpis.json\", \"w\", encoding=\"utf-8\") as f:\n", + " json.dump(kpis, f, indent=2)\n", + "\n", + "\n", + "# ----------------------------\n", + "# 4) Ticker-level summary table\n", + "# ----------------------------\n", + "signal_counts_by_ticker = (\n", + " df_merged.groupby([\"ticker\", \"investment_signal\"])\n", + " .size()\n", + " .unstack(fill_value=0)\n", + " .reset_index()\n", + ")\n", + "\n", + "for col in [\"buy\", \"hold\", \"sell\"]:\n", + " if col not in signal_counts_by_ticker.columns:\n", + " signal_counts_by_ticker[col] = 0\n", + "\n", + "ticker_summary = (\n", + " df_merged.groupby(\"ticker\", as_index=False)\n", + " .agg(\n", + " avg_close=(\"close\", \"mean\"),\n", + " total_headlines=(\"headline_count\", \"sum\"),\n", + " avg_headline_count=(\"headline_count\", \"mean\"),\n", + " avg_compound=(\"compound\", \"mean\"),\n", + " avg_next_day_return=(\"next_day_return\", \"mean\")\n", + " )\n", + ")\n", + "\n", + "ticker_summary = ticker_summary.merge(signal_counts_by_ticker, on=\"ticker\", how=\"left\")\n", + "ticker_summary = ticker_summary.sort_values(\"avg_next_day_return\", ascending=False)\n", + "\n", + "ticker_summary.to_csv(PY_TAB / \"ticker_summary.csv\", index=False)\n", + "\n", + "\n", + "# ----------------------------\n", + "# 5) Sentiment summary tables\n", + "# ----------------------------\n", + "real_sentiment_summary = (\n", + " df_real[\"sentiment_label_vader\"]\n", + " .value_counts(dropna=False)\n", + " .rename_axis(\"sentiment_label_vader\")\n", + " .reset_index(name=\"count\")\n", + ")\n", + "\n", + "synthetic_sentiment_summary = (\n", + " df_synth[\"sentiment_label\"]\n", + " .value_counts(dropna=False)\n", + " .rename_axis(\"sentiment_label\")\n", + " .reset_index(name=\"count\")\n", + ")\n", + "\n", + "real_sentiment_summary.to_csv(PY_TAB / \"real_sentiment_summary.csv\", index=False)\n", + "synthetic_sentiment_summary.to_csv(PY_TAB / \"synthetic_sentiment_summary.csv\", index=False)\n", + "\n", + "\n", + "# ----------------------------\n", + "# 6) Model outputs\n", + "# ----------------------------\n", + "if \"feature_importance\" in globals():\n", + " feature_importance.to_csv(PY_TAB / \"random_forest_feature_importance.csv\", index=False)\n", + "\n", + "if \"lstm_results\" in globals():\n", + " lstm_results.to_csv(PY_TAB / \"lstm_predictions.csv\", index=False)\n", + "\n", + "\n", + "# ----------------------------\n", + "# 7) Rule-based signals output\n", + "# ----------------------------\n", + "signal_output = df_merged[\n", + " [\n", + " \"ticker\",\n", + " \"date\",\n", + " \"headline_count\",\n", + " \"compound\",\n", + " \"sentiment_label\",\n", + " \"sentiment_label_vader\",\n", + " \"investment_signal\",\n", + " \"next_day_return\"\n", + " ]\n", + "].copy()\n", + "\n", + "signal_output.to_csv(PY_TAB / \"rule_based_investment_signals.csv\", index=False)\n", + "\n", + "\n", + "# ----------------------------\n", + "# 8) Optional: save merged datasets used in analysis\n", + "# ----------------------------\n", + "df_real.to_csv(PY_TAB / \"real_dataset_with_vader.csv\", index=False)\n", + "df_synth.to_csv(PY_TAB / \"synthetic_dataset_analysis_ready.csv\", index=False)\n", + "df_merged.to_csv(PY_TAB / \"merged_real_synthetic_dataset.csv\", index=False)\n", + "\n", + "\n", + "print(\"Saved outputs to artifacts/py/tables:\")\n", + "for file in sorted(PY_TAB.glob(\"*\")):\n", + " print(\" -\", file.name)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "cUpl_PympZj9", + "outputId": "9e979437-b659-47e6-ef79-3701c8a3280c" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Output folders ready:\n", + " - /content/artifacts/py/figures\n", + " - /content/artifacts/py/tables\n", + "Saved outputs to artifacts/py/tables:\n", + " - df_dashboard.csv\n", + " - kpis.json\n", + " - lstm_predictions.csv\n", + " - merged_real_synthetic_dataset.csv\n", + " - random_forest_feature_importance.csv\n", + " - real_dataset_with_vader.csv\n", + " - real_sentiment_summary.csv\n", + " - rule_based_investment_signals.csv\n", + " - synthetic_dataset_analysis_ready.csv\n", + " - synthetic_sentiment_summary.csv\n", + " - ticker_summary.csv\n" + ] + } + ] + } + ] +} \ No newline at end of file