{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Sentiment Analysis"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from __future__ import annotations\n",
"\n",
"from typing import TYPE_CHECKING\n",
"\n",
"if TYPE_CHECKING:\n",
" from sklearn.base import BaseEstimator\n",
"\n",
"import json\n",
"import re\n",
"import warnings\n",
"from functools import cache\n",
"from pathlib import Path\n",
"\n",
"import joblib\n",
"import matplotlib.pyplot as plt\n",
"import nltk\n",
"import numpy as np\n",
"import pandas as pd\n",
"import seaborn as sns\n",
"from nltk.corpus import stopwords\n",
"from sklearn.feature_extraction.text import CountVectorizer, TfidfTransformer\n",
"from sklearn.linear_model import LogisticRegression\n",
"from sklearn.metrics import confusion_matrix\n",
"from sklearn.model_selection import RandomizedSearchCV, train_test_split\n",
"from sklearn.pipeline import Pipeline\n",
"from sklearn.svm import SVC\n",
"\n",
"from app.constants import CACHE_DIR, MODELS_DIR, SENTIMENT140_PATH\n",
"from app.model import TextCleaner, TextLemmatizer"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"SEED = 42\n",
"MAX_FEATURES = 20000"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"[nltk_data] Downloading package wordnet to /home/tymec/nltk_data...\n",
"[nltk_data] Package wordnet is already up-to-date!\n",
"[nltk_data] Downloading package stopwords to /home/tymec/nltk_data...\n",
"[nltk_data] Package stopwords is already up-to-date!\n"
]
},
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"nltk.download(\"wordnet\")\n",
"nltk.download(\"stopwords\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Data"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Load the data"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" target | \n",
" id | \n",
" date | \n",
" flag | \n",
" user | \n",
" text | \n",
" sentiment | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 0 | \n",
" 1467810369 | \n",
" Mon Apr 06 22:19:45 PDT 2009 | \n",
" NO_QUERY | \n",
" _TheSpecialOne_ | \n",
" @switchfoot http://twitpic.com/2y1zl - Awww, t... | \n",
" 0 | \n",
"
\n",
" \n",
" 1 | \n",
" 0 | \n",
" 1467810672 | \n",
" Mon Apr 06 22:19:49 PDT 2009 | \n",
" NO_QUERY | \n",
" scotthamilton | \n",
" is upset that he can't update his Facebook by ... | \n",
" 0 | \n",
"
\n",
" \n",
" 2 | \n",
" 0 | \n",
" 1467810917 | \n",
" Mon Apr 06 22:19:53 PDT 2009 | \n",
" NO_QUERY | \n",
" mattycus | \n",
" @Kenichan I dived many times for the ball. Man... | \n",
" 0 | \n",
"
\n",
" \n",
" 3 | \n",
" 0 | \n",
" 1467811184 | \n",
" Mon Apr 06 22:19:57 PDT 2009 | \n",
" NO_QUERY | \n",
" ElleCTF | \n",
" my whole body feels itchy and like its on fire | \n",
" 0 | \n",
"
\n",
" \n",
" 4 | \n",
" 0 | \n",
" 1467811193 | \n",
" Mon Apr 06 22:19:57 PDT 2009 | \n",
" NO_QUERY | \n",
" Karoli | \n",
" @nationwideclass no, it's not behaving at all.... | \n",
" 0 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" target id date flag \\\n",
"0 0 1467810369 Mon Apr 06 22:19:45 PDT 2009 NO_QUERY \n",
"1 0 1467810672 Mon Apr 06 22:19:49 PDT 2009 NO_QUERY \n",
"2 0 1467810917 Mon Apr 06 22:19:53 PDT 2009 NO_QUERY \n",
"3 0 1467811184 Mon Apr 06 22:19:57 PDT 2009 NO_QUERY \n",
"4 0 1467811193 Mon Apr 06 22:19:57 PDT 2009 NO_QUERY \n",
"\n",
" user text \\\n",
"0 _TheSpecialOne_ @switchfoot http://twitpic.com/2y1zl - Awww, t... \n",
"1 scotthamilton is upset that he can't update his Facebook by ... \n",
"2 mattycus @Kenichan I dived many times for the ball. Man... \n",
"3 ElleCTF my whole body feels itchy and like its on fire \n",
"4 Karoli @nationwideclass no, it's not behaving at all.... \n",
"\n",
" sentiment \n",
"0 0 \n",
"1 0 \n",
"2 0 \n",
"3 0 \n",
"4 0 "
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Load the data\n",
"data = pd.read_csv(\n",
" SENTIMENT140_PATH,\n",
" encoding=\"ISO-8859-1\",\n",
" names=[\n",
" \"target\", # 0 = negative, 2 = neutral, 4 = positive\n",
" \"id\", # The id of the tweet\n",
" \"date\", # The date of the tweet\n",
" \"flag\", # The query, NO_QUERY if not present\n",
" \"user\", # The user that tweeted\n",
" \"text\", # The text of the tweet\n",
" ],\n",
")\n",
"\n",
"# Ignore rows with neutral sentiment\n",
"data = data[data[\"target\"] != 2]\n",
"\n",
"# Map the sentiment values\n",
"data[\"sentiment\"] = data[\"target\"].map({0: 0, 4: 1})\n",
"\n",
"# Show the first few rows\n",
"data.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Load the stopwords"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"stopwords_en = stopwords.words(\"english\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Explore the data"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAFzCAYAAADsTAnbAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA5QElEQVR4nO3df1xW9f3/8Seg/PDHdeFPkInCslSWaWLh5arNRV426pOLmhZTUtR0YCmZSnPo+tRwtkqdJrU+n7BNl7rPcgWJEaaWkj9w5o/SrFFYeIGmcCUpINf5/tGXMy51AYY7Co/77XZutzjv13mfl9fNdzw9nHPwMQzDEAAAgEV8rW4AAAC0boQRAABgKcIIAACwFGEEAABYijACAAAsRRgBAACWIowAAABLEUYAAICl2ljdwOXM4/GopKREHTt2lI+Pj9XtAABwxTAMQ1999ZXCwsLk6/vt1z4II9+ipKRE4eHhVrcBAMAV68iRI+rZs+e31hBGvkXHjh0lffNB2mw2i7sBAODK4Xa7FR4ebn4v/TaEkW9R96MZm81GGAEA4CI05jYHbmAFAACWIowAAABLEUYAAIClCCMAAMBShBEAAGApwggAALAUYQQAAFiqSWGktrZWv/71rxUZGamgoCBdddVV+u///m8ZhmHWGIah9PR09ejRQ0FBQYqNjdXhw4e95jlx4oQSEhJks9kUHByspKQknTp1yqtm7969uvnmmxUYGKjw8HAtXLjwvH7Wrl2rfv36KTAwUAMGDNAbb7zhNd6YXgAAgMWMJnjyySeNLl26GNnZ2UZRUZGxdu1ao0OHDsbixYvNmgULFhh2u91Yt26d8f777xv/9V//ZURGRhqnT582a0aOHGkMHDjQeO+994x33nnH6NOnj3HfffeZ4xUVFUZISIiRkJBg7N+/3/jLX/5iBAUFGc8//7xZs3XrVsPPz89YuHCh8cEHHxhz58412rZta+zbt69JvXybiooKQ5JRUVHRlI8JAIBWrynfQ5sURuLi4owJEyZ47bv77ruNhIQEwzAMw+PxGKGhocZTTz1ljpeXlxsBAQHGX/7yF8MwDOODDz4wJBk7d+40a9avX2/4+PgYX3zxhWEYhvHcc88ZnTp1Mqqqqsya2bNnG3379jW//vnPf27ExcV59RITE2M8+OCDje6lIYQRAAAuTlO+hzbpxzTDhg1Tfn6+PvroI0nS+++/r3fffVe33367JKmoqEgul0uxsbHmMXa7XTExMSooKJAkFRQUKDg4WEOGDDFrYmNj5evrq+3bt5s1t9xyi/z9/c0ap9OpQ4cO6eTJk2ZN/fPU1dSdpzG9nKuqqkput9trAwAAl1aTfjfNnDlz5Ha71a9fP/n5+am2tlZPPvmkEhISJEkul0uSFBIS4nVcSEiIOeZyudS9e3fvJtq0UefOnb1qIiMjz5ujbqxTp05yuVwNnqehXs6VkZGh3/zmN434JFqeiDk5VreAZvbpgjirW0AzYo22LKxPb026MrJmzRqtXLlSq1at0u7du7VixQr9/ve/14oVKy5Vf/9RaWlpqqioMLcjR45Y3RIAAC1ek66MPProo5ozZ47GjBkjSRowYIA+++wzZWRkKDExUaGhoZKk0tJS9ejRwzyutLRUgwYNkiSFhoaqrKzMa96zZ8/qxIkT5vGhoaEqLS31qqn7uqGa+uMN9XKugIAABQQENO7DAAAAzaJJV0a+/vpr+fp6H+Ln5yePxyNJioyMVGhoqPLz881xt9ut7du3y+FwSJIcDofKy8tVWFho1mzcuFEej0cxMTFmzZYtW1RTU2PW5OXlqW/fvurUqZNZU/88dTV152lMLwAAwHpNCiN33nmnnnzySeXk5OjTTz/Vq6++qmeeeUY/+9nPJEk+Pj6aPn26nnjiCb322mvat2+fxo0bp7CwMI0aNUqS1L9/f40cOVKTJk3Sjh07tHXrVqWkpGjMmDEKCwuTJN1///3y9/dXUlKSDhw4oNWrV2vx4sVKTU01e3n44YeVm5urp59+WgcPHtT8+fO1a9cupaSkNLoXAABgvSb9mOYPf/iDfv3rX+uXv/ylysrKFBYWpgcffFDp6elmzaxZs1RZWanJkyervLxcN910k3JzcxUYGGjWrFy5UikpKbr11lvl6+ur+Ph4LVmyxBy32+168803lZycrOjoaHXt2lXp6emaPHmyWTNs2DCtWrVKc+fO1WOPPaarr75a69at07XXXtukXgAAgLV8DKPe61Phxe12y263q6KiQjabzep2Linu1G95uFu/ZWGNtiytYX025Xsov5sGAABYijACAAAsRRgBAACWIowAAABLEUYAAIClCCMAAMBShBEAAGApwggAALAUYQQAAFiKMAIAACxFGAEAAJYijAAAAEsRRgAAgKUI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uXOVnJysgIAASdKUKVO0dOlSzZo1SxMmTNDGjRu1Zs0a5eT8607y1NRUJSYmasiQIbrxxhu1aNEiVVZWavz48ZLUqF4AAMDloUlh5PPPP9d9992nL7/8Ut26ddNNN92k9957T926dZMkPfvss/L19VV8fLyqqqrkdDr13HPPmcf7+fkpOztbU6dOlcPhUPv27ZWYmKjHH3/crImMjFROTo5mzJihxYsXq2fPnnrxxRfldDrNmtGjR+vYsWNKT0+Xy+XSoEGDlJub63VTa0O9AACAy0OT3jPS2vCeEVzJWsN7DFoT1mjL0hrW5yV9zwgAAEBzIowAAABLEUYAAIClCCMAAMBShBEAAGApwggAALAUYQQAAFiKMAIAACxFGAEAAJYijAAAAEsRRgAAgKUIIwAAwFKEEQAAYCnCCAAAsBRhBAAAWIowAgAALEUYAQAAliKMAAAASxFGAACApQgjAADAUoQRAABgKcIIAACwFGEEAABYijACAAAsRRgBAACWIowAAABLfacwsmDBAvn4+Gj69OnmvjNnzig5OVldunRRhw4dFB8fr9LSUq/jiouLFRcXp3bt2ql79+569NFHdfbsWa+aTZs2afDgwQoICFCfPn2UlZV13vmXLVumiIgIBQYGKiYmRjt27PAab0wvAADAWhcdRnbu3Knnn39e1113ndf+GTNm6PXXX9fatWu1efNmlZSU6O677zbHa2trFRcXp+rqam3btk0rVqxQVlaW0tPTzZqioiLFxcVp+PDh2rNnj6ZPn66JEydqw4YNZs3q1auVmpqqefPmaffu3Ro4cKCcTqfKysoa3QsAALCej2EYRlMPOnXqlAYPHqznnntOTzzxhAYNGqRFixapoqJC3bp106pVq3TPPfdIkg4ePKj+/furoKBAQ4cO1fr163XHHXeopKREISEhkqTMzEzNnj1bx44dk7+/v2bPnq2cnBzt37/fPOeYMWNUXl6u3NxcSVJMTIxuuOEGLV26VJLk8XgUHh6uadOmac6cOY3qpSFut1t2u10VFRWy2WxN/ZiuKBFzcqxuAc3s0wVxVreAZsQabVlaw/psyvfQi7oykpycrLi4OMXGxnrtLywsVE1Njdf+fv36qVevXiooKJAkFRQUaMCAAWYQkSSn0ym3260DBw6YNefO7XQ6zTmqq6tVWFjoVePr66vY2FizpjG9nKuq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FKSBAwfqr3/9azN8UsDlISAgQKGhoerdu7emTp2q2NhYvfbaazp58qTGjRunTp06qV27drr99tt1+PBh87jPPvtMd955pzp16qT27dvrBz/4gd544w1J3j+mYT22ToQRWMrPz0+//e1v9Yc//EGff/75eeOffPKJRo4cqfj4eO3du1erV6/Wu+++q5SUFLNm3LhxKikp0aZNm/R///d/euGFF1RWVuY1j6+vr5YsWaIDBw5oxYoV2rhxo2bNmiXpm0vEixYtks1m09GjR3X06FHNnDnzvF4SEhL0+uuvmyFGkjZs2KCvv/5aP/vZzyR985ufX375ZWVmZurAgQOaMWOGfvGLX2jz5s3N8nkBl5ugoCBVV1frgQce0K5du/Taa6+poKBAhmHopz/9qWpqaiRJycnJqqqq0pYtW7Rv3z797ne/U4cOHc6bj/XYShmARRITE4277rrLMAzDGDp0qDFhwgTDMAzj1VdfNer+aiYlJRmTJ0/2Ou6dd94xfH19jdOnTxsffvihIcnYuXOnOX748GFDkvHss8/+23OvXbvW6NKli/n1Sy+9ZNjt9vPqevfubc5TU1NjdO3a1Xj55ZfN8fvuu88YPXq0YRiGcebMGaNdu3bGtm3bvOZISkoy7rvvvm//MIArQP016/F4jLy8PCMgIMAYNWqUIcnYunWrWXv8+HEjKCjIWLNmjWEYhjFgwABj/vz5F5z37bffNiQZJ0+eNAyD9dgatfjXwePK8Lvf/U4/+clPzvsX0Pvvv6+9e/dq5cqV5j7DMOTxeFRUVKSPPvpIbdq00eDBg83xPn36qFOnTl7zvPXWW8rIyNDBgwfldrt19uxZnTlzRl9//XWjfwbdpk0b/fznP9fKlSs1duxYVVZW6u9//7teeeUVSdLHH3+sr7/+WrfddpvXcdXV1br++uub9HkAl6vs7Gx16NBBNTU18ng8uv/++3X33XcrOztbMTExZl2XLl3Ut29fffjhh5Kkhx56SFOnTtWbb76p2NhYxcfH67rrrrvoPliPLQthBJeFW265RU6nU2lpaXrggQfM/adOndKDDz6ohx566LxjevXqpY8++qjBuT/99FPdcccdmjp1qp588kl17txZ7777rpKSklRdXd2kG+ISEhL0ox/9SGVlZcrLy1NQUJBGjhxp9ipJOTk5+t73vud1HL9rAy3F8OHDtXz5cvn7+yssLExt2rTRa6+91uBxEydOlNPpVE5Ojt58801lZGTo6aef1rRp0y66F9Zjy0EYwWVjwYIFGjRokPr27WvuGzx4sD744AP16dPngsf07dtXZ8+e1T/+8Q9FR0dL+uZfRPWfziksLJTH49HTTz8tX99vbpNas2aN1zz+/v6qra1tsMdhw4YpPDxcq1ev1vr163Xvvfeqbdu2kqSoqCgFBASouLhYP/rRj5r2hweuEO3btz9vPfbv319nz57V9u3bNWzYMEnSl19+qUOHDikqKsqsCw8P15QpUzRlyhSlpaXpj3/84wXDCOux9SGM4LIxYMAAJSQkaMmSJea+2bNna+jQoUpJSdHEiRPVvn17ffDBB8rLy9PSpUvVr18/xcbGavLkyVq+fLnatm2rRx55REFBQeZjgn369FFNTY3+8Ic/6M4779TWrVuVmZnpde6IiAidOnVK+fn5GjhwoNq1a/dvr5jcf//9yszM1EcffaS3337b3N+xY0fNnDlTM2bMkMfj0U033aSKigpt3bpVNptNiYmJl+BTA6x39dVX66677tKkSZP0/PPPq2PHjpozZ46+973v6a677pIkTZ8+XbfffruuueYanTx5Um+//bb69+9/wflYj62Q1TetoPWqfzNcnaKiIsPf39+o/1dzx44dxm233WZ06NDBaN++vXHdddcZTz75pDleUlJi3H777UZAQIDRu3dvY9WqVUb37t2NzMxMs+aZZ54xevToYQQFBRlOp9N4+eWXvW6YMwzDmDJlitGlSxdDkjFv3jzDMLxvmKvzwQcfGJKM3r17Gx6Px2vM4/EYixYtMvr27Wu0bdvW6Natm+F0Oo3Nmzd/tw8LuAxcaM3WOXHihDF27FjDbreb6+yjjz4yx1NSUoyrrrrKCAgIMLp162aMHTvWOH78uGEY59/Aahisx9bGxzAMw8IsBDS7zz//XOHh4Xrrrbd06623Wt0OAKABhBFc8TZu3KhTp05pwIABOnr0qGbNmqUvvvhCH330kfnzYwDA5Yt7RnDFq6mp0WOPPaZ//vOf6tixo4YNG6aVK1cSRADgCsGVEQAAYCleBw8AACxFGAEAAJYijAAAAEsRRgAAgKUIIwCuKJs2bZKPj4/Ky8utbgVAMyGMALgox44d09SpU9WrVy8FBAQoNDRUTqdTW7dubbZz/PjHP9b06dO99g0bNkxHjx6V3W5vtvNcrAceeECjRo2yug3gisd7RgBclPj4eFVXV2vFihX6/ve/r9LSUuXn5+vLL7+8pOf19/dXaGjoJT0HgP8wK99FD+DKdPLkSUOSsWnTpm+tSUpKMrp27Wp07NjRGD58uLFnzx5zfN68ecbAgQONl19+2ejdu7dhs9mM0aNHG2632zCMb34PiiSvraio6LzfY/LSSy8ZdrvdeP31141rrrnGCAoKMuLj443KykojKyvL6N27txEcHGxMmzbNOHv2rHn+M2fOGI888ogRFhZmtGvXzrjxxhuNt99+2xyvmzc3N9fo16+f0b59e8PpdBolJSVm/+f2V/94AI3Hj2kANFmHDh3UoUMHrVu3TlVVVResuffee1VWVqb169ersLBQgwcP1q233qoTJ06YNZ988onWrVun7OxsZWdna/PmzVqwYIEkafHixXI4HJo0aZKOHj2qo0ePKjw8/ILn+vrrr7VkyRK98sorys3N1aZNm/Szn/1Mb7zxht544w396U9/0vPPP6+//vWv5jEpKSkqKCjQK6+8or179+ree+/VyJEjdfjwYa95f//73+tPf/qTtmzZouLiYs2cOVOSNHPmTP385z/XyJEjzf6GDRv2nT9boFWyOg0BuDL99a9/NTp16mQEBgYaw4YNM9LS0oz333/fMAzDeOeddwybzWacOXPG65irrrrKeP755w3D+ObKQrt27cwrIYZhGI8++qgRExNjfv2jH/3IePjhh73muNCVEUnGxx9/bNY8+OCDRrt27YyvvvrK3Od0Oo0HH3zQMAzD+Oyzzww/Pz/jiy++8Jr71ltvNdLS0v7tvMuWLTNCQkLMr7/tt9gCaDzuGQFwUeLj4xUXF6d33nlH7733ntavX6+FCxfqxRdfVGVlpU6dOqUuXbp4HXP69Gl98skn5tcRERHq2LGj+XWPHj1UVlbW5F7atWunq666yvw6JCREERER6tChg9e+urn37dun2tpaXXPNNV7zVFVVefV87rwX2x+Ab0cYAXDRAgMDddttt+m2227Tr3/9a02cOFHz5s3TL3/5S/Xo0UObNm0675jg4GDzv8/9ZYY+Pj7yeDxN7uNC83zb3KdOnZKfn58KCwvl5+fnVVc/wFxoDoNf5wU0O8IIgGYTFRWldevWafDgwXK5XGrTpo0iIiIuej5/f3/V1tY2X4P/3/XXX6/a2lqVlZXp5ptvvuh5LlV/QGvDDawAmuzLL7/UT37yE/35z3/W3r17VVRUpLVr12rhwoW66667FBsbK4fDoVGjRunNN9/Up59+qm3btulXv/qVdu3a1ejzREREaPv27fr00091/Pjxi7pqciHXXHONEhISNG7cOP3tb39TUVGRduzYoYyMDOXk5DSpv7179+rQoUM6fvy4ampqmqU/oLUhjABosg4dOigmJkbPPvusbrnlFl177bX69a9/rUmTJmnp0qXy8fHRG2+8oVtuuUXjx4/XNddcozFjxuizzz5TSEhIo88zc+ZM+fn5KSoqSt26dVNxcXGz/RleeukljRs3To888oj69u2rUaNGaefOnerVq1ej55g0aZL69u2rIUOGqFu3bs36wjegNfEx+AEoAACwEFdGAACApQgjAADAUoQRAABgKcIIAACwFGEEAABYijACAAAsRRgBAACWIowAAABLEUYAAIClCCMAAMBShBEAAGApwggAALDU/wOo97ayD2CTygAAAABJRU5ErkJggg==",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Plot the distribution\n",
"_, ax = plt.subplots(figsize=(6, 4))\n",
"data[\"sentiment\"].value_counts().plot(kind=\"bar\", ax=ax)\n",
"ax.set_xticklabels([\"Negative\", \"Positive\"], rotation=0)\n",
"ax.set_xlabel(\"Sentiment\")\n",
"ax.grid(False)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"@cache\n",
"def extract_words(text: str) -> list[str]:\n",
" return re.findall(r\"(\\b[^\\s]+\\b)\", text.lower())"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" word | \n",
" count | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" i | \n",
" 750749 | \n",
"
\n",
" \n",
" 1 | \n",
" to | \n",
" 564469 | \n",
"
\n",
" \n",
" 2 | \n",
" the | \n",
" 520036 | \n",
"
\n",
" \n",
" 3 | \n",
" a | \n",
" 377506 | \n",
"
\n",
" \n",
" 4 | \n",
" my | \n",
" 314024 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" word count\n",
"0 i 750749\n",
"1 to 564469\n",
"2 the 520036\n",
"3 a 377506\n",
"4 my 314024"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Extract words and count them\n",
"words = data[\"text\"].apply(extract_words).explode()\n",
"word_counts = words.value_counts().reset_index()\n",
"word_counts.columns = [\"word\", \"count\"]\n",
"word_counts.head()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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WNBxPMYY07lzZ+Pt7W1KlSplunbtambNmmWef/55I8nMnDnznj/n7777zkgyO3fudLQl9UfLli0dbV9//bWRZHbt2mWMMebq1asmJCTEeHp6moEDB5rp06ebmjVrGknm3Xffdaz3xx9/GEmmZMmSplChQmbixIlm6tSp5ujRo2bHjh3Gx8fH5M+f30yYMMGMGzfO5MiRw5QpU8b8/c/K/cYKACBtItcg10gPuUaRIkVMixYtbmvftWuXCQwMNCVLljRvvfWWmTFjhqlVq5ax2WxO4yDpuKdNm2aMMSYhIcFUr17d5MiRw5w7d86x3OjRo40kU61aNTNp0iQzbdo00759e/PKK684lqldu7apXbu243nSz/ePP/5wii1p7P3yyy+Otrlz5zq2P336dDNgwACTOXNmU6hQIadtJvX3vHnzHG0POj4SEhJMWFiYcXd3N3379jUzZsww9evXN6Ghobdt805effVVY7PZTI8ePcyHH35opkyZYtq1a2cmTpxojDHm119/NfXr1zeSHO/nzz77zBjz4L83jLn5vipdurTJli2bGTt2rHnrrbdMgQIFjI+Pj2McJyQkmMyZM5vBgwc71ps6dapxc3Mzbm5uJjo62rFcQECAGTJkiGO5UaNGGUmmXr165r333jN9+/Y17u7uplKlSiYuLs7p55kzZ04THBxs+vXrZ+bMmWMWL15sEhMTTa1atYybm5t56aWXzHvvvWfq1KnjGNd/78dq1aqZwMBAM2LECDN37lzz5ptvmqeeesqsWrXK6ZhPnDhhJJn33nvvnj8DPF4U1oB05u/J7owZM4y/v7+5evWqMcaYVq1aORKzfya7ixcvNpLM+PHjnbbXsmVLY7PZzMGDB40xN//wSDJnz569awwbN258oD+ySTp16mTc3NzMxo0bb3stMTHRGGPMgAEDjCSzZs0ax2uXLl0yTzzxhClYsKBJSEgwxtxKOEqXLu30B65du3bGZrOZhg0bOm0/LCzMFChQwKlNkrHb7U7JzJw5c4wkkzNnThMTE+NoHz58uFPiExcXZ7Jnz25Kly5trl275lju+++/N5LM66+/7mjr3LmzkWTGjh3rtP9y5cqZChUq3KvLTFRUlFPSc/HiRePm5mZatWplcuTI4Viuf//+JigoyNGP7777rpFkPv/8c8cycXFxJiwszGTKlMlxbEnJV0BAgImK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27fvtvY7xedKSXHcKdZ9+/Yla5xJf+xXrlypjRs3Op4nfdu2Zs0a+fn5OZ0OX6BAAR04cOC2b3IftB+Dg4Pl4+Nzx1P573TM9xsrAIC0j1wjZZFrOLOSa3h4eKhw4cL6448/nNqTzvLy9PRUvXr17vj4+5lTK1as0Ny5c/Xyyy8rODhYnTt3drrkt3DhwkpMTLztMuL7SbpE9Z+zRf7zrKikvvxnX8XHx992bI+iQIECOn36tK5everUfvDgwQfeRlBQkLp06aIvvvhCx48fV5kyZTR69GjH63d7Tz/M7w3p9r6QpP3798vX19dxZp6Xl5dj9tS/F9Bq1qyp2NhYLViwQGfOnFGtWrWc4pBuH4NxcXH6448/Huh9l9SPly9fdmq/07iWbo6fwYMH68cff9SuXbsUFxenKVOmOC1z8uRJxcXFOc7gg2tQWAPSuUyZMmnWrFkaPXq0mjZtetflGjVqpISEBM2YMcOpferUqbLZbGrYsKGkm/ee+KeyZctKkmMqeT8/P0m3JwN34ubmpubNm+s///mPNm3adNvrSd/ONmrUSL/99pvWr1/veO3KlSv64IMPVLBgwcd2iv3DqlixorJnz67Zs2c7+kOSli9frj179qhx48bJtq8nnnhCefLk0dSpUxUfH6/q1atLupkUHDp0SN98842qVq0qDw8PxzqNGjXSn3/+qS+//NLRduPGDb333nvKlCmTateufc99uru7q0GDBlq8eLGOHTvmaN+zZ4/jG9skDzJWAABpH7lGyiLXuOVRco2wsLDbxkP27NkVHh6uOXPm6PTp07etk3QpoXRz7HXv3l2VK1fWm2++qblz52rLli168803Hcs0b95cbm5uGjt27G2FxnudgVi4cGFJctzfTrp5ttoHH3zgtFzFihUVHBys2bNnKy4uztE+f/78B3pvPKgGDRooPj5eH374oaMtMTFR77///gOtf/78eafnmTJlUpEiRZx+Rnd7Tz/o740k69ev15YtWxzPjx8/riVLlujpp592OjuvZs2a2rBhg3755RdHYS1btmwKCQnRW2+95VgmSb169eTl5aXp06c7/ew++ugjRUdHP9D7rlGjRrpx44ZmzZrlaEtISNB7773ntNzVq1d1/fp1p7bChQvL39//tnG9efNmSVK1atXuu388Ph73XwRAWte5c+f7LtO0aVM99dRTeu2113TkyBGFhobqxx9/1JIlSzRgwADHH/ixY8dq9erVaty4sQoUKKCoqCjNnDlTefPmddzcs3DhwsqcObNmz54tf39/+fn5qUqVKrfdQyPJm2++qR9//FG1a9dWz549FRISotOnT+vrr7/W2rVrlTlzZg0bNkxffPGFGjZsqP79+ysoKEiffPKJ/vjjD3377be33cfDVTw9PfXWW2+pS5cuql27ttq1a6czZ85o2rRpKliwoAYOHJis+6tZs6YWLVqkJ5980vHtZvny5eXn56f9+/ffduZAz549NWfOHEVERGjz5s0qWLCgvvnmG61bt07vvvvubfevuJMxY8ZoxYoVqlmzpl566SVHslyqVCmn+2U8yFgBAKQP5Boph1wjeXKNZs2a6bPPPtP+/ftVrFgxR/v777+vGjVq6Mknn1SPHj1UqFAhnTlzRuvXr9eJEye0fft2SdK//vUvnT9/Xv/73//k7u6uZ555Rt27d9f48ePVrFkzhYaGqkiRInrttdc0btw41axZUy1atJDdbtfGjRuVO3duTZgw4Y6xlSpVSlWrVtXw4cP1119/KSgoSIsWLbptAgxPT0+NHz9evXr1Up06ddSmTRv98ccfmjdv3gPfY+1BNG/eXJUrV9bgwYN18OBBlShRQkuXLnUUNu93BmnJkiUVHh6uChUqKCgoSJs2bdI333yjvn37OpZJOuuxf//+atCggdzd3dW2bdsH/r2RpHTp0mrQoIH69+8vu92umTNnSro5pv6uZs2aeuONN3T8+HGnAlqtWrU0Z84cFSxYUHnz5nW0BwcHa/jw4RozZoyeeeYZPfvss9q3b59mzpypSpUq6YUXXrhvPzZt2lTVq1fXsGHDdOTIEZUsWVLffffdbfdf3L9/v+rWravWrVurZMmS8vDw0L///W+dOXNGbdu2dVp25cqVyp8/v8qVK3ff/eMxSvF5SAE8VknTc99pOvm/K1CgwG3TXl+6dMkMHDjQ5M6d23h6epqiRYuaSZMmOU0H/tNPP5lmzZqZ3LlzGy8vL5M7d27Trl07s3//fqdtLVmyxJQsWdJ4eHg80DTcR48eNZ06dTLBwcHGbrebQoUKmT59+jhNHX7o0CHTsmVLkzlzZuPt7W0qV65svv/+e6ftJE1D/vXXXz9Qv4waNeq2adolmT59+jgtlzRF+T+nvb7b/r788ktTrlw5Y7fbTVBQkOnQoYM5ceKE0zKdO3c2fn5+t/VFUkwP4v333zeSbptiu169ekaS+emnn25b58yZM6ZLly4mW7ZsxsvLyzz55JO3/XzudrxJVq1aZSpUqGC8vLxMoUKFzOzZs2+L+0HHCgAgbSHXINcwJu3nGrGxsSZbtmxm3Lhxt7126NAh06lTJ5MzZ07j6elp8uTJY5o0aWK++eYbY8zNsSfJTJkyxWm9mJgYU6BAARMaGmri4uIc7R9//LHjZ5UlSxZTu3Zts3LlSsfrtWvXNrVr174thnr16hm73W5y5MhhXn31VbNy5Uojyfzyyy9Oy86cOdM88cQTxm63m4oVK5rVq1ffts2k/v77z+FhxsfZs2dN+/btjb+/vwkMDDQRERFm3bp1RpJZtGjRHfs4yfjx403lypVN5syZjY+PjylRooR54403nProxo0bpl+/fiY4ONjYbDan/T/I7w1jbr2vPv/8c1O0aFFjt9tNuXLlbusvY27+rNzd3Y2/v7+5ceOGo/3zzz83kkzHjh3veCwzZswwJUqUMJ6eniZHjhzmxRdfNBcuXHBapnbt2qZUqVJ3XP/8+fOmY8eOJiAgwAQGBpqOHTuarVu3Ov1szp07Z/r06WNKlChh/Pz8TGBgoKlSpYr56quvnLaVkJBgcuXKZUaMGHHHfSHl2IyxeBdMAAAAAADSqHHjxmnevHk6cOBAitzEP71ZvHixnnvuOa1du9ZxmbAr2Ww29enT57bLRtOrxYsXq3379jp06JBy5crl6nAytNRxPjMAAAAAAClo4MCBunz5shYtWuTqUFK9a9euOT1PujdYQECAypcv76KoMra33npLffv2paiWCnCPNQAAAABAhpMpUyZFRUW5Oow0oV+/frp27ZrCwsIUGxur7777Tr/++qvefPNN+fj4uDq8DOnvE63AtSisAQAAAACAu6pTp46mTJmi77//XtevX1eRIkX03nvvOU1AAGRU3GMNAAAAAAAAsIB7rAEAAAAAAAAWUFgDAAAAAAAALOAea5ISExN16tQp+fv7y2azuTocAACQBhhjdOnSJeXOnVtubnxXmVqR5wEAgIf1MHkehTVJp06dUr58+VwdBgAASIOOHz+uvHnzujoM3AV5HgAAsOpB8jwKa5L8/f0l3eywgIAAF0cDAADSgpiYGOXLl8+RRyB1Is8DAAAP62HyPAprkuOygICAABIuAADwULi8MHUjzwMAAFY9SJ7HDUEAAAAAAAAACzhj7W9qjfhC7nYfV4cBAACSweZJnVwdAlIR8jwAANKP1JTnccYaAAAAAAAAYAGFNQAAAAAAAMACCmsAAAAAAACABRTWAAAAAAAAAAsorAEAAAAAAAAWUFgDAAAAAAAALKCwBgAAAAAAAFhAYQ0AAAAAAACwgMIaAAAAAAAAYAGFNQAAAAAAAMACCmsAAAAAAACABRTWAAAAAAAAAAsorAEAAAAAAAAWpMvCWnh4uAYMGODqMAAAAPA35GgAACC98XB1AI/Dd999J09PT1eHAQAAgL/5e44WHh6uiIgIRUREuDYoAACAR5AuC2tBQUGuDgEAAAD/QI4GAADSGy4FBQAAQIq4V45ms9k0Z84cNWnSRL6+vgoJCdH69et18OBBhYeHy8/PT9WqVdOhQ4dSNmgAAIB7SJeFtfuJjY1VTEyM0wMAAACuNW7cOHXq1Enbtm1TiRIl1L59e/Xq1UvDhw/Xpk2bZIxR375977kN8jwAAJCSMmRhbcKECQoMDHQ88uXL5+qQAAAAMpTIyMjb7q/WpUsXtW7dWsWKFdMrr7yiI0eOqEOHDmrQoIFCQkL0r3/9S5GRkffcLnkeAABISRmysDZ8+HBFR0c7HsePH3d1SAAAABlemTJlHP/PkSOHJOnJJ590art+/fo9z0IjzwMAACkpXU5ecD92u112u93VYQAAAOBv/j6ru81mu2tbYmLiXbdBngcAAFJShjxjDQAAAAAAAHhUFNYAAAAAAAAACyisAQAAAAAAABaky3us3W+2KAAAAKS8e+Voxhin5wULFrytLTw8/LY2AAAAV+KMNQAAAAAAAMACCmsAAAAAAACABRTWAAAAAAAAAAsorAEAAAAAAAAWUFgDAAAAAAAALKCwBgAAAAAAAFhAYQ0AAAAAAACwgMIaAAAAAAAAYAGFNQAAAAAAAMACCmsAAAAAAACABRTWAAAAAAAAAAs8XB1AarJ6fDsFBAS4OgwAAAAkM/I8AADwOHDGGgAAAAAAAGABhTUAAAAAAADAAgprAAAAAAAAgAUU1gAAAAAAAAALKKwBAAAAAAAAFlBYAwAAAAAAACygsAYAAAAAAABYQGENAAAAAAAAsMDD1QGkJrVGfCF3u4+rwwAAPAabJ3VydQgAXIg8DwBSFrkXMgrOWAMAAAAAAAAsoLAGAAAAAAAAWEBhDQAAAAAAALCAwhoAAAAAAABgAYU1AAAAAAAAwAIKawAAAAAAAIAFFNYAAAAAAAAACyisAQAAAAAAABZQWAMAAAAAAAAsoLAGAAAAAAAAWEBhDQAAAAAAALCAwhoAAAAAAABgAYU1AAAAAAAAwAIKawAAAEgzChYsqHfffdfVYQAAAEhKY4W18PBwDRgwwNVhAAAAAAAAAGmrsAYAAAAAAACkFmmmsBYREaFVq1Zp2rRpstlsstlsOnLkiFatWqXKlSvLbrcrV65cGjZsmG7cuOHqcAEAANK1S5cuqUOHDvLz81OuXLk0depUp6sLLly4oE6dOilLlizy9fVVw4YNdeDAAadtfPvttypVqpTsdrsKFiyoKVOmOL0eFRWlpk2bysfHR0888YQWLFiQUocHAADwQNJMYW3atGkKCwtTjx49dPr0aZ0+fVqenp5q1KiRKlWqpO3bt2vWrFn66KOPNH78+HtuKzY2VjExMU4PAAAAPLhBgwZp3bp1Wrp0qVauXKk1a9Zoy5YtjtcjIiK0adMmLV26VOvXr5cxRo0aNVJ8fLwkafPmzWrdurXatm2rnTt3avTo0Ro5cqTmz5/vtI3jx4/rl19+0TfffKOZM2cqKirqnnGR5wEAgJTk4eoAHlRgYKC8vLzk6+urnDlzSpJee+015cuXTzNmzJDNZlOJEiV06tQpvfLKK3r99dfl5nbnuuGECRM0ZsyYlAwfAAAg3bh06ZI++eQTLVy4UHXr1pUkzZs3T7lz55YkHThwQEuXLtW6detUrVo1SdKCBQuUL18+LV68WK1atdI777yjunXrauTIkZKkYsWKaffu3Zo0aZIiIiK0f/9+LV++XL/99psqVaokSfroo48UEhJyz9jI8wAAQEpKM2es3cmePXsUFhYmm83maKtevbouX76sEydO3HW94cOHKzo62vE4fvx4SoQLAACQLhw+fFjx8fGqXLmyoy0wMFDFixeXdDNH8/DwUJUqVRyvZ82aVcWLF9eePXscy1SvXt1pu9WrV9eBAweUkJDg2EaFChUcr5coUUKZM2e+Z2zkeQAAICWlmTPWkpPdbpfdbnd1GAAAAEhm5HkAACAlpakz1ry8vJSQkOB4HhIS4rhnR5J169bJ399fefPmdUWIAAAA6V6hQoXk6empjRs3Otqio6O1f/9+STdztBs3bmjDhg2O18+fP699+/apZMmSjmXWrVvntN1169apWLFicnd3V4kSJXTjxg1t3rzZ8fq+fft08eLFx3hkAAAADydNFdYKFiyoDRs26MiRIzp37pxeeuklHT9+XP369dPevXu1ZMkSjRo1SoMGDbrr/dUAAADwaPz9/dW5c2cNHTpUv/zyi37//Xd169ZNbm5ustlsKlq0qJo1a6YePXpo7dq12r59u1544QXlyZNHzZo1kyQNHjxYP/30k8aNG6f9+/frk08+0YwZMzRkyBBJUvHixfXMM8+oV69e2rBhgzZv3qzu3bvLx8fHlYcOAADgJE1Vn4YMGSJ3d3eVLFlSwcHBio+P17Jly/Tbb78pNDRUvXv3Vrdu3TRixAhXhwoAAJCuvfPOOwoLC1OTJk1Ur149Va9eXSEhIfL29pZ0czKDChUqqEmTJgoLC5MxRsuWLZOnp6ckqXz58vrqq6+0aNEilS5dWq+//rrGjh2riIgIxz6SJkSoXbu2WrRooZ49eyp79uyuOFwAAIA7spm/X0eZQcXExCgwMFCh/WbL3c63oACQHm2e1MnVISCdScofoqOjFRAQ4OpwXO7KlSvKkyePpkyZom7durk6HAfyPABwDXIvpGUPk+dlyMkLAAAA8Gi2bt2qvXv3qnLlyoqOjtbYsWMlyXGpJwAAQEZAYQ0AAACWTJ48Wfv27ZOXl5cqVKigNWvWKFu2bK4OCwAAIMVQWAMAAMBDK1eunNOMnQAAABlRmpq8AAAAAAAAAEgtKKwBAAAAAAAAFlBYAwAAAAAAACygsAYAAAAAAABYQGENAAAAAAAAsIDCGgAAAAAAAGABhTUAAAAAAADAAgprAAAAAAAAgAUerg4gNVk9vp0CAgJcHQYAAACSGXkeAAB4HDhjDQAAAAAAALCAwhoAAAAAAABgAYU1AAAAAAAAwAIKawAAAAAAAIAFFNYAAAAAAAAACyisAQAAAAAAABZQWAMAAAAAAAAsoLAGAAAAAAAAWEBhDQAAAAAAALDAw9UBpCa1Rnwhd7uPq8MAgHRt86ROrg4BQAZEngcgoyMHAx4PzlgDAAAAAAAALKCwBgAAAAAAAFhAYQ0AAAAAAACwgMIaAAAAAAAAYAGFNQAAAAAAAMACCmsAAAAAAACABRTWAAAAAAAAAAsorAEAAAAAAAAWUFgDAAAAAAAALKCwBgAAAAAAAFhAYQ0AAAAAAACwgMIaAAAAAAAAYEGqLaxFRkbKZrPp4sWLrg4FAAAAySQ8PFwDBgxwdRgAAADJItUU1kiyAAAAAAAAkJakmsIaAAAAAAAAkJakisJaRESEVq1apWnTpslms8lms+nIkSOSpM2bN6tixYry9fVVtWrVtG/fPqd1lyxZovLly8vb21uFChXSmDFjdOPGDRccBQAAAP7uypUr6tSpkzJlyqRcuXJpypQpTq9/9tlnqlixovz9/ZUzZ061b99eUVFRkiRjjIoUKaLJkyc7rbNt2zbZbDYdPHgwxY4DAADgblJFYW3atGkKCwtTjx49dPr0aZ0+fVr58uWTJL322muaMmWKNm3aJA8PD3Xt2tWx3po1a9SpUyf961//0u7duzVnzhzNnz9fb7zxxj33Fxsbq5iYGKcHAAAAktfQoUO1atUqLVmyRD/++KMiIyO1ZcsWx+vx8fEaN26ctm/frsWLF+vIkSOKiIiQJNlsNnXt2lXz5s1z2ua8efNUq1YtFSlS5I77JM8DAAApKVUU1gIDA+Xl5SVfX1/lzJlTOXPmlLu7uyTpjTfeUO3atVWyZEkNGzZMv/76q65fvy5JGjNmjIYNG6bOnTurUKFCql+/vsaNG6c5c+bcc38TJkxQYGCg45FUxAMAAEDyuHz5sj766CNNnjxZdevW1ZNPPqlPPvnE6cqCrl27qmHDhipUqJCqVq2q6dOna/ny5bp8+bKkm1c17Nu3T7/99pukm4W4hQsXOn3R+k/keQAAICWlisLavZQpU8bx/1y5ckmS4xKB7du3a+zYscqUKZPjkXTW29WrV++6zeHDhys6OtrxOH78+OM9CAAAgAzm0KFDiouLU5UqVRxtQUFBKl68uOP55s2b1bRpU+XPn1/+/v6qXbu2JOnYsWOSpNy5c6tx48b6+OOPJUn/+c9/FBsbq1atWt11v+R5AAAgJXm4OoD78fT0dPzfZrNJkhITEyXd/CZ0zJgxatGixW3reXt733Wbdrtddrs9mSMFAADAg7py5YoaNGigBg0aaMGCBQoODtaxY8fUoEEDxcXFOZbr3r27OnbsqKlTp2revHlq06aNfH1977pd8jwAAJCSUk1hzcvLSwkJCQ+1Tvny5bVv37673mMDAAAArlG4cGF5enpqw4YNyp8/vyTpwoUL2r9/v2rXrq29e/fq/PnzmjhxouNyzU2bNt22nUaNGsnPz0+zZs3SihUrtHr16hQ9DgAAgHtJNYW1ggULasOGDTpy5IgyZcrkOCvtXl5//XU1adJE+fPnV8uWLeXm5qbt27dr165dGj9+fApEDQAAgDvJlCmTunXrpqFDhypr1qzKnj27XnvtNbm53bwTSf78+eXl5aX33ntPvXv31q5duzRu3LjbtuPu7q6IiAgNHz5cRYsWVVhYWEofCgAAwF2lmnusDRkyRO7u7ipZsqTjUoD7adCggb7//nv9+OOPqlSpkqpWraqpU6eqQIECKRAxAAAA7mXSpEmqWbOmmjZtqnr16qlGjRqqUKGCJCk4OFjz58/X119/rZIlS2rixImaPHnyHbfTrVs3xcXFqUuXLikZPgAAwH3ZjDHG1UG4WkxMjAIDAxXab7bc7T6uDgcA0rXNkzq5OgQgWSTlD9HR0QoICHB1OOnamjVrVLduXR0/flw5cuR4qHXJ8wDgJnIw4ME9TJ6Xai4FBQAAAP4uNjZWZ8+e1ejRo9WqVauHLqoBAAA8bqnmUlAAAADg77744gsVKFBAFy9e1Ntvv+3qcAAAAG5DYQ0AAACpUkREhBISErR582blyZPH1eEAAADchsIaAAAAAAAAYAGFNQAAAAAAAMACCmsAAAAAAACABRTWAAAAAAAAAAsorAEAAAAAAAAWUFgDAAAAAAAALKCwBgAAAAAAAFhAYQ0AAAAAAACwgMIaAAAAAAAAYIGHqwNITVaPb6eAgABXhwEAAIBkRp4HAAAeB85YAwAAAAAAACygsAYAAAAAAABYQGENAAAAAAAAsIDCGgAAAAAAAGABhTUAAAAAAADAAgprAAAAAAAAgAUU1gAAAAAAAAALKKwBAAAAAAAAFni4OoDUpNaIL+Ru93F1GABSwOZJnVwdAgAgBZHnAciIyHmBx48z1gAAAAAAAAALKKwBAAAAAAAAFlBYAwAAAAAAACygsAYAAAAAAABYQGENAAAAAAAAsIDCGgAAAAAAAGABhTUAAAAAAADAAgprAAAAAAAAgAUU1gAAAAAAAAALKKwBAAAAAAAAFlBYAwAAAAAAACygsAYAAAAAAABYQGENAAAAAAAAsIDCGgAAAAAAAGABhTUAAACkevPnz1fmzJldHQYAAIATCmsAAAAAAACABemisLZixQrVqFFDmTNnVtasWdWkSRMdOnTorsvHxsYqJibG6QEAAIDH59KlS+rQoYP8/PyUK1cuTZ06VeHh4RowYICkm/nZkCFDlCdPHvn5+alKlSqKjIyUJEVGRqpLly6Kjo6WzWaTzWbT6NGj77gf8jwAAJCS0kVh7cqVKxo0aJA2bdqkn376SW5ubnruueeUmJh4x+UnTJigwMBAxyNfvnwpHDEAAEDGMmjQIK1bt05Lly7VypUrtWbNGm3ZssXxet++fbV+/XotWrRIO3bsUKtWrfTMM8/owIEDqlatmt59910FBATo9OnTOn36tIYMGXLH/ZDnAQCAlGQzxhhXB5Hczp07p+DgYO3cuVOlS5e+7fXY2FjFxsY6nsfExChfvnwK7Tdb7naflAwVgItsntTJ1SEASONiYmIUGBio6OhoBQQEuDqcVO3SpUvKmjWrFi5cqJYtW0qSoqOjlTt3bvXo0UODBg1SoUKFdOzYMeXOnduxXr169VS5cmW9+eabmj9/vgYMGKCLFy/ec1/keQBwCzkvYM3D5HkeKRTTY3XgwAG9/vrr2rBhg86dO+c4U+3YsWN3LKzZ7XbZ7faUDhMAACBDOnz4sOLj41W5cmVHW2BgoIoXLy5J2rlzpxISElSsWDGn9WJjY5U1a9aH2hd5HgAASEnporDWtGlTFShQQB9++KFy586txMRElS5dWnFxca4ODQAAAPdx+fJlubu7a/PmzXJ3d3d6LVOmTC6KCgAA4P7SfGHt/Pnz2rdvnz788EPVrFlTkrR27VoXRwUAAIAkhQoVkqenpzZu3Kj8+fNLunkp6P79+1WrVi2VK1dOCQkJioqKcuRz/+Tl5aWEhISUDBsAAOC+0nxhLUuWLMqaNas++OAD5cqVS8eOHdOwYcNcHRYAAAD+P39/f3Xu3FlDhw5VUFCQsmfPrlGjRsnNzU02m03FihVThw4d1KlTJ02ZMkXlypXT2bNn9dNPP6lMmTJq3LixChYsqMuXL+unn35SaGiofH195evr6+pDAwAAGVyanxXUzc1NixYt0ubNm1W6dGkNHDhQkyZNcnVYAAAA+Jt33nlHYWFhatKkierVq6fq1asrJCRE3t7ekqR58+apU6dOGjx4sIoXL67mzZs7neFWrVo19e7dW23atFFwcLDefvttVx4OAACApHQ6K+jDSprtgdmigIyDGZIAPCpmBX00V65cUZ48eTRlyhR169btse2HPA9ARkbOC1iT4WYFBQAAQOq2detW7d27V5UrV1Z0dLTGjh0rSWrWrJmLIwMAALCOwhoAAABSxOTJk7Vv3z55eXmpQoUKWrNmjbJly+bqsAAAACyjsAYAAIDHrly5ctq8ebOrwwAAAEhWaX7yAgAAAAAAAMAVKKwBAAAAAAAAFlBYAwAAAAAAACygsAYAAAAAAABYQGENAAAAAAAAsIDCGgAAAAAAAGABhTUAAAAAAADAAgprAAAAAAAAgAUerg4gNVk9vp0CAgJcHQYAAACSGXkeAAB4HDhjDQAAAAAAALCAwhoAAAAAAABgAYU1AAAAAAAAwAIKawAAAAAAAIAFFNYAAAAAAAAACyisAQAAAAAAABZQWAMAAAAAAAAsoLAGAAAAAAAAWODh6gBSk1ojvpC73cfVYQBp1uZJnVwdAgAAd0SeByCtIscGUjfOWAMAAAAAAAAsoLAGAAAAAAAAWEBhDQAAAAAAALCAwhoAAAAAAABgAYU1AAAAAAAAwAIKawAAAAAAAIAFFNYAAAAAAAAACyisAQAAAAAAABZQWAMAAAAAAAAsoLAGAAAAAAAAWEBhDQAAAAAAALCAwhoAAAAAAABgAYU1AAAAAAAAwAIKawAAAHhswsPDNWDAAElSwYIF9e677zpes9lsWrx4sUviAgAASA4erg4AAAAAGcPGjRvl5+fn6jAAAACSDYU1AAAApIjg4GBXhwAAAJCsUtWloOHh4erXr58GDBigLFmyKEeOHPrwww915coVdenSRf7+/ipSpIiWL18uY4yKFCmiyZMnO21j27ZtstlsOnjwoIuOAgAAAHfyz0tB/2nUqFHKlSuXduzYIUlau3atatasKR8fH+XLl0/9+/fXlStXUihaAACA+0tVhTVJ+uSTT5QtWzb99ttv6tevn1588UW1atVK1apV05YtW/T000+rY8eOunbtmrp27ap58+Y5rT9v3jzVqlVLRYoUues+YmNjFRMT4/QAAACAaxhj1K9fP3366adas2aNypQpo0OHDumZZ57R888/rx07dujLL7/U2rVr1bdv33tuizwPAACkpFRXWAsNDdWIESNUtGhRDR8+XN7e3sqWLZt69OihokWL6vXXX9f58+e1Y8cORUREaN++ffrtt98kSfHx8Vq4cKG6du16z31MmDBBgYGBjke+fPlS4tAAAADwDzdu3NALL7ygn376SWvXrnV8OTphwgR16NBBAwYMUNGiRVWtWjVNnz5dn376qa5fv37X7ZHnAQCAlJTqCmtlypRx/N/d3V1Zs2bVk08+6WjLkSOHJCkqKkq5c+dW48aN9fHHH0uS/vOf/yg2NlatWrW65z6GDx+u6Ohox+P48eOP4UgAAABwPwMHDtSGDRu0evVq5cmTx9G+fft2zZ8/X5kyZXI8GjRooMTERP3xxx933R55HgAASEmprrDm6enp9Nxmszm12Ww2SVJiYqIkqXv37lq0aJGuXbumefPmqU2bNvL19b3nPux2uwICApweAAAASHn169fXyZMn9cMPPzi1X758Wb169dK2bdscj+3bt+vAgQMqXLjwXbdHngcAAFJSmp8VtFGjRvLz89OsWbO0YsUKrV692tUhAQAA4AE9++yzatq0qdq3by93d3e1bdtWklS+fHnt3r37nvfNBQAAcLVUd8baw3J3d1dERISGDx+uokWLKiwszNUhAQAA4CE899xz+uyzz9SlSxd98803kqRXXnlFv/76q/r27att27bpwIEDWrJkyX0nLwAAAEhJaf6MNUnq1q2b3nzzTXXp0sXVoQAAAMCCli1bKjExUR07dpSbm5tatGihVatW6bXXXlPNmjVljFHhwoXVpk0bV4cKAADgkKoKa5GRkbe1HTly5LY2Y4zT85MnT8rT01OdOnV6TJEBAADAir/nd//M6/6Z07Vu3VqtW7d2PK9UqZJ+/PHHxxkeAADAI0lVhbWHFRsbq7Nnz2r06NFq1aqVY8ZQAAAAAAAA4HFL0/dY++KLL1SgQAFdvHhRb7/9tqvDAQAAAAAAQAbywGesZcmSRTab7YGW/euvvywH9DAiIiIUERGRIvsCAAAAAAAA/u6BC2vvvvuu4//nz5/X+PHj1aBBA8csnOvXr9cPP/ygkSNHJnuQAAAAAAAAQGrzwIW1zp07O/7//PPPa+zYsU7Tnffv318zZszQ//73Pw0cODB5owQAAAAAAABSGUv3WPvhhx/0zDPP3Nb+zDPP6H//+98jBwUAAAAAAACkdpYKa1mzZtWSJUtua1+yZImyZs36yEEBAAAAAAAAqd0DXwr6d2PGjFH37t0VGRmpKlWqSJI2bNigFStW6MMPP0zWAAEAAAAAAIDUyFJhLSIiQiEhIZo+fbq+++47SVJISIjWrl3rKLQBAAAAAAAA6dlDF9bi4+PVq1cvjRw5UgsWLHgcMQEAAAAAAACp3kPfY83T01Pffvvt44gFAAAAAAAASDMsXQravHlzLV68WAMHDkzueFxq9fh2CggIcHUYAAAASGbkeQAA4HGwVFgrWrSoxo4dq3Xr1qlChQry8/Nzer1///7JEhwAAAAAAACQWtmMMeZhV3riiSfuvkGbTYcPH36koFJaTEyMAgMDFR0dzTeZAADggZA/pA38nAAAwMN6mPzB0hlrf/zxh6XAAAAAAAAAgPTioScv+CdjjCyc9AYAAAAAAACkaZYLa59++qmefPJJ+fj4yMfHR2XKlNFnn32WnLEBAAAAAAAAqZalS0HfeecdjRw5Un379lX16tUlSWvXrlXv3r117ty5dDdbKAAAAAAAAPBPlgpr7733nmbNmqVOnTo52p599lmVKlVKo0ePprAGAAAAAACAdM/SpaCnT59WtWrVbmuvVq2aTp8+/chBAQAAAAAAAKmdpTPWihQpoq+++kqvvvqqU/uXX36pokWLJktgrlBrxBdyt/u4Ogwg1dk8qdP9FwIAIBUjzwOQksifgYzDUmFtzJgxatOmjVavXu24x9q6dev0008/6auvvkrWAAEAAAAAAIDUyNKloM8//7x+++03ZcuWTYsXL9bixYuVLVs2/fbbb3ruueeSO0YAAAAAAAAg1bF0xlqnTp301FNPacyYMSpcuHByxwQAAAAAAACkepbOWPPy8tKECRNUrFgx5cuXTy+88ILmzp2rAwcOJHd8AAAAAAAAQKpkqbA2d+5c7d+/X8eOHdPbb7+tTJkyacqUKSpRooTy5s2b3DECAAAAAAAAqY6lwlqSLFmyKGvWrMqSJYsyZ84sDw8PBQcHJ1dsAAAAAAAAQKplqbD26quvqlq1asqaNauGDRum69eva9iwYfrzzz+1devW5I4RAAAAAAAASHUsTV4wceJEBQcHa9SoUWrRooWKFSuW3HEBAAAAAAAAqZqlwtrWrVu1atUqRUZGasqUKfLy8lLt2rUVHh6u8PBwCm0AAAAAAABI9ywV1kJDQxUaGqr+/ftLkrZv366pU6eqT58+SkxMVEJCQrIGCQAAAAAAAKQ2lgprxhht3bpVkZGRioyM1Nq1axUTE6MyZcqodu3ayR0jAAAAAAAAkOpYKqwFBQXp8uXLCg0NVe3atdWjRw/VrFlTmTNnTubwAAAAAAAAgNTJUmHt888/V82aNRUQEJDc8QAAAAAAAABpgpuVlRo3bpxqi2rz58/nzDkAAAAAAAA8dpYKawAAAAAAAEBGR2ENAAAAAAAAsMClhbUVK1aoRo0aypw5s7JmzaomTZro0KFDkqQjR47IZrPpu+++01NPPSVfX1+FhoZq/fr1TtuYP3++8ufPL19fXz333HM6f/68Kw4FAAAAD+nSpUvq0KGD/Pz8lCtXLk2dOlXh4eEaMGCAJOnChQvq1KmTsmTJIl9fXzVs2FAHDhxwbdAAAAB/49LC2pUrVzRo0CBt2rRJP/30k9zc3PTcc88pMTHRscxrr72mIUOGaNu2bSpWrJjatWunGzduSJI2bNigbt26qW/fvtq2bZueeuopjR8//r77jY2NVUxMjNMDAAAAKWvQoEFat26dli5dqpUrV2rNmjXasmWL4/WIiAht2rRJS5cu1fr162WMUaNGjRQfH3/XbZLnAQCAlGRpVtDk8vzzzzs9//jjjxUcHKzdu3crU6ZMkqQhQ4aocePGkqQxY8aoVKlSOnjwoEqUKKFp06bpmWee0csvvyxJKlasmH799VetWLHinvudMGGCxowZ8xiOCAAAAA/i0qVL+uSTT7Rw4ULVrVtXkjRv3jzlzp1bknTgwAEtXbpU69atU7Vq1SRJCxYsUL58+bR48WK1atXqjtslzwMAACnJpWesHThwQO3atVOhQoUUEBCgggULSpKOHTvmWKZMmTKO/+fKlUuSFBUVJUnas2ePqlSp4rTNsLCw++53+PDhio6OdjyOHz/+qIcCAACAh3D48GHFx8ercuXKjrbAwEAVL15c0s08z8PDwynXy5o1q4oXL649e/bcdbvkeQAAICW59Iy1pk2bqkCBAvrwww+VO3duJSYmqnTp0oqLi3Ms4+np6fi/zWaTJKdLRa2w2+2y2+2PtA0AAACkPuR5AAAgJbnsjLXz589r3759GjFihOrWrauQkBBduHDhobYREhKiDRs2OLX93//9X3KGCQAAgMegUKFC8vT01MaNGx1t0dHR2r9/v6Sbed6NGzeccr2k/LFkyZIpHi8AAMCduOyMtSxZsihr1qz64IMPlCtXLh07dkzDhg17qG30799f1atX1+TJk9WsWTP98MMP972/GgAAAFzP399fnTt31tChQxUUFKTs2bNr1KhRcnNzk81mU9GiRdWsWTP16NFDc+bMkb+/v4YNG6Y8efKoWbNmrg4fAABAkgvPWHNzc9OiRYu0efNmlS5dWgMHDtSkSZMeahtVq1bVhx9+qGnTpik0NFQ//vijRowY8ZgiBgAAQHJ65513FBYWpiZNmqhevXqqXr26QkJC5O3tLenmZAYVKlRQkyZNFBYWJmOMli1b5nSrEAAAAFeyGWOMq4NwtZiYGAUGBiq032y5231cHQ6Q6mye1MnVIQBAqpOUP0RHRysgIMDV4aQLV65cUZ48eTRlyhR169YtWbZJngfAFcifgbTtYfI8l05eAAAAgIxr69at2rt3rypXrqzo6GiNHTtWkrjUEwAApBkU1gAAAOAykydP1r59++Tl5aUKFSpozZo1ypYtm6vDAgAAeCAU1gAAAOAS5cqV0+bNm10dBgAAgGUum7wAAAAAAAAASMsorAEAAAAAAAAWUFgDAAAAAAAALKCwBgAAAAAAAFhAYQ0AAAAAAACwgMIaAAAAAAAAYAGFNQAAAAAAAMACCmsAAAAAAACABR6uDiA1WT2+nQICAlwdBgAAAJIZeR4AAHgcOGMNAAAAAAAAsIDCGgAAAAAAAGABhTUAAAAAAADAAgprAAAAAAAAgAUU1gAAAAAAAAALKKwBAAAAAAAAFlBYAwAAAAAAACygsAYAAAAAAABY4OHqAFKTWiO+kLvdx9VhAMli86ROrg4BAIBUgzwPyDjIgwGkJM5YAwAAAAAAACygsAYAAAAAAABYQGENAAAAAAAAsIDCGgAAAAAAAGABhTUAAAAAAADAAgprAAAAAAAAgAUU1gAAAAAAAAALKKwBAAAAAAAAFlBYAwAAAAAAACygsAYAAAAAAABYQGENAAAAAAAAsIDCGgAAAAAAAGABhTUAAAAAAADAAgprAAAASBHh4eEaMGCAq8MAAABINhTWAAAAcE8UxAAAAO6MwhoAAAAAAABggUsLa59++qmyZs2q2NhYp/bmzZurY8eOkqRZs2apcOHC8vLyUvHixfXZZ585ljty5IhsNpu2bdvmaLt48aJsNpsiIyNT4hAAAADStYiICK1atUrTpk2TzWaTzWbTkSNHtGrVKlWuXFl2u125cuXSsGHDdOPGDcd6V65cUadOnZQpUyblypVLU6ZMuW3bn332mSpWrCh/f3/lzJlT7du3V1RUlCTJGKMiRYpo8uTJTuts27ZNNptNBw8efLwHDgAA8ABcWlhr1aqVEhIStHTpUkdbVFSU/vvf/6pr167697//rX/9618aPHiwdu3apV69eqlLly765ZdfHmm/sbGxiomJcXoAAADgdtOmTVNYWJh69Oih06dP6/Tp0/L09FSjRo1UqVIlbd++XbNmzdJHH32k8ePHO9YbOnSoVq1apSVLlujHH39UZGSktmzZ4rTt+Ph4jRs3Ttu3b9fixYt15MgRRURESJJsNpu6du2qefPmOa0zb9481apVS0WKFLljvOR5AAAgJbm0sObj46P27ds7JUyff/658ufPr/DwcE2ePFkRERF66aWXVKxYMQ0aNEgtWrS47ZvLhzVhwgQFBgY6Hvny5XvUQwEAAEiXAgMD5eXlJV9fX+XMmVM5c+bUzJkzlS9fPs2YMUMlSpRQ8+bNNWbMGE2ZMkWJiYm6fPmyPvroI02ePFl169bVk08+qU8++cTpjDZJ6tq1qxo2bKhChQqpatWqmj59upYvX67Lly9Lunm23L59+/Tbb79JulmIW7hwobp27XrXeMnzAABASnL5PdZ69OihH3/8USdPnpQkzZ8/XxEREbLZbNqzZ4+qV6/utHz16tW1Z8+eR9rn8OHDFR0d7XgcP378kbYHAACQkezZs0dhYWGy2WyOturVq+vy5cs6ceKEDh06pLi4OFWpUsXxelBQkIoXL+60nc2bN6tp06bKnz+//P39Vbt2bUnSsWPHJEm5c+dW48aN9fHHH0uS/vOf/yg2NlatWrW6a2zkeQAAICW5vLBWrlw5hYaG6tNPP9XmzZv1+++/Oy4BuB83t5vhG2McbfHx8fddz263KyAgwOkBAACAlHPlyhU1aNBAAQEBWrBggTZu3Kh///vfkqS4uDjHct27d9eiRYt07do1zZs3T23atJGvr+9dt0ueBwAAUpLLC2vSzYRp/vz5mjdvnurVq+c4ZT8kJETr1q1zWnbdunUqWbKkJCk4OFiSdPr0acfrf5/IAAAAAI/Oy8tLCQkJjuchISFav36905eb69atk7+/v/LmzavChQvL09NTGzZscLx+4cIF7d+/3/F87969On/+vCZOnKiaNWuqRIkSjokL/q5Ro0by8/PTrFmztGLFinteBgoAAJDSUkVhrX379jpx4oQ+/PBDp2Rp6NChmj9/vmbNmqUDBw7onXfe0XfffachQ4ZIunmPtqpVq2rixInas2ePVq1apREjRrjqMAAAANKlggULasOGDTpy5IjOnTunl156ScePH1e/fv20d+9eLVmyRKNGjdKgQYPk5uamTJkyqVu3bho6dKh+/vln7dq1SxEREY6rDSQpf/788vLy0nvvvafDhw9r6dKlGjdu3G37dnd3V0REhIYPH66iRYsqLCwsJQ8dAADgnlJFYS0wMFDPP/+8MmXKpObNmzvamzdvrmnTpmny5MkqVaqU5syZo3nz5ik8PNyxzMcff6wbN26oQoUKGjBggNNsVAAAAHh0Q4YMkbu7u0qWLKng4GDFx8dr2bJl+u233xQaGqrevXurW7duTl9wTpo0STVr1lTTpk1Vr1491ahRQxUqVHC8HhwcrPnz5+vrr79WyZIlNXHixLtOUNWtWzfFxcWpS5cuj/1YAQAAHobN/P0cfheqW7euSpUqpenTp6f4vmNiYhQYGKjQfrPlbvdJ8f0Dj8PmSZ1cHQIApGtJ+UN0dDT38XrM1qxZo7p16+r48ePKkSPHQ61LngdkPOTBAB7Vw+R5HikU011duHBBkZGRioyM1MyZM10dDgAAAFKJ2NhYnT17VqNHj1arVq0euqgGAADwuLm8sFauXDlduHBBb7311m1TsAMAACDj+uKLL9StWzeVLVtWn376qavDAQAAuI3LC2tHjhxxdQgAAABIhSIiIhQREeHqMAAAAO4qVUxeAAAAAAAAAKQ1FNYAAAAAAAAACyisAQAAAAAAABZQWAMAAAAAAAAsoLAGAAAAAAAAWEBhDQAAAAAAALCAwhoAAAAAAABgAYU1AAAAAAAAwAIPVweQmqwe304BAQGuDgMAAADJjDwPAAA8DpyxBgAAAAAAAFhAYQ0AAAAAAACwgMIaAAAAAAAAYAGFNQAAAAAAAMACCmsAAAAAAACABRTWAAAAAAAAAAsorAEAAAAAAAAWUFgDAAAAAAAALKCwBgAAAAAAAFjg4eoAUpNaI76Qu93H1WEgA9k8qZOrQwAAIEMgzwPSP3JrAK7AGWsAAAAAAACABRTWAAAAAAAAAAsorAEAAAAAAAAWUFgDAAAAAAAALKCwBgAAAAAAAFhAYQ0AAAAAAACwgMIaAAAAAAAAYAGFNQAAAAAAAMACCmsAAAAAAACABRTWAAAAAAAAAAsorAEAAAAAAAAWUFgDAAAAAAAALEizhbXw8HANGDDA1WEAAADgAcyfP1+ZM2d2dRgAAADJysPVAVj13XffydPT09VhAAAA4AG0adNGjRo1cnUYAAAAySrNFtaCgoJcHQIAAAAekI+Pj3x8fFwdBgAAQLJKF5eCzpw5U0WLFpW3t7dy5Mihli1bujY4AACAdObSpUvq0KGD/Pz8lCtXLk2dOtUpH7tw4YI6deqkLFmyyNfXVw0bNtSBAwcc6//zUtDRo0erbNmy+uyzz1SwYEEFBgaqbdu2unTp0gPvEwAAwNXSbGEtyaZNm9S/f3+NHTtW+/bt04oVK1SrVq17rhMbG6uYmBinBwAAAO5u0KBBWrdunZYuXaqVK1dqzZo12rJli+P1iIgIbdq0SUuXLtX69etljFGjRo0UHx9/120eOnRIixcv1vfff6/vv/9eq1at0sSJEx94n3dCngcAAFJSmr0UNMmxY8fk5+enJk2ayN/fXwUKFFC5cuXuuc6ECRM0ZsyYFIoQAAAgbbt06ZI++eQTLVy4UHXr1pUkzZs3T7lz55YkHThwQEuXLtW6detUrVo1SdKCBQuUL18+LV68WK1atbrjdhMTEzV//nz5+/tLkjp27KiffvpJb7zxxn33eTfkeQAAICWl+TPW6tevrwIFCqhQoULq2LGjFixYoKtXr95zneHDhys6OtrxOH78eApFCwAAkPYcPnxY8fHxqly5sqMtMDBQxYsXlyTt2bNHHh4eqlKliuP1rFmzqnjx4tqzZ89dt1uwYEFHUU2ScuXKpaioqAfa592Q5wEAgJSU5gtr/v7+2rJli7744gvlypVLr7/+ukJDQ3Xx4sW7rmO32xUQEOD0AAAAQMr65wzvNptNiYmJj7RN8jwAAJCS0nxhTZI8PDxUr149vf3229qxY4eOHDmin3/+2dVhAQAApAuFChWSp6enNm7c6GiLjo7W/v37JUkhISG6ceOGNmzY4Hj9/Pnz2rdvn0qWLPlY9gkAAJAapPl7rH3//fc6fPiwatWqpSxZsmjZsmVKTEy872UCAAAAeDD+/v7q3Lmzhg4dqqCgIGXPnl2jRo2Sm5ubbDabihYtqmbNmqlHjx6aM2eO/P39NWzYMOXJk0fNmjV7LPsEAABIDdL8GWuZM2fWd999pzp16igkJESzZ8/WF198oVKlSrk6NAAAgHTjnXfeUVhYmJo0aaJ69eqpevXqCgkJkbe3t6SbEwtUqFBBTZo0UVhYmIwxWrZs2W2XeybnPgEAAFzNZowxrg7C1WJiYhQYGKjQfrPlbvdxdTjIQDZP6uTqEAAAFiXlD9HR0RnyPl5XrlxRnjx5NGXKFHXr1i3V7pM8D8g4yK0BJJeHyfPS/KWgAAAAePy2bt2qvXv3qnLlyoqOjtbYsWMlyfKlnql1nwAAAA+DwhoAAAAeyOTJk7Vv3z55eXmpQoUKWrNmjbJly5bu9gkAAPCgKKwBAADgvsqVK6fNmzen+30CAAA8jDQ/eQEAAAAAAADgChTWAAAAAAAAAAsorAEAAAAAAAAWUFgDAAAAAAAALKCwBgAAAAAAAFhAYQ0AAAAAAACwgMIaAAAAAAAAYAGFNQAAAAAAAMACCmsAAAAAAACABR6uDiA1WT2+nQICAlwdBgAAAJIZeR4AAHgcOGMNAAAAAAAAsIDCGgAAAAAAAGABhTUAAAAAAADAAgprAAAAAAAAgAUU1gAAAAAAAAALKKwBAAAAAAAAFlBYAwAAAAAAACygsAYAAAAAAABY4OHqAFKTWiO+kLvdx9VhIB3bPKmTq0MAACBDIs8D0i9ybACuxBlrAAAAAAAAgAUU1gAAAAAAAAALKKwBAAAAAAAAFlBYAwAAAAAAACygsAYAAAAAAABYQGENAAAAAAAAsIDCGgAAAAAAAGABhTUAAAAAAADAAgprAAAAAAAAgAUU1gAAAAAAAAALKKwBAAAAAAAAFlBYAwAAAAAAACygsAYAAAAAAABYkOYLa+Hh4RowYICrwwAAAMjwyMsAAEBG4+HqAB7Vd999J09PT0lSwYIFNWDAABI6AAAAAAAAPHZpvrAWFBTk6hAAAAAAAACQAaWbS0HDw8N19OhRDRw4UDabTTab7a7rxMbGKiYmxukBAACA5HPhwgV16tRJWbJkka+vrxo2bKgDBw5IkmJiYuTj46Ply5c7rfPvf/9b/v7+unr1qiTp+PHjat26tTJnzqygoCA1a9ZMR44cued+yfMAAEBKSvOFtSTfffed8ubNq7Fjx+r06dM6ffr0XZedMGGCAgMDHY98+fKlYKQAAADpX0REhDZt2qSlS5dq/fr1MsaoUaNGio+PV0BAgJo0aaKFCxc6rbNgwQI1b95cvr6+io+PV4MGDeTv7681a9Zo3bp1ypQpk5555hnFxcXddb/keQAAICWlm8JaUFCQ3N3d5e/vr5w5cypnzpx3XXb48OGKjo52PI4fP56CkQIAAKRvBw4c0NKlSzV37lzVrFlToaGhWrBggU6ePKnFixdLkjp06KDFixc7zk6LiYnRf//7X3Xo0EGS9OWXXyoxMVFz587Vk08+qZCQEM2bN0/Hjh1TZGTkXfdNngcAAFJSmr/HmhV2u112u93VYQAAAKRLe/bskYeHh6pUqeJoy5o1q4oXL649e/ZIkho1aiRPT08tXbpUbdu21bfffquAgADVq1dPkrR9+3YdPHhQ/v7+Ttu+fv26Dh06dNd9k+cBAICUlCELawAAAHAtLy8vtWzZUgsXLlTbtm21cOFCtWnTRh4eN9PTy5cvq0KFClqwYMFt6wYHB6d0uAAAAHeUrgprXl5eSkhIcHUYAAAAGVpISIhu3LihDRs2qFq1apKk8+fPa9++fSpZsqRjuQ4dOqh+/fr6/fff9fPPP2v8+PGO18qXL68vv/xS2bNnV0BAQIofAwAAwININ/dYk6SCBQtq9erVOnnypM6dO+fqcAAAADKkokWLqlmzZurRo4fWrl2r7du364UXXlCePHnUrFkzx3K1atVSzpw51aFDBz3xxBNOl4526NBB2bJlU7NmzbRmzRr98ccfioyMVP/+/XXixAlXHBYAAMBt0lVhbezYsTpy5IgKFy7MJQIAAAAuNG/ePFWoUEFNmjRRWFiYjDFatmyZPD09HcvYbDa1a9dO27dvd0xakMTX11erV69W/vz51aJFC4WEhKhbt266fv06Z7ABAIBUw2aMMa4OwtViYmIUGBio0H6z5W73cXU4SMc2T+rk6hAAAMkkKX+Ijo6m0JOKkecB6R85NoDk9jB5Xro6Yw0AAAAAAABIKRTWAAAAAAAAAAsorAEAAAAAAAAWUFgDAAAAAAAALKCwBgAAAAAAAFhAYQ0AAAAAAACwgMIaAAAAAAAAYAGFNQAAAAAAAMACCmsAAAAAAACABRTWAAAAAAAAAAsorAEAAAAAAAAWeLg6gNRk9fh2CggIcHUYAAAASGbkeQAA4HHgjDUAAAAAAADAAgprAAAAAAAAgAUU1gAAAAAAAAALKKwBAAAAAAAAFlBYAwAAAAAAACygsAYAAAAAAABYQGENAAAAAAAAsIDCGgAAAAAAAGCBh6sDSE1qjfhC7nYfV4eBNGjzpE6uDgEAANwDeR6QvpB/A0gtOGMNAAAAAAAAsIDCGgAAAAAAAGABhTUAAAAAAADAAgprAAAAAAAAgAUU1gAAAAAAAAALKKwBAAAAAAAAFlBYAwAAAAAAACygsAYAAAAAAABYQGENAAAAAAAAsIDCGgAAAAAAAGABhTUAAAAAAADAAgprAAAAAAAAgAUU1gAAAAAAAAALUm1hzRijnj17KigoSDabTdu2bXN1SAAAAEhBR44cIQ8EAACpmoerA7ibFStWaP78+YqMjFShQoWULVs2V4cEAAAAAAAAOKTawtqhQ4eUK1cuVatWzdL6xhglJCTIwyPVHiIAAADuIi4uztUhAAAA3FeqvBQ0IiJC/fr107Fjx2Sz2VSwYEHFxsaqf//+yp49u7y9vVWjRg1t3LjRsU5kZKRsNpuWL1+uChUqyG63a+3atS48CgAAgPTr+++/V+bMmZWQkCBJ2rZtm2w2m4YNG+ZYpnv37nrhhRckSd9++61KlSolu92uggULasqUKU7bK1iwoMaNG6dOnTopICBAPXv2vG2fCQkJ6tq1q0qUKKFjx449xqMDAAB4MKmysDZt2jSNHTtWefPm1enTp7Vx40a9/PLL+vbbb/XJJ59oy5YtKlKkiBo0aKC//vrLad1hw4Zp4sSJ2rNnj8qUKXPH7cfGxiomJsbpAQAAgAdXs2ZNXbp0SVu3bpUkrVq1StmyZVNkZKRjmVWrVik8PFybN29W69at1bZtW+3cuVOjR4/WyJEjNX/+fKdtTp48WaGhodq6datGjhzp9FpsbKxatWqlbdu2ac2aNcqfP/8d4yLPAwAAKSlVFtYCAwPl7+8vd3d35cyZU76+vpo1a5YmTZqkhg0bqmTJkvrwww/l4+Ojjz76yGndsWPHqn79+ipcuLCCgoLuuP0JEyYoMDDQ8ciXL19KHBYAAEC6ERgYqLJlyzoKaZGRkRo4cKC2bt2qy5cv6+TJkzp48KBq166td955R3Xr1tXIkSNVrFgxRUREqG/fvpo0aZLTNuvUqaPBgwercOHCKly4sKP98uXLaty4sc6ePatffvlFwcHBd42LPA8AAKSkVFlY+6dDhw4pPj5e1atXd7R5enqqcuXK2rNnj9OyFStWvO/2hg8frujoaMfj+PHjyR4zAABAele7dm1FRkbKGKM1a9aoRYsWCgkJ0dq1a7Vq1Srlzp1bRYsW1Z49e5zyOEmqXr26Dhw44LiUVLp7HteuXTtduXJFP/74owIDA+8ZE3keAABISWmisPYw/Pz87ruM3W5XQECA0wMAAAAPJzw8XGvXrtX27dvl6empEiVKKDw8XJGRkVq1apVq1679UNu7Wx7XqFEj7dixQ+vXr7/vNsjzAABASkoThbXChQvLy8tL69atc7TFx8dr48aNKlmypAsjAwAAyLiS7rM2depURxEtqbAWGRmp8PBwSVJISIhTHidJ69atU7FixeTu7n7f/bz44ouaOHGinn32Wa1atSrZjwMAAMAqD1cH8CD8/Pz04osvaujQoQoKClL+/Pn19ttv6+rVq+rWrZurwwMAAMiQsmTJojJlymjBggWaMWOGJKlWrVpq3bq14uPjHcW2wYMHq1KlSho3bpzatGmj9evXa8aMGZo5c+YD76tfv35KSEhQkyZNtHz5ctWoUeOxHBMAAMDDSBOFNUmaOHGiEhMT1bFjR126dEkVK1bUDz/8oCxZsrg6NAAAgAyrdu3a2rZtm+PstKCgIJUsWVJnzpxR8eLFJUnly5fXV199pddff13jxo1Trly5NHbsWEVERDzUvgYMGKDExEQ1atRIK1asULVq1ZL5aAAAAB6OzRhjXB2Eq8XExCgwMFCh/WbL3e7j6nCQBm2e1MnVIQAAUlhS/hAdHc19vFIx8jwgfSL/BvA4PUyelybusQYAAAAAAACkNhTWAAAAAAAAAAsorAEAAAAAAAAWUFgDAAAAAAAALKCwBgAAAAAAAFhAYQ0AAAAAAACwgMIaAAAAAAAAYAGFNQAAAAAAAMACCmsAAAAAAACABRTWAAAAAAAAAAsorAEAAAAAAAAWeLg6gNRk9fh2CggIcHUYAAAASGbkeQAA4HHgjDUAAAAAAADAAgprAAAAAAAAgAUU1gAAAAAAAAALuMeaJGOMJCkmJsbFkQAAgLQiKW9IyiOQOpHnAQCAh/UweR6FNUnnz5+XJOXLl8/FkQAAgLTm0qVLCgwMdHUYuAvyPAAAYNWD5HkU1iQFBQVJko4dO5bhE+OYmBjly5dPx48fz/AzZ9EXt9AXt9AXt9AXt9AXt2SkvjDG6NKlS8qdO7erQ8E9kOdZk5Hey8mNvrOGfrOOvrOGfrMuI/Tdw+R5FNYkubndvNVcYGBguh0UDysgIIC++P/oi1voi1voi1voi1voi1sySl9QqEn9yPMeTUZ5Lz8O9J019Jt19J019Jt16b3vHjTPY/ICAAAAAAAAwAIKawAAAAAAAIAFFNYk2e12jRo1Sna73dWhuBx9cQt9cQt9cQt9cQt9cQt9cQt9gdSGMWkN/WYdfWcN/WYdfWcN/WYdfefMZpgjHgAAAAAAAHhonLEGAAAAAAAAWEBhDQAAAAAAALCAwhoAAAAAAABgAYU1AAAAAAAAwAIKawAAAAAAAIAFGbawlpiYqISEBFeHgXSIiXZxJ4wLAEg55HlIS8gRACBty5CFtd27d6tTp05q0KCBXnzxRf3666+uDgnpQExMjK5cuaJz5865OpRUJTEx0dUhuBTj4s4y+ri4cOGCzpw5oyNHjrg6lFQlo48LJA/yvJR148YNxcfHuzqMNOfv/Waz2SRRYHtQ169f16VLl1wdRppDvwGPT4YrrO3bt0/VqlVTQkKCKlWqpPXr1+tf//qXpk+f7urQ0pyjR49qyZIl+uCDD3Ty5Eldu3bN1SG5zM6dO1W/fn1Vq1ZNZcqU0dixY7Vv3z5Xh+USJ0+e1KpVq7R48WJduXJFbm4Z7teMA+PiFsbFLTt27FDNmjVVt25dFS9eXL169dLPP//s6rBcgnGB5Eael7J2796ttm3bql69emrfvr2++eYbxcXFuTqsVO9u/Waz2fiC4T527dqlZs2aqUaNGnrmmWc0efLkDP0Z5EHRb8mDz7/Wpfe+s5kM9NWIMUYjRozQwYMH9eWXX0qSLl26pOnTp+ubb75Ru3bt9PLLL7s4yrRhx44dql+/vnLlyqVTp05Jknr27KnOnTuraNGiMsY4vn1L744ePapKlSqpY8eOqlKliqKiojR27FjVqFFDvXr1UoMGDVwdYorZsWOHGjduLD8/P507d04+Pj4aPXq0GjdurJw5c7o6vBTFuLiFcXHLyZMnValSJbVv317NmjVTVFSU3njjDWXJkkUvvPCCunTp4uoQUwzjAsmNPC9lHThwQJUqVVLTpk0VEhKi//73v7p+/brKly+v6dOny8fHx9UhpkoP0m8ZKY9+GIcOHVKlSpXUsmVLVapUSb/88ov27dunoKAg/fvf/1amTJlcHWKqRL8lDz7/Wpch+s5kMBEREaZWrVpObTExMWby5MmmYsWK5vPPP3dRZGnHxYsXTZUqVczQoUPNX3/9ZYwxZsyYMaZq1aqmdevWZvfu3S6OMGXNnz/flC9f3sTHxzvafv31V1O1alXTpEkTs2rVKhdGl3LOnTtnSpcubYYPH25OnDhh/vrrL9OzZ09TrFgx8/LLL5vjx4+7OsQUxbi4iXHhbOnSpaZ06dLm0qVLjrbt27ebtm3bmurVq5uFCxe6MLqUw7jA40Kel3LGjBljnnvuOcfz+Ph4M2XKFFOxYkXTrl07c+3aNRdGl3o9aL8lJia6KsRUa9asWaZBgwYmISHBGHOzj7799ltToUIFU7VqVXP58mUXR5g60W+Pjs+/1mWUvssw11yY/39iXvny5ZWQkOB0OZa/v7+6du2qcuXKaebMmbp69aqrwkwTrl27pqioKFWvXl1ZsmSRJL3++uvq1auXTp06pUmTJjkq0RmBzWZTTEyMLly4IElKSEhQWFiYpk2bpqNHj2revHm6fv26i6N8/KKjo3X58mU1bNhQefLkUZYsWTRnzhx16tRJy5Yt08cff6yYmBhXh5liGBc3MS6c2e12/fXXXzp69Kikm/cUK1OmjF5//XVly5ZNCxcudLyWnjEukNzI81JeVFSUjh8/7nju4eGhPn36qGvXrjp8+LDefPNNJpC4gwfttzR/9sZjcOrUKe3Zs8dx2wCbzaZmzZpp3LhxSkhIUO/evbnf3x3Qb4+Oz7/WZZS+yzCFtaQ/To0aNdK+ffv09ttv6/Lly5JuJmNZsmTRyJEjtX79eq1evdqVoaZ6NptNAQEB+vPPPyXdvPmqJEVERKhDhw5at26dVq1aJSlj3Ii6cOHCOnLkiOOYjTFKTExU5cqVNXXqVH366acZ4v5JcXFxSkxMdHxgSbpu/rXXXlPz5s01Z84c/f7775IYF4yLjDsu8uTJo/j4eK1YsULSzd+nxhiFhIRo5MiR+vnnnxUZGenaIFMA4wLJjTwv5SS9J8uWLSubzaYdO3Y4Cpt2u12dOnVSWFiY/vvf/yo6OtqVoaYq9Jt1SQXaWrVqKSgoSEuXLnX0p7u7u+rUqaOOHTtq165dOnDggCtDTVXot+TD51/rMkzfuexcORf6+eefjd1uN3369DFnz551tJ8+fdqEhoaaX3/91YXRpQ3t27c3RYoUMadPnzbGGKfL3dq2bWsqVKjgqtAeu/j4eBMXF+fUNnDgQOPr6+sYO3FxcY5T+CtXrmxef/31FI/TFerUqWPKly/veH79+nXH/+vWrWsaNWrkirBSBOPi7jLyuLh27ZqJiYkxxty6rGfSpEnG3d3dfPvtt8YY47g0wxhjGjZsaHr27JnygbpARh4XeLzI8x6Pf16aePLkSZMnTx7TokULx+U9SctcuHDBuLu7m2+++SbF40xt6Dfrbty4YYy59XcyKirKVK9e3dSrV8/s3LnTadnLly+bTJkymVmzZqV4nKkN/fZ4ZOTPv48qI/Rdhjlj7e+eeuopff3115o7d6569eqlL7/8Unv27NG0adMUFRWlfPnyuTrEVOXs2bPasWOHdu3a5bis7aOPPpKXl5eaNWummJgYeXh4OJavU6eOPD090+Upxf+cxenrr79WXFycxowZo4YNG6pBgwZatWqVPD09Hd+ee3p6KnPmzK4N/DG4cOGCTpw4oRMnTji+XZgzZ46ioqLUqFEjSTe/gU36ViIsLMzx//SGcXEL4+KWf87ANWnSJF29elVDhgxR79691bZtW33++eeOMxakm9/ipccb9zMukJLI85Lfvn37NGrUKEVERGju3LnatWuXcufOrcWLF+vHH39Uv379dPr0acffuBs3bqhMmTIKCgpyceSuRb9Zt2fPHvXr10/NmzfXq6++qg0bNig4OFiff/65du7cqQEDBui3335zLO/h4aGyZcsqW7ZsLoza9ei35MHnX+sybN+5urLnSps3bza1a9c2BQoUMIULFzbFihUzW7ZscXVYqcqOHTvME088YUqVKmXc3d1N48aNzdy5c40xxuzatcsUKVLElC1b1mzbts1xM+5evXqZunXrprub1u7fv98EBgaaF154wbzxxhumWrVqply5cqZnz57m+vXr5uzZs6ZDhw7GZrOZ1157zbzzzjtm0KBBJjAw0Ozfv9/V4SerHTt2mBIlSphSpUoZLy8v061bN7Ns2TJjjDHff/+9yZUrl6lbt66Jjo52fCPRpUsX89xzzzmdtZUeMC5uYVzccvDgQZMlSxbTo0cP88EHH5h27dqZcuXKmXr16jluEvzyyy8bNzc307VrVzN06FDTt29f4+/vb/bs2ePi6JMX4wKuQp6XPH7//XcTGBhonn/+eVOtWjVTpUoVkzdvXvPDDz8YY4z55ZdfjL+/v6lfv775+OOPzaZNm8wrr7xicuTIYY4ePeri6F2HfrNuz549JiAgwHTu3Nk8//zzpn79+sZut5uPP/7YGGPM4cOHTaFChUzNmjXNqFGjzMqVK83AgQNNUFCQOXz4sIujdx36LXnw+de6jNx3GbqwZowx0dHR5o8//jA7duxwulwAxpw5c8YUKFDADBw40Bw6dMgsW7bMdOnSxeTNm9dMmDDBGGPMkSNHTNWqVU3+/PlNaGioadiwofH39zfbtm1zcfTJ726zOJUvX9688MILJjY21hhjzMyZM02VKlVM+fLlTd26dc3WrVtdFPHjcfLkSZM7d24zcOBAs3HjRvP555+bunXrmvLly5tPP/3UGHMzWSxatKjJnz+/adCggWnevLnx8/MzO3bscHH0yY9xcRPjwtndZuAqX768CQsLcxTXvv76a9O6dWtTvXp106JFC7N9+3ZXhp3sGBdwNfK8R3Pjxg3zwgsvmA4dOjjatm7darp162bc3d3Nf/7zH2OMMfv27TPPPPOMKVasmClUqJApVapUhi5i0m+P5qWXXjLNmzd3PD9z5owZMWKEcXNzM9OmTTPGGHPs2DHz4osvmtDQUFOsWDFTsWLFDN939Nuj4/OvdRm97zJ8YQ13t2nTJlO6dGlz/PhxR9vRo0fNuHHjTFBQkJkyZYqj/eOPPzbjxo0zb775ptm3b58rwn3s+vTpYypWrOjUdv36dTNz5kxTqVIl8/rrrzvOtrhw4YKJj49Pl9NXr1ixwoSGhpro6GhH29atW02vXr1MSEiIWbRokTHm5n0dxo4da/r3728GDx6cbqZS/ifGxU2MC2cjR440+fPnd2q7ceOGWbZsmalUqZLp0KGD455iSd/QpfVv6u6EcQGkbXFxcaZ27dpm2LBhTu1RUVHmxRdfNN7e3mb16tXGmJv3ajp58qTZu3evOX/+vCvCTTXot0fTokUL061bt9va33zzTWOz2cySJUuMMcbExsaaK1eumFOnTjnuZ5qR0W+Pjs+/1mX0vqOwhrvatm2b8fHxcZyynuTPP/80I0eONKVLl77ttfQo6YyTDz/80FSqVMls377d6dKky5cvmwEDBpjy5cs7vg3/+83I05uffvrJZM6c2WzatMmpfffu3aZLly6mTp066e6smzthXDhjXNyUdMPglStXmrJly5olS5Y4/dyvX79upk+fbsqWLWt27dpljGFcZIRxAaRlffr0MWFhYY4b7Sc5duyYef75503Dhg3NhQsXXBNcKka/WTd69GiTL18+c/LkSWPMrckd4uLiTO/evU1ISIjjNdxCvz06Pv9al9H7LkNOXoAHkyNHDlWrVk1Lly51TI+b1N6hQwfZ7Xbt2LFDkhw33zZ/uwl3Wpd0LG5uN98mjRo10qlTpzRmzBhdvHjRsYyfn59GjRql7du3O6YKTlonPcqVK5dy586tlStXKi4uztEeEhKiHj16aPfu3dq5c6fTOowLxkV6HxdJU9on3YA6NDRUfn5+eu+997R7927Hcna7XV27dtXBgwe1Zs0aSYyL9DwugPSgVq1aunbtmubNm6dLly452vPly6emTZtq+/btTu24iX6zrkGDBsqXL58mTJigqKgo2Ww2JSYmytPTUy1btlR0dLSioqJcHWaqQ789uoz++fdRZPS+S7/ZPB5aTEyMzpw5o7/++kuSlDNnTrVu3VqfffaZPv30U8esHpJUvHhxFStWTL/88osSExMdHyaT/k3rmMXplmvXrunixYuOGfpCQkLUrl07jRw5UosXL3ZaNiwsTGXKlNHKlSud2hkXjIv0PC6YgesWxgWQth05ckQffvihPvroI/3www+SpNatW6tGjRqaM2eOPv/8c0eeKEmVKlWSr69vhi8Q0W/WHTp0SG+99ZbGjx+vzz77TJJUtWpVPf/881q7dq0mT56skydPOr6EKlGihPz8/HTlyhVXhu1y9Fvy4POvdfSdM4/7L4KMYOfOnerdu7f+/PNPZc2aVSVLltTHH3+snj176vz583rttdcUFxendu3aqXDhwpJuVpgLFy6crt4QkrR7925Vq1ZN9erV0+nTp7V3716NGTNGH330kZ5++mn95z//0bPPPquoqCi1a9dOZcqU0ddff61Tp045+ia92LVrlwYPHqzjx4/riSeeUPny5TVu3DiNGDFCp0+fVufOnXX16lU1b95cmTNnlnSzaJA/f37XBv4YMC5uYVzcsnfvXlWtWlXPPfecPDw8tGXLFr377ruaNWuWunTpovXr16tevXoaMmSI6tSpoxo1amjZsmXavXu3KlSo4OrwkxXjAkjbdu7cqaeeekpFixbV2bNndebMGbVs2VLTp0/Xe++9p+7du2vmzJnav3+/+vbtq8DAQH3yySdyc3NTjhw5XB2+y9Bv1u3atUs1atRQ2bJldfXqVe3YsUMLFy7U22+/rUGDBunatWtasmSJ9u7dq3HjxsnPz08fffSR4uLi0l1u9TDot+TB51/r6Ls7SPmrT5HaHDlyxAQH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UX+biIiIiL4bx3lE1JIwsUZEVsnHxweOjo44cODAt17r3r07ioqKUFtbqx775JNPoNFo4OvrCwBwc3NDeXm5+rrBYEBJSckPiqFVq1bqe4mIiIioaXCcR0QtCRNrRGSVWrdujQULFiAxMRFbt27FF198gU8//RSbN2/GxIkT0bp1a0yePBklJSXIz8/H7NmzERMTo+67MXjwYOTm5iI3NxdnzpzBjBkzUFVV9YNi6NixIxwdHZGXl4dr166hurq6GT4pERERkW3hOI+IWhIm1ojIaqWkpGD+/PlYtGgRunfvjnHjxqGiogJt2rTB3r17UVlZiZCQEIwZMwYRERFYt26d+t6pU6di8uTJmDRpEsLCwuDt7Y1Bgwb9oL9vb2+PtWvXIjMzE507d8aIESOa+iMSERER2SSO84iopVDkfx8uJyIiIiIiIiIiou/FFWtERERERERERERmYGKNiIiIiIiIiIjIDEysERERERERERERmYGJNSIiIiIiIiIiIjMwsUZERERERERERGQGJtaIiIiIiIiIiIjMwMQaERERERERERGRGZhYIyIiIiIiIiIiMgMTa0RERERERERERGZgYo2IiIiIiIiIiMgMTKwRERERERERERGZ4f8ByXWyJL1524cAAAAASUVORK5CYII=",
"text/plain": [
"