1519 lines
228 KiB
Plaintext
1519 lines
228 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## BIBLIOTECA"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 62,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import pandas as pd\n",
|
||
"import seaborn as sns\n",
|
||
"import numpy as np\n",
|
||
"from matplotlib import pyplot as plt\n",
|
||
"import statistics as st\n",
|
||
"from statistics import mode, mean\n",
|
||
"from scipy.stats import spearmanr, pearsonr, skew, kendalltau, norm\n",
|
||
"from collections import Counter\n",
|
||
"from datetime import datetime\n",
|
||
"from keras.models import load_model\n",
|
||
"import warnings\n",
|
||
"#!pip install wordcloud\n",
|
||
"import string\n",
|
||
"from wordcloud import WordCloud\n",
|
||
"from xgboost import XGBClassifier\n",
|
||
"import nltk\n",
|
||
"import torch\n",
|
||
"from torch import nn\n",
|
||
"from torch.utils.data import DataLoader, Dataset\n",
|
||
"#nltk.download('all')\n",
|
||
"import spacy\n",
|
||
"import pickle \n",
|
||
"from sklearn.datasets import load_files, make_classification\n",
|
||
"from docx import Document\n",
|
||
"import os\n",
|
||
"import re\n",
|
||
"import pdfplumber\n",
|
||
"import gensim\n",
|
||
"#!pip install gensim\n",
|
||
"from gensim.models import FastText\n",
|
||
"from nltk.corpus import stopwords\n",
|
||
"from joblib import Parallel, delayed\n",
|
||
"from nltk.tokenize import word_tokenize\n",
|
||
"from imblearn.under_sampling import RandomUnderSampler\n",
|
||
"from textblob import TextBlob\n",
|
||
"from deep_translator import GoogleTranslator\n",
|
||
"from pyannote.audio import Pipeline\n",
|
||
"from transformers import pipeline\n",
|
||
"from nltk.stem import WordNetLemmatizer\n",
|
||
"from reportlab.lib.pagesizes import A4\n",
|
||
"from reportlab.platypus import SimpleDocTemplate, Table, TableStyle, Image\n",
|
||
"from reportlab.lib import colors\n",
|
||
"from PIL import Image, ImageOps\n",
|
||
"from tkinter import filedialog\n",
|
||
"from sklearn.model_selection import train_test_split, GridSearchCV, cross_val_score, ParameterGrid\n",
|
||
"import tabula\n",
|
||
"import PyPDF2\n",
|
||
"import pdfplumber\n",
|
||
"from datetime import datetime\n",
|
||
"from sklearn.neighbors import KNeighborsClassifier\n",
|
||
"from sklearn.naive_bayes import GaussianNB\n",
|
||
"from sklearn.svm import SVC\n",
|
||
"from imblearn.combine import SMOTEENN\n",
|
||
"from sklearn.tree import DecisionTreeClassifier\n",
|
||
"from sklearn.preprocessing import StandardScaler\n",
|
||
"from sklearn.ensemble import RandomForestClassifier\n",
|
||
"import joblib\n",
|
||
"from sklearn.feature_extraction.text import CountVectorizer, TfidfTransformer\n",
|
||
"import fitz\n",
|
||
"from sklearn.linear_model import LogisticRegression\n",
|
||
"from sklearn.metrics import confusion_matrix, accuracy_score, ConfusionMatrixDisplay, classification_report, f1_score, precision_score, recall_score, roc_auc_score\n",
|
||
"from tqdm.notebook import tqdm\n",
|
||
"from tensorflow.keras.models import Sequential, load_model\n",
|
||
"from tensorflow.keras.optimizers import Adam\n",
|
||
"from tensorflow.keras.layers import Embedding, Conv1D, MaxPooling1D, Dense, Flatten, Dropout, BatchNormalization\n",
|
||
"from tensorflow.keras.preprocessing.sequence import pad_sequences\n",
|
||
"from keras.utils import to_categorical\n",
|
||
"from itertools import product\n",
|
||
"#!python -m spacy download pt_core_news_sm"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## FUNÇÕES"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 63,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"def grafico(a):\n",
|
||
" if a == 1:\n",
|
||
" custom_params = {\"axes.spines.right\": False, \"axes.spines.top\": False}\n",
|
||
" sns.set_theme(style=\"ticks\", rc=custom_params, palette = \"pastel\")\n",
|
||
" palette = \"pastel\"\n",
|
||
" elif a == 2:\n",
|
||
" sns.set_theme(style=\"white\", palette = \"Set2\")\n",
|
||
" palette = \"Set2\"\n",
|
||
" elif a == 3:\n",
|
||
" sns.set_theme(style=\"whitegrid\", palette = \"pastel\")\n",
|
||
" palette = \"pastel\"\n",
|
||
" elif a == 4:\n",
|
||
" sns.set_theme()\n",
|
||
" palette = \"husl\"\n",
|
||
" return palette"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Tratamento para portugues"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 64,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"<>:8: SyntaxWarning: invalid escape sequence '\\s'\n",
|
||
"<>:8: SyntaxWarning: invalid escape sequence '\\s'\n",
|
||
"C:\\Users\\garci\\AppData\\Local\\Temp\\ipykernel_40992\\3345901888.py:8: SyntaxWarning: invalid escape sequence '\\s'\n",
|
||
" df_copy[column_name] = df_copy[column_name].str.replace('[^a-z\\s]', '')\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"portuguesstopwords = set(stopwords.words('portuguese'))\n",
|
||
"nlp = spacy.load(\"pt_core_news_sm\")\n",
|
||
"def preprocess_text_column_pt(df, column_name):\n",
|
||
" if column_name not in df.columns:\n",
|
||
" raise ValueError(f\"A coluna '{column_name}' não existe no dataset.\")\n",
|
||
" df_copy = df.copy()\n",
|
||
" df_copy[column_name] = df_copy[column_name].str.lower() \n",
|
||
" df_copy[column_name] = df_copy[column_name].str.replace('[^a-z\\s]', '') \n",
|
||
" df_copy[column_name] = df_copy[column_name].str.strip() \n",
|
||
" df_copy[column_name] = df_copy[column_name].str.replace(r'\\s+', ' ', regex=True) \n",
|
||
" df_copy[column_name] = df_copy[column_name].str.replace(r'\\d+', '', regex=True)\n",
|
||
" df_copy[column_name] = df_copy[column_name].str.translate(str.maketrans('', '', string.punctuation))\n",
|
||
" df_copy[column_name] = df_copy[column_name].apply(lambda x: ' '.join([word for word in x.split() if word.lower() not in portuguesstopwords]))\n",
|
||
" df_copy[column_name] = df_copy[column_name].str.replace(r'http\\S+|https\\S+|www\\S+', '', regex=True) \n",
|
||
" df_copy[column_name] = df_copy[column_name].str.replace(r'\\S+@\\S+', '', regex=True) \n",
|
||
" df_copy[column_name] = df_copy[column_name].apply(lambda x: ' '.join([word for word in x.split() if len(word) > 2]))\n",
|
||
" df_copy['TextoLema'] = df_copy[column_name].apply(lambda x: ' '.join([token.lemma_ for token in nlp(x)])) \n",
|
||
"\n",
|
||
" return df_copy['TextoLema']"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Tratamento para ingles"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 65,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"<>:8: SyntaxWarning: invalid escape sequence '\\s'\n",
|
||
"<>:8: SyntaxWarning: invalid escape sequence '\\s'\n",
|
||
"C:\\Users\\garci\\AppData\\Local\\Temp\\ipykernel_40992\\4039191732.py:8: SyntaxWarning: invalid escape sequence '\\s'\n",
|
||
" df_copy[column_name] = df_copy[column_name].str.replace('[^a-z\\s]', '', regex=True)\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"english_stopwords = set(stopwords.words('english'))\n",
|
||
"nlp = spacy.load(\"en_core_web_sm\")\n",
|
||
"def preprocess_text_column(df, column_name):\n",
|
||
" if column_name not in df.columns:\n",
|
||
" raise ValueError(f\"The column '{column_name}' does not exist in the dataset.\")\n",
|
||
" df_copy = df.copy()\n",
|
||
" df_copy[column_name] = df_copy[column_name].str.lower()\n",
|
||
" df_copy[column_name] = df_copy[column_name].str.replace('[^a-z\\s]', '', regex=True)\n",
|
||
" df_copy[column_name] = df_copy[column_name].str.replace(r'\\s+', ' ', regex=True).str.strip()\n",
|
||
" df_copy[column_name] = df_copy[column_name].str.replace(r'\\d+', '', regex=True)\n",
|
||
" df_copy[column_name] = df_copy[column_name].str.translate(str.maketrans('', '', string.punctuation))\n",
|
||
" df_copy[column_name] = df_copy[column_name].str.replace(r'http\\S+|https\\S+|www\\S+', '', regex=True)\n",
|
||
" df_copy[column_name] = df_copy[column_name].str.replace(r'\\S+@\\S+', '', regex=True)\n",
|
||
" df_copy[column_name] = df_copy[column_name].apply(lambda x: ' '.join([word for word in x.split() if word not in english_stopwords and len(word) > 2]))\n",
|
||
" df_copy['LemmatizedText'] = df_copy[column_name].apply(lambda x: ' '.join([token.lemma_ for token in nlp(x) if not token.is_punct and not token.is_stop]))\n",
|
||
" return df_copy['LemmatizedText']"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 66,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
" Text emotion\n",
|
||
"0 That game hurt. Sadness\n",
|
||
"1 Man I love reddit. Disgust\n",
|
||
"2 So happy for [NAME]. So sad he's not here. Ima... Sadness\n",
|
||
"3 I just came home, what the fuck is this lineup... Disgust\n",
|
||
"4 By far the coolest thing I've seen on this thr... Happiness\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"colunas = [\"Text\", \"emotion\"]\n",
|
||
"dataset3 = pd.read_excel(\"C:\\\\Users\\\\garci\\\\OneDrive\\\\Área de Trabalho\\\\Programa PJM\\\\Programa final\\\\Dataset\\\\GoEmotions_parateste.xlsx\",names=colunas)\n",
|
||
"print(dataset3.head())\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 67,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"array(['Sadness', 'Disgust', 'Happiness', 'Surprise', 'Anger', 'Fear'],\n",
|
||
" dtype=object)"
|
||
]
|
||
},
|
||
"execution_count": 67,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"dataset3[\"emotion\"].unique()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 68,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>V. Absolutos</th>\n",
|
||
" <th>V. Relativos (%)</th>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>emotion</th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>Happiness</th>\n",
|
||
" <td>7907</td>\n",
|
||
" <td>20.67</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>Anger</th>\n",
|
||
" <td>7844</td>\n",
|
||
" <td>20.50</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>Disgust</th>\n",
|
||
" <td>7678</td>\n",
|
||
" <td>20.07</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>Sadness</th>\n",
|
||
" <td>6758</td>\n",
|
||
" <td>17.66</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>Surprise</th>\n",
|
||
" <td>5144</td>\n",
|
||
" <td>13.45</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>Fear</th>\n",
|
||
" <td>2927</td>\n",
|
||
" <td>7.65</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" V. Absolutos V. Relativos (%)\n",
|
||
"emotion \n",
|
||
"Happiness 7907 20.67\n",
|
||
"Anger 7844 20.50\n",
|
||
"Disgust 7678 20.07\n",
|
||
"Sadness 6758 17.66\n",
|
||
"Surprise 5144 13.45\n",
|
||
"Fear 2927 7.65"
|
||
]
|
||
},
|
||
"execution_count": 68,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"pd.DataFrame({'V. Absolutos':dataset3['emotion'].value_counts(), 'V. Relativos (%)':(dataset3['emotion'].value_counts()*100/dataset3.shape[0]).round(2)})"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 69,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"C:\\Users\\garci\\AppData\\Local\\Temp\\ipykernel_40992\\1100090595.py:3: FutureWarning: \n",
|
||
"\n",
|
||
"Passing `palette` without assigning `hue` is deprecated and will be removed in v0.14.0. Assign the `x` variable to `hue` and set `legend=False` for the same effect.\n",
|
||
"\n",
|
||
" sns.countplot(x=\"emotion\", data=dataset3,order= dataset3['emotion'].value_counts().index,palette=\"husl\")\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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JmceHh7q0qWLpkyZohUrVuj06dP64osvtHXrVnXs2FH169dX7ty51atXLx05ckS//PKLJkyYoE6dOlnXXXfq1EmzZs3S0qVLdezYMX300UeKi4tTy5YtJSlNYwAAAAAA8LDsegZbkt555x15enpq4sSJunjxooKCgvT555+rWrVqkqTp06dr6NChevnll+Xj46M2bdronXfese7/8ssv6/r165o0aZKuXr2qJ554QrNmzZKvr6+klBua3W8MAAAAAAAelt0DtiR17NhRHTt2vOO2woULa+bMmffcv3PnzurcufNdt6dlDAAAAAAAHgbPUwAAAAAAwAAEbAAAAAAADEDABgAAAADAAARsAAAAAAAMQMAGAAAAAMAABGwAAAAAAAxAwAYAAAAAwAAEbAAAAAAADEDABgAAAADAAARsAAAAAAAMQMAGAAAAAMAABGwAAAAAAAxAwAYAAAAAwAAEbAAAAAAADEDABgAAADJYXFyS8uefpjx5vrL5V6TIjFR9b9xIUJUq8zR//l/3HHP16pPKk+crbd16/q59zp27oaCgWRo7dtdDvwYA9+di7wIAAACArO7IkStKSrJo6tS6KlLE29ru7Gyy6Xf1arzat/9Jp09fv+d40dFx6tNn0z37JCcnq2fPDbp+PSH9hQN4IARsAAAAIIMdPHhZLi5OatKkmNzdne/Y56efTmrAgK26cSPxvuN98MFmubre+2LUWbMO6dixq+kpF0A6cYk4AAAAkMEOHoxSiRI57xqur12L1+uvr1WNGvm1YMGL9xxr2bJj2rjxnAYNqn7XPidPxmj48B2aMKHWQ9UN4MFwBhsAAADIYAcPRsnZ2aRWrVZq584Iubk5q0mTYho6tLqyZ3eTp6eLtmx5WcWL57zn5eGRkbfUv/9WjRjxlPLm9bpjH4slWT16/KqXXiqmunUDM+olAbgDzmADAAAAGSg5OVmHDkXpxIkYPf98YX3/fSP16lVJS5ce06uvrpbFkiw3N2cVL57zvmP16bNJVark0csvl7xrn6++OqDTp69r2LAaBr4KAGnBGWwAAAAgAyUnS99++7z8/DwUHOwrSapRI7/y5PHSO++s16+/nlG9evc/0zx//l/avj1Cmze3umufv/++ojFjdmrmzAby9nY37DUASBvOYAMAAAAZyMnJpKefzm8N17c1aJASqv/8M+q+Y5w/f0MD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",
|
||
"text/plain": [
|
||
"<Figure size 1000x600 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"grafico(4)\n",
|
||
"plt.figure(figsize=(10, 6), dpi=100)\n",
|
||
"sns.countplot(x=\"emotion\", data=dataset3,order= dataset3['emotion'].value_counts().index,palette=\"husl\")\n",
|
||
"plt.xlabel('Emoçoes', color=\"Darkblue\")\n",
|
||
"plt.xticks(rotation=90)\n",
|
||
"plt.ylabel('Frequência', color='Darkblue')\n",
|
||
"plt.title('Distribuição por Emoções', color='Darkblue')\n",
|
||
"for i, value in enumerate(dataset3['emotion'].value_counts()):\n",
|
||
" plt.text(i, value+250, str(value),ha='center',color='Darkblue')\n",
|
||
"plt.tight_layout()\n",
|
||
"plt.show() "
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 70,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>Text</th>\n",
|
||
" <th>emotion</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>That game hurt.</td>\n",
|
||
" <td>Sadness</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>Man I love reddit.</td>\n",
|
||
" <td>Disgust</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>So happy for [NAME]. So sad he's not here. Ima...</td>\n",
|
||
" <td>Sadness</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>I just came home, what the fuck is this lineup...</td>\n",
|
||
" <td>Disgust</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>By far the coolest thing I've seen on this thr...</td>\n",
|
||
" <td>Happiness</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>38253</th>\n",
|
||
" <td>I just called the Capitol Police. They are not...</td>\n",
|
||
" <td>Anger</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>38254</th>\n",
|
||
" <td>What a great photo and you two look so happy. 😍</td>\n",
|
||
" <td>Happiness</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>38255</th>\n",
|
||
" <td>Well, I'm glad you're out of all that now. How...</td>\n",
|
||
" <td>Happiness</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>38256</th>\n",
|
||
" <td>Everyone likes [NAME].</td>\n",
|
||
" <td>Disgust</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>38257</th>\n",
|
||
" <td>The FDA has plenty to criticize. But like here...</td>\n",
|
||
" <td>Anger</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>38258 rows × 2 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" Text emotion\n",
|
||
"0 That game hurt. Sadness\n",
|
||
"1 Man I love reddit. Disgust\n",
|
||
"2 So happy for [NAME]. So sad he's not here. Ima... Sadness\n",
|
||
"3 I just came home, what the fuck is this lineup... Disgust\n",
|
||
"4 By far the coolest thing I've seen on this thr... Happiness\n",
|
||
"... ... ...\n",
|
||
"38253 I just called the Capitol Police. They are not... Anger\n",
|
||
"38254 What a great photo and you two look so happy. 😍 Happiness\n",
|
||
"38255 Well, I'm glad you're out of all that now. How... Happiness\n",
|
||
"38256 Everyone likes [NAME]. Disgust\n",
|
||
"38257 The FDA has plenty to criticize. But like here... Anger\n",
|
||
"\n",
|
||
"[38258 rows x 2 columns]"
|
||
]
|
||
},
|
||
"execution_count": 70,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"dataset3 = dataset3.dropna()\n",
|
||
"dataset3"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 71,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>Text</th>\n",
|
||
" <th>emotion</th>\n",
|
||
" <th>emotion_label</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>That game hurt.</td>\n",
|
||
" <td>Sadness</td>\n",
|
||
" <td>4</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>Man I love reddit.</td>\n",
|
||
" <td>Disgust</td>\n",
|
||
" <td>2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>So happy for [NAME]. So sad he's not here. Ima...</td>\n",
|
||
" <td>Sadness</td>\n",
|
||
" <td>4</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>I just came home, what the fuck is this lineup...</td>\n",
|
||
" <td>Disgust</td>\n",
|
||
" <td>2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>By far the coolest thing I've seen on this thr...</td>\n",
|
||
" <td>Happiness</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>38253</th>\n",
|
||
" <td>I just called the Capitol Police. They are not...</td>\n",
|
||
" <td>Anger</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>38254</th>\n",
|
||
" <td>What a great photo and you two look so happy. 😍</td>\n",
|
||
" <td>Happiness</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>38255</th>\n",
|
||
" <td>Well, I'm glad you're out of all that now. How...</td>\n",
|
||
" <td>Happiness</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>38256</th>\n",
|
||
" <td>Everyone likes [NAME].</td>\n",
|
||
" <td>Disgust</td>\n",
|
||
" <td>2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>38257</th>\n",
|
||
" <td>The FDA has plenty to criticize. But like here...</td>\n",
|
||
" <td>Anger</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>38258 rows × 3 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" Text emotion \\\n",
|
||
"0 That game hurt. Sadness \n",
|
||
"1 Man I love reddit. Disgust \n",
|
||
"2 So happy for [NAME]. So sad he's not here. Ima... Sadness \n",
|
||
"3 I just came home, what the fuck is this lineup... Disgust \n",
|
||
"4 By far the coolest thing I've seen on this thr... Happiness \n",
|
||
"... ... ... \n",
|
||
"38253 I just called the Capitol Police. They are not... Anger \n",
|
||
"38254 What a great photo and you two look so happy. 😍 Happiness \n",
|
||
"38255 Well, I'm glad you're out of all that now. How... Happiness \n",
|
||
"38256 Everyone likes [NAME]. Disgust \n",
|
||
"38257 The FDA has plenty to criticize. But like here... Anger \n",
|
||
"\n",
|
||
" emotion_label \n",
|
||
"0 4 \n",
|
||
"1 2 \n",
|
||
"2 4 \n",
|
||
"3 2 \n",
|
||
"4 1 \n",
|
||
"... ... \n",
|
||
"38253 0 \n",
|
||
"38254 1 \n",
|
||
"38255 1 \n",
|
||
"38256 2 \n",
|
||
"38257 0 \n",
|
||
"\n",
|
||
"[38258 rows x 3 columns]"
|
||
]
|
||
},
|
||
"execution_count": 71,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"emotion_mapping = {\"Anger\":0,\"Happiness\":1,\"Disgust\":2,\"Fear\":3, \"Sadness\":4,\"Surprise\":5}\n",
|
||
"dataset3[\"emotion_label\"] = dataset3[\"emotion\"].map(emotion_mapping)\n",
|
||
"dataset3"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 72,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"dataset3['TextoLema']=preprocess_text_column(dataset3, 'Text')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 73,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>Text</th>\n",
|
||
" <th>emotion</th>\n",
|
||
" <th>emotion_label</th>\n",
|
||
" <th>TextoLema</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>That game hurt.</td>\n",
|
||
" <td>Sadness</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>game hurt</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>Man I love reddit.</td>\n",
|
||
" <td>Disgust</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>man love reddit</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>So happy for [NAME]. So sad he's not here. Ima...</td>\n",
|
||
" <td>Sadness</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>happy sad s imagine team instead ugh</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>I just came home, what the fuck is this lineup...</td>\n",
|
||
" <td>Disgust</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>come home fuck lineup love mad bastard</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>By far the coolest thing I've seen on this thr...</td>\n",
|
||
" <td>Happiness</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>far cool thing ve see thread</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>38253</th>\n",
|
||
" <td>I just called the Capitol Police. They are not...</td>\n",
|
||
" <td>Anger</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>call capitol police affect shutdown fuck shit</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>38254</th>\n",
|
||
" <td>What a great photo and you two look so happy. 😍</td>\n",
|
||
" <td>Happiness</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>great photo look happy</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>38255</th>\n",
|
||
" <td>Well, I'm glad you're out of all that now. How...</td>\n",
|
||
" <td>Happiness</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>glad awful way act think healthy boundary hostile</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>38256</th>\n",
|
||
" <td>Everyone likes [NAME].</td>\n",
|
||
" <td>Disgust</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>like</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>38257</th>\n",
|
||
" <td>The FDA has plenty to criticize. But like here...</td>\n",
|
||
" <td>Anger</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>fda plenty criticize like usually criticize ho...</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>38258 rows × 4 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" Text emotion \\\n",
|
||
"0 That game hurt. Sadness \n",
|
||
"1 Man I love reddit. Disgust \n",
|
||
"2 So happy for [NAME]. So sad he's not here. Ima... Sadness \n",
|
||
"3 I just came home, what the fuck is this lineup... Disgust \n",
|
||
"4 By far the coolest thing I've seen on this thr... Happiness \n",
|
||
"... ... ... \n",
|
||
"38253 I just called the Capitol Police. They are not... Anger \n",
|
||
"38254 What a great photo and you two look so happy. 😍 Happiness \n",
|
||
"38255 Well, I'm glad you're out of all that now. How... Happiness \n",
|
||
"38256 Everyone likes [NAME]. Disgust \n",
|
||
"38257 The FDA has plenty to criticize. But like here... Anger \n",
|
||
"\n",
|
||
" emotion_label TextoLema \n",
|
||
"0 4 game hurt \n",
|
||
"1 2 man love reddit \n",
|
||
"2 4 happy sad s imagine team instead ugh \n",
|
||
"3 2 come home fuck lineup love mad bastard \n",
|
||
"4 1 far cool thing ve see thread \n",
|
||
"... ... ... \n",
|
||
"38253 0 call capitol police affect shutdown fuck shit \n",
|
||
"38254 1 great photo look happy \n",
|
||
"38255 1 glad awful way act think healthy boundary hostile \n",
|
||
"38256 2 like \n",
|
||
"38257 0 fda plenty criticize like usually criticize ho... \n",
|
||
"\n",
|
||
"[38258 rows x 4 columns]"
|
||
]
|
||
},
|
||
"execution_count": 73,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"dataset3 = dataset3.dropna(subset=['TextoLema'])\n",
|
||
"#dataset3 = dataset3[dataset3['TextoLema'].str.split().str.len() > 2]\n",
|
||
"dataset3"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 74,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"dataset3.to_excel(\"C:\\\\Users\\\\garci\\\\OneDrive\\\\Área de Trabalho\\\\Programa PJM\\\\Programa final\\\\Dataset\\\\GoemotionsEN.xlsx\", index=False)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## PREPARAÇÃO DOS DADOS"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 75,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>Text</th>\n",
|
||
" <th>emotion</th>\n",
|
||
" <th>emotion_label</th>\n",
|
||
" <th>TextoLema</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>That game hurt.</td>\n",
|
||
" <td>Sadness</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>game hurt</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>Man I love reddit.</td>\n",
|
||
" <td>Disgust</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>man love reddit</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>So happy for [NAME]. So sad he's not here. Ima...</td>\n",
|
||
" <td>Sadness</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>happy sad s imagine team instead ugh</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>I just came home, what the fuck is this lineup...</td>\n",
|
||
" <td>Disgust</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>come home fuck lineup love mad bastard</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>By far the coolest thing I've seen on this thr...</td>\n",
|
||
" <td>Happiness</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>far cool thing ve see thread</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>38253</th>\n",
|
||
" <td>I just called the Capitol Police. They are not...</td>\n",
|
||
" <td>Anger</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>call capitol police affect shutdown fuck shit</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>38254</th>\n",
|
||
" <td>What a great photo and you two look so happy. 😍</td>\n",
|
||
" <td>Happiness</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>great photo look happy</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>38255</th>\n",
|
||
" <td>Well, I'm glad you're out of all that now. How...</td>\n",
|
||
" <td>Happiness</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>glad awful way act think healthy boundary hostile</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>38256</th>\n",
|
||
" <td>Everyone likes [NAME].</td>\n",
|
||
" <td>Disgust</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>like</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>38257</th>\n",
|
||
" <td>The FDA has plenty to criticize. But like here...</td>\n",
|
||
" <td>Anger</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>fda plenty criticize like usually criticize ho...</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>38258 rows × 4 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" Text emotion \\\n",
|
||
"0 That game hurt. Sadness \n",
|
||
"1 Man I love reddit. Disgust \n",
|
||
"2 So happy for [NAME]. So sad he's not here. Ima... Sadness \n",
|
||
"3 I just came home, what the fuck is this lineup... Disgust \n",
|
||
"4 By far the coolest thing I've seen on this thr... Happiness \n",
|
||
"... ... ... \n",
|
||
"38253 I just called the Capitol Police. They are not... Anger \n",
|
||
"38254 What a great photo and you two look so happy. 😍 Happiness \n",
|
||
"38255 Well, I'm glad you're out of all that now. How... Happiness \n",
|
||
"38256 Everyone likes [NAME]. Disgust \n",
|
||
"38257 The FDA has plenty to criticize. But like here... Anger \n",
|
||
"\n",
|
||
" emotion_label TextoLema \n",
|
||
"0 4 game hurt \n",
|
||
"1 2 man love reddit \n",
|
||
"2 4 happy sad s imagine team instead ugh \n",
|
||
"3 2 come home fuck lineup love mad bastard \n",
|
||
"4 1 far cool thing ve see thread \n",
|
||
"... ... ... \n",
|
||
"38253 0 call capitol police affect shutdown fuck shit \n",
|
||
"38254 1 great photo look happy \n",
|
||
"38255 1 glad awful way act think healthy boundary hostile \n",
|
||
"38256 2 like \n",
|
||
"38257 0 fda plenty criticize like usually criticize ho... \n",
|
||
"\n",
|
||
"[38258 rows x 4 columns]"
|
||
]
|
||
},
|
||
"execution_count": 75,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"dataset3=pd.read_excel(\"C:\\\\Users\\\\garci\\\\OneDrive\\\\Área de Trabalho\\\\Programa PJM\\\\Programa final\\\\Dataset\\\\GoemotionsEN.xlsx\")\n",
|
||
"dataset3"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 76,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"135"
|
||
]
|
||
},
|
||
"execution_count": 76,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"dataset3['TextoLema'].isnull().sum()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 77,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"dataset3 = dataset3.dropna(subset=['TextoLema'])"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 78,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"X=dataset3['TextoLema']\n",
|
||
"y=dataset3['emotion_label']"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"vectorizer"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 79,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "ddafd85f3262424b9f8c4e242a293b68",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
" 0%| | 0/192 [00:00<?, ?it/s]"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Melhores parâmetros do CountVectorizer (menor esparsidade): (500, 1, 0.5, (1, 3))\n",
|
||
"Esparsidade: 98.23%\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"vectorizer_params = {'max_features': [500, 1000, 2000, 5000],'min_df': [1, 2, 3, 5],'max_df': [0.5, 0.6, 0.7, 0.8],'ngram_range': [(1, 1), (1, 2), (1, 3)]}\n",
|
||
"combinations = list(product(vectorizer_params['max_features'], vectorizer_params['min_df'], vectorizer_params['max_df'], vectorizer_params['ngram_range']))\n",
|
||
"best_sparsity = float('inf')\n",
|
||
"best_params = {}\n",
|
||
"with tqdm(total=len(combinations)) as pbar:\n",
|
||
" for combo in combinations:\n",
|
||
" max_features, min_df, max_df, ngram_range = combo\n",
|
||
" vectorizer = CountVectorizer(max_features=max_features,min_df=min_df, max_df=max_df,ngram_range=ngram_range)\n",
|
||
" X_vec = vectorizer.fit_transform(dataset3['Text'])\n",
|
||
" sparsity = 100 * (1 - X_vec.nnz / (X_vec.shape[0] * X_vec.shape[1]))\n",
|
||
" if sparsity < best_sparsity:\n",
|
||
" best_sparsity = sparsity\n",
|
||
" best_params = combo\n",
|
||
" pbar.update(1)\n",
|
||
"print(f\"Melhores parâmetros do CountVectorizer (menor esparsidade): {best_params}\")\n",
|
||
"print(f\"Esparsidade: {best_sparsity:.2f}%\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 83,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"['Modelos//vectorizerVF.joblib']"
|
||
]
|
||
},
|
||
"execution_count": 83,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"vectorizer = CountVectorizer(max_features = 500, min_df = 1, max_df = 0.5,ngram_range=(1,3))\n",
|
||
"X = vectorizer.fit_transform(dataset3['TextoLema']).toarray()\n",
|
||
"joblib.dump(vectorizer, 'Modelos//vectorizerVF.joblib')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"treino 60%, val=20% e teste=20%"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 84,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"X_train_val, X_test, y_train_val, y_test = train_test_split(X, y, test_size=0.20, random_state=42, stratify=y)\n",
|
||
"X_train, X_val, y_train, y_val = train_test_split(X_train_val, y_train_val, test_size=0.25, random_state=42, stratify=y_train_val)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## REGRESSÃO LOGISTICA"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 85,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"from imblearn.under_sampling import RandomUnderSampler\n",
|
||
"\n",
|
||
"undersample = RandomUnderSampler(random_state=42)\n",
|
||
"X_train_balanced, y_train_balanced = undersample.fit_resample(X_train, y_train)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 87,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "f1578f07fc5643c9b02b67e18e2006f2",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
" 0%| | 0/84 [00:00<?, ?it/s]"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Melhores Parâmetros: {'C': 0.001, 'class_weight': None, 'max_iter': 500, 'solver': 'liblinear'}\n",
|
||
"Melhor accuracy: 0.6463089802130898\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"param_grid = {\n",
|
||
" 'C': [0.001, 0.01, 0.1, 1, 10, 100, 1000],\n",
|
||
" 'solver': ['lbfgs', 'liblinear', 'saga'],\n",
|
||
" 'class_weight': [None, 'balanced'],\n",
|
||
" 'max_iter': [500, 1000]\n",
|
||
"}\n",
|
||
"scaler = StandardScaler()\n",
|
||
"X_train_scaled = scaler.fit_transform(X_train_balanced)\n",
|
||
"grid_search = GridSearchCV(estimator=LogisticRegression(random_state=42), param_grid=param_grid,scoring='accuracy',cv=3, n_jobs=-1)\n",
|
||
"n_combinations = len(list(product(*param_grid.values()))) \n",
|
||
"with tqdm(total=n_combinations) as pbar: \n",
|
||
" grid_search.fit(X_train_scaled, y_train_balanced)\n",
|
||
" pbar.update(n_combinations) \n",
|
||
"print(\"Melhores Parâmetros:\", grid_search.best_params_)\n",
|
||
"print(\"Melhor accuracy:\", grid_search.best_score_)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"Melhores Parâmetros: {'C': 0.001, 'class_weight': None, 'max_iter': 500, 'solver': 'liblinear'}\n",
|
||
"\n",
|
||
"Melhor accuracy: 0.6601487361454299"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 88,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"classifier = LogisticRegression(C=0.001,solver='liblinear',max_iter=500, class_weight=None, random_state = 42)\n",
|
||
"classifier.fit(X_train_balanced,y_train_balanced)\n",
|
||
"y_pred = classifier.predict(X_test)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 89,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"['Modelos//logistic_regression_model.joblib']"
|
||
]
|
||
},
|
||
"execution_count": 89,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"joblib.dump(classifier, 'Modelos//logistic_regression_model.joblib')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 90,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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",
|
||
"text/plain": [
|
||
"<Figure size 640x480 with 2 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"cm = confusion_matrix(y_test, y_pred)\n",
|
||
"CMatrix = ConfusionMatrixDisplay(confusion_matrix=cm, display_labels=classifier.classes_)\n",
|
||
"CMatrix.plot()\n",
|
||
"plt.title('Matriz de Confusão Logistic Regression', color=\"darkblue\")\n",
|
||
"plt.xlabel('Previsões', color=\"darkblue\")\n",
|
||
"plt.ylabel('Real', color=\"darkblue\")\n",
|
||
"plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 91,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
" precision recall f1-score support\n",
|
||
"\n",
|
||
" 0 0.68 0.49 0.57 1565\n",
|
||
" 1 0.73 0.55 0.63 1578\n",
|
||
" 2 0.77 0.78 0.77 1534\n",
|
||
" 3 0.26 0.59 0.36 584\n",
|
||
" 4 0.65 0.55 0.60 1349\n",
|
||
" 5 0.46 0.58 0.51 1015\n",
|
||
"\n",
|
||
" accuracy 0.59 7625\n",
|
||
" macro avg 0.59 0.59 0.57 7625\n",
|
||
"weighted avg 0.64 0.59 0.60 7625\n",
|
||
"\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"classes = np.unique(y)\n",
|
||
"print(classification_report(y_test.tolist(), y_pred.tolist(), labels=classes.tolist()))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 101,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "75d04b694d4247f2a8297581f2b64cc9",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
" 0%| | 0/13122 [00:00<?, ?it/s]"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"ename": "KeyboardInterrupt",
|
||
"evalue": "",
|
||
"output_type": "error",
|
||
"traceback": [
|
||
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
|
||
"\u001b[1;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
|
||
"Cell \u001b[1;32mIn[101], line 17\u001b[0m\n\u001b[0;32m 15\u001b[0m n_combinations \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlen\u001b[39m(\u001b[38;5;28mlist\u001b[39m(product(\u001b[38;5;241m*\u001b[39mparam_grid\u001b[38;5;241m.\u001b[39mvalues()))) \n\u001b[0;32m 16\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m tqdm(total\u001b[38;5;241m=\u001b[39mn_combinations) \u001b[38;5;28;01mas\u001b[39;00m pbar: \n\u001b[1;32m---> 17\u001b[0m \u001b[43mgrid_search\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfit\u001b[49m\u001b[43m(\u001b[49m\u001b[43mX_train_scaled\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my_train_balanced\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 18\u001b[0m pbar\u001b[38;5;241m.\u001b[39mupdate(n_combinations)\n\u001b[0;32m 19\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMelhores Parâmetros:\u001b[39m\u001b[38;5;124m\"\u001b[39m, grid_search\u001b[38;5;241m.\u001b[39mbest_params_)\n",
|
||
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python312\\site-packages\\sklearn\\base.py:1473\u001b[0m, in \u001b[0;36m_fit_context.<locals>.decorator.<locals>.wrapper\u001b[1;34m(estimator, *args, **kwargs)\u001b[0m\n\u001b[0;32m 1466\u001b[0m estimator\u001b[38;5;241m.\u001b[39m_validate_params()\n\u001b[0;32m 1468\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m config_context(\n\u001b[0;32m 1469\u001b[0m skip_parameter_validation\u001b[38;5;241m=\u001b[39m(\n\u001b[0;32m 1470\u001b[0m prefer_skip_nested_validation \u001b[38;5;129;01mor\u001b[39;00m global_skip_validation\n\u001b[0;32m 1471\u001b[0m )\n\u001b[0;32m 1472\u001b[0m ):\n\u001b[1;32m-> 1473\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfit_method\u001b[49m\u001b[43m(\u001b[49m\u001b[43mestimator\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
|
||
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python312\\site-packages\\sklearn\\model_selection\\_search.py:1019\u001b[0m, in \u001b[0;36mBaseSearchCV.fit\u001b[1;34m(self, X, y, **params)\u001b[0m\n\u001b[0;32m 1013\u001b[0m results \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_format_results(\n\u001b[0;32m 1014\u001b[0m all_candidate_params, n_splits, all_out, all_more_results\n\u001b[0;32m 1015\u001b[0m )\n\u001b[0;32m 1017\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m results\n\u001b[1;32m-> 1019\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_run_search\u001b[49m\u001b[43m(\u001b[49m\u001b[43mevaluate_candidates\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1021\u001b[0m \u001b[38;5;66;03m# multimetric is determined here because in the case of a callable\u001b[39;00m\n\u001b[0;32m 1022\u001b[0m \u001b[38;5;66;03m# self.scoring the return type is only known after calling\u001b[39;00m\n\u001b[0;32m 1023\u001b[0m first_test_score \u001b[38;5;241m=\u001b[39m all_out[\u001b[38;5;241m0\u001b[39m][\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtest_scores\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n",
|
||
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python312\\site-packages\\sklearn\\model_selection\\_search.py:1573\u001b[0m, in \u001b[0;36mGridSearchCV._run_search\u001b[1;34m(self, evaluate_candidates)\u001b[0m\n\u001b[0;32m 1571\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21m_run_search\u001b[39m(\u001b[38;5;28mself\u001b[39m, evaluate_candidates):\n\u001b[0;32m 1572\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Search all candidates in param_grid\"\"\"\u001b[39;00m\n\u001b[1;32m-> 1573\u001b[0m \u001b[43mevaluate_candidates\u001b[49m\u001b[43m(\u001b[49m\u001b[43mParameterGrid\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mparam_grid\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n",
|
||
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python312\\site-packages\\sklearn\\model_selection\\_search.py:965\u001b[0m, in \u001b[0;36mBaseSearchCV.fit.<locals>.evaluate_candidates\u001b[1;34m(candidate_params, cv, more_results)\u001b[0m\n\u001b[0;32m 957\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mverbose \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[0;32m 958\u001b[0m \u001b[38;5;28mprint\u001b[39m(\n\u001b[0;32m 959\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mFitting \u001b[39m\u001b[38;5;132;01m{0}\u001b[39;00m\u001b[38;5;124m folds for each of \u001b[39m\u001b[38;5;132;01m{1}\u001b[39;00m\u001b[38;5;124m candidates,\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 960\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m totalling \u001b[39m\u001b[38;5;132;01m{2}\u001b[39;00m\u001b[38;5;124m fits\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;241m.\u001b[39mformat(\n\u001b[0;32m 961\u001b[0m n_splits, n_candidates, n_candidates \u001b[38;5;241m*\u001b[39m n_splits\n\u001b[0;32m 962\u001b[0m )\n\u001b[0;32m 963\u001b[0m )\n\u001b[1;32m--> 965\u001b[0m out \u001b[38;5;241m=\u001b[39m \u001b[43mparallel\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 966\u001b[0m \u001b[43m \u001b[49m\u001b[43mdelayed\u001b[49m\u001b[43m(\u001b[49m\u001b[43m_fit_and_score\u001b[49m\u001b[43m)\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 967\u001b[0m \u001b[43m \u001b[49m\u001b[43mclone\u001b[49m\u001b[43m(\u001b[49m\u001b[43mbase_estimator\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 968\u001b[0m \u001b[43m \u001b[49m\u001b[43mX\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 969\u001b[0m \u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 970\u001b[0m \u001b[43m \u001b[49m\u001b[43mtrain\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtrain\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 971\u001b[0m \u001b[43m \u001b[49m\u001b[43mtest\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtest\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 972\u001b[0m \u001b[43m \u001b[49m\u001b[43mparameters\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mparameters\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 973\u001b[0m \u001b[43m \u001b[49m\u001b[43msplit_progress\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43msplit_idx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mn_splits\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 974\u001b[0m \u001b[43m \u001b[49m\u001b[43mcandidate_progress\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mcand_idx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mn_candidates\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 975\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mfit_and_score_kwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 976\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 977\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43m(\u001b[49m\u001b[43mcand_idx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mparameters\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m(\u001b[49m\u001b[43msplit_idx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m(\u001b[49m\u001b[43mtrain\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtest\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mproduct\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 978\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43menumerate\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mcandidate_params\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 979\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43menumerate\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mcv\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msplit\u001b[49m\u001b[43m(\u001b[49m\u001b[43mX\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mrouted_params\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msplitter\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msplit\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 980\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 981\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 983\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(out) \u001b[38;5;241m<\u001b[39m \u001b[38;5;241m1\u001b[39m:\n\u001b[0;32m 984\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[0;32m 985\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mNo fits were performed. \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 986\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mWas the CV iterator empty? \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 987\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mWere there no candidates?\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 988\u001b[0m )\n",
|
||
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python312\\site-packages\\sklearn\\utils\\parallel.py:74\u001b[0m, in \u001b[0;36mParallel.__call__\u001b[1;34m(self, iterable)\u001b[0m\n\u001b[0;32m 69\u001b[0m config \u001b[38;5;241m=\u001b[39m get_config()\n\u001b[0;32m 70\u001b[0m iterable_with_config \u001b[38;5;241m=\u001b[39m (\n\u001b[0;32m 71\u001b[0m (_with_config(delayed_func, config), args, kwargs)\n\u001b[0;32m 72\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m delayed_func, args, kwargs \u001b[38;5;129;01min\u001b[39;00m iterable\n\u001b[0;32m 73\u001b[0m )\n\u001b[1;32m---> 74\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[38;5;21;43m__call__\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43miterable_with_config\u001b[49m\u001b[43m)\u001b[49m\n",
|
||
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python312\\site-packages\\joblib\\parallel.py:2007\u001b[0m, in \u001b[0;36mParallel.__call__\u001b[1;34m(self, iterable)\u001b[0m\n\u001b[0;32m 2001\u001b[0m \u001b[38;5;66;03m# The first item from the output is blank, but it makes the interpreter\u001b[39;00m\n\u001b[0;32m 2002\u001b[0m \u001b[38;5;66;03m# progress until it enters the Try/Except block of the generator and\u001b[39;00m\n\u001b[0;32m 2003\u001b[0m \u001b[38;5;66;03m# reaches the first `yield` statement. This starts the asynchronous\u001b[39;00m\n\u001b[0;32m 2004\u001b[0m \u001b[38;5;66;03m# dispatch of the tasks to the workers.\u001b[39;00m\n\u001b[0;32m 2005\u001b[0m \u001b[38;5;28mnext\u001b[39m(output)\n\u001b[1;32m-> 2007\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m output \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mreturn_generator \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;28;43mlist\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43moutput\u001b[49m\u001b[43m)\u001b[49m\n",
|
||
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python312\\site-packages\\joblib\\parallel.py:1650\u001b[0m, in \u001b[0;36mParallel._get_outputs\u001b[1;34m(self, iterator, pre_dispatch)\u001b[0m\n\u001b[0;32m 1647\u001b[0m \u001b[38;5;28;01myield\u001b[39;00m\n\u001b[0;32m 1649\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_backend\u001b[38;5;241m.\u001b[39mretrieval_context():\n\u001b[1;32m-> 1650\u001b[0m \u001b[38;5;28;01myield from\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_retrieve()\n\u001b[0;32m 1652\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mGeneratorExit\u001b[39;00m:\n\u001b[0;32m 1653\u001b[0m \u001b[38;5;66;03m# The generator has been garbage collected before being fully\u001b[39;00m\n\u001b[0;32m 1654\u001b[0m \u001b[38;5;66;03m# consumed. This aborts the remaining tasks if possible and warn\u001b[39;00m\n\u001b[0;32m 1655\u001b[0m \u001b[38;5;66;03m# the user if necessary.\u001b[39;00m\n\u001b[0;32m 1656\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_exception \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m\n",
|
||
"File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python312\\site-packages\\joblib\\parallel.py:1762\u001b[0m, in \u001b[0;36mParallel._retrieve\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 1757\u001b[0m \u001b[38;5;66;03m# If the next job is not ready for retrieval yet, we just wait for\u001b[39;00m\n\u001b[0;32m 1758\u001b[0m \u001b[38;5;66;03m# async callbacks to progress.\u001b[39;00m\n\u001b[0;32m 1759\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m ((\u001b[38;5;28mlen\u001b[39m(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_jobs) \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m0\u001b[39m) \u001b[38;5;129;01mor\u001b[39;00m\n\u001b[0;32m 1760\u001b[0m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_jobs[\u001b[38;5;241m0\u001b[39m]\u001b[38;5;241m.\u001b[39mget_status(\n\u001b[0;32m 1761\u001b[0m timeout\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtimeout) \u001b[38;5;241m==\u001b[39m TASK_PENDING)):\n\u001b[1;32m-> 1762\u001b[0m \u001b[43mtime\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msleep\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m0.01\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1763\u001b[0m \u001b[38;5;28;01mcontinue\u001b[39;00m\n\u001b[0;32m 1765\u001b[0m \u001b[38;5;66;03m# We need to be careful: the job list can be filling up as\u001b[39;00m\n\u001b[0;32m 1766\u001b[0m \u001b[38;5;66;03m# we empty it and Python list are not thread-safe by\u001b[39;00m\n\u001b[0;32m 1767\u001b[0m \u001b[38;5;66;03m# default hence the use of the lock\u001b[39;00m\n",
|
||
"\u001b[1;31mKeyboardInterrupt\u001b[0m: "
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"param_grid = {\n",
|
||
" 'n_estimators': [50, 100, 200],\n",
|
||
" 'learning_rate': [0.01, 0.1, 0.2],\n",
|
||
" 'max_depth': [3, 5, 10],\n",
|
||
" 'subsample': [0.8, 1.0],\n",
|
||
" 'colsample_bytree': [0.6, 0.8, 1.0],\n",
|
||
" 'gamma': [0, 0.1, 0.5],\n",
|
||
" 'min_child_weight': [1, 3, 5],\n",
|
||
" 'reg_alpha': [0, 0.01, 0.1],\n",
|
||
" 'reg_lambda': [1, 1.5, 2]\n",
|
||
"}\n",
|
||
"scaler = StandardScaler()\n",
|
||
"X_train_scaled = scaler.fit_transform(X_train_balanced)\n",
|
||
"grid_search = GridSearchCV(estimator=XGBClassifier(random_state=42, tree_method='gpu_hist'),param_grid=param_grid,scoring='accuracy',cv=2, n_jobs=-1)\n",
|
||
"n_combinations = len(list(product(*param_grid.values()))) \n",
|
||
"with tqdm(total=n_combinations) as pbar: \n",
|
||
" grid_search.fit(X_train_scaled, y_train_balanced)\n",
|
||
" pbar.update(n_combinations)\n",
|
||
"print(\"Melhores Parâmetros:\", grid_search.best_params_)\n",
|
||
"print(\"Melhor accuracy:\", grid_search.best_score_)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"Melhores Parâmetros: {'colsample_bytree': 0.8, 'gamma': 0.1, 'learning_rate': 0.1, 'max_depth': 5, 'min_child_weight': 1, 'n_estimators': 100, 'reg_alpha': 0, 'reg_lambda': 1, 'subsample': 0.8}\n",
|
||
"\n",
|
||
"Melhor accuracy: 0.6592488954270308"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 93,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"c:\\Users\\garci\\anaconda32\\Lib\\site-packages\\xgboost\\core.py:158: UserWarning: [15:50:34] WARNING: C:\\buildkite-agent\\builds\\buildkite-windows-cpu-autoscaling-group-i-0c55ff5f71b100e98-1\\xgboost\\xgboost-ci-windows\\src\\learner.cc:740: \n",
|
||
"Parameters: { \"gama\" } are not used.\n",
|
||
"\n",
|
||
" warnings.warn(smsg, UserWarning)\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"xgb = XGBClassifier(colsample_bytree=0.8, gama=0.1, learning_rate= 0.1, max_depth=5,min_child_weight=1, n_estimators=100, subsample=0.8, reg_alpha=0, reg_lambda=1)\n",
|
||
"xgb.fit(X_train_scaled,y_train_balanced)\n",
|
||
"previsoesxgb = xgb.predict(X_test)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 98,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"['Modelos//logistic_regression_model.joblib']"
|
||
]
|
||
},
|
||
"execution_count": 98,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"joblib.dump(xgb, 'Modelos//logistic_regression_model.joblib')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 94,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAgoAAAHJCAYAAADkVRHSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACx5klEQVR4nOzdd1yV1R/A8c+97I1sEBEEcc8cuXKV5irN0jQt907L1DTNbZp75fq5co+0TM2VI/fe4kJRUECG7A33+f1xE7sBhXIBje/79bov9HnOPc/33Pl9zjnPuSpFURSEEEIIIbKhLuwAhBBCCPHqkkRBCCGEEDmSREEIIYQQOZJEQQghhBA5kkRBCCGEEDmSREEIIYQQOZJEQQghhBA5kkRBCCGEEDmSROE/RNbOEq8ieV0K8XqTRKEANWq0CZVqJnXrbsixzMcf70Slmkm3bnteqO4TJx7TqtX2fy03fvwJVKqZL1R3bhw5EohKNZMjRwL1Ul90dDITJ56kcuXVWFnNw8npB5o23cLOnff0Un92rl0Lp1q1NZiYzKF8+ZV6qzclJZ2mTbdgZDQbA4NZGBrOwspqHnfuPM1z3d267cHTc5keoswdlWom48efyHX55cuvMmzYkcz/r159HZVqJg8exLx0DN267UGlmpnlZmk5j0qVVjN79vmXrvtV9qKPvRD6YljYARQ1arWK06eDefQoDnd3K519CQmpL/1F+L//XcXPL/Jfy/XqVZl33/V6qWMUlFu3ImnRYhsZGQpDhlSnShUnEhLSWL/ej/fe+5lJk+oxZkwdvR93woSTPHwYy88/v4+Tk7ne6lWpVMyb15jExHQMDdWYmBjg4WGNlZWx3o5RUE6d6pzldftPJk8+TaNGJTL/36pVKU6d6oyrq0We4nBxseDnn9/P/L+iQGhoAkuXXuGrr45gZmZI//5V83SMV82LPvZC6IskCgWsenUnbtyIZOvW23z5ZQ2dfTt33sfCwohixUzz7fju7lav9IdNWloGHTrsxMjIgDNnPsbJ6fkXyvvv+9Cnz36+/fYEbdp4U6WKk16PHRmZTKVKDrRsWUqv9RobG1CxoqNe6ywsb77plqf7Ozqa4+iY9yTMxMQg21haty5FqVLLWbXq+n8uUcjrYy/Ey5KhhwJmYWFEq1al2Lr1TpZ9mzff4sMPfTE01H1aIiISGTjwd0qWXIqx8Wzs7BbSrt0vmd233brt4ccfb/DwYSwq1UxWr77OgwcxqFQzmT37PGXLrsTcfC6rVl3TGXp4Via72791Zy9degVf3xWYmc2lYcNNPHwYm6VMYGAsnTrtws5uIebmc2nadAuXLj35x3p3777PtWsRTJ5cTydJeGbixHoMGlSN9HRN5rbz50N5992fsLdfiLX1fNq02c6NGxGZ+58Nixw8+JBmzbZibj4XF5dFfP31H2RkaOvRDpsEcfToo8zHMKdhmr93AW/ceJMqVX7EzGwujo4/0KXLboKD4zP3JyWlMWrUUUqXXo6JyRysrefzzjtbuXw5TKfeAwce0KDBRmxs5mNvv5DOnXcRFJT1cX0Z//YYgbYnp2XLbVhbz8fZeRGjRx+jR4+9NGq0Kce2z5t3gbJlV2JqOofixZcwYMABYmNTAPD0XMbDh7H8+OONzOGG7IYefvvtPvXqbcDCYi5ubovp1+8A0dHJL9VOIyMDLCyMUKl0ty9ffpUKFVZhYjIHD4+ljB9/IvO5f+bHH69Tvry2LVWq/MjBgw8xNJzF6tXXAe2wiaHhLJYvv4qLyyLs7Bbi56d9DHfs8KdGjbWYms7BxWURQ4YcIiEhNbPupKQ0Bgw4gLv7EkxM5lC27Epmzjync/x/eiyze+xDQuLp0WMvJUosxcxsLrVqrePXX/116lSpZrJo0SV69dqHnd1CrKzm0aHDrzx5kvBSj68omiRRKAQdO5bJHH54JjY2hT17AujUqZxOWUVRaNVqO/v3P+D77xuyf/+HjB9fl4MHA+nX7wAA335bh5YtvXBxseDUqc60avX8jHj8+JN8/XVN1q5tyTvveOrU7eqqLf/X29SpDQDo1atSjvEvXHiRfv0O0KpVKXbsaMubb7rSp88BnTIREYnUrbuBCxeesHBhUzZubI1Go/DWW5u4eTPnIZK9ex9gYKDK8azexcWCBQua8sYbLgAcPhxI3bobUBRYtepdli9vRlBQHHXrbuDWLd3jfPLJbho0cGfXrg/o3Lkc06efY/nya4C2W7daNSeqVXPK8hj+kxMnHtO162+0b1+aPXs+YM6cxhw8GEinTrsyy3z66R5WrrzOqFG12b//Q2bPbsSNGxF07rwrc6Lf2rU3aNbsJ0qUsGLjxtbMmdOYU6eCqVNnA2FheftQz81jFBGRyFtvbSIwMJZVq95l/vwm/PTTHTZsuJljvRs33mTEiKMMHFiVffs+ZOzYOqxd68fnnx8E4Oef38fFxYKWLb1yHG7YteserVtvx8nJnC1b2vD992/x88936dhxV5ayf5eersm8paSk8+BBDEOHHub27ad8+mmFzHJTp56hT5/9vP12SXbubMegQdX4/vtz9OmzP7PMmjU36NZtL/XqFWfHjrZ8+KEvbdv+QkaG7kTMjAyFWbPOs2JFc+bMaUS5cvZs2HCTtm1/oWxZO375pS3jx9dl7Vo/3n//l8zn94svDrNnTwAzZzZi3772vP++N8OH/8GqVddy9Vj+3ZMnCdSsuY6jRx/x3Xf12bbtPTw9rWnb9hfWr/fTKfvNN8fJyNCwaVNrZsxoyM6d9/nii8P/+vgK8YwMPRSCVq1KYWFhpDP88PPPd3FyMqd+/eI6ZUNCErCwMGLWrEbUr+8OQKNGHvj7R7Fs2VUAvL1tcXQ01+mOTUjQnrF16FCG7t2z/9I3MTHU6c68dy+amTPP88EHpRk9+s1s76MoCpMmnaZjxzLMmdMYgGbNPImNTWXJkiuZ5ebMuUBkZDInTnSiZEkbAFq08KJcuZWMHXuCrVvfy7b+oKBYHBzMsLTM3fj9yJFHKV26GL/99gEGBurMeLy9lzN27Am2bHl+nN69K/Ptt9q5DU2aePDLL/7s2nWPvn2r8Oabblhba4/5Il28x449wtzciK+/roWJifbtZG9vyrlzoSiKQlqahri4VBYsaEKHDmUBaNiwBLGxqXz11RGePEnEycmcESOO0ry5Jxs2tM6su1694pQvv4qZM88zfXrDXMf0Mo/R/PkXiYtL4/Llj3Bzs/zzcXDF1zfnSZ1//PEILy8bBg6shlqtomHDElhaGvH0qbY3oFo1Z0xMDHB0NM/xMR0//iRVqzqxffv7qP7sBjA2NmDs2BM8eZKAs3P2cxkePozFyGh2lu2lSxdj0aK36devCgAxMSlMmnSKvn2rMG9ek8y229ub0avXPoYOrUGFCg58++1x2rTx5n//aw5A8+ZeGBmpGTXqWJZjjB79Jq1aeQPa98PXXx/l3Xc9WbeulU4cb7+9ld9+u0+rVt788ccj3nnHk48/1r4GGjXywNLSOHMuzL89ln83e/Z5wsOTuHOnR+b7q2XLUrz99haGDfuDTp3KoVZrH89KlRxYtapF5n3Png1l69bb2dYrRHakR6EQmJkZ0aaNt87ww6ZNt+jYsUzmh+Uzbm6WHDrUkXr1ivPgQQwHDjxgwYKLnDgRTEpKxr8eq2rV3I2Nx8am8N57P+PiYs6PP7bIEsczt28/JSwskTZtvHW2d+hQRuf/Bw8GUrWqI8WLW2We9anVKlq08OLAgYc5xmFoqM5yFpeThIRUzp0LpUOHMplfgAC2tqa0aePNkSNBOuXr1NH9snJ3tyIhIS1Xx8pJw4YlSEhIo2LF1YwadZRjxx7RrJknY8fWRaVSYWxswN69H9KhQ1keP47j8OFAli69wq5d2kmrKSnp3L79lNDQBDp1KqtTt7e3LXXquGZpx4vI7WN06FAQdeu6ZSYJACVL2lC3bs5JU+PGJbh9+ylvvLGWiRNPcv58KJ07l+Pzz6vnKrakpDQuXnxCu3aldV5vHTuW5fbtnjkmCaDtDTt3rgvnznVh//4PadDAHTc3S378sQX9+1fNrO/UqWCSktJ57z1vnR6INm20PUYHDjzE3z+KwMA4PvrIV+cYf38+nvnre+r27ac8ehTHe+/56NTfsGEJrK2NM1/rjRuX4H//u0rLlttYuPAiAQHRfPttncyE40UfyyNHtM/XsyThmS5dyhMamqDTm5b1dW+Z59e9KFqkR6GQdOxYlnbtfuHRozjMzAz5/fdAJk+un23Z9ev9GDXqGEFBcdjZmVKtmhPm5rl76nJzZq7RKHTqtIvg4HjOnevyj/d5dobj4GCms/3v3cqRkUn4+0dne9YHkJiYhrm5UZbtJUtas2vXfeLjU3OM49kVI9HRKSiKdjji71xcLIiOTtHZ9vfHTK3Wtj0v6tRx47ffPmD27AvMnn2BadPO4uxszujRb2Z+yO/bF8AXXxzm1q2nWFkZU6WKI5aW2rYryvPHNKd2XLwYlmV7buX2MQoPT6R6decsZZydzQkNzX7oo2PHsmg0CosWXWbixFOMG3cST09rvv/+rczek3/y9GkyisJLXWFibGxAjRoumf+vV684NWqspUWLbZw9+wm+vnaA9nUI0LJl9pcOBwfHEx6uLfP3OHJKVP76uoyM1D53Awb8zoABv2dbP8DcuY1xd7di3To/Pv/8EJ9/fog6ddxYvPhtqlRxeuHH8unTZEqVss2y/dnz/NfXftbXvQpZ2kK8CEkUCsm773piZWXMTz/dwcLCCC8vm8xx9786fvwRn366h8GDqzNsWA2KF9desTBixB8cP/5YL7GMGPEHe/c+YPfuD/DxKfaPZZ8lCE+eJOpsf/aB+YytrQkNG7ozc2ajbOsxMTHIdnvz5p4sWHCJvXsD+PDDMln2R0Qk4uX1PwYOrMqUKfVRqcj2iywkJD5LMvOinp2VZmRoMs/G4+NTs5Rr3tyL5s29SExM49ChQObNu8jgwYd4801X7OzMaNt2B23b+rBr1weUKmWDSqVi0aJL7N37AAA7O+1VLtm3IyFP7bC1NcnVY+TubpXtBLewsMQs2/6qU6dydOpUjpiYlD/n0Zzlk09+o359d53eiezY2GhjCw/XPUZycjqHDwdSu7b28csNc3MjVq9uQZ06G+jefS/Hj3dCpVJha2sCwPr1rfD1zfradnZ+nhz8/TX9b20HMuufMaOhzmWgzzy7gsnExJDRo99k9Og3CQyMZefOe0yadIrOnXdz40Z34MUeSzs70xyfU8iayAuRFzL0UEhMTAxp29aHn366w5Ytt3Ps5jx5MhiNRmH8+LqZSUJGhiazS/PZGbGBQfZDBf/mxx+vM2vWeaZMqZ+r9RVKly5GiRJWWcY4/77+Q8OGJbh9Owpf32LUqOGSeVu71o8VK67pdIP/VfPmXlSq5MDo0cczzwb/auTIY6Sna/jkk3JYWBhTo4YLW7bc1pnBHhOTwq5d97PM93hRz+Ys/HXS6d+Ts2HDjlCz5loURcHc3IjWrb2ZOVM7n+Dhw1guXAglOTmdkSNr4e1tm5l87NkTAGifvzJl7HBxsWDjxls6dd+/H82pU8F5akduH6OGDd05dSpE58snJCSeU6dCcqy7Y8edtGv3C6D90v/oozJ8+20d0tM1mWfS//S6tLQ0pmpVpyyvnT17AmjZcrvOlSO5UauWK336VObkyWDWrLkBaOebGBsb8PhxnM7r0NBQO/8gICAGd3crvL1t+fnnuzr1bd9+N7vD6Chb1g4nJ3MCAmJ06i9e3JKRI49y6dITkpLS8PVdwaxZ2qscPDysGTiwGp06lcu8Wig3j+VfNWxYgpMng3n4UHfhqnXrbuLiYvGvCb8QL0J6FApRx45lad16O2q1igULmmRbplYtbS/DoEEH6dGjIk+fJvPDD5e4ckXbHZ2QkIaVlTG2tiY8eZLInj33qVo1d+sLnD4dTJ8+B2jY0J3mzT05cyZEZ7ndatWcMifoPaNSqfj++7fo3Hk3vXvv46OPynDqVDCLF1/WKTd0aA3WrvXj7be3MmxYDeztzdi8+Tb/+9/VzEmQ2TE0VLNmTUuaNdtKjRprGTLkDapUcSQ8PJFVq66zd+8Dpk1rQM2argBMndqA5s1/omXL7QwcWJXU1AymTj1LSkoGY8fmbVGmVq1KMXToEfr0OcDw4TUJCoplwoRTOgslNW3qwezZ5+nWbQ9dupQnNTWD6dPPYWdnSpMmHjx9moyhoZqvvz7KV1/VICUlg1WrrrN7931A+/yp1SqmTm1A9+576dx5F127liciIonx409iZ2fK0KE1cgoRgNjYVObOvZBlu4eHFR984Jurx2jw4OosXHiJ5s1/ytw2adIpUlMzMifF/V2TJh7063eAYcOO0LJlKaKikhk//iSlSxejShXtOL6trSmXLoXxxx9Bma/lv5o4sR7vvfcznTrt4rPPKhAamsCoUcdo29bnpdaemDy5Pps332bkyGN88IEv9vZmjBhRk2+/PUFsbCqNGpXg8eN4vv32OCqViipVnFCpVEycWI9PPtlN//4HaNeuNFeuhDFx4imAHNsPYGCgZsqU+vTtewADAxVt2ngTHa2dQPnoUTxvvOGMmZkRb7zhzIQJpzA2NqByZUdu337K6tXX+fBD31w/ln/17P3VtOlWxo+vi729KT/+eINDhwJZubL5P8YsxIuSRKEQvfNOSWxtTfHwsKJsWftsyzRq5MEPPzRl1qzzbN16G2dncxo39mD79vdp124Hx449omXLUnTvXpHffgvg/fd/YeLEepmzq//J3r0BpKZm8Mcfj6hefW2W/QEBvfH0tMmy/dmM6kmTTrF2rR+VKjmwdGkznUsC3dwsOXmyM6NGHaVfv99JTk7H17cYK1Y0p0ePnC+9BKha1Ylz57owa9Z5Fi26zOPHcVhaGlO5siN797anefPnPR9Nm5bk998/YuzYk3z88S5MTAx46y131qxpQYUKDv/6GPwTX1871qxpweTJp2nVajvlytnxv/814/PPD2WWadGiFOvXt/rzapEdqFQq6tcvzpEjHbGzM8POzoyNG1sxfvxJ3nvvF+zsTHnzTVeOHOlIo0abOXbsEZUqOdKtW0WsrIyZOvUMbdvuwNramHff9eK77+pnO7/gr6Kikvnyy6yXuzVt6sEHH/jm6jGytTXl8OGODBlyiK5df8PKypiBA6tibm6U41yRvn2rkJqawZIlV1i06DJmZoa8/XZJpk9/CyMj7dDSsGE1+OKLwzRv/hO///5Rljpat/Zm5852TJhwirZtf8HR0ZxPPinHhAl1c/08/ZW9vRmTJtVj0KCDTJhwkpkzGzFpUn1cXS344YfLTJ9+jmLFTHj77ZJ8910DbGy0QwedO5cjPj6VGTPOsXLldSpUsGfevCb07Lkvcz5JTnr1qoy1tTHTp59j2bKrWFoaU6+eG+vXt8LLyxaAZcuaMWbMcWbOPEdoqPZKl169KjFxYr1cP5Z/5eJiwcmTnRg58hiff36Q1NQMqlRxYseOtrz3ns9LPXZC5ESlyC+2CFHknTkTwtOnSbRo8Xz9iPR0DR4eS/n447LMnp1zL9B/wcaNN6le3ZkyZewyt+3efY/WrX/mypXPqFz5v7GyphAvQ3oUhBAEBsbSseNOxo6tQ6NG2ks+ly27SnR0Cr17Vy7s8PLdunV+jB59nMmT61OihBX+/lGMHXuSRo1KSJIgijzpURBCALBkyWUWLbrMvXvRGBsb8OabrkyaVF/nMsT/qsjIJEaOPMqePQGEhyfh7GzOhx/6MnFivVwv/iXEf5UkCkIIIYTIkVweKYQQQogcSaIghBBCiBxJoiCEEEKIHEmiIIQQQogc/ecuj0zXZBCSFFvgxzVUqXExsyY0KZZ0RfPvd9D38cMK59fgDAwNcHS3I/zRUzLS//3XLP8LDIwMcCxuR/jjp2SkFXybFbPCmYVvYKDGycGKsIg4neWgC4oqreCPaWCoxtHFhvDQGDLSC/74yksuzZ5XhgZqHJ2sCQ+LJb2An2snJ2sMDbP/LRh9UpR0yMh5ifJcMXBFpfrPfY1m8Z+76iEoIYrmB+YV+HHL2biyrXFf2h9eys2YPL74XkKJLgEFfkwAnyol+eHERAbWG4v/lZx/Pjpf5PBT2PnNp0pJfjg+gYH1xxV8m4GkhuUL/JgAvt7OLJ/3Gb2G/Mide08K/PjmAdEFfkyfcm4s/GkQgz5ciP/N4AI/fprDP/+wVn4pXdqZJct70q/XCu7eLdjneu3G/ri55f9vVSjpgWREZL90fm4ZOBxCZeihp4heXTL0IIQQQogc/ff7TIQQQohsZORxmDj/B0heDZIoCCGEKHIUQEPeRt4VoCj8TqckCkIIIYokDQU/QfV1JHMUhBBCCJEj6VEQQghRJGX8ty76yzeSKAghhChyFBQ9zFEoGomGDD0IIYQQIkfSoyCEEKJIyigiPQJ5JYmCEEKIIimvQw9FhQw9CCGEECJH0qMghBCiyFHI+1UPRaU/QhIFIYQQRZIst5Q7MvQghBBCiBxJj4IQQogiSa56yB1JFIQQQhQ52jkKea+jKJBEQQghRJEkcxRyR+YoCCGEECJH0qMghBCiSMpAVdghvBYkURBCCFHkKIBG5ijkigw9CCGEECJH0qMghBCiSJKhh9yRRCEHxtcTcBz7IMf9sR0dievohDoyDZs1T4i7fIf3OUFKaTOMOtuSVsoss6xBSArW68MwuZmIKkVDmocpcR87klLZsgBakndGxhq2XzmLoZFuR1tSgpppX9mjCfVlwbbs77v/J0fmjPQpgCj1z8hYw/bLZ7K0OyXpLDABgDpvR9Jp4CPcvZKIijDm4C+ObFlanPS0V7+zTqVSaPPWLd5v7IebQxxRcWacuFySVTuqk5hsDECl0qH0bncO7xJPSUk1QxMbhImxk049znZx9PvoLFXLhKBWKVzzd2HRltoEh1sXRrNeiL1DIotXHGDS2Dpcu+L0l+1J9Oh9lVp1wtE8WcHAQXYsmOPLff9i2dbTq98VfEpHMfKrRgUU+YtTqRRaNb1Nm2a3cXWOIzrGlJPnPViztSqJSdrnu1a1ID796DKeJWLRhK2lVRNPFt73Jj3DILOecqXD6NHpImV9wklKNuLMRXdWbHyD6BiznA79ypJEIXckUchBWilTwqZ6ZdluvTEMY/8kkhrYoErKwHFMAIqRGtMvyzKqRivGjViE/YSHhM3xRmNnhDouHcdvH6CxMiCmhwsaMzUWv0dhP/EhERM8Sa1gUQitezGevokYGilMH+pDSKBp5nZNhgq1sRkquy3M7LOMR/6hmftadwnlrZaR7N/qlF2Vr4XMdn9VWqfdbqVc+fpHKFM5hAFjbnP0NwdWzSxJydKJdPsqEJtiaSyeVKoQI8+dTu9epWfb82zaV5mLN91wd46hR9sLeBV/yrDZLfB0i2bW0D1cu+vMhCVNqOBryGetf6XXew4MudkIAGOjdGYO3YOBgcL8jXVISTWkx/sXmDt8Nz3GfUB8kknhNvIfODgmMvn7Y1hapulsNzNLY/qcI6Slqdm8sTE9h7XFxHQsU6YfY0Cvd4h6qvuF2O6jO3zw0V2uXnYoyPBfWIf3rtG94yW27KzIpeuuuLvG0q3DJTxLRDFySjPeqBzMxBGHOPCHN3uPvs0Xg31pWu970EQw9391ASjjHc7McXsJemzDjEUNSEk14KPW15k/aTf9vn4vM+EQ/y2FnihoNBoWLlzI1q1biYuLo2bNmowdO5YSJUoUalyKuQFpZcx1tpmejcX0agKRw9xJdzPBaksY6rgMnsz3wt7LmTcbv4F5ShVi+p7C5EYiSQ1sMD8cjTo2g7DvS6GxNwIgpYolTkPvYfVLBJGvQaJQqnwC6Wkqju+1Jy1V90zZp4oBKuOqPLjrgP+VBO22CvG81TKSH2d5cOPCq39WmZNS5bJvd7piD8CbjQMIDzZhxlel0WhUXDphi619Gh/0CGbZVE8y0l/dXgWVSqHTu1f49Y+y/G97TQAu3CxObIIJ4/oepkzJCBpUf4CiwJgf3iEpxYjoZGe6dapNldJjcbZ7gydPrahcOpQSLrEMndmCi7eKAxAUasPaKT9Rr9pD9p30LcxmZkulUmja7CE9+15Flc0JZdv2d7GyTqVv92bYO3ujMm3M/5a25suv1lO5Sjh/HPYAwNklgV79rvBm3RDi440KuBUvRqVS6PjedXb/XoaVG98A4NI1N2LjTBjzxR/4lork47bXuHvfnllL6lO6tDMqi64c3HGIdxufZMmamiSnGNG53VUSEo0ZNvFd4hO0SeDl666snPMzHd+7zqrN1QuzmS9EO5kxbz0KMpmxgCxatIgNGzYwadIkNm3ahEajoVevXqSmphZ2aLpSNNgsDyX5DUuS69oAYHYqlqQ61mjsnn9IqO1MCF1ehqQG2jIZ9kbEt7HPTBIAMFCR7mqMQegr1sYclCqXQNB90yxJQvYUBk4IINDfjJ9XueZ7bPlJ226zHNttZJxBcpIajeb5h01ctCFGxgpmFhkFFeZLsTBNZf9pHw6e9dbZHhhiC4CbUyzGRhmkZ6hJTv3L+YRau9/aMgUAYyNtOxOSn59JxiZoe1+sLVLyKfq88SoVw6AvLnLoQElmTq2ZZX+9tx5z4mhxnZ6DuDgLPu3YOjNJAOgz4ArFi8cz6qu3uO9vUyCxvyxzs1R+P+bNoRO6vaRBwdq4XZ3jmLWkHt8vbKCzPz3DAJVKwcBAuzSRR/EYbtx2ykwSAFJSDbnl70Dt6kH53Ap9U5GRxxtFZOiiUBOF1NRUVq5cyeDBg2nUqBFly5Zlzpw5hIaGsn///sIMLQvL3ZEYPE0juoeLdkO6guGjFNKLm2C14QlxHx3lXeOPSRh6AcPA5Mz7JdWzIbars05dqvgMTPwSSS9hyuvAu1wimgwVU1b78fPVM2w5f5bPJ93L9suwYatIylaNZ+kUT50v0NeRd7kEbbtX3eDnK6fZck7bbhNTbVf10b2lcSuZTPuej7GwSqds1Tjadgvh7BFb4mNe7TPM+CQTFmysy3V/F53t9as9BODB42LsOa7tDRjY4TTWFsm4OoSjxC/kUZgT94LsADh/ozgPgm3p9+FZXB1isbNOZEjnkyQmG3H8UsmCbVQuhYWZ07Pru/xvcRVSUgx09hkYaPAoGcujICu6drvOpCnL0YSW5/PB2/AoGaNTds3KCgzo/Q7XrzkWZPgvJSHRhEWra3Pjtu5nUd2agQA8fGRLaJgVj0K0iYOpSQpK8j7erneWwydLkZCoTQxi4kxwckjIUr+rcxwuTvH53ApRWAp16OHWrVskJCRQp06dzG3W1taUL1+ec+fO0bp16xeu01ClppyNfs9klTQN8b/dxbCxC75lPQHQRKUSnwG2u6NQu5rhMfpNupasxfQR/8NlbCAW/3sTtUPW8VlFo5A05xrpiRocupbB2UY/ZyIuVfJrMVKFUuXPoVLBhRPlOLrPhpLeT3m3w3XKVNGwbZ127LKEr/Yx7zz4FvduOpCUXBmfKvkU0jPZ9RvrjUKp8me17T5ZlqP7bCnpE8m7H12n0punUBQNSSlVOfhrGL1G3qDXSO0XbND9Ymxd2QSfKvk3Vpvi7fzvhV6Cl9tjPml5lSt3S2NkVg6An/9IpHOzfXz4zg1tIU1xth/rg0+p552um35/n0EfbmHjtC0ApKUbsHBrB6xsSmGlxxNtU1Pzfy/0Aoo5QvGS2vdN8ZIOJKW6YWmZiKGhwocf3yciwpoDBz/gox61sbWbxMz5x5g2tTOxMc8mIbvho32YMLPQvtd9yrnpNcZ02/ybIOjpHkyntte5etMHI9OylC6t3W5tGc+0kXNRoiE13Y7Dp5tRurT2ibzk9wZd2u1l1JBrHDhWG0VR0aTueTzdYzAw0FC6dN5fm0ZGBv9eSA8UICOP58pFZehBpShKobV1//79fP7551y5cgVT0+dn10OGDCE5OZmlS5e+cJ2KoqDS8xfIoQ3HmNplPksuzcC7iicA4Y8i6ezRDzvXYqy+PQ8zS+0bOiwwnG6+g2k/tA09v+usU096Wjozuv/AoQ3HGbSgJ+8PfFevceYHRdFA6jlQ26EyKv18e9KvKDHDUBX7HyqThtptqRdRnn6MynYRKtO3CytkvchNu5Xkg5C0DSx6ozKuAxmPUeIXgIEjKrsfUalen1ngSuoFlKi+oHZEZb8BlboYSvxSlPhZYP4JKpNmoIlCSVgESioquw2oDBxQUs+iPO0BxtVRmXcHlQFK4iZIPal9bRhn7dp/lSgpZ1CiuqIqthaVSW2UjFCU8LdA7YTKYR8qtXYOkZIRjBL+Dlj0QG31VZZ6NJFdAFDbryvQ+F9Wds935j5NLKTdACUaJW4+KDGo7LejMtD2PikJK1Hi54OSCKjA9F1QO0DSdtTOlwqpRS8uOS2QK8EN81RHFbc/MDXy+PeCr7lC7VFISkoCwNhY9+zLxMSEmJiY7O7yr0KTYhl0ZlOeY/urxCVXUHtaMOLpPjis3abEpwMQW86YLufW4GXpwMya7Zn+5CgZJUzZevAovx2Oy6xDiU8jcdxVMq5GYfp5GdaUf8iawy+eCOXEZcxjvdWVG2bmqUxfC0c2rqZxt4ZM676YGnV/o3YjY77pcARNxtH8DyJfexSyZ2aeyvQ1QJofSsIm9m2vwO5NUcBvALi4V2H03N/YMqUHR/fmz0S+lDf0e0VFjXJ+dGu1kydP7Zi/uRUxCb+iVmmYN3Q+l+5UZOVOT+AOHu52fDv0R5KDG/HHri/56dDbfPHxBhxtzRn3v4akZ2i7sVXU4utP/VAHf8V3q3vqLU7Tx3H/XugF+ZR+xOAhMG/8z/jfPYepaQrTZ8L5s7asWb0Kdy9HRs7oyPcjj9G5ow2xMXtZsjhrT+HnQ7TvvwXzFuo1vvzoUXij4k26tv+NsIhiLPzxXWLjt2cpU8LDntFj2/LDohD6fTyN3Zu+Yc/hepn71eoBONpFk5BoRnyiOZ+134WPlwHfjl6R5/gmTf0IR8eCmQQtl0fmTqEmCs96EVJTU3V6FFJSUjAze7k3SLqi4WZMiF7i+7NCXM9FEN/OgaC/1etibUBSYiIP/7I9ID6ClNQ00tUqAv/cro5Iw2HCAwzD0ng61J3kuoagzxiB+CsP9VrfM3ZOqdRqHMWFo7aEhzz/gCzmqJ2I+ei+9m/QnRA693nIib023LlYQJOa8jFRsHNKpVajKC4cy77dACo1nNijwf8vj73/FYgZa4i5+SP8r+TPpYFJtvq7UqZjs6v0eu8sl2+78u2id0hISgQSsbNJxMQ4jZOXrblz70lmeZWBPSERxbAxf8yde0+wNHvKNX87/O5E6tR77ro9bRv76dw3r8wDovVW1zNmxhEAPH4Ygf9NbTd0dJQJKYkJ+N8Mziz3KCCcjPRUop4a62x/JilBO3Ezu315keag37VWPmx9ne4dznPFz4XxM5uQmJQAJKBWaahf+yGPQ62598A+s/x1P4W4eBNUmjDu3n2Cb6kInBwSOH62JLcBiAPicHJ4zM07tty9m/fnOy3t1Z4IXBQV6mRGV1ftuHZYWJjO9rCwMJyd82cc9kUZPUxGnaKQWjbr+GjyG1aYXE1AHZueuS0jKAHDxymklNeWVyVm4DD+AQZR6USMK5l5xcTrwsBAYciU+7TspPsB0LBVJBnpcM9PO5HL3DIFd69kbly0Koww9U7b7nu0/DhUZ3vDVhFkZKjAuC4ZGSoq1IjV2V/cKwkbu3RCgl79iapt3rpJ/w5nOXK+FCPmvkvCX66Bj441JSbehMqldZ93RfMUZ7unBIdrn+fAEBvKeYZjZPjXD3eF8t5PMsu8bs6ddaFq9SdYWz+/asPJKQr3EnHcuPZqr5XwT1q9fZu+Xc/zx2lPvvnuHZ01DzSKml6dL9Cr8wWd+5RwDcXGOoX7gdrJq5XLhzLy86NYmD9/bKpXCsarRDQnz71eXfAKkKGo83QrKnMUCrVHoWzZslhaWnLmzBk8PLQvstjYWPz8/OjSpUthhpbJKFD7hkhzz3p2GPeRI2ZnYrGf8JC0bib8EX6SpNGXyXAwIvFt7Zif9aYwjIJTie3oiGKgwuh24l8qV+ms4PgqCg8xYf9WR9r3CiYlWc2tS1aUrxHLx/0fs3OtC+Eh2i5CNw/tUFGgv34nnBWW8BAT9v/kpG13yp/tfiOOj/s/4uie0jTtVYUju8vwYS/tedWlE7Y4FU/hk0FBPHlkwt7Nr0aimxM760QGdjxNSLglPx8qj29J3R6Bx2FWrN5RnSGfnCIxyYgj570o6xOJ8nQbGo2aLfsrAbB2VzUWjNzF90P28tPvFcnQqGlZ7zYVSoUxbknTwmhanm1cW4469YKZPP0Yhw9rUJJ+o0+/XwkPM2Pfb1kXYXsdFLNJpN+nZwkJs2TH3nKULqX7fAeHWrPmp6p8PfA4g3ue4v6jqiiJm+nfdRsBgbbsO6xdXfXgsVJ0anuNb7/4gy07K+LkEE+/T89x/ZYTB4+9+ouM6VKhyfO5ctEYuijURMHY2JguXbowc+ZM7OzsKF68ODNmzMDFxYVmzZoVZmiZ1NHa3gKNZdaZuBkuxoRP9cJ67ROSpt1gjrE/6ipWhHexRTHTljc9rR1Xtd4cjvXmcJ37pzsa8WTpq7cgzd8tHFeKkCBTmrYNp9PAR0SEGrN2bgl++p8b3pW1ZaxstZeExscU+hpeeqNttwlN3w+n04BHRISasHZeCS6frU7TXvDLmqr4X0um5cdPaN8zmKdhxlw8bsuPczxIiHu1H4falYIwNcnA1TGeBSN3Zdk/beVb/Hy4AvFJxnRodp13690hIdkcDN9i8qqmhERoE+jbDx0ZMr0VPdpe4Nveh0nLMOBekB1fzmzFlTuv5zoaoSGWfDW4MT16X6Prp/tRYo/y+JEzs7/3JSnp1b7sNSe1qj3WPt9O8cyduCfL/hmL6rH/j9KkpBjy8fvXaNZoO0r871y75cPsJeVITdO+nqNizBk55R36fXqOcV8dIj7BmH1HfFi9uToapdCX5RH5pFCvegDIyMhg9uzZbN++neTk5MyVGd3d3V+qvqCEKJofmKfnKP9dORtXtjXuS/vDS/U7RyKXSnQJKPBjAvhUKckPJyYysN5YnbH6AlEIkxnhzzYfn8DA+uMKvs1AUsPyBX5MAF9vZ5bP+4xeQ37U69yD3MqPOQr/xqecGwt/GsSgDxfqff5Bbuh7jkJulS7tzJLlPenXa4Ve5h28iLUb++Pmlv1vauhTUloQpx7n7eqsOsV/x8yocFcRLgiFftpjYGDA8OHDGT58eGGHIoQQooh4Nkchr3UUBdJXJIQQQogcFXqPghBCCFEYNEVkMmJeSaIghBCiSMrrEs5FhTxKQgghhMiR9CgIIYQochRUepjMWDSGLiRREEIIUSTlfcGlokESBSGEEEVShlI0egTyStIpIYQQQuRIehSEEEIUOQp5v+qhqCy4JImCEEKIIkilh9+nKBpDFzL0IIQQQogcSY+CEEKIIkkWXModSRSEEEIUOdofhcrb0EFRmaMg6ZQQQgghciQ9CkIIIYokWXApdyRREEIIUfQoeV/CmSKyYJOkU0IIIYTIkfQoCCGEKHIUQJPHdRBkMqMQQgjxH5ahqPN006elS5fStWtXnW03b96kS5cuVK1alSZNmrBmzRqd/RqNhvnz59OgQQOqVq1K7969CQoKeqE6ckMSBSGEEEXOsyWc83LTV4/C+vXrmTt3rs62qKgounfvjoeHB9u2bWPgwIHMnDmTbdu2ZZZZtGgRGzZsYNKkSWzatAmNRkOvXr1ITU3NdR25IUMPQgghRCF48uQJ48aN48yZM3h6eurs27JlC0ZGRkycOBFDQ0O8vb15+PAhy5Yto3379qSmprJy5UqGDRtGo0aNAJgzZw4NGjRg//79tG7d+l/ryC3pURBCCFEkaRRVnm55dePGDYyMjPj111+pUqWKzr7z589Tq1YtDA2fn8+/+eabPHjwgIiICG7dukVCQgJ16tTJ3G9tbU358uU5d+5crurILelREEIIUQSp9LCEs4rg4OAscwv+6uDBgznua9KkCU2aNMl2X2hoKL6+vjrbnJycAAgJCSE0NBQAV1fXLGWe7fu3OhwcHHKM7a/+c4mCYXg6Hj2DC/y4rpUNoTG4Tgwn4WrBH998n3mBHxPAzMJU+/cHUywSCjaGhEGOBXq8TCVcnv9NKPh5z6ZPEgv8mADGtsnav5HJhRNDWGTBH9Plz9d0VHShHN9IUzjz6g0drLR/oxIxCosr0GOrMorKtQT/LDk5GWNjY51tJiYmAKSkpJCUlASQbZmYmJhc1ZFb/7lEQQghhMiNvP/MNLi5uf1jr8HLMjU1zZyU+MyzL3dzc3NMTbUnaampqZn/flbGzMwsV3XklsxREEIIUeRor3pQ5emWn30fLi4uhIWF6Wx79n9nZ+fMIYfsyjg7O+eqjtySREEIIYR4xdSsWZMLFy6QkZGRue306dN4eXlhb29P2bJlsbS05MyZM5n7Y2Nj8fPzo2bNmrmqI7ckURBCCFEkaRR1nm75qX379sTHxzN69Gj8/f3Zvn07q1evpm/fvoB2bkKXLl2YOXMmBw8e5NatW3z55Ze4uLjQrFmzXNWRWzJHQQghRJHzbOghr3XkF3t7e5YvX86UKVNo164djo6OjBgxgnbt2mWWGTx4MOnp6YwZM4bk5GRq1qzJihUrMDIyynUduSGJghBCCFHIpk2blmVb5cqV2bx5c473MTAwYPjw4QwfPjzHMv9WR25IoiCEEKIIUulh+KBo/My0JApCCCGKJH3/sNN/lSQKQgghiqS8/sx0USHplBBCCCFyJD0KQgghihyFvA89FJXFpiVREEIIUfQo5P0XIItIpiBDD0IIIYTIkfQoCCGEKHIUPfzMtFJEJkNKoiCEEKJIyvPQQxEhQw9CCCGEyJH0KAghhCiSNHKunCuSKAghhCiSMmToIVcknRJCCCFEjqRHQQghRJGjkPfJjEVkGQVJFIQQQhRF8uuRuSWJghBCiCIpo4h80eeVzFEQQgghRI6kR+EFNf8wmLZdH+HslkxYiCm7NhZn10a3zP0OzrF88sM1KlSPJiNDxfF9TqycXYqkhNfnoU79NZm0rUloQjNQOxtg9IEpRu1MUalUxDWI0Cl7hQje4SMADKoZYT7fJkt9GbfTSewbjekIS4xamhZIG/LCwSGRxYv3MHFifa5dc87cXqFCGN26XcXbJxZN2Cbat3Nm/lxvkpKMMst8+ulVOnXyy1Ln8uVV2batbIHE/7Ic7BNZsnA3E6e8xdXrz9tdq+ZjPvn4GqW8YtCEreOD94ozf4E3ycnP221vl0ivHpeoUT0EtYGGW7ccWL22Cnf97QujKS+leftg2nYJ0r63Q7Xv7Vt+7pn7q9SKonP/ADx9E0hLVXPzkg0rZnsT+sisEKN+OfYOiSxe9TuTxtTh2hXHzO0z5h+hQqVIADShC5j/g3b7kL5NuHunGACeXjH06HuNMuWekpZmwMXzTqxcWonoqFf/vf1XMkch916fb69XQPP2wQyZcIcd64pz+pADFd+Ipt83dzEy1nDtUkkUTSyDxuwnPMSA2d+Uw8Y+lR5D7+PsnsTYvlUKO/xcSd2ZTMqMeIzam2JS34KMq2mkzE2AVAXjj80xX6KbCLiZOlP9elm2zPwVo/ezflAoqQrJU+Igo6BakDcODglMmfIHlpZpOts9PGL47rsj3LjhyKofWzFweA1qvjGJr78OY/z4tzLLlSoVzZUrTqxeXVnn/k+eWBRI/C/LwSGBKRMOZ2l33TeDGDPqGFevObNybWv6DW2Kr88kpk1+yNAR76DRqDE3T2XW9AOYmqTz47rKPA62on7dIGZM+50Ro5py565DIbUq95p/EMyQ8bfZsb44pw87ULF6DP1G3WXHRmsAvHzDGDz6CqcPOzBjZElMzTLo1PcBM9deZEC7msRGGxdyC3LPwTGRydOPZ3muQcGrVAzbt5TmwcOqfDX1I2aN2kpQQDiBgVYA2BZLZurso4SHmTP7+xqYmGTQvc91Jk47wZcDGpOR8Xp1Uud9jkLR8EolCkuXLuX48eOsXbu2sEPJ1jvtQrl+wYalU0sDcOVMMYp7JdGm82OuXQISN2BhmcqAfrUyPzgiQ02YuPQa5avF4Hcp69n2qybtt2QMKhti+oUlAIY1jNEEZpC6PRnjj80xqGCkU94ozojflh/EvoMDqU2z1peyPBEl4dXPu1UqhaZNA+jV6zKqbE4yGjd+gKKomDixPu6eHqjMP2Ln7kN83OEgTk4JhIVpEwFv7yj27/fi1q1X/8sRtO1+u0kAvXpcQpXN+VGXztcIemTDmPGN8PR2R2X6Lj8s82Ps18tp9vZ99u73ofk793FxTmDoiHfwu6k9O7102RVr6xT69rrIV183K+hmvbB32oVo39vTfAG4csaO4p6JvPXObQDebn2dwPvmfPdVBZQ/z0L9Ltnw44GTvP1+KNt/9Ci02HNLpVJo2uwhPftfy3Zk3tUtAXOLdM6dcSEh2QWVcVUePDiG/01NZpk36wVjY5vKlwMbExqs/YyIjzdi8vQTlKsYyfW/9E6I/45XJp1av349c+fOLeww/pGxiYbEeAOdbXHRhljbajNzJeU492876ZxdXDxpR2K8ATUaRBZorC8tRQFz3Y8RlY0aJSb7L/vgOY8xNjPGdZBbln0Z19JI25aE6Zev9tk0gJdXNJ9/fp6DB72YOfPNLPuNjTVkZKhISXmeWyckantQrKxSALC2TsHBIYn794sVTNB64OUZzecDznLwkCczZtfJsr+EeywXLrqQnv78dR8Xb0HQI2tq1Qz+s0wMcXHGmUnCM1evOlOhfASWFqn52wg9MDbWkJjwt/d2jBEWfz63D+858MvaEplJAsDTcBMS4w1xLZFUoLG+LK9SMQwaeolD+z2YObVGlv2lfKIBuO+f8wmNsbE2aUhMeH7CEBdjAoC19av/PP+dBlWebkVFoScKT548oV+/fsycORNPT8/CDucf7Vjnzhv1ntK4dSjmlulUr/eUpu8/4dDOP8dzM+4RFmKtcx+NRkXoY1PcvRILIeIXZ/yRGRnn0kjbl4wSryH9TCppe1Iwam6SpWzGjTRiDkTTY0onDCx1P2SVZIWk7+Iw7mqO2vuV6rjKVliYOT17tuZ//6tGcrJBlv3793sB0KfPJczNk1DS7tKi2WkCAmwICLAFoFSpKABq1Qpm9epf2blzMwsX7qVGjeACa8eLCgs3p0ef91i24g2dJOiZ2FgTnJx0X7tqdQaODom4OsdnljEzS8uSELi6xgHg4hKfT9Hrz4717rxRN+r5e7tuJE3fC+Xc8VIA7N9RmQO/uOrcp2KNKKxs0nl479VPhOHP1/gnzfnfoiqkJGd9rr19YkhMNKRXv2t89/3/0IRWpO+AXyleIi6zzLHD7kRGmDJgyGWK2SXh7JJAj37XiIww5dIFp4JsTp4pinZlxrzclFe/s1QvCj1RuHHjBkZGRvz6669UqfJqj+P/8ZsTh3a6MPz7W/x05jiTl13F75I1S6f5aAto4khOMspyv6QEA8wtXo9BesO3TTBsZkLy5HjiWzwlaVgsBpUMMRmc9cMwdUMSxm7GvN3lrSz7UpYkoDJTYdzl9ZjoFR9vQkSEeY77Hz60ZcWKqrRpc5fvpyxBiWyFiWkaY8e+hUajfRt5e0cDUKxYMvPm1WLSpPpER5syfvwxqlcPKYhmvLD4eBMiInNu9/7fS1G/bhAftffD0iIRJSOYTzrsx8IiFRPTdAAOHfFCo6gYPeoYJT2isbBIpXHDAN55+z4AJibpBdKWvPjjN2cO7XJm+NSb/HTqGJOXXsXvkg3b1tbMtry1bSpDxt0m4okxB3e4FHC0Lyc+zpjIf3iNl/KJxtw8nfh4I5Yva4nKZgqOjtHMmPcHdvbaXpOoKFMWzqlGrTohrN/2G6s27qWUdzRjR9YjKTHrZ5/4byj0U70mTZrQpEkTvdVnYGiAT+X8GS/s9/XvlCoTwS/rqxN4zwHXEtG0+PAKU5YHsHdnbUDBys4yy/FNzW+gNjDKt7gATC30k/PdH+SP5nIarkPcMK9oTvLdZEKXhaCekI7nLC9Ufw7gpz5J5ebxCMp9XRYDQwOKmz2fJR9/Po77OyMpvaYMZjZmpCakcJMoHE3ssLPQ3yz4pLL508Vf3CP9z7/2JKVpzyLfaXqW91qf5+ixKgSHvUGnHpXRRExl1qxjzF3Qgbh4CwIfW7DkfyXxu+mJoqghCdZsqIZb8XX07nObWXOr6yU+xSB/8vu/tjvxz3afuuCMvaM5n3W5gKHhZZTw5RgZv8E1Px9cnZ/iU8YVcGXZKlM6fXiApT/8BkBgkDN7D9Tno3aHcXJxISXDOafD5praOv8+rvqN+J1SvhH8suEv7+32Vxj4zWkURcG99PNkwNo2kf5f/469Yxo/TH2H4j75OC5vmz/zmop7av78a09SmnbY8NDhRpw6nco9/+K4ezmiMnufn3c8pme3+XTrE8qvO+rxRo3bdP3sNJcu+nDmVHkMjdJp8vYlps4+yfy5HxD2xC7PsRkZZ+3Ryx+y4FJuqRTl1ek8GTlyJI8fP87TZEZFUTK/zPRJSb2I8vRjVNaTUZl3eL495QhKVB9UtktRYkaCWRvU1mN07quJaAOGpVDbztN7XPp04+Rtvqg/hi+X9aNlr+czE8/8dpExracy6deRvNn6DQB+nv8bS776kU2PllLM2TazbFJ8En0qf8XbXRvS5dsPAXjyMJzPSn/OV8v7886nDTEwLKgPgpejpJxBieqKqthaVCa1UZR0lLA3wOQd1LYzn5fLiESJeBvMOqK2HpljfZrYKZC4EbXL9YII/6X9vd06+5QUyAgCtRMqtTWayM6ACrX9+r+UUSDjEQAqwxIoiT+hxH6DyuEgKsMSBdmUF5Kb97bKtLF2W9ptlKi+oCSgKrYElfEbhRV2nvzTc/13moj3QO2I2m4FmvBmoLZHbb/xeV1KMkp4CzCqiLrYgvwOXW/CksP56sqoPNUxq8pUnEz/+xM4C71HQd/CH0cxsesivddbvW4A3T6Hyb3P8iT4TuZ2Y5M0Zq6Gw1s20KiVF/cuH2feuMmZ+1UqDd+vuMfh3Sbs2TY5m5r1w3RO3s8yo44+BeA3uz84dPlM5vYMW+2wyaLf1/CT+z4A7m3yx7yaOaujt/Glc0/m3F7B46QnxJ+PI/RBOOsm/cS6ST/p1D+r12Jm9VpMlYvV8hwrQNL3+dOj4OMdxJBBMHfSDvzvXcTaOp4pE5LYvDae4ycXU8LTgZFTP+L7MYf4+AML4uMPsXiZDeXLBWBklM6Vq6V16uv40UUqlDNm7JeL9RJffvUolPYOYkh/mPvdTu7eu5y5zdAgg5t3PCnh6cCoye2Z9u0WBnW/xunzFdj+61KK2cZS1vchZy+UJyPjeRL4UbuD1KhqytfDdqOPMy91SHie68hO9ToBdBsEk/tm895eCaTfZVq/e5gZXabXl4dJSjRiyfS3CX28B9iTLzFlyqceBZ/Sjxj8Bcwbtx3/u2dRqzXUqHmbsDBbHgS44u7lyMiZHzNt2CY+6xpK4EOFtT8uYPbcQI4ctuPXHboJQY9epri4nuW7XnlPFMYv+hQH54K5QqwoTUjMi/9copCRnoH/1UC916tJTaTb52BldYsTV5/P8K9eT/vlet9PofEH9XH3WERYkD+xUdorH2rUj8TULJ3ffzbIl7ieMU/I+1l6hrO26/nBmSCMnZ+viZB+RjtJLcohjviEVBRFIf56PMbtTXmc9ASAx0lPuJ8QhFJSg/n/dN/kSqSGpJFxGHc3w7CuMfcTgvIcK0DCrWS91PN3ZkbaK1QeB0bif8sQtVpDbKwxTg7++N96PmHraXgQDvZPuXLZGv9bIbRpcYX69YPY95sR8fHayZ8mJumU9fXnwgVn/G/pZ56CYpg/iYL5X9t9W/vR0KzRJd6s/Zjuvd/LLFfC6Q/MzVPYs6cY/rdDKO0TyScd9uN3PZULl7TvjWK2SVSr5MeJU+743w7VS3zqB/kzz0OTmkS3QWBleVv3vV33zyuVDEtA6n56j/id0MdmjOlbhafhcUBc9hXqk0NCvlSb+Rp/EIm/n/b19PWokzyNNGP44EbPC6bfwMEhmg0/euPvF0xgoBWurg/x9/PkWfJnZJSBs3MIgQ+s8ffL+8TdtNTXYz5XUfKfSxTyy/1bVhzf70DvEf5YWqdz+6oVJX0S+WTAA+5et+TqOQ8w70xa6lKmLL/ChkWeWNum0eOr+5w7asfNy6/+GgoGvoYYNjQmZWE8SpwGg/KGaAIySF2ZiLqMIYYNtMmP8kQD8Qpqz6wvH5W5GoOyul9kmhDtG1/tYoBB2ddvwpNGo2bduooMGHCRxEQj7j+sipK0m0H9t5GRoWL7du2Kiz/9VJYGDYKYNOkPNm8uj1qt8NFHNzExSWfduoqF3IqXs3tPad5tfo+vvjjF9Vs1URJW8lG7gxw56sG1P1dvvOtvxw0/RwYNOMfyVdXIyFDTresVMjLUrN1QqZBb8O+0721Heg/3x9I6jdtXrSnpk8An/R8QeN+eknXeoVPvCRgYKaxf5ImjazKOrs+T1Jinxq/l6ox/t/7H8gwbdZ6vRp3j1u1qKIlb6NtvF/fv2XJwX0kA1q4sz7eTTjFq3Bn2/+aJkbGGth/excEhmemTaxVyC16MrMyYe5IovIDpI8rzcd+HtOwQTNdBKYSFmHLgFxc2LC6Ju48aldqOBZOa8e4Hxxj+/U2SEgw4ts+RFTO8Czv0XDMdZ0Xqj4mk7UgmdYUGlbMaw5ammHQzR2WofVMpT7UToVRWRafbbudOX+LjjWnf/hbNmv+CEneMJ0+KMWZ0bZ480S48ExRkw/DhTejW7SpffnkWQ0MN1687Mndurcwyr5uHgbaMm9iQ7p9eoX7dX1ASXdh3sDaLFpf8SykVk6bWp2+viwweeA4VCleuOTNpTRXCw1+PSwenf12ej/s+oOVHwXQdGJD53j59vD6zfg2mhJe253D0nBtZ7ntghwtzxpQr6JD17tD+kqSlGvDhx7ep33A3Svwxrl/3ZN70Umg02vf6mZNujBtZj06f3mLMpFMkJRpx51YxhvRvwoP7r/7J0N/Jyoy585+bzBjyIJzub4zWY1S541PZg4WHxzCo8eR8HWLIifmvhTNBsJRFCWZW/YZhl7/T25BCbiUMKpxJRD5lXflhY38Gdlqst+GEF5FfQw//xqeMK4vW9WVAl6X43y74dufX0MM/8alcgoUHxzCo6WT8rxbs6xsAh7xfRfAyfMq7sXDb5wxqv0AvwwkvYtX+4biWyP92P0kOZ/Clb/NUx/xqk3CWyYwFa9q0aYUdghBCiCJBleehh6JyeeQrlSgIIYQQBUWuesgdGaARQgghRI6kR0EIIUSRI1c95J4kCkIIIYqkvM9RKBpk6EEIIYQQOZIeBSGEEEWPoocehSIy9iCJghBCiCJJhh5yRxIFIYQQRY5C3i+PLCIdCjJHQQghhBA5kx4FIYQQRZIMPeSOJApCCCGKIFnCObdk6EEIIYQQOZIeBSGEEEWOrMyYe5IoCCGEKJJkjkLuyNCDEEIIIXIkPQpCCCGKJEV6FHJFEgUhhBBFUl4XXCoqZOhBCCGEEDmSHgUhhBBFj/woVK5JoiCEEKLIUcj7HIUikifI0IMQQoiiSaOo8nTLq/T0dObNm0fjxo2pVq0an3zyCZcvX87cf/PmTbp06ULVqlVp0qQJa9as0Y1fo2H+/Pk0aNCAqlWr0rt3b4KCgvIc199JoiCEEEIUgsWLF7N161YmTZrEL7/8gpeXF7169SIsLIyoqCi6d++Oh4cH27ZtY+DAgcycOZNt27Zl3n/RokVs2LCBSZMmsWnTJjQaDb169SI1NVWvccrQgxBCiCJIpYfLI/N2/99//53WrVtTv359AEaOHMnWrVu5fPkyAQEBGBkZMXHiRAwNDfH29ubhw4csW7aM9u3bk5qaysqVKxk2bBiNGjUCYM6cOTRo0ID9+/fTunXrPLbtuf9eoqDRkBETW+CHzYiPz/xbGMdP+ti5wI8JkFzRCPZA8igjkq4bF+ix95zbWKDHy2RYHujPggV7Id2vwA/fsnLTAj8mgNraSPs3JAL1w9ACP74mPqHgj5mYnPm3MI6vSk0r8GMCKI4m2r/hkSjBTwr24BkZBXaowl6Z0d7ensOHD9OlSxdcXV3ZvHkzxsbGlC1blq1bt1KrVi0MDZ9/Tb/55pssXbqUiIgIgoODSUhIoE6dOpn7ra2tKV++POfOnZNEQQghhHgVBAcH07Vr1xz3Hzx4MMd9o0ePZsiQITRt2hQDAwPUajULFizAw8OD0NBQfH19dco7OTkBEBISQmioNll3dXXNUubZPn2RREEIIUSRpBTyZQv+/v5YWVnxww8/4OzszNatWxk2bBjr1q0jOTkZY2PdXloTE21PT0pKCklJSQDZlomJidFrnJIoCCGEKHIU8r4yowIUd3P7x16DnISEhPDVV1+xevVqatSoAUClSpXw9/dnwYIFmJqaZpmUmJKSAoC5uTmmpqYApKamZv77WRkzM7OXbFH25KoHIYQQooBduXKFtLQ0KlWqpLO9SpUqPHz4EBcXF8LCwnT2Pfu/s7Nz5pBDdmWcnfU7Z00SBSGEEEWSoqjydMsLFxcXAG7fvq2z/c6dO3h6elKzZk0uXLhAxl8md54+fRovLy/s7e0pW7YslpaWnDlzJnN/bGwsfn5+1KxZM0+x/Z0kCkIIIYqkwlxwqXLlyrzxxht8/fXXnD59mgcPHjB37lxOnTpFnz59aN++PfHx8YwePRp/f3+2b9/O6tWr6du3L6Cdm9ClSxdmzpzJwYMHuXXrFl9++SUuLi40a9ZMHw9PJpmjIIQQQhQwtVrN4sWLmTt3LqNGjSImJgZfX19Wr15NlSpVAFi+fDlTpkyhXbt2ODo6MmLECNq1a5dZx+DBg0lPT2fMmDEkJydTs2ZNVqxYgZGRkV5jlURBCCFE0aPo4aqHPN7fxsaGcePGMW7cuGz3V65cmc2bN+d4fwMDA4YPH87w4cPzFsi/kERBCCFEkZT3lRmLBkkUhBBCFEmSKOSOTGYUQgghRI6kR0EIIUSRo5D3KxeUPC7Y9LqQREEIIUSRVNhLOL8uZOhBCCGEEDmSHgUhhBBFkkxmzB1JFIQQQhRJkijkjgw9CCGEECJH0qMghBCiSJK5jLkjiYIQQogiSYYeckeGHoQQQgiRI+lREEIIUfQo5H3soYiMXUiiIIQQokiSoYfckURBCCFEkaOQ95UZi0iHgsxREEIIIUTOpEfhBalUCu37hNGySwQOrqk8vm/KlsXOBD3wzFLWzCKDJQdusm6OKwe22hd8sHpg75TEok3HmTysOtcuPm+Dq3sCvYfepNIbB9E82UqHrq7MnVicpASjzDIlPOPpPvgWlao/JSNdzZXzdvz4QxmCgywKoyk5Cg82om+TsoxbGUCVuvG53nd6v4r1M0sTcNMMG7t0GrSO5rMRoZhZaDLL7Flvx9zhHlmO2aZbOIO+e5w/Dcqj5u0f0/aTRzgXTyIsxJRdG93Ztbl45n6bYgkMn3qDN+pFYmiocPu6NStm+3D/llUhRq0/3y6+i0/FBD5rUBUATagvC3/OvuyVU1Z83blcwQWnZ2WrxNLtq4eUqRRHUqIBF44VY/l0z8z9NsUSGTHzNm/Uj8LQSOH2VUtWTPfi3k3Lwgtaj2ToIXckUXhBnw4L4aP+T1gzy5U7l82p1SSWkQsesHKGo045S5t0xq+4j4tHaiFFmncOzklMmn8OS6t0ne0Wlml8t/gsUZEmrF/ekD5j3qJ67UmMmhrO2ME1AXB2S2TG8tMkxBuyZEZ5op+a0Oz9IGauPMUXn9YlLMS8MJqURdhjI0Z39iYh1uCF9h3/+QwTuxpSuW4yo5c8ID1Nxfq5Lvh1sGDOjrsY/PnOunfDDHfvZIbNDdS5fzGn9Cx1vgqafxDMkHG32bHendNHSlOxejT9Rt3ByETDtUseKJp4hny7l8R4DQsmlSUtRU2nvg+YsvQyA9rXIirCpLCbkCdN2kZQ790onjwyztymstvCjN5LeXQnJHNbvXef8lHfUHavdyqMMPXCp0I809Zc5/JJGyYNKoedUyrdhz5g7A9JLJ7mo32uJ/xOUnwGC8b5kJqiptOAQKasuk7/NtWJCjf+94O86iRRyJVCTxSio6OZPXs2R44cIT4+njJlyvDVV19Ro0aNwg4tCxNTDe16hfHLSke2/OACwOUT1vhUTqRRm3uZ5d58J5r+Ex9hbplRWKHmiUql0LTVY3oMuZXtj6i2/DAQa5s0hnSph2MJT1TmHflx6Qn6D91LucpR3LxajPc7PcDENIMvPqtL6GNtUnDxtAOzVp3i0wF3mPlt1QJt099pNPD7Vjv+N9EtyzjjP+17Zu2ErZTwVZiy/j5GxtpSFWsn0K1OOfZttqPlJ08BuH/DjDJVEyn3RmL+NUaP3mkbzPWLNiz93heAK2fsKO6ZSJtOj7h2CUj8EXPLFIZ0ep4U3L1hxbxN56hcM4o/9rgUYvR5Y+eUSv9xDwkP1v0CVBlX5cEde/wvxwHg4JrCux+H8+saJ47ufj17CgF6Dg/gnp8FEwaUzzyzTow3oN/o+9g7xkPij1hYpTDkw2qZScHd65bM336ZyrVi+GO34z9VL/5DCn2OwtChQ7l06RKzZ89m27ZtlCtXjp49e3L//v3CDi2LtFQVX7b1ZdtSZ53t6akqjIy0SYGZRSpjl9/n2mlLvvnEpzDCzDOv0nEMHHmDQ7uLM2tc5Sz7q78ZwY3LxYiNef6Beut6cRLjDahZLxzQDjsEBlhmJgmg7ea7ftEus0xhCvAzY/5Id97+6Ckj5j/M9b5nAm8+okYjJTNJACjmmI5H6RTO/m4DaCdKBdw0o1SFpPxriJ4Zm2hIjNc9f4iLNsLaJg0AJXkvV8566vQcREWa8Ok79V/rJAHgi2kBXDhmw+WT1v9Yrs/oIFKT1ayeUaKAItM/K9s0KtWKYddGV53u95MHHPi0US0iwy1Rkvdy+bSHTs9BVIQxXd+q9Z9JEhQlb7eiolAThYcPH3LixAnGjx9PjRo18PLy4ttvv8XJyYmdO3cWZmjZ0mhUBNw0JyrcCFCwdUijw8BQqjWI4+hvpQBITTGkT+PyzPzSk9inhd5h81LCQk3p9cFbLJ9bjpTkrN3uJTzjefxQd56BoqgJDTaneEntOH5stDF2DikYGGh0yrm6J2JplY6ldeEOyTgWT2XViZv0HR+MiZmS633PWDtY8+SRbn9Lepp2uCI0UPvBGvzAmMR4A+5cNqdn/bK09KhCz/plObC1WP40Sg92rC/BG3Wf0rhVKOaW6VSvG0nT90I5tMsFtYEG0u/xJMSargPvs+7gcX69cJipyy/i4R3/75W/wt7tGEbpSgksGlfyH8uVrRrPW62esnqGO4nxWd8brwuvMgkYGEDMUyNGzLzNtoun2H7xJF99fxsLq/TM5zos2IquQx6y/tgZdl4/wbQ11/DwSSjs8PVHyeOtiCjURKFYsWIsW7aMSpUqZW5TqVSoVCpiY2MLMbJ/1+j9KDZfvkbPUcGcO2TNuSPaCWsZ6Woe3Tct5OjyJj7WmMgwsxz3W1imk5iQNQlKSjTE3EI79n5gpzt2Dil8NeEqLsUTsbJJ5f1OAVSvo+1NMDUr3GEZ62IZOLqlvfC+Z97t3pgTu9VsXuhEdKQBYY+MmP2VBwlxBiQnat9W929oH8PQIGN6jwtm4pr7lK6SyMwhJfltvZ1+G6Qnf/zmzKFdzgyf6sdPJ48yeckV/C7bsHR6acwtUoB0Grfwo3LNKOaNL8u0ERWwsUvj+5WXsHNMKezwX4pT8RR6jw5k4beexEYZ/WPZj/qGEBpkzMFfHAoouvxhY6d9fX/53V1SktVMGlCO5dO9qN34KROW+mFh+edz3eo2VWrHMHdMaaZ+WQabYmlMX3cNO6fX87kWL6dQT3mtra1p2LChzrZ9+/bx8OFDvvnmm5eq08DIAJ9qnnqI7p8lpzowZ6QHxT1jaN3FD1evcyiKQokybpll7JwSgBs4l3TAp9o/n6nklYFD/oyVunmp//zrSGKqtm1qAyjmZIV3RXfcvbWTudy9nTA1N0ZtYIR3RXfiEt1Zs9SSDzqfomHzPwC4daM4h/ZUo2W7C7h6lsDGMY8JlWH5vN3/GYM/ewYMSoKh8u/7DErx6fgOpMcfYM0MV1Z+54ahkUKLLhrqvKsQeMcIDMtTqR5MWJdG1XpGmFq4A1DjbYiO1LB2RglafOqC6iXmUvlUyr8u734jfqeUbwS/bHiDwHsOuJaIokX7K0xZdo8TR7Wz+w0MDVi1sBWpKdov1VXzy/DtrJ/5dHAsu7ZUz7fYNIn5MYSj8PmEP7h1uThPQqvjUxWs7MIwNE7Ep6onJXxdASjh64qtfSJ13jnH9tVVKFXJKx9iyUpllD8f0cW9tYl6SJAju7dqP4Pv3ISfVjnT/YuT1GuufawNDNWsnNs887leOacM387fyWdDE9i5sXS+xGZkXEBfS4oernooIr0KKkV5dUZaLl68SK9evahXrx4LFix4qToURUH1Mp++eaAk/YwS8zUqu/WojGs+357+CCWiCSrraajMPyjQmPRFSTmDEtUVVbG1qExqA6B5UhvM2qC2HqNTVhPRBgxLobad9/z+SgZkBIHKFJWBC5q4eZCwGJXzDVSqV6Pr9sqRGwxrMp6Zh8ZTpVGFXO8DSE1OJeT+E+zd7LC0tWBow7GggtlHJuZ4vO1zd7N46Go2By/DzuXVGYZQUi+iPP0YlfVkVOYdnm9POYIS1QeV7SKU6AFg2hq17Wyd+2oi3gO1I2q7FQUddp4oCWtR4heictgFau1zocR8A6nnUDkeANSoVOo/y65BiZuKyvEYKoPXu0dBSf4dJXoAKuuJqMw/fr5dE4sSVgOV5eco8Qv+U8/13wXGRdFwx5I81fHH+/3wsHp13sP55ZUZRP/9998ZNmwY1atXZ+bMmS9dT/ijSMZ98PL3/yeW1imUfyMUv4vOxMc8Pxt29YhhzA9AxhO+6zKfoNvBgLZHYdIKWDNxK6cPns2XmJ7Jrx4FnzLBDB4J877ehP/towAMGWVMctJhls41wd3biZELP+P7z1fx+dD7HN5nwZ4dM3B2jcLDK5xzJ3116uszZC+2xYoxvfvs7A73QuavPZ7nOgA0MSrACE3MaDQRyr/vMyjFtSu9SIlcSI2GwZRwAtIhLRQCrhrxzscaNBHvc+20itAHKt75WHeeRnKkGrWBARaabmgiXjzewR1rvVQ7/031OvfpNggm9z3Hk+C7mduNTdKYuRIOb91Mo+Z23L54hx+mTNG576jvQwgLSWTF3Cl/r1Zv8qNHYcikw5SuGIUSXi/LPuVJeY4fqM1bXdcy9bMfeK/TJtQG9iwYO1fvceQkv3oUXIrHMHoObJm7g6N7b2Vut7RKZuoKOLDpOm+/Z8ftC7dZOGG8zn2/mRVCWHA8y2fpbteXCZuG4OD23//yfZ28EonCunXrmDJlCu+++y7ff/89xsYvf31uRloG/pce6C+4v3B0S+X79ddZOdWNzT88n+FducYT7T+MyhJ0+3jm8Z3dteN4Tx5G4H8pfztuDF3zZ2a9uXEkAMEB4dy7rv3CO3XYivZdAwh/9PySUEuzS5iapXFwpzH3rj/CxSmErr0vc2yfhscPtYuzlPCKo2zFR2xa4c2964/yHly6X97rAMiwBHwg4yGkx+dq39GfTnFqRzirT/ph+Oew9r519sTHlKBus/uQnsCVo86snelKuWo3cffWvhY0Gjj2qy/la2gwUvvDSyyn4H/N9eXa+S80acl0GwRWlrc4ce35AkvV62pfA/f9oFGbhnh47iIsyInYaO37tLhnAk4usezc4Ij/taB8iQ1AE6f/CZPfD3HBzEJ3Bv8nQ4IpXTGB8b1LY+3gxFtdIehOMCVKRfDrj874X36g9zhyosrDZ+E/8b+iEPqVCeWr3mHl96bw54XQzT4MBeDCURPe/rAhHl67CAu0y5y7UdwrESfXGH5da4f/lcCcqs+TtNSCWmNEpYcFl4rGOgyFnihs2LCBSZMm0bVrV0aPHl3gwwYvIjzYmL2b7PnkyxAy0lX4XzejYu14Og54won9JWnw6et5OeSL2v2TB206PGTKD+c4tE+NkriFT/sc5twJR25e1Z4JnD/hRHCQOSMmXWHtktKYW6TTY8htQh+b88tGz8JtgB607teMPcv3MvMLD5p//JT7fmas/M6Vhu9FUbmOdlZ4q66R7F7jwLjPvOg6PBRTcw27fnTg4W1TZm73L+QWZHX/lhXHDzjSe7g/ltbp3L5mTUnvBD7pH8DdG1ZcPe+ByvIzlMhdTF56mY1LvDA00vDp5/cJf2LCvu1u/36QV8yj+1kn7cZFGZKepuLuNUt8qmr3F3NMxNI6g8C7OU/yfb2oWDHdi1FzbzFyzm32bnHBwyeRz758yPG99jx6YIfKsgdK5C6mrLjOhh88MDTW8NkXDwkPNWHfT87/fojXwSsz8P5qK9REISAggO+++4533nmHvn37EhHxvB/W1NQUK6tXb0nYBaNKEPrQmBafROBUPJWIEGPWzHLl8pnqNPi0sKMrGLHRJozqX5s+Q2/yaZ/DKPGXuHzeiznjnk+yS0kxYOzgGvQZepPhk6+Qlqrm/ElHfvzBV2eZ59eVV0UPJqxLZ9VkU8Z9VopiTml0GvyEjwc/ySxTzDGdmT/fZdVUNxZ/W5ykeAN8qyYybfM9ylZ/NRdgmv51BT7u84CWHR7TdeB9wkJMObDDlQ1LPHH3UaMy9GDuhJY0bXWcr77zQ5Oh4tLpYiybUZqkxEI/78g31rbJAMTFvBrzavTh+D4HJvQvT+eBgUxYeoO4GCN+2+TCmjklKVkeVIYezBnTjLfbnGTYjDtoMuDSSVuWfVeKpGyueno9vbonpq+SQn229+3bR1paGgcOHODAgQM6+9q1a8e0adMKKbKcpaep2bjAlY0LdLt/faplfcE9eWRCc/f8mwVeEK5dtKdVzRZZtj+8Z8XogbXwrujOwj3D2fzjDJISdYcTQh5ZMGHoq7fC5t9VqRvPvuDLL7zvjUYKb9S/8491F/dKZcyyB3kLsAClp6tZt6gU6xaVyrFM6GNbJnxepQCjKlizhmdt+8O79rzrlT9zQwrT2SN2nD2S86W6oY9tGN8/6yReUbQUaqLQr18/+vXrV5ghCCGEKKpk6CFX/iv9R0IIIcSLkUQhVwr9tx6EEEII8eqSHgUhhBBFk/zMdK5IoiCEEKJIenXWJX61ydCDEEIIIXIkPQpCCCGKHn38VHQR6ZGQREEIIUTRJHMUckWGHoQQQgiRI+lREEIIUSSpisjQQV5JoiCEEKJokkQhVyRREEIIUTTJHIVcyXWi4OW1LNc/Aa1Swb17vV86KCGEEEK8GnKdKDRsWIJc5glCCCHEq0+GHnIl14nC6tVZf2pYCCGEeG1JopArLz1HITk5natXw0lJyUD5cx1MjUYhISGNY8ceM23aW3oLUgghhBCF46UShSNHAvnoo508fZqc7X4rK2NJFIQQQry6ZGXGXHupBZdGjz6Og4MZP/30Hm3b+tC+fWl27WrHgAFVUalgz572+o5TCCGE0C9FlbdbEfFSPQpXroSzfHlz2rUrTUxMCkuWXKFFi1K0aFGK1NQMJk8+xe7dkiwIIYQQr7uX6lHQaBSKF7cEoHTpYty4EZG578MPfbl4MUw/0QkhhBD5RKXk7VZUvFSi4O1ty7Vr4QCUKVOMhIQ0bt9+CkBamoa4uFT9RSiEEELkByWPtyLipRKFLl3K8fXXR1m48CIODubUqOHCoEEH2bnzHhMnnqJCBXt9xymEEEKIQvBSicLw4bXo168KZ86EArBo0dtcvhzG++//zK1bT5kxo6FegxRCCCH+i3755RdatmxJpUqVaNWqFXv27Mnc9+jRI/r27Uv16tWpX78+c+fOJSMjQ+f+69evp2nTplSuXJnOnTvj5+en9xhfajKjWq1ixoxGmf+vUcOF+/d7c+tWJGXK2GFtbaKv+IQQQoh8UdjzDHbs2MHo0aP55ptvaNCgAbt372bo0KG4uLhQsWJFevbsiaenJ5s2bSIwMJDRo0ejVqsZPHgwAD///DPTp09n0qRJlC9fnmXLltG9e3f27NmDnZ2d3uLM049CRUUlc+zYI4KD4/nwQ1+srU2wsjLWV2wvR6VCbWxU4IdVGxlm/i2M46cHhxT4MQEynE21f8MjCjyG5m5VC/R4z/hU82LxBRjYvAz+lwr+9R7XsXSBHxMgztNJ+7eWB9FOpgV+fNv9twv8mGpT08y/anPzAj++kp5e4McsUgrxEkdFUZg3bx6ffvopn3zyCQD9+/fn/PnznD17lsePHxMcHMyWLVuwsbHB19eXyMhIpk+fTr9+/TA2NmbJkiV06dKF9957D4DvvvuOt99+m61bt9K3b1+9xfpSQw8AU6acxt19CW3b/sLAgQcJDIzjyy8PU7v2eqKjs1+ISQghhBAQEBDA48ePadOmjc72FStW0LdvX86fP0+FChWwsbHJ3Pfmm28SHx/PzZs3iYyM5MGDB9SpUydzv6GhITVq1ODcuXN6jfWlehQWLrzIuHEn+Oab2rRp403t2usB+PzzanTp8hvffnuCBQua6jVQIYQQQq/0MPQQHBxM165dc9x/8ODBbLcHBAQAkJiYSM+ePfHz88Pd3Z3+/fvTpEkTQkNDcXFx0bmPk5O2Vy8kJARDQ+3Xt6ura5Yyt27deun2ZOelehQWLLjEqFG1mTixPtWrO2dub9GiFFOm1OfXX/31FqAQQgiRLwrx8sj4+HgAvv76a1q3bs3KlSupV68eAwYM4NSpUyQnJ2NsrDu0aWKinf+XkpJCUlISQLZlUlJS8hbc37xUj8LDh7E0bFgi231ly9rx5ElinoISQgghXgdubm459hr8EyMj7Vy2nj170q5dOwDKlSuHn58fq1atwtTUlNRU3TWJniUA5ubmmP45fya7MmZmZi8czz95qR6FEiWsOHUqONt9588/oUQJqzwFJYQQQuSrPK7KqMpjr4Kzs7Y33tfXV2e7j48Pjx49wsXFhbAw3VWOn/3f2dk5c8ghuzLP6taXl0oUevasxJQpp5k58xx370YBEB+fyrZtd/juuzN061ZRr0EKIYQQeleIQw8VKlTAwsKCK1eu6Gy/c+cOHh4e1KxZEz8/v8whCoDTp09jYWFB2bJlsbe3x8vLizNnzmTuT09P5/z589SsWTNvwf3NSw09fP11LQICYvj666N8/fVRABo33oKiKHTpUp5Ro2rrNUghhBDiv8TU1JRevXrxww8/4OzsTOXKldm9ezcnTpxg9erVVK1alblz5/LFF18wbNgwHj16xOzZs+nRo0fmvIQePXowZcoUSpYsSaVKlVi2bBnJycl8+OGHeo31pRIFlUrF0qXNGDasJocOBRIZmYStrQlvveVO+fIOLFlymQEDquk1UCGEEEKvCnnBpQEDBmBmZsacOXN48uQJ3t7eLFiwgNq1tSfby5cvZ8KECXTo0AEbGxs6d+7MgAEDMu/foUMH4uLimDt3LtHR0VSsWJFVq1bpdbEleMFEYe/eAFavvo5KpeLTT8vTokUpSpculrn/2LFHvPHGWq5eDZdEQQghxCutsFdmBOjevTvdu3fPdl/JkiVZuXLlP96/Z8+e9OzZMz9Cy5TrRGH9ej+6dv0NY2MDTEwM2LLlNj/99B7t2pXm6dMkBg8+xMaNtzA0VPPVVzXyM2YhhBBCFJBcJwpz516gdm1X9u37EFNTQ7p338vEiaeoWNGBt9/eQlBQHO++68XcuY3x9dVvt4cQQgihXyo9LOFceEtAF6RcJwp37kTxv/81y/zBp3Hj6lCu3Cref/9nUlIy2Lr1Pdq39/2XWoQQQohXxCsw9PA6yHWiEB+fRokS1pn/L1nSGkVRMDIy4OrVz3ByssiXAIUQQgh9U5H3OQpFoz/hBdZRUBQFA4PnD4uhofauU6bUlyRBCCGE+I/K089MA7i5WeojDiGEEKLg6GHRpKIydPFCiYIqm36W7LYJIYQQr7pX4fLI18ELJQr9+/+OtbV2RSjlzwe4T5/9WFnp/nqVSqXi4MEO+olQCCGEEIUm14nCW2+5o1KpMhMEIPMXJJW/ZWXK3zcIIYQQrxr5qsqVXCcKR458nJ9xCCGEEAVLEoVcealfjxRCCCFE0ZDnqx6EEEKI15FMZswd6VEQQgghRI4kURBCCCFEjmToQQghRNEkQw+5IolCHoxZfAefCgl0e6ta5rYKbwQzaNx1vMomEvvUkGN77Fkz253kRINCjDRvVCqFll0iaf1pBK4lU4mOMOTUfhvWznQBQBPqyw+7sr/vlZOWjPjIpwCj1Z/Mdn8W+bzd+6w5sd89S1m1gcLsX/w5f8SKdbNcCiHal6NSKXzc8Cpt6/rhZJNAYLgN6w9VZf/F0tmW18R+x6ohq6n7ZV+d7eM+OUjzGv5Zyo9e/Q6Hr5TKl9j1pVLNKL5ffSXH/Uq8DfM3rslx/5WztozqXjUfIst/ZavE0u2rh5SpFEdSogEXjhVj+XTPzP1fTDyAd9nwLPcb3L4Kd69bFWCk+UPmKOSOJAovqfH7EdRrHsWTR88Xm1KS99Nn1HGunrbmu0GlMTLW0GlQMFPX3eSrjyqgyXg9l7H8aEAY3UaEsHWxE5dPWFG8VAqfDQ/Bs0wSK6Z7o7LbwvTuP/DoTnDmfeq1iKHDgDB2r7UvxMjz5qOBYXQbEapt93HLP9sdSrmaZ3XWCjEy0TBiXiDl3kjk/JHX68Oz97vn+KTJFZbvrYFfoCN1ywUxvushFEXFgUu6CZ6v20NIXJttPaWLR7L/gg9bj1XU2R4YbpNvseuLv58VX3aqlmX7p4MDKFslAXOH1sz+0p8g/1Cd/fXeieDDHkHs2exWUKHqlU+FeKatuc7lkzZMGlQOO6dUug99wNgfklg8zQdFUXDziGLbSjeO73XQuW/gPfNCilrPJFHIlUJPFCIjI5k2bRrHjh0jJSWFmjVr8vXXX+Pt7V3YoeXIzimV/uMeEB6suyKlEr+AJ4+s+bZ7GdLTtNM/rp+zZuXhyzT7MJy9m50KI9w8UakU7Rf+OgdWTdN+IF46ZkVclAHfLH7Ige3RqIyr8uC2Hf6XYgBwdEulRedIfl3lwB+/FivM8F+att3h7F5nz6qprsBf2r0kENKvA1CxVjwDpzzGwTWtMMN9KSZGaXRoeI0tRyuy9qD2i/LCXXfKlAjno7eu6SQKZsZp9HxnJ6idQaP7hWlsmI6HUwyb/qjMjYfOBdoGfUhKMOT2Vd2EpnbjCKrViWblnIb0+t6LB/6O+F9Nytzv4JJM8/Yh7NzgxtG9r9/7GqDn8ADu+VkwYUB5FEV7EpMYb0C/0fexd4yHjEDMzNM5/4cdt65Y/0tt4r+s0CczDhw4kIcPH7Js2TJ++uknTE1N6datG0lJSf9+50LyxbT7XDxmw+WTf3vzpN/n5mWXzCQBIDrCiKB7ZtRsHF2wQeqJuVUGB7cV4/DPtjrbg/xNAXBwTchynz5jg0lNVrFqmmtBhJgvzK00f7ZbN9F51m7SAwEYv/oBYcHGDGzuW9Ah5llaugF957Vl45EqOtvTMwwwNszQ2TbwvdPEJFqAWfss9ZRyjcLQQMPdx69v79FfGZtk0P+bu5w9YsflsyWzLdN7+D1SU9SsnvtqD6vkxMo2jUq1Yti10TUzSQA4ecCBTxvVIjLcEtJvAnDv1n/014EVPd2KgELtUYiJiaF48eL07dsXX1/tB+2AAQN4//33uXv3LpUrVy7M8LLVvEMYPhUT6Ne8Mr1GBeruVBfDzjEBeP7lYmCowdEtBSNjTcEGqicJsYYsHpt1TL5Oc23vQUigbrJUtnoCb7WJZuaXJUiMf33nZSTEGrD42+JZttd5V9tuDEsDfzDsA28e3DIr2OD0RKOouRfy7MtdoZhlEq1r36ZG6UdM3/pWZrmavo9oUeMOEzb1YVrprMNnpd0iAGjz5i1mVNqLjXkyNwKdWLjjTfwCX78ehve7PsLeKYVRPatgYZt1f5nKMTR4N5zZo8uQlFDonbIvxatMAgYGEPPUiBEzb1O7yVNUKJw4YM+SydreXCXtJslJhvQaEUDtJk8xM8/gymlblk714nHAf2PoQeYo5E6hvsptbGyYNWtW5v+fPn3K6tWrcXFxwcfn5SbAGRga4FM1+7OAvCrmmEDfsRdYv7AWTiXdsbZ7iqFxIj5VS1LC1xXM2lO1zmL6TbDj9EEvjIwzaN35OpbWGtLT1fkWF4AmteC6vj19n/Lx51e5esYFQ9OyAJQoox2W6D7qNBGh5jy8Vx2favncYVXAvyniWeYpH39+jbs3PCnT1JcSZYsTdAt8Moe3r2DnYotPNa98jSPRU/9d3bV9r9Ovxc8AXA4ozf3wupTxNMLMOJmxXY6x40wjTM1LA/cAKPOXGGqVuwCAs50By/e3x9IsiVY1TvDDoF1M3tKDRxH6SRasKud/L6OBQQYfdDvDxdNeWNiWxb20dmLqs78A3b48QmSYJYEPauJTOX9f40pGer7UW6aa9r0zfMZ9/C65sWJWJRxd43iv02W8yt5j27q6kH4RU7N0DE2KsWpOZYo5JtDiw2vM2XyDaSNaEBuVP8mCkfHrmXz9l6mUV+QXnL799lu2bNmCsbExixcvpn79+i9Vj6IoqPLht68VRUGJ+gzUdqht5wKgif4aUs+idjr8Z5l0lPg5kLAaSAOMwPwj0ERB+j3UDjlcGvAaUVIvoET1BbUjKvsNqNTPe0+UjFCU8EaorEahsvisEKPUv39q9zOaUF+wGITaanAhRJg3SnogaJ5A2i2U+HlgWAaV3TqU2FGQ/gCV3QZUKjWauPmQsBC1y52/3Pc+ZDxGZdLg+TZNLEr4O2DyJmrbeYXRpJeiJO1EifkKlf0OVEblsu7/j7zGlaQdKDHDwaQJ6mJL/rJ9F0rMUFTFVoLaHpR4VMY1n+9PD0SJaAEW3VBbDS+M0PUm6GkMzeaszFMd+7/sQQm7V3/Cbl69MqnbZ599RseOHVm/fj0DBw5kw4YNVKhQ4YXrCX/0lAkd5+g9vrda3OXdDn5M/bIZCbHfANB54EV8KkQx8YNvKF7ajZGrBvH95+aEBLyHg3M8MU/NSEpMZ8ikcyiomP/tGL3H9UxB9ChUb/CIrl9cICzYkh/G+hIbNY0SZdz4Zv0QvvtkHt6+x/igl8Lo9y8SF+2X7/EUVI9C9QaP6PrlRcIeW/LD2NLYOK/JbHPQrceZ5X7YDbuXHeC3DY/yNZ7EZpXytf66ZRvRu/mvbP+lD61qnmDCxp6ERq2lpFsxxn6mfcy7f/MjiqJC4a9J+QOdej5v7YhrsbN88332V0q8KKvTD/VSzz/p+eURHF1tmdZpG6DtSRi5rBfT+izn0d1Q3mp+k3ZdFcZ+coe4mMn5Hk9+9ShUqvGIPiNg4/x4Th4cn7ndzDyV6avh8KZVNPlsBdN6LSXozm6d+3493YLY6F0s/i7r/CR9mLBpCA5uBTMJWoYecueVSRSeDTVMmTKFK1eusG7dOqZOnfrC9WSkZ+B/Wf8fKL1H+GNlk8J3K3dm2Tfvp5/4bXN5lJSaWJhf4ta5lD/3RKM2UHB2j+L3bY75EtczmpSUfy+UBx/2DaP78GCunrJkQs+SJMaF6OwPuh3MO+8FcO20BZcOh+RQi54VQKLwYb8wuo8I4epJSyb09CAxLgSfatoJjUG3HuN/KUCn/NPQ6Czb9C3OVz9d+bYWSbxZLogzt0oQFf98nkVasgm9m0PLGscxNsxgStelz+/053fDisFT2H3WlykbG9O0qj9xSSacvV1Cp/60tESeRBtx+0GYfuK9GvjvhfLAwFBDmYqP2LrSA/+/HevR3VD8rwbSbZA/18/bcOlY1rUF8oOSnj+JQmp8IoyA6LAI/K88v3rLppj2hCMiOBElaTsGylX8r/xtyEdJIeShEf5X8uf5SEvNnzaLl1eoicLTp085deoUzZs3x9BQG4parcbHx4ewMP18uOjL/NFemFvqzgT/ZPBjfComMKGPL1YOpWjZfS+d+p9nz7oKZKRrxy6bfxSOlU0Gp/a/npcJArTsEkHvscEc2WHLjCEeOld1PKdQpmoCO1Y5Fnh8+aVll0h6jw3RtntwiRza/foyMUpn7CeHWbyrVublkQC1ymh7RLrPao+p8fMP7ZKuxRjXIw6SttBj9gdEx2sTprZ1b+JiF0enqR1Jz9BOYHWwSaCSVyibjrx6E5Jz4lk6AVNzDX4Xc+pKVvCtFMvODVkn975uAu+ZEfrIhLdahfPrOlf4s2eodtNIAO7ddESJX0jbrin8/lOZzPt5l4/H1SOJrf/LOtH3tSQ9CrlSqIlCREQEQ4cOZfny5TRooB3fTEtLw8/PjyZNmhRmaFk8Dsg6sz02ypD0NBV3r1niU9UMlVknrGw38tWM++zf6ohXuUS6Dw/ij512XDv7el6HXMwxjb7jHxMaaMyvqxzwqaR7dmFqpe3JsHNMwtJGQ+Ad08IIU++KOabRd8KzdtvrtNvd9ymK5mkhRqcfT6Kt2Hm6DD2aXSA9Q82dx/ZULRVKl6aX+fV0WR480U1uFQMnUEcBcCvoeUK4an915vXfzfc997HlaEWszVPo0fwCsQmmbHydEgVfbXdJTosJObmmYGmd8R9ZbEjFiulejJp7i5FzbrN3iwsePol89uVDju+159EDO1SWn+Nd9mu++h4O7XDCyS2FrkMCuX/Tgt9/fv2uZsmWJAq5UqiJgq+vL2+99RaTJ09m8uTJ2NjYsHTpUmJjY+nWrVthhvZSVEa+LP2uPs0+uMC4/90hKtyITYvc2Lzo9Vy5DaBmk1hMzRRcPFKZ/UvWJXrXztGuRGhVLBmA+JjX95LIv6rZ9K/tvve3vf6QfKQwwtK7GT81IDjSmvfraHsFwqIsWb63BhsOV/n3O//pon9xvljSkp7vXmDSpwfRKHDmVgkW7axNQrJJPkavX8XsUwGIj83+Y9HW4Z/3v26O73NgQv/ydB4YyISlN4iLMeK3TS6smVOSkuVBZdaOFeN/pf47Vxj7w02Skww4ecCeVbNLotG8nqvMipdT6K/42bNnM2vWLL788kvi4uKoUaMG69evx83t1f9ynT0i6+qRt6+4sPvHitmUfj3t32zP/s05L6TjU60knwEP79jRvHjVAosrv+3fZM/+Tdm326eaF4svfACc1tne3C33X66vivQMA378vTo//l49V+XVVoP57LtigO7Q4IW77ly4+3p3yf+00oOfVnrkuP/ONWtaVmhUcAEVgLNH7Dh7xC7H/ZdOlWTrkv9uUiCTGXOn0BMFKysrxo8fz/jx4ws7FCGEEEWFPlZWLCKJRqEnCkIIIUShKCJf9Hn135rGLYQQQgi9kh4FIYQQRZLMUcgdSRSEEEIUTZIo5IoMPQghhBAiR9KjIIQQoshRkfehh//uhaO6JFEQQghRNMnQQ67I0IMQQgghciQ9CkIIIYom6VHIFUkUhBBCFElFZY5BXsnQgxBCCCFyJD0KQgghiiYZesgVSRSEEEIUPYoeVmYsIomGJApCCCGKpiLyRZ9XMkdBCCGEEDmSHgUhhBBFk/Qo5IokCkIIIYok+fXI3JGhByGEEELkSHoUhBBCFE3So5ArkigIIYQokmToIXdk6EEIIYQQOZIeBSGEEEWT9CjkivQoCCGEKJJUSt5u+hQQEEC1atXYvn175rabN2/SpUsXqlatSpMmTVizZo3OfTQaDfPnz6dBgwZUrVqV3r17ExQUpN/A+C/2KKjVqO3tCvywKhubzL+Fcvy4+AI/JoCBhXnmXwMrqwI9tpKeXqDHe0Ztapr5V21uXuDHtwpIKPBjApgbJ2n/BicVSgwBy9wL/Jhmtk4APB7jREC0psCP7zUmqcCPCaBytM/8q3JLKdiDGxgU7PFeAWlpaQwbNozExMTMbVFRUXTv3p0mTZowYcIELl++zIQJE7CwsKB9+/YALFq0iA0bNjBt2jRcXFyYMWMGvXr1YufOnRgbG+stPulREEIIUfQoerrpwYIFC7C0tNTZtmXLFoyMjJg4cSLe3t60b9+ebt26sWzZMgBSU1NZuXIlgwcPplGjRpQtW5Y5c+YQGhrK/v379RPYnyRREEIIUTS9AknCuXPn2Lx5M9OmTdPZfv78eWrVqoWh4fOO/zfffJMHDx4QERHBrVu3SEhIoE6dOpn7ra2tKV++POfOndNPcH/67w09CCGEELmgj3kGwcHBdO3aNcf9Bw8ezHFfbGwsI0aMYMyYMbi6uursCw0NxdfXV2ebk5N2KCwkJITQ0FCALPdzcnLK3Kcv0qMghBBCFILx48dTrVo12rRpk2VfcnJylnkGJiYmAKSkpJCUpJ2/kl2ZlBT9ziuRHgUhhBBFkx56FNzc3P6x1yAnv/zyC+fPn2fnzp3Z7jc1NSU1NVVn27MEwNzcHNM/J1WnpqZm/vtZGTMzsxeO559IoiCEEKIIUlApec0UXv7+27ZtIzIykkaNGulsHzduHL/99hsuLi6EhYXp7Hv2f2dnZ9L/vOorLCwMDw8PnTJlypR56biyI4mCEEIIUcBmzpxJcnKyzrZmzZoxePBg3nvvPXbs2MGmTZvIyMjA4M9LRk+fPo2Xlxf29vZYWVlhaWnJmTNnMhOF2NhY/Pz86NKli15jlURBCCFE0VSIKzM6Oztnu93e3h5nZ2fat2/P8uXLGT16NL169eLq1ausXr2aCRMmANq5CV26dGHmzJnY2dlRvHhxZsyYgYuLC82aNdNrrJIoCCGEKHJU5P2qB5VeIsmevb09y5cvZ8qUKbRr1w5HR0dGjBhBu3btMssMHjyY9PR0xowZQ3JyMjVr1mTFihUYGRnpNRZJFIQQQohXwO3bt3X+X7lyZTZv3pxjeQMDA4YPH87w4cPzNS5JFIQQQhQ9+lg0qYj8qJQkCkIIIYokff+w03+VLLgkhBBCiBxJj4IQQoiiSXoUckUSBSGEEEWSDD3kjiQKQgghiiZJFHJF5igIIYQQIkfSoyCEEKJIkqGH3JFEQQghRNGU5x+FKhpk6EEIIYQQOZIeBSGEEEWSDD3kjiQKQgghih5ZwjnXZOhBCCGEEDmSHoVcsndKYtGm40weVp1rF+0zt7u6J9B76E0qvXEQzZOtdOjqytyJxUlKeP4znyU84+k++BaVqj8lI13NlfN2/PhDGYKDLAqjKS+lTJVYug19QJlKcSQlGnDheDFWTPfK3F+qbBh9hl+hVNkE4mMNOfW7PWvmlSQp4fV9iRkZa9h+5SyGRrqnDSlJ54CJALiXSqLn1w+pXDuWjHS4dtaa/031JDTItBAifjEqlULLZndp3eIOrs7xRMeYcuqsO2s3ViYxyVinrFqtYdjA9WjikgHdtrm5xNG96yUqlAvH1CSdgIe2rN1UmctXXQuwNbljciMe5/EBOe6P7uBE7EfOOtu2z9tN/JcHMPihDBlOzx8Xg/BUbNeGYnojHhRIKWtB9KcupLuY5Fv8+mLvkMjiVb8zaUwdrl1xzNw+Y/4RKlSKBEATuoD5P2i3D+nbhLt3igFgYZHKZ71vULfBY8zM0nlw34Y1Kypw5ZJTgbcjr1Sawo7g9fD6fooXIAfnJCbNP4elVbrOdgvLNL5bfJaoSBPWL29InzFvUb32JEZNDWfs4JoAOLslMmP5aRLiDVkyozzRT01o9n4QM1ee4otP6xIWYl4YTXohPhXimPbjNS6fsmXS5+Wxd0ql25cBuP2QxJJpPihpdxk4+iDXz1sz9Yuy2Dun0mN4AC4lkpnQv0Jhh//SPH0TMTRSmD7Uh5DA51+ObqVc+XoN2NonMHz5dR4FmDLti9KYmGn47MtApqz2o3/LKqSmGBRi9P/uo3Y36PbJFbb+XJ7LV10oXjyWzzpdwdMjmlHjmwIqAIyMMhjxxQm8PEKy1GFllcKMKfuJjTNhyYoaJCYa0aLZXb4bd4ivx77NtRvOWe5TmFK9zAid4p1lu+2mUIz9k0isZ6uzXfMogZXfbMhSXpWiwWlSAKoMhagebijGamw2P8FpfAAhs0qjWLy6z72DYyKTpx/H0jLtb3sUvErFsH1LaR48rMpXUz9i1qitBAWEExhoBYBarTDx+xM4OiWycmkloqNMeP8DfyZMO8EX/Zvw4L5NwTcoL4rI0EFevVKJQkBAAB988AHffvstH3zwQWGHg0ql0LTVY3oMufXnR6aulh8GYm2TxpAu9XAs4YnKvCM/Lj1B/6F7KVc5iptXi/F+pweYmGbwxWd1CX2sTQounnZg1qpTfDrgDjO/rVqgbXoZPYYFcO+mBRMHlEdRtI9EYrwBfb+5h51jPEryryiomDSoPMmJ2g9IA0OFzyf44+SWTFjwq392nZ1S5RNIT1NxfK89aanPR+nSFW2PUsuO10mIM+CbT8uTkqxt95MgE8YtvUXpSgncOG9dKHHnhkql0OEDP3bvK82qddUAuHTVlbhYE74ZfpzS3k+5e8+eiuXDGNj7LA72idnW807je9hYpzB4eAsin/75+r7iwuI5u/mord8rlygo5gak+uom52bnYjG9lkD4UA/S3f7SG5ChkDzjBvb2VoQ/itS5j8mtBIxCUnky1ouUSpYApLmZ4PbFHczPxZLQqFi+t+VFqVQKTZs9pGf/a9l+nrm6JWBukc65My4kJLugMq7KgwfH8L/5/LS7UdNASpeJYnCfpjwI0CYF1y47smjF71Sv8eT1SxRErrwycxTS0tIYNmwYiYnZfyAVBq/ScQwceYNDu4sza1zlLPurvxnBjcvFiI153h1563pxEuMNqFkvHNAOOwQGWGYmCQCKouL6RbvMMq8yK9s0KtWKYfcGt8wkAeDkAQc+a1ybp+GWoKSgSVeRkvT85RQbbfjn/dOz1Pm6KFUugaD7pjpJwjOKolDlzUfs/8kpM0kAuHvdki71arzSSQKAuXkaB494cfiop872oMfaD3o3lzgAxn9zhLAICwZ+1TLbeiIiLdj+a7nMJAFAo1HzOMQa1z/reJWpUjQUWxlMUnUrkurofslZ7YxAiUrl45Htst4vVXsqqpg9f21orLSvA3Xcq/ma9yoVw6Chlzi034OZU2tk2V/KJxqA+/45f9nXa/iYa1ccMpMEgLQ0A3p/2pztW3z1HnN+Uyl5uxUVr0yPwoIFC7C0tCzsMHSEhZrS64O3iAwzo1L1yCz7S3jGc+yA7jisoqgJDTaneMl4AGKjjfH0icfAQENGxvMPFVf3RCyt0rG0TiU+Vnc8+FXiVSYBAwOIiTJi+Ixb1G7yFBUKJw84sOTPLlyV2YfAOnqPvM/GxR4Uc0jlk4GBBNw2J+DW6zMP4++8yyWiyVAxZbUf5avHkZaq4tgeew7tcoOMR5hbpBEWbMKA8fdp1DoCEzMNF47Zsmi8FxGhr/Y4dUKCMYuX18yyvU7tIAAeBNkCMGz0Ozx4mPPZ8dETJTl6oqTONkuLFCpXeMLlay76CzifWP0WgcHTNMLGeulsNwpKxmbLE0ynVsfEPOv7M6mKJWnFTbBdF0pkf3cUYxXFVoegMVWTWOvVPKsOCzOn5yfNiYwwp1KVrCcp3j4xJCYa0qvfNeo0+B1N6FL6DnBl7vdleBykHXrw9o7h1AlX3m9/l7Yf+mPvkETAPRuW/VCFG9ccCrpJeScLLuXKK9GjcO7cOTZv3sy0adMKOxQd8bHGRIaZ5bjfwjKdxGwm6yUlGmJuoT2rOLDTHTuHFL6acBWX4olY2aTyfqcAqtfRvlFNzTLyJ3g9sSmmHcf8YsodUpPVTBpYjhXTS1Gr8VPGL7kBKKiMfNmxvhptugSz+fRpluy6iJlFBuP6VkSjya6T83Wg4FU2EVePZE79bse3PcuxabE7jdpE0n/0H6B5CkCP4Q+xd05l2he+zP3GG58KCUxb54fJK/68ZqdM6Qg6fnCDU2eL8zDQFuAfk4TsqFQKXww8g7l5Glt/Lp8PUepRmgar3yJJrGdLuqvukIP9giASmtphUMUu+/saq4nsXxyjwGSKD7qNe59bmJ+LJWKYBxnOr2biHx9nTGREznOiSvlEY26eTny8EcuXtURlMwVHx2hmzPsDO/skAKxtU6jf8DHvtg5g+eJKTBxTh5RkQybPOIZnqZiCaopeqMh7j8Lr+un2ogq9RyE2NpYRI0YwZswYXF3zPkvawNAA74rueohMl5uX+s+/jiSmugGgNoBiTlZ4V3TH3Vs749fd2wlTc2PUBkZ4V3QnLtGdNUst+aDzKRo2/wOAWzeKc2hPNVq2u4CrZwlsHPUwhp9PQzbFvbVfeCFBjuz+qREAd27BttXOdBtygvotUlDil9Kx9zmO7vXlytkSWFql0Lz9NWZuuMm88e8QF5NzspUXSnr+fRmrVAr/m25GfKwpoUHaM8Sr58F4+QM+++I0pB4HIDHBgk1Lm6EoKmLjYM08T76a9jsdB2o4eaBUvsSm8dH/mXqpko/p3+0wT6Nt+HlPW3zK5PyclShpn+12tTqDTzvspWa1QDb/0pQMdUV8yugvRktb/dUFkHYohJTodBw+KYuzrVXm9tS190hLVlFsQBVKWT1va2lrR9S22scl48pTkibcwKCCLUYfeoBaRdruRzjNDMLsu2oYVNLPHIXi5VP0Uk+Wej01f/61JylN+3l26HAjTp1O5Z5/cdy9HFGZvc/POx7Ts9t8uvUJ5dcd9TAy0mBlnc68OZ2Ijtb2AP/4YyXGTlhDj36BrFndPM+xGRm/uhNBiyqVohRu38vQoUMBmD17NgBlypRh6tSpLz2ZUVEUVCr953lKyhmUqK6oiq1FZVIbAM2T2mDWBrX1GJ2ymog2YFgKte28v8SVARlB/2/vvsOjqrYGDv9m0ntvJJCEJJRIC024YkQURBQUbCDFQhdBBanSu1IEUdoFEQVENEgRpApSpJdQQkJCQihpJCG9TTLn+yMSHMN8N5oygaz3eeaB7HPOPmtmkpk1a+99BlTmqIzc0WYuhuxlqNwuo1JV3z8MJW8fStp7qGyno7Lseb9dm4GS1BKV9cco2V+BWUfU9vPvby9KQUl+FizeQG07zhChV4r793s4StYSsBqM2maUzj7axBZg/iJqu2kGivKfUXJ3oKSPA2MfVA6rURk9eJmbNqEeWL2P2mZE6T60GShp70PBSVQ2n6Cy6lvZYZfb1FfmcftqPP+9uLCkLepcDCPaTmDmjgk0faq4IrL3299ZMGAZayOX4ObjgpGREWOfm0H8tURWXf4cU7PipdBarZYPnphIUWERS099apD7VFYPej3TR5vcDdQuqB1Xo01sCcZ+qJ1+0N3n7lAojEHtsqsyw65QcQlpvP7eqnL1sWnpAGq521dMQNWYQSsKW7Zs4fTp02zfvr3C+rwTl8b0AeV78h/Ev34cI8bB4rEbiYo4BMAH403Jyz3AikVmePm5Mu7Lt/h0+BqGj4zmwG4rft06DzePu9TxvcOpP3Qn+gz6YBf2Dg589s7CB53un6ukioK7ZzoTFsKPi7dxaFdESbu1TR6zV8HhrUdp90wuezZl88t63TfGj2ebkZXxK8vnVs6nosqsKNg65NKoRRxXzrtzN/n+PAtb+1xmrQZUtihaOPD9QX5eq1tynb8ul6PbzvLzN5MrJTatf8VVzJ4JPsXLz/9OZHRtVn7Xiby8LXr3/erP977Zk0O4GXt/zo69XSbDB/yIk0M6a394gXMXc4GVFRbjPQn9Kq4vpVBL9q+nMX3dh+7778ea/+01NAWFjO04vdQxbwUMR93EAcsFLcm+EoWRnw1vHFmjs09+7QI0227q9Fkenksr52/HP+AWIz6ExVM2ExV5ErVaS8tWESQl2XM9xgMvXxfGze/J3I838lbfBG7EKny3dgmjRpujVt9i3qAlOv0NHhqFrW0O84YsefAJ/4GpS/vh7FY18zxq0oTE8jBoohASEkJKSgrt27fXaZ8yZQo7d+5k1ap//oZfVFjEtUu3KijC+yxNi18Y42LucO1Scdnu2AEbXukbw51b10r2s7Y4h7mFhv3bTbl26RburvH0HXiew7u13I4tLtXV9s2kQaNbbFztV2GxKplZFdLP30WFKiSMNCOw6VW+/tSce6NynV5JAODYXjvaPWuPo2MUUaEFJcfZ2mtwdkvnwnFXokJvVEpsSmHlzS538chn1qqzbFzqydqFdUraX347nqIiFcZmwUSFrSQw6DqLxtmXrIxo1jYdM4tCju5UiAqNrZTYtEUV82fbpdNVerxwkoOHvZm3+D8UFt4t03E3Y1OIiih+/i0tChg3/1dsrPIYN+UZLoXZAQkVEt/f3UiruL5MonPxyNNy00chP+1+vEbtTDF67P51FnytnXg1yZvvpv/InbHeaDzMKExLwNndCNOwVKLvxIHJn1O9FAW3i3dQuZoQllYxj0FuWG6F9PN3FibFr2e3r6cQFVYc/9jxf5CaYsHoEe3v71h4GWfnNDas9SMqLI4jB53o2fcK+Vnh3LxRvLLHxjYfb5849u+uQ1RYXLlj0xQ8fPN7HnUGTRTmz59PXl6eTlunTp0YMWIE3bp1M1BUZbfjpzp0fT2WWV+d4rfdapScTfQbdIBTR124cqF4jPL0UVfibloyZkYo3y0PwNKqkHc/iCDhtiVbvvcx7B0oExWr5/ky/vNwxi0MZ9eP7tTxz6Hfh7Ec2e3EzRgnVNbDadluBu9PzefwLmfsHAp5bdBNiopUbF7jaeg78K/ciTdjz48uvDIgjvw8NeHnbAhsmUHPobc59GsAzwzwZdv6poyYtp/pq64QsqoW9s4a3h1zg/Dz1hzfr2cSXDXhYJ/L4P5nSEi0YtvO+vjXTdXZHp9gQ3rG/54707fXBWp7ZvLt900oLFTRoN792fQajRHXYqrn42B6o/h1R+OluzqlyNGEIsf7V1U1srfDzbL4yoUFdcxLrsyY8aorbpOicZ11ncwXnFGMwPq3u5hezSF5VB0eRuvXBvLx+NOMGn+K8IgglJxNDB7yC9HX7Nm/u3hly9YQfzp2jmXqnKN8u7oReXlG9OwTjqJAyA8P3/JIWfVQNgZNFNzcHnwxFicnJ73bqpOMNDPGD32cQSOv0G/QAZSsc5w/7cvnU2qX7JOfb8TkES0ZNPIKo2eGoilQc/oPF9Z+VU/nMs/V2dHdLkx/T02v924wdfllMtNN2LnRnW8X+eATCCqrvqydvZ8nngmlY49E0u+acPm0LTPfDyTx9sN5sSWAL6fUJf6mOc+8fIdew26RnGDKd4tqc/5kEM8MgOtXnRnb+zHeGnWDT766Sn6ummP7HFk1x7var/Zo1eI25mZFuLtls3DOnlLb53/Rlr2/lb6C4d+1a1tcLerX6wL9el3Q2ZaQZMVbg0pfg6A6UKcXV6O0//IKigV+liROq4vdxkScFt9EMVah8TEnaYov+Y9Vr2XeZfXbHm80BUa82jOCdk/tQMk6zKVLPiz+rG7J73NWlimjhj/Fu4Mv8d4H5zA20XL5ojOjR7Qn+U71v8rs38nQQ9kYfNXDw+LiWSdeaPV8qfbYazZ8Mqw1fo28+PLX0fywdh65ObrDCfG3rJg2svQFTh4mJw86cfLgg2e7A5w+4svGr6rvpMx/Q1OgZuNSLzYu1Z0T4N/0fhJw5ZwN4/o8fJep3rPfnz37/f/RMcPGfsyytYP46/yDvgMNfwXVfyPzJRcyX3L53zsCz739NMtrR1L0t+GEggBL7kzy1XNU9XYx1IUuT79Sqv3wQS8OH/TCP7AWX4YM54fvl5CVqTuckJJsybxZrasqVFENVLtEISIi4n/vJIQQQpSXVBTKpNolCkIIIURVkKGHsqkWV2YUQgghRPUkFQUhhBA1k1ZKCmUhiYIQQoiaR6H8cxRqSJ4hiYIQQogaSeYolI3MURBCCCGEXlJREEIIUTPJlRnLRBIFIYQQNZIMPZSNDD0IIYQQQi+pKAghhKiZpKJQJpIoCCGEqJFUMkehTGToQQghhBB6SUVBCCFEzaMA2groowaQREEIIUQNpFTA0EPNyBRk6EEIIYQQeklFQQghRM1UMwoC5SaJghBCiJpJVj2UiSQKQgghahwV5b8yo6pCIqn+ZI6CEEIIIfSSioIQQoiaSYYeykQSBSGEEDWSqrzXUaghZOhBCCGEEHpJRUEIIUTNo1D+oYcaMnLxCCYKCkp+ftWftqCg5F9DnF8pKqrycxafV1vyb1XHoNx7zKuYotGU/GuIGFRaw7w63TuvSqsYJAbvPpFVfk6PZgXwDHhMvEH2+etVfv7I6c2r/JwApq4OANzo5kBkG02VnltjU4WF7hryRl9eMvQghBBCGEBaWhqTJ08mODiY5s2b06tXL06fPl2y/dixY/To0YOmTZvSuXNnduzYoXN8fn4+06ZNo23btgQFBTFq1ChSU1MrPE5JFIQQQtRIKkUp1628Ro4cyblz51i4cCEhISE0bNiQ/v37Ex0dzbVr1xg8eDBPPvkkmzdv5rXXXmPMmDEcO3as5PipU6dy5MgRlixZwtq1a4mOjmbEiBHljuvvHsGhByGEEKIMDLg8MjY2lqNHj7JhwwZatGgBwKRJkzh8+DDbt28nJSWF+vXr89FHHwHg5+dHWFgYq1atom3btiQmJrJlyxaWL19Oy5YtAVi4cCGdO3fm3LlzBAUFVVisUlEQQgghqpiDgwMrV66kcePGJW0qlQqVSkVGRganT5+mbdu2Ose0adOGM2fOoCgKZ86cKWm7x9fXFzc3N06dOlWhsUpFQQghRM1UAddRiIuLo2/fvnq379+//4Httra2PPXUUzptu3fvJjY2lgkTJvDzzz/j7u6us93V1ZXc3Fzu3r1LYmIiDg4OmJmZldonISHhX96bB5NEQQghRI1UEfMMKsrZs2cZP348nTp1on379uTl5WFqaqqzz72fCwoKyM3NLbUdwMzMjPwKXnkniYIQQoiap4Kuo1DLs5beqkFZ7du3j48//pjmzZszf/58oPgNv+Bvy6/v/WxhYYG5uXmp7VC8EsLCwqJc8fydzFEQQgghDGTdunUMHz6cp59+muXLl5cMJXh4eJCUlKSzb1JSEpaWltjY2ODu7k5aWlqpZCEpKQk3N7cKjVESBSGEEDWQUlxRKM+tnFds2rBhAzNmzKB3794sXLhQZyihZcuWnDx5Umf/48eP07x5c9RqNS1atECr1ZZMagSIiYkhMTGRVq1alSuuv5NEQQghRM2kLeetHGJiYpg9ezYdO3Zk8ODBJCcnc+fOHe7cuUNmZiZ9+/blwoULzJ8/n2vXrvH111+za9cuBgwYAICbmxsvvPACEydO5MSJE1y4cIGRI0fSunVrmjVrVr7g/kbmKAghhBBVbPfu3Wg0Gvbu3cvevXt1tnXv3p25c+eydOlS5s2bx9q1a/Hy8mLevHk6SyZnzJjB7Nmzef/99wEIDg5m4sSJFR6rJApCCCFqJEOuehgyZAhDhgz5f/cJDg4mODhY73ZLS0tmzpzJzJkzKzo8HZIoCCGEqJmq0fLI6kzmKAghhBBCL6koCCGEqJmkolAmkigIIYSomSRRKBNJFIQQQtQ8CuX/rocakmfIHAUhhBBC6CUVBSGEEDVSdfpSqOpMEgUhhBA1kyQKZSJDD0IIIYTQSyoKQgghaiAFtOWtKNSMioQkCkIIIWomGXooExl6EEIIIYReUlH4h5575TYv976Fm2cuSfHm/PK9F7/84Fmy3c4hm9FzLtPiiRSMjRUiLtmyeqE/0eE2Boy6/Bo0y+TtUbHUb5JFbo4RZw7Zs+pT75Ltzu6Z9HnvCo+1zKCoUMWRXU58Pc+bnKyH91dMpVLoMTCRLr2TcfYo4Ha0OT8ud+PmdZ+SfTq+mswrgxOp5Z1PSpIJe390YuOXHmiLVIYLvIxUKoXnn4uka5dI3N2ySEs359gJL9ZtaEJOrgkAHh6ZDO5/hkaBSaAyQpseh7mZk94+B757hgC/VMZ80rGq7kaFm7QsEv9G2bz1ZLMHbn/p7QSGTrnBW+2aknjbrGqDKwdTdSHne32NiVr34gHZGmOabSz+6uJna8cwrPEZ/OzS0d75hjf8fJmRXA+N1qhk//lP7OelupGl+h/+e0d23fCr3DtR0aSiUCYP76u4ATzXI44PpkSwdb0Xxw8G0Kh5GkPGX8XETMvFc3VQtFl8MGkXOVlalsxogCZfTa/B15m14jzvvdKau8kPz4vKX/k/lsXc7y5z/g87ZgxrgKNrAe+MimWyTx7LZgegaDMYPuU37sSpWTAmAHsnDe+OuY6bVz6T+gcaOvx/rd+oOF4dksh3C2txNdSSVk+nM/aL66yZ7wpA+66RvDowlsM77Fk1yws7p0L6jYyjbsNcZg6p/i+Yr/UI460+ofz0c0POh7rjWSuTfr1D8fFOY8LkDlhZafh05j7u3rVg/uK21Ktnxpuv7+Ddvo6MHP1Eqf56vHyFV14O58JFVwPcm4rR4eVknuh8l8Rbpg/c7umbyztjblVxVBWjnn0qJmoto4504EamXUl7kVKc1D7hcZOvntrNzuv+/BjzHNOf9qaH72doClOYcapdyf4NHZPZHuPPt+GNdfqPybDjoaJQ/kShhuQZBk8UEhMTH/g1mnPmzKFHjx4GiEi/ji/HcemsHSs+rQdA6AlHPH1y6NrrFhfPATlrsbTO54Ne95OCyMs2LN54iiat7vL7r+4GjP7f6z8mlmthVkwb0gDlzxeVnCwjhkyMwck1C3I2YGWTz9CBzcm4W/xJNDnBlBmrrxDYPIOws7aGDP9fMTPX8nL/JLZ+7cqmpcXP2/mjtgQ0zqH9i1EoShHPvxHOmUM2zBp6PymIumjJin1hBD2ZwbnD1fd+q1QKr70Sxs5d/qz5NgiAc6EeZGSaMmHMUQL8U2neLB5bm3ze//B5MjLNSU5zp/eg1wmsP5DAhgGEXSlOCNzcshj07lnatL5FVpaJIe9WuTi6FjB0Six34h6cJKjVCqPmxZB51xhzi4Iqjq78GjqmoNGq2RXrR8FfKgT3vOIXQVy2NaOOdqChizsqqz5sD/2dngHHmHO6LYWKEabqQnxt01lzpQnnk90McC+EIRg8UQgPD8fMzIx9+/ahUt0v19rYVL9SvamZltQ7ulWBzDQTbO00ACh5uwg96aNTObibYka/ju14WNnYa2j8eDoLxgSUJAkAf+xx4o89Tvg3tUbJP8K1Ky4lSQLA2SP25GQZ0eqpuw9loqApUDGye33SUnTf+DQaFcamRaBNxsq2gJP7dV8sY69akJZiTOsO6dU6UbC01PDbAV9+P1JHp/3mreJPhR7umbQIiudSmCsZmeb3dzBtR26eKa1axJUkCoP7n8HDPZOxE5+h35sXquw+VLQP58Zw5rAdmnw1TdpklNr+ysB47J01/LDMg/dnxBogwvJp6JBMdLr9A5MEADOjInILTdAq96euZWosMDXSYmWiIb3AqKQqcSXVuarCrlzlXvVQMxg8Ubh69So+Pj64ulb/cuXW9bX5cGo4T7+QwInfnWnQJJ1nuiXw23Z31EZaKLxGYnxT+g6L5rkecdjaa7h8zo5lc+px45q1ocP/V3zr52BkBOmpxoxZcJXHO6SiUsHRPU4sn+FbvFPRNZLidcettVoVCTfN8Kqba4Coy0+rVRETbvnnTwr2zoV0ej2FoHaZbFzanN5tbSkqVOHqma9znLVdITZ2hXjUyS/daTWSnW3Ksv+2LNX+nzY3AYi9YU/t2hkcOuyts12lMiIl1Q4vz/tvpGvXNSX2hh1Q/edl6NP5jSQCGmczuFNjBk64WWq7e+10+nx4m4lv18fdq3o/t/o0dEyhSFGx5plfaO6aQEGREbti6zL3TFuyC01ZF/EYqzrspH/geS6mBaMUnKer9wkO3qpDeoF5SR8Ar/tf4dnav2Jvlkdosiufnm1L6MNYYVDK+2UPNYPBE4WIiAj8/CpuPNfI2Aj/xrUrrL+/unWjFqeOFjB6TlhJ25XQWuzb2QH/xnZAIc92jSAxzpJN3zyJsXERXV49z/xvQ5k7rhsZaZb6Oy8nJb9ySqH1g24AMHr+dcLOebB6QWNcPDLp9mYovg2iCfnuCdBmYmrhj39T3TcVhas4eRiXaq8oSkHVlH9bBN/knY/PAnDplDvxtx9HpbIg/EI9ur0TSW5ebUKP1cLGPp9XB4ai1apxcDXFv5lP5QRUv3KGsLxrx/PGa1e4eLkuJhYNsLbahZmFPf5/nq+2971PkZY4u1DSDu741y/+n4VlcdnevzJiNNJUfJ+Ag0s2gyefZf2S1rh6e2HjeBdj0xz8m/lQu54HilLIgDHnOL7fj9z8JrjWiQFi8A70wsbFqlJiuse8wj5AKQQ6pqICDie0ZuetZwiwjeMN/99p4pLFJyffJkPrwpbraYxrcQQ4jpIKeUVerIzoyWOuxYnCE55nAPCwNuaLS69iY5pLD9+jrO+0nTHH+xObVf5kwdTowRWPSiGTGctEpSiGfaS6deuGg4MDhYWFxMTE4O3tzdChQx84b6EsFEXRGcKoSNrU/qA5i8p6GJg0AU0EStYSMG2BynYyyp2nQO2Kynk3KnXxC4hSFIdypyNYvYvaZlSlxFWZlNytKOmjwawDaoflf2n/BSV9JCqHr1HuDgarAahtPtI5VpvSE1RWqB1XV3XYFUopvAHaRNCEo2QtBuP6qBzXgZKDkjkLckMontVkjsp6EEr+EVDboXZYYejQy0wpOFP8PKpdUDltQKV2QJvw2D9+XrUpfQBQO62rkrjLS1EUlLtvgdoRtf0iALRpY6HgJGrXA8X7ZC1Byd2Cymk7KrUlSs5mlIxxqJx/Q2XsZcDoy05RtFBwCtSOqEwC7rfnbkNJ/xiVw39R8vYX/y5bDURl2haKbhe/vhm5oHJci0plgVIYDUW3UZk9eb8PbUbxa5xZG9T2iw1x9/6V+BspvBs8s1x9fH1oIh519K8CelQYtKJQWFhIdHQ0/v7+jBs3Dmtra3bs2MGgQYNYs2YNbdu2/cd93om7y/R+yyo8Vt+AJD6aepjv/9uWYwcTgb0ABDZtwZAx+wn5wo4evSAs1InlcxfpHDtmtjUZab+w/LO8Co/rnsqqKDRudYtBY+H7xZn8sW9KSbuFZQGffQsHvv+a9s9bc3rvcdYunKJz7LgF10i8Zceaz6f8vdsKUVUVhb9q/XQ9+n10CjSnmdv/ODcjFEzNu+HokkPqHUsK8m4zffUVIi+68N2i8ZUTRH2fCu2uedNw+ryxm6Q7Dixd9SwZmZsAmDPFmNOHjxOyrTjhqe3tzPiZr5AUH8fNW7asWV86EfpgSBwAi5dXQpIUVXpIoLyCn4/k+TfCmP1hJ7IzJgDQ+/2z+D92l2ndJ9D8KWPeHhHCxpUv8sfu4jeV1k9fp8/7MOW1+aQkWaJoK+9yNLeGNKiEXk+U/M/KOI/1z8B3Jzfwpv8Bfopux4YoZ+o6prCoaw/mHk1jbOO5rDg4lp03Wv+lD905GuObueJpdZL3t5Y/QVzZ4yXcq2SOmlyZsawMmigYGxtz4sQJjIyMMDcvLm01atSIyMhIVq9e/a8ShaLCIqIuVvwLiqdXAgAHf9FyM+Z+/7eiChkyBoy5DmpHCnKzS52/SFPA3TvGlRLXPUpu5SQhBdk5MBbSkpKJCr0/sc/OsbgMnByXA8a+WJglEBVqUbJdrVZwcMrkwFYbokIrZ+KXkl95Y8V2jhpaPp3B6YO2pP9lQqMmJ5d+HwFFidjZnCHROIWw4/fmn6Ri56TB3imXs4e0RJ2/XknRmf/vXcrolZfDePvNc1y45Mb02cHk5GQBWQDcuGGNlXkiUREJJfsrShG21ilcueKi035Pbk5x8vagbeV28XqFdzlobBQ2dvnMWbO91LYvQn5i58ZAQEPPQT/Tc5Du9qnLdnLhuA1jejWs8LjuuZbkWCH9uFpk094zlsNxtYnPuf8m7GKRDUBSVhZqFey+bsvlpKSS7cfiTEkNMMdafYPLST508Y4io8CMI/G6w7sFRdnEZ5voHPtvFRQVlbuPMpHlkWVm8CszWllZlSQJ9wQEBJCYmGigiB7sZkzxUMJjzdN02gOD0gFITrIB06eo3ygeW/v7n3Q9fbLx8snh8tmHbI3xn25EWZBw04zgF5L561/F4x1SAbh2xQWVWTv8A5NKkgeA5u3SsLTWcvaIfRVHXDFMzRVGf36dzj2TddpbBP85ic+kAe2ej2bgJ7pr6rv3T0JbBCf321dRpP9el+ciGfjuOQ4d8Wbi1KfJydFdFnjmnAeNGyVhZ/uXJLTgCObmGs6c86jiaCvHF5/4MLxboM7t+H57UhJNGN4tkKN7/FA5hfDZx8+WbF+3qBYAUwYE8MUnPoa9A2VkpNIyq+0hetYL02l/wfsahVoVfyR4UahV0dI1Xmd7LctkHM3zuJlVvIKnZ70wpj9+CBP1/TdzN4ssmrskcCLRE/FoMmhFITIykjfeeINly5bx+OOPl7RfunQJf39/A0ZWWnS4DUf2ujBwdBTWtoVEXLTF2y+b3kNjiLxsw4XTdVBZv4WS8gszV5zn++W+GJto6Tc8mjuJZuzeXMvQd+FfUrH6M2/GL77KuEVX2bXJjTr+ubz1USxHdjlyK8YRLN+koGAFs765zIYltbGxL6T/mFhOHbTnyrnqu0Tw/3MnzpTdG51484N4CjUqrl22pFHrLF4fmsAfe3xo18+fg9v9eX/6EQZNvsnxvfYEPZFBz/cT+GGpG/Gx1fviWg72uQwacIaERCu276iHv99dne3x8dbs+DWAbi9GMHv6b6zf2Bi/gCSUtFVcvuLLlXAXA0VesW5FW5Rqy7xrTKFGReRFa/ybWaAyacyNa45EXSxOEn3qFa/kuR5u+dBcmTE+x4afouozIDCU/CJjzt1xo4VrAkMbnWVdRCNCk9345koTBjwWCsDtvEYoOZuZ0mIDt7Ks+SGyuGry1YUWrH32F5a138Xa8MbYm+bzfpPTpOWbszqsiSHv4r8jkxnLxKCJgp+fH3Xr1mX69OlMmzYNBwcHNm3axPnz5wkJCTFkaA/02djH6DnoOl1ev03fYdEkxZuzd6sHG5b74OWvRmVch0XTuvDMC0cYNTsMbZGKc8cdWDkvgNwcgy8w+deO7HJm2hA1bw67xbSVV8hMM2bnRne+/bwO3g1BpXZkydQOPP/qH4xeEEluthGHdzmxaq6PoUMvlyWf1CH+hhnPv5mMq2cByfGmfLuwFqEnmtOuH4Sfd2Pu+770GhFPl953SLplxtLJtdn2TfVf6tuqZRzmZkW4u2Wz4NO9pbYvWNSGvb/5MfaTZxky4AxjRh2loMAMzLvy9XpXILXqgxblMuVEMDezbHnJ9yrvNT5LQrYVi0Nb8d/LzQD49GwbEnOs6FkvjDo2F1Cy3AlNqcukY43J1BQnRCcSPXln/wsMb3KaxU/uQ6vA4bg6fHb2cbI0D0fSpEMShTIx6LuXWq1m+fLlLFiwgA8//JCMjAwCAwNZs2YN9erVM2RoD1RYqGbd0rqsW1pX7z4Jt+2ZNrxpFUZVNU4ecOTkAf3jpfE37Znw9mNVGFHlK9So2filBxu/1C2z+ze7v6rm4DZHDm6rmHHkqrRnnx979v3vZcmxN+wZP/kZoHjJ49LvBpOfr3+i4sP8HQ/3LBit/+8bYG+IC3tDHr6KSoHWiKUXW7D0Ygs9e6j4JrwJ34Q34TFXV7a91Yelv64jNV933sGxBC+OJTwcqz1ExTD4x1xnZ2fmzJlj6DCEEELUNFq54FJZGDxREEIIIQxChh7KxOCrHoQQQghRfUlFQQghRM0kFYUykURBCCFEzaNUwJUZa0iiIYmCEEKIGkmRb48sE5mjIIQQQgi9pKIghBCiZir3l0LVDJIoCCGEqJlqyByD8pKhByGEEELoJRUFIYQQNZNcmbFMJFEQQghR8yhK+YceasjQhQw9CCGEEEIvqSgIIYSokRQZeigTSRSEEELUTDVk6KC8ZOhBCCGEEHpJRUEIIUTNJBdcKhNJFIQQQtRM8l0PZSKJghBCiJpHAaXc3x5ZMaFUdzJHQQghhBB6SUVBCCFEDaRUwNBDzSgpSKIghBCiRir30EMNIUMPQgghhNBLpSiP1hUnCjVF3IlLrfLzmpgY41zLgeS4u2g0hVV+fkMt8zExM8a5liPJcalo8qv4fhvoV9fEzARnT0eSb6eiyddUfQBmplV/TsDExAhnV1uSkzLQaIqqPoCCqn+sTUyN7z/XBVX/d61xMMxzbWpkhLuNDQmZmRQUVe1zXcvGBmMjo0o/T1FhEUk3ksvVh2sdZ4yMKz9WQ3vkEgUhhBBCVBwZehBCCCGEXpIoCCGEEEIvSRSEEEIIoZckCkIIIYTQSxIFIYQQQugliYIQQggh9JJEQQghhBB6SaIghBBCCL0kURBCCCGEXpIoCCGEEEIvSRSEEEIIoZckCkIIIYTQSxIFIYQQQugliUI5abVavvjiC5588kmaNWvGwIEDuXnzpqHDqlIrVqygb9++hg6j0qWlpTF58mSCg4Np3rw5vXr14vTp04YOq9KlpKQwevRo2rRpQ1BQEIMGDeLatWuGDqvKxMTEEBQUxObNmw0dSqVLTEykfv36pW414b4L/SRRKKelS5eyYcMGZsyYwcaNG9FqtQwYMICCggJDh1Yl1q9fz6JFiwwdRpUYOXIk586dY+HChYSEhNCwYUP69+9PdHS0oUOrVMOGDSM2NpaVK1fy008/YW5uzttvv01ubq6hQ6t0Go2Gjz/+mJycHEOHUiXCw8MxMzPj8OHDHDlypOTWpUsXQ4cmDEgShXIoKCjg66+/ZsSIEbRv354GDRrw+eefk5CQwJ49ewwdXqVKTExkyJAhzJ8/Hx8fH0OHU+liY2M5evQoU6dOpWXLlvj6+jJp0iRcXV3Zvn27ocOrNOnp6Xh6ejJz5kyaNGmCn58f7733HklJSURGRho6vEq3ZMkSrK2tDR1Glbl69So+Pj64urri4uJScjM3Nzd0aMKAJFEoh/DwcLKzs2nbtm1Jm62tLYGBgZw6dcqAkVW+y5cvY2JiwrZt22jatKmhw6l0Dg4OrFy5ksaNG5e0qVQqVCoVGRkZBoysctnZ2bFgwQLq1asHQGpqKt988w3u7u74+/sbOLrKderUKX744Qfmzp1r6FCqTEREBH5+foYOQ1QzxoYO4GGWkJAAgIeHh067q6trybZHVYcOHejQoYOhw6gytra2PPXUUzptu3fvJjY2lgkTJhgoqqo1adIkNm3ahKmpKcuWLcPS0tLQIVWajIwMxowZw8SJE0v9fT/Krl69ioODA7179yYmJgZvb2+GDh1KcHCwoUMTBiQVhXK4N0Zramqq025mZkZ+fr4hQhJV5OzZs4wfP55OnTrRvn17Q4dTJd566y1CQkJ48cUXGTZsGJcvXzZ0SJVm6tSpBAUF0bVrV0OHUmUKCwuJjo4mPT2d4cOHs3LlSpo1a8agQYM4duyYocMTBiQVhXK4N25XUFCgM4aXn5+PhYWFocISlWzfvn18/PHHNG/enPnz5xs6nCpzb6hh1qxZhIaGsm7dOubMmWPgqCreli1bOH369CM99+RBjI2NOXHiBEZGRiWvZ40aNSIyMpLVq1frDLGKmkUqCuVwrySZlJSk056UlISbm5shQhKVbN26dQwfPpynn36a5cuXY2ZmZuiQKlVqaio7duygsLCwpE2tVuPv71/q9/5RERISQkpKCu3btycoKIigoCAApkyZwoABAwwcXeWysrIqNXExICCAxMREA0UkqgNJFMqhQYMGWFtbc+LEiZK2jIwMwsLCaNWqlQEjE5Xh3jLY3r17s3DhwlJDTo+i5ORkRo4cqVN61mg0hIWFPbKT3ubPn8/OnTvZsmVLyQ1gxIgRzJo1y7DBVaLIyEiaN2+u83oGcOnSpUd+4qr4/8nQQzmYmprSp08f5s+fj6OjI56ensybNw93d3c6depk6PBEBYqJiWH27Nl07NiRwYMHk5ycXLLN3NwcGxsbA0ZXeerVq0dwcDAzZ85k5syZ2NnZsWLFCjIyMnj77bcNHV6l0FcNdHJyeqQrhX5+ftStW5fp06czbdo0HBwc2LRpE+fPnyckJMTQ4QkDkkShnEaMGEFhYSETJ04kLy+PVq1asXr1akxMTAwdmqhAu3fvRqPRsHfvXvbu3auzrXv37o/0ErqFCxeyYMECPvroIzIzM2nZsiXr16+nVq1ahg5NVCC1Ws3y5ctZsGABH374IRkZGQQGBrJmzZqS5bGiZlIpiqIYOgghhBBCVE8yR0EIIYQQekmiIIQQQgi9JFEQQgghhF6SKAghhBBCL0kUhBBCCKGXJApCCCGE0EsSBSGEEELoJYmCEEIIIfSSREGIMmjffiMq1Xydm6npQurUWcGwYfu4ezev0mOYOvUoKtU/+7bKzz8/jY3NYtTq+RgbL8DIaAELFpyqpAiFEI8iuTKjEGXQvv1GMjIKWLr02ZK2goIizpxJZMKEIwQFuXL0aC9UKlWlxXDrVia3bmXSpk3ZL50cHZ1GWlo+RUVazMyMcXIyx9Pz0fxeCiFE5ZDvehCijGxtTUu9SQcH1yYrS8PkyUc5cSL+H72J/1NeXjZ4ef2zN/m6de0rJxghRI0hQw9ClFPLlsXfKBgbm0H79hvp02cHr766FSurRXTs+CMAeXmFjBnzO7Vrr8DM7HOaNPmGH34IL+lj0KA9uLsvpahIq9P3hx/+hrPzV2g0RaWGHq5dS6Nbt59xcvoSS8tFtG27np07o3WOP306gc6df8LJ6Utsbb+ga9fNXL6crLNPamougwfvwc1tKebmn9OmzXr274/V2Wfv3uu0abMea+vFODgs4aWXfiY8PKX8D54QotqTREGIcoqIuAuAn589AD/8EIGNjSnbtnVnzJhWKIpC9+5bWL48lJEjW7Bt28v85z+e9Oz5C99+exmAvn0DSUzM4cCBmyX9arUKmzZF0LNnfUxMjHTOqdUqvPjiZrKzNXz3XRe2bn0ZJycLunX7maio4ngOHLjBf/6zAUWBNWs6s2pVJ27ezOQ//9lQ8iafl1dIhw6b2Lo1ilmz2rF580t4eVnTuXMIv/12AygevnjppS20bOnG9u3dWb36OSIi7tKly2a0Whm5FOJRJ0MPQpSRokBh4f1P/Kmpufz++y1mzjxO27a1aNGiuLJgaqpm+fKOmJkV/3nt3XudXbuus3Hji7zxRgMAnnvOl+xsDePGHeLNNxvSrp0nPj62fP/9FZ591huAgwdvEh+fTd++j5WKJSkph/DwVCZNakuXLnUBaN3ag2nT/iA/vwiAceMOERDgwM6dPTAyKv5M0KmTD35+q5g8+SibNnXju+/CCA29w/HjvXn8cQ8Ann/el/btf2Ds2N85daovJ08mkJtbyIQJbahVyxooHgbZujWK7GwNNjamFf5YCyGqD0kUhCijQ4duYWKyUKdNrVbx7LPerFzZsWQiY8OGTiVJAsD+/TdQqeCFF+rqJBrduvmxbl0Yly4l06yZK336BPLVV+dZtqwIU1Mjvv/+CgEBDiVv4H/l5mZJYKATAwfuZvfuGJ57zpfnn/dl4cKnAcjOLuDUqQSmTPlPSZIAYG9vTteufiVDFPv3x+LubkWLFm46sXXt6sfo0b9z924ebdp4YG5uTKtW63jttXp/JhK1ad26dFxCiEePJApClFHz5m6sWNERAJUKzM2NqVPHttQnamtrE52fU1JyURSwsfnigf3GxWXRrJkrffsGMnPmcXbtiqFzZ19CQiL56KMWDzxGpVKxd+9rzJx5jM2bI/n22zBMTNR07x7A8uUdycnRoCjg7m5V6lh3dyvS0vL/jC2PhITsUgnQPfHxWQQGOvP7728wd+5JVq26yOLFZ7G3N2PYsCBmzHiiUld6CCEMTxIFIcrIxsaEli3d//Fx9vZmWFubcODAGw/c7u9vD0C9eo60bu3Opk0RqNUq0tLy6NOnod5+a9WyZunSjnz11bOEht7hp5+uMnfuCZydLfjss2BUKkhIyC51XHx8Fs7OFiWxBQQ4sGHDCw88h6+vHVA8rLF580sUFBRx5MhtVqwIZdas4zRt6sJrr9X/Jw+HEOIhI5MZhahkTz1VvIRSURRatnQvuV28eIdp0/7QKfn37RvIr7/GsHFjOE884Ymvr/0D+zx2LA43t6WcOhWPSqWiWTNXZs5sR+PGLsTGZmBlZUrLlsVJx19XUqSn5/PLL9G0a+f5Z2xe3LyZiaurpU5se/Zc57PPTmJsrGbRojN4e68gP78QU1MjOnSow8qVnYDilR5CiEebJApCVLIuXeoSHOzFSy9tYdmy8xw8eIPPPjvJ0KH7MDJS4+xsWbJvz54NyMwsYOPGcPr2DdTbZ1CQK5aWxvTt+ysbN4Zz8OANJk48wvnzSbz6aj0A5sx5koiIVLp02cy2bVH89FMEHTpsIj+/iMmT2wLwzjuN8Pa2pWPHH1m79hIHDtxgwoTDTJp0lFq1rDExKU4MEhJy6N59Kzt3RrNnz3XeeWcXZmZGdO3qV7kPnhDC4GToQYhKplar2LmzB5MmHWX27BMkJeXg6WnNyJEtS96w73F2tqRzZ1/27Ln+/5b0zc2N2bPnNcaNO8QHH/xGWlo+AQH2rFjRkbffbgTAM894s2/fa0ye/Ac9e/6CmZkRwcFefPvt8zz2mDMAVlamHDr0BuPHH2bMmEOkp+fj42PH3LlPMmpUKwCaNHFh+/buTJ9+jF69fqGwUPtn1eFV6td3rKRHTQhRXcglnIUQQgihlww9CCGEEEIvSRSEEEIIoZckCkIIIYTQSxIFIYQQQugliYIQQggh9JJEQQghhBB6SaIghBBCCL0kURBCCCGEXpIoCCGEEEIvSRSEEEIIoZckCkIIIYTQ6/8AHt/WB+OutPoAAAAASUVORK5CYII=",
|
||
"text/plain": [
|
||
"<Figure size 640x480 with 2 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"cm2 = confusion_matrix(y_test, y_pred)\n",
|
||
"CMatrix = ConfusionMatrixDisplay(confusion_matrix=cm2, display_labels=xgb.classes_)\n",
|
||
"CMatrix.plot()\n",
|
||
"plt.title('Matriz de Confusão Logistic Regression', color=\"darkblue\")\n",
|
||
"plt.xlabel('Previsões', color=\"darkblue\")\n",
|
||
"plt.ylabel('Real', color=\"darkblue\")\n",
|
||
"plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 96,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
" precision recall f1-score support\n",
|
||
"\n",
|
||
" 0 0.52 0.77 0.62 1565\n",
|
||
" 1 0.77 0.58 0.66 1578\n",
|
||
" 2 0.78 0.82 0.80 1534\n",
|
||
" 3 0.66 0.50 0.57 584\n",
|
||
" 4 0.71 0.58 0.64 1349\n",
|
||
" 5 0.61 0.56 0.58 1015\n",
|
||
"\n",
|
||
" accuracy 0.66 7625\n",
|
||
" macro avg 0.67 0.64 0.65 7625\n",
|
||
"weighted avg 0.68 0.66 0.66 7625\n",
|
||
"\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"\n",
|
||
"print(classification_report(y_test, previsoesxgb))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 97,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "65bf7c3e26fe4a3eb4a49169477f0d65",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
" 0%| | 0/5 [00:00<?, ?it/s]"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Melhores Parâmetros: {'var_smoothing': 1e-05}\n",
|
||
"Melhor accuracy: 0.31687985071238955\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"scaler = StandardScaler()\n",
|
||
"X_train_scaled = scaler.fit_transform(X_train_balanced)\n",
|
||
"param_grid = {'var_smoothing': [1e-9, 1e-8, 1e-7, 1e-6, 1e-5]}\n",
|
||
"model = GaussianNB()\n",
|
||
"grid_search = GridSearchCV(estimator=model, param_grid=param_grid, scoring='accuracy', cv=5, n_jobs=-1)\n",
|
||
"n_combinations = len(list(product(*param_grid.values()))) \n",
|
||
"with tqdm(total=n_combinations) as pbar: \n",
|
||
" grid_search.fit(X_train_scaled, y_train)\n",
|
||
" pbar.update(n_combinations)\n",
|
||
"print(\"Melhores Parâmetros:\", grid_search.best_params_)\n",
|
||
"print(\"Melhor accuracy:\", grid_search.best_score_)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"sc=StandardScaler()\n",
|
||
"x_treino2=sc.fit_transform(X_train_scaled)\n",
|
||
"x_teste2=sc.transform(X_test)\n",
|
||
"naive=GaussianNB(var_smoothing= 1e-05)\n",
|
||
"naive.fit(x_treino2, y_train_balanced)\n",
|
||
"previsoesnb = naive.predict(x_teste2)"
|
||
]
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "base",
|
||
"language": "python",
|
||
"name": "python3"
|
||
},
|
||
"language_info": {
|
||
"codemirror_mode": {
|
||
"name": "ipython",
|
||
"version": 3
|
||
},
|
||
"file_extension": ".py",
|
||
"mimetype": "text/x-python",
|
||
"name": "python",
|
||
"nbconvert_exporter": "python",
|
||
"pygments_lexer": "ipython3",
|
||
"version": "3.12.3"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 2
|
||
}
|