criticalDanger commited on
Commit
fe7f032
1 Parent(s): 041cd7b

Upload Medviser.ipynb

Browse files
Files changed (1) hide show
  1. Medviser.ipynb +363 -0
Medviser.ipynb ADDED
@@ -0,0 +1,363 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "nbformat": 4,
3
+ "nbformat_minor": 0,
4
+ "metadata": {
5
+ "colab": {
6
+ "provenance": []
7
+ },
8
+ "kernelspec": {
9
+ "name": "python3",
10
+ "display_name": "Python 3"
11
+ },
12
+ "language_info": {
13
+ "name": "python"
14
+ }
15
+ },
16
+ "cells": [
17
+ {
18
+ "cell_type": "markdown",
19
+ "source": [
20
+ "Importing all the essential stuff"
21
+ ],
22
+ "metadata": {
23
+ "id": "GY0lAyEVygnv"
24
+ }
25
+ },
26
+ {
27
+ "cell_type": "code",
28
+ "execution_count": null,
29
+ "metadata": {
30
+ "id": "OT7h2znxcoLp"
31
+ },
32
+ "outputs": [],
33
+ "source": [
34
+ "import pandas as pd\n",
35
+ "from sklearn.model_selection import train_test_split\n",
36
+ "from sklearn.linear_model import LogisticRegression\n",
37
+ "from sklearn.metrics import accuracy_score\n",
38
+ "\n",
39
+ "import matplotlib.pyplot as plt\n",
40
+ "import seaborn as sns\n",
41
+ "from sklearn.metrics import confusion_matrix\n",
42
+ "from sklearn.metrics import classification_report"
43
+ ]
44
+ },
45
+ {
46
+ "cell_type": "markdown",
47
+ "source": [
48
+ "Reading and acquiring the dataset"
49
+ ],
50
+ "metadata": {
51
+ "id": "9o1rKoKHymIw"
52
+ }
53
+ },
54
+ {
55
+ "cell_type": "code",
56
+ "source": [
57
+ "data=pd.read_csv('HeartDisease.csv')"
58
+ ],
59
+ "metadata": {
60
+ "colab": {
61
+ "base_uri": "https://localhost:8080/"
62
+ },
63
+ "id": "8V_mP798d15d",
64
+ "outputId": "aeebfaf6-d62b-4bc0-eaa6-bd55fdc6333c",
65
+ "collapsed": true
66
+ },
67
+ "execution_count": null,
68
+ "outputs": [
69
+ {
70
+ "output_type": "stream",
71
+ "name": "stdout",
72
+ "text": [
73
+ " male age currentSmoker cigsPerDay BPMeds prevalentStroke \\\n",
74
+ "0 1 39 0 0 0 0 \n",
75
+ "1 0 46 0 0 0 0 \n",
76
+ "2 1 48 1 20 0 0 \n",
77
+ "3 0 61 1 30 0 0 \n",
78
+ "4 0 46 1 23 0 0 \n",
79
+ "... ... ... ... ... ... ... \n",
80
+ "4132 1 68 0 0 0 0 \n",
81
+ "4133 1 50 1 1 0 0 \n",
82
+ "4134 1 51 1 43 0 0 \n",
83
+ "4135 0 44 1 15 0 0 \n",
84
+ "4136 0 52 0 0 0 0 \n",
85
+ "\n",
86
+ " prevalentHyp diabetes BMI TenYearCHD \n",
87
+ "0 0 0 26.97 0 \n",
88
+ "1 0 0 28.73 0 \n",
89
+ "2 0 0 25.34 0 \n",
90
+ "3 1 0 28.58 1 \n",
91
+ "4 0 0 23.10 0 \n",
92
+ "... ... ... ... ... \n",
93
+ "4132 1 0 23.14 1 \n",
94
+ "4133 1 0 25.97 1 \n",
95
+ "4134 0 0 19.71 0 \n",
96
+ "4135 0 0 19.16 0 \n",
97
+ "4136 0 0 21.47 0 \n",
98
+ "\n",
99
+ "[4137 rows x 10 columns]\n",
100
+ "[]\n"
101
+ ]
102
+ }
103
+ ]
104
+ },
105
+ {
106
+ "cell_type": "markdown",
107
+ "source": [
108
+ "Getting pandas to understand the data"
109
+ ],
110
+ "metadata": {
111
+ "id": "fFJpTqnZy54q"
112
+ }
113
+ },
114
+ {
115
+ "cell_type": "code",
116
+ "source": [
117
+ "df = pd.DataFrame(data)"
118
+ ],
119
+ "metadata": {
120
+ "id": "_uL_UiU9eSqS"
121
+ },
122
+ "execution_count": null,
123
+ "outputs": []
124
+ },
125
+ {
126
+ "cell_type": "markdown",
127
+ "source": [
128
+ "Determining the Predicting column"
129
+ ],
130
+ "metadata": {
131
+ "id": "9L7gSh_6zrP1"
132
+ }
133
+ },
134
+ {
135
+ "cell_type": "code",
136
+ "source": [
137
+ "X=df.drop('TenYearCHD',axis=1)\n",
138
+ "y=df['TenYearCHD']"
139
+ ],
140
+ "metadata": {
141
+ "id": "2tt1BYjEed0h"
142
+ },
143
+ "execution_count": null,
144
+ "outputs": []
145
+ },
146
+ {
147
+ "cell_type": "markdown",
148
+ "source": [
149
+ "Spliting the dataset into Training and Testing datasets"
150
+ ],
151
+ "metadata": {
152
+ "id": "2PvD1TRizwyr"
153
+ }
154
+ },
155
+ {
156
+ "cell_type": "code",
157
+ "source": [
158
+ "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)"
159
+ ],
160
+ "metadata": {
161
+ "id": "H-cuKGVZe2y0"
162
+ },
163
+ "execution_count": null,
164
+ "outputs": []
165
+ },
166
+ {
167
+ "cell_type": "markdown",
168
+ "source": [
169
+ "Determining the Model"
170
+ ],
171
+ "metadata": {
172
+ "id": "T8SwT0C0z3z6"
173
+ }
174
+ },
175
+ {
176
+ "cell_type": "code",
177
+ "source": [
178
+ "model = LogisticRegression(random_state=42)\n",
179
+ "model.fit(X_train, y_train)"
180
+ ],
181
+ "metadata": {
182
+ "colab": {
183
+ "base_uri": "https://localhost:8080/",
184
+ "height": 234
185
+ },
186
+ "id": "ofqGp7tjlu5P",
187
+ "outputId": "5071185d-e3aa-4fcb-b0b4-18104e2d313c",
188
+ "collapsed": true
189
+ },
190
+ "execution_count": null,
191
+ "outputs": [
192
+ {
193
+ "output_type": "stream",
194
+ "name": "stderr",
195
+ "text": [
196
+ "/usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_logistic.py:458: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
197
+ "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
198
+ "\n",
199
+ "Increase the number of iterations (max_iter) or scale the data as shown in:\n",
200
+ " https://scikit-learn.org/stable/modules/preprocessing.html\n",
201
+ "Please also refer to the documentation for alternative solver options:\n",
202
+ " https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n",
203
+ " n_iter_i = _check_optimize_result(\n"
204
+ ]
205
+ },
206
+ {
207
+ "output_type": "execute_result",
208
+ "data": {
209
+ "text/plain": [
210
+ "LogisticRegression(random_state=42)"
211
+ ],
212
+ "text/html": [
213
+ "<style>#sk-container-id-1 {color: black;background-color: white;}#sk-container-id-1 pre{padding: 0;}#sk-container-id-1 div.sk-toggleable {background-color: white;}#sk-container-id-1 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-1 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-1 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-1 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-1 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-1 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-1 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-1 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-1 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-1 div.sk-item {position: relative;z-index: 1;}#sk-container-id-1 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-1 div.sk-item::before, #sk-container-id-1 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-1 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-1 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-1 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-1 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-1 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-1 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-1 div.sk-label-container {text-align: center;}#sk-container-id-1 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-1 div.sk-text-repr-fallback {display: none;}</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>LogisticRegression(random_state=42)</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">LogisticRegression</label><div class=\"sk-toggleable__content\"><pre>LogisticRegression(random_state=42)</pre></div></div></div></div></div>"
214
+ ]
215
+ },
216
+ "metadata": {},
217
+ "execution_count": 6
218
+ }
219
+ ]
220
+ },
221
+ {
222
+ "cell_type": "markdown",
223
+ "source": [
224
+ "Testing the model"
225
+ ],
226
+ "metadata": {
227
+ "id": "qTjHM0Liz9MJ"
228
+ }
229
+ },
230
+ {
231
+ "cell_type": "code",
232
+ "source": [
233
+ "predictions = model.predict(X_test)\n",
234
+ "print(predictions)"
235
+ ],
236
+ "metadata": {
237
+ "colab": {
238
+ "base_uri": "https://localhost:8080/"
239
+ },
240
+ "collapsed": true,
241
+ "id": "Y8UoF5H0kdTc",
242
+ "outputId": "b39aaa8d-a8b5-4a14-9afe-0aec39326633"
243
+ },
244
+ "execution_count": null,
245
+ "outputs": [
246
+ {
247
+ "output_type": "stream",
248
+ "name": "stdout",
249
+ "text": [
250
+ "[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
251
+ " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
252
+ " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
253
+ " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
254
+ " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
255
+ " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
256
+ " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
257
+ " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
258
+ " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0\n",
259
+ " 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
260
+ " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
261
+ " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
262
+ " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
263
+ " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
264
+ " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
265
+ " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
266
+ " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
267
+ " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0\n",
268
+ " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
269
+ " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
270
+ " 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
271
+ " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
272
+ " 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n"
273
+ ]
274
+ }
275
+ ]
276
+ },
277
+ {
278
+ "cell_type": "markdown",
279
+ "source": [
280
+ "Evaluating the model"
281
+ ],
282
+ "metadata": {
283
+ "id": "1I7fw8Ce0CKD"
284
+ }
285
+ },
286
+ {
287
+ "cell_type": "code",
288
+ "source": [
289
+ "accuracy = accuracy_score(y_test, predictions)\n",
290
+ "print(f'Model Accuracy: {accuracy}')"
291
+ ],
292
+ "metadata": {
293
+ "colab": {
294
+ "base_uri": "https://localhost:8080/"
295
+ },
296
+ "id": "T3J0Mar3kqm3",
297
+ "outputId": "8f0f6fda-7b1d-4d42-eafc-f22dea600f39"
298
+ },
299
+ "execution_count": null,
300
+ "outputs": [
301
+ {
302
+ "output_type": "stream",
303
+ "name": "stdout",
304
+ "text": [
305
+ "Model Accuracy: 0.8405797101449275\n"
306
+ ]
307
+ }
308
+ ]
309
+ },
310
+ {
311
+ "cell_type": "markdown",
312
+ "source": [
313
+ "Confusion Matrix of the model"
314
+ ],
315
+ "metadata": {
316
+ "id": "5QeMo5EV0GYt"
317
+ }
318
+ },
319
+ {
320
+ "cell_type": "code",
321
+ "source": [
322
+ "cm = confusion_matrix(y_test, predictions)"
323
+ ],
324
+ "metadata": {
325
+ "id": "I7379CUrlW0n"
326
+ },
327
+ "execution_count": null,
328
+ "outputs": []
329
+ },
330
+ {
331
+ "cell_type": "code",
332
+ "source": [
333
+ "plt.figure(figsize=(6, 4))\n",
334
+ "sns.heatmap(cm, annot=True, fmt=\"d\", cmap=\"Blues\", cbar=False)\n",
335
+ "plt.xlabel('Predicted')\n",
336
+ "plt.ylabel('Actual')\n",
337
+ "plt.title('Confusion Matrix')\n",
338
+ "plt.show()"
339
+ ],
340
+ "metadata": {
341
+ "colab": {
342
+ "base_uri": "https://localhost:8080/",
343
+ "height": 410
344
+ },
345
+ "id": "i5ix5ThYlk_f",
346
+ "outputId": "a38c7ab9-0b97-47ab-8ec6-c3746eec5a82"
347
+ },
348
+ "execution_count": null,
349
+ "outputs": [
350
+ {
351
+ "output_type": "display_data",
352
+ "data": {
353
+ "text/plain": [
354
+ "<Figure size 600x400 with 1 Axes>"
355
+ ],
356
+ "image/png": "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L7p4OgC5bDablixZoi5durh6FBQjzkDALV26dEmbN29W27ZtHcs8PDzUtm1bbdiwwYWTAQAkAgJuKiUlRdnZ2apQoYLT8goVKig5OdlFUwEAchEQAADAGAEBt1S2bFl5enrq+PHjTsuPHz+uihUrumgqAEAuAgJuydvbW40bN9aaNWscy3JycrRmzRo1a9bMhZMBACSplKsHAPITFxenmJgY3Xbbbbr99ts1adIkpaenq1evXq4eDSjx0tLStHfvXsfjAwcOKCkpSWXKlFHlypVdOBmKC7dxwq1NnTpVr776qpKTk9WgQQNNnjxZTZs2dfVYQIm3bt06tWnTJs/ymJgYzZ49u/gHQrEjIAAAgDGugQAAAMYICAAAYIyAAAAAxggIAABgjIAAAADGCAgAAGCMgAAAAMYICAAAYIyAAFBkYmNj1aVLF8fj1q1b6/nnny/2OdatWyebzaazZ88W+76BPysCAiiBYmNjZbPZZLPZ5O3trerVq2vkyJG6fPlyke73o48+0qhRowq0Ln/pA+6NH6YFlFD33nuvZs2apczMTH3yySd69tln5eXlpSFDhjitd+nSJXl7exfKPsuUKVMo2wHgepyBAEoou92uihUrKjw8XE8//bTatm2rZcuWOT52GDNmjMLCwhQZGSlJOnz4sLp3767g4GCVKVNG0dHROnjwoGN72dnZiouLU3BwsG666Sa98MILuvJH7Vz5EUZmZqYGDx6sSpUqyW63q3r16po5c6YOHjzo+EFNISEhstlsio2NlfTrj3WPj49XlSpV5Ovrq/r162vRokVO+/nkk09Us2ZN+fr6qk2bNk5zAigcBAQASZKvr68uXbokSVqzZo12796t1atXa8WKFcrKylL79u0VEBCg//znP/r666/l7++ve++91/Ga8ePHa/bs2XrnnXe0fv16nT59WkuWLLnmPh955BEtWLBAkydP1q5duzRjxgz5+/urUqVKWrx4sSRp9+7dOnbsmF577TVJUnx8vN59911Nnz5dO3bsUP/+/fX3v/9dX331laRfQ6dr167q3LmzkpKS1Lt3b7344otF9bYBJZcFoMSJiYmxoqOjLcuyrJycHGv16tWW3W63Bg4caMXExFgVKlSwMjMzHevPnTvXioyMtHJychzLMjMzLV9fX+vzzz+3LMuyQkNDrYSEBMfzWVlZ1i233OLYj2VZVlRUlNWvXz/Lsixr9+7dliRr9erVV53xyy+/tCRZZ86ccSzLyMiwSpcubX3zzTdO6z722GPWww8/bFmWZQ0ZMsSqU6eO0/ODBw/Osy0AN4ZrIIASasWKFfL391dWVpZycnLUs2dPDR8+XM8++6zq1avndN3D1q1btXfvXgUEBDhtIyMjQ/v27dO5c+d07NgxNW3a1PFcqVKldNttt+X5GCNXUlKSPD09FRUVVeCZ9+7dqwsXLqhdu3ZOyy9duqSGDRtKknbt2uU0hyQ1a9aswPsAUDAEBFBCtWnTRm+88Ya8vb0VFhamUqX+/48DPz8/p3XT0tLUuHFjzZs3L892ypUrd1379/X1NX5NWlqaJGnlypW6+eabnZ6z2+3XNQeA60NAACWUn5+fqlevXqB1GzVqpIULF6p8+fIKDAy86jqhoaH67rvv1KpVK0nS5cuXtXnzZjVq1Oiq69erV085OTn66quv1LZt2zzP554Byc7OdiyrU6eO7Ha7Dh06lO+Zi9q1a2vZsmVOy7799tvfP0gARriIEsDv+tvf/qayZcsqOjpa//nPf3TgwAGtW7dOffv21ZEjRyRJ/fr10yuvvKKlS5fqp59+0jPPPHPN73CIiIhQTEyMHn30US1dutSxzQ8++ECSFB4eLpvNphUrVujkyZNKS0tTQECABg4cqP79+2vOnDnat2+ftmzZoilTpmjOnDmSpKeeekp79uzRoEGDtHv3bs2fP1+zZ88u6rcIKHEICAC/q3Tp0kpMTFTlypXVtWtX1a5dW4899pgyMjIcZyQGDBigf/zjH4qJiVGzZs0UEBCgBx544JrbfeONN9StWzc988wzqlWrlh5//HGlp6dLkm6++WaNGDFCL774oipUqKDnnntOkjRq1Ci99NJLio+PV+3atXXvvfdq5cqVqlKliiSpcuXKWrx4sZYuXar69etr+vTpGjt2bBG+O0DJZLPyu8IJAAAgH5yBAAAAxggIAABgjIAAAADGCAgAAGCMgAAAAMYICAAAYIyAAAAAxggIAABgjIAAAADGCAgAAGCMgAAAAMb+DwQEqoQD2+WqAAAAAElFTkSuQmCC\n"
357
+ },
358
+ "metadata": {}
359
+ }
360
+ ]
361
+ }
362
+ ]
363
+ }