{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Сведенья о пациентах" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Представим ситуацию, что вам прислали файл с данными о результатах обследования группы пациентов. О формате файла известно, что он текстовый. Допустим, что Вам нужны лишь сведения о поле и возрасте пациентов, чтобы принять решение о дальнейших шагах." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "tags": [ "remove-cell" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "source": [ "%pylab inline\n", "import pandas as pd\n", "from io import StringIO" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "ssylka = 'd/data.txt'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`Pandas` предоставляет методы для чтения не совсем идеальных файлов данных, с которыми приходится сталкиваться." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Попробуем справиться с особенностями данного файла, которые могут помешать нам загрузить данные, если мы не будем задавать никаких дополнительных параметров к методу чтения текстовых файлов наиболее распространённого формата - `CSV` (comma-separated values)." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
# Data from the article
0# Schleiger E. и др. Poststroke QEEG informs e...
1# http://onlinelibrary.wiley.com/doi/10.1111/p...
2ID\\tHemisphere\\tAge\\tGender\\tMoCA predischarge...
31\\tR\\t77\\tM\\t26.0\\t26.0\\t3\\t1.0\\t1\\t1
42L\\tL\\t84\\tM\\t15.0\\t21.0\\t1\\t0.0\\t1\\t0
\n", "
" ], "text/plain": [ " # Data from the article \n", "0 # Schleiger E. и др. Poststroke QEEG informs e...\n", "1 # http://onlinelibrary.wiley.com/doi/10.1111/p...\n", "2 ID\\tHemisphere\\tAge\\tGender\\tMoCA predischarge...\n", "3 1\\tR\\t77\\tM\\t26.0\\t26.0\\t3\\t1.0\\t1\\t1\n", "4 2L\\tL\\t84\\tM\\t15.0\\t21.0\\t1\\t0.0\\t1\\t0" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "D = pd.read_csv(ssylka)\n", "D.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Содержимое файла загружено в таблицу, однако не так, как нам хотелось бы.\n", "\n", "Первые строчки, начинающиеся со знака `#` похожи на комментарии. Остальные строчки содержат наклонную черту с буквой `t` - обозначение символа табуляции (длинного пробела фиксированной ширины для формирования таблиц).\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IDHemisphereAgeGenderMoCA predischargeMoCA outcomeNIHSS predischargeNIHSS outcomemRS predischargemRS outcome
01R77M26.026.031.011
12LL84M15.021.010.010
23L47M13.022.030.020
34LR72M20.023.0101.041
45L61F26.0NaN0NaN00
\n", "
" ], "text/plain": [ " ID Hemisphere Age Gender MoCA predischarge MoCA outcome \\\n", "0 1 R 77 M 26.0 26.0 \n", "1 2L L 84 M 15.0 21.0 \n", "2 3 L 47 M 13.0 22.0 \n", "3 4L R 72 M 20.0 23.0 \n", "4 5 L 61 F 26.0 NaN \n", "\n", " NIHSS predischarge NIHSS outcome mRS predischarge mRS outcome \n", "0 3 1.0 1 1 \n", "1 1 0.0 1 0 \n", "2 3 0.0 2 0 \n", "3 10 1.0 4 1 \n", "4 0 NaN 0 0 " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "D = pd.read_csv(ssylka, delimiter='\\t', comment='#')\n", "D.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "С помощью дополнительных параметров мы указали команде чтения, что нужно пропускать комментарии и использовать специальный разделитель.\n", "\n", "Однако, в таблице много колонок, а нам нужны только две.\n", "При работе с большими наборами данных, где колонок могут быть сотни, может быть существенным ограничить количество загружаемых колонок.\n", "Для этого воспользуемся соответствующим параметром." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "scrolled": true, "tags": [ "output_scroll" ] }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AgeGender
077M
184M
247M
372M
461F
578F
649M
779F
877M
974M
1054M
1165M
1280M
1387F
1476M
1518F
1661M
1772F
1852M
1966M
2067M
2171F
2261F
2378F
2469F
2574M
2666M
2767M
2881F
2946M
3069M
3153M
3257M
3372F
3469M
\n", "
" ], "text/plain": [ " Age Gender\n", "0 77 M\n", "1 84 M\n", "2 47 M\n", "3 72 M\n", "4 61 F\n", "5 78 F\n", "6 49 M\n", "7 79 F\n", "8 77 M\n", "9 74 M\n", "10 54 M\n", "11 65 M\n", "12 80 M\n", "13 87 F\n", "14 76 M\n", "15 18 F\n", "16 61 M\n", "17 72 F\n", "18 52 M\n", "19 66 M\n", "20 67 M\n", "21 71 F\n", "22 61 F\n", "23 78 F\n", "24 69 F\n", "25 74 M\n", "26 66 M\n", "27 67 M\n", "28 81 F\n", "29 46 M\n", "30 69 M\n", "31 53 M\n", "32 57 M\n", "33 72 F\n", "34 69 M" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "D = pd.read_csv(ssylka, delimiter='\\t', comment='#', usecols=['Age','Gender'])\n", "D" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "По этим колонкам можно оценить половозрастной состав выборки пациентов." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "M 23\n", "F 12\n", "Name: Gender, dtype: int64" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "D.Gender.value_counts()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "D.hist(by='Gender', sharey=True, figsize=(10,4));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Рассмотрим этот набор данных, описывающий пациентов, принявших участие в исследовании \n", "[Schleiger E. et al. Poststroke QEEG informs early prognostication of cognitive impairment //Psychophysiology. – 2016.](http://onlinelibrary.wiley.com/doi/10.1111/psyp.12785/full)\n", "\n", "Задача исследования было найти биомаркер когнитивных нарушений после инсульта.\n", "\n", "Представим, что мы нашли онлайн версию статьи.\n", "Как извлечь данные из веб-страницы?" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "Table 1. Patient Demographics\n", "\n", "\n", "
IDHemisphereAgeGenderMoCA predischargeMoCA outcomeNIHSS predischargeNIHSS outcomemRS predischargemRS outcome
  1. Note. MoCA = Montreal Cognitive Assessment; NIHSS = National Institute of Health Stoke Scale; mRS = modified Rankin Scale; R = right hemisphere stroke; L = left hemisphere stroke.

  2. LPatient received tissue plasminogen activator (tPA).

  3. WPatient had wake-up stroke.

1R77M26263111
2LL84M15211010
3L47M13223020
4LR72M202310141
5L61F26NA0NA00
6WL78F25240000
7L49MNA275122
8LL79FNA147444
9LR77MNA1515754
10L74MNA223012
11WLL54M28300000
12L65M26291010
13R80MNANA3021
14WL87F16NA5NA43
15L76MNANA4NA33
16R18F28300011
17L61M24270020
18R72F21211012
19LR52MNA27211354
20LR66M22287343
21R67M18245132
22WR71F11252130
23WR61F25284131
24WR78F152019753
25R69F27270111
26R74M23250112
27R66M23230001
28WL67M28290000
29WR81F18231021
30R46M29290000
31WR69M24271010
32L53MNA270011
33WR57M26261010
34WLR72F15142132
35R69M26270020
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Выделяем/копируем текст таблицы, делаем из него длинную строку и через строковый буфер (`StringIO`) передаём в функцию чтения табличных файлов как будто это текстовый файл стандартного табличного формата." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "tags": [ "output_scroll", "hide-input" ] }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IDHemisphereAgeGenderMoCA predischargeMoCA outcomeNIHSS predischargeNIHSS outcomemRS predischargemRS outcome
01R77M26.026.031.011
12LL84M15.021.010.010
23L47M13.022.030.020
34LR72M20.023.0101.041
45L61F26.0NaN0NaN00
56WL78F25.024.000.000
67L49MNaN27.051.022
78LL79FNaN14.074.044
89LR77MNaN15.0157.054
910L74MNaN22.030.012
1011WLL54M28.030.000.000
1112L65M26.029.010.010
1213R80MNaNNaN30.021
1314WL87F16.0NaN5NaN43
1415L76MNaNNaN4NaN33
1516R18F28.030.000.011
1617L61M24.027.000.020
1718R72F21.021.010.012
1819LR52MNaN27.02113.054
1920LR66M22.028.073.043
2021R67M18.024.051.032
2122WR71F11.025.021.030
2223WR61F25.028.041.031
2324WR78F15.020.0197.053
2425R69F27.027.001.011
2526R74M23.025.001.012
2627R66M23.023.000.001
2728WL67M28.029.000.000
2829WR81F18.023.010.021
2930R46M29.029.000.000
3031WR69M24.027.010.010
3132L53MNaN27.000.011
3233WR57M26.026.010.010
3334WLR72F15.014.021.032
3435R69M26.027.000.020
\n", "
" ], "text/plain": [ " ID Hemisphere Age Gender MoCA predischarge MoCA outcome \\\n", "0 1 R 77 M 26.0 26.0 \n", "1 2L L 84 M 15.0 21.0 \n", "2 3 L 47 M 13.0 22.0 \n", "3 4L R 72 M 20.0 23.0 \n", "4 5 L 61 F 26.0 NaN \n", "5 6W L 78 F 25.0 24.0 \n", "6 7 L 49 M NaN 27.0 \n", "7 8L L 79 F NaN 14.0 \n", "8 9L R 77 M NaN 15.0 \n", "9 10 L 74 M NaN 22.0 \n", "10 11WL L 54 M 28.0 30.0 \n", "11 12 L 65 M 26.0 29.0 \n", "12 13 R 80 M NaN NaN \n", "13 14W L 87 F 16.0 NaN \n", "14 15 L 76 M NaN NaN \n", "15 16 R 18 F 28.0 30.0 \n", "16 17 L 61 M 24.0 27.0 \n", "17 18 R 72 F 21.0 21.0 \n", "18 19L R 52 M NaN 27.0 \n", "19 20L R 66 M 22.0 28.0 \n", "20 21 R 67 M 18.0 24.0 \n", "21 22W R 71 F 11.0 25.0 \n", "22 23W R 61 F 25.0 28.0 \n", "23 24W R 78 F 15.0 20.0 \n", "24 25 R 69 F 27.0 27.0 \n", "25 26 R 74 M 23.0 25.0 \n", "26 27 R 66 M 23.0 23.0 \n", "27 28W L 67 M 28.0 29.0 \n", "28 29W R 81 F 18.0 23.0 \n", "29 30 R 46 M 29.0 29.0 \n", "30 31W R 69 M 24.0 27.0 \n", "31 32 L 53 M NaN 27.0 \n", "32 33W R 57 M 26.0 26.0 \n", "33 34WL R 72 F 15.0 14.0 \n", "34 35 R 69 M 26.0 27.0 \n", "\n", " NIHSS predischarge NIHSS outcome mRS predischarge mRS outcome \n", "0 3 1.0 1 1 \n", "1 1 0.0 1 0 \n", "2 3 0.0 2 0 \n", "3 10 1.0 4 1 \n", "4 0 NaN 0 0 \n", "5 0 0.0 0 0 \n", "6 5 1.0 2 2 \n", "7 7 4.0 4 4 \n", "8 15 7.0 5 4 \n", "9 3 0.0 1 2 \n", "10 0 0.0 0 0 \n", "11 1 0.0 1 0 \n", "12 3 0.0 2 1 \n", "13 5 NaN 4 3 \n", "14 4 NaN 3 3 \n", "15 0 0.0 1 1 \n", "16 0 0.0 2 0 \n", "17 1 0.0 1 2 \n", "18 21 13.0 5 4 \n", "19 7 3.0 4 3 \n", "20 5 1.0 3 2 \n", "21 2 1.0 3 0 \n", "22 4 1.0 3 1 \n", "23 19 7.0 5 3 \n", "24 0 1.0 1 1 \n", "25 0 1.0 1 2 \n", "26 0 0.0 0 1 \n", "27 0 0.0 0 0 \n", "28 1 0.0 2 1 \n", "29 0 0.0 0 0 \n", "30 1 0.0 1 0 \n", "31 0 0.0 1 1 \n", "32 1 0.0 1 0 \n", "33 2 1.0 3 2 \n", "34 0 0.0 2 0 " ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "D=pd.read_table(StringIO('''ID\tHemisphere\tAge\tGender\tMoCA predischarge\tMoCA outcome\tNIHSS predischarge\tNIHSS outcome\tmRS predischarge\tmRS outcome\n", "1\tR\t77\tM\t26\t26\t3\t1\t1\t1\n", "2L\tL\t84\tM\t15\t21\t1\t0\t1\t0\n", "3\tL\t47\tM\t13\t22\t3\t0\t2\t0\n", "4L\tR\t72\tM\t20\t23\t10\t1\t4\t1\n", "5\tL\t61\tF\t26\tNA\t0\tNA\t0\t0\n", "6W\tL\t78\tF\t25\t24\t0\t0\t0\t0\n", "7\tL\t49\tM\tNA\t27\t5\t1\t2\t2\n", "8L\tL\t79\tF\tNA\t14\t7\t4\t4\t4\n", "9L\tR\t77\tM\tNA\t15\t15\t7\t5\t4\n", "10\tL\t74\tM\tNA\t22\t3\t0\t1\t2\n", "11WL\tL\t54\tM\t28\t30\t0\t0\t0\t0\n", "12\tL\t65\tM\t26\t29\t1\t0\t1\t0\n", "13\tR\t80\tM\tNA\tNA\t3\t0\t2\t1\n", "14W\tL\t87\tF\t16\tNA\t5\tNA\t4\t3\n", "15\tL\t76\tM\tNA\tNA\t4\tNA\t3\t3\n", "16\tR\t18\tF\t28\t30\t0\t0\t1\t1\n", "17\tL\t61\tM\t24\t27\t0\t0\t2\t0\n", "18\tR\t72\tF\t21\t21\t1\t0\t1\t2\n", "19L\tR\t52\tM\tNA\t27\t21\t13\t5\t4\n", "20L\tR\t66\tM\t22\t28\t7\t3\t4\t3\n", "21\tR\t67\tM\t18\t24\t5\t1\t3\t2\n", "22W\tR\t71\tF\t11\t25\t2\t1\t3\t0\n", "23W\tR\t61\tF\t25\t28\t4\t1\t3\t1\n", "24W\tR\t78\tF\t15\t20\t19\t7\t5\t3\n", "25\tR\t69\tF\t27\t27\t0\t1\t1\t1\n", "26\tR\t74\tM\t23\t25\t0\t1\t1\t2\n", "27\tR\t66\tM\t23\t23\t0\t0\t0\t1\n", "28W\tL\t67\tM\t28\t29\t0\t0\t0\t0\n", "29W\tR\t81\tF\t18\t23\t1\t0\t2\t1\n", "30\tR\t46\tM\t29\t29\t0\t0\t0\t0\n", "31W\tR\t69\tM\t24\t27\t1\t0\t1\t0\n", "32\tL\t53\tM\tNA\t27\t0\t0\t1\t1\n", "33W\tR\t57\tM\t26\t26\t1\t0\t1\t0\n", "34WL\tR\t72\tF\t15\t14\t2\t1\t3\t2\n", "35\tR\t69\tM\t26\t27\t0\t0\t2\t0'''))\n", "D" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Обратите внимание, как библиотека pandas интеллектуально распознала текст 'NA' (Not Available) как отсутствующие значения и вставила в эти места NaN (Not a Number).\n", "\n", "MoCA (Montreal Cognitive Assessment) - это тест для оценки когнитивных способностей.\n", "Как видно из таблицы не все пациенты прошли его предварительно.\n", "Большинство прошли этот тест дважды - в начале лечения и в конце. \n", "Много тех, кто прошел тест только в конце - это возможно те, кто не смог участвовать в предварительных измерениях из-за тяжелого состояния.\n", "В любом случае мы видим, что данные неполные, и это нормально для реальных данных, собранных в медицинских учреждениях. Не все пациенты соглашаются на участие в исследованиях. Некоторые по тяжести состояния просто к этому не способны. Возможно, кого-то выписали досрочно или перевели в другое отделение.\n", "\n", "По возрасту пациентов (колонка Age) понятно, что в основном это пожилые люди. Среди тех, кому за 70, немало со сниженными интеллектуальными способностями.\n", "Однако, под ID=16 записана 18-летняя девушка, которая, впрочем перенесла инсульт почти без осложнений." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Наборы данных для публикации как правило обезличивают. Распространение сведений о болезни может сделать пациента уязвимым в ряде случаев.\n", "Этика публикации данных о пациентах определяется понятием \"врачебной тайны\"." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Анонимизация биомедицинских данных\n", "\n", "Мероприятия по анонимизации как правило сводятся к:\n", "\n", "- замена имен на коды\n", "- сдвиг дат в пределах месяца\n", "- согласие на использование в исследовательских целях\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Важным является размер выборки. Например, если в работе описывается всего пятеро пациентов с редким заболеванием в какой-то стране, и из них всего одна женщина, то знания факта, что данная женщина лежала в клинике, специализирующейся на этом заболевании, достаточно для установления идентичности личности и данных о течении болезни.\n", "\n", "В идеале данные для одного исследования собирают с нескольких клиник примерно в одно время. Это затрудняет идентификацию." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Индивидуальная динамика" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Попробуем воспроизвести рисунок из статьи {numref}`psyp`. \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ ":::{figure-md} psyp\n", "![](i/psyp12785-fig-0002-m.png)\n", "\n", "График взаимодействия, показывающий изменения в оценках Montreal Cognitive Assessment (MoCA) между предварительными и окончательными измерениями.\n", ":::" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Но сначала посмотрим на него и подумаем:\n", "> Есть ли в этом рисунке какое-либо применение статистических методов?\n", "\n", "График имеет всего две координаты по горизонтальной оси: предварительный и окончательный. И значения из указанных колонок отложены по вертикальной оси.\n", "Т.е. это индивидуальные необработанные данные.\n", "\n", "> Какую полезную информацию несет этот рисунок?\n", "\n", "Соединительные линии показывают изменения в ходе лечения. И наклон большинства линий идёт вверх - способности пациентов в общем восстанавливались. У некоторых не изменились, у двоих ухудшились, но у большинства тенденция была положительной. И это видно из этого рисунка наглядно, без использования статистики!\n", "\n", "> Как отображаются случаи, в которых одно из значений отсутствует (NaN)?\n", "\n", "В паре мест видно маркеры, которые не соединены линиями. Это значит, что у этого значения не было пары, и соединять его линией просто не с чем." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Логика построения похожего рисунка сводится к отбору значений из соответствующих двух колонок и к подстановке к ним в качестве абсциссы значений 0.5 и 1.5. Можно и другие любые два числа, при условии установки подходящих пределов и подписей." ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "figsize(5,6)\n", "xx=tile([.5,1.5],(len(D),1)).T\n", "yy=D[['MoCA predischarge','MoCA outcome']].T\n", "plot(xx, yy, marker='x', lw=2.5);\n", "xlim((0,2)); xticks([.5,1.5], ['Predischarge MoCA','Outcome MoCA'])\n", "ylabel('MoCA scores'); \n", "yticks(arange(10,32,2)); grid(axis='y', ls='-');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Чтобы контролировать форму и цвет маркеров - проще выводить по одной линии в цикле.\n", "Еще проще воспользоваться готовой функцией `parallel_coordinates`" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD4CAYAAADiry33AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/d3fzzAAAACXBIWXMAAAsTAAALEwEAmpwYAABdtklEQVR4nO2dd3hcxdm379leVFZdbpKMjTGWG2AbQgfbVBMcCAmh2QklvVECIQmvQwgkAULelDftC7EdSEgCoRnTbGI6uOGCZBtLtiQ3da3K9jLfH+dIWkkradVlae7rOpd258ycM7t79DvPeWbmeYSUEoVCoVCMXQwj3QGFQqFQDC1K6BUKhWKMo4ReoVAoxjhK6BUKhWKMo4ReoVAoxjimke5APDIzM2VBQcFId2PMsG3bNk477bSR7oZC0QV1bQ4u27Ztq5VSZnUuF6NxeuWCBQvk1q1bR7obYwYhBKPxd1Yo1LU5uAghtkkpF3QuV64bhUKhGOMooVcoFIoxjhJ6hUKhGOMooVcoFIoxjhJ6hUKhGOMkJPRCiCeEEPv17RkhhFMIkSGEeEUI8Yn+N72btgnVUygUCsXQkKhFvxqYIaU8EQgA1wAPA89KKWcAzwKrummbaD2FQqFQDAEJLZiSUm4AEEI4gSxgD/Bj4Ha9ylPANuBbcZovTrCeQqEYg0SlpCIYZFfAyychLxVRL9V4aDJ62/YbhBjhXo5tEl4ZK4T4EvC/wB+BzUCGlNINIKVs7MElk1A9IcRtwG0AOTk5bNq0KdGuKRJAfZ+KoSIqJVUmE2VWI8esBmqtkiZbFL89RNQexOTwYbJGwBq//VPvvMPESGR4Oz3O6NPKWCGECXgceAP4jZQyOWZfi5QyKU6b5kTqxaJWxg4uavWhYiBEpeRAIMCugJf9YS+Hol5q8NBs9BK0eDHavBhNPQt1OGRC+p1YQg5SIw6ycTDF4ODOzMl4IxHsBjUvZDDobmVsn2LdSCnDQogNwCKgQQiRJKVsEUKkAvXdNEu0nkKhGAGiUrI/EGB3wEtJ2MuhqIcavDSbvITMupDbImDr2tai/w0HzciAo03Ic3CSb3Qww+xgntXBJIsFzF3b3wlK5IeBXoVeCJEGLJBSvi6EMAPLgReAJODzwF+Aa4GNMW1mAqVSyhCa9R+3nkKhGHrCUrLf7+fjoGaRH456qRVemo0eQq0WuS3aRcgFnYTc78AadupC7iDf6OAkk4M5Nl3ILZ3PrBgtJGLRC+BeIcSfgRDwIrAWeAl4UghxN1AGXB/TZg8wVS+/q4d6CoVigISlZK/fT1FQs8gPRz26kHsJtwq5PQr2ju1ihTwUtIDfgTXkwBXVLPICo4OTzA7m2hzkWsxKyI9jehV6KWU9cEGcXTXARd20ETGvu62nUCh6Jygl+/w+PtZdK0ekZpG3GL2ELR5MNh+GOEJuIEbIAxYIOLCFnLqQOygwOpipC3m2EvIxzaiMR69QjCeCUrLH76OoTcg1i9xj9BK2ejHZvBjsshcht0LAgV23yHNxUGB0MtOiCXmm1dTtrBfF2EcJvUIxxASiUYoCfooCHg7oFnmd8NJi8hJps8h7EXK/FRFwYAtrFvkE3SI/2aL5yDOUkCt6QAm9QjFAAtEoH/t9FAW9lOoWeb3w4jF5iVi83Qq5Ud+gVcid2MMO0nQhn2pycpLFwVyrnTSbKe6sF4UiEZTQKxS94ItG2e33sSfopTTs4ahukXtNXiJWDyarH4NDgqNju45CbkMEHDjCTlxROxOFk6lGByebHcy1O0ixGce2kEfC4G8Erxt8bhqa3VQ0urV9UoJaGTukKKEf6ywUHf8q+owdbeHIopHuyBgiTd8AWvw+kuyOnqorBohaqaBQKEYUfzg80l0Y8yiLfqyzRX8s3jJ2QyA0RSLs8nnZE/JyMOLlmPTSYPDiNXmQVi8mq79Hz4CUEPLbMQacOMIOMqSDCcLBNKODWVYnhTY7zpFevRnyg68RfO72zevu+D62zN/Y8X3IN7DzG4xgd4E9FWlzEbS5aLC4qDK5OGR0UWpwUSq0MnfrZnbRaEklyenixNQk5iUZmOeA+Q6YagWDAIQgMzllYH1T9IoSesWoxx2JsLtVyMMejqEJuc/kRVq9mG1+bZ12J1ov7mhUEPLZMQYdOMMO0qWDScLJNJM2a2W2zY7dbugyWDpoaHeSTqLc2LNgdy4PBwbWB4MJHC5drGO31I7vO9UJ21zsFy62h53s8Al2emCHF2riGOEmAYV2mOeAC3VBn+eEdKUyI476CRQjTkM4zE6/lz1BL+URb5uQ+3WL3GwL9CrkYb8dY9BJUpuQO5hmclBodVJotWF1GLoMliaMlJpFHE+Uu7OgO2/hYD9PrmM09yjIHcptqV33Wxy9Dng2hWGXD3boYr6jHj72QiDOw6DLqAn5fCdtVvrJdrAqZ/CoRAm9Ysip04V8b9BLWcRDJV7cBi8+sxesXszWRITcgUm3yDN1i3y6ycEsq4OTexNyKSHgSdzt0dni9rkhEhrYl2CygD2tqxXdk2DHWt1m+6DNTJESDgV1MffATq/2+kA3Dw1Trbqoxwh7nkVNlDmeUEKvGDC14TA7fB72hjSLvFXI/WaPLuTBuELeGswwGhWEfQ5MQSdJEc1HPlk4mG5yMNvq4CSrDYvBA9INQTd4a8FX0mG6Xq8iHh1gvHOzrWcLujvRbi0zj8zcyWAU9vh0UY8R9oY4X4dVwOxWl4v+d64DUpVKHPeon1DRK5WhELv8XvaFvJRFvFThodHgxW/2gs2L2RKE5K7tWoVchsDcJEhtipLtDTPRF2RKIEheKEBeyEdOqAWjv7GrFR0r2jI6sA9htvfNgu7sxx4hoe4L9WHafOitVnqxD0JxXC+ZpnYLvVXYT7KBWblexiRK6BUcC4XY6fPwSchLWdRLFV4ajV4CJg/YfFhMfhxGH86QB2fAy0Sfhxk+D06fhySfB7vHh7M5QLLXj8vrw+X3khLwkhRoxu5vwuBvRAxUqC3OjmIczw/drZCnaq6TMUJUQlmgq5VeEWcYQAAzbDFWui7sE8zK9TKeUEI/TnituozDzZXUe6oI+GsgVIslVE9SuJ6UYDNOn4eTvR4W+jw4fd42EXf6PDj8PgwDzVBlTepFkHua/ZGqDUaOQ/xRbUC01ULf4dWs9uY49027AebaO1rpcxyQZOxaVzG+UEI/hvnPpt9y8Ut3A3DRT6YO7GC25ARcHq6uwt3qwzaqS603qkO6oMe4X/b6IN7owgRzux+9Vdin28A4Sq10KSWSQ0SjOwjKD/HK/yKiewCIyCBGMXaeuEYj6r9vDGM1WnH6vQC02Jx4bMn4rCmEbC6wpWK1p5OSlElqUjrCnta9K8SWoi2YUQwKEQkl/hgrXRf2Y3Em9hiAWfb2WS/z9LnpOaP4AUfKIFFZTFTu1Lao9hca2urELlnwsJUUzhz2fo4n+pQcfLhQycEHhwZfC00BDwVpuSo5+AjhicBub8cB0l1e8MZxvSQbtFkurRb6fAcUOjSXzGhFyvoOYq5txWjJ6DoSxEyTSKHFkIIQ80kTVzLReJO6NgeRficHF0LYgHVoqQEjwGop5YNCiPXACTFVpwCFUsqyTu1XAo8BVXqRR0p5Wn8+hKJvpNmTSLPHmdeoGHSk1CzyWNfLDi/s90M8GZti6TpA2hYWYBQiZRTJwRhB30E0ugtJRZzagpCYQKOwUy+MNItkmg3J2JhJnljKNM7H1hbS7Kbh/BjjlkRdNz/Xk4PbgQ+EEOullJe17hRCpAMfAMe6af+klPIbA+yrQjEqCEvY54ux0nsJCxDremmdm54xql0vPqKyqE3MWy11aI5T24FBzEGIOTQZkjgiGqgQR4kI7THEQgpTuIC5LMHFtGH9HIp2EskZ6wde11/7hBAlQE6nat8F/iylHGBADoVidNE5LMBOr+aK6SkswLwY18toDwsgZTVRuZNIVLfS5S6k3Eu8IWDBBAyGeRiEtgkxD7cIUyH+y2HeJsQhvZ6FiSwijyXksgCDGgoccfr0CwghcoAzgJtjylzA9cDcHppeJ4S4GCgDvi2lLI5z7NuA2wBycnLYtGlTX7qm6AX1ffaMBKqFlRKRRKkhiRJDEqUiiaOG+JHOJkR9TJctTItq23TZQo4MIFra67iB94ej8wkRwWY7isNZgt1RisOpbRZLXZeaUhrw+/Lxeqbj9U7D65mG13sC4VC6diRrE8GcIgK5LxB1tA+wGptzsFbOxlJ9Mv6Qg0/w8wnv9NozdW0OPQkPxgohrGiW/eNSytUx5fcBBinlqh7aBaWUUgjxOeBOKWWPORzUYOzgIoRQA14x9CcswLxOrpfRHBZASg9RuVt3vewkKncRlbsAb5zaybqFPle31udjEIVoXtp2wvg5yvtU8DrV7KR15MFKGnlcSB6LSaWgz31V1+bg0u/BWL2xBXgGeLmTyCejWfendNe2kzvnaeCPCfZZoRgw/Q0L0CrsozksgDY3/RjR6A5dzHcQlTuRcj/xhoAFU2LEfC4Gw3wEUxEi/geUSOooopwNHOFtwmgx7Q2YmMAZ5LOUbE7FgJp6O9pJZNaNA3gWeENK+fNOu78O/EtKWd+pzUygVEoZEkKcC2yRUvqAqwFlqisGnf6EBei84Gg0hwWQMoyU+9rEPNI2N70mTm0TBlGoibmY3+ZX1+ZM9I6HKirYSAUb8cTMr0jjJPJZwmTOxRIvuJFi1NKr60YIcT7wKnAwpvhZ4CfAXuB0KeWxTm0kMFVKWSaE+D7wZcAPHAFulVIe6OmcynUziLwlEOeBfHOkO6IYb0TC4G/RtkBL+2t/NfgPg78SFn8I0WgUMVrvsMcZ/XbdSCk3AdZudud100bEvH4IeCixbioUitFCJBQjzq1bc8xrTxwRj9lC/sTO01DxCen5Jw3thxnnjOIhJcWgcK4EhP539NLXsAAz7R3jpo+FsADtWDGI2dogadt0xrkIkdqnc4b9fvyNjfjd7g5bo7uMKvd2at3FBNyNRNxhIu4QhkYzwm0i4g7hdzcS9g0sz6wAbAawiY5/TRYj0exUxKQceHMPJttQ5XBUtKKEXjHs9CUsQJKh4+rReQ5tFsxYCQsAmRjEPIyG+THz008CTJpQtwl0cdvrQBzxjrdFAgNb1mIwmbC5XB02qysVg8WADDZi8Lqxu+tIraklo64RR6ug66JuFtAwJRP3rGkEC2djLjwN16wzSZsyG0Nr7CQhSMmJ6xhQDCJK6BVDxngOCyClJOyDgFtLhBVwC4KNEwk2TibQmE2w0UWg0UnAHcLf2EigcSd+95sdhTo4sDyzBrMZiysJg8sIrjAGlxGjy4zJZSXVNZVM12wyXDOxu9I0EU9N7SDqwmyg/sA2moreJ1q0HVtRMRnFH5BU39LlXOFkIzUzpuAuPAk5aw72wkVkzDqbdNcEEhsCVgwlSugVg8JAwgLM07fRFBZASknI42kTXV9DFb6GXfgai/A1lOB3l+NzHyXgDhJojBV09PeCaDj2diaBw/qWGEaLBVtaWkerOjUVaycru/MWdnmodm3jsO1tAqJ9Qlwmc8lnMRM5C3OnBLvepmrqit+h4YMXEMW7SCraR9a+Q+QEw12WwXtcDupmnYCvcBaGwlNInnUGmSeezgSLnQl9/J4Vw4MSekWfOR7CAkgpCba0JOTi6OoKacDvdiMjA8mKJTHZbHGFuItQd7KkWzeTLfH0hUGaOcxblPAvGtjXVu4klzyWkMeFOMlFyijuI8U0FL1LsGgblqKPSS0uIaOiJm5u9bqCbNyzTiQ0azaWwgWkF55F6sSTcHYz914xOlFCr+gWKeFQsKuVfqAb1+9Ua0crfb4T8iz9m5suo1ECzc29CHLP4i2jA0tfaHKAzQXW1NYtCZsrA5trIva0POyuE7GnTYkv5qmpmKzdTVYbHKJEqGY75WzgGB8Q1ccATNiZxDlMCpxNdH8jnqIPOVz0TezFe8gsPkhao7ctdmQrIauJmpn5tBSehCycj2PWQjJPPpuM5EwyhvRTKIYDJfQKoGtYgFZhjxcWwCJgdkzKunhhAWQ0SqCpicZjfbWm9a2xUbvTDACz0xkjvilYUwVWVxhrqgdraiOW1GqsKSGsLl3IXa3CnoTdNRez9ZQewwKMFI2U6Qua3iCgz9qx1IfIKXbhLDJiLqohufgxsvbfgTHc9WbXnJFMXeE0/IWzMBWeSkrhp8g4YQETx1BeXUVHlNCPQ1rDAsTmIe0cFkBEIthaGjnB52ZO2M3MUCMFATeTfW7SvG6CjbpQu90ccbsp7STSgaamAQu1JTk5rnujJx+1NTUVa6ofc/IBhKk4JizAZuKHBcjrEJGxt7AAI0WAJg7zJuXR1wiV7yK1uJlpRU0kF/lIKWom+VjXEMJRIaiZNoHGwhmEC+dgnXUa6YXnkJI9leRR9vkUQ4sS+jFMwONlb7m2aPm+pzZSXu3mSJ0bb4Mbm6cRW7MbW4ubWc1uTm1xk+Jx42xxY2l2Q0tX4aiiPXtMIlhTUnr2UXfjm7a5XFhTUjCYer48O4YFeLVDWIAwdIq0a8IgZumC3hoWYC5CjF7HhN/XQPm+tQSK1uMs3kdqURPnFDdh9nR9zArYLdScnI+n8GRE4TychWeQOfNMshwuskag74rRhUolOIZ55H9X4/nOF1kFrOpHe1OnzdzH96N0VqRiFHE2qOiVg8iAolcqjk+mTsqmVH+dRveC3LnMDBhRQq1QjBWURT+GkVKb8TJaY35rYQH2tPnREwsLoIXX7W9YgOHE76mnds97eIo+RBTtwFm8l6w95Vj8XVfIhpJMNBYm0zgrhcbCDEThuUyesYJM2zzEGL7ljtZr83hFWfTjkNEUELD/YQG0ULtCnIQQo2hFVQxSRmmsLKGh6B0CxdswF+0mtWg/6WVVTI4jYu5JaTQXZtBSaKKx0I57Vgq+KU5yDIvIZzEFnI6R0flZFccnSugVg4oWFqBMT4bRMSxAVwRCzGiPm94262XCqA1bGw75qSvd2h4WoHgPGUWluOpbcHWuazZSNWMKLbNmECmcQajQTs3JVbjT2mPIpzKVaSxhCudj6zK7XaEYHJTQK/qNlH6i8uMuljp0nbEDdl3Q52EwtAr7HIRIGu5uJ0xrWABv8WZE0c6EwwKIWaeQUngGaSeeQsSyg2o2UsV2QJvTbiGFKVxAPktwMW3YP5di/KGEXpEQUlbHZDbSUtdJuZdOcxgBEEzo5EufhxAnIsToTDnXOSyAubgIV9H+XsICTCc0a06XsAASSQP7KOd1tvB/hNACgAk9/V4ei8llAQblmlEMI0roFR2QMoKUJTF+dC3BtORYnNoGRNvcdC12ulHMQ4jO9u7oIRTwUrv/A1qKPiBa9FHiYQFmzcVReHq3YQG81FDBG1SwgRaOtJW7mK6n3zsPK6N34FgxtkkkZ6wNWAdMRTPfVkspHxRCrAQeo30NjUdKeVqc9hnAk8AJwAHgus45ZhUjg5QeonJ3mx9dE/ZdgDdO7eQY18voCwsQj5b6I9QVv4O/aDOG4t0kF+0ja/9hJiQQFiB51hlkTlvYY1iAMH6O8j4VvE41O2ldeWsljTwuII/FpDJ1qD6eQpEwiVr0P5dSvi60/+oPhBDr9fInpZTf6KXtw8CzUso/CiG+jLZ251v9666iv0Tl0Y5x0+VOpNxP/LAAU46LsACtRKMR6st30lj8PmE9IqOruJS0o/V0HgGIDQsQaYvImHhYAImkjiLK2cAR3iaMloXJoLtm8llKNqdiYHS6qUYTMm5WAsVQkEjOWD/wuv7aJ4QogS5jUT2xGLhdf/0UsA0l9MPCR7tfpcX3SwB8wSld9kejJvz+WYRCmoVus84jyTEXk2n0hgUI+pqp2fcunqIPkcU7cRTtIav4IJmeAJmd6nYOC+CYdTpZJ5/Vr7AAHqr0QGIb8cS4sdI4SXfNnIuF5AF/vjFLsBE85dBSBp4yZMsBgp6XAZAyNGqnzo4V+uSjF5rz9QzgZmA5cJ0Q4mKgDPi2lLI4TrMMKaUbQErZKISIm3BGCHEbcBtATk4OmzZt6kvXFHEor9zHZz+zAYAGt4vdxfPZXTyXXUXz2FU0n30lJxMMdg2l67SHSXKGcTrDJDm0zenUypIc+t947x1hnI4IRuPgWGoRTw2ieg+2w/tJKSsls6SM7AOVTIrGmZuek0r1jHzcU6finXIikQkzEan5GAwxl3gzlGzekfD5pTFIMPMTArm7CacdaisXgSSslYVYq2YjvBlUABVsG8AnPf4xRVuwhSuxRSqxhiuxRara3tvClZhlx6xUAmi98rZu/h0e3/zh7vK4IuGVsUIIK5pl/7iUcrX+PiillEKIzwF3SikXxWnXLKVMjnnfIqXscU6dWhk7OFTX1nCk8j1OnbOcx5+M4m4SuBtp2xqb21+7m/SypoGfN8kJrlR9S+n+dar+PiUphNW7HeOR9zCWfoR9TxHpRaWkVDd2OXbEaKB2+kSaCmcQLZyLddYCMmadRXJmwcA7Dkii1LKbcjZyhHeI4AfAgIWJfEp3zcxDjCfXjJQQdIOnrM0i1/6Wt78Odf2tOmC0Q1IBUecEvEmfEHQ2EnGmkD31CDIcAKMKkTwYdLcyNiGhF0JYgP8A70opH4qz3wDUSSm7rPgQQlQAs6SULUJbr75bStljNmAl9INLX5aZRyLQ3BL/BhD7vrvXjb1EJ0511HNW/nssSv+Q+exgZuNeCirKscYJC+Bz2iibOpWKnJkcSj2FmqQz8Dk/RbIrqdubSGoKWPqhGS0cbXPNeKluK89gFnksYTLnYMbZ9wMfD0gJwfp28e4g5npZqBcLwOQEZwE48yGpQHsd+9eaSVDso5IbiHAUEwXk8gQWMU2FQBhE+h0CQQjhAJ4F3pBS/jym/Fxgi5TSB1wNbI3ZNxMolVKGgDeAzwN/Aa4FNg7wsyiGEKOxXTz7QzQKLR5ocEepKS+hZf87GA9uI/XgbnJK95NVUYWhVNIWbU2nNjeDkgnT2WWZzTbfqbx/7Cw+Pjobub3vlrPd3vOTRNvrdC+OaW/B5I0Ek4va25NFHovJZzFJTOrfFzGakBICdV3FO1bQw10TfnfAlNRVwGNF3ZrRY8wNH29TxS1ImrFyGjmsxqhyVw0bvVr0QojzgVeBgzHFzwJNwJcBP3AEuFVKeUBvI4GpUsoyIUQW2vTKAjRf/vVSyhp6QFn0g8tQB47qLixAUn1X8QibjdSeOJnmwpOIFs7FXriI9JPPIiltIqBpUouHDi6mvj5VROJkxWrFYIgw+5ydXHDtBk6/7H2sDi0vot9j5f11Z7PpqcWUbptLarIh7tNChxtFNzeRPqR6HRykhEANtJR3714Je3o+hjkZnFO7scjzwZLe7+BJzfyLWu4EwjhYRhb/iwFtWq4Kaja4DMh1M9wooR9cBvOfqbuwAOZguEvdeGEBMk88HZNl6ObeSwkeT6fxh0ZojB4mnLsB67SNmJPr2uofKZrDjvVL+HD9WVRXOmhwQ7jrR+kTVmvHMYjebg6pnd7b7Z00VUrwV8f3jbf+jfh67pQ5BZKmxgh4fkcxt7gGPQqeROLml7h5FIBUvkIaP0TQPo1VCf3goqJXKvpEn8MC5GfjLmwPC5BWeCauiTNxDvPceyEgKUnbsiY0c5i3CLGRAHvb6jjJJY8l5HEhzsJcKATu0vZJCT5fpyeFzk8V3exzN0GDGwIBqKrRtsSQ5CRXUZBeRkF6GdMyy5iRW8bUjDKmpJYzMbkMq9Hf4xHCxjSi9nwMyQUYUwsQnd0rFldfv8oBIQlSy/do4V+AgQweIIWVw9oHRTtK6BX9CwswawaycF6PYQFGgigRqtlOORs4xgdE9TDIJuxM4hzyWUIGhd3GeBcCHA5tm5jb9/NLCX5/p1lN7ij+xkpkcxkGXznWUBmOaBmphjIyLGVk2cuxGgM9HrfOk05ZfQFl9QWUN+S3vW593+RvH1QxmXRXU3IC4xSdXVOp2qypgRj3ERqp5lb8vIPATjZ/wMHS/h9QMWCU0I8zhjoswEjRSJk+a+YNAm2JSwTZzCePJUzkTEwMkfNcRsF3DFrKEJ4y7C1l2D1lTGgb8CyHaFD7b+tuTZU1o82VErYW4DUW0CTzqQ8WUO3Lp645BbcN3E5oTIVwOiQ1wuRGSOo0TuHzQW2dtvUHozGO2ynm5tBlrCLmdbLrMB7njYTEPoxkk8NarMztX0cUg4YS+jFMU/UBarZoqw8PrljUe1iAWScSKZzT57AAI0WAJg7zJuW8jpuStvIkJpLHUvK4EMdgpMaORsB3VPeHx/GPeysgGi+BSgzWrPi+8dYyc/uvYgJS9G1yP7obCLS7mBq7G7juYXqsxwv1DdrWFwrn7uIvf7+J7KRqSvfP4IfffYKAZ3I3TxWSnIK9bf21dl23pxhElNCPYSpfW8uMu38MwNQNW4DBDQswEkQJU8lWKtjAMTYj0UZOzTiZxLnks4R0ZvYt/V40rAl5d4uBPBUgexmhtWXHF/DWWSum4ZuDb7VCdpa29YdQqJsZTj2MVUyftYE7V30Fh8PLe2+fxVdX/j+am7rO0c3IqeWiq1/m0mUvMuXkAwC0BN1Yra4BfGJFbyihH8Mkzz+XgxeeBk9so+T3vyK18CwyCuYx2Xj8xRVxc4AKNnCI/xKgdRWmgRxOI58lTOAMjHRjFkbD4D0cfzFQS5m2r1chz9UEu4uYF4AzD0zxhqiPT8xmyMzQtkRoYg11/ACIksRn+dynHuGSLZa2G0NjcwCf/S1MuS/inPABwqC5CX3NLgCczgFOc1L0ippeOQ44Xqew+XFziP9SwUYaOdBWnkwe+SxmChdiJ0Nzm3gPx4h3J/eK9zDIHibXA9gndL8YyJkHptEbjnmkkERp4Kc08nsAXHwXF3ciEEgkLXxMNeuo4TUietYxgZE0ziGbZaRxFkZhOS6vzdGKml6pOC6IEuIYmylnA1VsRRJBRKKkeg3ke04ktyUHp8eHaHkRPL/RrHTvYW1AtFsEOCZ17x935oFxuFc5Hd9E8VPLt/HwImAik1+QzLUEqKKG9VSzDh/lbfWdzCSbZWRxMWaVG3fYUUKvGHFkxE+T921qWtbhaXkPq6eByR4fM1p8JHsiWLzNCCTwcjdHEOCYHH8xUFIBOKaAUY32DRYR6qjiSwTYgiCZLH6HlzAVfB03m2nNcWAmgywuJZtlOJk+sp0e5yihVww9kYA2oNnJNx7xlBL17MfkrScVuk+0Jwxgnxw/WJYzXxfy0TflcywS4iCV3EiYAxjIJMRidvMTImghFgRm0jlPd82cgVASMypQv4Ji4IR97UIeb8DTFy/fLBj1TQrwOhxEnZOwJM3G7JyNiF2u75gMhuNvAHms4WcrVdxEFDdhHNRiJMrbACRRSDZXkMlSzCo37qhDCb2id8K+OPFVYt77K3tsLoWRqCMXb5KDBmeIliQTXqcdn9NJUtKZ5DiWk2s4AwNKzEcjEbxU8TB+/owgih8rDaRgJocsLiObZThUbtxRjRJ6hRbZsKU8frAsTzn4q3puL0zagGYn/7jf6eJI0iEO2D+i2XC0rbqL6eSzhDmch1VZf6MSSZQmtlPNi3j5D8nUIQAvyZi4ipP5NC4Wja8ELMcxSujHC+6i7mORB3qJvmUwgyOvq2+89b19Ihi0f/gwfo7yPhVsoJodtA7MWUkjjwvIYzGpyvobtfg4TA0vUc1LBDhCKo2k4AXAxJXM4BeYVW7c4w4l9GOZg/+Af1+nvf7T7AEcKISWKaS0t4qYgDx968rfB9AHxXBgp6ff7w/6NgAk4AUa9A2IhsIYzEqKhpLRG8hEMXCGcdm9QtEtEmhESzu0A/gYLVWR9qDAsR37RqZf4wi1MnYsE/ZAsAnhnDhoqw/D+DjCu5SzgVp2tZXbyCCPC8ljMSnd2IOKkcdLme6aWU+Q9rGXFE4lm2WkkE8ttxLmMCbyyeFvWHqYA9/YGGXXrhA7doTYsSPIzp0hPv44hCns4aKct1g+4VWWTdhAuqU9eXiTIZtjky/HdOaVTP/ccrUydhAZSM5YG7AOmApEgNVSygeFEHcCXwHCaGkGb4qXIlAIsRJ4DNquKo+U8rT+fhBFHzA5B8Wql0SpZTflbOQI7xBBS4JhwMJEPkU+S8lmnhqYG6WEaaaW16hmHc3sbiu3MolsLieby7AxGR/vUs21RGnEyql6XtdMAKSUVFRE2LmzXdR37Ahx8GB7aIlsaw1XTNjA/5z6GhflvI3V0B5jP5R9EqYzr0QsWk7KiaeTYlDOhOEkUcfYz6WUrwsh7MAHQoj1aA9hc6WUXiHEvcC9wHe7af+klPIbA++uYjhp4RgVbKCCjXipbivPYBZ5LGEy52BGuYdGI5Iwbj6kmnXU8SaSIAAGHGSymGyuIIX5bWn9WniGGm4HQtiil1K1+5e89pGJnTvdbcLudne1vAvTDnDLvA1cnvUq0yNb9BXMaJlLZnwKFl4JC6/EPHnmcH10RRx6FXoppR94XX/tE0KUADlSyldjqu0GrhuaLiqGkxBeDvMWFWykjqK2cjtZ5LGYfBaTxKQR7KGiJ7yUUs06qnmZELV6qSCVRWRzORlciJH2AG119RHK3b8k7YTHAHjhb9dz963fIBBo7nLszEwDp8w3smzmbi5MeoXpDS9hq9FTNEYAkwXmLoFFy2HBFZDWjxRdiiGhT0PdQogc4Azg5k67bkC/GXTDdUKIi9GGY74tpSyOc+zbgNsAcnJy2LRpU1+6puiFnr5PSZRwWgWB3N0EM/eDUQ8bGzFjqZmBtXI2JnceNQhq2A/sH5Y+KxLE5MGQvQORuwVDyuG2YunNJFq5gGjVaVT70th5zERJyceUllopLbVysMzAt+9/hM/d/CLRqOAn37mdNb/5PEJIJk8OMm1agOnTg5x0QjOnJ33AtNq3yCx7D+vR9tRVIWsSdQWfou6Es6jPW0jEoodr3rkXYvL09oT6Xx96Eh6MFUJY0cT8cSnl6pjyrwFXARdL2TUWrN4uKKWUQojPAXdKKRf1dC41GDu4dBemuJnDlLOBQ7yBr836g0zmkM8SJnIW5ripwBUjTZQwbt6jmnXU81ZbAhYjTtLCF9G4/xJ2vXsSO3aE2LlT25qb26+B5JQWfvvv73PORR8S8NtY9/jDOMXFzJ9vZs4cM0miCbavh83Pw0cvgy/Gws+colntC6+EWeeCqf8rmo/XENqjlQGFKRZCWIBngJc7ifxNwI3AJfFEHkBKGZv1+Gngj33ot2KQCdLc5pqpj7G4HOSSz2LyWIwT9cg9WvHwiR7j/RVC1AMgpQF32UK2rFvC839dwO6dRqJRAHeHtrm5BubPN3PWeXV85itfxeHah0FmMtW2hju/dgrUHoItL8Cjz0HRJojEJAQpmKcJ+6LlMHX+wLKHK4adRGbdOIBngTeklD+PKb8NTeQvlVI2dmozEyiVUoaEEOcCW6SUPuBqQJnqI0AlWyhnA8f4gChaflMTdiZxDvksJoPCtoE5xegiSD3V0Zc5HFxHxNbuNjv8yRRe+H8X8OoT51N3LL2t3GCAWbNMzJtnZv58C/Pnm5k3z0xOjpEAH1PFTUSoxCxPIKfiPsxbXoLNt0LpNjocpPB83XL/NOSo1czHM4lY9IuA84F8IcQX9bJngS/orz8Q+t1dStk6tL4HbTpmGXAWsFYI4UdbJnHrYHRc0TvNHKYMbcz8Pf5HLxVkM588ljCRMzGhEm6MNlpaouz62EuZ+20ME9YzsXAzRlMEbNBUn8SGf5zD+tUXsnfrdJKSDJqgX2VuE/bZs83Y7V0tbi//pTpyK9a9DaRvTse55Qii6uL2ClYHzL9YE/fTLofkBHMJ9oNoVPLEE72E3lAMGonMutkEcZNxfr+HNiLm9UPAQ/3pnGJg1LCT/TwDQBITyWMpeVyAg+wR7pkCtLnpx45F2+ak79wZpCG0l8ILXmfJF94iP1Pzi4fDBt59cQGbX1pCuOpM5sx28sA9mqhPnWrEYOjFjRLw4t3xAyJb/sSUrT6MzRJ0tw8pWZrFvvBKbcaMdehTJm7a1Mgddxxk+3Ythv1HH7VwyilJQ37e8YwKMDGGmcy5eq7Vl1nKnxEov+pIEQ5L9u4N6wuOgm2DpDU1UTJy67no+re4/IdvMG1ORVubukNTaSm9hFzTJdx8Zi7fu6IPC9Iaa2DbOuTmZ2HnKziCobZdMnc6YtFyOH05nHgGGIdnodu+fV6+971yXnhBu8lMmmThyBGYN0+txRhqlNCPYSwkcwrfBL6lRH4YiQ0LsHOnJuoffxwiEDMtwWINctYVW/j0rW9w2uKPMBj1nLdhF9lczATTFTinnISY0offrbJUmyWz+TnY9y5Eo22/uv9EM2LhcqyLViEmnzysg6m1tSHuv/8Qv/99JeGwxOk0cM89k7n99ok4nfT+RKIYMEroFYp+IqXk0KGIvnK0PdbLgQNxJ6AxdaqBS645wHnXbGTi3P9isLQAIDCSxvla+j3TWYknYJFSG0Dd/BxseR4qPm7fZTITmJtJyyI/voXpZKT/FQfnD/AT941AIMpvfnOMBx44RGNjBIMBbrklh/vvz2PCBJX6cThRQq9QJEAwKCkuDrW5XHoKC2CxwOzZZubP1/zo8xa6mTDvdZrt6/BR3lbPyUyyWUYWF2MmLbGOhIJQ/KYm7pufh/oj7fscKXDq5YQXnUnVKU8SdJRjZDo5rMVK4QC/gcSRUvLvf9dxzz1lHDyoPcZcdJGLRx4pYM4c5aYZCZTQKxSdqK+PtrlcWoW9uDhEKNS1bkaGgVNOaZ3xogn7SSeZMJgD1LOJatbpMWe0G4KZDLK4lGyW4ewhKmQHvE3aoqXNz8P2l7T3raRPgkX6/PZZ5xEwF1HJTUSpw8IscliLiYkD/1IS5IMPmrn99oO8/742kFxY6OCRRwq45JIEb2SKIUEJvWLcEo1KDh6MdBgg3bEjxKFDXV0vQsCJJ5p0MW+fyjhxooG26cVImtlJOeuo5XUiaLNKBGbSOZdsriCNMxCJ/NvVH9UWL21+Dj5+A8Ixd5m82e2Ll6ad1uZv9/AyNXwdiR8755HNnzAMUzaogwf9fP/75fzzn9oK6+xsM/ffn8fNN+dgMikf/EijhF4xLvD5JEVFHX3pncMCtGK3C+bOjbXS9bAASfEXlPk51pZ+z8+htvIkCslmGZlchLm33LhSwuE97f72/Zvb9xkMcPI5mrAvuhJyp3Vp3sifqWcVIEniC2TyM8QwJFt3u8M8+OBh/vd/jxIMSmw2A7ffPpG7755ESoqSl9GC+iUUY47q6q5x0/ftCxOJM0baGhZg/nxLm7CfeKIJo7FnKzSCjzo2Us06GmMWe1vIIovLyGYZjt5y40YisP8D+PA5TeArS9r3WWww7yJ98dIySM2KewhJhHpW0cRfAEjjHlL55pDPsgqFovzpT1X8z/9UUFenhUq44YYsfvrTfPLy4i27UYwkSugVxy2RiKSkJNzBl75jR5Bjx6Jd6vYUFiBRJFGa2E41L1HLBqL4tGNjJV2fNeNiUc8JWAI+2LVBs9q3vABNMatDkzO08L4Lr4R5S8HW88BlFC81fAMvr6DdYn5JElcl/Hn6g5SSdesauOuuMvbt0z7/Oeek8OijBSxc2Dc3kccTZ9BDMSSoVIJjnPv4AT8RD/Ijee9Id+W4xY6XiRxlIkdx6OIO0ICLo0ykklzCPbhJ7M1eZmwr5eTN+5i+4yCWQLvA1ee42LtwBnsWzeDQzMlEjYnFG7LhYwkbyKKWABY2spiq4zAY3U/Eg3i9Iex2ZXMOBgOKXqlQjDeMhMmlkokcJZ2GtnIfNl3yJ+LtIbuWq9rNzM2fcPLmT8jbcwhjtN2gOjItl72LZrBn4Qyq87L6vHgpFTdLeZ1kWmgmiddZSiOuPn/G0cLRo16mTUsZ6W6MaZRFPw4YrTG/ewoL0BmTCWbNip3xov3NyBi85fuSCI1s1dPvvUEUbQ64ARsZXEg2y0hlQfwon1LCwR3tg6llO9v3GU0w+wI9rd6ntXju/cTHB1TzJaK4sTCPXNZiJL7/fqC0tER4+OEjPPzwEXy+KGaz4BvfmMAPfziZ9PTeB3qbm0M8/XQZq1eX8NZb7YnIJ092cNNN07nppmnMnOkaldfm8Yqy6BUjSiJhAVpJTRVtA6Stgj5rlhmrdWgGGH2U6+n31hOkXZBSOJVslpHBYkzxrPdwCIrf0oR98/NQ2x6nBlsSnHqZNkvm1MvA6RpwP1t4lhq+CwRxcDFZ/A7DECSGiUQkq1dX86MflXPsmOZmuvrqDH72s3ymT+856Fk0Kvnvf4+xZk0pzzxTjterDdTa7UauuiqflSunc8EFuRgTdFEpBgcl9IpBpe9hAYwdBkjnzzeTl2dsm5s+VIRpppbXqOYlmtnVVm5lEtlcTjaXYWNy14a+Ztjxqma5b3sJPO72fa7c9sVLsy8A8+DMPpFIGvktDXoQ2BRuJp1VPQ/69pPXX3dz550H2bXLC8DChUn88pdTOfvsnl0r+/c3sWZNCX/7WykVFZ628nPOyWHFimlcc00BKSkq7MFIoYRe0W8GFBZgnpm5c824XMNn2Uki+irVF6njTSRBAAw4yGQx2VxBCvO7umYaKmHri5q4794IoZjHkMknty9emr5Qm94zqH0OUce9NPMkIEhnFalDkNKhuNjLXXeVsX69Nh6Rl2floYfyufbazG6DjjU2BvnXvzTXzHvvVbeV5+c7WbFCc80o3/voQAm9IiH6Ghag1TqPDQtgNo/MCkkvB9pcM6G23LiCVBaRzeVkcCFGOrkkjuxr97d/8oHmgwdt4PSkM9sXL02cMWT9jtJCNbfhYxMCG1n8FieXDeo5qquD/M//HOLPf64kEoHkZCP33juZb397AnZ71yeGSCTKhg3HWLOmhGefrcDv157UnE4T11xTwIoV0zj33FwVkXKUoYRe0YH+hgWIjfUSGxZgpAjh1l0z62ihuK3cxhSyWUY2l2ONnY4YjcL+D9vD/B7d177PbIW5SzVhX3AFuHKGvP9hjlHFjQQpxkA6OazBxmmDdnyfL8KvfnWMhx46THOzFlnyq1/NZdWqKWRnd3Wx7Nnj1l0zBzh61NtWfsEFuaxcOZ2rrsonKWnoV+Iq+kciOWNtwDq01IARYLWU8kEhRAbwJHACcAC4TkpZH6d9QvUUw09fwwLMmWPq4EvvKSzASBAljJv3qeZF6nkLiTYQaMRJJheRzTKSmdu+ajToh91vtC9ecle2HywpTVuRumi5tkLVPnwZkIIUU8mNRDiGmRPI4QnMFAzKsaNRyVNP1fL975dTUaG5oC67LI2HHy5g1qyOA7v19QGeeuoga9aUsHlzbVv5tGnJrFgxnRtvPIGCguGJpaMYGIla9D+XUr4uhLCj5YhdD3wLeFZK+UchxJeBVXpZZx5OsJ5iCOlPWIB589pFPZGwACOFh/1U8yI1vEKoNUUeBlx8imyWkc55GFtz47Y0wPb1mtX+0Svgb2k/UFZ+u7/95LPBNPwWqpdNVHMbkhasLCKHxzGS3nvDBHjnnSZuv/0gW7Zon3nuXAePPjqVJUtcbXXC4SivvnqE1atLeOGFQwSD2lTX5GQzn/98AStXTufMM7NH/IlN0TcSyRnrB17XX/uEECVADrAYuF2v9hSwjfgCnmg9xSDz+ut+HntM+6fOyTnWZb/BACefbOoylbEvYQFGihAN1PAK1byIh0/ayu1MJZvLyeIyrK25cWsq2qdAFr8JkXD7gabO14R94ZVQMG9YMy91ppl/UMv3gAhOPk0mv8IwCMnbS0p83H13Of/5Tx0AublmfvrTfFasyG67ee/e3cCaNSU88UQpVVV+QPsqLrpoIitWTGf58jwcjkHy9MoAeN8Az3P6ezmi3/t4oE8LpoQQOcB2oBA4LKVMitlXL6XsYnoIIVoSrHcbcBtATk7OaU899VSfPoiiK2++6WTVqgnAFOz2cqZNCzBtWoDp04NMnx6goCCIzXYcLVYRYUTGHgy5WxHpexAGzdqUITvR6lOQlQuQzVNAgrPuAJkH3iHzwLsk1+xvO4QUBtyT5lF7wlnUTT0Lf8poCBsgcU39N6n5zwHQWHEF7gOfh3gLs/pAczOsXWvguecMhMMCq1Xy+c9HufbaKHY7NDZG2LDBw6uvtrB/f7Ct3ZQpJi65JImlS5PIyhoccTeJZtJtH5Bpf5d022ZMBi2UhDgRPnx7Nd5w/qCcZ7xzwQUXxF0wlbDQCyGsaJb941LK1UKIZillcsz+DoIeU55QvVjUytjBobo6wltvBbjmGieRSPS4nAkhkXjY1+aaCdOo7zGSxplkcznpnIshYoA97+iW+3NQXdZ+EJsT5l+iWe2nXQ7Jg+MKGQwkAWq4Aw//AYxk8CAp3DigYwaDUf7v/yq5//5DNDSEEQJWrMjmgQfyyMoy8fLLmmtm3bpDhMPa/7/LZeHaa6eycuV0Fi3KHBzXTOgQeJ7XNt8mIOZJyjIfnFciMn+MjEaVRT9IDGhlrBDCAjwDvCylXK0XNwghkqSULUKIVKC7AdZE6ykGmexsI5/9rDbAdryJfJDaNteMl9K2cgfT9fR7l2Dx22Hna7D5Vti6DlpiLq3UbC3cwKLlMGexFvZ3lBHBTTW34Oc9BA6y+RMOLuz38aSUPPdcPd/7XhklJZr75cILU3n44XyECPKLX+zg738/QG2tHtrBILjsssmsWDGNT396CjbbAK13KSG4Wxf35yCwPWanEewXgHM5OD8N5gK9/MdK5IeBRGbdOIBngTeklD+P2fUG8HngL8C1wMaYNjOBUillqKd6CkUsUQLU8zbVrKOB99EmeYEJF1lcoqXfa0xDbFkHW74Eu17XZs60MnFGu7/9xNPBOHrHGkIcooobCLEfIzl6Xtc5/T7e1q3N3H57GW+/raUZPOkkOz/4wQSqq+tYufINdu9uD8xWWOhi5crpXH/9CUyYMMAQCjIM/neh5TlN4MMH2/cJBzgu0cX9cjCOniep8UYit/BFwPlAvhDii3rZs8BdwJNCiLuBMuD6mDZ70KZjlvVSTzHOkUhaKKKaddTwKhG0XKMCI2l6jPe0o9kYtqyHzbfAvvfaFy+BJuiLlmvb5Jkj8hn6SoAdel7XWszMJJe1mOKFW0iAiooA995bzpNPanHtMzNNXHmlk2PHKvniF3cTiWjfVXq6leuvP4EVK6Zx6qkZA3PNRD3gfU233NdBtK59nzFbs9idV4J9MRh6jo2jGB5U9MpxwGiMXhmgmhrWU806fJS1lTuZSXb0MrJLszFt/q/mbz/cvuAJk0VzxSzSI0GmTRj2vg8ED69Sw9eQ+LBxDjn8GQN9DxPQ3BzmZz87wi9/eRS/X4ssOXs2HDxYjtutuWZMJs01s3LldC6/fDIWywCecCI14HlRE3fvayBjnqTMJ+pW+3KwnQ4i8fOMxmvzeEZFr1SMOBH81LOJatbhZjOgzZoxk0FWaCkTPs7AtmULbLlLS47diiNVG0RdtBxOuQTsx+cinSYep477gChJfI5MfoGgb4G+wmHJX/5SxX33VVBdrcWfSEnx09R0jI8+0gY7589PZ8WKaVx33QlkZw/Aog6WtPvb/e/R+nsBYD1ds9qTloN5pvKzj3KU0CuGFImkmZ16+r3XiKBFNhSYyfScycSPXDg370F89BPwNrU3zJjc7m8vPG9EFi8NFpIo9fyEJv4IgIu7cPGdPud1feWVBu644yDFxa1ZrnxALU1NfrKybNxwwwxWrJjOvHn99IXLKAS2tYt7sChmpxkcF+mW+xVgmti/cyhGBCX0iiEhQKUeSOwl/BxqK0+rK2DSFhfJmw9iKPo/LaZ7K3lz2oOFnXDqmLASo/io4Zt4WQ+YyeRRkvlsn46xa1cLt966n82bW2PMhIBaTCYvn/70FFaunM4ll0zCbO7HvHsZ1KY+tjwHnhcgcqR9nyEVHJfp4n4JGFQkyuMVJfSKQSOCjzo2Us1LNLIVkCAlqYfsTNrsImVzBcbSZ9obGAyatb7wSm3LPWHE+j4URKijipUE2IaBFLL5f9g5O+H2W7c28JWvfMK2bSFAoM1CqufUU4186UuFXHvtVDIy+jFtNNII3pd1f/t6iMY8SRknae4Y55VgPw+EiiE/FlBCrxgQkihNfEQ166hlI1G8EJGk7gsycbOD1C1HMFbGWIkWO8y/WLPcT7scUjJHrO9DSYhSKrmRMGUYmUQuT2DhpF7beTwhnnqqnAcfrODAATOtq2Mdjma++MUMvvrV8ygsTOt7h8JHNIu95Tnw/RftqUDHMkcTdudysI6NJylFR5TQK/qFn8NU8xLVvESAoxgCUVy7msjZbMC1tQpDU4yVmJKphfddtBzmLgHr4Ke/G0342UwVXyRKAxbmksNaTK1xd+IgpeTtt6tYvbqUv/+9hkDABWjZqSZOjLJq1WS++MV8TKY+uGakhGBxzOKlLTE7DWA7t91yN4+tJylFV5TQKxImjIc6NlDNSzSxHVNTmPStbjK3+EndUY8hGGMl5k5rH0w96cxRvXhpMGnheWr5DpIAdpaQze8xxMs3Cxw82MzataWsWVPCwYMRIBP0RN9Tphj53e+mccUVfUj8LSPgf18Tds/zECpp3yfsMYOpy8A4Np+kFPFRQq/oEUmURrZQzTrq+C/mykYytrjJ29JEyp5mRDRmDvT0he1hfqfMGlcuAC2v6+9o4EEAkllBBj9BdPoXa24O8fTTZaxZU8Kbb1YBZjSB18I/5eSY+MUvpnLDDVmJha2I+sC3QXPJeF/U5ru3YshoX7zkWAqGsf0kpegeJfSKuPio0GbNyHWYDxwkY3Mjcze7cVb42isZTTDvQt1y/zRkTBqx/o4kkjB1/JBm1gKQzo9I4Stt0yejUcmmTZWsXl3CM8+U4/WGAQNGYzbRaApSCpxOA3ffPZk77piIw9HL00+kTluR6nkevK+CbM/4hOmEdpeM7UwQ6l9coYReEUOYZmp5nerwCxiK3iNjs5u5W91Ya2NcMvZkOPUyffHSpeBMHbH+jgaieKjmK/jYiMBKFr/GyRUAlJQ0sWZNCWvXllJR4dFbCKZOnUJlpR2fT2IwwM0353D//XlMmNDDDJfQQU3YW54D/9t0XLy0oH0w1VI4rp6kFImhhH6cI4ng5kNqvc8Q/ehF0rfUMWtbIyZve+opmT4R0ToFcvb5Wg5VBWEqqeImgnyMgTRyWE2gcR5//tcnrFlTwrvvVrfVzctzsmhRAR9+KDl4MARIli518cgjBcydG8eHLyUEPopZvLQrZqdJiyOTtFxzzZj6FydHMX5QQj9O8XKAuoYniWx5ipTNh5m2uxlDuN3fLiefjFj0GTh9OeKE07Q574o2guylkhuIcBSTLKDk3Uf5/v95efbZf+L3azdJp9PEZz+bz6JFk3nyyWaefloL2DZrlp1HHpnKJZe4OgYXkyHwvdU+mBpuX2iGSAbnpZrV7rgUjK5h+6yK4x8l9OOIkHTjPvJXwpv/RtLmT5iy39O2TwpB9ORFGBZeAwuvREw8cQR7Orrx8TZV3IKkmcrymdyy7AaKP97Xtv+CC3JZuXI6p56aywMPHOHrX9fi9mRnm7n//jxuvjkHk0kX+GgzeF+BlufB+xJE3e0nMk7QXTJXguMCEOpJStE/lNCPcaJRLUVc3drTcWzZRdbR9qiDUYuJyNyzMC26EbHgCkRq93O9FRpVnr/TYrsbgzHCS/+azZ0rriHgNzBtWjIrVkznxhtPIC3NzoMPHubWW3cRDEpsNgPf/e5E7rlnEikpJghXQuMLmuXu3Qi0p/HDMitm8dICEOpJSjFwlNCPYZrevhvb6l8BkPH8ZgDCSVbCC87BvOgWjPOWYbDFn+OtaCccjvLqq4c54v0FS6/5Dwbgj784h9//dBk33nACK1ZM56yzsgmHJX/6UxWrVhVTW6tFkrz++iwefDCfvNyD4HkUDj0HgQ+BVjeZANtZ7Za7ZcYIfUrFWEYJ/RjGkDwJi1uzFpuXXYR10VexzFyGyah+9kTYvbuBNWtK+Oe/PuHbP/k7V6/4iEhE8M//u4G5k7/MsWN5OBwmpJSsW9fAXXeVsW+fNv303HOT+P1jNczKe1yz3CvaXTsIK9iXaoOpjmVgyhmRz6cYP6jEI2MYGfLhPfIySVOvVskdEqS21s8//nGQ1atL2L69juRUH79/5knOXHyAcNCKtenX5GVe0Vb/o49auOOOMv7730aslgA3XL2bH3xnGwVZryEiVe0HNqRp4X2dV2orVA1JI/DpRh8q8cjgMuDEI0KIU4HVUsq5+vv1QGyQjClAoZSyrFO7lcBjQOtV75FSntan3iv6hTDbcRZcNdLdGPWEQlHWrz/MmjUlrFt3mFBIm6N+8pwWVr/yN7ImHsIos5loWYs1cy4AR44E+OEPK3j+2RIuO+99nvvDu1x63gdYTPripQhgytdDDlwJ9nPU4iXFiJHQlSeEeBRYCRxrLZNSXhazPx34IHZ/J56UUn6j/91UKAafHTvqWL26hCefPEBtrZZ+z2DQ0u999dth5iy9m6iowcwMcsQTmJlMS0uEP/1uM0f2/5sbLniLP9+9A5Opfc0B1lNiFi/NVYuXFKOChIReSnmHEOI3wLpuqnwX+LOUMjBoPVMohoCqKh9PPnmANWtK2LWroa28sNDFypXTuf76E0id8B7VfIMoXmycRbb8M/jK2P7erzEHX+D2q9v97RIj2C/ULfdPgzl/BD6VQtEzA36WFEK4gOuBuT1Uu04IcTFQBnxbSlncuYIQ4jbgNoCcnBw2bdo00K4pYhjP32cwKHn/fS+vvtrChx/6iOrRA1JSDCxe7OTii5OYMcOCELUcaf4HvtzVCKLIIycRqY3QIk4m1VnJqQVaO4/PzjH3QkLWs6nznU5YtmZeOqhvir4wnq/N4SLhwVghRAGwTko5u1P5fYBBSrmqm3ZWICillEKIzwF3SikX9XQuNRg7uIzHAS8pJVu31rFmTQn/+MdB6uu1h02TSXPNrFw5ncsvn4zFogUQk0RpiN5HyPs7HJ4ATo/AEG0PFlZVm8bGD85j4onXcO7Fn8FgGkDSbUUb4/HaHEoGPBjbzUGTgZuBU7qr08md8zToGZIViiHg6FEvTzxRypo1pRQXu9vK589PZ8WKaVx33QlkZ8eIdLiaqPc/hFoewuWrwBCjOfsOTuG518/h9ffOY+myi/nWtydjt4+PuPqKscVAXTdfB/4lpayPLRRCzARKpZQhIcS5wBYppQ+4GlCmumJQ8fnCPP98BWvWlPLaa0eJ6jHys7Js3KAvaJo3L729QXB/W7Aw6X8PA5LW4ALVLTP43eOL+edLZ7O/LJ/bbsvl7/+ZQna2yp2qOH5JdNbN/cByYJoQYitwB7AF+Bpwepwme4CpaD75s4C1Qgg/cAS4dcC9Vox7pJR88EENq1eX8M9/HqSxUQulbDYbWL48j5Urp3PJJZMwmw0go+Df3B4sLBg7RCTwOqw0mrP5+ld/xLPPzALgssvS+M+LBcyapZJ1KI5/1IKpccBY8oMeOuThb3/T0u998kl7XtoFCzJYsWI6X/jCVDIybCCD4P2vLu4vQORo+0EMqUQcn6I+6WM8jhAH9k/nCxfcTfWxdObMcfDoo1NZutQ17J9tPDKWrs3RwJD46BWK4cDrDfOf/5SzZk0JGzceo1UXJkywc8MN01ixYhqFhWkQaQTvs1D5PHjWg2xuP4hpsj4FcjkeezNV8jsIQ4RN60/jm5//LslJKfy//5fPypXZGI1q7rtibKGEXjEqkVLy9ttVrFlTyr//XUZzs+aasVo118yKFdNZunQiJo6C5x9w5DnwbQJismFZ5sZEgjwFKaDS+3t88qcIg+Tvf1jKz+66lTtuz+OuuyaRlKQGWhVjEyX0ilFFWVkza9dqs2YOHGi3yM84I4uVK6fzuWvySXOWgGcNHHsOArEuPgPYzoMkPRKkuT1CRyAY4p3iOzlh/r8RwM/vvoFA9S3s3ZvPpEkqzrtibKOEXjHitLSEePrpMlavLuHNN9sDgU2e7ODGG6exYsVUTsorAs+foPl5qC9tbyzs4LhYd8tcDsbMDseWUvLCi4fxOL/JpxZvJhAw8deff48vX7uSU05RgcUU4wMl9IoRIRqVbNpUyZo1JTz9dDlerxa/3W43ctVV+Xxx5STOX7Qbo+934HkRjtS2NzZkauEGkq4E+xIwxJ8Zs3VrM/f/dDu3/OAHfGrBAZrcydQW/Y6f/WhxxxR+CsUYRwm9YlgpKWlizZoS1q4tpaKiPZXh2Wdn8+Vb0rn6ko+xRx8D76tQ7WtvaJ7WNpiK7VMguvenV1QEuPfecj7cvp3H1z/E5IIaPI2TONH5d+adpVIkKsYfSugVQ05jY5B//1tzzbz7bnVbeX6+k+983cYNn/mYTNtfwf8ONEfbG1oXxkSCnNVrJMjm5jA/+9kRfvnLo8w/YxdPv/cwKS4vxvApnJy6BiOZPbZXKMYqSugVQ0IkEmXjxmOsXl3Cs89W4PdroXydTiN3fCPAFz9XRH7mRkRwt9bAD2DWXDFJyzXXjGlSQucKhyV/+UsV991XQXV1iOU3vMkv/voHTKYwDi4jy/QbDKjYNIrxixJ6xaCyd6+bNWtK+dvfSjlyRAsKZjKFueNrNdxybTEzJm3CED2sVQ4CIhmcl2lWu+NSMKb26XyvvNLAnXeWUVTkBSQ//+OLXHPb3wBI4TbS+RECNW1SMb5RQq8YMA0NAf75Ty393ocfaoOmyUk+vrmyhFuv30NhwXsYaNQqRwHjxPZk2I7ztRyqfWT3bg933lnGa6+5AZh+opEnX11L1tTnAEE695PKzYPx8RSK4x4l9Ip+EQ5Hee21o6xeXcILL1QQCETJzXLzrZW7uOXaPRSesB2DCLY3sBTGLF46DYShX+etrAzyox9V8PjjVUSjkJpqZNX9aVzzjfsIGt5GYCOL/8PJJYPzQRWKMYASekWf+PjjBtasKeGJJw5QWell5rRjfHflR9x09cecPHVvTE0BtrPbc6Zapg/ovF5vhF/+8ig/+9lhPJ4oJpPg61/P5YerjATTv0SQPRjIJJe1WJk/oHMpFGMNJfSKXqmt9fOPfxxkzZoSPvqohtPnlfLdmz7imkt3MnVyTLAwYQP7Um0w1bEMTNkDPnc0KnniiRruvbecI0e0J4RPfzqdX/win4KTDlDFTUSoxMx0cngCM3kDPqdCMdZQQq+ISygU5eWXD7N6dQmvv3aA8xZ9zJc/8xFX/m4H2RntUSMxpIPzCt3ffhEYnIPWh02bGrnjjoNs367Ntz/lFCePPlrABRe48PIGx/gyEg82PkU2f8GIa9DOrVCMJZTQKzqwY0cdq1eXsP7F3Zw+ZzPXLfmItf+zmyRnTKIwU4HmkklaDrazQAzuZfTJJz6+970ynn9ey2czaZKFBx/M54YbsjAYBE08QR3fByI4+QxZ/BKBilejUHSHEnoF1dU+nnzyAK++9B4zJm1i+ZLtPPKVTzCZYhcvnRqzeGlOr4uX+kNdXYgf//gQv/99JeGwxOk0cPfdk7njjok4HEYkUep5iEZ+C4CL7+DiLgQqnIFC0RNK6McpgUCEdesqeOv110i3vsKnF2/nu3+oaNsvpRFpX4xwLtcWL5mHzvcdCET5zW+O8cADh2hsjGAwwC235HD//XlMmKCl8Ivip5bv4uF5wEgmPyeZ64asTwrFWCJhoRdCnAqsllLO1d+vBB4DWsMNeqSUp8VplwE8CZwAHACu65xjVjE8SCnZtq2Kdzc8gy3yIheftZWr76xr2x+KODEkXYIx5TMIx2VgTBvy/jz9dB13313GwYOaa2jpUhePPFLA3Lntvv4I9VTxJQJsRpBENn/CwflD2jeFYiyRaM7YR4GVwLFOu56UUn6jl+YPA89KKf8ohPgysAr4Vh/7qRggzz/5GHhf4JxTtrDgs+3BxDz+DAzJV2LPvBqz/UIw2IalPx980Mwddxzkvfe0mPOzZtl55JGpXHKJq0NkyRDlVHE9IQ5gZAI5rMVK4bD0UaEYKyQk9FLKO4QQvwHW9eMci4Hb9ddPAdtQQj8svPuHBzj650cAyF5/O5YUOLIfSo0ZmDMXkjXjYixZp2Mxp0OLC4tJYBziMc2yMj/33FPOP/+praDNzjZz//153HxzDiZTR1+7n+1UsYIodViYRQ5rMTFxaDuoUIxBBuqjv04IcTFQBnxbSlkcp06GlNINIKVsFEKkxzuQEOI24DaAnJwcNm3aNMCuKY5seZ/Qdi30wL6/x+6pA17Rt44IiwVDUlKHTTidXcq63SyWuH1paYEnnzTwzDMGQiGBxSL57GejXHddCKdzL++8s7dDfXvmFjJP/h0GYxBf/Vwqir7F/sgnwCeD8t0oRg/qf33oEYlmYBdCFADrpJSz9fdWICillEKIzwF3SikXxWnXLKVMjnnfIqXsMbXPggUL5NatW3uqokiA+pIi3l/zEMseeJLi3/6WoNvdYQs1NnZ4H2hoQIbDAzqnwWLB4nK1bebUVA7V2dhabKTe78BLMoULc7n6xhOYOC2zQ12Ly4XRbqdJ/D/qWQVIkriOTB5CYB6U70QxuhBCkKgGKXpHCLFNSrmgS3l/hb7TPgNQJ6XsMnonhKgAZkkpW4QQqcBuKWWPUziU0A8uif4zSSmJ+HxdbghBt5tgp5tCd1s0GOz1PD321WzA5AKTS2B1TcLuOgmrfsPofFOIt5kcDpU96jhCCf3g0p3Q99t1I4Q4F9gipfQBVwNbY/bNBEqllCHgDeDzwF+Aa4GN/T2nYmgRQmByODA5HDgm9s8XHvb7+eidIzz4wyJ2fXgMBy2ckBPgC1damFUQ6nLDaH+qaCDgriXqjxCqgVAN+KjATUXvJ439DCYTlgRvChaXq0tdU1KSulEoxhyJzrq5H1gOTBNCbAXuAM4E1goh/MAR4NaYJnuAqWi++7uAJ4UQd+vvrx+kvitGGUeOBPjhDw+xZk01UmaQlpbDN++bwte+lovF0n20ygg1VLKCIDuQ/hTSGh/F4J7er6eKiM9HoK6OQF1dt+frCWE0dnujSOSpwpyUhDD0LzKnQjFUJOy6GU6U62ZwGerH45aWCA8/fIRHHjmC1xvFbBZ84xsT+OEPJ5Oe3rNvPch+qriRMBWYmEIOT2Ch/3ldI4EAwcbGLuMPPW4xdcMeT+8n6QFhMGg3hD48VXS4gaSkjKsbhXLdDC6D7rpRKCIRyZo11fzwh+UcOxYC4KqrMvj5z/OZPr331H0+PqCaLxHFjYX55LIGI1kD6pPRasWenY09u3+RM6Ohru6lvjxVhFtaCDY0EGxo6N8HEAJzSkrCrqYuN42UFAxGlVFL0REl9Ip+sWGDmzvuOMiuXVq6wIULk3j00QLOOSexVIAt/IcabgeCOLiYLH6HAccQ9jgxDGYztsxMbJn9SyQeDYfbbgb9eaoINTUR0p9IPOXl/epDhxtFX58sUlMxmJQsjDXUL6roE8XFXu66q4z16zWLdcoUCw89lM8XvqBFluwNiaSR39DAzwBI4WbSWTVm8roaTCZsGRnYMjL61T4aiRBqakrY1RRvymyoqYlQUxOeir4NZLdiSkrq8yB2bLnBrKbCjjaU0CsSoro6yKpVh/jTnyqJRCA52cj3vz+Z73xnAnZ7YiItCVHL92nh72h5XX9MKrcMbcePMwxGI9a0NKxp/YszFI1ECDU3d7tWIpEni3BLC+GWFryHD/erDyanM+EnCtDGVYxWFWZ6KFFCr+gRvz/Kr351lAcfPExzsxZZ8itfyeXHP55Cdnb8VbDxiNJMNV/GxyY9r+vvcHLpEPZ8fGIwGrG6XFh1Ee0rMhol1NLS6w2hpxtI2OMh7PHgPXIkoXOGfT4l9EOMEnpFXKSUPPVULffcU05FhRZZ8tJL03j44QIKC/vmSw9zlCpuIkgxBjLIYQ02Th2KbisGiDAYsKSkYElJgby+h6aWUmoD0gm6mnjmGczJyb0eVzEwlNAruvDuu03cfvtBNm9uAWDOHAePPjqVpUtdfT5WkGIquZEIxzBzgp7XtWBwO6wYNQghMCcnY05OxjllSiIN1CyhYUAJvaKN0lIfd99dzjPPaIuNcnPNPPBAPitXZmM09n21qJdNVHMbkhasLCKHxzESN6adQqEYQpTQK2hoCPPAA4f4zW+OEQpJ7HYDd901ibvumkRSUv+srWb+QS3fQ8vreiWZPIaB4Yl1r1AoOqKEfhwTDEb5/e8ruf/+Q9TXhxECVqzI5oEH8pg8uX+DYxJJA7+gkf8FIJVvkMY9CMbPak+FYrShhH4cIqXkuefq+d73yigp8QNwwQWpPPpoAaec0mME6Z6PS4AabsfDs4CRDB4ihRsGqdcKhaK/KKEfZ2zd2swdd5Tx1ltNAMyYYeORR6aybFnagKI2RnBTzc34eR+BQ8/reuFgdVuhUAwAJfTjhEOHAtx7bzlPPFEDQEaGiVWr8vjyl3MwmwfmVglRQRU3EKIEI7nksAYrcwaj2wqFYhBQQj/GaW7WMkbNmLEdvz+KxSL49rcncu+9k3G5Bv7zB9hBJTcRpRYzM8nlb5iYNODjKhSKwUONkI1h/vOfOqZP3w5oK1w///lM9u49lV/8omBQRN7DKxzjKqLUYuMcJvKcEnmFYhSiLPoxjMNhoLpaCx/83ntz+NSnUgbt2I38hXruQ8vr+jkyeVjldVUoRinKoh/DXHJJGhs3FgIMmshLotSxinp+BEhc3EUmjymRVyhGMQkLvRDiVCHErpj3dwohSoQQe4UQLwsh4maMEEKsFEI06PX2CiG2DUbHFYlx4YWuQTtWFB/V3EYTfwLMZPEb0vguApVjVaEYzSQk9EKIR4HXO9XfAcyVUs4E3gbu7eEQT0opZ+rbaf3trGLkiFBLJZ/Dy3oMpJDL30ni6pHulkKhSICEhF5KeQdwWqeyDVJKr/52N5A7yH1TjBJClHKUKwiwDROTmcAL2DlrpLulUCgSZLAGY29As/i74zohxMVAGfBtKWVx5wpCiNuA2wBycnLYtGnTIHVNAfT7+7Sm7iVr9i8xmlsINE/l0O67KA0eBY4Oav8U4xf1vz70iEQzsAshCoB1UsrZncq/BlwFXCyljMRpZwWCUkophPgccKeUclFP51qwYIHcunVrgh9B0RtCCBL9nWNp4Xlq+Q6SAHaWkM3vMeAcgh4qxiv9vTYV8RFCbJNSLuhcPqBZN0KIm4AbgavjiTyAlDIg23/Jp4ETB3JOxdAjkbj5LTV8FUmAZFaSw1+VyCsUxyn9Fnrd1XIrcKmUsrHTvplCCLP++lwhhF3fdTWgTPVRjCRMHffQwIMApHMfGfx0zCTvVijGIwn56IUQ9wPLgWlCiK3AHbTPsvmgNRiWPgMHYA8wFc0nfxawVgjhB46g3RwUo5AoLVTzFXy8gcBKFr/BybKR7pZCoRggCfvohxPlox9cEvGDhqnU87p+jIF0cvgrNhYOUw8V4xXlox9cuvPRqxAICoLspZIbiHAUE1PJ5QnMTB3pbikUikFChUAY5/h4i6NcSYSjWFnARF5QIq9QjDGU0I9jmvknldyApBknV5DLPzGSMdLdUigUg4xy3YxDtOmTj+DmMQBS+Spp/EDldVUoxihK6McZkiC13EUL/wYMZPAAKawc6W4pFIohRAn9OCJCI9Xcip939Lyuf8DBkpHulkKhGGKU0I8TQhzW87p+gpFscliLlbkj3S2FQjEMKKEfJxxjGRGqMTODHJ7AzOSR7pJCoRgm1OjbGMerBxWNUI2Ns5nA80rkFYpxhhL6MUwzT1HFFwFI4hpyeQIjqSPcK4VCMdwo180YxsJJCCwAZPIrlfJPoRinKIt+DGPlFCbzDoASeYViHKOEfoxjYuJId0GhUIwwSugVCoVijKOEXqFQKMY4SugVCoVijKOEXqFQKMY4SugVCoVijKOEXqFQKMY4SugVCoVijDMqk4MLIWqA8pHuxxgiE6gd6U4oFHFQ1+bgki+lzOpcOCqFXjG4CCG2xssMr1CMNOraHB6U60ahUCjGOEroFQqFYoyjhH588KeR7oBC0Q3q2hwGlI9eoVAoxjjKolcoFIoxjhJ6hUKhGOMooU8QIYQUQvw65v1EIURICHFnAm2/IoTYJ4QoFUJ8LIS4PWbfNP3Y3x+qvsfpz6rWfgsh1gohFvWx/WohxGeHpneKoeR4uo6FEC4hxNcG63jjGSX0ieMFzhdCpOjvbwX29dZICPFV4NPAAinlNGApkBFT5Rrgaf3vsCOlvElKuXkkzq0YEY6n69gFKKEfBJTQJ44EngC+KIQwAZcCz7XuFELMFkK8L4TYK4T4d8w/0j3AbVLKZgAp5TEp5Q9ijnsNcB+QLoSYFu/EugX+sn78g62WlBDifCHENiHEC/p5C4UQZwoh3hNCFAkh1gshMvS6V+h1dgE3xBx7nX4cs27dlwohDgghvqPvXyiE+EAIsV//25qyarkQYrMQokII8Tm97hy93l7d4luql68UQmwQQmwUQnwihEgRQtysv96lf6bP6nVn6vWKhBBvCSGm9vsXU8RjJK9jlxDiaf3Y7wkhZunlbU+Y+vsyIUQm8BBwol7/z/q+e4QQxfo180u97LP69bJXCPFAzHF8QojH9fpvCCFu1K/ZQ0KI62Pq3SeE2KFfj9/r7xc7qpFSqi2BDWgB0oFdaBf1vcAq4E59/3bgXP31j4BHgGTgSA/HPAHYq7/+NXB3N/VWAX8DzGhWTgUwATgf+ASYrNdzAu8A6fr724EH0ZaZHwAm6eU/i+n3Ov04VwLP6WUW4Az9bwkwTy+fr593NfAYWnL5ucC+mPM79NdnAB/or1cC7wJp+vuTgd1Aiv7+38BnAQG8CRTo5VcBfx/p334sbSN8HT8G/Eh/fS6wNeb6vjOmXpl+zRYAH8eUX6pfHzY0I/ViIFe/trP06/FVYJlePwgs1F//HfgHYAVOAj7Ryz8LPKpfexZgC3DSSP9Og70pi74PSCnr0S6ER4A/t5brVk+GlPItvegJ4ELA0cshrwGe118/h3bRdcdOKWVISukGPgDm6OWfSCkP669P0cvfE0LsBb4OTEYT3XellEf0ev44x/8EOF0I8Qu0f6BtaP8Qx6SUO/XPv0NKeUyv/66UMgwUQVtiWgE8IITYDqwBcmKO/5GUskF/fSHaTaVJf+/R/04CFgKv6P3/GdqNRTGIjOB1fL5+TPRzZMU8MSTCEmCtlNIvpYxKKV8FTgfellLW6NfjU3qfAYJSyi366xJgm5QyAOyn/bq6RO//HrSb3wS0G9eYwjTSHTgO+TVQI6WsEUK0lolOdQTaI3I1YBRCTI4R41iuASYKIT6vt5kohCiQUpb10gcL4AOMncoNwHtSyks7dEaIq4FQTweUUu4RQpwGLAO+CnwBTWh7REoZEe1fxP/q/ToPzXLa2k0zG5q11RkDUC6lPLm38yoGzGi4jlvPJ+Ocu6f6vdWJtzgo2vpCShmNuWYNwF1Syn8mcOzjFmXR9xEp5U4p5T2dyhqBeiHE2XrRF4A3pfZs+BvgcSFEGoAQIlMIcb/ue85Ec6cUSCnz0ayr7qwhu94+H81d8lGcOh8Bc4UQp+t1XUKIT6E/jgshkoQQFqCwc0Nd5G1Syj8B30d/vAXyhBBz9DozhBA5ndvGkAG8JjU/7mk91PsIWCKEMAohkoBWn+4h/Tyf0f/ahRDn9XAcRT8Zoev4TeA6vf3ZaDeaJuAY+jWpX2suvb4byBZCWHVhfgu4vvW9fowPgXP0/hjRbjpv9uGreB34hn4dIoSYL4QYc0+RSugHjxXAI7rL4VTgfr38IeBt4B0hRCmar9qDdkE+pf8TtfIPup+1cIMQYjfwMvBVKWVL5wq6wF4L/FoI8Qna43mBlPIg2j/fbr0v6XGObweeF0LsB/4K3CGl9AM3Amv1z7WGrk8RsfwceFQIsQf4fHeVpJRv6H3ZD2xAcw206N/FZ4FvCyH2AcVo36Vi+BjK6/jHwGn6sR/WzwXwL2C6Xv4D9Kc93U35NFAK/FlK+RzwHvAxmhFylZSyEm2g+E206+UjKeULiX5YKeU/0K7BrUKIg8BvSezJ4bhChUA4DhBCrEITwkdGui+DhRDCIaX0CiFsaJbaZ2LGEBQKxSCifPSKkeINoU399AG/ViKvUAwdyqJXKBSKMY7y0SsUCsUYRwm9QqFQjHGU0CsUCsUYRwm9QqFQjHGU0CsUCsUY5/8DWkIsL74kRRcAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from pandas.plotting import parallel_coordinates\n", "parallel_coordinates(D, class_column='ID', cols=['MoCA predischarge','MoCA outcome'], lw=2, colormap='jet');\n", "gca().legend_.remove(); xlim(-0.5,1.5);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Поскольку мы извлекли данные из кода веб-страницы, то для дальнейшего анализа удобнее иметь данные в виде готового файла.\n", "\n", "Сохраним данные в текстовый файл. " ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [], "source": [ "D.to_csv('stroke.tsv', sep=b'\\t', index=False)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.7" }, "toc": { "base_numbering": 1, "nav_menu": { "height": "66px", "width": "252px" }, "number_sections": false, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": "block", "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 4 }