{ "cells": [ { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "#! pip install tensorflow\n", "#! pip install scikit-learn\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns \n" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "train_df = pd.read_csv(\"train.csv\")" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 poznan.wuoz.gov.pl\n", "1 vill.okawa.kochi.jp\n", "2 nationalfinance.co.om\n", "3 town.ozora.hokkaido.jp\n", "4 open24.ie-news.irish/online/Login\n", " ... \n", "6995051 ddht.co.kr\n", "6995052 www.upstartepoxy.com\n", "6995053 employeesalaryschedule70.000webhostapp.com/adb...\n", "6995054 dekalbtool.com\n", "6995055 helpinganimals.com\n", "Name: URL_clean, Length: 6995056, dtype: object" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 대괄호 [ ] 제거\n", "train_df['URL_clean'] = train_df['URL'].str.replace(r'[\\[\\]]', '', regex=True)\n", "train_df[\"URL_clean\"]" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \n", " | ID | \n", "URL | \n", "label | \n", "URL_clean | \n", "
|---|---|---|---|---|
| 0 | \n", "TRAIN_0000000 | \n", "poznan[.]wuoz[.]gov[.]pl | \n", "0 | \n", "poznan.wuoz.gov.pl | \n", "
| 1 | \n", "TRAIN_0000001 | \n", "vill[.]okawa[.]kochi[.]jp | \n", "0 | \n", "vill.okawa.kochi.jp | \n", "
| 2 | \n", "TRAIN_0000002 | \n", "nationalfinance[.]co[.]om | \n", "0 | \n", "nationalfinance.co.om | \n", "
| 3 | \n", "TRAIN_0000003 | \n", "town[.]ozora[.]hokkaido[.]jp | \n", "0 | \n", "town.ozora.hokkaido.jp | \n", "
| 4 | \n", "TRAIN_0000004 | \n", "open24[.]ie-news[.]irish/online/Login | \n", "1 | \n", "open24.ie-news.irish/online/Login | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 6995051 | \n", "TRAIN_6995051 | \n", "ddht[.]co[.]kr | \n", "0 | \n", "ddht.co.kr | \n", "
| 6995052 | \n", "TRAIN_6995052 | \n", "www[.]upstartepoxy[.]com | \n", "0 | \n", "www.upstartepoxy.com | \n", "
| 6995053 | \n", "TRAIN_6995053 | \n", "employeesalaryschedule70[.]000webhostapp[.]com... | \n", "1 | \n", "employeesalaryschedule70.000webhostapp.com/adb... | \n", "
| 6995054 | \n", "TRAIN_6995054 | \n", "dekalbtool[.]com | \n", "0 | \n", "dekalbtool.com | \n", "
| 6995055 | \n", "TRAIN_6995055 | \n", "helpinganimals[.]com | \n", "0 | \n", "helpinganimals.com | \n", "
6995056 rows × 4 columns
\n", "| \n", " | ID | \n", "URL | \n", "label | \n", "URL_clean | \n", "digit_count | \n", "dash_count | \n", "underscore_count | \n", "percent_count | \n", "equal_count | \n", "question_count | \n", "at_count | \n", "is_ip_in_url | \n", "special_char_count | \n", "count_of_double_slash | \n", "has_www | \n", "suspicious_word_count | \n", "path_depth | \n", "has_long_digit_sequence | \n", "has_multiple_dash | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "TRAIN_0000000 | \n", "poznan[.]wuoz[.]gov[.]pl | \n", "0 | \n", "poznan.wuoz.gov.pl | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "False | \n", "3 | \n", "0 | \n", "False | \n", "0 | \n", "-2 | \n", "False | \n", "False | \n", "
| 1 | \n", "TRAIN_0000001 | \n", "vill[.]okawa[.]kochi[.]jp | \n", "0 | \n", "vill.okawa.kochi.jp | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "False | \n", "3 | \n", "0 | \n", "False | \n", "0 | \n", "-2 | \n", "False | \n", "False | \n", "
| 2 | \n", "TRAIN_0000002 | \n", "nationalfinance[.]co[.]om | \n", "0 | \n", "nationalfinance.co.om | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "False | \n", "2 | \n", "0 | \n", "False | \n", "0 | \n", "-2 | \n", "False | \n", "False | \n", "
| 3 | \n", "TRAIN_0000003 | \n", "town[.]ozora[.]hokkaido[.]jp | \n", "0 | \n", "town.ozora.hokkaido.jp | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "False | \n", "3 | \n", "0 | \n", "False | \n", "0 | \n", "-2 | \n", "False | \n", "False | \n", "
| 4 | \n", "TRAIN_0000004 | \n", "open24[.]ie-news[.]irish/online/Login | \n", "1 | \n", "open24.ie-news.irish/online/Login | \n", "2 | \n", "1 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "False | \n", "5 | \n", "0 | \n", "False | \n", "1 | \n", "0 | \n", "False | \n", "False | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 6995051 | \n", "TRAIN_6995051 | \n", "ddht[.]co[.]kr | \n", "0 | \n", "ddht.co.kr | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "False | \n", "2 | \n", "0 | \n", "False | \n", "0 | \n", "-2 | \n", "False | \n", "False | \n", "
| 6995052 | \n", "TRAIN_6995052 | \n", "www[.]upstartepoxy[.]com | \n", "0 | \n", "www.upstartepoxy.com | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "False | \n", "2 | \n", "0 | \n", "True | \n", "0 | \n", "-2 | \n", "False | \n", "False | \n", "
| 6995053 | \n", "TRAIN_6995053 | \n", "employeesalaryschedule70[.]000webhostapp[.]com... | \n", "1 | \n", "employeesalaryschedule70.000webhostapp.com/adb... | \n", "5 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "False | \n", "4 | \n", "0 | \n", "False | \n", "0 | \n", "0 | \n", "False | \n", "False | \n", "
| 6995054 | \n", "TRAIN_6995054 | \n", "dekalbtool[.]com | \n", "0 | \n", "dekalbtool.com | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "False | \n", "1 | \n", "0 | \n", "False | \n", "0 | \n", "-2 | \n", "False | \n", "False | \n", "
| 6995055 | \n", "TRAIN_6995055 | \n", "helpinganimals[.]com | \n", "0 | \n", "helpinganimals.com | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "False | \n", "1 | \n", "0 | \n", "False | \n", "0 | \n", "-2 | \n", "False | \n", "False | \n", "
6995056 rows × 19 columns
\n", "| \n", " | ID | \n", "URL | \n", "label | \n", "URL_clean | \n", "digit_count | \n", "dash_count | \n", "underscore_count | \n", "percent_count | \n", "equal_count | \n", "question_count | \n", "at_count | \n", "is_ip_in_url | \n", "special_char_count | \n", "count_of_double_slash | \n", "has_www | \n", "suspicious_word_count | \n", "path_depth | \n", "has_long_digit_sequence | \n", "has_multiple_dash | \n", "url_entropy | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "TRAIN_0000000 | \n", "poznan[.]wuoz[.]gov[.]pl | \n", "0 | \n", "poznan.wuoz.gov.pl | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "False | \n", "3 | \n", "0 | \n", "False | \n", "0 | \n", "-2 | \n", "False | \n", "False | \n", "3.308271 | \n", "
| 1 | \n", "TRAIN_0000001 | \n", "vill[.]okawa[.]kochi[.]jp | \n", "0 | \n", "vill.okawa.kochi.jp | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "False | \n", "3 | \n", "0 | \n", "False | \n", "0 | \n", "-2 | \n", "False | \n", "False | \n", "3.471354 | \n", "
| 2 | \n", "TRAIN_0000002 | \n", "nationalfinance[.]co[.]om | \n", "0 | \n", "nationalfinance.co.om | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "False | \n", "2 | \n", "0 | \n", "False | \n", "0 | \n", "-2 | \n", "False | \n", "False | \n", "3.272804 | \n", "
| 3 | \n", "TRAIN_0000003 | \n", "town[.]ozora[.]hokkaido[.]jp | \n", "0 | \n", "town.ozora.hokkaido.jp | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "False | \n", "3 | \n", "0 | \n", "False | \n", "0 | \n", "-2 | \n", "False | \n", "False | \n", "3.533771 | \n", "
| 4 | \n", "TRAIN_0000004 | \n", "open24[.]ie-news[.]irish/online/Login | \n", "1 | \n", "open24.ie-news.irish/online/Login | \n", "2 | \n", "1 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "False | \n", "5 | \n", "0 | \n", "False | \n", "1 | \n", "0 | \n", "False | \n", "False | \n", "3.772450 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 6995051 | \n", "TRAIN_6995051 | \n", "ddht[.]co[.]kr | \n", "0 | \n", "ddht.co.kr | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "False | \n", "2 | \n", "0 | \n", "False | \n", "0 | \n", "-2 | \n", "False | \n", "False | \n", "2.921928 | \n", "
| 6995052 | \n", "TRAIN_6995052 | \n", "www[.]upstartepoxy[.]com | \n", "0 | \n", "www.upstartepoxy.com | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "False | \n", "2 | \n", "0 | \n", "True | \n", "0 | \n", "-2 | \n", "False | \n", "False | \n", "3.684184 | \n", "
| 6995053 | \n", "TRAIN_6995053 | \n", "employeesalaryschedule70[.]000webhostapp[.]com... | \n", "1 | \n", "employeesalaryschedule70.000webhostapp.com/adb... | \n", "5 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "False | \n", "4 | \n", "0 | \n", "False | \n", "0 | \n", "0 | \n", "False | \n", "False | \n", "4.130881 | \n", "
| 6995054 | \n", "TRAIN_6995054 | \n", "dekalbtool[.]com | \n", "0 | \n", "dekalbtool.com | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "False | \n", "1 | \n", "0 | \n", "False | \n", "0 | \n", "-2 | \n", "False | \n", "False | \n", "3.324863 | \n", "
| 6995055 | \n", "TRAIN_6995055 | \n", "helpinganimals[.]com | \n", "0 | \n", "helpinganimals.com | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "False | \n", "1 | \n", "0 | \n", "False | \n", "0 | \n", "-2 | \n", "False | \n", "False | \n", "3.614369 | \n", "
6995056 rows × 20 columns
\n", "Model: \"sequential\"\n",
"\n"
],
"text/plain": [
"\u001b[1mModel: \"sequential\"\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n",
"┃ Layer (type) ┃ Output Shape ┃ Param # ┃\n",
"┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n",
"│ dense (Dense) │ (None, 64) │ 1,088 │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dense_1 (Dense) │ (None, 32) │ 2,080 │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dense_2 (Dense) │ (None, 1) │ 33 │\n",
"└─────────────────────────────────┴────────────────────────┴───────────────┘\n",
"\n"
],
"text/plain": [
"┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n",
"┃\u001b[1m \u001b[0m\u001b[1mLayer (type) \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m Param #\u001b[0m\u001b[1m \u001b[0m┃\n",
"┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n",
"│ dense (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m1,088\u001b[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dense_1 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m) │ \u001b[38;5;34m2,080\u001b[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dense_2 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m1\u001b[0m) │ \u001b[38;5;34m33\u001b[0m │\n",
"└─────────────────────────────────┴────────────────────────┴───────────────┘\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"Total params: 3,201 (12.50 KB)\n", "\n" ], "text/plain": [ "\u001b[1m Total params: \u001b[0m\u001b[38;5;34m3,201\u001b[0m (12.50 KB)\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Trainable params: 3,201 (12.50 KB)\n", "\n" ], "text/plain": [ "\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m3,201\u001b[0m (12.50 KB)\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Non-trainable params: 0 (0.00 B)\n", "\n" ], "text/plain": [ "\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m0\u001b[0m (0.00 B)\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from tensorflow.keras.models import Sequential\n", "from tensorflow.keras.layers import Dense\n", "\n", "# 모델 구성 \n", "model = Sequential()\n", "model.add(Dense(64, input_dim=16, activation='relu')) # 첫번째 은닉층 노드 64개 input_dim=X_train.shape[1]: 입력피처 개수 설정 \n", "model.add(Dense(32, activation='relu')) # 이진분류 두번쨰 은닉층 \n", "model.add(Dense(1, activation='sigmoid'))\n", "\n", "# 모델 컴파일\n", "from tensorflow.keras.optimizers import Adam\n", "\n", "optimizer = Adam(learning_rate=0.001)\n", "model.compile(optimizer=optimizer, loss='binary_crossentropy', metrics=['accuracy'])\n", "\n", "model.summary()\n" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "# EarlyStopping 콜백을 사용하여 검증 손실이 개선되지 않으면 학습을 멈추도록 설정\n", "from tensorflow.keras.callbacks import EarlyStopping\n", "early_stopping = EarlyStopping(monitor='val_loss', patience=20)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "# from imblearn.under_sampling import RandomUnderSampler\n", "\n", "# # 언더샘플링 적용\n", "# rus = RandomUnderSampler(random_state=42)\n", "\n", "# # X_train과 y_train을 언더샘플링하여 균형 맞추기\n", "# X_train_under, y_train_under = rus.fit_resample(X_train, y_train)\n", "\n", "# # 언더샘플링 후 클래스 분포 확인\n", "# print(\"After undersampling:\", Counter(y_train_under))" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "# # 언더샘플링 후 클래스 분포 시각화\n", "# plt.figure(figsize=(6,4))\n", "# plt.bar(*zip(*Counter(y_train_under).items())) # 이게 핵심!\n", "# plt.xlabel('Class')\n", "# plt.ylabel('Frequency')\n", "# plt.title('Class Distribution in y_train (after undersampling)')\n", "# plt.show()\n" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/10\n", "\u001b[1m17488/17488\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 2ms/step - accuracy: 0.8544 - loss: 0.3490 - val_accuracy: 0.8739 - val_loss: 0.3093\n", "Epoch 2/10\n", "\u001b[1m17488/17488\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m30s\u001b[0m 2ms/step - accuracy: 0.8740 - loss: 0.3083 - val_accuracy: 0.8766 - val_loss: 0.3043\n", "Epoch 3/10\n", "\u001b[1m17488/17488\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m30s\u001b[0m 2ms/step - accuracy: 0.8770 - loss: 0.3039 - val_accuracy: 0.8779 - val_loss: 0.3015\n", "Epoch 4/10\n", "\u001b[1m17488/17488\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m30s\u001b[0m 2ms/step - accuracy: 0.8788 - loss: 0.3006 - val_accuracy: 0.8760 - val_loss: 0.3048\n", "Epoch 5/10\n", "\u001b[1m17488/17488\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m30s\u001b[0m 2ms/step - accuracy: 0.8797 - loss: 0.2988 - val_accuracy: 0.8789 - val_loss: 0.3026\n", "Epoch 6/10\n", "\u001b[1m17488/17488\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m30s\u001b[0m 2ms/step - accuracy: 0.8801 - loss: 0.2981 - val_accuracy: 0.8798 - val_loss: 0.2976\n", "Epoch 7/10\n", "\u001b[1m17488/17488\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m31s\u001b[0m 2ms/step - accuracy: 0.8806 - loss: 0.2970 - val_accuracy: 0.8813 - val_loss: 0.2963\n", "Epoch 8/10\n", "\u001b[1m17488/17488\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m30s\u001b[0m 2ms/step - accuracy: 0.8810 - loss: 0.2961 - val_accuracy: 0.8825 - val_loss: 0.2944\n", "Epoch 9/10\n", "\u001b[1m17488/17488\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m30s\u001b[0m 2ms/step - accuracy: 0.8815 - loss: 0.2957 - val_accuracy: 0.8818 - val_loss: 0.2948\n", "Epoch 10/10\n", "\u001b[1m17488/17488\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m30s\u001b[0m 2ms/step - accuracy: 0.8814 - loss: 0.2958 - val_accuracy: 0.8826 - val_loss: 0.2947\n", "\u001b[1m43720/43720\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m52s\u001b[0m 1ms/step - accuracy: 0.8826 - loss: 0.2943\n", "Validation Accuracy: 0.8827\n" ] } ], "source": [ "from sklearn.utils import class_weight\n", "\n", "\n", "# 클래스 가중치 계산 (불균형 보정)\n", "weights = class_weight.compute_class_weight(\n", " class_weight='balanced',\n", " classes=np.unique(y_train),\n", " y=y_train\n", ")\n", "class_weights = dict(zip(np.unique(y_train), weights))\n", "\n", "# 모델 학습 (스케일링된 데이터 사용 + 클래스 가중치 적용)\n", "history = model.fit(\n", " X_train_scaled, y_train, # ← 스케일링된 훈련 데이터\n", " epochs=10,\n", " batch_size=256,\n", " validation_split =0.2\n", ")\n", "\n", "# 모델 평가\n", "from sklearn.metrics import accuracy_score\n", "val_loss, val_accuracy = model.evaluate(X_test_scaled, y_test)\n", "print(f'Validation Accuracy: {val_accuracy:.4f}')" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1m174877/174877\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m129s\u001b[0m 738us/step\n" ] } ], "source": [ "# 검증 데이터에 대한 예측 확률을 먼저 계산 \n", "y_train_proba = model.predict(X_train_scaled)" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [], "source": [ "from sklearn.metrics import f1_score, accuracy_score\n", "\n", "f1_scores = []\n", "accuracies = []\n", "thresholds = []\n", "\n", "\n", "# threshold 범위 0.00 ~ 0.99\n", "for t in [i * 0.01 for i in range(100)]:\n", " y_pred = (y_train_proba > t).astype(int)\n", " try:\n", " f1 = f1_score(y_train, y_pred)\n", " acc = accuracy_score(y_train, y_pred)\n", "\n", " thresholds.append(t)\n", " f1_scores.append(f1)\n", " accuracies.append(acc)\n", " except:\n", " continue\n" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Best Threshold(임계값): 0.35\n", "Best F1 Score(재현율): 0.7204\n", "Accuracy at Best Threshold: 0.8757\n" ] } ], "source": [ "# 최고 F1 점수 기준 인덱스\n", "best_idx = f1_scores.index(max(f1_scores))\n", "best_threshold = thresholds[best_idx]\n", "best_f1 = f1_scores[best_idx]\n", "best_acc = accuracies[best_idx] \n", "\n", "print(f\"Best Threshold(임계값): {best_threshold:.2f}\")\n", "print(f\"Best F1 Score(재현율): {best_f1:.4f}\")\n", "print(f\"Accuracy at Best Threshold: {best_acc:.4f}\")" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAHqCAYAAAAZLi26AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAoJdJREFUeJzt3Qd4VMXXx/FfGoSE3rsoKmADBUFAxIKi2LBiBRtWbNiwodiwIuofRVHE8qrYG4ggigVQiqAgRSnSu9RQEpJ9nzOXm2xCEhJIspvd78dn3Ls3W2Z3L8meO2fOxAQCgYAAAAAAAECRiy36hwQAAAAAAIagGwAAAACAYkLQDQAAAABAMSHoBgAAAACgmBB0AwAAAABQTAi6AQAAAAAoJgTdAAAAAAAUE4JuAAAAAACKCUE3AAAAAADFhKAbAACEvX///VcxMTF69tlnFQ7GjRvn+vPxxx8rUvvz8MMPu8csCLud3R4AsDuCbgCIEsOGDXNfjHNrffr0ybzd6NGjdfXVV+uwww5TXFycGjVqVKjn2bJlix566CF3/+TkZFWrVk0tWrTQrbfequXLl6s0mjhxojp27KiKFSuqZs2aOu200zR+/Pi9eqzZs2e79zwxMVEbNmwo8r5i7+X17yNnswAXAICCii/wLQEAEeGRRx7R/vvvn22fBci+9957T8OHD9dRRx2lunXrFuqx09LSdNxxx2nOnDnq0aOHbr75ZheE//XXX+5xzznnnEI/ZqgtXrxYnTt3dicP+vXrp4yMDI0ZM0Zjx45V+/btC/147777rmrXrq3169e7UclrrrmmWPqNwnvnnXeyXX/77bfdZ51zf7NmzdzJEwAACoKgGwCijI3StmrVKs+fP/HEExoyZIgSEhJ0xhlnaObMmQV+7M8//1zTpk3T//3f/+mSSy7J9rPt27crNTVVJSUlJcWNtO+rESNGaPPmzS7IPvroo92+O+64Qzt27Cj0YwUCAXfywd6bhQsXuvcpXIPuonr/SpPLLrss2/Vff/3VBd0595t9Dbq3bt2qpKSkfXoMAEDpQHo5ACAbG4m2gHtvzJ8/313mNgJs6dSWnh3MRsQvvPBC1ahRQ+XKlVOTJk10//33Z7uNBfF2osDuW758eZ100kkuGMotdf7HH3/UjTfe6FLA69evn/nzb775Rh06dHBBZIUKFXT66ae70feCiI2NzQyYg5UtW1aFZSnpNjf5oosucu2nn37S0qVLd7udjaa/8MILOvzww937Zu/PqaeeqilTpuw2at66dWsXvFWpUsVlGdj0gD3Ns7UpA1dccUWB3r9Fixa5ffbZ2GdkI/4XXHCBex05Wbr87bff7h7f3h97jO7du2vt2rUu48Hef5tmkJO9BzaVoX///gV6H59//nntt99+rj+W9h98YujNN990r8WOm9xOKNnzLFu2TEXFPqvHH3/cvVb7rOz4nDdvXrbbHH/88S6bZOrUqe4zss/rvvvucz+zkzc2HePAAw9071mDBg10991373ZSx4L/Y489VpUrV3b/Duzz8B+jsP0xH330kVq2bOnew+rVq7sTCwV5X6xf9hnbMWn/ls4666xcj2EAQBZGugEgymzcuNEFQcHsS3dRsEDIT8t94IEH8i3C9Oeff7pA2AL8a6+91gVqFrR/9dVXLmgwFhjbbSzgtkDEbvvqq6+6IMYCxDZt2mR7TAsOLRjo27evG6k1lhpsqe6WIv7UU0+5EcZXXnnFBTAWmO1pzvq5556re+65R3fddZcLfMqUKbPX74+NbDdu3NiNmFsQZsHX+++/7x47mM2pt0DYTjbYSPjOnTv1888/u5MNfpaCpbpbQN2uXTs3ZcD69dtvv+n777/XKaecslf9y+39mzx5siZMmOBOElggZ8G2vX/2GcyaNStztNaCavusbAT4qquuctMT7Dj78ssvXVBm8/pteoFNXRgwYIALfn32HthJjUsvvXSPfbRjyzIPbrrpJpc9YScnTjzxRM2YMUO1atXS+eef735m7/WRRx652/tv/a5Xr56KypNPPulOzNx5553u39bTTz/tXod9FsHWrVvnPk97Hy3Atb5agGxB6y+//OL+DVjaur0OO6nw999/u8wR/9+BZZ0cccQR7rO24NwC6dzqChSkP3ZsXXnlle44tBMdq1atcu+jPZ79m7DAPi92PNrJHsvWsGPPjjc7iQUAyEcAABAV3nzzTRuqzbXl5fTTTw/st99+BX6OrVu3Bpo0aeIe0+53xRVXBN54443AqlWrdrvtcccdF6hQoUJg0aJF2fZnZGRkbnft2jVQpkyZwPz58zP3LV++3N3P7p/ztR177LGBnTt3Zu7fvHlzoHLlyoGePXtme46VK1cGKlWqtNv+3EyYMCFQpUoV148LLrgg2+MXRmpqaqBatWqB+++/P3PfJZdcEmjevHm2233//ffutdxyyy27PYb/3vzzzz+B2NjYwDnnnBNIT0/P9TbGHuehhx7a7XHss+nRo8ce3z//M81p4sSJ7vZvv/125r6+ffu6fZ9++mme/f7222/dbb755ptsPz/iiCMCHTt2DORn4cKF7r7lypULLF26NHP/b7/95vbffvvtmfsuvvjiQN26dbO9N7///ru7nb3Wgrrpppvy/Pfxww8/uJ81a9YssGPHjsz9L7zwgts/Y8aMzH322mzf4MGDsz3GO++84z7Hn3/+Odt+u53dfvz48e76888/766vWbMmz74WtD92HNasWTNw2GGHBbZt25Z5u6+//trdzj5Hnx07wa9/+vTp7vqNN96Y7bntOM7rWAMABAKklwNAlBk0aJAbsQ1uRcVSVW1EzR+5tRE1G7WtU6eOK6rmp8yuWbPGpVbbiGjDhg2zPYY/Op6enu5Spbt27aoDDjgg8+f2WDbKZqODmzZtynbfnj17ZhtBtddmKc8XX3yxG3X1m93GRsl/+OGHfF+PpVZ36dLFvQYbdfzss8/ccwSnml933XUuJXhPLMXdRjutLz7b/uOPP7Klun/yySfuPbCU45z898b6YqOkNiLtp7/nvM3eyPn++Z9pcKE8ew2WCm2job///nu2fjdv3tyNZufV706dOrnpCzbi7LPUcMt6yG3edG7seAgeqbb0evssR44cmbnPUtqtUn7w52vPaa/lvPPOU1GyEePg7Acb7TcLFizIdjsbnbbb5kzxttHtpk2bZjs+beTe+P33R56/+OIL97nvS39sisLq1atdVoOln/tstNr6YTUM8uK/x7fccku2/bfddlu+fQKAaEfQDQBRxoIUC36CW1GqVKmSS2m1NGRrb7zxhpt/+r///U+PPvpotgAguGp6ThaYWyq43TcnC1Qs+FiyZEm2/Tmrsv/zzz/u0oIYS5sObhbQW/CRH0u9taD2sccec6nBQ4cOdScSgoMMCxpzprnnxlJyrX9+arA1SzW39OzgINRS7C0wrVq1ap6PZbexfh1yyCEqSjnfP7Nt2zYX3NuJBeu7TUWw989OZlj6cnCf8vs8jfXZUp3tpIF9tsZeuwV/Nk+8IA466KDd9h188MHZ5piffPLJ7uSM/77asWIp7Geffbabh1yUcp40srn1xqrTB7MTBTmnJtjxaSdcch6b9nqMf3x269bN1Umw1G5LS7cU9Q8//DDXAHxP/bETSSa3f1cWdPs/z439zD5DO26D5fZYAIAszOkGABQbm+Nto9k2+mmj1RYEWQBbXIJHZY0flNi8blumK6f4+Pz/DNpcZpuL7BdNu/zyy938VxvJt+DNgh9bw9tGefNjI/I2V93mIOcWNFpFc5vHvi+j1IVhWQQFef+MZShYcTI70dC2bVt3UsX6aa99T6OuubFR6GeeecYF3jbSb6/d5ivb4xYVG623bAirwv/yyy+7uco28l3Q0fTCPlduchbey+29tffPiuXZHPfc+BkUdl/LDLGRbxuJHjVqlJsbbyeT7ORRcB8K2h8AQMkh6AYAFDsbbbPRMb/KtJ8unt9yZDbiZ6PAc+fO3e1nVvXcRtz2lNbtj8hZNe69GdG34DLnaLoVqLLA24Jkv1iXjaDm59NPP3UBtxUgy1m0zl6fFZ2zwNCKu1mfv/32W/333395jnbbbSxgs0JmdlIgv/fdRqSD2bJtK1asUEHZWuJWiO65557L3GevJefjBn+++bHRcHvP7L2zwmy2DvpLL71U4P742QvBrOhYzoJ4Ftxbn+1kh6X22/FkxfTCib1nNr3AKozv6YSLHe92O2sWpFsldqv0b4F4YY5tv9ihHXd+GrvP9vk/z+u+dtxZVkPw6HZu/0YBAFlILwcAFBkLIHJWRvfTUi1A9L+oWwBkSydZurYFXbmNyNmInVXhtnmswanDFvDa6KgFqDmXIMvJgiy7jQUoNh85txT2/FgwY0GejZTnrBBtqd3WL6s+nXNedW6p5Xai4frrr3fVtYObBfG2BJSfCm1zju09sOrkOfnvjc1rtue0StY5R5uDRzQtqLMR0mCvvfZaniPdubHPIecoqQXJOR/D+m2fv817z6vfPssYsBHagQMHuiXILHW/oGyEPHhpq0mTJrk6Ajkfwyp9W3v99dddJoKNzO8ps6Gk2XJ59lpsRD63tH6/grydgMnJP9lS2PXirfq9nYQaPHhwtvvaiQmrPJ9fJXL/PX7xxRez7bfPEQCQt/D66wMACDkramXLPBmbd2zzdv2UcCuUdeaZZ+Z5XytcZgXALBA95phjXDBp87ctuLYv+MFrRtsXdwucbWkpWy7J5hNbEGvps9OnT3e3sef11ye2wk8WNNmSYfZYNm98TyzgttFlC/LseSzwsoDfAn17Hpsna3PN83Lvvfe6IM9Geq0ftkSSLY1l84MXLlzollyyPlradV7LdPkFvXIWn/JZ6rqdHLCiWvaenHDCCa6/tm0Bv63PbYG1LRlmP+vVq5crZGajnDZH3gpl2bJm9ji2vJfNB/fXu7Y5wBboW0Bs85wtKLZR9MIsEWep33bSwdK/7USDpdN/9913LlgOZin3Nipuc7NtSoGtAW3Boh1LFuDZseOz1G9bAs4C9BtuuKFQ68Lba7fjwe5nx4EfuNvj5WSj3XZSwxRHavm+ss/Z5mbbZ2THiB2PdjLDMjlsv31WFiTbyRU7eWIBsY0221xvS5u3TAF7LwrD3mtbOs8Krtka55bi7y8ZZtkCtgZ3XizQt9vbc9vvBfv3MHbs2FzXAQcABAl1+XQAQMnwl4WaPHlygW6XWwteZio3CxYscEsOHXPMMW5Zovj4+ECNGjXc0mO2FFZOM2fOdMte2bJeiYmJbrmxBx98MNttbKmnzp07B8qXLx9ISkoKnHDCCW4Zr8K8NltOyR7Dlgmz52ncuLFbzmzKlCmBPVm7dm2gV69egQYNGrjXU7t27UD37t0Dc+bMCWzatCnQtGnTQMWKFbMtERXsueeec30bO3Zsns8xbNgwd5svvvjCXbdlu5555hn32LZUmb2Hp512WmDq1KnZ7jd06NDAkUceGShbtqxb1syWphozZkzmz23JrHvuuSdQvXp1997ZezBv3rw8lwzL7f1bv3594Morr3SPYZ+BPYa99pyPYdatW+feq3r16rl+169f393G3sOcunTp4p4z52e5pyXD7H2x99Q+D3vdHTp0CPzxxx+53mfFihWBuLi4wMEHHxzYGwVZMuyjjz7KtZ/BS5PZ53LooYfm+ji2hNdTTz3lfu5/ji1btgz069cvsHHjRncbO3bOPvtstwyava92acui/f3333vVHzN8+PDMY6dq1aqBSy+9NNtSbLktGWZsmTFbzs6Wv0tOTg6ceeaZgSVLlrBkGADkI8b+FxyEAwAAFDcrrjdjxoxiHSW1qQ5Wxdyqrz/44IPF9jwAAOSHOd0AAKBEWSE3S++39OriZMu7Wbp2cT8PAAD5YU43AAAoETYP3qq0W3Ezm1t83XXXFcvzfP/9965wn1WYt6JzOSubAwBQkgi6AQBAifjxxx9dAa+GDRvqrbfeynXt9KJghcdsjXUrTFaY5cgAACgOzOkGAAAAAKCYMKcbAAAAAIBiQtANAAAAAEAxibo53RkZGVq+fLkqVKigmJiYUHcHAAAAAFAK2UztzZs3q27duoqNzXs8O+qCbgu4GzRoEOpuAAAAAAAiwJIlS1S/fv08fx51QbeNcPtvTMWKFRWu0tLSNHr0aJ1yyiluWRUg3HCMRqGUFKluXW97+XIpOVnhiuMT4Y5jFOGOYxThLi0MjtFNmza5AV0/xsxL1AXdfkq5BdzhHnQnJSW5PvKLDuGIYzQKxcVlbdvvzzAPujk+Ec44RhHuOEYR7tLC6Bjd07RlCqkBAAAAAFBMCLoBAAAAAIjUoHvQoEFq1KiREhMT1aZNG02aNCnfFIJHHnlEjRs3drdv3ry5Ro0aVaL9BQAAAACgVATdw4cPV+/evfXQQw/p999/d0F0586dtXr16lxv/8ADD+jVV1/VSy+9pFmzZun666/XOeeco2nTppV43wEAAAAACOuge8CAAerZs6euvPJKHXLIIRo8eLCbDD906NBcb//OO+/ovvvuU5cuXXTAAQfohhtucNvPPfdcifcdAKKOFSl56CGvUVQHAACgQEJWvTw1NVVTp07Vvffem7nPFhTv1KmTJk6cmOt9duzY4dLKg5UrV06//PJLns9j97EWXNbdT1W3Fq78voVzHxHdOEajkFXmvP/+rOth/NlzfCLccYwi3HGMItylhcExWtDnDlnQvXbtWqWnp6tWrVrZ9tv1OXPm5HofSz230fHjjjvOzeseO3asPv30U/c4eenfv7/69eu3235b081G1cPdmDFjQt0FIF8cowhnHJ8IdxyjCHccowh3Y0J4jG7durVAtytV63S/8MILLh29adOmbi00C7wtNT2vdHRjI+k2bzznAua2iHq4r9NtB9DJJ58c8nXngNxwjEahjAxp9mxvu1kzS09SuOL4RLjjGEW44xhFuEsLg2PUz6IO26C7evXqiouL06pVq7Ltt+u1a9fO9T41atTQ559/ru3bt2vdunWqW7eu+vTp4+Z356Vs2bKu5WQfTGn4BVJa+onoxTEaRVJSpCOP9La3bJGSkxXuOD4R7jhGEe44RhHuEkJ4jBb0eUM2TFGmTBm1bNnSpYj7MjIy3PW2bdvme1+b112vXj3t3LlTn3zyic4+++wS6DEAAAAAAIUT0vRyS/vu0aOHWrVqpdatW2vgwIFKSUlxKeOme/fuLri2ednmt99+07Jly9SiRQt3+fDDD7tA/e677w7lywAAAAAAIPyC7m7dumnNmjXq27evVq5c6YLpUaNGZRZXW7x4sato7rO0clure8GCBSpfvrxbLsyWEatcuXIIXwUAAAAAAGFaSK1Xr16u5WbcuHHZrnfs2FGzZs0qoZ4BAAAAALBvwrf0LAAAAAAApVzIR7oBAChpgUBAqemprqVlpGlnxk6lpe+6zHE9I5CRraUH0rNdt8ey/4If213u2mfX3e0UyHafzO1dt4uNiVWMYrzLmJhs2/7Pcm4H32ZP/NvGxca5S7cdE7fbvvxafGy8ysaVVZm4Mq7Z/QAAQP4IugEABWPLYtx5Z9Z2Cduxc4fWbVunNSlrtHbrWq3fvl6bd2zW5tTNu11u3L5Ri5Yv0lNvP6XtO7dra9pWbdu5zbtM8y6DA2XsHQvEg4NwawlxCS44T4jddZnjugXqwcF+zsDfv57tZICyB//+/XJ7LLu05yobn9Wv4D76+xPjE12zn/nb7nq8d92dVIiJK9AJDQAA8kPQDQAomDJlpGeeKZKHSs9I13/b/nPBc65tW9a2H2RbMF1oWwp+09wCRRckBgWBOZs/8uyPJLvLXSPQ/rbJvH0eo9c5R8T90fPgUfHc9vv77PqegkO7nT9Kb+9/8HbwCH7wKHzwCL1/n2C2305mWItUfiDvHw85W14nF+x68MmIzBbrXcbHxGvpsqX67cfflFwmOTPYz+1EQLmEclnb8eV22+cfgwCA8ETQDQAoUpayvXzzci3ZuERLNy3Vkk05Ljcu0eqU1Xs10mwBULWkaqqRVENVylVRhTIVVKFsBe8yaDspPknzZs1T21ZtVbFcRReoJCUkuUDFXcaXywxa/MCaEc09s4Dc0u/tM7bMAz9Ff0d61nZ+qfp2PTjIzxnwB58MyJbSv+t2ud3Pv0/wfe35UjNy76Pts23/0jIhgpvdP5h77PR0d9/i8Pmaz/f5McqXKe+Oe3fp/3sI+neR27EfvB186Qf0wdt2EoB/HwCw9wi6AQB7DLQ2bN+g5RuX6r+5013A/G/FDK3Zvs4bid66xo1G+5cbd2ws8GNXSayi6knVs7Vq5aq5yxrJNbLtt0C7UmKlAo3qpaWlaeTKkerStIsSQpAKH6ks8PJHbC3Ai0R2csCCb/9EQXCzANzfzu/Egn/dP0GRW9uWuk2z/5mteg3rKS2Qli3wz+1kgE2LCL5uj+3bkrrFteKUbeR9V0Ae3CyIt2MiOSHZjdzn3A5utj/nPssMAIBIRdANAFHOAuqF6xdq4YaF+nfDv2402kaqg5ulDyelSilPePdJvk/aWibvx7SgrH7F+mpQsYEaVGqg+hXqe5e79tWtUNeNWNsoMxBO7JgsiRMK7sTQ1pHq0nnvTgxZYG+j9SlpKXnWNvAv/ToG/lQAv7ZB8LYL7O3nQdvBo/5+sF9c7HeGjcpXLFvRjdK7S//6rpF7O0lXq3wt1Uqule3SAn4ACGd82wGACGdfqi2YtsDaXW7wAmw/0LaguyCqlqsiab3b7nbohapYtY4bffZHpW3bv6xarirpqEAxcnPKy8S7keSayTWLbSpBbqPsflAePApvv2fsBICNuKekpmRt77r09/vb1uyEgJ08MDb6b4USrRWWnSSpXb62C8LthF69CvVUr2K9zEs72Wf7bUQeAEKBoBsASjn78mrzpG3O9KINi7IF1RZkr0pZtcfHsEB5/yr7a//K+6thpYbuC2pwq1O+jsqlZkgPeiOAQ88eKiUnl8CrAxDqqQQ22lxcLNh2AfiOze5y045NLhh3lzs2Z7tuxRft99mqLasyLy0V3+437795ruXHpq7YiUF/5DxzFD14DnzZXXPgc6kD4V/3i91Z8Tu7tBMgnGQEkB+CbgAIU5bauW7rOq3YskIrt6zUis0rXGDtB9h+YbKCjFTbl0sLqP3A2lqjyo3cdbssUDptakrRvDAA2MWCesuMsbY3o/EWjPsBuP2etOkw9ntx2eZlXtvkXdqI/N6OpO+JrULgL0fnV553c9dzzGcPnsvuz3fPeZnbXHgK2QGlH0E3AJQwS8O0L4e5teAA275I+qmXe1KpbCU3Z9pGqf2g2g+obdsqfQNAJLFA1IorWju42sH5Bufrt693AbgF3f5cd380Pds8+Jxz4IO27dKazaUPXj7PVmJwFfHTdxTL67TVFXIWnvODegvQbQQ+Z/Bu+/w58fb+uMuylTK37SQBgJJD0A0ARTgybaMtNsqSrW32Li2QtoC6sOtNW+q3zVesU6FOZkGyzAJluwqTWUokACD34HxvR9PzYkvUBS8951+6yvRp27LNbw+ex+4XvrNL11J3v/Rv6wfxFuDbqhCFWRliT2w03k+v94N4+zuSuV2mgkupX75quRZPXayqSVV3C+D96xTEBPaMfyUAsAc2SmKjIxY0W+qijUa7S7u+Zdfl5uUuhbGgI9P2hcfmSVswHdz8fRZg+4WBWEoHAMJLXGyckmKTirVyuv09CQ7Cg4vS+YG7K2C3K2DPuW0neDdu3+hG9F3Qvn2j+5nxi+DZEpB78u6Kd/P9uQXolk1lJzWswny2y137bT69f+LDb/bekTaPaEHQDSBq+fMB7UuHP/fPD579S9tnQbaNXhSErSFtgbONQAc3q6JrBcn8gNq+pJS6Lxvx8dKNN2ZtAwCKjY0g++nzRRnIW8AeHIT7RexyVpbfuG2jZi+YrYo1KmpzmhfA2/1cEL99o0u5N35a/uKNi/d6Pr8F5baMZNXEqt5l8L5yVTNXx7B9dsIDKG341gQgolhwbEG0X1THL7CzZusatz/zMmWN2y5oMG3sj72r5F2hTmZF7+BLC67tZxGbale2rDRoUKh7AQDYS/b3yUafC1Lnw60lP3KkunTJfS15+/tpAfj6betdZXmbN+8uc17fdWnNioPapS1HZ/f365kUpmidBeK2TJ4fiNdMqumu59YqJ1YufSe4EZEi9JshgEjjF8Kxyt12Nt1vVsHbD67t0v6YF5bNX/PXds12WdG79ANrq0wLAAC8kerqSdVdK+zfcxthzxmI2zSuzOvbs++3E+W2bUXr1m5d61pBTzL4Abj9bc+Zhea3Aq3gAewDgm4AYcPmos1fP1/z/5vv1lu1bVtn2g+w/bloBfkja3Oha5Wv5dK53R/cpJrujLidGXdnyO3s+K4z5bbuKgogEJDW7vqiU726VScKdY8AAKWMjTz7BdtsxY3CpMZbIB6cseZnsOWW0WbLadp9bLqYtekrp+f52FYYLng6mLusWC/bPktzZ9Qce4ugG0CJsuIu/6z7R3PXzdXf6/7ODK7tsiApZhYoW7Vu+0NtzbaDi47ZpaXN2dxqFLGtW6WaNb3tLVuk5ORQ9wgAECXcCfXy3gn1grCK8jYibgG4fb+wOi27rS6yaWlmZfiNazbqrzV/5VsANWdWnJ8R5++zAJ2sOOSGoBtAkbPUMfvj9tfqvzKDa7ucu3auSwfPj51JblylsQ6seqC7tLWm96u0nwuw7Y8Zo9IAAGBPLPi1oNhafqyQnB+A+4G5FVH1l/u0bRs9t2rvC9YvcC0/Nh1tv8r7ue8ujSo3yrqs7F0WZ8V7hC+CbgD7xAqhzFo3y6Vt/bHqD9dsO7+51baUSJPqTdSkWhMdVPUgNa6aFWQXpLgLAABAUbD1yZvVaOZafqPm/sombnWTTcuyrXTi77OK7rbiibVfl/6a62PZIEKz6s28VqOZmlZv6rZt2hsiF0E3gEKzdakf/uFhjZ4zWsv+XOaqkOYUFxOng6sd7P6Y2KUF2BZo23Zhi64AAACEctT8gCoHuJZflp8VfbNaNIs2LNKijYu87Y2L3HXbtjR2v07Nt/O/3W2FFBf8BwXkdtmgUgOmzEUAgm4ABWZ/UN7+423d9u1trkBJcAGS5rWbq0WtFu6yea3mOrTmoW7+EwAAQKSzImt+NfdWdVvlehsrBDdn7RzNXjtbs9fM9i7XznZBuQXsvyz+xbVglo5uAxd+EG6DGZYZaCcAinINdxQvgm4ABWLzmq77+jqN/Geku35U7aN0SuIpuvr0q9W4WmMqegIAAOTD1hhv37C9azmLzFrdGwvAg4Nyq4ljP5u2cppruz1euWpuip4F4BaIu1a1MenqYYigG8AeR7eHThuq3qN7a9OOTW5dzn7H99OtR9+q0aNGuwIhBNwAAAB7x0azj6xzpGvBbMkzK9wWPCpugbgtrWrF3Wx0fN2ydZq0bFKuq70cVvMwHV7zcHdp7dAah7o57Ch5BN0A8mRzjnp+1VOj549219vUa6OhZw/VITUOUVra7vO4EeHi46UePbK2AQBAsS6TZrVwrJ2ts3erum4BuS276i7/m68FGxa4ZVlt/rgtlfb9wu9dC2aDJS1qt1C7Bu1ca1mnJSvDlAC+NQHIdXT7tamv6a4xd2lz6mY3N/vREx7V7cfcrrjYuFB3D6FStqw0bFioewEAQNSzEWtXR6d2891+lpKa4kbFZ6yaoZmrZ2rmmpnu0qqsu8JuGxfpi7lfuNsmxCboqDpHuQC8fYP27rJOhToheEWRjaAbQKaN2zfqnT/f0atTX3W/nI39ArbRbTvLCgAAgPCWXCbZFXPLWdDNlnO173dTlk/RhCUTNH7JeK3cslK/LfvNted/fd7dztYT79Cwgzru11HH7XecW9aVqYT7hqAbgPvlO3jKYL0/831XsMMkJyTrsRMf082tb2Z0G55AQNrqHR9KSrJSraHuEQAAKKCq5aq6INpa77a9XWajpaJbAO4H4TNWz3D7rNlAjKlTvo46Nuqo4xoe5y6tUBtBeOEQdANRakvqFr0/430NnjpYv6/4PXO/Fdm4vtX1uuyIy1Q5sXJI+4gwYwF3+fLe9pYtUnJyqHsEAAD2kgXO+1fZ37VLj7jU7bOiub8u/VU/LfrJNRsBX7FlhT6Y+YFrxpZFO3H/E3XGQWfotINOc9eRP4JuIIqs3bpWPyz8wRVGG/7XcDdf25SNK6sLDr1A17e83s3l4ewlAABA9KlYtqJOaXyKa2Zb2jYXeFsA/uOiHzVxyUT3ffLDvz50LTYmVm3rt9UZB5/hmg3e8D1ydwTdQISPZtsvSatcOXbhWE1fOT3bzw+qepCua3mderTowVlKAAAAZGOVzY9vdLxrJjU9VZOXTdY3877R139/rT9W/eHS0q3dO/ZeVx3dgu8zDz5TnQ7oxBTFXQi6gQiSlp7mzkaOmT/GBdm2bWs8BrN1Gk/a/ySd1eQsndDoBM5GAgAAoEDKxJVR+4btXbPaP0s2LtGIf0a4ANy+e1pl9EGTB7lmBdh6H9PbDe7YWuTRjKAbKMWsAIatz2jp4tZsRNtPGfftX3l/F2SfdMBJLsiuVb5WyPoLAACAyNGgUgNXC8iaFeO176Jfzf1KH836SPP+m6cbR96oB394UDcdfZNuan2TaibXVDQi6AZK4bJedibRD7QXbliY7efVylVz6TzWLNi24hgAAABAcbLRbH9u93Odn9Ob097UgF8HuEroj/z0iJ4a/5R6NO/hKqc3qd5E0YSgGygFMgIZGvfvOL0x7Q19OvtTbd+5PfNnCbEJLsXnlAO8ohdH1jnSFbUAAAAAQqF8mfK6uc3NuuHoG/TZ7M/0zIRnNHn5ZL32+2sa8vsQndnkTPU9rq9a1m2paEDQDYSxpZuWatj0YXpz+ptasH5B5v4m1Zro1ANPdUG2rbVov9iAYhcXJ51/ftY2AABAPuJj490KOecfcr5+WfyLC76/+vsrfTn3S434e4T6HNtHfTv2dXPFIxlBNxBmrCqkFaOwUe1R80a5UW5/CYeLD7tYVx95tVrVbUUBNJS8xETpo49C3QsAAFDKxMTEqMN+HVybs3aOHhr3kFty7PGfH3dB+Ntd31bz2s0VqQi6gTBhwfWQqUPUd1xfrU5ZnbnfRrIt0LYzhNFe+REAAAClW9PqTTX8/OG64JALdMOIG/Tnqj919JCj9VDHh3TPsfe40fFIE3mvCCiFZqyaoeu+vk4Tl05012uXr60rml+hq468SgdVOyjU3QMAAACK1PmHnK8ODTvo+hHX6/M5n+uBHx7QF3O/0Ftd31KzGs0USai2BIRQSmqK7hlzj4589UgXcNvc7IGdB2rxbYvVv1N/Am6El5QUyw/zmm0DAADsg1rla+nTCz916eWVylZyxdbse/FzE55Teka6IgVBNxAiI/8ZqcNeOUxPT3ha6YF0ndvsXM2+abZuPeZWJcQlhLp7AAAAQInM9768+eWaeeNMdW7cWTvSd+jOMXeq47CObq3vSEDQDZSw5ZuX68KPLtTp753u1i1sWKmhvrzoS31y4SeqX7F+qLsHAAAAlLj6Fevrm0u/0WtnvOayP8cvGa/xi8crEjCnGyghtrb2K5Nf0cM/PqxNOzYpLiZOtx9zux46/iGW/AIAAEDUi4mJUc+WPXVy45Pdsrndm3dXJCDoBorZzoydemv6W+r3Yz8t2bTE7WtTr41ePePViF4aAQAAANgbjSo30sPHP6xIEfL08kGDBqlRo0ZKTExUmzZtNGnSpHxvP3DgQDVp0kTlypVTgwYNdPvtt2v79u0l1l+gMEuAfTDzAx0y6BBd89U1LuCuV6GeS5kZf9V4Am4AAAAgCoR0pHv48OHq3bu3Bg8e7AJuC6g7d+6suXPnqmbNmrvd/r333lOfPn00dOhQtWvXTn///beuuOIKl4YwYMCAkLwGIKdAIKAR/4zQ/d/f79YdNNWTquu+Y+/TDUffoMT4xFB3EQAAAEA0BN0WKPfs2VNXXnmlu27B94gRI1xQbcF1ThMmTFD79u11ySWXuOs2Qn7xxRfrt99+K/G+A7n5YeEPuu/7+/Tr0l/d9YplK+qudnfp1ja3qkLZCqHuHrBv4uKkLl2ytgEAABC+6eWpqamaOnWqOnXqlNWZ2Fh3feLEibnex0a37T5+CvqCBQs0cuRIdfG/BAIhsi1tm67/+nqd+PaJLuAuF19O97S/RwtvXagHjnuAgBuRITFRGjHCa7YNAACA8B3pXrt2rdLT01WrVq1s++36nDlzcr2PjXDb/Y499liXwrtz505df/31uu+++/J8nh07drjm27Rpk7tMS0tzLVz5fQvnPsLz15q/dOlnl2rW2lmKUYyuPepal0pep3ydiP4MOUYRzjg+Ee44RhHuOEYR7tLC4Bgt6HOXqurl48aN0xNPPKGXX37ZzQGfN2+ebr31Vj366KN68MEHc71P//791a9fv932jx49WklJSQp3Y8aMCXUXkAc78TN63Wi9sewNpQZSVTm+sm7b7za1yGihaT9Nk/0XDThGEc44PhHuOEYR7jhGEe7GhPAY3bp1a4FuFxOwyCFE6eUW9H788cfq2rVr5v4ePXpow4YN+uKLL3a7T4cOHXTMMcfomWeeydz37rvv6tprr9WWLVtcenpBRrqt6rmNmFesWFHhys6a2AF08sknKyEhIdTdQQ4btm/QDSNv0CdzPnHXTzngFL1xxhuqVT575kYk4xiNQikpiq9Xz23uXLZMSk5WuOL4RLjjGEW44xhFuEsLg2PUYsvq1atr48aN+caWIRvpLlOmjFq2bKmxY8dmBt0ZGRnueq9evfI8k5AzsI7bVcwnr3MHZcuWdS0n+2BKwy+Q0tLPaGJzti/6+CIt2rhI8bHx6n9Sf/Vu21uxMSFfgS8kOEajiH3Ou87ous+8FHzuHJ8IdxyjCHccowh3CSE8Rgv6vCFNL7flwmxku1WrVmrdurVbMiwlJSWzmnn37t1Vr149lyJuzjzzTFfx/Mgjj8xML7e0ctvvB99Aca67/cz4Z9xSYOmBdB1Q5QC9f977al2vdai7BgAAACBMhTTo7tatm9asWaO+fftq5cqVatGihUaNGpVZXG3x4sXZRrYfeOABtya3XS5btkw1atRwAffjjz8ewleBaDB7zWxdP+J6/bToJ3e926Hd9OoZr6pSYqVQdw0AAABAGAt5ITVLJc8rndwKpwWLj4/XQw895BpQUkuBPfHzE3pq/FNKy0hTUkKSXjz1RV115FXuBBAAAAAAhHXQDYSrMfPH6IYRN2j++vnu+ukHna5BXQZpv8r7hbprAAAAAEoJgm4gh1VbVqn36N56b8Z77nrdCnXd6Pa5zc5ldBsAAABAoRB0A0GF0oZMHaI+Y/u4JcGsGnmvo3vp0RMfVcWy4bu8HFBirMZGx45Z2wAAANgjgm5A0rQV03TTyJs0celEd/2oOke5Qmmt6rYKddeA8FGunBXbCHUvAAAAShWCbkS1dVvX6YHvH9CrU19VQAGVL1Nej53wmG5qfZNbgxsAAAAA9gVRBaJSeka6Xv/9dd33/X36b9t/bt9Fh12kZ05+RvUr1g919wAAAABECIJuRJ2JSyaq1ze99PuK3931w2oeppdOe0nHNzo+1F0DwltKitSokbf9779ScnKoewQAABD2CLoRNVZuWak+3/XRW3+85a5XKltJj5zwiG48+kZSyYGCWrs21D0AAAAoVYg0EPECgYBLJb9zzJ3atGOT23dVi6vUv1N/1UyuGeruAQAAAIhgBN2I+EJpPb/qqc/mfOauWzXy/532P7Wp3ybUXQMAAAAQBQi6EbG+X/i9un/WXcs2L1NCbIKeOOkJ9W7b262/DQAAAAAlgaAbESc1PVV9f+irp8c/7ZYBa1Ktid477z239jYAAAAAlCSCbkSUf9b9o0s+vURTlk9x13se1VPPd35eyWWosgwAAACg5BF0I2KKpQ2bPkw3f3OzUtJSVCWxil4/63Wd2+zcUHcNiByxsVKrVlnbAAAA2COCbpR6O3bu0JVfXKn3Z77vrtt62++c847qV6wf6q4BkaVcOWny5FD3AgAAoFQh6Eaptn3ndp334Xka+c9It9b2oyc8qrva3aW42LhQdw0AAAAACLpRugPuc4afo1HzRqlcfDl9efGX6nRAp1B3CwAAAAAyMSkPpdK2tG066/2zXMCdlJCkEZeMIOAGitvWrVKjRl6zbQAAAOwRI90odbambdWZ75/p1uFOTkh2AXfHRh1D3S0g8gUC0qJFWdsAAADYI4JulCopqSk64/0zNO7fcSpfpry+ufQbHdvw2FB3CwAAAAByRdCNUmPzjs06/b3T9fPin1WhTAWNumyU2jVoF+puAQAAAECeCLpRKmzasUld/q+Lxi8Zr4plK2r0ZaPVpn6bUHcLAAAAAPJF0I1SEXCf+u6pmrh0oionVnYB99H1jg51twAAAABgjwi6EdZS01PdsmAWcFdJrKLvun+no+ocFepuAQAAAECBEHQjbAUCAfX8qqerUm5F0wi4gRCLiZEOOSRrGwAAAHtE0I2w9ciPj+jtP95WXEycPrrgIwJuINSSkqS//gp1LwAAAEqV2FB3AMjNW9Pf0sM/Puy2Xzn9FZ164Kmh7hIAAAAAFBpBN8LO2AVjdc1X17jte4+9Vz1b9gx1lwAAAABgrxB0I6zMXD1T5354rnZm7NTFh12sx058LNRdAuDbulU69FCv2TYAAAD2iDndCBvLNy93a3HbEmEdGnbQm2e/qdgYzgsBYSMQkGbNytoGAADAHhHRICxsSd2iM947Q0s2LVGTak30+UWfq2x82VB3CwAAAAD2CUE3Qs5Sybt93E3TVk5TjaQaGnnpSFUtVzXU3QIAAACAfUbQjZC7fdTtGvnPSJWLL6evL/laB1Q5INRdAgAAAIAiQdCNkJq4ZKL+N/l/ilGM3jvvPbWu1zrUXQIAAACAIkPQjZAJBAK6/dvb3faVLa5U16ZdQ90lAAAAAChSVC9HyAz/a7h+W/abkhOSWRoMKA1iYqT99svaBgAAwB4RdCMktqVt0z3f3eO2+xzbR3Uq1Al1lwDsSVKS9O+/oe4FAABAqULQjZAY+OtALd64WPUr1lfvtr1D3R0gYmVkSFu2SBs2ZLWUFK/Zfn87uKWmSjt3SunpuV/aY8bGSnFxeV9afF6hQvZWsWLWduXKUu3aUvXq3n0AAAAiFUE3StyqLav0xC9PuO3+J/VXUkJSqLsEhCULfoODZWubNkmbN2e13K4H337jRi9IDlcWoNeq5QXgfqtTx7usX19q0EBq2NALzsloBwAApRFBN0pc3x/6akvqFrWq20qXHH5JqLsDFHvgvGqVtHKl9N9/XhDsB8PBgXFwoLx+vXe5dWvR9SMx0RtdttHm8uWl5OS8W9myUny8FxAHX5ZJ36YznjnOBb8j7/lJafHl3Oi3BfXBl9as73mdGLBm78Xatd5tly/32p76b0G4BeB+IF6vnheg+82C94SEonvPAAAAigJBN0rUjFUz9Pq01932852fV2wMeaUofbZv9wLGNWu8S2urV0srVuze1q3b9+erVMkLmO3SWs607eDUbbusUsW7vd/sPha07rOUDOmmKW6z+2UZUvK+PVxamvce2vtkJyWCmwXhS5dKS5Z4P7f3fN48r+XHRsS9kfI47dx5pCZPjtWBB0r77+81C9TtJAIAAEBJIehGiS4R1nt0b2UEMnT+Iefr2IbHhrpLgGMBnQV/FjgHt+B9foBtlzbvuTBslNjSpatVywqg/WA453ZwwGzbFkRHapBoo9J163otPzt2SMuWeQH44sVZl7bPAnQLyi2bwOab+ydBZsywE3oN9cMPuz+njZL7QXiTJlLz5l6rUaNYXy4AAIhSBN0oMd/M+0bfLfhOZeLK6KlOT4W6O4gwFnBZyrKNLPvNgi+7zDkvOmfbtq3wz2eBtI2q+s0CtuBUZ39esl1asE2xsL1n6e4HHOC1vFhqu33WfobB0qU79cMPfysxsakWLYrVwoXSokXe6Pr8+V7LyT4rC75btMgKxA8+OHJPegAAgJJB0I0SkZaepjtG3+G2b21zqw6oks+3ZyDHKKelGtuoZnDz99mlBdc2L3pfWBBds2buzQJqv/lBto1MU9grfNhJDf8zOuIIC64Dql79H3XpcpASErwzHjZ/3I4ZC8CtLVggzZolTZ/uBeF+wD5qVNbjlivnBd+tWkktW3qtWTPveAEAACgIvjagRLw29TXNWTtH1ZOq674O94W6OwgTNjpp6cHBKcN+869bOndhWEq2jSwHN9uX2zzn4OvWCKIjm41YW2q5tY4ds//MirvNmCH98UdW+/NPryDcr796LTgQt9FwPwi3gLxpUwJxAACQu7D4ijBo0CA988wzWrlypZo3b66XXnpJrVu3zvW2xx9/vH788cfd9nfp0kUjRowogd6isDZs36CHxj3ktvsd30+VEyuHuksoIYGAl/JtI4r+6KI/whic7luQ9GIrgJWz+fOBbXTTD64JfLA3rAhdu3Ze89nIuBVumzrVa1OmSL//7q1vPnGi13y2LrkF4haA+6PiNl+c1HQAABDyr6fDhw9X7969NXjwYLVp00YDBw5U586dNXfuXNW0vM4cPv30U6XaGjy7rFu3zgXqF1xwQQn3HAX1+E+Pa922dWpWvZmubXltqLuDYhqx/vdf6a+/vHRdv/39t7dc1J7Sgi2A9kcgg5eEsmbLRFWtyih02LDc+ihhAbMFztYuuSTrWP/nHy8A94NxPxCfMMFrPlt+7cgjvSD86KMlO5fcuDHHMgAA0SbkQfeAAQPUs2dPXXnlle66Bd82Yj106FD16dNnt9tXtW/fQT744AMlJSURdIephesX6sVJL7rt5055TvGxIT/kUETVvgcPjtXnnx+lhx+O19y5+RcjswJVfrVoa1YQK3gJJ0anSwmLIgub7x9h7CSRH4hfemlWIG4nmPxA3C6nTfOq3P/yi9d8lo1hQbgF4BaIW9tT9XYAAFC6hfSrro1YT506Vffee2/mvtjYWHXq1EkTg/P28vHGG2/ooosuUrJ9GUTYeffPd5WanqoT9z9Rpx54aqi7gyJgQUX37jaSbXmzDbKlgNu81kMOyWp23QJrmwMLRHIgbse6tcsuy0pNt5NR9u9l8mSvWSC+fr00ZozXfBZ0W3E2v0K7f1LKLsnyAACg9Atp0L127Vqlp6erVq1a2fbb9Tlz5uzx/pMmTdLMmTNd4J2XHTt2uObbtCvXNS0tzbVw5fctnPtYEKPnj3aX5zU5TzttTSeUWnYoPvlkrPr3j9XOnTGqWTOgTp3m6OyzD9Bhh8W6ICGvEetSfhijFAqH36EHHeS1iy7yrtvMKJuCMWVKrCZPjtGUKTFuGsby5TGuCv/Ysbs/RsWKgV0BeEBNm2Y1G2m3eeQovcLhGAXywzGKcJcWBsdoQZ+7VCd1WrB9+OGH51l0zfTv31/9+vXbbf/o0aNdWnq4GxM8HFLKbEvfpolLvIyF+EXxGrlyZKi7hL20ZEkFDRx4lObP94rgtWu3TNdf/6cqVrT6Cn+7Oa7WENlid+xQ20cecdsT+/ZVhqU3hLlw/B3qFwLs2tWmasRp4cJKWrkyWStXJmnVqmStWpXkrq9fn6hNm2J2VVPPPtwdExNQzZpbVb/+ZtWvv8Vd1q69VTVrpqh69e2KiwuE7PWh9B+jQDCOUYS7MSE8RrfaMicFEBMIWH3h0KWXW+D78ccfq6t9+9ilR48e2rBhg7744os875uSkqK6devqkUce0a233lqoke4GDRq4UfaKFSsqXNlZEzuATj75ZCUkJKg0+vqfr3XuR+eqcZXGmn3D7FB3B3vBUmRffDFWffvGaseOGFWpEtALL6SrW7eAdu4s/ccoCiklRQk2Kdl+R1medBhP64mE36FWJ8EKFC5YEKN582I0Z441afbsGP33X9455/HxAVeMsFGjgPbbz7u0ZunqjRvb+uWkrIeDSDhGEdk4RhHu0sLgGLXYsnr16tq4cWO+sWVIR7rLlCmjli1bauzYsZlBd0ZGhrveq1evfO/70UcfuWD6Mn8CXR7Kli3rWk72wZSGXyClpZ+5+f7f793lKY1PKbWvIZrZsl5XXCH9/LN3/dRTLbskRnXrer82/C/tpfkYRSEFfc7uMy8Fn3tpPj6t20cc4bVgdqrc6tnNnp3VLBj3l+FLTY3ZtTxfTJ7Lox14oFdJ3S6Dt21+uc1RR8kpzccoogPHKMJdQgiP0YI+b8jTy225MBvZbtWqlUsTtyXDbBTbr2bevXt31atXz6WJ50wtt0C9mi3Oi7A0ZoGX6nHyASeHuisohKVL7d+X9MwzXvVlG8wcMEDq2ZPRMSAc2L9DW1HTWseO2X9mldRXrPACcGs2Uu5v24m0JUukzZu9om7WcrKihxaA21x0C8L9eekE5AAA7L2QB93dunXTmjVr1LdvX61cuVItWrTQqFGjMourLV682FU0D2ZreP/yyy9uXjbC0+KNizV33VzFxcTphP1PCHV3UIA08lGjpNdek77+2vvibo47TnrzTa+KMoDw5697b+3YY3Nf7s8C8PnzpXnzvOZv235LaZ8502u5BeS2KoGtPX7UUV47/HAKugEAEPZBt7FU8rzSyceNG7fbviZNmiiEU9FRAGPme6Pcreu1VuVEr/gWwnNUe+hQ6fXXvREwnwXb113nVV1mZAuIHImJ3vJk1nKyAqyWnm4BuF8c0d/2A3JbAs2az34/2GNZAG7BeIsW3tJptWuTGQMAQFgF3Yg8oxeMzpzPjfDy3392Mkt6663so9q2HrDN4bY0cvvSDCC62LQ0f4631XDIGZBbqvqff0q//57VVq/2lkGz9s47WbcvX146+ODdm6WqV+Y8LAAgyhB0o8ilZ6TruwXfuW3mc4feypVeMbQff5R++kmaMSP7z/1R7XPP9UbBgHyRSxy1Abk/v/u887x9lnBm88ct+Lb54XZpQbkF51u2ZAXmOVnQ3bBh3q1OHavAXuIvEQCAYsOfNRS5aSun6b9t/6li2YouvRwly9LEbSTbAmxrf/+9+21sJLtLF0a1UUhWVc+q6wG7CrpZcTVrZ5yRtT811SvaZr97cjYL0jds8JoF6LkpU8ZLWbf54sHN5qmTsg4AKI0IulFs87lPaHSCEuJYYqK4LVsm/fCDF2jbpX3ZDWZfUm3JIRvRtkrHVlxpV51CAChyFjTbybzcTuhZ5fTFi7OanSTMed2C9j/+8FrOEXILvg87zEuB339/W4PcuyRlHQAQzgi6UeSYz128bA7ld99lBdlW6ChYXJxX1Oj4471Au317qUqVUPUWALKvEX7ooV7LayUFK+Zm02CCm42S2+i4TZWxllOlSlkBuF02aSK1auWdcLSTAAAAhBJBN4pUSmqKxi8e77aZz1101q+XPv1Uev99L9D2i5/51YNbtvSCbGs2kl2xYih7i4hl6035E3o/+YQiAChydtLQlii0dvbZWft37JBmz85azsxfg9yanYjcuDH30XELuC3wPvpoLwi3S0tdZ844AKAk8WcHRerHRT8qLSNNjSo30oFVDwx1d0o1K0T01VdeoG1raFv1YJ+NZJ94YlaQbaM8QLGzYciRI7O2gRJStqy3HJm1nKzMgI2O+0G4BeQ2Oj55srdaw5QpXguuBWjLm/lLnDVv7qWscw4JAFBcCLpRLPO5bZQ7hoo3hWZxjC3jZYG2Bdxbt2b9zEZrbN1sa5ZCCQDw6vsdcojXgll1dQvALeC2ANyarTFuJzTHj/da8Ai7zUH3g3B/vXErEmc/AwBgXxB0o0gxn3vv2ZJet90mTZ+eta9xY+nii72W8wslACBvdt7XT1W/8MKsE5s2P9wCcUtFt9+31taty1pv/P/+L+sxLOCuX1/abz9vObPcLllFDwCwJwTdKDLLNi3TrDWzFKMYnbj/iaHuTqlh1cbvusubs20sVfzqq71A2+ZqkzAAAEXDgmib023t8suzRsRtFYjgINyaparv3OmlrlvLi60GYcXbcmuWlWSp8QCA6EbQjSIzZoGXWn50vaNVtVzVUHcn7G3aJD3+uDRwoLdEjhVEu/56qV8/qXr1UPcOAKKDndi00Wxrp5+etd9GxW1dcVvKzILunJfWbAm0Vau89ttvuQf5Bx2Ulf5uVdvt8uCDSVsHgGhC0I0iD7qpWp4/+yI3dKj0wANe1V1z8snSgAFeMR8AQOj5qeXW2rXb/ec2Qm4rS/gF3HI2m09u88fnzPGan81k7CRr48bxqlbtaP31V6zatvWqq9uSagCAyEPQjSKREcjILKLGfO7c2Re0MWOku+/OWtbGRjss2O7ShTRyAChN7Hd21apesxUlcvudv3y5N0981iyv+du25vg//8Ton3/q6tdfswJxGwVv0yar2XWWNwOA0o9f5SgSf676U2u2rlFyQrKOqX9MqLsTdiPbNsLx5JPS7797+ypXlh56SLrxRm8dWaDUlIm2SAJAgYLyevW8dkrQuWj7J7RypfTnnzv1wQdztGnTIZo8OVZLlmStQ/7GG1n/5GxtcRtpt2Yj4hbkAwBKF4JuFInR872q5Sfsf4LKxBFFmh07pLfflp5+Wpo3z9tXrpx07bVeajnztgEgOoPxOnXsb0BA27fPV5cuTZSQEOvmj0+a5M0Nt2ZLnNmc8XHjvOazInB+EG6tSRMypQAg3BF0o0gwnzt7gbRXX5Wef94rwmOqVJFuuUXq1YtgGwCwOwvEzz7ba36WlM0FnzhRmjDBa3PnSrNne80fDa9RQzr1VK8InI2o298bAEB4IejGPtuWtk0/L/pZ0T6f20YknnpK+t//pI0bvX1WgOeOO6RrrpHKlw91D4F9tH171jpL77wjJSaGukdARBdys2rn1uxviFm7Vm4OuB+E28j4mjXeP0drNi/cRr+tTogF4Ycfzig4AIQDgm7ss58X/6wd6TtUv2J9NanWRNHICqT17Jm1lmvTptI990iXXMKcbUQQG3r7+GNve9iwUPcGiDqWKXXGGV4zttykjYSPGCGNHOkVavvlF6/dd583n9wC8JNOkjp2lGrXDvUrAIDoFBvqDiBy5nOfcsApiomyU+pWgdZGICylzwLuRo2kTz7xvvhccQUBNwCg+NjfGAumrXaIFWCzZcpeftkb5bYaIsuWSUOGSBdd5KWv23zwG26Qhg/3irkBAEoGI90ouvncjaNrPvdXX0nXX+8tCWNuvll64gnSyAEAoWEnfi2otrZtm/Tjj9KoUV4htj//zFozfPBg7/ZWhO3446Vjj/XWCbdlLC1FHQBQtAi6sU9WblnplgszJ+1/kqKBzam79Vbpvfe86wcd5BW06dAh1D0DAMBjI91WYM2a+e8/6eefs6qh//GHV5jNmhX/NBUqSC1begG43w44gHnhALCvCLqxT75b8J27PKrOUaqRXEOR7qOPpJtu8grX2GiAFUnr18/7cgMAQLiy9b2Dq6OvX58VhFtBtt9/z32JssqVveD7qKO8gNwuLRBnRBwACo6gG0UynzvSlwqzLyO2tvY333jXrZrsm29KRx8d6p4BAFB4trTYWWd5zezc6S1FNmVKVps+3atd8t13XvNVqiQdeaQXgPvBOKnpAJA3gm7sk0nLJrnLExqdoEg0a5bUt69XHM3Ex0v33ivdf79UtmyoewcAQNGwv2+2xJi1K6/Mqo5uhUEtALeTz9YsLd2Wxcw5Im5BvM0PP+EEr9nJadLSAcBD0I29FggEtHTTUrd9QJUDFEkWLJAeflj6v/+TMjK8Lw4XX+ztszncQFRKSpK2bMnaBhDx1dFtRNuaLy3NGxG3AHzqVO/SRsQtXf2zz7xmatTIHoRb0TaCcADRiqAbe23Tjk1KSUtx2/Uq1lMkWLpUeuwxrzCapdqZc86RHnlEOuywUPcOCDH7xpycHOpeAAihhATpiCO8ZktjGvt7aQH4Dz9I33/vrRNutU+sDoo1U7eu1KmTt8SmXdaqFdKXAQAliqAbe80f5a6cWFlJCaV71MvWK7V1Tm190x07vH2dO3sBuBWQAQAAeaemt2njtT59vLR0K85mQbi1CRO85TXffttrpnlzLwA/+WRvyTIKkgKIZATd2GvLNi9zl/Ur1ldpDrafeUZ65RVvTVNjS389/jhLgAG7sTNS113nbdsaQxQ2AJBHWroF0tYefFDavl0aP14aM0YaPVqaNs2bG27N/gYnJkrHHSd16SKdeaZXHR0AIgl1JrHXlm3ygu56FeqVymDblvuyP+wDBngBt52hHzVK+vFHAm4gV5ZD+tZbXvPnXwDAHlhQfdJJ0pNPenPAV62S3nvPS0+vV88Lyi0Yv+02qXFjr5jbffdJv/7q1VUBgNKOkW7s80h3aQq6cxvZtmDbCqRZOjlFXgAAKF41a3rFSa0FAl5htm+/lb76SvrpJ2nmTK/17+/N/T7jDG9pM5sLTg1HAKURI93Y95HuUlBEzQq65DaybetuT5wonXoqATcAACXN/vYecoh0++1eETb7e20rh3TrJlWs6I2KW3HTs8+W6tTxluy02wBAaULQjb22dPPSsB/pTk/3RrVtqRKCbQAAwput933JJdIHH3jBtc0Dv/lmqWFDadMm6YknpEaNvBPpK1aEurcAUDAE3djnke5wLaRmlVMtwL7xRm/9UKuUSrANAEDpKchmKeUvvigtXOitAd6ypbR1q3ciff/9pV69pMWLQ91TAMgfQTf2fU53mKWXr10rXXutdMwx3rqhlSpJL70kTZlCsA0AQGkUGyt17SpNnuydQG/XzltQYdAgr/jaNddI8+aFupcAkDuCbuyV1PRUrU5ZHVbp5ZZKbqsYWSr5kCFecRarjDp3rncm3NYRBQAApZedOLcT6L/84q0BblXRbTEFm/dtf/9vuMHLbgOAcELQjb2yYrM3kapMXBlVT6oe6u64UWwb2b7+eum//7xUcvuD/OabXuVTAEXAygavXu01SggDCHHwffzx0nffSRMmSKef7i0vNniwF3zbyoZ28h0AwgFBN/bK0k1eEbW6FeoqJoT52vYH1VLL2rb1Am+rdGpzv2y7ffuQdQuITPZvvUYNrzFPA0CYsO8AX38tjRvnVUK3AmyW6daxo7f0GACEGkE39mk+dyiLqNlcLpvDZanjllp2wQXS3397VU5JJQcAILpYkD1tmvTUU14yzs8/Sy1aSHfdJW3ZEureAYhmBN3YtzW6QzSfe/lyL61s6FCvuMqzz0rDh5NKDhT7ma6bbvKabQNAGFY8v/tuafZs6ZxzvHov9h2hWTPpk09IOQcQGgTd2LfK5SEIun/9VWrVyru09Tytiqmt10m2K1DMLKXk5Ze9ZtsAEKZsXe9PP/XSzm1psaVLpfPPlzp0kAYOpNI5gJJF0I1StVyYjWxb+tiKFdKhh3pLh5xySol2AQAAlBJWYO2vv6QHH/RGwcePl26/XTroIKlpU+nOO7254Glpoe4pgEhG0I1SkV5ufwxtrvbVV0upqV7K2MSJ3tqcAAAAeSlXTnrkEemff6Tnn/eWGbPaL7ak6HPPSSec4NWHvOgi6Z13pH//JQ0dQNGi3BT2qXp5SRRSW7vWK5JmZ6KN/eG8/35vLjcAAEBBU85vu81rGzdKY8Z46ecjRnjfNaw2jDVTs6bUpo23HKldHn20t0IKAOwNgm4UWiAQ0PLNy0skvXzRIqlzZ+9sdIUK0rvvSmedVaxPCQAAIlylSt4cb2tWbM2mq1kA/u230vTp0urV0ldfec1Y3RgrxmZBeLt20nHHSQceSD0ZAAVD0I1CW7dtnXak78hcp7u42NqaFnBbpfIGDaRRo7z1NwEAAIpKXJwXTFt77DFp+3Zv6TEr2Prbb16zlPNZs7xm9WVM7dpe8O03qzVDFh6A3IT8V8OgQYPUqFEjJSYmqk2bNpo0aVK+t9+wYYNuuukm1alTR2XLltXBBx+skSNHllh/kTWfu0ZSDZWJK1Msz2GFTqzCqAXc9kdswgQCbgAAUPwSE6W2bb2Cax98IC1cKK1cKX3xhXTvvd73EyvKZvs+/FDq1Us64ghvXnjXrtKAAdKUKSzyACBMRrqHDx+u3r17a/DgwS7gHjhwoDp37qy5c+eqpk2mySE1NVUnn3yy+9nHH3+sevXqadGiRapcuXJI+h+tirtyuaV32RxuO9NsKVyW2lW1arE8FYDCViOyb5/+NgBEiVq1vOlt/hQ3+45i40Q//eQ1Gxz47z8vMLdmbFpc+/beqivWWrb0gnUA0SekQfeAAQPUs2dPXXnlle66Bd8jRozQ0KFD1adPn91ub/v/++8/TZgwQQkJCW6fjZIjcoqoDRsmXXONN7/KlvmwM8hJSUX+NAD2huVN8jsXANxouJ9W7q+yYinpFoD/+KP0889esTabGmfN2PcZG0H379e6Nd9xgGgRsqDbRq2nTp2qey1PZ5fY2Fh16tRJE20tqFx8+eWXatu2rUsv/+KLL1SjRg1dcskluueeexRnE3JysWPHDtd8mzZtcpdpaWmuhSu/b+HYx8UbFrvLOsl1irR/zz0Xq3vv9T7Hyy/P0ODB6bJzK2H4FiDMj1GA4xPhjmM08hx5pNduvdUbPJgxw4LvWP38c4x++SVGa9fGaOxYuWbi4wM66qiA2rcPqF07r1mKerjgGEW4SwuDY7Sgzx0TsFLUIbB8+XKXHm6j1hZI++6++279+OOP+s2qVuTQtGlT/fvvv7r00kt14403at68ee7ylltu0UMPPZTr8zz88MPq16/fbvvfe+89JXF6ca/8b/H/9N1/3+ni2herW+1u+/x4GRnSW28dqi++ONBd79r1H/XoMYuKoECYiUlLU7P/+z+3PfvSSxXYlXEEAMiffdteurSCZs6spr/+qqbZs6tp3brdp+nUq7dZzZr9p2bN1umww9apZs2tfB8CwtjWrVvdIPDGjRtVMZ91BUtV0G1F07Zv366FCxdmjmxbivozzzyjFStWFHiku0GDBlq7dm2+b0yo2VmTMWPGuDnsfip9uDjzgzP17YJv9drpr+mK5lfs02PZ0Xf99XF6802vpt+TT6ard++MIuopovUYRTFJSVFClSpuM239eik5WeGK4xPhjmM0utn3n8WL5UbAJ0yI0fjxsZo1a/foukGDgDp0COi44zLcZUkuU8YxinCXFgbHqMWW1atX32PQHbL0cuucBc6rVq3Ktt+u17Y1GHJhFcvtDQ1OJW/WrJlWrlzp0tXL5FKdwiqcW8vJHqc0/AIJx34u3+Kt0d2wcsN97tsrr0hvvukt12FLcHTvbp9t7lMFEJ7C8RhFMQn6nN1nXgo+d45PhDuO0ehlAbS1K3aNX1ghNivIZvPBrdna4UuWxOi996x5gxN16mQVZjvxROmgg4o/COcYRbhLCOExWtDnDdmSYRYgt2zZUmP9iS0uzTjDXQ8e+Q7Wvn17l1Jut/P9/fffLhjPLeBGeBdSmz7dW47DPPWUBdxF0TsAAIDSx1ZqOeMM7zuRBd8bNkhjxkgPPJC1TJkldtoyZjfcIDVpYiPhUo8eNk3P0tdD/QoAhOU63bZc2JAhQ/TWW29p9uzZuuGGG5SSkpJZzbx79+7ZCq3Zz616+a233uqCbat0/sQTT7jCaigZ29K2af329fu8ZJjVs7vwQkv/9/7A9O5dhJ0EAAAo5WwGT6dO0qOPelXRLQj/4QerVyQdf7wXhC9bJr39tjdabgH4wQd7AflHH0nr1oX6FQAIiyXDunXrpjVr1qhv374uRbxFixYaNWqUatliiFYle/FiV9HcZ3Oxv/32W91+++064ogj3JxwC8CtejlKdo3upIQkVSpbaa/nMV13nfTPP94fCFsmjCIhAAAAeStXzgu2rVn94G3bvBFxSxr9/nsvHd2+W1kbPNhb5dGSR88802vNmvF9C4jKoNv06tXLtdyMGzdut32Wev7rr7+WQM+Qm2WbvKC7XoV6itnL39xDhnipUTaP2y6rVSviTgIAAERBEH7SSV4zti64jYj7y5LNnCmNH++1Pn2kAw7ICsD9dHUAUZBejtI70r23qeV//CHdcou33b+/1K5dUfYOAAAgOlWq5AXUAwd6a4QvWiS9/LJ02mlWWFhasEB64QUvZd3WA7dpfm+84VVRBxDhI92IniJqmzdnzePu0kW6445i6CCA4h1WsaETfxsAELYaNvTmd1vbskX67jvpq6+kr7+WVq/25n1bMzYX3ILxk0/20tcrVw5174HIsk9Bty3TZWtmN27cWPHxxO/Rll5e+PW4rdq8VK+eV2UzaLo+gNLA/tEeemioewEAKKTy5aWuXb1miwDZ/O8RI7xAfNIk7/uZNRsZt1/1Rx9tS5LFqkKFqurcuVSsEAmEtb0Ke7Zu3aqrr75aSUlJOvTQQ13BM3PzzTfrySefLOo+IhzTywsZdFv60nvvZc3jrl69mDoIAACAPFlQ3aaN9MgjXiE2q3L++eeSLQZky5BZUP7bbzYNME733ddBDRvG65prvFFyK94GoISCblvG648//nCFzhITEzP3d+rUScOHD9+bh0QEz+m2eUU33+xtP/aYdOyxxdU7AMUqNdVbq8aabQMAImIu+NlnS//7nzRnjjcXfOhQmxKYoaSkNK1ZE+MGT846yxs0Oe886Z13pP/+C3XPgdJjr3LCP//8cxdcH3PMMdkqWNuo9/z584uyfyjl6eU2h8jmcW/fLp16qnT33cXcQQDFJy1N6tfP277rLkrfAkCEzgW/8krpssvS9eWX3yg5uYtGjIh3o+FLl0qffuo1y1487jjp0kulCy6QKlYMdc+BCBvptrW1a9asudv+lJSUvV5GCuEvPSNdyzcvL1QhNZsbZGdN69aV3n6bedwAAAClRXx8QCedFNBLL3lVzqdMkR58UDr8cCk9XfrhB7nU81q1pEsukUaNknbuDHWvgfCzVyFQq1atNMKqL+ziB9qvv/66W0cbkWl1ymqlB9IVGxOrWuVr7fH2Nifotde8bRscs+UpAAAAUPrY1/2WLb254H/+KVly6xNPSE2behmN77/vLU9mI+WWDGXTCwHsQ3r5E088odNOO02zZs3Szp079cILL7jtCRMm6Mcff9ybh0Qpms9du3xtxcfu+dCxs5/2C7lCBemii0qggwAAACgRBxxgdZ6kPn28EXDLaLTAe8UK6dlnvdaihXTFFdLll0tVq4a6x0ApG+k+9thjXSE1C7gPP/xwjR492qWbT5w4US3tFBgiUmHnc/uj3Jdd5i1VAQAAgMgbAbclxiwFfflyrxL6ued6y4xNny7ddps3zdC+D9rYnC0jC0SbQgfdaWlpuuqqq1xK+ZAhQzRp0iQ3yv3uu++6AByRqzCVy1evlj77zNu+9tri7hkAAABCzeprWiX0Tz7xRrytInrz5tKOHdL//Z90/PFSs2beKPiaNaHuLRDGQXdCQoI+sX9JiDpLNy11l/Ur7LmI2rBhXqFjO/NpqUUAAACIHtWqeWt/T5smTZok9ewpJSdLc+d6c77r1fNWuBkzxqsDBESyvUov79q1q1s2DNGloCPd9otzyBBv+7rrSqJnAEpEYqL3zcmabQMAUMD0c5t2aKPfdmnXbXDmo4+kU06R9t/fq4o+b16oewuEUSG1gw46SI888ojGjx/v5nAn22mrILfccktR9Q+lcE63FVCzX5pWQK1btxLqHIDiZ4uy2jclAAD2gn03tBFvazbf2wZpLO3cliN77DGvHXusV3yNtb+haA+633jjDVWuXFlTp051LZjN9Sboju6RbgqoAQAAID82/XDQIOm556QvvvCmJo4eLf3yi9duvlk67zwvAD/hBCl2r/JzgVIcdC9cuLDoe4KIGOmmgBoQwVJTpRde8LZvvdWrmAMAwD6w2UqWGWlt2TLpnXe8ANzmfr/7rtcOOsgyab0AnAEdlEb7fM4oEAi4hsi2accmbU7dvMeRbgqoARHM/nHffbfXbBsAgCJkxdVs3e/Zs6WJE73aQJZi/s8/3sh3/frSnXdK//4b6p4CJRR0v/32226JsHLlyrl2xBFH6B07NYWIHuWuVLaSypfJ/RQjBdQAAABQFMXXjjlGGjzYG/22pcdstHvjRi8dvXFj6fzzvTR0xv4QsUH3gAEDdMMNN6hLly768MMPXTv11FN1/fXX6/nnny/6XqJUzOceN44CagAAACg6lk5uS4/NmSN9/bXUqZM30GMrGHfoILVq5aWk2wwoIKKC7pdeekmvvPKKnnrqKZ111lmuPf3003r55Zf14osvFn0vUSrmc7/6qndJATUAAAAUJSukdvrp3rreM2Z4FdBtPvjvv0vdu0sHHCA9+6w3Gg5ERNC9YsUKtWvXbrf9ts9+hugb6aaAGgAAAErCYYd5q+UsWSI9/rhUu7aXhn7XXVKDBtIdd3jLkAGlOug+8MADXUp5TsOHD3dreCPyLN20NN+R7rfeooAaAAAASk716tJ993mF1d58Uzr0UGnzZpsK6418X3qpNxIOlMolw/r166du3brpp59+Uvv27d2+8ePHa+zYsbkG44icke76Fevv9jObV+OvzU0BNQAAAJSksmW95cR69JC+/dZLMx87VnrvPa+deKL06KOWlRvqniJa7dVI93nnnafffvtN1atX1+eff+6abU+aNEnnnHNO0fcSYT2nmwJqQJSwyXM//OA12wYAIMyqnp96qvTdd94It410x8VJ338v2Tih1R2yNHSgVIx0m5YtW+pdW60eivY53f4oNwXUgAhn31yOPz7UvQAAYI+OPFKyUOWJJ7xR7jfekP7v/7waRJaSbvO+OX+MsB7pHjlypL613I0cbN8333xTFP1CGElLT9OqLatyHem2AmqffuptU0ANAAAA4aRhQ2nIEGnyZG+0e+tW6YEHpEMOkT7/nHW+EcZBd58+fZSenr7b/kAg4H6GyLJiywoFFFBCbIJqJNfI9jMKqAFRxP6xDxrkNdsGAKCUaNlS+vlnb7S7Xj1p4ULJZsWecoo0a1aoe4dIt1dB9z///KND7PRQDk2bNtU8m9yLiJzPXbdCXcXGZD9krDiFYZQbiAKpqVKvXl6zbQAAStmc70sukebMke6/3yvAZvO/jzhCuvVW6b//Qt1DRKq9CrorVaqkBQsW7LbfAu7k5OSi6BdKwXxuS8/5809v+7TTQtEzAAAAoHCsBtFjj3kj3DbabQm8L75oyyJ7lyRzISyC7rPPPlu33Xab5s+fny3gvuOOO3TWWWcVZf8QxpXL//jDWy6sdm2pbt0QdQ4AAADYC7aWt9UmGjNGOvxwaf16b8Tbtr/+mvneCHHQ/fTTT7sRbUsn33///V2z7WrVqulZWxgPkTnSnSPonjo1a46MpesAAAAApU2nTtK0adKrr0o1akhz50pnnil17izNnBnq3iFqlwyz9PIJEyZozJgx+uOPP1SuXDk1b95cHTp0KPoeIuSWblqaa3r5lClZQTcAAABQmlfFtBpF3bp5y4wNHOiNgDdvLvXsKT3yiFSzZqh7iagY6Z44caK+tlwLV4ggRqeccopq1qzpRrfPO+88XXvttdqxY0dx9RUhHumuX7F+riPdrVqFolcAAABA0apUSXrqKWn2bOn8872plDYCftBBUv/+Xk0joFiD7kceeUR//fVX5vUZM2aoZ8+eOvnkk91SYV999ZX629GIiJ/Tbb9w/OUVGOkGAABApM33/ugj6ccfpaOOkjZtku67Tzr4YOmNN7zia0CxBN3Tp0/XSSedlHn9gw8+UOvWrTVkyBD17t1bL774oj788MPCPCTCnK29nlv18unTKaIGRB1bW8WynazZNgAAEe6446TJk6V33pH2209atky65hpvmTGKraFYgu7169erVq1amdd//PFHnRa0VtTRRx+tJUuWFOYhEebWb1+v7Tu3Z67T7SO1HIhC8fHS6ad7zbYBAIgCsbHSZZd563s/95xUpYqX8WnF1o4/Xvrtt1D3EBEVdFvAvXDhQredmpqq33//Xcccc0zmzzdv3qyEhISi7yVCXkStWrlqSoxPzLVyOQAAABDpEhOl3r2lBQuke+7xrv/0k2Th0AUX2BLKoe4hIiLo7tKli5u7/fPPP+vee+9VUlJStorlf/75pxo3blwc/USI53PnVUSNoBuIImlp0rBhXrNtAACiUOXK0pNPSn//LV15pbd07scfS4cdZksrSzt3hrqHKNVB96OPPqr4+Hh17NjRzeO2VqZMmcyfDx061FU0R+TIbT53SgpF1IColJrqfbuwZtsAAESxBg0s/rGBR2+tb1vEyUbA27a1gtOh7h3CSaEm5VWvXl0//fSTNm7cqPLlyyvOFrQL8tFHH7n9iOzK5X/84RVRq1OHImoAAACIbjbCPXq0lwhm6edTpngDU1bt3FrQGCWiVKFGun2VKlXaLeA2VatWzTbyjQga6Q4KukktBwAAALJYirklglk26Nlne7Ow+vXzig5bEI7otldB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p+rNN9/Mtq9GjRruMiUlRc2bN9dVV12lc889t0CP169fP7366qv63//+p1atWmnTpk2aMmWK1q9fr+JiRb7KlClTbI8PAIDP/ty0bm0npr3R7qZNFVHC4lvToEGD1KhRI1fB087cT5o0Kc/bfvrpp+4Lh61fmZycrBYtWuidd94p0f5GSuXyQ2swnxtAIVhF5XHjvLarujJyV7ZsWbfGcnDzK1Cfdtppeuyxx3TOOecU+PG+/PJL3Xjjjbrgggu0//77u6D96quv1p133pmtGvbTTz+tAw880D1/w4YN9fjjj2f+fMaMGTrxxBPdSLlVhL/22mvdklXBI/Rdu3Z197FR+CZNmrj9to70hRde6P7u2gj72WefrX///beI3ikAAHZPMY80IQ+6hw8frt69e+uhhx7S77//7r5IdO7cOXN9ypzsD/7999+viRMn6s8//9SVV17p2rffflvifS+tWKMbQGlkc7xSUkq+hcPcMgvav//+e61ZsybP29x7770uBf3BBx/UrFmz9N5776lWrVqZo+v2t7VKlSqaPHmyPvroI3333Xfq1atXtscYO3as5s6dqzFjxujrr792lbPtfhUqVNDPP/+s8ePHu3WlbSTfRsIBACgq7SO4mFrI08sHDBignj17usDZDB48WCNGjNDQoUPVp0+f3W5//PHHZ7t+66236q233tIvv/zivhggf6npqfp73d9um6AbQGmydatUvnxhzilXLpLntcHg5OTC3ccCVgtOfTa6bYHuvvytPP/8813wfeihh6pdu3ZuxNke12zevFkvvPCCSz/v0aOH29e4cWMdu2vYwALw7du36+2333ZZYsZua3PLn3rqqczg3H5m88T9tPJ3333XjaDbPr+atqXN26j3uHHjdMopp+z1awIAIFjbtt7lP/94a3bb2t2RIqQj3XaWfOrUqerUqVNWh2Jj3XUbyd6TQCCQeVb+uOOOK+beRgYLuHdm7FTFshVVv2L9UHcHQGliw742L9mabSNPJ5xwgqZPn57ZXnzxxX16vEMOOUQzZ87Ur7/+6uaCWzaYBczXXHON+/ns2bO1Y8cOnXTSSbne335umWR+wG3at2/vAmr7G+o7/PDDs83j/uOPP1wBOBvptpMI1izjzAL4+fPn79NrAgAgWJUq0mG7xgQnTFBECelI99q1a11FVv8Mu8+uz5kzJ8/7bdy4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guz7779fb7/9thuJHjlyZOZ9u3fv7lLTX3zxRTVv3lwLFy7U2rVrC/X88+bN0yeffKJPP/3UpbiblJQU9e7dW0cccYQ7KdC3b1/Xj+nTp7v3yPZ17NhR9erV05dffqnatWvr999/d+9lo0aN1KlTJ7355psuEPfZ9SuuuGKf32MAACIZQXc0zeeuwXxuAKWXBdzl+5d8ts6We7couUxyoe5jI9MWbJtTTz1VGzdu1I8//qjjjz9ejz/+uC666CL169cv8/YWXJu///7bBexjxoxxQa454IADCt1nC+QtoK9Ro0bmvvPOOy/bbYYOHep+PmvWLB122GF67733tGbNGk2ePNmNdBsbZfddc801uv766zVgwAA3Am8B+YwZM/TFF18Uun8AAEQTTk1HgZlrWKMbAErK3LlzNWnSJJembeLj49WtW7fMFHEbWT7ppJNyva/9zEambcR5X1jKd3DAbf755x/XJwviK1as6EavzeLFizOf+8gjj8wMuHPq2rWr69tnn32Wmep+wgknZD4OAADIHSPdEc7SMUkvB1Aktm6Vjj7a25482Us3L0GW5m2jzgVhKdGbNm9SxQoViyS9vDAsuN65c6fq1q2b7XexjQ7/73//U7ly5fK8b34/M/Za7LGCpaWl7XY7m4+d05lnnumC8SFDhri+2XtkI9x+obU9PXeZMmVc6rullJ977rluZPyFF17I9z4AAICgO+Kt2LJC67evV1xMnJpUbxLq7gAozSzYmzUra7uE2XzogqZ5W0CZnpDubl+S840t2La07ueee06nnHLKbiPF77//vptTPXbsWF155ZW73f/www93fbdUdD+9PJiNXm/evNnNz/YDaxuh3pN169a5EXgLuDt06OD2/fLLL9luY/2y4mv//fdfnqPdlmJugfrLL7/sXqsF3wAAIH8E3VEyn/vAqgcqMd6rYAsAKB5ff/211q9fr6uvvlqVKlXK9jObU22j4M8884xLL2/cuLGb223BqxVSs4rllqrdo0cPXXXVVZmF1BYtWqTVq1frwgsvVJs2bZSUlKT77rtPt9xyi6ssnrMyem6qVKniKpa/9tprqlOnjksp79OnT7bbWOr5E0884U4O9O/f391u2rRpblS8bdu27jbNmjXTMccc4/pqfdzT6DgAAGBOd9QE3aSWA0Dxs6DaRqhzBtx+0G1Lbtko8kcffeQqhNvSXieeeKKbA+575ZVXdP755+vGG290FdB79uzpRraN3ffdd991QbqNitvIuS0Rtic22v/BBx9o6tSpbqT69ttvd8F/zvTx0aNHq2bNmurSpYt7/CeffDKz+rnPTihYSroF3QAAYM8Y6Y5wzOcGgJJj62/npXXr1pnzsS2VO6/UbFtX2yqEW8uNjURbC2aBuc+C8NwCcTsZYJXKg+WcH25zvj/++GPlZ9myZS4gt3XGAQDAnjHSHeGoXA4AKAq2jvfMmTNdMbibb7451N0BAKDUIOiOYBmBjMyRbtboBgDsi169eqlly5ZurXFSywEAKDjSyyPYog2LlJKWojJxZVwhNQDYJzExln+ctY2oYgXbClK0DQAAZEfQHcH+WuONcjet3lQJcQmh7g6A0s7W5f7331D3AgAAoFQhvTyCUbkcAAAAAEKLoDsKgm7mcwMAAABAaBB0RzBGugEUqW3bJFsmypptAwAAYI+Y0x2hdmbs1Jy1c9w2QTeAIpGRIU2ZkrUNAACAPWKkOwIFAgHdNfou7UjfoUplK6lR5Uah7hIAAAAARCWC7gj0wPcPaOBvA932C6e+oNgYPmYAwO7+/fdfxcTEaPr06SX6vOPGjXPPu2HDhn16HHuMzz//POxeHwAAwYjGIsxjPz2mJ355wm0P6jJIPVr0CHWXACCqXHHFFS7Q81u1atV06qmn6s8//yyy53j44YfVokWLfG/TqFGjbP3I2ayfyN3ixYt1+umnKykpSTVr1tRdd92lnTt35nufs846Sw0bNlRiYqLq1Kmjyy+/XMuXL9/tBIDf4uLiVKVKFf36668l8IoAAKFE0B1BnpvwnB784UG3/ezJz+rGo28MdZcAICpZkL1ixQrXxo4dq/j4eJ1xxhkl2ofJkydn9uGTTz5x++bOnZu574UXXtirx01PT1dGBM/pt9dnAXdqaqomTJigt956S8OGDVPfvn3zvd8JJ5ygDz/80L3H9n7Pnz9f559//m63++6779z7v2zZMs2ZM0ctW7YsxlcDAAgHBN0R4uXJL+vOMXe67UdPeFR3tLsj1F0CgKhVtmxZ1a5d2zUbke7Tp4+WLFmiNWvWZN7Grl944YWqXLmyqlatqrPPPtuNhganYLdu3VrJycnuNu3bt9eiRYtcANivXz/98ccfmaOmti+nGjVqZPbBHt/YqK2/r1KlSpm3XbBggQsabWS3efPmmjhxYubP7LHt+b/88ksdcsgh7rXZSPCOHTt05513ql69eq6Pbdq0cX32WV/PPPNMN5prPz/00EM1cuTIbH2cOnWqWrVq5Z63Xbt2LmAN9sorr6hx48YqU6aMmjRponfeeSff933SpEk68sgj3WizPe60adNUWKNHj9asWbP07rvvus/utNNO06OPPqpBgwa5QDwvt99+u4455hjtt99+7rXYZ26j2GlpadluZ5kP/mdQq1YtJSQkFLqPAIDShaA7Arw57U3dNPImt33vsffq/g73h7pLACJV9epeC6WUlLzb9u0Fv23OZc9yu00R2LJliwvgDjzwQBdwGQvEOnfurAoVKujnn3/W+PHjVb58eTdCboGdpTJ37dpVHTt2dGnpFgRfe+21LsDu1q2b7rjjDhfE+qPWtm9f3H///S6AtrnPBx98sC6++OJs6dRbt27VU089pddff11//fWXC9579erl+vXBBx+4Pl5wwQWu///884+7z0033eQC859++kkzZsxw97fXmPN5n3vuOU2ZMsVlA1x11VWZP/vss8906623utc6c+ZMXXfddbryyiv1ww8/5Pk+WzaBnRiwYN5S8O015ZZ2bz/Li72mww8/3AXEPvusNm3a5F57Qfz333/6v//7Pxd85wyqLQ3d3r/jjjtut5MQAIDIxJJhpdz7M97X1V9e7bZva3ObHj/xcfelDACKXHKyFDRSGzI5ArdsunSRRozIvBpTu7ZFjLnftmNHG07Out6okbR2bfbbBAJ71cWvv/46M8BMSUlxc3xtX2ysd657+PDhLkXbglj/d/abb77pRpRttNhGaTdu3OiCSBvpNc2aNct8fHtsC1JttLQoWHBqKdXGRtEtoJ83b56aNm2aeZLg5ZdfdqPgxka6rb92Wbdu3czHGDVqlNv/xBNPuJ+dd955LoA1BxxwwG7P+/jjj7sTC8ZGhq0P27dvdyPVzz77rJt3fuON3lSp3r17u5Fj22+j8jm999577j1944033P3tNSxdulQ33HBDttvZ+1k9nxNHK1euzBZwG/+6/Sw/99xzj/73v/+5kxQ26m2fefBnZicYLGPBjoOPP/5Yl112mRvltxMsAIDIxUh3KfbZ7M90+WeXK6CArmt5nQZ0HkDADQBhwIJCGzW2ZinPNlJqacqWcm0sNdyCWhvptmDMmqWAW8Bp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Rt977z316dPH3X727Nl644033GPcd999Jd53RL6UlBR3TNqJoYJYuHChTj/9dJ1wwgmaPn26brvtNl1zzTX69ttvFRasejlKXuvWrQM33XRT5vX09PRA3bp1A/3798/19hdeeGHg9NNPz7avTZs2geuuu67Y+4roVNhjNKedO3cGKlSoEHjrrbeKsZeIVntzfNox2a5du8Drr78e6NGjR+Dss88uod4iGhX2GH3llVcCBxxwQCA1NbUEe4loVthj1G574oknZtvXu3fvQPv27Yu9r4hukgKfffZZvre5++67A4ceemi2fd26dQt07tw5EA4Y6Q4BO5s9depUl37ri42NdddthDA3tj/49sbORuZ1e6Ckj9Gctm7dqrS0NFWtWrUYe4potLfH5yOPPKKaNWu6jCEg3I7RL7/8Um3btnXp5bVq1dJhhx2mJ554Qunp6SXYc0SLvTlG27Vr5+7jp6AvWLDATX/o0qVLifUbyEu4x0rxoe5ANFq7dq37I2p/VIPZ9Tlz5uR6n5UrV+Z6e9sPhMMxmtM999zj5uHk/AUIhOL4/OWXX1wqpKWcAeF4jFoA8/333+vSSy91gcy8efN04403upOXls4LhPoYveSSS9z9jj32WMuU1c6dO3X99deTXo6wsDKPWGnTpk3atm2bq0MQSox0AyhyTz75pCtW9dlnn7niLEAobd68WZdffrmbH1u9evVQdwfIVUZGhsvEeO2119SyZUt169ZN999/vwYPHhzqrgGZtVss++Lll192c8A//fRTjRgxQo8++miouwaEPUa6Q8C+9MXFxWnVqlXZ9tv12rVr53of21+Y2wMlfYz6nn32WRd0f/fddzriiCOKuaeIRoU9PufPn++KU1kV1OAAx8THx7uCVY0bNy6BniNa7M3vUKtYnpCQ4O7na9asmRu9sVTgMmXKFHu/ET325hh98MEH3QlMK05lbCUdK3Z17bXXuhNElp4OhErtPGKlihUrhnyU2/CvIwTsD6edxR47dmy2L4B23eZz5cb2B9/ejBkzJs/bAyV9jJqnn37anfEeNWqUWrVqVUK9RbQp7PFpSy3OmDHDpZb77ayzzsqscGqV9oFQ/w5t3769Syn3TwiZv//+2wXjBNwIh2PUarXkDKz9k0RerSsgdNqGe6wU6kpu0eqDDz4IlC1bNjBs2LDArFmzAtdee22gcuXKgZUrV7qfX3755YE+ffpk3n78+PGB+Pj4wLPPPhuYPXt24KGHHgokJCQEZsyYEcJXgUhW2GP0ySefDJQpUybw8ccfB1asWJHZNm/eHMJXgUhV2OMzJ6qXI9yO0cWLF7sVH3r16hWYO3du4Ouvvw7UrFkz8Nhjj4XwVSCSFfYYte+edoy+//77gQULFgRGjx4daNy4sVthByhqmzdvDkybNs01C1kHDBjgthctWuR+bsemHaM+OyaTkpICd911l4uVBg0aFIiLiwuMGjUqEA4IukPopZdeCjRs2NAFKrZsw6+//pr5s44dO7ovhcE+/PDDwMEHH+xubyXxR4wYEYJeI5oU5hjdb7/93C/FnM3+SAPh8Ds0GEE3wvEYnTBhglsO1AIhWz7s8ccfd0vdAeFwjKalpQUefvhhF2gnJiYGGjRoELjxxhsD69evD1HvEcl++OGHXL9X+sekXdoxmvM+LVq0cMez/Q598803A+Eixv4X6tF2AAAAAAAiEXO6AQAAAAAoJgTdAAAAAAAUE4JuAAAAAACKCUE3AAAAAADFhKAbAAAAAIBiQtANAAAAAEAxIegGAAAAAKCYEHQDAAAAAFBMCLoBAChlxo0bp5iYGG3YsKFEn3fYsGGqXLnyPj3Gv//+6/o+ffr0sHt9AAAUB4JuAADCiAWb+bWHH3441F0EAACFEF+YGwMAgOK1YsWKzO3hw4erb9++mjt3bua+8uXLa8qUKYV+3NTUVJUpU6bI+gkAAAqGkW4AAMJI7dq1M1ulSpXc6HbwPgu6fVOnTlWrVq2UlJSkdu3aZQvObUS8RYsWev3117X//vsrMTHR7beU7WuuuUY1atRQxYoVdeKJJ+qPP/7IvJ9tn3DCCapQoYL7ecuWLXcL8r/99ls1a9bM9eXUU0/NdqIgIyNDjzzyiOrXr6+yZcu6PowaNSrf1zxy5EgdfPDBKleunHtuS0EHACBSEHQDAFBK3X///XruuedcUBwfH6+rrroq28/nzZunTz75RJ9++mnmHOoLLrhAq1ev1jfffOOC9qOOOkonnXSS/vvvP/fzSy+91AXMkydPdj/v06ePEhISMh9z69atevbZZ/XOO+/op59+0uLFi3XnnXdm/vyFF15wfbLb/Pnnn+rcubPOOuss/fPPP7m+hiVLlujcc8/VmWee6fpoJwTsOQEAiBSklwMAUEo9/vjj6tixo9u2QPX000/X9u3bM0e1LaX87bffdqPa5pdfftGkSZNc0G2j0MaC488//1wff/yxrr32WhdE33XXXWratKn7+UEHHZTtOdPS0jR48GA1btzYXe/Vq5cb2fbZ491zzz266KKL3PWnnnpKP/zwgwYOHKhBgwbt9hpeeeUV91gWqJsmTZpoxowZ7n4AAEQCRroBACiljjjiiMztOnXquEsLqH377bdfZsDtp45v2bJF1apVc6nhflu4cKHmz5/vbtO7d2832typUyc9+eSTmft9lsruB9z+8/rPuWnTJi1fvlzt27fPdh+7Pnv27Fxfg+1v06ZNtn1t27bdq/cDAIBwxEg3AAClVHDat8399udU+5KTk7Pd3gJuC5JtSa6c/KXAbC74JZdcohEjRrgU9IceekgffPCBzjnnnN2e03/eQCBQxK8MAIDIwUg3AABRwuZvr1y50s3/PvDAA7O16tWrZ97OiprdfvvtGj16tJtv/eabbxbo8a3wWt26dTV+/Phs++36IYcckut9rCCbpbwH+/XXX/fq9QEAEI4IugEAiBKWMm6p2127dnUBtVUJnzBhgivIZsXYtm3b5uZo20j4okWLXLBsBdUsMC4omw9u87FtuTOrpm5zza1A2q233prr7a+//npXZM3uZ7d/7733NGzYsCJ81QAAhBbp5QAARAlLBbfluSzIvvLKK7VmzRq3DNlxxx2nWrVqKS4uTuvWrVP37t21atUqN/ptI939+vUr8HPccsst2rhxo+644w4319tGuL/88svdCrL5GjZs6Cqs28j6Sy+9pNatW+uJJ57YrRI7AAClVUyAiVgAAAAAABQL0ssBAAAAACgmBN0AAAAAABQTgm4AAAAAAIoJQTcAAAAAAMWEoBsAAAAAgGJC0A0AAAAAQDEh6AYAAAAAoJgQdAMAAAAAUEwIugEAAAAAKCYE3QAAAAAAFBOCbgAAAAAAiglBNwAAAAAAKh7/DwmGhV8fSfRhAAAAAElFTkSuQmCC", "text/plain": [ "