diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..350a2c3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +*~ +*.pyc + +# Kopie zapasowe utworzone przez Visual Studio Code +.vscode/ +*.vscode/ \ No newline at end of file diff --git a/Projekt1.png b/Projekt1.png new file mode 100644 index 0000000..833117a Binary files /dev/null and b/Projekt1.png differ diff --git a/Projekt2.png b/Projekt2.png new file mode 100644 index 0000000..42fbf31 Binary files /dev/null and b/Projekt2.png differ diff --git a/README.md b/README.md index d6b47ce..54c0dc8 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,19 @@ -# Fantastyczna wycena +# fantastyczna_wycena Prototyp systemu informatycznego realizującego projekt dotyczący wyceny mieszkań -Plik wykonywany w ramach projektu na przedmiocie "Systemy Informatyczne" +## Podstawowe informacje +Celem projektu jest stworzenie aplikacji umożliwiającej użytkownikowi oszacowanie ceny mieszkania na podstawie +najważniejszych zmiennych modelujących jego wartość takich jak liczba pokoi, metraż oraz rok budowy. W tym celu zaimplementowano +model uczenia maszynowego opartego na regresji liniowej oraz stworzono przejrzysty interfejs użytkownika pozwalający +na realizację usługi wyceny mieszkania. Praca została wykonana w zespole pięciu studentów: Alicja Lerczak, Adriam Szczeszek, +Szymon Obst, Maciej Chmielarz, Łukasz Chrostowski. + +## Jak używać? +- Pobierz aplikację z [repozytorium](https://git.wmi.amu.edu.pl/s478993/fantastyczna_wycena) +- Wpisz w odpowiednich polach liczbę pokoi, metraż mieszkania oraz rok budowy na podstawie informacji o +interesującym cię mieszkaniu. +- Po uzupełnieniu wszystkich pól najedź myszką na pole „OBLICZ” znajdujące się w prawym dolnym rogu i kliknij na nie dwukrotnie. +- Na ekranie pojawi się sugerowana cena mieszkania o interesujących Cię parametrach. + +## Dodatkowe informacje +Praca została wykonana w ramach zajęć z przedmiotu Systemy Informatyczne na kierunku Analiza i przetwarzanie +danych Uniwersytetu im. Adama Mickiewicza w Poznaniu. diff --git a/Raport.pdf b/Raport.pdf new file mode 100644 index 0000000..12e33ec Binary files /dev/null and b/Raport.pdf differ diff --git a/SysInf.ipynb b/SysInf.ipynb index d0c42a2..14f6dc1 100644 --- a/SysInf.ipynb +++ b/SysInf.ipynb @@ -1,8 +1,22 @@ { "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Systemy informatyczne - 1. Organizacja pracy zespołowej" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Klonowanie dostępnych danych uczących" + ] + }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 118, "metadata": {}, "outputs": [ { @@ -17,79 +31,42 @@ "!git clone git://gonito.net/mieszkania5" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Import danych treningowych, walidacyjnych i testowych" + ] + }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 119, "metadata": {}, "outputs": [], "source": [ + "import numpy as np\n", "import pandas as pd" ] }, { - "cell_type": "code", - "execution_count": 3, + "cell_type": "markdown", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'j:\\\\Desktop\\\\SysInf\\\\mieszkania5\\\\train\\\\train.tsv'" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "train = r'j:\\Desktop\\SysInf\\mieszkania5\\train\\train.tsv'\n", - "train" + "### Dane treningowe" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 120, "metadata": {}, "outputs": [], "source": [ - "data=pd.read_csv(train, sep='\\t', header=None)\n" + "df_train = pd.read_csv(r'mieszkania5\\train\\train.tsv', sep='\\t', header=None)\n" ] }, { "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,\n", - " 18, 19, 20, 21, 22, 23, 24, 25],\n", - " dtype='int64')" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "data.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "x_train = data[[0,6,8,19]]" - ] - }, - { - "cell_type": "code", - "execution_count": 7, + "execution_count": 121, "metadata": {}, "outputs": [ { @@ -114,46 +91,148 @@ " \n", " \n", " 0\n", + " 1\n", + " 2\n", + " 3\n", + " 4\n", + " 5\n", " 6\n", + " 7\n", " 8\n", + " 9\n", + " ...\n", + " 16\n", + " 17\n", + " 18\n", " 19\n", + " 20\n", + " 21\n", + " 22\n", + " 23\n", + " 24\n", + " 25\n", " \n", " \n", " \n", " \n", " 0\n", " 309000.0\n", + " do zamieszkania\n", + " 390 zł\n", + " spółdzielcze własnościowe\n", + " 7113\n", + " https://www.otodom.pl/oferta/niezalezny-uklad-...\n", " 2\n", - " 43.44\n", " NaN\n", + " 43.44\n", + " wtórny\n", + " ...\n", + " NaN\n", + " gazowe\n", + " plastikowe\n", + " NaN\n", + " NaN\n", + " NaN\n", + " cegła\n", + " Polecamy na sprzedaż dwupokojowe mieszkanie p...\n", + " NaN\n", + " telewizja kablowa, internet, meble, piwnica, g...\n", " \n", " \n", " 1\n", " 314900.0\n", - " 2\n", - " 42.60\n", + " do wykończenia\n", " NaN\n", + " pełna własność\n", + " 7392\n", + " https://www.otodom.pl/oferta/urokliwe-mieszkan...\n", + " 2\n", + " NaN\n", + " 42.60\n", + " pierwotny\n", + " ...\n", + " NaN\n", + " gazowe\n", + " plastikowe\n", + " NaN\n", + " NaN\n", + " NaN\n", + " cegła\n", + " Kameralne 2 pokojowe mieszkanie z aneksem kuc...\n", + " NaN\n", + " telewizja kablowa, internet, telefon, drzwi / ...\n", " \n", " \n", " 2\n", " 249000.0\n", + " do remontu\n", + " 300 zł\n", + " pełna własność\n", + " 5621\n", + " https://www.otodom.pl/oferta/mieszkanie-do-rem...\n", " 2\n", + " NaN\n", " 44.30\n", + " wtórny\n", + " ...\n", + " NaN\n", + " miejskie\n", + " plastikowe\n", " 1960.0\n", + " NaN\n", + " 2019-06-30\n", + " cegła\n", + " Oferta bezpośrednio od właściciela - bez pośr...\n", + " NaN\n", + " telewizja kablowa, internet, telefon, domofon ...\n", " \n", " \n", " 3\n", " 419000.0\n", + " do zamieszkania\n", + " 490 zł\n", + " pełna własność\n", + " 4761\n", + " https://www.otodom.pl/oferta/w-szeregowcu-4-po...\n", " 4\n", - " 88\n", " NaN\n", + " 88\n", + " wtórny\n", + " ...\n", + " NaN\n", + " gazowe\n", + " plastikowe\n", + " NaN\n", + " NaN\n", + " NaN\n", + " cegła\n", + " Drodzy Państwo Zapraszam do zapoznania się z ...\n", + " NaN\n", + " telewizja kablowa, internet, zmywarka, lodówka...\n", " \n", " \n", " 4\n", " 499000.0\n", - " 3\n", - " 77\n", " NaN\n", + " 850 zł\n", + " NaN\n", + " 6481\n", + " https://www.otodom.pl/oferta/komfortowe-przest...\n", + " 3\n", + " NaN\n", + " 77\n", + " wtórny\n", + " ...\n", + " NaN\n", + " NaN\n", + " plastikowe\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " Biuro Immohouse ma przyjemność proponować do ...\n", + " NaN\n", + " balkon, piwnica, winda\n", " \n", " \n", " ...\n", @@ -161,131 +240,1421 @@ " ...\n", " ...\n", " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", " \n", " \n", " 2542\n", " 507600.0\n", + " do wykończenia\n", + " 1 zł\n", + " pełna własność\n", + " 5400\n", + " https://www.otodom.pl/oferta/mieszkanie-do-spr...\n", " 4\n", + " NaN\n", " 94\n", + " wtórny\n", + " ...\n", + " NaN\n", + " gazowe\n", + " drewniane\n", " 1914.0\n", + " NaN\n", + " NaN\n", + " cegła\n", + " Do sprzedaży mieszkanie na drugim piętrze w s...\n", + " NaN\n", + " NaN\n", " \n", " \n", " 2543\n", " 342400.0\n", + " NaN\n", + " NaN\n", + " spółdzielcze własnościowe\n", + " 6400\n", + " https://www.otodom.pl/oferta/mieszkanie-53-50-...\n", " 2\n", + " NaN\n", " 53.50\n", + " wtórny\n", + " ...\n", + " NaN\n", + " miejskie\n", + " drewniane\n", " 1999.0\n", + " NaN\n", + " NaN\n", + " cegła\n", + " | Świetnie zlokalizowane, przestronne, czyste...\n", + " NaN\n", + " telewizja kablowa, internet, telefon, monitori...\n", " \n", " \n", " 2544\n", " 335000.0\n", + " NaN\n", + " 280 zł\n", + " pełna własność\n", + " 6063\n", + " https://www.otodom.pl/oferta/mieszkanie-55-25-...\n", " 3\n", + " NaN\n", " 55.25\n", + " wtórny\n", + " ...\n", + " NaN\n", + " NaN\n", + " plastikowe\n", " 1910.0\n", + " NaN\n", + " NaN\n", + " cegła\n", + " MIESZKANIE ŁAZARZ Przedmiotem sprzedaży jest ...\n", + " NaN\n", + " telewizja kablowa, internet, telefon, monitori...\n", " \n", " \n", " 2545\n", " 260000.0\n", + " NaN\n", + " NaN\n", + " NaN\n", + " 4194\n", + " https://www.otodom.pl/oferta/mieszkanie-udzial...\n", " 3\n", + " NaN\n", " 62\n", + " wtórny\n", + " ...\n", + " NaN\n", + " piece kaflowe\n", + " NaN\n", " 1930.0\n", + " NaN\n", + " 2011-07-05\n", + " cegła\n", + " Polecam do sprzedaży mieszkanie w udziale kam...\n", + " NaN\n", + " piwnica, oddzielna kuchnia, pom. użytkowe\n", " \n", " \n", " 2546\n", " 1990000.0\n", - " więcej niż 10\n", - " 392\n", + " do zamieszkania\n", " NaN\n", + " NaN\n", + " 5077\n", + " https://www.otodom.pl/oferta/mieszkania-w-kami...\n", + " więcej niż 10\n", + " NaN\n", + " 392\n", + " wtórny\n", + " ...\n", + " NaN\n", + " gazowe\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " cegła\n", + " Sprzedam 7 mieszkań w centrum Poznania przy u...\n", + " NaN\n", + " lodówka, meble, piekarnik, kuchenka, pralka\n", " \n", " \n", "\n", - "

2547 rows × 4 columns

\n", + "

2547 rows × 26 columns

\n", "" ], "text/plain": [ - " 0 6 8 19\n", - "0 309000.0 2 43.44 NaN\n", - "1 314900.0 2 42.60 NaN\n", - "2 249000.0 2 44.30 1960.0\n", - "3 419000.0 4 88 NaN\n", - "4 499000.0 3 77 NaN\n", - "... ... ... ... ...\n", - "2542 507600.0 4 94 1914.0\n", - "2543 342400.0 2 53.50 1999.0\n", - "2544 335000.0 3 55.25 1910.0\n", - "2545 260000.0 3 62 1930.0\n", - "2546 1990000.0 więcej niż 10 392 NaN\n", + " 0 1 2 3 4 \\\n", + "0 309000.0 do zamieszkania 390 zł spółdzielcze własnościowe 7113 \n", + "1 314900.0 do wykończenia NaN pełna własność 7392 \n", + "2 249000.0 do remontu 300 zł pełna własność 5621 \n", + "3 419000.0 do zamieszkania 490 zł pełna własność 4761 \n", + "4 499000.0 NaN 850 zł NaN 6481 \n", + "... ... ... ... ... ... \n", + "2542 507600.0 do wykończenia 1 zł pełna własność 5400 \n", + "2543 342400.0 NaN NaN spółdzielcze własnościowe 6400 \n", + "2544 335000.0 NaN 280 zł pełna własność 6063 \n", + "2545 260000.0 NaN NaN NaN 4194 \n", + "2546 1990000.0 do zamieszkania NaN NaN 5077 \n", "\n", - "[2547 rows x 4 columns]" + " 5 6 7 \\\n", + "0 https://www.otodom.pl/oferta/niezalezny-uklad-... 2 NaN \n", + "1 https://www.otodom.pl/oferta/urokliwe-mieszkan... 2 NaN \n", + "2 https://www.otodom.pl/oferta/mieszkanie-do-rem... 2 NaN \n", + "3 https://www.otodom.pl/oferta/w-szeregowcu-4-po... 4 NaN \n", + "4 https://www.otodom.pl/oferta/komfortowe-przest... 3 NaN \n", + "... ... ... .. \n", + "2542 https://www.otodom.pl/oferta/mieszkanie-do-spr... 4 NaN \n", + "2543 https://www.otodom.pl/oferta/mieszkanie-53-50-... 2 NaN \n", + "2544 https://www.otodom.pl/oferta/mieszkanie-55-25-... 3 NaN \n", + "2545 https://www.otodom.pl/oferta/mieszkanie-udzial... 3 NaN \n", + "2546 https://www.otodom.pl/oferta/mieszkania-w-kami... więcej niż 10 NaN \n", + "\n", + " 8 9 ... 16 17 18 19 20 \\\n", + "0 43.44 wtórny ... NaN gazowe plastikowe NaN NaN \n", + "1 42.60 pierwotny ... NaN gazowe plastikowe NaN NaN \n", + "2 44.30 wtórny ... NaN miejskie plastikowe 1960.0 NaN \n", + "3 88 wtórny ... NaN gazowe plastikowe NaN NaN \n", + "4 77 wtórny ... NaN NaN plastikowe NaN NaN \n", + "... ... ... ... .. ... ... ... .. \n", + "2542 94 wtórny ... NaN gazowe drewniane 1914.0 NaN \n", + "2543 53.50 wtórny ... NaN miejskie drewniane 1999.0 NaN \n", + "2544 55.25 wtórny ... NaN NaN plastikowe 1910.0 NaN \n", + "2545 62 wtórny ... NaN piece kaflowe NaN 1930.0 NaN \n", + "2546 392 wtórny ... NaN gazowe NaN NaN NaN \n", + "\n", + " 21 22 23 \\\n", + "0 NaN cegła Polecamy na sprzedaż dwupokojowe mieszkanie p... \n", + "1 NaN cegła Kameralne 2 pokojowe mieszkanie z aneksem kuc... \n", + "2 2019-06-30 cegła Oferta bezpośrednio od właściciela - bez pośr... \n", + "3 NaN cegła Drodzy Państwo Zapraszam do zapoznania się z ... \n", + "4 NaN NaN Biuro Immohouse ma przyjemność proponować do ... \n", + "... ... ... ... \n", + "2542 NaN cegła Do sprzedaży mieszkanie na drugim piętrze w s... \n", + "2543 NaN cegła | Świetnie zlokalizowane, przestronne, czyste... \n", + "2544 NaN cegła MIESZKANIE ŁAZARZ Przedmiotem sprzedaży jest ... \n", + "2545 2011-07-05 cegła Polecam do sprzedaży mieszkanie w udziale kam... \n", + "2546 NaN cegła Sprzedam 7 mieszkań w centrum Poznania przy u... \n", + "\n", + " 24 25 \n", + "0 NaN telewizja kablowa, internet, meble, piwnica, g... \n", + "1 NaN telewizja kablowa, internet, telefon, drzwi / ... \n", + "2 NaN telewizja kablowa, internet, telefon, domofon ... \n", + "3 NaN telewizja kablowa, internet, zmywarka, lodówka... \n", + "4 NaN balkon, piwnica, winda \n", + "... .. ... \n", + "2542 NaN NaN \n", + "2543 NaN telewizja kablowa, internet, telefon, monitori... \n", + "2544 NaN telewizja kablowa, internet, telefon, monitori... \n", + "2545 NaN piwnica, oddzielna kuchnia, pom. użytkowe \n", + "2546 NaN lodówka, meble, piekarnik, kuchenka, pralka \n", + "\n", + "[2547 rows x 26 columns]" ] }, - "execution_count": 7, + "execution_count": 121, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "x_train" + "df_train" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Dane walidacyjne" ] }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 122, "metadata": {}, "outputs": [], "source": [ - "x_train = x_train.dropna()" + "df_valid = pd.read_csv(r'mieszkania5\\dev-0\\in.tsv', sep='\\t', header=None)" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 123, + "metadata": {}, + "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", + "
0123456789...15161718192021222324
0do zamieszkania250 złpełna własność6311https://www.otodom.pl/oferta/idealne-mieszkani...3NaN59.10wtórny4.0...NaNmiejskieplastikoweNaNNaNNaNwielka płytaZamieszkaj od zaraz – idealna lokalizacja OFE...NaNtelewizja kablowa, internet, telefon, domofon ...
1do zamieszkaniaNaNpełna własność7868https://www.otodom.pl/oferta/2-pokoje-38m2-po-...2NaN38.00wtórny12.0...NaNinneplastikoweNaNNaNNaNNaNNa sprzedaż mieszkanie dwupokojowe na osiedlu...NaNbalkon
2do zamieszkania650 złpełna własność5717https://www.otodom.pl/oferta/3-pokoje-na-jezyc...3NaN63.84wtórny4.0...NaNmiejskieplastikowe1958.0NaNNaNcegła!! Oferta dostępna tylko u nas !! Polecam ofe...NaNtelewizja kablowa, internet, telefon, piwnica,...
3do zamieszkania359 złspółdzielcze własnościowe7380https://www.otodom.pl/oferta/uniwersytet-przyr...4NaN50.00wtórny10.0...NaNmiejskieplastikowe1975.0NaN2019-06-30wielka płytaOferta  bezpośrednio od właściciela  - bez po...NaNtelewizja kablowa, internet, telefon, drzwi / ...
4NaNNaNNaN7373https://www.otodom.pl/oferta/mieszkanie-blisko...3NaN65.62pierwotny3.0...NaNNaNNaN2020.0NaN2020-01-01NaNMIESZKANIE 3-POKOJOWE O POW.65,62M2 Mieszkani...NaNgaraż/miejsce parkingowe, taras, pom. użytkowe
..................................................................
457do wykończeniaNaNpełna własność9007https://www.otodom.pl/oferta/mieszkanie-zajezd...3NaN72.78pierwotny5.0...NaNmiejskieplastikowe2019.0NaNNaNcegłaZapraszam do zapoznania się z nową atrakcyjną...NaNtelewizja kablowa, internet, monitoring / ochr...
458do wykończeniaNaNpełna własność9202https://www.otodom.pl/oferta/mieszkanie-zajezd...2NaN51.23pierwotny5.0...NaNNaNNaNNaNNaNNaNNaNZapraszam do zapoznania się z nową atrakcyjną...NaNgaraż/miejsce parkingowe, winda
459do wykończeniaNaNpełna własność5723https://www.otodom.pl/oferta/nowe-mieszkanie-o...3NaN54.16pierwotny3.0...NaNkotłowniaplastikowe2019.0NaN2019-12-31silikatMieszkanie składa się z 3 pokoi, aneksu kuche...NaNtelewizja kablowa, internet, telefon, domofon ...
460do zamieszkania1 102.05 złpełna własność7758https://www.otodom.pl/oferta/apartament-w-atan...3NaN90.10wtórny5.0...NaNkotłowniaplastikowe2001.0NaN2018-04-13cegłaProponuję bardzo atrakcyjny, przestronny, w p...NaNtelewizja kablowa, drzwi / okna antywłamaniowe...
461NaNNaNNaN11822https://www.otodom.pl/oferta/mieszkanie-71-90-...2NaN71.90wtórny3.0...NaNNaNdrewniane2016.0NaNNaNcegłaLink do oferty: -wielkopolskie-poznan-grunwal...NaNbalkon, garaż/miejsce parkingowe
\n", + "

462 rows × 25 columns

\n", + "
" + ], + "text/plain": [ + " 0 1 2 3 \\\n", + "0 do zamieszkania 250 zł pełna własność 6311 \n", + "1 do zamieszkania NaN pełna własność 7868 \n", + "2 do zamieszkania 650 zł pełna własność 5717 \n", + "3 do zamieszkania 359 zł spółdzielcze własnościowe 7380 \n", + "4 NaN NaN NaN 7373 \n", + ".. ... ... ... ... \n", + "457 do wykończenia NaN pełna własność 9007 \n", + "458 do wykończenia NaN pełna własność 9202 \n", + "459 do wykończenia NaN pełna własność 5723 \n", + "460 do zamieszkania 1 102.05 zł pełna własność 7758 \n", + "461 NaN NaN NaN 11822 \n", + "\n", + " 4 5 6 7 \\\n", + "0 https://www.otodom.pl/oferta/idealne-mieszkani... 3 NaN 59.10 \n", + "1 https://www.otodom.pl/oferta/2-pokoje-38m2-po-... 2 NaN 38.00 \n", + "2 https://www.otodom.pl/oferta/3-pokoje-na-jezyc... 3 NaN 63.84 \n", + "3 https://www.otodom.pl/oferta/uniwersytet-przyr... 4 NaN 50.00 \n", + "4 https://www.otodom.pl/oferta/mieszkanie-blisko... 3 NaN 65.62 \n", + ".. ... .. .. ... \n", + "457 https://www.otodom.pl/oferta/mieszkanie-zajezd... 3 NaN 72.78 \n", + "458 https://www.otodom.pl/oferta/mieszkanie-zajezd... 2 NaN 51.23 \n", + "459 https://www.otodom.pl/oferta/nowe-mieszkanie-o... 3 NaN 54.16 \n", + "460 https://www.otodom.pl/oferta/apartament-w-atan... 3 NaN 90.10 \n", + "461 https://www.otodom.pl/oferta/mieszkanie-71-90-... 2 NaN 71.90 \n", + "\n", + " 8 9 ... 15 16 17 18 19 20 \\\n", + "0 wtórny 4.0 ... NaN miejskie plastikowe NaN NaN NaN \n", + "1 wtórny 12.0 ... NaN inne plastikowe NaN NaN NaN \n", + "2 wtórny 4.0 ... NaN miejskie plastikowe 1958.0 NaN NaN \n", + "3 wtórny 10.0 ... NaN miejskie plastikowe 1975.0 NaN 2019-06-30 \n", + "4 pierwotny 3.0 ... NaN NaN NaN 2020.0 NaN 2020-01-01 \n", + ".. ... ... ... .. ... ... ... .. ... \n", + "457 pierwotny 5.0 ... NaN miejskie plastikowe 2019.0 NaN NaN \n", + "458 pierwotny 5.0 ... NaN NaN NaN NaN NaN NaN \n", + "459 pierwotny 3.0 ... NaN kotłownia plastikowe 2019.0 NaN 2019-12-31 \n", + "460 wtórny 5.0 ... NaN kotłownia plastikowe 2001.0 NaN 2018-04-13 \n", + "461 wtórny 3.0 ... NaN NaN drewniane 2016.0 NaN NaN \n", + "\n", + " 21 22 23 \\\n", + "0 wielka płyta Zamieszkaj od zaraz – idealna lokalizacja OFE... NaN \n", + "1 NaN Na sprzedaż mieszkanie dwupokojowe na osiedlu... NaN \n", + "2 cegła !! Oferta dostępna tylko u nas !! Polecam ofe... NaN \n", + "3 wielka płyta Oferta  bezpośrednio od właściciela  - bez po... NaN \n", + "4 NaN MIESZKANIE 3-POKOJOWE O POW.65,62M2 Mieszkani... NaN \n", + ".. ... ... .. \n", + "457 cegła Zapraszam do zapoznania się z nową atrakcyjną... NaN \n", + "458 NaN Zapraszam do zapoznania się z nową atrakcyjną... NaN \n", + "459 silikat Mieszkanie składa się z 3 pokoi, aneksu kuche... NaN \n", + "460 cegła Proponuję bardzo atrakcyjny, przestronny, w p... NaN \n", + "461 cegła Link do oferty: -wielkopolskie-poznan-grunwal... NaN \n", + "\n", + " 24 \n", + "0 telewizja kablowa, internet, telefon, domofon ... \n", + "1 balkon \n", + "2 telewizja kablowa, internet, telefon, piwnica,... \n", + "3 telewizja kablowa, internet, telefon, drzwi / ... \n", + "4 garaż/miejsce parkingowe, taras, pom. użytkowe \n", + ".. ... \n", + "457 telewizja kablowa, internet, monitoring / ochr... \n", + "458 garaż/miejsce parkingowe, winda \n", + "459 telewizja kablowa, internet, telefon, domofon ... \n", + "460 telewizja kablowa, drzwi / okna antywłamaniowe... \n", + "461 balkon, garaż/miejsce parkingowe \n", + "\n", + "[462 rows x 25 columns]" + ] + }, + "execution_count": 123, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_valid" + ] + }, + { + "cell_type": "code", + "execution_count": 124, "metadata": {}, "outputs": [], "source": [ - "x_train = x_train.replace( \"więcej niż 10\", '11')" + "df_valid_cena = pd.read_csv(r'mieszkania5\\dev-0\\expected.tsv', sep='\\t', header=None)" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 125, + "metadata": {}, + "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", + "
0
0373000.00
1299000.00
2365000.00
3369000.00
4483791.00
......
457655544.02
458471397.97
459309958.00
460699000.00
461850000.00
\n", + "

462 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " 0\n", + "0 373000.00\n", + "1 299000.00\n", + "2 365000.00\n", + "3 369000.00\n", + "4 483791.00\n", + ".. ...\n", + "457 655544.02\n", + "458 471397.97\n", + "459 309958.00\n", + "460 699000.00\n", + "461 850000.00\n", + "\n", + "[462 rows x 1 columns]" + ] + }, + "execution_count": 125, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_valid_cena" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Dane testowe" + ] + }, + { + "cell_type": "code", + "execution_count": 126, "metadata": {}, "outputs": [], "source": [ - "x_train = x_train[(x_train[19] >= 1800) | (x_train[19] <= 2023)]\n" + "df_test = pd.read_csv(r'mieszkania5\\test-A\\in.tsv', sep='\\t', header=None)" ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 127, + "metadata": {}, + "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", + "
0123456789...15161718192021222324
0do wykończeniaNaNpełna własność6938https://www.otodom.pl/oferta/nowe-mieszkanie-z...3NaN61.99pierwotny7.0...NaNNaNplastikowe2020.0NaNNaNNaNPrezentujemy naszą najnowszą inwestycje zloka...NaNtelewizja kablowa, internet, telefon, drzwi / ...
1do zamieszkaniaNaNpełna własność6078https://www.otodom.pl/oferta/3-pok-parter-nisk...4NaN64.00wtórny4.0...NaNmiejskieNaN1982.0NaNNaNwielka płytaPolecam na sprzedaż duże atrakcyjnie zlokaliz...NaNdomofon / wideofon, balkon
2do wykończeniaNaNpełna własność6150https://www.otodom.pl/oferta/hot-oferta-od-dew...3NaN51.15pierwotny5.0...NaNmiejskieplastikowe2020.0NaNNaNcegła&gt...NaNtelewizja kablowa, internet, telefon, domofon ...
3do zamieszkania350 złpełna własność9373https://www.otodom.pl/oferta/mieszkanie-z-ogro...2NaN45.77wtórny7.0...NaNNaNNaNNaNNaNNaNNaN!! OFERTA BEZPOŚREDNIA !! Na sprzedaż mieszkan...NaNtelewizja kablowa, internet, telefon, drzwi / ...
4NaNNaNNaN7200https://www.otodom.pl/oferta/osiedle-nowych-ko...2NaN44.36pierwotny13.0...NaNNaNplastikoweNaNNaN2020-08-01NaNInwestycja NOWYCH KOSMONAUTÓW powstaje u zbie...NaNtelewizja kablowa, internet, telefon, drzwi / ...
..................................................................
413do wykończeniaNaNNaN7150https://www.otodom.pl/oferta/zielony-marcelin-...1NaN34.97pierwotny8.0...NaNmiejskieplastikoweNaNNaNNaNNaNZielony Marcelin I etap mieszkanie nr 407, 1 ...NaNtelewizja kablowa, internet, telefon, drzwi / ...
414do wykończeniaNaNpełna własność6499https://www.otodom.pl/oferta/nowe-mieszkanie-p...3NaN49.06pierwotny3.0...NaNkotłowniaplastikowe2018.0NaN2018-12-31silikatMieszkanie składa się z 3 pokoi z aneksem kuc...NaNtelewizja kablowa, internet, telefon, domofon ...
415do wykończeniaNaNpełna własność9451https://www.otodom.pl/oferta/mieszkanie-76-71-...3NaN76.71pierwotny5.0...NaNNaNplastikowe2019.0NaNNaNNaNZapraszam do zapoznania się z nową atrakcyjną...NaNmonitoring / ochrona, garaż/miejsce parkingowe...
416do wykończeniaNaNpełna własność9322https://www.otodom.pl/oferta/mieszkanie-zajezd...3NaN72.63pierwotny5.0...NaNNaNNaNNaNNaNNaNNaNZapraszam do zapoznania się z nową atrakcyjną...NaNgaraż/miejsce parkingowe, winda
417do wykończeniaNaNpełna własność6500https://www.otodom.pl/oferta/nowe-mieszkanie-w...2NaN65.84wtórny10.0...NaNmiejskieplastikowe2012.0NaNNaNpustakSuper mieszkanie 2-pokojowe 65,84m2. wykończo...NaNtelewizja kablowa, internet, telefon, monitori...
\n", + "

418 rows × 25 columns

\n", + "
" + ], + "text/plain": [ + " 0 1 2 3 \\\n", + "0 do wykończenia NaN pełna własność 6938 \n", + "1 do zamieszkania NaN pełna własność 6078 \n", + "2 do wykończenia NaN pełna własność 6150 \n", + "3 do zamieszkania 350 zł pełna własność 9373 \n", + "4 NaN NaN NaN 7200 \n", + ".. ... ... ... ... \n", + "413 do wykończenia NaN NaN 7150 \n", + "414 do wykończenia NaN pełna własność 6499 \n", + "415 do wykończenia NaN pełna własność 9451 \n", + "416 do wykończenia NaN pełna własność 9322 \n", + "417 do wykończenia NaN pełna własność 6500 \n", + "\n", + " 4 5 6 7 \\\n", + "0 https://www.otodom.pl/oferta/nowe-mieszkanie-z... 3 NaN 61.99 \n", + "1 https://www.otodom.pl/oferta/3-pok-parter-nisk... 4 NaN 64.00 \n", + "2 https://www.otodom.pl/oferta/hot-oferta-od-dew... 3 NaN 51.15 \n", + "3 https://www.otodom.pl/oferta/mieszkanie-z-ogro... 2 NaN 45.77 \n", + "4 https://www.otodom.pl/oferta/osiedle-nowych-ko... 2 NaN 44.36 \n", + ".. ... .. .. ... \n", + "413 https://www.otodom.pl/oferta/zielony-marcelin-... 1 NaN 34.97 \n", + "414 https://www.otodom.pl/oferta/nowe-mieszkanie-p... 3 NaN 49.06 \n", + "415 https://www.otodom.pl/oferta/mieszkanie-76-71-... 3 NaN 76.71 \n", + "416 https://www.otodom.pl/oferta/mieszkanie-zajezd... 3 NaN 72.63 \n", + "417 https://www.otodom.pl/oferta/nowe-mieszkanie-w... 2 NaN 65.84 \n", + "\n", + " 8 9 ... 15 16 17 18 19 20 \\\n", + "0 pierwotny 7.0 ... NaN NaN plastikowe 2020.0 NaN NaN \n", + "1 wtórny 4.0 ... NaN miejskie NaN 1982.0 NaN NaN \n", + "2 pierwotny 5.0 ... NaN miejskie plastikowe 2020.0 NaN NaN \n", + "3 wtórny 7.0 ... NaN NaN NaN NaN NaN NaN \n", + "4 pierwotny 13.0 ... NaN NaN plastikowe NaN NaN 2020-08-01 \n", + ".. ... ... ... .. ... ... ... .. ... \n", + "413 pierwotny 8.0 ... NaN miejskie plastikowe NaN NaN NaN \n", + "414 pierwotny 3.0 ... NaN kotłownia plastikowe 2018.0 NaN 2018-12-31 \n", + "415 pierwotny 5.0 ... NaN NaN plastikowe 2019.0 NaN NaN \n", + "416 pierwotny 5.0 ... NaN NaN NaN NaN NaN NaN \n", + "417 wtórny 10.0 ... NaN miejskie plastikowe 2012.0 NaN NaN \n", + "\n", + " 21 22 23 \\\n", + "0 NaN Prezentujemy naszą najnowszą inwestycje zloka... NaN \n", + "1 wielka płyta Polecam na sprzedaż duże atrakcyjnie zlokaliz... NaN \n", + "2 cegła                                           >... NaN \n", + "3 NaN !! OFERTA BEZPOŚREDNIA !! Na sprzedaż mieszkan... NaN \n", + "4 NaN Inwestycja NOWYCH KOSMONAUTÓW powstaje u zbie... NaN \n", + ".. ... ... .. \n", + "413 NaN Zielony Marcelin I etap mieszkanie nr 407, 1 ... NaN \n", + "414 silikat Mieszkanie składa się z 3 pokoi z aneksem kuc... NaN \n", + "415 NaN Zapraszam do zapoznania się z nową atrakcyjną... NaN \n", + "416 NaN Zapraszam do zapoznania się z nową atrakcyjną... NaN \n", + "417 pustak Super mieszkanie 2-pokojowe 65,84m2. wykończo... NaN \n", + "\n", + " 24 \n", + "0 telewizja kablowa, internet, telefon, drzwi / ... \n", + "1 domofon / wideofon, balkon \n", + "2 telewizja kablowa, internet, telefon, domofon ... \n", + "3 telewizja kablowa, internet, telefon, drzwi / ... \n", + "4 telewizja kablowa, internet, telefon, drzwi / ... \n", + ".. ... \n", + "413 telewizja kablowa, internet, telefon, drzwi / ... \n", + "414 telewizja kablowa, internet, telefon, domofon ... \n", + "415 monitoring / ochrona, garaż/miejsce parkingowe... \n", + "416 garaż/miejsce parkingowe, winda \n", + "417 telewizja kablowa, internet, telefon, monitori... \n", + "\n", + "[418 rows x 25 columns]" + ] + }, + "execution_count": 127, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_test" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Wybranie interesujących nas kolumn (cena, ilość pokoi, metraż, rok budowy)" + ] + }, + { + "cell_type": "code", + "execution_count": 128, "metadata": {}, "outputs": [], "source": [ - "x_train = x_train.rename(columns = {0:\"cena\", 6:\"pokoje\", 8:\"metraz\", 19:\"rok\"})" + "df_train = df_train[[0, 6, 8, 19]]" ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 129, "metadata": {}, "outputs": [], "source": [ - "x_train = x_train[x_train[\"metraz\"] != '6 909']\n" + "df_valid[0] = df_valid_cena" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 130, "metadata": {}, "outputs": [], "source": [ - "x_train[\"pokoje\"] = x_train[\"pokoje\"].astype(float)\n", - "x_train[\"metraz\"] = x_train[\"metraz\"].astype(float)" + "df_valid = df_valid[[0, 5, 7, 18]]" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 131, + "metadata": {}, + "outputs": [], + "source": [ + "df_test = df_test[[5, 7, 18]]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Zamiana nazw kolumn" + ] + }, + { + "cell_type": "code", + "execution_count": 132, + "metadata": {}, + "outputs": [], + "source": [ + "df_train = df_train.rename(columns = {0:\"cena\", 6:\"pokoje\", 8:\"metraz\", 19:\"rok\"})" + ] + }, + { + "cell_type": "code", + "execution_count": 133, + "metadata": {}, + "outputs": [], + "source": [ + "df_valid = df_valid.rename(columns = {0:\"cena\", 5:\"pokoje\", 7:\"metraz\", 18:\"rok\"})" + ] + }, + { + "cell_type": "code", + "execution_count": 134, + "metadata": {}, + "outputs": [], + "source": [ + "df_test = df_test.rename(columns = {5:\"pokoje\", 7:\"metraz\", 18:\"rok\"})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Czyszczenie danych" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Czyszczenie danych treningowych" + ] + }, + { + "cell_type": "code", + "execution_count": 135, + "metadata": {}, + "outputs": [], + "source": [ + "df_train = df_train.dropna()" + ] + }, + { + "cell_type": "code", + "execution_count": 136, + "metadata": {}, + "outputs": [], + "source": [ + "df_train = df_train.replace( \"więcej niż 10\", '11')" + ] + }, + { + "cell_type": "code", + "execution_count": 137, + "metadata": {}, + "outputs": [], + "source": [ + "df_train = df_train[(df_train['rok'] >= 1800) & (df_train['rok'] <= 2023)]\n" + ] + }, + { + "cell_type": "code", + "execution_count": 138, + "metadata": {}, + "outputs": [], + "source": [ + "df_train = df_train[df_train[\"metraz\"] != '6 909']\n" + ] + }, + { + "cell_type": "code", + "execution_count": 139, + "metadata": {}, + "outputs": [], + "source": [ + "df_train[\"pokoje\"] = df_train[\"pokoje\"].astype(float)\n", + "df_train[\"metraz\"] = df_train[\"metraz\"].astype(float)" + ] + }, + { + "cell_type": "code", + "execution_count": 140, + "metadata": {}, + "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", + "
cenapokojemetrazrok
count1.763000e+031763.0000001763.0000001763.000000
mean4.262096e+052.60975660.0683271992.024957
std2.478208e+051.03828929.65271337.968540
min8.500000e+041.00000019.0000001840.000000
25%3.100000e+052.00000043.0000001976.000000
50%3.671000e+052.00000052.3000002010.000000
75%4.700000e+053.00000068.0000002019.000000
max6.000000e+0611.000000404.0000002022.000000
\n", + "
" + ], + "text/plain": [ + " cena pokoje metraz rok\n", + "count 1.763000e+03 1763.000000 1763.000000 1763.000000\n", + "mean 4.262096e+05 2.609756 60.068327 1992.024957\n", + "std 2.478208e+05 1.038289 29.652713 37.968540\n", + "min 8.500000e+04 1.000000 19.000000 1840.000000\n", + "25% 3.100000e+05 2.000000 43.000000 1976.000000\n", + "50% 3.671000e+05 2.000000 52.300000 2010.000000\n", + "75% 4.700000e+05 3.000000 68.000000 2019.000000\n", + "max 6.000000e+06 11.000000 404.000000 2022.000000" + ] + }, + "execution_count": 140, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_train.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 141, "metadata": {}, "outputs": [ { @@ -395,7 +1764,7 @@ " \n", " \n", "\n", - "

1767 rows × 4 columns

\n", + "

1763 rows × 4 columns

\n", "" ], "text/plain": [ @@ -412,21 +1781,485 @@ "2544 335000.0 3.0 55.25 1910.0\n", "2545 260000.0 3.0 62.00 1930.0\n", "\n", - "[1767 rows x 4 columns]" + "[1763 rows x 4 columns]" ] }, - "execution_count": 14, + "execution_count": 141, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "x_train" + "df_train" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Czyszczenie danych walidacyjnych" ] }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 142, + "metadata": {}, + "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", + "
cenapokojemetrazrok
count4.620000e+02462.000000462.000000322.000000
mean4.108530e+052.52813957.3291131988.605590
std2.049347e+050.95351225.300686113.363432
min1.597610e+051.0000001.00000070.000000
25%2.984000e+052.00000042.0000001980.000000
50%3.520765e+052.00000050.5100002013.000000
75%4.687800e+053.00000066.3150002019.000000
max2.318580e+066.000000234.2000002021.000000
\n", + "
" + ], + "text/plain": [ + " cena pokoje metraz rok\n", + "count 4.620000e+02 462.000000 462.000000 322.000000\n", + "mean 4.108530e+05 2.528139 57.329113 1988.605590\n", + "std 2.049347e+05 0.953512 25.300686 113.363432\n", + "min 1.597610e+05 1.000000 1.000000 70.000000\n", + "25% 2.984000e+05 2.000000 42.000000 1980.000000\n", + "50% 3.520765e+05 2.000000 50.510000 2013.000000\n", + "75% 4.687800e+05 3.000000 66.315000 2019.000000\n", + "max 2.318580e+06 6.000000 234.200000 2021.000000" + ] + }, + "execution_count": 142, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_valid.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 143, + "metadata": {}, + "outputs": [], + "source": [ + "df_valid = df_valid.dropna()" + ] + }, + { + "cell_type": "code", + "execution_count": 144, + "metadata": {}, + "outputs": [], + "source": [ + "df_valid = df_valid[df_valid['metraz'] > 10]" + ] + }, + { + "cell_type": "code", + "execution_count": 145, + "metadata": {}, + "outputs": [], + "source": [ + "df_valid = df_valid[(df_valid['rok'] >= 1800) & (df_valid['rok'] <= 2023)]\n" + ] + }, + { + "cell_type": "code", + "execution_count": 146, + "metadata": {}, + "outputs": [], + "source": [ + "df_valid = df_valid.replace( \"więcej niż 10\", '11')" + ] + }, + { + "cell_type": "code", + "execution_count": 147, + "metadata": {}, + "outputs": [], + "source": [ + "df_valid[\"pokoje\"] = df_valid[\"pokoje\"].astype(float)\n", + "df_valid[\"metraz\"] = df_valid[\"metraz\"].astype(float)" + ] + }, + { + "cell_type": "code", + "execution_count": 148, + "metadata": {}, + "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", + "
cenapokojemetrazrok
2365000.003.063.841958.0
3369000.004.050.001975.0
4483791.003.065.622020.0
5430000.005.096.002019.0
9325000.002.049.002001.0
...............
455641395.582.072.782019.0
457655544.023.072.782019.0
459309958.003.054.162019.0
460699000.003.090.102001.0
461850000.002.071.902016.0
\n", + "

320 rows × 4 columns

\n", + "
" + ], + "text/plain": [ + " cena pokoje metraz rok\n", + "2 365000.00 3.0 63.84 1958.0\n", + "3 369000.00 4.0 50.00 1975.0\n", + "4 483791.00 3.0 65.62 2020.0\n", + "5 430000.00 5.0 96.00 2019.0\n", + "9 325000.00 2.0 49.00 2001.0\n", + ".. ... ... ... ...\n", + "455 641395.58 2.0 72.78 2019.0\n", + "457 655544.02 3.0 72.78 2019.0\n", + "459 309958.00 3.0 54.16 2019.0\n", + "460 699000.00 3.0 90.10 2001.0\n", + "461 850000.00 2.0 71.90 2016.0\n", + "\n", + "[320 rows x 4 columns]" + ] + }, + "execution_count": 148, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_valid" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Czyszczenie danych testowych" + ] + }, + { + "cell_type": "code", + "execution_count": 149, + "metadata": {}, + "outputs": [], + "source": [ + "df_test = df_test.dropna()" + ] + }, + { + "cell_type": "code", + "execution_count": 150, + "metadata": {}, + "outputs": [], + "source": [ + "df_test = df_test.replace( \"więcej niż 10\", '11')" + ] + }, + { + "cell_type": "code", + "execution_count": 151, + "metadata": {}, + "outputs": [], + "source": [ + "df_test[\"pokoje\"] = df_test[\"pokoje\"].astype(float)\n", + "df_test[\"metraz\"] = df_test[\"metraz\"].astype(float)" + ] + }, + { + "cell_type": "code", + "execution_count": 152, + "metadata": {}, + "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", + "
cenapokojemetrazrok
count1.763000e+031763.0000001763.0000001763.000000
mean4.262096e+052.60975660.0683271992.024957
std2.478208e+051.03828929.65271337.968540
min8.500000e+041.00000019.0000001840.000000
25%3.100000e+052.00000043.0000001976.000000
50%3.671000e+052.00000052.3000002010.000000
75%4.700000e+053.00000068.0000002019.000000
max6.000000e+0611.000000404.0000002022.000000
\n", + "
" + ], + "text/plain": [ + " cena pokoje metraz rok\n", + "count 1.763000e+03 1763.000000 1763.000000 1763.000000\n", + "mean 4.262096e+05 2.609756 60.068327 1992.024957\n", + "std 2.478208e+05 1.038289 29.652713 37.968540\n", + "min 8.500000e+04 1.000000 19.000000 1840.000000\n", + "25% 3.100000e+05 2.000000 43.000000 1976.000000\n", + "50% 3.671000e+05 2.000000 52.300000 2010.000000\n", + "75% 4.700000e+05 3.000000 68.000000 2019.000000\n", + "max 6.000000e+06 11.000000 404.000000 2022.000000" + ] + }, + "execution_count": 152, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_train.describe()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Model regresji liniowej" + ] + }, + { + "cell_type": "code", + "execution_count": 153, "metadata": {}, "outputs": [], "source": [ @@ -434,26 +2267,51 @@ ] }, { - "cell_type": "code", - "execution_count": 16, + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "x = x_train[[\"pokoje\", \"metraz\", \"rok\"]]" + "### Podział danych" ] }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 154, "metadata": {}, "outputs": [], "source": [ - "y = x_train[[\"cena\"]]" + "X_train = df_train[[\"pokoje\", \"metraz\", \"rok\"]]\n", + "y_train = df_train[[\"cena\"]]" ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 155, + "metadata": {}, + "outputs": [], + "source": [ + "X_val = df_valid[[\"pokoje\", \"metraz\", \"rok\"]]\n", + "y_val = df_valid[[\"cena\"]]" + ] + }, + { + "cell_type": "code", + "execution_count": 156, + "metadata": {}, + "outputs": [], + "source": [ + "X_test = df_test[[\"pokoje\", \"metraz\", \"rok\"]]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Uczenie modelu" + ] + }, + { + "cell_type": "code", + "execution_count": 157, "metadata": {}, "outputs": [], "source": [ @@ -462,30 +2320,273 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 158, "metadata": {}, "outputs": [ { "data": { "text/html": [ - "
LinearRegression()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + "
LinearRegression()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "LinearRegression()" ] }, - "execution_count": 19, + "execution_count": 158, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "model.fit(x,y)" + "model.fit(X_train, y_train)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Walidacja modelu" ] }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 159, + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.metrics import mean_squared_error, r2_score" + ] + }, + { + "cell_type": "code", + "execution_count": 160, + "metadata": {}, + "outputs": [], + "source": [ + "y_train_pred = model.predict(X_train)" + ] + }, + { + "cell_type": "code", + "execution_count": 161, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.6264197107092035" + ] + }, + "execution_count": 161, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "r2_score(y_true=y_train, y_pred=y_train_pred)" + ] + }, + { + "cell_type": "code", + "execution_count": 162, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "22930468691.882328" + ] + }, + "execution_count": 162, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mean_squared_error(y_true=y_train, y_pred=y_train_pred)" + ] + }, + { + "cell_type": "code", + "execution_count": 163, + "metadata": {}, + "outputs": [], + "source": [ + "y_val_pred = model.predict(X_val)" + ] + }, + { + "cell_type": "code", + "execution_count": 164, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.5872189061243203" + ] + }, + "execution_count": 164, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "r2_score(y_true=y_val, y_pred=y_val_pred)" + ] + }, + { + "cell_type": "code", + "execution_count": 165, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "12603444942.321444" + ] + }, + "execution_count": 165, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mean_squared_error(y_true=y_val, y_pred=y_val_pred)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Predykcja cen mieszkań" + ] + }, + { + "cell_type": "code", + "execution_count": 166, + "metadata": {}, + "outputs": [], + "source": [ + "y_test_pred = model.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 167, + "metadata": {}, + "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", + "
cena
0445999.679659
1391984.112513
2361680.683534
3634737.891029
4334716.539450
......
287639199.416015
288493459.955384
289343927.359472
290559751.151754
291511183.577622
\n", + "

292 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " cena\n", + "0 445999.679659\n", + "1 391984.112513\n", + "2 361680.683534\n", + "3 634737.891029\n", + "4 334716.539450\n", + ".. ...\n", + "287 639199.416015\n", + "288 493459.955384\n", + "289 343927.359472\n", + "290 559751.151754\n", + "291 511183.577622\n", + "\n", + "[292 rows x 1 columns]" + ] + }, + "execution_count": 167, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_test_pred_df = pd.DataFrame(y_test_pred, columns=['cena'])\n", + "y_test_pred_df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Wizualizacja regresji liniowej" + ] + }, + { + "cell_type": "code", + "execution_count": 168, "metadata": {}, "outputs": [], "source": [ @@ -493,43 +2594,20 @@ ] }, { - "cell_type": "code", - "execution_count": 26, + "cell_type": "markdown", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[-3.54305400e+04, 7.47165498e+03, -2.77294899e+00]])" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "model.coef_" + "### Cena nieruchomości ze względna na liczbę pokoi dla danych treningowych" ] }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 169, "metadata": {}, "outputs": [ { "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 38, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhYAAAGsCAYAAACB/u5dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB3Q0lEQVR4nO3dd3xT9foH8E+STjoCBbrooGxKy95TFAREFBHXBQcoLpxcr4peRa4D3F5/KkO9LkRcgIIylA2yZO+9aWmh0AVN2+T8/niSnqRN2rQ9bdLyeb9efZGcnCSnael5zvf7fJ9HpyiKAiIiIiIN6D19AERERFR7MLAgIiIizTCwICIiIs0wsCAiIiLNMLAgIiIizTCwICIiIs0wsCAiIiLNMLAgIiIizTCwICIiIs0wsCAiIiLNeCywWL16NYYNG4bo6GjodDrMnz+/3K+hKAreeecdtGjRAv7+/mjUqBFef/117Q+WiIiI3OLjqTfOzc1Fu3btMHbsWIwYMaJCr/Hkk09i6dKleOedd5CcnIyMjAxkZGRofKRERETkLp03NCHT6XSYN28ehg8fXrTNZDLhxRdfxHfffYdLly4hKSkJb775Jq655hoAwL59+9C2bVvs3r0bLVu29MyBExERkQOvzbF47LHHsH79esyZMwc7d+7EbbfdhsGDB+PQoUMAgAULFqBJkyZYuHAhEhIS0LhxYzzwwAMcsSAiIvIgrwwsTp48iS+++AI//vgj+vTpg6ZNm+KZZ55B79698cUXXwAAjh49ihMnTuDHH3/E119/jS+//BJbtmzByJEjPXz0REREVy+P5ViUZteuXTCbzWjRooXDdpPJhPr16wMALBYLTCYTvv7666L9Pv/8c3Tq1AkHDhzg9AgREZEHeGVgkZOTA4PBgC1btsBgMDg8FhwcDACIioqCj4+PQ/DRunVrADLiwcCCiIio+nllYNGhQweYzWakpaWhT58+Tvfp1asXCgsLceTIETRt2hQAcPDgQQBAfHx8tR0rERERqTy2KiQnJweHDx8GIIHEe++9h/79+yMsLAxxcXEYPXo01q1bh3fffRcdOnRAeno6li1bhrZt22Lo0KGwWCzo0qULgoOD8cEHH8BisWD8+PEIDQ3F0qVLPfEtERERXfU8FlisXLkS/fv3L7H93nvvxZdffomCggK89tpr+Prrr3HmzBk0aNAA3bt3x+TJk5GcnAwAOHv2LB5//HEsXboUQUFBGDJkCN59912EhYVV97dDRERE8JI6FkRERFQ7eOVyUyIiIqqZGFgQERGRZqp9VYjFYsHZs2cREhICnU5X3W9PREREFaAoCrKzsxEdHQ293vW4RLUHFmfPnkVsbGx1vy0RERFp4NSpU4iJiXH5eLUHFiEhIQDkwEJDQ6v77YmIiKgCsrKyEBsbW3Qed6XaAwvb9EdoaCgDCyIiohqmrDQGJm8SERGRZhhYEBERkWYYWBAREZFmGFgQERGRZhhYEBERkWYYWBAREZFmGFgQERGRZhhYEBERkWaqvUAWEZG3MFsUbDqWgbTsPISHBKBrQhgMevYwIqqMcgcWZ86cwXPPPYdFixbh8uXLaNasGb744gt07ty5Ko6PiKhKLN6dgskL9iIlM69oW5QxAJOGJWJwUpQHj4yoZivXVMjFixfRq1cv+Pr6YtGiRdi7dy/effdd1KtXr6qOj4hIc4t3p+CRWVsdggoASM3MwyOztmLx7hQPHRlRzVeuEYs333wTsbGx+OKLL4q2JSQkaH5QRERVxWxRMHnBXihOHlMA6ABMXrAXAxMjOS1CVAHlGrH49ddf0blzZ9x2220IDw9Hhw4d8Omnn5b6HJPJhKysLIcvIiJP2XQso8RIhT0FQEpmHjYdy6i+gyKqRcoVWBw9ehTTpk1D8+bNsWTJEjzyyCN44okn8NVXX7l8zpQpU2A0Gou+YmNjK33QREQVlZbtOqioyH5E5EinKIqzEUGn/Pz80LlzZ/z1119F25544gls3rwZ69evd/ock8kEk8lUdN/Wzz0zM5Nt04mo2q0/cgF3fbqhzP2+G9cdPZrWr4YjIqoZsrKyYDQayzx/l2vEIioqComJiQ7bWrdujZMnT7p8jr+/P0JDQx2+iIg8pWtCGKKMAXCVPaGDrA7pmhBWnYdFVGuUK7Do1asXDhw44LDt4MGDiI+P1/SgiIiqikGvw6RhcoFUPLiw3Z80LJGJm0QVVK7A4umnn8aGDRvwxhtv4PDhw5g9ezZmzpyJ8ePHV9XxERFpbnBSFKaN7ohIY4DD9khjAKaN7sg6FkSVUK4cCwBYuHAhJk6ciEOHDiEhIQETJkzAuHHj3H6+u3M0RERVjZU3idzn7vm73IFFZTGwICIiqnmqJHmTiIiIqDQMLIiIiEgzDCyIiIhIMwwsiIiISDMMLIiIiEgzDCyIiIhIMwwsiIiISDMMLIiIiEgzDCyIiIhIMwwsiIiISDMMLIiIiEgzDCyIiIhIMwwsiIiISDMMLIiIiEgzDCyIiIhIMwwsiIiISDMMLIiIiEgzDCyIiIhIMwwsiIiISDMMLIiIiEgzDCyIiIhIMwwsiIiISDMMLIiIiEgzDCyIiIhIMwwsiIiISDMMLIiIiEgzDCyIiIhIMwwsiIiISDMMLIiIiEgzDCyIiIhIMwwsiIiISDMMLIiIiEgzDCyIiIhIMwwsiIiISDMMLIiIiEgzDCyIiIhIMwwsiIiISDMMLIiIiEgzDCyIiIhIMwwsiIiISDMMLIiIiEgzDCyIiIhIMwwsiIiISDMMLIiIiEgzDCyIiIhIMwwsiIiISDPlCixeeeUV6HQ6h69WrVpV1bERERFRDeNT3ie0adMGf/75p/oCPuV+CSIiIqqlyh0V+Pj4IDIysiqOhYiIiGq4cudYHDp0CNHR0WjSpAlGjRqFkydPlrq/yWRCVlaWwxcRERHVTuUKLLp164Yvv/wSixcvxrRp03Ds2DH06dMH2dnZLp8zZcoUGI3Goq/Y2NhKHzQRERF5J52iKEpFn3zp0iXEx8fjvffew/333+90H5PJBJPJVHQ/KysLsbGxyMzMRGhoaEXfmoiIiKpRVlYWjEZjmefvSmVe1q1bFy1atMDhw4dd7uPv7w9/f//KvA0RERHVEJWqY5GTk4MjR44gKipKq+MhIiKiGqxcgcUzzzyDVatW4fjx4/jrr79wyy23wGAw4K677qqq4yMiIqIapFxTIadPn8Zdd92FCxcuoGHDhujduzc2bNiAhg0bVtXxERERUQ1SrsBizpw5VXUcREREVAuwVwgRERFphoEFERERaYaBBREREWmGgQURERFphoEFERERaYaBBREREWmGgQURERFphoEFERERaYaBBREREWmGgQURERFphoEFERERaYaBBREREWmGgQURERFphoEFERERaYaBBREREWmGgQURERFphoEFERERaYaBBREREWmGgQURERFphoEFERERaYaBBREREWmGgQURERFphoEFERERaYaBBREREWmGgQURERFphoEFERERaYaBBREREWmGgQURERFphoEFERERaYaBBREREWmGgQURERFphoEFERERaYaBBREREWmGgQURERFphoEFERERaYaBBREREWmGgQURERFphoEFERERaYaBBREREWmGgQURERFphoEFERERaYaBBREREWmGgQURERFphoEFERERaYaBBREREWmGgQURERFpplKBxdSpU6HT6fDUU09pdDhERERUk1U4sNi8eTNmzJiBtm3bank8REREVINVKLDIycnBqFGj8Omnn6JevXpaHxMRERHVUBUKLMaPH4+hQ4diwIABZe5rMpmQlZXl8EVERES1k095nzBnzhxs3boVmzdvdmv/KVOmYPLkyeU+MCIiIqp5yjVicerUKTz55JP49ttvERAQ4NZzJk6ciMzMzKKvU6dOVehAiYiIyPvpFEVR3N15/vz5uOWWW2AwGIq2mc1m6HQ66PV6mEwmh8ecycrKgtFoRGZmJkJDQyt+5ERERFRt3D1/l2sq5LrrrsOuXbscto0ZMwatWrXCc889V2ZQQURERLVbuQKLkJAQJCUlOWwLCgpC/fr1S2wnIiKiqw8rbxIREZFmyr0qpLiVK1dqcBhERERUG3DEgoiIiDTDwIKIiIg0w8CCiIiINMPAgoiIiDTDwIKIiIg0w8CCiIiINMPAgoiIiDTDwIKIiIg0w8CCiIiINMPAgoiIiDTDwIKIiIg0w8CCiIiINMPAgoiIiDTDwIKIiIg0w8CCiIiINMPAgoiIiDTDwIKIiIg0w8CCiIiINMPAgoiIiDTDwIKIiIg0w8CCiIiINMPAgoiIiDTDwIKIiIg0w8CCiIiINMPAgoiIiDTDwIKIiIg0w8CCiIiINMPAgoiIiDTDwIKIiIg0w8CCiIiINMPAgoiIiDTDwIKIiIg0w8CCiIiINMPAgoiIiDTj4+kDICIiosozWxRsOpaBtOw8hIcEoGtCGAx6XbUfBwMLIiKiGm7x7hRMXrAXKZl5RduijAGYNCwRg5OiqvVYOBVCRERUgy3enYJHZm11CCoAIDUzD4/M2orFu1Oq9XgYWBAREdVQZouCyQv2QnHymG3b5AV7YbY426NqMLAgIiKqoTYdyygxUmFPAZCSmYdNxzKq7ZgYWBAREdVQadmug4qK7KcFBhZEREQ1VHhIgKb7aYGBBRERUQ3VNSEMUcYAuFpUqoOsDumaEFZtx8TAgoiIqIYy6HWYNCwRAEoEF7b7k4YlVms9CwYWRERENdjgpChMG90RkUbH6Y5IYwCmje5Y7XUsWCCLiIiohhucFIWBiZGsvElERETaMOh16NG0vqcPo3xTIdOmTUPbtm0RGhqK0NBQ9OjRA4sWLaqqYyMiIqIaplyBRUxMDKZOnYotW7bg77//xrXXXoubb74Ze/bsqarjIyIiohpEpyhKpep8hoWF4e2338b999/v1v5ZWVkwGo3IzMxEaGhoZd6aiIiIqom75+8K51iYzWb8+OOPyM3NRY8ePVzuZzKZYDKZHA6MiIiIaqdyLzfdtWsXgoOD4e/vj4cffhjz5s1DYmKiy/2nTJkCo9FY9BUbG1upAyYiIiLvVe6pkPz8fJw8eRKZmZn46aef8Nlnn2HVqlUugwtnIxaxsbGcCiEiIqpB3J0KqXSOxYABA9C0aVPMmDFD0wMjIiIi7+Hu+bvSlTctFovDiAQRERFdvcqVvDlx4kQMGTIEcXFxyM7OxuzZs7Fy5UosWbKkqo6PiIiIapByBRZpaWm45557kJKSAqPRiLZt22LJkiUYOHBgVR0fERER1SDlCiw+//zzqjoOIiIiqgXY3ZSIiIg0w8CCiIiINMPAgoiIiDTDwIKIiIg0w8CCiIiINMPAgoiIiDTDwIKIiIg0w8CCiIiINMPAgoiIiDRTrsqbRERE5GUsFmDTTGDxc3I/qj0wbjmgN3jkcBhYEBER1VSKAvynnuO2lO2AznMTEpwKISIiqgksZmDXT8BrkUDuBdmm0znu0+Fu4PlTJbdXI45YEBEReSuLGTjwO/DTWMCcr25f9gpw0//J7Sd3An7BQFB9jxxicQwsiIiIvE3KTuDrm4ErGc4fr5dgdzu+eo7JTQwsiIiIPM1cCBTkAgFGuX/hcMmgIr43cNOHQP2m1X985cDAgoiIyBPMhcDx1cDiF4D0fbLtlUz5N/Fm+TeyrUx5RLf3yCFWBAMLIiKi6mILJla8AZzeXPLxzNOAMUaWitqCjBqGgQUREVF1edVFgmVIFHDjB0BwZLUeTlVgYEFERKQ1cwFwdBWw7Rtg6Hvqio2AukDeJbntFwIM+wBoNRTwDfTQgWqPgQUREZEWCvOBY9ZgYu8v6vb8HGD0z3L7kb+AQ0uBNrcAgXU9cphVjYEFERFRZaQfAFa9Bez+yfnjVy6qt42NgM5jque4PISBBRERUXkU5gOmLCCogdw3ZTsPKvo9D7S93euXh2qNgQUREVFZCk3AkRXA3vnAju9km23VRqNO6n7dxwPt7pBloh4sq+1JDCyIiIicKTQBR5YDe+YDO+eUfDz9ANCwpQQQzx0H/I2Ani24GFgQERE583+dgcyTzh9LutXxfmA95/tdhRhYEBHR1a0gDziyDNj/G3DDO4BfHdkeEArY16hqfj3Q9g6g5RDAL8gjh1oTMLAgIqKrT8EV4PAyyZnY/TOgWGR76i7g4TVy+77fgJ/vlzoTicOBOmGeOtoahYEFERFdPdIPAqveBPYtAMymko+n7gQURfImAuuq9SfIbQwsiIio9sq/LHUkjI3kvt7gfGlovcYyzZE08qpdzaEVBhZERFS75F+W6pZ75wMHlwDBEcAT2yRgsK8pERQOJI+Ur+iODCg0wsCCiIhqvvxcCSb2zJd/Cy6rj108Bpz+G4jtIvcfWQ/kpgGN+8gIBmmKgQUREdV8394OnFjr/DGDP3D+oBpYRCQCSKy2Q6tW+ZcBH3+PBkwMLIiIqOYw5QCHlgB7f5XOoLb6EaFRjvvp9ECT/kDybbKqIyC02g+1WuReAE5tkITUlB2yrW4c8Pg2wOCZUzwDCyIi8m6mbMmV2DsfOPQHUJgn23PPA2N+k9s3fQQcWwPUi5dgInE4ENzQU0dcNRRFvneDn0zt5GUCs28rud+VSxyxoJrBbFGw6VgG0rLzEB4SgK4JYTDomexERFXk/GHgz0nA4T/VYMLeibWAxSwnUd8A4LHNtWtkwlwInNsFnNwAHFgkLdkBIDAMuJIBXPMC4BsE1I2V0uJp+4EBk4CWN3g0EZWBBbll8e4UTF6wFymZ6n/uKGMAJg1LxOCkqFKeSUTkprwsIDddXbnhHwzsX+h8X2OcrOYouCL7AbUjqLBYgNVvAyf/Ao6udL7PlQwgwCi3nzmofv9egoEFlWnx7hQ8MmsrlGLbUzPz8MisrZg2uiODC6p58rKAJS8A274BRn4BJI3w9BFdnfIygQOLZZrj8DIgrjtwzy9yxR0SCfjWUVd41KkPtBkhUx2xXWv+8tDsc5IfkZMGdB0nQdKlU8CuH4ALh50/p9vDQOLNQExXj+VQlMU7j4q8htmiYPKCvSWCCgBQAOgATF6wFwMTIzktQjXD+cPAppnA9tlAfrZsO7megUV1unIJOLhYloYeWQaY89XHjq2SqY/mA+X+mN+BDdMlmGjSDzD4euKIK09RJFg4uV6mNk6uBzKOqo8fXAwcXwcYY4CejwOWQiCuh/QvCawnfUrqxXvu+MuBgQWVatOxDIfpj+IUACmZedh0LAM9mtavvgMjKg+LBdgzV/o+2GvQAohMBq6b5Jnjulr9/ABw+A/Xj+/9RQ0sojsAI2ZUz3FpyVzgGAT9eJ+Myrhy+E/5t+Ay0PomtS9JRJuqOsIqw8CCSpWW7TqoqMh+RNUuJw1Y919g/UfqNr8Q4I6vZTliTR9O92ZXLgL7f5dAYdgHQGi0bE/o6ySw0Mn25JFA62HVfaSVl5cFnN5kHY3YIKs2ntwu0zlXLgLhrSUBM6YzcGKd+jydHojpIiMSLQZLIFHDfycZWFCpwkMCNN2PqFqkHwRWTQX8Q4AdcxxXFPT/N9D7aa+dn67xioKJ+cCRFYClQLYvfw0Y/onc7jEe2PKFTAVEd5Rpjja3lKxF4e3ObAV2fCfTGuf2qB1Sbeb8Q4pzndoIjP4JmHhKilcd/lOm4poPApoNAIJq12gv/2dRqbomhCHKGIDUzDyneRY6AJFGWXpK5FEWi1wFb5wOHFnu+FhMF6DPP+UPuV7vmeOr7TKOAr8/KysZbMGEve3fAkPfk2WhegMw7EMZwbDv3eGtLBbg/AEJIBr3ARo0l+0XrPk6rpzZot5O2wc0vVZuNxsgX7UUAwsqlUGvw6RhiXhk1lboAIfgwjZYN2lYIhM3yXPyMoFt38oIRV6m42P+RuDOb4HGvWv88LLXuZwBZKeoOQB16rsOKgAgJFqCjwhrKe2EPtVymBVSaALObrNLtNwA5F2Sxwb+B2jwpNyO6y6rNOK6y/0f71Nfw+AvUzstBtWoxEstMLCgMg1OisK00R1L1LGIZB0L8rSss8B7rdX7PgFAlwfkq06YutaftHE5A9i3QKY5jq4CotoCD66UxwKMQGSSnJBtAuoCbYbLVEdcT+8dLbJY1GM7tweY2R8wmxz38a0j0zaZp4Fl/5FKoLFdgRvft76GGYhIlhyKFoMkqPALqt7vw0swsCC3DE6KwsDESFbeJM+ymGVIOTxR+kWsedfx8ZH/k74QpJ3cC8D+BbI09NhqQDGrj53dJifYFoPk/i0zgRl9gVY3SDDR9DrAx88jh+2SogCZp9Qlnyc3APG9gKHvyOP1m8m/QQ1lJKJha1mpkXVWRmTsG53lZcnr6XQyvfOIiyZoVxkGFuQ2g17HJaXkGVcuAdtmSf5E5ikZVs8+qz7e5QGg5xNX1XBztfltQunLJLfPVgOLhi2AZ48CfnWq5dDcZrEAf3+uBhJZZ4rtYHeB5OMPPLFN8j90OuCjLtIZ1SbAKAFTi8GSJ8EpthLKFVhMmTIFc+fOxf79+xEYGIiePXvizTffRMuWLavq+Igqhf1Nari0/cCmGbKyw1Z9EZCgwi8E6HI/0P1RICTCc8dYW+SkqyMTQ99VExQTb3YdWMT3UutN2Hg6qCi4IkmT2amydBWQaY71HwEXj1vv+wBR7aQAVVx3IKq9NDc7uESCj3Er1ICh6bWyJNS2HDS2G1cUlaFcn86qVaswfvx4dOnSBYWFhXjhhRdw/fXXY+/evQgKujrnksh7sb9JDZZ+APj9X2rTJQAIbwN0e1CGo8PbAF0fUFtmU8XkpKk5E8fXqssl98wD+j0rt9vcAqx9H0jdKfcjk2WaI+lWqRLpaba24bbRiLPbJYHU3yjHbuvy2fl+WXYc1x1o1ElGwQ4tkcTfuQ86Bq4n10uVTwC4/rWaW+3TQ3SKojhbReiW9PR0hIeHY9WqVejbt69bz8nKyoLRaERmZiZCQ2tBwxjySq76m9jGKtjfxAvZ5qoByaP4pLv62C0zgba3c9hZK5dOAvMflUJNxWsv2Dx/Sm3qte1b4OIxIGkkEN6q+o6zOPvfEQCYPx7YPqvkfsGRQHwPSax0Fnxu/lymeOyFRAMtrpclyU36XbWJl6Vx9/xdqfGczExZ2hUW5rqGgclkgsmkZtdmZWVV5i2JysT+JjXMuT3AxhnS1fLG92XI+u8v1MfDmgJhCQwqKiP7nOSmxHSW+0HhcmWvWAC9r/MlogcXSzAHAB1GVduhOrBvG35yPXByI/DIOiCogTxuGzFp2EpGImxTG3Xj5fflyiVg988yxdFmBNBysOwf0wWATv61BRORyfwd00iFAwuLxYKnnnoKvXr1QlJSksv9pkyZgsmTJ1f0bYjKjf1NagBzIXBwkQQUx9eo2w/8rt6OSAb6TJA5fttwNrkvOxXY+6tMc5z4SwpRPfa3nDx9A4DuDwN//Z9jVVJ/I5A4TKY6GnuozkTafikBfvIv4NRmoCDX8fFTG9WVP13HAd0eUvtqKIpMo/31oTVfYoPdKhadGlhEJgP/OqwGKKSpCgcW48ePx+7du7F2benLayZOnIgJE9Qhp6ysLMTGxlb0bYnKxP4mXuxyBrD1a2DzZ3IFDQA6AxDfUw0wYrtbq2QO5BVkeWWlAPt+lQTMk+vhUNKuMB84vVlqLwBApzHA6nekkFPLwRJMNBsoQUd1sbUNj2qvrug5swVY+Ya6j78RiOumjkhEd1Qfsw8MTNnAtF7ApROO79GwlSRetr5J3abTMaioQhUKLB577DEsXLgQq1evRkxM6ck7/v7+8Pf3r9DBEVVEg2D3ft/c3Y80dHAx8KddJ9HeE2RlhzEG2PqNXFXH9/Tc8dV0K16TZbk2DVpI4GbOlxyJVW8Co3+Wx4yNgH98LyfrgGrIdyutbfigKUCPR+V2fE9rQS1rINGwdcnCWllnZUQiN11NMvUPkS+Dv1T1bD5IpjnqNa76740clCuwUBQFjz/+OObNm4eVK1ciISGhqo6LqOLcTUeucNoyucVcCBz4DYAOSLxJTix1ik09NR+ozpN3vLvaD7HGyjwj0wV75wODp8gqB0BWQaTsAHwCJZhI2yv/2uRflp+Lbbmkrf5EVUvbB3x5I3D5fLEHdFIS3D5RMiwBuPUzx90sZmn4dXCxrORI3SXbDf7S0Mz2/JFfSMB0NSVeFppkymv3z0DrG4EOoz19ROULLMaPH4/Zs2fjl19+QUhICFJTUwEARqMRgYGBVXKAROV1PtdU9k7l2I/KKfcCsPUrybzPOg3Us16ArH0fOLtVbut9gLZ3AiFcmeO2zNMSTOyZL+25bfbMVwOLZgOADdOke6ZNw1YyApA8smqv3ou3DW/UCRhoza+rGy99XAz+kkBqG42I6QIE1i39ddf9V74uX7DbaJd4aSlUNzdsofV35V0sZskx2TRTlgQXd253zQsspk2bBgC45pprHLZ/8cUXuO+++7Q6JqJKYat3D0nZAWycCez60bHPwsVjwA/W0QifQKDTvUCPx4C6zLVyS1YK8MM9jsEEdFKoydhIphNy0oHghvJQqxslgTF5pCwPjWhTNbkqFouMmJxc77xtuCkLgDWw8KsjPUUaNJfKls4oilS4PLgEaHcnEBxu/VYNElT4G4Fm18koS7MBtT9HwjZ1ZDGrS3znPgjs/sn1c+J7yf4eTnYu91QIkbdjq3cPWP46sPot9X5UO+n6mHgzMK2nJG12HQd0e0Q9AZJzl05JMJZgrQ0UHC73obPmHLSQRMwTayXxEQCaXCOfLyBXrB3v1bbhl61teOZptdKmXg8sfUlGpWzqNVaXfMb1cHyNSCerBwvy5Ps4uFSmOWyJl3XC1Cvv5JFAdHtrxctaXKgqK0VGpDbNBDKOOD7273TpuRLRxjGwiO8lP/dWNwIGX6+pNMy6pFTrsNV7Nci9IFentiChyTWOgcX9f6rNp27/Wk447DTq2sUTas7EmS0yRfT0Xjl56w3AjR9IA7Dja4EtX6rP8wuWk0pUO3WbFidfV23DA8OAfx1Rg5b2d8lqjLjuspon1M2prQtHJCg5usKx4qUt8TI4Ut0WEilftdW2b4FfHi19n0sngQbNJFjv+bjTn7E3VRpmYEG1Elu9V5Gz2+WKatdPQOexwJCpEmQcXeG43+6f5aQDOJ70SHXxhAQSe+aruScAAJ0UBctNU0+o8T2BH++TQlZ6X1k+mTxSeldo3Zvj938BW75y3jY8MkkCDFvdiGv/XfbrWcwSLFnMUg0TkCDzwO8AlNpf8dKULUHajjnA9m/V7U/ukIDb2c9PZwC6PijThg1bqVNZLn7WrioNp2bm4ZFZW6u90jADC6q12OpdI+YCqY2wcaY69A4AR5YBi56XRE3bVWeDFkDvp9XmT+TaxunAhk/ktk4vw9rNrpPbx1YDP40FxlgLhtUJA3o/BRhjZYVNZXqklGgbvhEY85v6mn7BElTY2obbpjYi27o/GnLlkvx+HFwKHP5DciTie8v7AJIfcdOHUr+iNla8TNsHzHsYSNnuep/Tf0tgkdAPuPVz+RnH9QB8y7cQwhsrDTOwoFqNrd4racN0YN0HQHaK3Nf7yJLGVjcCPz8AnJeEbkS1l6JWrW7Udm6/Nsg4po5MDHgFaNpftre5RZZNtrxBilIdXQWsnOpYCTPrrLTvBtwbHXDl4nHp3umqbfipzTJqAEhdkQ6jgbAm5T/hb5xprZq53q7iJSTxMjRKcjVsvx8d76nwt+MVzIVA+j75PLd8KaMwN7wteRDmfNdBRXQHGY1oeq3crxNWqUDcGysNM7AgIkf2jZ6yzkhQERQuZZSveV4dnt/6lSQR9plgbS1dy646K+PCETWYsHUFBWSbLbCI7SrJrcteBUyZ6j71mwHJt8vJxhZUlIetbXhYUzXn4ehK4Pdn1H2Ktw2P7aI+5m7H0oI84MzfQOPe6rYjyyQZEwAatJRgpajVeA1PvMzPBfYtBPbMlURTZw4sksAiPFESaA8skiCi5RAgvHWVrNbwxkrDDCyISAKEfb9K745rX5RkTED+KBZclmVvO76TwMLmjlm1bz68snIvAN/crBZwAmRqo3EfoM1wIDRGyliHRMhjgfUkqAiJkjbkybfJCb88QZqrtuE3vKOuFInvJcGfLZBo1KliPztbxctDSyVYKbgMPLlTLcfd+X55n+bXS6Grmsg2VXRmq9TIiO8lAZq5AJj3oOvn+QRK5VhAgqibPqyWw/XG5fUMLIiuZjlp0kn07/8BOVLwDps+lXnfI8uANe9Ja21ATpBHVwHt7pD7DCqA84eBC4fkihSQYW1TtiTfJfQBEodL8t3RFdLwK+MocN3LMm0EyPPuXSjJmeW9mk0/AHw/Wmo/FBcc6Vg4qkFz4G4nBZXccd4aVNpXvLQJiZIlorbAwjadUpPkpEkQcXqzJFfapv1s2o8Ghn8shbxa3yQBOCC1NNreKaM9tm6qHuCNy+sZWBBdjU5vATbNAHbPVVtmB0dIY6qgBsDMflLwCpBVCO3/AfR6Ur0iu5qdPyRTHHvnS6XDACPwzGFZXqvTAbf+T65Yj64Etnyhfo6AXNWactT7fkESgLhSvG14VDs1KAmNlikXwHXb8Iq4ckmWEttWfqTtAda8Y31QJ5UzbX04ItvWrCmwK5ekFoetpoaiAB91kZUurtgHGnd841gS3Qt44/J67/l0iKh6KAow/xEpeARIaeRuD8vVmCkLeL+NJBD61pFAo8d4qfB4NbtwRJbQ7pkvJ1obvQ/QqLP0wLDlQ0QmAW81BfKz1X2aXic5Ey1vAPyDXb+PxQIcX60GEsXbhmedVQML/xDgnl9kTr9OJa5G7SteHlwi79vvWXXaq0l/oM0Imd5oPrDmVLzMzwVSdspS3hN/AfsXqo8ljQRGfi5BUVx3x5wJvxBZ5tm4j0wZFS/o5kVBhY23La/XKdVcTjMrKwtGoxGZmZkIDa2GjnrezFwgw6aV+aNAVJbsVOkc2mO8ug5+y1fyx7bjPXJSTLxZ3X/5awB0EmwEXcUrauyTWFe8IZ1BAQkUmlwj0xxN+6sFpIa+oz7353FyZZw8UvZz9Tlmn5OpBFsrc0UB3mkhNSxs7NuGx/eSfyvLXAgcWynLQQ8tkVUj9trcAtz2ZeXfp7oUH0WY+xCwc07pz3npgjzHYpafX536sly6Bq9qqurKm+6ev70v9LpaKArw3Z3AsTWyVj2ms6ePqEzeUi6W3KAosk5+0wy5yrYUSGnoTvfK422GS0DxgzWwuP9PdWVAZZY11nRp+9Rpjv4vSs0IQE60Z7bK59b8eil4tOtHYNFz6ohC5zEyegAAw6eVvLJ11TY8KBx45qAEMTqdvMeVi6W3Da+I/Fy7vBgF+HGsuhrF4CerO1oM9v7ES4tZ8kvObpWfyZHlUvK83/NA/4myj6sqr3E9ZdQlposaNOoNQONe1XPsVcxbltczsPAUcz6Qtl8K0Sx8GnhwlVdHyt5ULpZKUWiSrocbp8vJz8bWsConXYoybf7M2iQKQN046Tx5tUrbJ5/Znvnq9BAgSXq2wCK8NXD9q1J1dOlLwJUMdb96jWU1h33RquJBxZ+TZXmuQ4dOANBJwHflojpyecPb2nxftlbjh6xTHHmZUu1Rp5MckHZ3AoVXJJhI6Ff6FI032PmjfP4OzdjsrJoqgXNotOQDhUTK592okwQSxpialQ9SgzGw8BQff+DBFcA7zWWd+845kiDnhbytXCy5kJcFfNQZyDkn9w1+csLr+qAUO1r+GjBnlFqAqWEroPcEWebohfPGVS4vC/hsgGMwofeV5ZJthsuKjcJ8tefJpZOyegaQUYakEfL5NuokJ6y8LGlXbpsaues7yYMAZMTo8oWKtQ0v1/eUCRxeJstBD/0ho1FFdDLlYRuNuOEtZ6/gOYoiOSS2kYizWyVAiO8lfy8vn3cdVOgMMu1UaC1Dbmwk9VXII67CvyZeJDgcGDAZ+HOSXNG0vsnrrhq8sVwsWSmKJBU2aCb3A0IlS//cHqme2Ok+NdHOXCC9GQrzgOiOkgDY8gavHiXTlKLI55K2D2h7m2wLCJXgy+AnyZVthsvV+5UMYNfPwOeDpCjYgEmyf9NrpU5D62GS2HfloiRa7vzeedvw05vV6oqdxsj/76h2rtuGV/T7AtQr8WWvAps/VR/3D5VjaDEIaDbQ+zrL2pJiz2yVBmu2hFeboyuBMYtkOW7z6yVgOrJcclxiu0lg1qgT89S8DAOL6pZ9Dvhtgsxjh7cGuj8i5WAvHgPWvidr3L2IN5aLveoV5En1v40zpK7AUzvVaok3fyx/ZM/tAVa8Dgx5S4a9Db5y26+ODHtfDUPCiiLLQW05ExcOAz4BMhJhC+BHzJSr24IrMh0ya4RUrbTZr0hgYbHI8/u/qCZi7p3vWM0ScGwbHp6obq/fVLuluoUmOQkfXCLTHDd/ouYINL8eOLZK/m0xSI7FGype5mVJieszW2V5baNOsv3CYfk9LU3GMQks6jcF/vGDjE5cLQFxDcXAorotf1WWPeWmA/cvlauX618Dvh8F/PWRZOnXa+zpoyzijeVir1pZZ4HNn0sgahviNvjLidAYoyYHzn9XilsBclXX7k653eoGjxx2tUs/KFOLe+YDGUfU7QZ/GZm4kqEGFhGJwI9jJEiwjTbo9JLkV7+prBSYfYfaNvzGDyRJE5CTnUNZ7HK0DS+vrBS5Wj+4xFrx0m4J6sHFdoHFQM8XqSo0Se0O23TGma1SRMzeyC9kKqlRJ5mmyzgq2wPryWhQTBeZMopq79jR0xuCJCoTA4vqlLID2DZLbl//mrq91VC5ijTny5yuF/HGcrFXncwzwNIXgb2/qo2dQhsBXR6QfgR1wuSEs+Y9tfuobc45uoPnjru6KIoEBbbKlYeWAGveldsGfznZJg6XK3iDrwylG2PVUZsAozw/pot8XoeXyTSGreeFjW8dx6TNiDbAQ6ur/NvDub3AtB6O20KirEGENfHSprpHoswFQNpeWYJrWxFz8QTw+cDSn3d8jQQWQQ2ARzfI729M54r1RiGvw8CiuigKsPgFAIoUZ7GtWwfkj8HtX8sfOC8bou6aEIa6dXxx6XKBy33q1vGt1nKxVx3/YKk3oJglka3bQ0DLoZJwmZcJTO8j1RkByRfoMBro+YR3LxmsLEWRofU986WbZr9n1eTnxJtlhKHNLRJM+ATK9MCi54B9C2Qe/9bPJZg4uV6WYD6xXT6vK5ekpDmUyrUNr4i8TAl6Di6VE+71r8r2hq2kRLcxRr6fFoM8U/HSYpYRMdtIxNltMhVXmCejPP/4QYKd+s3kb1nxlUYNWqg5EfaNy3z81dU3VCneUhKAgUV12bdAroB8AqR1cnFaZoZrrKDQUvrj5tIf9yRv+Y/mtszTMt2RuhMY9ZOcPAKMwLD/AuGtgMhkx8JNAUb53fELliH6Ho+p3UdrG0WRk9ne+RJM2Bd12rdQDSzqxkmDtNObgWX/kbLlDqsjAPx8v3o7ricwyBqEBdYFbv8KiEiqWNvw8n4/5w+py0FPrlf7ewRZE7v1evl6YpvjlEBVUxQJDGx/l8wFwNvNXJe+ViyyjLn5QDne508C88dLD5FGneTLi//G1QbeVBKAgUV1KDQBS61Fh3o+AdSNdb3vlUvA6rclsbPD6Go5vNJsOHoBufnmUvfJNZmx4egF9GrmXaV+F+9OwSu/7kFqlqloW2SoP165qY13LY9VFKmCuWmGnCBt0x2nN6sjW21vkwJHG6ZJDYoxi9UM/2H/lbnp2pwZX3AF+KSHJDnb+ARKPkHicElWtMm/DOz+Cfj1cdevZ9823P7qGXCsQlqVZt8ueRP2GrRQEy/tVXVQkZ3qmBNxdpsEaHd9J9MTBl8ZMXEWWOgM8lkWn3Yb/nHVHjMV8baSAAwsqsPWr6Vsb0iUrMsuzc4fgPUfAXUayLI2VxXkqsn6I8UL+rjez5sCi8W7U/DwrK0ltqdmmfDwrK2Y7g21NwquSPXGjTPVqQxAkte6PSTLQgFZ1rjpM7kitM3xb/lChv+B2tcYTFHk5JayXZbNAoBvoPz/yTknJ15bBUy/IDkJfnOL1DiI6SJtw4MaAA1aAtHtpdbE9tlyUqxs2/CKsCVeHlkG3DJDvhfA2vV0pQQ2tqZeYU2q55hsFk4ADiwCss+WfOxKhiy5fdr6uznqJ2DuOMmhiOls/eoi0zK+zLHyFG8sCcDAojp0vFcSM0Miy65T0XmMrEM/f1BGLuyTPD3C3VYy1dpyplRmi4Ln5+4qdZ/n5+7yfO2NIyvUq2qfQKDt7RJQ2JLgss8BGz4GNv9PXd9fLwHo/RTQ7i6PHHKVURRZ3bJnniSpZp6UefvWN6kjM8M/lg6sfkFA7nnpSpl1xvF1Tm9Wb49ZpC4NbV5GMqGWLBa58j+4RFZspO5UH+twt3osvZ4C+j1XtbVrTDmSNG7Licg4CoxboU7x5KY7DypsrmTIUtGAUFnxMuonBhFexhtLAjCwqA4+ftIAyh0GX2DQG8C3I4EN06WwjgevSHs0aYCPVhxxaz9vseHIhVKTTQHg0uUCbDhyAb2aV9NxKwpwYp38IW9zi2xrMUhGJ5oPlBOO/VRGfq6cOG29HMLbSCXBxOHeWSXzwhHgh3vlJHXX92rfkbKk7ZOVUnt/ATJPqdt9g+TzycuU7ac2SkJm62HAjjmS5KgUm6LT6WVaKKGfDOOXlh9x6aQkcx74Xe4Pnio1ZSrr4FLpHFu84mWjjrKCo0FzdXNVNXjb/7vkdJ3dKj01igf977QAnt4tSZO9n5KLmPT9cpwNWzmORjRspa62ARhUeCFvLAnghX+hapHsc3KyKG8mefOBUiXv8B/AkheBf5TRpa8KdW9a361VId29qDjW+qPny97Jul+VBxb5l63THTOk3XZwhKzo8PGTP9j32bVyvnRKzb/xC5LleOd2A32ekZOsl60YgilHpvmWTHTc/s1w4IUzTp8Ci0USFG1lsk9tlKk/QIKJhD6ylNYvSK60P+ku5bBtLp2UEyYg5bfjugND3lRHecqSfgCY+6BMs9i7csm959vYJ15GJEmXU0B+fpfPWyte9pdgoioqXpoLJRiwjURc97Laq+TUBmDHbNfPzU2T1RwxnWVK6NbPpNx4dEcZmaAaxRtLAjCwqCqKAvw0VuaER8xQK825a9AbwNEVwMFFcnVmKw1czQx6HaaOSHaar2AzdUSyl620cPdYqvCYL56QJMutX6sJb751pGZJQa56YgVkCmDNe8D+34AHV0peACBX0T7+3hVQFFyRZL3MUzKaUDyoAIAb3nG8b7FI/sOe+dLYq+cTQPeH5bHYbnLy7TAaaDZAin8tfr7kazYfJEFERJJ8XskjHa/+nTFlS27Dib+kWml+DnDThxKsFT/eLg+U/b3bKl7aClXZEknbjFADi4atZAompou2S1OzUqT2gy2xMmWHNBCzyT0vzctCIoEWQySQLbS7QjX4SYJlI+tohH0uR2SydsdJ1a5rQhiijAFIzcxzOiGtAxBpDKjWkgAMLKrK/oXq8tKgClytNGwhzaM2fAIsf91jgQUADE6KwvTRHWvGCgsAPZrWx0crDru1X5XY9Cmw6Fm1kmPdePlZdhilXlUqipwo1rwrCXw2x9eogYW3DDtnnpapiuWvAQWX1e39igUAxlhg1I+yoslikdGIvfMlZ8J+Hn/xc3JiPLleTs43fwy0ulFOmPsWlHz/zvcDN76n3i+tsuSFIzK9YVuFZU+nlyDizu/kJBsS4da3D3Mh8NN9wOHljhUvDX5SV6TJNXbvoZOKnBWlKBK0nd0mIwi2EaxDS4AFpSR+7/tVVrMkjwTiewBjfpcVRI1sCZZJ2vYoIa9h0OswaVgiHpm1FTo4TnzZLkkmDUus1os/BhZVwWF56eMy31sR/Z6VpM++/9Lu2CpocFIUBiZG1oiaEB3j6pW9Uzn2K1N+rnwFh8v9uB4SVDS5Buj2sKxesM1TWyyS0Lf2PTXRUGcA2t4h890NW2pzTJVlCya2fStTOM4ENZCr9Y53AwnXqP0bzIXAR50c60wUVzRUr5OT6Jr3HMtvBxglnyT5NvdO1CunypTTBRcBZacx0sW1TphDYFKizknjujCkbAfS96nLvQ0+8nkU5MpUlm05aJNr1O6lFZWT7tjN88xWNT/j+tflsw0wSoDgin+o5HDYH4ttioOuCoOTojBtdMcSdSwiPVTHQqcoSrWm82dlZcFoNCIzMxOhobV0Pm/df4E/XpZqeY9v8bqOpbXd52uO4tXf9pW530tDW+P+PpVY3nfxuIxObPtGOoXeMt3usRNSHKi4QhPw33ZAdoqUm+54jwSfzvb1lJVTgZVTXD8e1Q4Y8ZmMqlnMklR5ehPQeawESyc3yIom/1D5XBL6AL9Yk5d9AqQugn8IcO3LkuTpHwp83FVyTFoOkWCi2XWur7Bz0qWraOItMirSoAXw+z9lRYm9xn2Avs8A8b2dJrzaCgrlZGagt34XrjNsw7WGHQhDpuRvPHtUzTk4vlbyPiLbVbwB1pVLUmjKlm9x4i/giyGlP6f/v4F+1guLrLPA+20kkTemk7WKZWf5/tmUi1D1BQHdPX9zxEJrOWnAqrfl9oBJ2gYVF47UvpoFVeD4hctl71SO/RwoipSH3jhD1v/bBh7PbpMrddsJzBYoFJqk8mPybfKYj7+MRF08AXR/1P3h+Kpy6ZSMTDQbIEl9ulJOUHofWW6Y0FemMf58BTjwm/r4n6+ot+s3Bx5ZpwYHuenA+cOyAuH0ZjlJx/dUCz/d9qWM7DkbAVAUWbJpW75Z1H10rPwz5C0ZGUocLkWaLhySlSGl5Dgs3p2CubNn4F3DEnTxPwBfnbrCJFsJRG5UX0TmXVIDi+JFtMqSf1mO2X4kIuOIVEYdZO3m6U7C6fkD6u3QaGDi6eqrv0E1jkGv84ou0wwstLbidak5ENUeaHunNq9ZaJJE0AOL5I91eGttXrfWqqLaG7t+kivx9P3qtqbXSe2JZgMdrxpNOVLE6q+PgJxUOcklj5THOo8t3/tqzRZM7J2vTscsfVF9PK7Y1MM1L0h9ldRdkjs07yFJSnamXoJMBTXpJ6s/di2Qz+3wn46rOyKT5TVs/UycnWRTd8mI0KGlMsLjjH+oTEPFdbc7BhcjRSfWARHJMNdpIAWDdBnoadgLADhiicJySwcst3TAFktL1D8fjLWhsTCUfKWS7Eus52UCX9wgy2iLL4cFZAWMbyBw7b9liuP5k8C7rSR3xSdA/m7YL/cMbeT4fAYVVAMwsNCSuVD+aAOS0a/V8KSPv7WDoxlY8gIweq5HVgrUlL4b7WPq4hucdGu/crl4XIIKv2DpS9H1wZIrEy5nyGjGxunqapDQRuX+eWn+WedfBv7+n2Mw4Ur3RyQXISJJfufObJEkYvtyzvZNpjqPlRGCuO6OfUpWvy0JnzYRyRJcJd3qvKz9xRMSgNk6XGadBbZ+5fwYk2+XeiClTZlkpzq2Gs/PAW58H5vq3YyUzDz8gc4wwILllg44oTj2V3FZUMhillEX+5GIeo2B276Qx/1DJWByFlTY7P1VAgtAPsdbZsjnEZHEtuBUKzCw0JLBBxj9swyLN+qo7Wtf/6rUtTiyXP5Qthys7euXwX4+urnuNLYqzRFlDPRIYlBZIusGVm4/RZGlvhtnSABh6x3R6T65Ymz/j5Kl1s0FMhXw9xfqyoH6zaS6Yts7HJeXlkGzZkKmHHUqzuALrHlHyoO7MuQtwJQF/HC33N+/sOQ+rYdJJdmEfjI1otdLvZZpPaQWAiCdQ5NHSmLntlnSzTd5ZMmRNnOh5EjYmnCl75fEyMi2UiFy+CfW5NeB8rka/KS2R7MBalns4nIvSM+Vg0tK1qoIjgDMhUWFglJQH1+YXec4OBQUWv6a5ESc3e64MgSQAKPFYKDdHRJA3jkbmDVSLW4GAAF1JaEypkvJ4mHs7Em1DAMLrel02gcVgORWdH9EEkOXvCDLT8txsqoMW4ObPvodeMd/BsJ1l/CruQeezXzIIw1uylTRmRBTDrDjO2DTTLkqBaQWgi2wCGrgujqj3gc4/becdCKTgT7/lHLUercG04tUupnQpZMyzbFnPpC2Vzrp7pknOQxN+gN75pZ8TnAk0HWcDN9v+aLk44OmWNuGJ6tX1IoiUxxzndR/sAUv9ZtKO3L70RpzgRzPwcXA4WUlm1odWqo25howSYpfATLl5GzUJy9LRghsI0d6PbD6HXXEILqjXatxSbwMd9H/JgIZaKc/grb6owhDFsJDPlcfPLpKElRdWfCkjMQYfKRxXM/HZfompou1bkRTJljSVYOBhRYKTVKPoNvDbneYrNBQd59ngO3fSRLYphnyx6uKmS0Kpv66DZN8vsR9PmonxpsM6xGvO4eH8idUe4ObspzPNZW9k/1+F47IXP72b+WKHQD8QqTuRJdxzp98bg+w/mPp5VInTE56A/8jz282oEJTVRVuJmQfTJz52/GJi6yNyuaMKvmYTU4qsPxVx23xvaWEeEJfNZi4eEJGIFa/5fJ7ON94GNb53YDwIxfkd1oHmZKwTZHoDMDiiSXbmNsY/CRfpc0tjvVf7D/P84clMDm0BDixXhI2H/hDHgusJ0FdvXh5HSfJsbaCQo2ydqCHfg/a6o+irf4oInSXivYxQw/UywFgnQrpMR740UVgEdpIgoe8TLVMt20lB9FViIGFFjbOAFa9KX/cH91Q5kmlwkPdAaFSuvfXx4BVb0lyqNalgovZdCwDeVnncYv/WgDAl4XXY4WlA973/Rjt9Efxkd+HGJk5qVob3JSlQbB7hYCK9pv/iAzJAzJ90fUhoN2dzssbn9osNShsPSbqxgHXWAtFxXWr1HFXqJnQ2g+APyeV/eLFgwqdQU7Icd0lqfHiCZnmaDNclmnagokLR4Af75VESlf6/BNLG9yNSb8fRcr+PPjv34Qe+j04G7ATNwTsQqDeDEzYD1w6LgFb13ESjBdcllwUva+MwCWNkOWmzjr6Hl8rLeUPLZFpEnumLHk9W67FtS8WezxbpjBStgPdH4VBb8CkYYm48v17uMWw1um3ZIAF+LAt8PRewNhIPpfz/5affXQHazlsa5KlLSeEiAAwsKi8nHRJUgNkBMGNoKJSQ93tR0n308sX5Uq1qgILa6Z7WnYeUlEfzxY8hDz4YZWlHQDg5vxX8aHvx/h3wVgAumptcFOmUqZCgnEZtxrWYL65l7pft4fkZNbtIaDJtSWHrBVFkv/WvCuVMQEAOpkiaXmDZodd1mfYCOm4wbARplN+QHw/GWlwp1S8wU8Krdm7f6mcFAHJSwgwqktl87KktPbvzzh/vaj2Uhyq99NAYF0JlGf9gWsN29Dfdxt66fcgUJcPWADYVvS+2VhyDvr/Ww3E8q3TRq2GqhVJbXLSHX+3N05Xq3LaKl62GCQ5GfZLsAvyJAgqKjq1zTqtZf1hNxsAhLfG4KQo7Dh5M65s2oxAlDLClWYNLACgx6PyPXtjEzgiL8L/IZW14nW5YopqB7T7R6m7Vnio255eD9z+tSSiuUpgq6yLx4F5DwO9n0Z4iJx8llgcE85OKRG4JX8ybEVjw0MC5I94ZQoIacTZVEiCLgX3GJZipGE1QnRX4I98nM+11iZIulW+nLGYZfngqQ1yX+8joxm9niq7V0U5OWsSZAsmhho2or3eWply5WxgpXUH+54PrtgHFXXqy8iE/Yk8qL6MWOz6AQiJUotZFXfHLCm9rdPJ5wL1d/o+n8V4yOc3588DJKjQ6R2XjfoFqdUtLRYgZZt0Bz24WEYXHtsCNGgmjyeNlARI+4qX5gLJC7G19QaAdR+UXtxr9h2SXBrbBe1ueBCWmHpFeSIF/vXgE9cVOttyz+iOQGBdx+MlojIxsKiM1N3qcjg3lpdWaKjbmXqNy3+s7lAUSV78/VmpxbH4HLo+urmUBjc6tcGN4SDw2TD5w3/LDI9WG7WdoHWwoJ9+J+4zLME1hh1Fjx+xRCFVCUN/V93+LBb1Z6k3yMktZQfQ6V4pcORsqaQGbHP/FzKzca9hiWMw4UrxaQFATv6Jw9XEyqCGEkwkDpcrfdsV95mtMg1kX5ejuJiu0kQvrIlUjtwzV1ZcHPoDuPVTbNJ1QEpmHpbpOqKT/hDWmJPxtO/PRU+3KDpstLRGRM+70KTPXY6jEKZs6yona8Jmbprje5/5Ww0sWt8EhCfKSMSyVyWITd0pjbbunC2jHoBMU5Tm0gmZ+rGuzNA36QeM+BSI6Qzfegne1fCNqIZiYFFRiiKrMxSL9Q922f0M3J0ucHtawWKW7pmh0XJCr4zLGZLZvu9XuR/bHRgxAwYfH0waluiyu6kCa4ObnL/kj/L+hcD/BgF3fVfxHimV1DUhDDGhPvg8bwJa6k8DkBPcckt7fGUehHWWJEQY6+D94t3+Cq5IcuJf/yfHbyva1P/fwHWvVG0+S14mDAFG3JpkxI71m/Cibyltr+1FJKndOmO7AWOXyM+hMF/qT7S6QYIJ2+qU84eBb28tvY9Hj8dkiWxkskwj7FsowcTJ9Y71GXZ8jzq67XjXdwX+WfAIRua/AgCI059DjO48fjN3wyJzN6SjLv4b1R5NghrIKIMtf+P4WuCHe9TX8wuxthofJCtYbFMQR5YDP9yrJtYWt22W/B+I7iAJmw8sAz67znGfunFqQ65mdo8FhwNtby/1Iyai8mFgUVEHFklpZ4M/MHCyW09xNtRdmf2w+TPJ+q8bJ3UFKtoN8/CfwPzxMmev9wH6vyBD/eVZKpl0q3S3nDNKTnQz+wN3futYEbGqZZ4GjDEw6HX4901tse/7OEQpGfjB3A9fm6/HSUVdIeDQ7S8vS4pHrf9YvWreNBMY9l+5HVpFS2kvngC2z5ar9QuHYbnxv3hmyxigPKuI7VuAW8zqFbePHzBkqgTApixZmfHtSMnLKS44UqY5fANlVMA2WpN+QHp42AtqKFMr+bnArh/QDkA7A/Bp4Y3Yr0gg+a+Ch2GBvIYfCtBbvwtd9y8FVq+W1R7XvSyvldBPAqOGreQE7+Mv+RF/vAz0ngD0fEz2M8ZagwqdfH+2rrE2B36XqcHoDnLskckSmER3UJd72hrEEVGVY2BRUbFdpeJgnfpuT010iq8HvQ6wlJJcqNfJfm7pMFpWBVw6CWz4WJbZlVfqLmCWNb+gQQsZFra17YY6h16aoryQ2K7AuOXAnLvkdb+8ERj2gTqPXhUsFjkxb5oBHFkhq3LCWwEAXi8YhRfwACJ0F9FJdxDnlHow2Z+1cy8AG6dJEGGrImmMA3o9UTXHrCgSxC16zrGTp5X+5zHlf83gCJkmaDNcSmnb3ufIcgmWDi6RUtp16qsFrGzqNQYe3yr9bWz1I+qEATf9nzzeoIX0/KgbJzkMKTtlpMNu1EKJ7oj/O5eMdKVu0bb6yER/w3Zcq9+O3vpdCNblAbbZlsPLJLDITgV++6eMlO3+qeT3dXab/EwCjFIDYswi4MuhJYMK6KTwln3pax9/4J755f4oiUgbDCwqKqgBcOP78kfcTVtOXCw1qAAk6Nhy4qJ7Szf9gqQA0rwHgdXvSvJoea+uI5Plef7BwIDJalMoq+J5If7IR5wuDYeUmKJtDnkhdWNlOH7ewzKt8st4SQhsVmxourLyMqWl96aZwMVj1o064MRamBu0xPNzdwHwwTM+P2Csz2J5OB+YZ+kDAJj48w4MqvscdLYpgQYt5Co5eaT2ZZW3fycrGg6Uktzohu8Lr4G/Lh+Dgw4hoO0ICSZiu8nIksUiSzHnPuRY8dHGFlSENZURqeAIWeHy6bWOFSoDjMDQ96XQl7kAGL9RXv/QH2r30Mi2sjQ0cTh0YQlosTsFGbO2IgxZ6K3fjam+n6KOzslKi8hk4L6F6vscXCz9RKCT3xEoMuqiWFvL/3AeuOcXGYWI7wnUjZey3LZRiEadZVTC2bJgIvIYBhblZT9HDJQr2Ss1y73cCXf3AyBdMzfNlES3Zf8BbplW+v4Ws/R9SL5dLR5088cuE0/PXlQ7gEbjPP4KeAIAcJvpZWxWWhXbzxoM+QUBt30FrJoKnD8kNQq0cjlDVuJs/04trRxgBDrcDXR5AAhLwKZ9p3GX6WeM958vV8tWDXSZ0MECBXpcvGLGiXa3o3HAUhnpaXVj5Vez5GVKnYtTG2QVw/JX1d+XSgQVrxf8A5+ahwLQIRiXUW94H/RrZS04dTlD8lp+dVEsrem1Ugmz030yslEnDPjmFhnRKGKtFhvfUwLl70cDR5ZJwbfrrYWzmlwjQWzrm2R5Z14WsOtH4MMJGAxga6OOMF7YBn1pa331Pmr3Ut9AGRnZME2CnqwzJfc/t8exwde45bKaRcsEy8J8+T0qvtyViCqMgUV5LXpWph4GTy33csOMHPcqQrq7HwA5GQ55U5LVdswGuj7guraBbRnpyfXAsdXAP36QP9KlnFC3n74EAGilO4kv/d4s2n68WNOm7acv4dbOdqsl9Hq5MrZY1BNB/mXJYajMqhbfOnLlXJALNGwNdHtQEg1tSwG3f4c2v7+MHr5pJZ76ou9snFTCscQieQNz/W/GhAdfqPiJKvOMfJYnN0giYvo+9TFbbZNKOmCJwR+WTrAt682DH45s+g39Du0E+j4LvJ/o/IkPrZHP5OAS6TGTdKt6Uo/pIgFQs2ulGJbFLKMXG2cCZrvfvTS778fgCzTuC/z6BHCiZFGpehecJ/ciJFqqbipmCRJ+HKM27Gr/D2DnD7K6A5DOqPajEZFJjj8bN6vaunT+sPwf2f6djDgqiqyI6XgPcON7lXttIirCwKI8zu2RwkGKxbE/gZvCgtzLynN3vyIxneXkuvN7YPELwNjFjn+Qiy8j9QuRJDq36NBDvwczfN9DqO4KDlhicF/+c0hH3RL7OWULWhQF+OVRKTR1+9dSKrosVy5Kxv/hZdLRVa+XBNUhb0kyXuM+jt/nhSPA9m8Rml8yqLDpoD9cFFgUwsf9oMJikZOjbbRqw3Rg8XPuPbcSPiwcgbNKA9yqX413/abLRtsK0y1flnxCXE+pvfDTGODCYXX7kRVqs6sej0l5eIMv8N+2jgmd9ZtJ87CkEWrTsD9fAda+X/qBDpoiS1p3fg+c2iRLSRWzJNSetQs6UrYDN7wtJ3YA6P2U9F9p1EndVlkWiywrPbNFkltPbS4ZDGWfVW87W7JLRBVW7sBi9erVePvtt7FlyxakpKRg3rx5GD58eBUcmpdRFOlxoFhkOLhx73K/RKTRza6bbu7nYMArkoR33UuOJ0sXy0jdHTXon78Kr/q9DgDYaGmFcfkTkIWSNSriwuqU2ObAlC0t5a9clKH4IW/K1IUzafukTPrO76XsMyBJjy2ul9vJI9V9z26XRNH9v8m8vF3iqb0zSn08kP8M9inxRduy8gpcH29BniQQnvxL2lynbHdsFW4T1U5qXJTF4C8jOG6U3z5laYhfLT2gh4KP/T4sfefgCJkOCzDKMtmTf6mP6X1keqPFYFk6u2+hfI5D31MDvmYDZVokaYRUET2+Vo5x43RZ+pmXJZ1eXWncR57b7h8S9PV9Blj4tCSO2uj0QHgbCYBjOkvlTJsm15T5eZQq+5xMyez4TvI1AoxyAWDwLb2Ta2Rb4JqJkvdhjHG9HxGVW7kDi9zcXLRr1w5jx47FiBEjquKYvNPBxdblpX7qvHM52QoglVYkK8ooDcnKLTS6ZCZ86m5Z8VHRZaR75uHavS8U3X2pYAy66g/gFd+vMMQ0FdlQg4lWkSGlv1ZAKHDfb5ILsOsHWRGQtk+mlAy+Mhx/cLGc0I6tVp8X3kamO4oHcukHgY+LtZ8GJBhwopHuAhJ1JxwCC4dBloI8uapdZZ3COLNFVlPYKx5UAICvm9UYzSa3gopnCh7CFksLvOrzP/Q27Cnx+GpzMny7jEGPg2/K9Mb1r8nPM+OY5J4ENZQy1y0GSSOx05ulqNWKKTJaBcjoVnwPICtFfp8vHpNy5WveVd/IlCW9b+xFtZf8CsUixbLObpUplONrgIhktR14k/4S5NqmNaLaV75gmqIAuekyGnJutzWYdNLW3SaooSS2hieqXVmbDay6pcNEVKTcgcWQIUMwZMiQqjgW71WYDyyxNjbqMb7COQIGvQ6ThiU67RUCyHnOob5CZZiy5Tj96liXkc4suyphcekHim6+UHA/DiqxWOovw/+Tfb/EhIJHix7PuJxf4ukl+AbIcYS3lkTTzZ9JAabbvpJ/51hLouv0Ukmx60MSUBQfgXkroeRrN2gJnD9QcrudaJ101OykO4ABhq0Ys2cNsCNL6iRcOlH28TtjP0Jgkzgc2Du/3C9l0fvhCcNczNP1dhpULDV3Qlv9UURunSAbLh5Xg8SwBMmriEiSz+Gv/5Mgzj4YCo6QpNLgcODrm2VaqjQ+gdLQq8UQ4PhqGYmwX0ECAD4B8ntlH4Ql3qROu1SEKVtW0WyfLVMp9RpLMGEpLH0UIsAI3PCuBBL1m7nV06NCXYaJqFTMsXDHpplSdyAoXJYkVsLgpCg82DcBn6455rD0VK8DxvVJKL0BmTvO7ZFh4a1fA4/8BYz6SZby+ZUxVWFjLpDRjR1zinouvFVwB2abHZeLZimOrxdWx828EJ1O2nErZmD5azI68d2dskQ1oZ+cpLrcX7JqZ0Ge/BzWvOP8dcsIKgDgn74/oZX+JIYarO2vbefC4kHFTR/Jz7usvAKbga/K1E2WVPmsSFABAHpLPuL06XhSP8/p49cbtgAAzD51YGjaXz15mwtlGWZUW7mfnSot4IvLOSef/4l1ZQcVgKzaaHub3LYVDqvfTEYiGnWSfyPaVG55rilHkl9Td0rwsPvnkvvYlhPrDDIKUy9eAigff6kqGt6q5HPcUOEuw0RUqioPLEwmE0wmNdM8K8tFWV5vpShqAZ/rXqr0mvnFu1Mwc/WxEiMWigLMXH0MHeLqVeyPmsUMrPuvDIdbCmXbH5OAkZ+7/xpXLknlTCjyxx7ArthR+OSQ2sFzlbkt+hl2YqfFsfnV/tRs9GlRRslrc6FUSdw0U+0SGhwp9TN0OuDeX4vtXyC5IRumyXLAQ0vd/15cKAoqXJl4RkZMNs2U+/5G53UhAGDou8Ce+cAfL7l/AJ3HOuYfuOmkpSGWWTpihaU9Ilpci7fv6CIBwoKn5DNqfZMsmf1+lPTPcGX9R4736zeT5Z7ORgJStquBRaPOwLPHKr4yozBfcjW2z5YeJVFtJZDIPCOjHrZpGmdu/EByIsJbux8gl6HSXYaJyKUqDyymTJmCyZPdK3ntlXQ6uZre+YMsj6sETbqbOnPxhHUZqXVYvmErmcbY/RPQdZx7ZbUzTwOzRjoumWx7J37SPwwcOlXm00/Z1bso4XKGNGvb/DmQaX0tnUGmO65/Ta5AbTKOShfLLV8Ca95TTzha1sIozZRGjveLBxU+AeqJ+zcnlU79Q533tPjHj5I/UoGg4jrT2ziiRMMHZtxhWImXDg0H/nPFcacTf8lKn9KCCpvwRNk3uoOU+QZklCoiyZpg2UUCCft25D5+gI+bQUWhSXJUzm6X4MHZ6Emm3UqUhm1luiMiSZbERrSRJOMq6pJbZf8PiQhANQQWEydOxIQJ6vRBVlYWYmOrpjtklfHxBzreXemX0ay7adETii8jDZbVFu1HAQuekOmQRc8B41aU/kf63F5J8sw+K9MmjTrJqMfNHyFmnWNQUU8nJ/pAnWNORWw9F1eSe+YD8x5ST3iBYVKsqcv9JbPxd/0E/Hy/47Y6DSQ46jxW8lx2/VDGh+JaplIHuy0J6OUkf6FUIdFA33/KVfPnA0vf11WjrNm3le897dxhWIl2+iPoprfWxS5+RoztJqXYHYpeuRCZDDxst/TyhndkW1Q7KVpVHhazBBDbZ0u9jIS+Ekik75cAobR8iIGvyntGJle+PkU5af7/kIgcVHlg4e/vD39//6p+G+0pigwxt7xBsxLPmnY3vZwBLHxKzdyP7Q7cMl2S+ADg2peA3fNkOHvHd0CHUc5f5/ha4Lt/yJV5g5bA6J+lLLe5EDD4oEVDx2z+tnqZ7x6i34hvzQOKthftZ7Ym2Nk6gUZ3kKZVkW2Bbg/JSgZnJzBFKRlUAMC1/5YT0PxHZKlkJXxv7o8++p1l7xjTVVZV/PWhJD+asp2PTlSDP80d8KBPGVU7T22UehSlie8NxHSS5aH2uo5z70AsFiB1hwQSqbuc19DYOafo5mW/hgiM6wldZLLUpwiJApoPlCDdwzTvMkxEDsodWOTk5ODwYbXwzrFjx7B9+3aEhYUhLs4zbbKrxMEl0tI5MhkYt9KtDPOyaNrd9OJxqd2g95H1+L2fdlxGGhwO9PuXdIpcNlkS/WyVF212z5XRBLN19OGe+bJsFSj6fv86er5o9xidWniqt2GPmvwIYNuBw+h3/htg8/9k/vyu7+SBevHSGKxBC8fVHaYcORG1t+YErHFR+XDhU2V/Fm4q8wQNSNJoyg7gtF0uRmnz/1VsgMH58lmnwhOlZsWpjdYqlta6EQ1bu//7qyiyQmfnD5LA2+w6WRZ8bo9Mh5QyCvG9/gYszWuNvZbGSMkLQ+SVALyS3MbrchU07zJMRA7Kfbb8+++/0b9//6L7tmmOe++9F19++aVmB+ZRhfnAUuvy0qbXaRJUAGodi9TMPJfLTSNLq2Nh3zehUUdJHoxq53oZabeH5coyO1XqOxSvdnn5ghpUAMDSl0oke649nA4ACMdFrPV/yuGx1roTiNOl4SbDOgzdbncizjoNfH+3LOMMrCtJdw1bymMXj8uUhq0GwcUTMmWTd8n591DdnLUVLy2Bs4otMXfGMSUSD/uUUrMBkC6l9jkR7lAUqc55aqOMQmyaWbJ76Nav1NvBDdVS28YYQO8LJN6ExUfy8PCskiW9U7NMeHjWVkz3skTISv8/JKJS6RSlHO05NZCVlQWj0YjMzEyEhnppV8L1nwBLJkqRnce3ato90ZaNDjhOlduu5V1mo5/dDvz6GDB8uvxhd9eZrdKrwTYSYa/gCvC6tedHULiUArc/OVnM6PbGclzKycEEnx/xkDtX/K5Ed3Qs7ewhLxaMxeu+kkC5PPJ+XFu4Rq7Qq0NcD6D/i9KF9K//q9BLZCp1cDhyKDrVuwL0/ZcElu6UJc9KkUJZO76TJMnsVAkmFAtwJcP181oOlcqakcnSGbVYkG22KOj02h+4dNl1FdO6dXyx5d8DvSoRssL/D4muYu6evxlYFJd7Afi/DjK3PuxDoNO9mr/F4t0pePWXXbj9yndI1h3F4wWPI9RYz/n6+aJlpG9IEaIm/UtW2HRXoUmWo/Z6SlYv/HC3LP/0t1bFtNVBMBcA274B1ryPFy8Nxeu6MjqmUpU6YQnHCkt7TCn8B0zwwzdju5a+tDfrLHB8HXBul5Txzjjiet+QaAkmI5NlVOnKRSmiVde9BOt1h85j1Ocby9zv2/u7oVdzjXqBaIR1LIjKx93zNwtkFbfyDQkqIpKBDqOr5C0Mhbn4oPA/6OKzCwDQ3nwYR5TOJXcsvoy09TDgxv9W7E2vXALebAxAkVGMunESVBj8JR8iqq2asLrsP0UNrEoLKhaZu2BSwX0YZliPl3xnldyhrrWQUSVahhPQL/992Ncf19uu/K9ckjLo22fLygpzgYxCmLJLH4WISJYuuJHJkn9RidoQ6+1ycMraz9sCi8FJURiYGMnKm0QaY2Bh79xetc7A4Cnu99Qoh8W7U/DonH2Y7usHWF9eDwWpWSa1ME+bSEmc+/1fJZeRVqTFd+YZx/baBZeltoBOLy2sG/eW1SG/Pq52enTWcKuY9wtHopt+H+J155zvcOlExUtlU5GWulOoi1z0MOxBG90JtP/5LHAlpYxn6SSoa9RRpsJa3yTJnak7pUqnogD5udJLBIrcN/gBjXupL3H6bxnBUBR1H9u/eoOsnLEGPJ10B9BQlwkdFOsXim6LZurrHl8n9UycvS4AtLtLnXI5tlqC3OL72P7teLe6yujoSkkyLf66tv07j5VW8jvmSKddyH/BHoD83xr+iTs/DiIqA6dC7KUfBH6bIAmHdzi5Aq8kc2Eher+9CimZeQjGZewOkO6ec829i/puRBkDsPbmyzD8YB0tie0G3DJDXUZaXmn7pEZF1hl1W6f7ZIh84GTpSvlWgvckT5K26sYBT+1S78/o67oba1BD4F92rdb/N8R5LxRAmq+9eBbrDp/HqM824ivfqehncL2Ud93oI+jVzDpi8f1o6QXiyouparAw9yGHZawl/OuojNbk5wDf3aVWdK2IVzyToEtUU3AqpCIatgDuXaC26taKuQBY8iIy0lKQknkHAB1y7DqDttapV/UpmXnY5NsNPZpcIyMJvZ6u+KqU4+uAOXfJyEP95tL1csPHElTcOVuuBj9sx6CiJurzDNCkn9QvmTVCupvqZJxABhF0cj+0WCXRunFA/mW7fe3+DSy2CqJ+UzlhO9vXR0783ZvUR906vjiYH4M6ljy78QrIbUUHg0GH7k3sCk1FtpXlxs5eFzoZSQOkJkpwuHwPOWmSY1R8hc7bjqXlK2w484iItMIRi6qWkwb8eJ/0dQAwwvQKtiotAADHA6RE+DFLBH4298Vn5huQB3+8O7Itbu3YqHIljc2FwLQesuIhthvQaYyMenx/t9pQimqE+/P/iX2WeJyFXPH3alof345zo0x7NVm8O8XpclMbh+WmiiKBbs4561ea/H6GRMn9LV8Cq9/S/iCDwoHk24Cm/SVZ2RgjK6UqMrVIdJXiiEV5bPpU5nH7PadteeHTW2TYN/ss4BeCLyOex9ZDJac0EvTn8Iz+RzTUXcKkwjHYcOwCbu1cybLnBh8ZlVj7vtS5mP9w5V6PPKJt3kxkwbH66X1d413s7Tl+KEADZCJcdwkNdZewy5KAVMgoRYPUNcDSyWr3V611f1QCkoLLUlujzXDpLdOwFdCgecnCcERUpRhYXM4Alr9qXQnSBuh4jzavu/VrKQNtzpeqk3d8i4+mH4etXKUejoWI0pS6WGGRQlcr9ldwRMFWdjm6g9SoOLsN2Pur8yZQVCNcp9+GeRbHMtyrjp7HwHbVsBxSUSR5M+ec1L0Iby2JoABwbA2w+i0oWSkYeOEIDgZYSjw9RQlDlC4DWFviobI1bCU9R1wJawLc9pWsbNHpJNmaiLwCA4uVU9Tlpe1d9NMor2X/Ada8K7db3SjztwGhyM2XegIxunS86+s4pzvINBUXIUNLufnm8r9nYT7wy3hp0lW/uUx3lLGqg7xE0+skqP3rwxIPpaBkE6wTGZXMASq4ok5D1EtQ+7qc3ACs/QDISZXHbHkNNo06y6qRzDPSOReSzuFq7VSUrpQlr6W5c7Z0vj2wGDj8hxTmiu4gAXoQm4IReburO7BI2y+tvAFg8BvaLS9teq1UVuz7LNDnn0W5EhEhfoi9tAmf+P4XITrHtte2oMK2X7lkHAU+tCvrfeFQ6fsn9JPhYVtZbfKMkV9Ibw+DH3Dmbyw/nImFpwNxXInESSUC5xEK+/oVNrH1nDRxs5ilRHvOOSl6ZTsBn/4bWP+xNVCwBgz2HVi7j5ck4awzMp1wbrfr4z3zt3xVwK6k55E8ciLwxyRg3QeOD/oGAa1vlOTipteq05EtB8sXEdUoV3dgsfRFQDHLqELxPhrlZcpW53Ib9wae2FaiLfhLQ9rgxW/PwAIdNltaoIveeSnpl4a0Kf29rlwENs6UYl7uSLxZrjIzjgB3zwdm9nPveaSt1sOAyHaSRBvWRIb7bcWp4rrjYOsGmHvygMNT6iAPDXWXcFEJLsq16OhzApg/wy4B8hyQm672+Rg+TQKWrDNSwnvP3JLH4hMgzd82fCxfFdH5fmyJG4PcHx9BX8Mul7ulK0boo5KtzxkLNLlGRh+YPElUK129gcXBpdKGW+8LXP9q5V7r7/8By16VXhu2Zlv2QUX6AaBhS3RuWh+pqI+R+a/gqBKFIwF3AwCWmR2biHVuajfcay6UokZ6H6mOmXseeLsczaaGvgesekuuVgEGFdVh8FQgtqssM45oUzJ50FwogYClUN2Wuhvt97yHj31PoaEuEw1xCeG6SwjSmQAA/8x/GD9b+gJQYLlwGDjhrM6KDoAiLeZd6foQUJAruUUHfnd8LChccozCWwN75pU9omXwQ/ukJEz9tS/6FqqBxW5LY/xo7octluY4rkQhxFgPa3tcKw/Wi5cvL3El34w3ft+L4xcuo3H9OnjhhkQE+mlfGI/oalIrAguzRSl/Wd5VU+Xf7o/I1WNFFJqA35+RRE1A+mtc/5r6eMEV4M9XgI3Tgbu+xzMbJGA4pDiOZPxiVqsd1kEePv/6c0yI3qO+rk3izcD+YicDZ+J7SVXEP16Wgl9UPTrcLT//wLpyP/0AsPpt6zSENachO1WmLKAAN38iVSYvHQeWTUb380tdJiy86zcdj1p+QaQuA0EnTI4PPrRaqrOasp0Hji1vkFoQZ/4GNs1wffy5aYDZBCSPlGN0Y6rM8FY8Xix0zOVZbWmLr8yDiiZx3hmW6JVlssd9vRl/7FUTpdccAr7ZcBIDE8Px6T1dPHhkRDVbja9jUeFGQjlpshTzmuelfHV5ZZ4BfrjHOuesAwZMkuZetqHdlJ3A3HFqZnvfZzFoZx8cSM0ueok9/mMQpDNhsbkL1lna4FXfL917bw+28b5qXfuSrB4qy80fqz1m9swHfqx8E7sNltbort/nuLFOfZlKyDgmVSpz050/Oao9cMM7QGwXGVlb+HTpbxYYJoHInnkysuFK4nCpCbHgyRIPDTJNxQElzqsbehUPKopjcEFU0lXR3dTW+rj4N1DlrY9P/CVBRW46EFAXGPk50GyAPGYxS3b/8tcloz44Qk42zQdi3Feb8cc+9Y+ZrUAWeTnfICC+p6xQ8AI7G96ItuOtS4gP/ykl20sT01WSiHfMBvb+4no/n0BgyFSnwUKRbo9IrogxRvpu5KbLbf+QGjOtcCXfjNYvLy5zv33/GeyVx0/kKbU+sDBbFPR+c7nDSIU9HYBIYwDWPnet4zDs+UNSNKeijq8Dvr5J5scjkqSniK2PR/FupK1ulNbr1gz99CwTurzxp/pSDCyooga9ISf5nd+XXfzM4C9THK50exjo8ZiMglw6ISXfjTHSOt0YKyMjBt9S32LK73vx6ZpjsNj9NdHrgHF9EjDxhkTXT/SAl+bvwjcbTpa5393d4/Dq8ORqOCKimqHWV97cdCzDZVABSE/DlMw8bDqWgR62ZMj0A8AnPYBm1wG3fwP4BpT/jWO7WksQRwI3/Z9ctdmk7pSgwkU30reX7nPygkQVsOQFyd8x5zt/3OAP3POLFJA6u032rxsngULdWAkcjLGyrU599fc0vLV8lcOU3/dixupjJbZbFBRt96bg4th59+qAuLsfETmqsYFFWrbroMLlfkusy0v1vuULKrLOSudHg698/eMHCSh0OqlOaPuj3HoYMPBV+ddJN9I/9qjtxZvozrr//kTFtbxBVnXo9LLMNKYrUK+xOtKQ0E+aiAFAQh/g4Up0/SxFfqEFn64pGVTY+3TNMfzz+lbw86lE7xsNBfq6dxzu7kdEjmpsYBEe4l5gULTfoT9kjry8y0uPrZYmYsm3y/wzAPhbezccWQEsfQkY/ZNa6rjXE85f58pFtCrYi/WQBmTHlMgSuww2TcUV+GGVP1dyUEkT8h/GXEtffDWmC/olBAOXz0sxrIp2v9XAN+uPO0x/OGNRZL/7+2jUibSSrk+McMh1Km0/Iiq/GhtYtI+t6/5+1rblAIDuD6tXcqVRFGDDJxI4KGbpTpp/WQoaFVwB/pwMbLSW5V45FRj2gfPXOLFOlo3umYfvfPIx3PwfFMAHe5SSa/kX+z/v1vdEV4/XCkbhM/NQh216nU5+D/3iPHRUKnfLi1e6DLmGYsKCyt6pHPsRkaMaG1jM2nDC4f71+s3orD+INwpHldhvnP+fwPkDQJ0GQN9/lf3i+ZeBBU8Au36U+23vlMDBN7DkMtLO9wN9n5HpktBo2ZZ9Dni3hdOXnu//cnm+TbrKzTX3KbHtr6Pn0adFQw8cTUkxRiflxSuxX3XomhCGKGNAqTlaUUaph0NE5VdjA4vNxx0bHM30ex8AsMTcGVuUlkXb9xw5DqRZS19f+2LZNSsuHpdW56nWSoKD3wS6PSTz2O+2lhbo9rZ9A/z9uVTGHPGpVLlMZ5ImaWNrwMP4sbAv0lEX6YoR6Upd5B8+AxQ2AXz8q+ZNFUVG5fJzgfwc+b9gbCT3TTnA/t8kITQnFaMKdTD4dEEd5CFIl4dB+r9xS/5k7FUaO76kF9XHMuh1mDQs0elSdUBWlE3y0qJeRDVBjQ0sAlwkgsXrzjkEFtFKugQTIdFAByct0ff/DmSeBrJTgMxT6iiFTeJNwJktwOLnSwYVgJqVbykEfhpT0W+HrnbGOHztMwJRaasx0LDV4aHbfFY77nsegGmEBBYWC/Dny8CeXwAoQHiidZokCDi9RfIwgiPkfnwva7CQC2yfBbS5RQKF/Fx1iXQ5BQG432eRw7YbDRuwt7Cxw7Yzlxyb7nna4KQoTBvdsWLF9YioVDU3sPBzfTXRWncCkboMROoy0OFKIRDXAzizFfj0Gllid9d3UsgqNx2Yc1fpb/Sek6V3deMlEHG11I8IAG7/WgqplaX1TUBIJO7Z9IHrHuTFueoXk3mq5DZbVc5TGx2375lX9vv4BcuoRWAYEBwuAcqZLQ67fFJ4E3KVAFyGPyJ0F/Fx4c0lXiY+rE7Z71XNBidFYWBiZPnbARBRqWpsgaxbp63DlhOXiu6z2BRRGTqPlbLe7rjhHUk6Tt1Z5q7rLG2QqQTBHwUI02VjUsG92KmogY9eB+x/dYjXLDclooqp9QWyUL3xEJGX0smUiE4PFJSx8sLdoAKQ5npu6qXf43D/V/+X8FzBuKKckEHdkuHHmILoqlFjA4umDUOw5SQbcVENFdUeSNnu1q4nLQ2h1ymI0Z138qgCFLpXLK46ven7qXpnO4BBx4HAenJ/4wzg9N8ytRIcYf0Kl1owwRGyn47TEUQ1VY0NLI5fyC57JyJv5WZQAQBxehedS4tzZ6pD7wsY/IAH/gCm9Sx9X58AWQ310Brgk25uHcKJBv2QroQiXJeJGN9s6HPTgLxMadZnc3wNsG+B6xd57oTaen7zZ0DKDrsAxC4QCY6QRFUi8io1NrA4kJrj6UMg8ohlum64LrGRLHHe9YP6gLOgot/zUplT7yO9RaDI12cDSu57+zeyn94HWDVVggEff2DF60BYU8C3jtRyCYkArpsk0y86PbB3PlCYD+gNiPcPRbxvgPQqMfhKsmfz69URiPSDQHRHwD8UuHKx2Ncl2c9+SfiRFcD+ha4/jOdPqvtv+RI4t8cadEQ6BiBBDT1aoZToalJj/6dl55k9fQhUG0S1kxNPxlHgwuHS9028GQhtJHUdzmwFCnJL2Xc40KQfcOIvIG0/cG6XW4eTroSioS6r6P42SzOcVMLhi0L4ohBHlEZoevvbQFvrcsjM07Kk1JwvFWYLTfKvOV8akPWfqL74ps+ArNOyNLq4hq1labXN0n+XWP1RxBjn2CF47y9S18KZOvWBZ4+q93+bICMWzvgEABNPq0HID/eUHlQY/CRAAYB1HwJ/vOR6XwB4/hQQECrByvLXpGaNMUYaCw54xbGhIBFVWI0NLCyePgCqkc4rociHD6J11gJrKTukW21EGwkajq2S7Ql9ZVmxj79cffv4yZV3vHX6IPe8FIry8ZcTnP1+Bn9pBBYaLdMT5gK5Grc9ZvAD9HbZjKm7gVm3AjmpyFP80S//PZxw0kvG5qB9D4uxi1zuV8LDa6yBR74afNi+irdFH/gfGUUo2qdA/bf4CbjFEKBhKxf7BjvuG1hPasrYv3ehCYAin4v9ceRlwSWdAXj2mBqEFF9KW/IJgH+I3NzxHXDmb7l9+bxMSxVcBm7+uIzXICJ31NjAgqgiOpumAwAeMfyK53znyEZnJ6VeTwLNrNMFu34CVk6RhMOQSCAkyvplvR2RWHpFV4MvEFxKCe7IJOD+Jcj7302IzT6BZN2xUgOLLScuokfT+mV9qyXVKUeJ6paD3d/3mufc3/eOb5xvt5hL1oUZPk1qaDgLhixmtRkgAHQeAzS5xklwkw8U5AH9nlWDkKj2wM7vHd+rzS3ufw9EVCoGFnTVuNn0n6Lbn5lvwAJzD6x9tLUUO8tOtfv3rIxW2Fw6IdMkrqZKRv+sBiH7fwc2fypX5SGR8hVqux0tc/56J1Ww6jXGyl7fYNGvc7DQ0qPU7yMt2/tWgVSa3gDoi/UTCS1H9ctmTnJGXOnxqHwRUZVgYEFXjf/6fgwz9MiHDwrgA0XvCywLl6Q+gx/QY7xc9QIyPbHgKdl+5SIQ01WGzXPPA6YsSQb0C5Z5elO2jGoY/KTTbdoe1wfRfbyMhhh8gX2/AgueLHpoMIBuvsF4UpmLK/DHp4VDcUiJwZ5ifTfCQwI0/mSIiLTDwIKqTtPrgCPLPH0URa7AD631xUpenzio3j60FIjrKXUhQqKAA7+5frHcdLVU9vpPgNOb3DuIrV8DG1zP5dfT5aCeTlY8feD3CV4sGIs95sYApDlWJLtuEpGXY2BBFXbYEo255j7Ihw/uNvyBeH2a4w72QUVCP0kINPgB6/4L7Jzj+oU7jwVulG612Py5rCRwZcjbQNdxMud+aAkwx3Vp9xWWDphUcB98dYXoqt+PJ32c9MqwNeNKvg3o/6LM0Z/dBhz+08kr6mT5ZWBdSfY0F8gIRnZKyV2TRsoohW8d67LQsivHPlPwEH4y97W9EwB23SQi78fAoqYz+MnV9aUTrvcZ8amc2M/tAhZOKH1fAOh0n9QDOL251N32KXH4xCwNpxL1JxCPNNc7x/UAotvL7YQ+pQcWjTqpt42xrvfT+8rqCp1OpjNCooDwRFw06XDoYiFMii9MsH35YZOlJTYprQEFOGSJwYA2sWgTH25dzeEvyx19rLcbtADqW/tdFJpkWaf94z4BUu+hIhUib3xPTVY05wPmQvV2QCiWHMrCtIXrsTsvELaQIpJdN4mohmBgUVO1vRMY8qZcLb/dvPR9z+0B2t4uhY0C65UeWPR4DBj0utxePBHY8InLXZeaOxfdXmnogREN0uxO0AGOJ+um16pPbNRZCjcVP5nbbke1U/eN7wGM32Rd0lnsNYsnQTbqCDy6HnPXHMWrv+0r9SNJQz1siBmDNj2blLofAHmv+i66iVaULVnRN7DEQ4Pa1sOApDh23SSiGomBRUUk3Srr6M35wLndjvULfPykCuGVDLnavntu0dNOvtzMrfLMXfI+weZ6/5bXcMUYo5Y9jkwCjix3vW+MGgDgmokyzx8cLl+B9RwDgfhe6r59nsETe1thV3pB0dV/Pmz/+kAdoAdOhPUFHvt3md8bACC8FRA+sez9AKk90LCle/tahQX5abqfJxj0uootKSUi8jAGFs60vUOG40MipTRwiLU/gZOry/J4sOCfqK/LRF3koq4uB6/7OpZgHpv/DJZbOsqdmz6UEsVB4XbNmqy3g8KBunHqE+92kivgSsvB7tcoCKqP88HNcSztYtm7BnjPr1Kk0b2fk7v7ERGR+7znbFAdojsAEUkSNEQkqTUGnNUVqAK6iNZYl6qWgW6pO4V43Tm8XXg7divqkHzryCCg9TVA62HVclylCQt28+rfzf2qQ9eEMEQZA5CS6breQxRXVxARVYlaE1iMzX8G//N7B6vNyXipcIxD5cLjU4d68MhUzcJDsM8usHi5cIzL/byFj5tBl7v7VQeDXodJwxLxyKytTtde6MDVFUREVaXWBBbLLR3ROG+2pw+jVAadvuydyrFfdWhUz73pAnf3qy6Dk6IwbXRHTF6w12HkIoqrK4iIqlSNDSx89UCBG53IfL3nHI2ouu5VTHR3v+rQs0kDfLziiFv7eZvBSVEYmBjJ1RVERNWoxgYWTRvUwf60y27t5y1q4mqF7k3ro24dX1y6XOByn7p1fNHdS1cwcHUFEVH18qLr+fK5ppXr7o8V2a86NHCzx4O7+1UHg16HqSOSS91n6ohkjgIQERGACgYWH3/8MRo3boyAgAB069YNmza52SdBQ32al9KGugL7VYfIUPcCBnf3qy6Dk6IwfXRHRIb6O2yPDPXH9NEdma9ARERFyj0V8v3332PChAmYPn06unXrhg8++ACDBg3CgQMHEB4eXhXH6FRNHKKvycsgma9ARETuKPeIxXvvvYdx48ZhzJgxSExMxPTp01GnTh3873//K/vJGqqJQ/S2ZZA62NesFLZt3rwM0pavcHP7RujRtL7XHicREXlOuQKL/Px8bNmyBQMGDFBfQK/HgAEDsH79eqfPMZlMyMrKcvjSSk0corctg4w0Ok53RBoDMM1Lj5mIiMhd5ZoKOX/+PMxmMyIiIhy2R0REYP/+/U6fM2XKFEyePLniR1iGmjhEXxOPmYiIyB1Vvtx04sSJmDBhQtH9rKwsxMaW0gq7AmriksKaeMxERERlKVdg0aBBAxgMBpw7d85h+7lz5xAZ6XxZp7+/P/z9/Z0+RkRERLVLuXIs/Pz80KlTJyxbtqxom8ViwbJly9CjRw/ND46IiIhqlnJPhUyYMAH33nsvOnfujK5du+KDDz5Abm4uxoxx3lCLiIiIrh7lDizuuOMOpKen4+WXX0Zqairat2+PxYsXl0joJCIioquPTlEUZ52lq0xWVhaMRiMyMzMRGhpanW9NREREFeTu+bvG9gohIiIi78PAgoiIiDTDwIKIiIg0w8CCiIiINFPllTeLs+WKatkzhIiIiKqW7bxd1pqPag8ssrOzAUDzst5ERERU9bKzs2E0Gl0+Xu3LTS0WC86ePYuQkBDodFd30y1b35RTp05x6W0V4udcffhZVw9+ztWDn7MjRVGQnZ2N6Oho6PWuMymqfcRCr9cjJiamut/Wq4WGhvKXthrwc64+/KyrBz/n6sHPWVXaSIUNkzeJiIhIMwwsiIiISDMMLDzI398fkyZNYlv5KsbPufrws64e/JyrBz/niqn25E0iIiKqvThiQURERJphYEFERESaYWBBREREmmFgQURERJphYOEBU6ZMQZcuXRASEoLw8HAMHz4cBw4c8PRh1XpTp06FTqfDU0895elDqXXOnDmD0aNHo379+ggMDERycjL+/vtvTx9WrWI2m/HSSy8hISEBgYGBaNq0KV599dUy+zZQ2VavXo1hw4YhOjoaOp0O8+fPd3hcURS8/PLLiIqKQmBgIAYMGIBDhw555mBrAAYWHrBq1SqMHz8eGzZswB9//IGCggJcf/31yM3N9fSh1VqbN2/GjBkz0LZtW08fSq1z8eJF9OrVC76+vli0aBH27t2Ld999F/Xq1fP0odUqb775JqZNm4aPPvoI+/btw5tvvom33noL//d//+fpQ6vxcnNz0a5dO3z88cdOH3/rrbfw4YcfYvr06di4cSOCgoIwaNAg5OXlVfOR1gxcbuoF0tPTER4ejlWrVqFv376ePpxaJycnBx07dsQnn3yC1157De3bt8cHH3zg6cOqNZ5//nmsW7cOa9as8fSh1Go33ngjIiIi8Pnnnxdtu/XWWxEYGIhZs2Z58MhqF51Oh3nz5mH48OEAZLQiOjoa//znP/HMM88AADIzMxEREYEvv/wSd955pweP1jtxxMILZGZmAgDCwsI8fCS10/jx4zF06FAMGDDA04dSK/3666/o3LkzbrvtNoSHh6NDhw749NNPPX1YtU7Pnj2xbNkyHDx4EACwY8cOrF27FkOGDPHwkdVux44dQ2pqqsPfD6PRiG7dumH9+vUePDLvVe1NyMiRxWLBU089hV69eiEpKcnTh1PrzJkzB1u3bsXmzZs9fSi11tGjRzFt2jRMmDABL7zwAjZv3ownnngCfn5+uPfeez19eLXG888/j6ysLLRq1QoGgwFmsxmvv/46Ro0a5elDq9VSU1MBABEREQ7bIyIiih4jRwwsPGz8+PHYvXs31q5d6+lDqXVOnTqFJ598En/88QcCAgI8fTi1lsViQefOnfHGG28AADp06IDdu3dj+vTpDCw09MMPP+Dbb7/F7Nmz0aZNG2zfvh1PPfUUoqOj+TmTV+FUiAc99thjWLhwIVasWMFW8lVgy5YtSEtLQ8eOHeHj4wMfHx+sWrUKH374IXx8fGA2mz19iLVCVFQUEhMTHba1bt0aJ0+e9NAR1U7/+te/8Pzzz+POO+9EcnIy7r77bjz99NOYMmWKpw+tVouMjAQAnDt3zmH7uXPnih4jRwwsPEBRFDz22GOYN28eli9fjoSEBE8fUq103XXXYdeuXdi+fXvRV+fOnTFq1Chs374dBoPB04dYK/Tq1avEcumDBw8iPj7eQ0dUO12+fBl6veOfbIPBAIvF4qEjujokJCQgMjISy5YtK9qWlZWFjRs3okePHh48Mu/FqRAPGD9+PGbPno1ffvkFISEhRfN0RqMRgYGBHj662iMkJKRE3kpQUBDq16/PfBYNPf300+jZsyfeeOMN3H777di0aRNmzpyJmTNnevrQapVhw4bh9ddfR1xcHNq0aYNt27bhvffew9ixYz19aDVeTk4ODh8+XHT/2LFj2L59O8LCwhAXF4ennnoKr732Gpo3b46EhAS89NJLiI6OLlo5QsUoVO0AOP364osvPH1otV6/fv2UJ5980tOHUessWLBASUpKUvz9/ZVWrVopM2fO9PQh1TpZWVnKk08+qcTFxSkBAQFKkyZNlBdffFExmUyePrQab8WKFU7/Jt97772KoiiKxWJRXnrpJSUiIkLx9/dXrrvuOuXAgQOePWgvxjoWREREpBnmWBAREZFmGFgQERGRZhhYEBERkWYYWBAREZFmGFgQERGRZhhYEBERkWYYWBAREZFmGFgQERGRZhhYEBERkWYYWBAREZFmGFgQERGRZhhYEBERkWb+HxkKuQgLexasAAAAAElFTkSuQmCC", + "image/png": "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wDQECwAAYBqCBQAAMA3BAgAAmIZgAQAATEOwAAAApiFYAAAA0xAsAACAaQgWAADANAQLAABgGoIFAAAwDcECAACYhmABAABMQ7AAAACmIVgAAADTECwAAIBpCBYAAMA0BAsAAGAaggUAADANwQIAAJiGYAEAAExDsAAAAKYhWAAAANMQLAAAgGkIFgAAwDQECwAAYBqCBQAAMA3BAgAAmIZgAQAATEOwAAAApiFYAAAA0xAsAACAaQgWAADANAQLAABgGoIFAAAwDcECAACYhmABAABMQ7AAAACmIVgAAADT1ClYPP7443K5XBU+OnXqFKjeAACAw0TU9QFdunTRl19++fMXiKjzlwAAACGqzqkgIiJCiYmJgegFAAA4XJ3nWGzatEmtWrVS+/btNWrUKO3YsaPGeq/XK4/HU+EDAACEpjoFi969e2vGjBmaP3++pk6dqtzcXA0YMECFhYXVPmbSpElyu93lH8nJyWfdNAAAsCeX3+/31/fBR44cUdu2bfX888/r9ttvr7LG6/XK6/WWf+7xeJScnKyCggLFxcXV91sDAAALeTweud3uWl+/z2rmZZMmTdSxY0dt3ry52prIyEhFRkaezbcBAAAOcVb7WBw9elRbtmxRUlKSWf0AAAAHq1OwGD9+vBYvXqxt27Zp6dKluv766xUeHq6bb745UP0BAAAHqdNQyK5du3TzzTfr4MGDatGihS655BItX75cLVq0CFR/AADAQeoULD744INA9QEAAEIAZ4UAAADTECwAAIBpCBYAAMA0BAsAAGAaggUAADANwQIAAJiGYAEAAExDsAAAAKYhWAAAANMQLAAAgGkIFgAAwDQECwAAYBqCBQAAMA3BAgAAmIZgAQAATEOwAAAApiFYAAAA0xAsAACAaQgWAADANAQLAABgGoIFAAAwDcECAACYhmABAABMQ7AAAACmIVgAAADTECwAAIBpCBYAAMA0BAsAAGAaggUAADANwQIAAJiGYAEAAExDsAAAAKYhWAAAANMQLAAAgGkIFgAAwDQECwAAYBqCBQAAMA3BAgAAmIZgAQAATEOwAAAApiFYAAAA0xAsAACAaQgWAADANAQLAABgGoIFAAAwDcECAACY5qyCxeTJk+VyuTR27FiT2gEAAE5W72CxcuVKvfbaa+rWrZuZ/QAAAAerV7A4evSoRo0apWnTpqlp06Zm9wQAAByqXsFizJgxuvrqqzVkyJBaa71erzweT4UPAAAQmiLq+oAPPvhAq1at0sqVKw3VT5o0SRMnTqxzYwAAwHnqdMVi586deuCBB/Tuu+8qKirK0GMmTJiggoKC8o+dO3fWq1EAAGB/Lr/f7zdaPHv2bF1//fUKDw8vv620tFQul0thYWHyer0V7quKx+OR2+1WQUGB4uLi6t85AACwjNHX7zoNhQwePFhr1qypcNutt96qTp066aGHHqo1VAAAgNBWp2ARGxur9PT0CrfFxMSoWbNmlW4HAADnHnbeBAAApqnzqpAzLVq0yIQ2AABAKOCKBQAAMA3BAgAAmIZgAQAATEOwAAAApiFYAAAA0xAsAACAaQgWAADANAQLAABgGoIFAAAwDcECAACYhmABAABMQ7AAAACmIVgAAADTECwAAIBpCBYAAMA0BAsAAGAaggUAADANwQIAAJiGYAEAAExDsAAAAKYhWAAAANMQLAAAgGkIFgAAwDQECwAAYBqCBQAAMA3BAgAAmIZgAQAATEOwAAAApiFYAAAA0xAsAACAaQgWAADANAQLAABgGoIFAAAwDcECAACYJiLYDQAAgLNX6vNrRe4h7Ss8oYTYKPVKiVd4mMvyPggWAAA43Py1eZo4N0d5BSfKb0tyR+mx4Wkalp5kaS8MhQAA4GDz1+bp7ndWVQgVkpRfcEJ3v7NK89fmWdoPwQIAAIcq9fk1cW6O/FXcV3bbxLk5KvVVVREYBAsAABxqRe6hSlcqTueXlFdwQityD1nWE8ECAACH2ldYfaioT50ZCBYAADhUQmyUqXVmIFgAAOBQvVLileSOUnWLSl06tTqkV0q8ZT0RLAAAcKjwMJceG54mSZXCRdnnjw1Ps3Q/C4IFAAAONiw9SVNH91Ciu+JwR6I7SlNH97B8Hws2yAIAwOGGpSdpaFoiO28CAABzhIe51De1WbDbqNtQyNSpU9WtWzfFxcUpLi5Offv21WeffRao3gAAgMPUKVi0bt1akydPVnZ2tr7//ntdfvnluvbaa7Vu3bpA9QcAABzE5ff7z2qfz/j4eD3zzDO6/fbbDdV7PB653W4VFBQoLi7ubL41AACwiNHX73rPsSgtLVVWVpaKiorUt2/fauu8Xq+8Xm+FxgAAQGiq83LTNWvWqHHjxoqMjNRdd92lWbNmKS0trdr6SZMmye12l38kJyefVcMAAMC+6jwUUlxcrB07dqigoED/+te/9I9//EOLFy+uNlxUdcUiOTmZoRAAABzE6FDIWc+xGDJkiFJTU/Xaa6+Z2hgAALAPo6/fZ73zps/nq3BFAgAAnLvqNHlzwoQJuuqqq9SmTRsVFhbqvffe06JFi/T5558Hqj8AAOAgdQoW+/bt029/+1vl5eXJ7XarW7du+vzzzzV06NBA9QcAABykTsHijTfeCFQfAAAgBHC6KQAAMA3BAgAAmIZgAQAATEOwAAAApiFYAAAA0xAsAACAaQgWAADANAQLAABgGoIFAAAwDcECAACYhmABAABMQ7AAAACmIVgAAADTECwAAIBpCBYAAMA0BAsAAGAaggUAADANwQIAAJiGYAEAAExDsAAAAKYhWAAAANMQLAAAgGkIFgAAwDQECwAAYBqCBQAAMA3BAgAAmIZgAQAATEOwAAAApiFYAAAA0xAsAACAaQgWAADANAQLAABgGoIFAAAwDcECAACYJiLYDcA5Sn1+rcg9pH2FJ5QQG6VeKfEKD3MFuy0AgI0QLGDI/LV5mjg3R3kFJ8pvS3JH6bHhaRqWnhTEzgAAdsJQCGo1f22e7n5nVYVQIUn5BSd09zurNH9tXpA6AwDYDcECNSr1+TVxbo78VdxXdtvEuTkq9VVVAQA41xAsUKMVuYcqXak4nV9SXsEJrcg9ZF1TAADbIligRvsKqw8V9akDAIQ2ggVqlBAbZWodACC0ESxQo14p8UpyR6m6RaUunVod0isl3sq2AAA2RbBAjcLDXHpseJokVQoXZZ8/NjyN/SwAAJIIFjBgWHqSpo7uoUR3xeGORHeUpo7uwT4WAIBybJAFQ4alJ2loWiI7bwIAakSwgGHhYS71TW0W7DYAADZWp6GQSZMmqWfPnoqNjVVCQoKuu+46bdy4MVC9AWet1OfXsi0H9cnq3Vq25SAbeQFAgNXpisXixYs1ZswY9ezZUydPntQjjzyiK664Qjk5OYqJiQlUj0C9cL4JAFjP5ff76/0Wbv/+/UpISNDixYs1cOBAQ4/xeDxyu90qKChQXFxcfb81UKOy803O/OEumxHCpFMAqBujr99ntSqkoKBAkhQfX/0eBl6vVx6Pp8IHEEicbwIAwVPvYOHz+TR27Fj1799f6enp1dZNmjRJbre7/CM5Obm+3xIwhPNNACB46h0sxowZo7Vr1+qDDz6osW7ChAkqKCgo/9i5c2d9vyVgCOebAEDw1Gu56b333qtPP/1US5YsUevWrWusjYyMVGRkZL2aA+qjeWNjP29G6wAAxtUpWPj9ft13332aNWuWFi1apJSUlED1BdSf0akTTLEAANPVKViMGTNG7733nj755BPFxsYqPz9fkuR2u9WoUaOANAjU1YEir6l1AADj6jTHYurUqSooKNCgQYOUlJRU/vHhhx8Gqj+gzjjqHQCCp85DIYDdlR31nl9wosrRDpdOHaDGUe8AQkmpz2+L85w4KwQhp+yo97vfWSWXKk6l4Kh3AKHITjsNc2w6QhJHvQM4V5TtNHzm/j35BSd09zurNH9tnqX9cMUCIYuj3gGEutp2Gnbp1E7DQ9MSLfvbR7BASOOodwChrC47DVv1t5ChEAAAHMqOOw0TLAAAcCg7Lq8nWAAA4FBly+urmz3h0qnVIVYurydYAADgUGXL6yVVChfBWl5PsAAAwMHstryeVSEAADicnZbXEyxgmF22iwUAVGaX5fUECxhip+1iAQD2xRwL1Mpu28UCAOyLYIEa1bZdrHRqu9hSHyffAgAIFqhFXbaLBQCAYIEa2XG7WACAfREsUCM7bhcLALAvVoWgRr1S4tUkuoGOHCuptqZJdANLt4sFAFRmly0BCBaoVclJX833l9Z8fzDZ5RcNAAJh+/btWrt2rW77w13at2eXJCmmy2VqdvWDatUkOihbAhAsUKPlWw+qqLi0xpoib6mWbz2o/uc3t6grY+avzdPjc9Yp3+Mtvy0xLlKP/7ILe28AcIzS0lItWbJEWVlZWrRokXr16qXjx4/rww8/1PDhw7VmzZoK9UXrvlazX4wt3xLA6m29CRao0bItBw3X2SlYzF+bp7veWVXp9nyPV3e9s0qvBmH/fACoid/vl8vl0uLFi/Xdd9/poYceqrJu/fr1ioiIUHFxsS66qLu27D+qY/m5UliEojv1V5MBv5ErLFx+nTqIbOLcHA1NS7Tsai3BArUwuj+FffaxKPX59fDHa2qsefjjNZb+ogFAmZMnT2rx4sXKyspSVlaWDh06pIsvvljbtm3T3r17NWXKFM2ePbvax//xj39Unz59JEl3P/a8lrRaXm3t6VsCWLXdN8ECNerbvrle/nqLoTq7WL7lYI2TTSXpyLESLd9yUP072KdvAKHF5/MpNzdX7du310cffaQ5c+bo7bffrrI2OztbkpSbm6uhQ4cqKipKhw8fVosWLZSZmakrrrhCUVGVV9/ZcUsAggVq1Ce1maFVIX1scPBNmWVbDxiuI1gAOFsnT57U119/raysLM2cOVMFBQUV7t+xY4e+++67akNFVFSUpkyZokGDBiklJUX33HOP7rnnHkPf245bAhAsUKPwMJcm39C1yvkKZSbf0NVmQwpGe7FTzwDsrqSkRLm5udqwYYMuvfRSzZ07Vy+88IJWrar+72PDhg21bds2XXPNNWrSpIncbrfatWunoUOHKjIy8qx76pUSryR3lPILTlQ5IO2SlOiOsnRLAIIFajUsPUmvju7hmBUWfVOb6eWvNxuqA4AzlZaWavny5Zo+fbqysrLk8Xgq1Xz11VcqKiqqMlRER0crMzNTd911lzIyMhQRceql9tJLLzW91/Awlx4bnqa731kllyrOdit76/TY8DRL3/wRLGDIsPQkDU1LdMSeED3aNDW1DqGLfU7ObcXFxVq4cKH27dun3bt3a8SIEfr+++/1+9//XidOVD8n4aKLLlJJSYmGDRumWbNmqUOHDurQoYMaNmxoYfc/G5aepKmje2ji3JwKZzsluqPYxwL2Fh7mcsS7/Pe+22647vYB7QPcDexq/tq8Sn+Ik4L0hxiBVVpaqq1bt2ru3Ln685//rKKioirrWrRooZSUlEqhonHjxsrMzFRmZqYGDx5cIUC0bds2oL0bZac3fwQLhJxtB4+ZWofQM39tnu5+Z1WlMelgbSgEcxQXF+uLL75QVlaWSktL5fP59Otf/1qSdM0119T42FGjRiklJUX9+vXTpk2blJKSovDwcCvaNo1d3vwRLBCCnLf3BqxT6vNr4tycKv/vB2tDIdSdx+PRV199pblz5+rNN9+stq5169a6++67FRUVpebNm2vXrl2Ki4vTyJEjlZmZqcsuu0wNGjSo8Jjzzz8/0O2HNIIFDHPKePRFrZvobe0wVGdXTnmunWhF7qEKwx9nCsaGQqia1+vVggULyjeSCg8PV2pqqkaOHKkRI0bo+uuvr/HxkyZN0mWXXaa2bdvq6NGjjrsC4VQECxjipPHoxCaNTK2zmpOeayey44ZC57qTJ0+Wv/BPmTJFixYt0ldffVVl7Y8//qgOHTrooYceUu/evdWhQwfNmzdPI0aMUGZmpgYNGlTpCoQkQoWFCBaolePGox08EuK459qB7Lih0LnixIkT+vzzzzVz5kxlZWWppOTUxnsNGzbUjTfeqDfffFOPP/64fL6qT0zu0qWLJk+erG7duikiIkLLl1e/lTWCh2ARJE651O3E8egDRd7ai+pQZxUnPtenc8rPtB03FAo1J0+e1ObNm1VUVKTu3btr1KhRWr16tTZs2FBlfXFxsbZs2aLIyEiNGzdOzZs314EDB3TVVVdp4MCB5ftAwBn4vxUETrrU7cTx6OaNje1mZ7TOKk58rss46WfajhsKOVVJSYn+/e9/a+bMmZo5c6ZKS0sr3N+7d28tX75cy5Yt0/btlZeBN2vWTKNHj9bYsWPVpk0bSdIzzzxjSe8IHIKFxZx2qduR49EOHQpx5HMt5/1MS/bbUMjujh8/rm+++UaFhYXyeDy69dZbNXjwYH3zzTflwxlniomJUUxMjCTp2WefVXR0tBISEtS9e3fmO4Q4goWFnHip24nj0U4dCnHic+3En+kydtpQyC5KSkq0adMmPfvss5oxY4b8/sr/Z+Pj4/W73/1OLperUqhISEgo30hqwIABCgsLkyTdeOONlvQPeyBYWMiJl7qdOB7txBdo6efnuqafkSSbPddO/Jk+nV02FLJaUVGR5s2bp3//+99q166ddu/erWnTpmno0KFavHhxtY9LT09XRkaGiouL9fe//13R0dFKTk4uDxCARLCwlBMvdZeNR1d3uqlf9huPdmIYkk4917+8MEmvLcmttuaXFybZ6rl24s/0uWbLli3Kzs7WQw89pG3btlVb98wzz6hTp07Kzs7W0aNHJUmJiYnlG0n169evQoDo3LlzoFuHQxEzLeTUd9JOUxaGqptCYccwJJ0aVpjzQ16NNXN+yFOpzz6TQ/iZtoejR4/qww8/1I033iiXy6Vrr71WXbp0UVFRkZ544gnddNNN1YaKIUOG6Nlnn5UkPf/88/J4PPL7/fL7/crLy9OLL76oSy65hKsSMIwrFha6uG1Thbmkml4Xwlyn6uyibAy9JnYdQ3ea2oYVJPsNKzj16pBTFRcXKzw8XCtWrND8+fP1l7/8pcq6OXPmSJI2bNignj17asOGDcrPz1dJSUn5HIg+ffoQFhAQ/FRZKHv74RpDhXQqdGRvP2xNQwbU5cXOLkp9fj388Zoaax7+eI2t3vlLzhxWKLs6JP28VLMMSzfrr7CwUO+//75uuOEGuVwuuVwuRUdHKzo6Wjk5OVq4cGG1oUKS7rrrLs2fP18dO3bUPffco2XLlik3N1e7du3SCy+8UGlYAzATVywslO8x9oJgtM4Kew4bOwH0VJ093kUv33JQR45VvQSuzJFjJVq+5aD6d2huUVe1a9Ko8jbEZ1NnFZZu1p/X69XGjRvVtm1bZWdn65VXXtHHH39cZe3x48clSevXr9fAgQN1++23Kzo6Wg0aNFBmZqZ69epFWIAtECwsdOioseWNRuussHrXEcN1IzKSA9uMQcu2HjBcZ6dgsSAn33DdpRckBLibumHpZs0KCws1Z84cZWVl6ZNPPql0/8cffyyv11ttqGjTpo0efvhhDR8+XOedd55cLpcGDhwY6LaBeiFYWCg+pqGpddYw+sJgnxeQao4ZqHedVbYfNHZ1yGid1c7VpZun83g8ysnJUW5urnr06KG8vDzddddd2rhxY7WPiYuL05EjRzR48GC98MILatu2rc477zz17NlTLpd9fq8Ao+ocLJYsWaJnnnlG2dnZysvL06xZs3TdddcFoLXQk+g2eOqmwTortImPNrXOCp4TNQ+D1LXOKo0aGNuN0GgdAufEiRNaunSppkyZorlz51ZZ88wzz2jQoEFVhop27dopMzNTo0aNUrdu3coDxNixYwPZNmCJOgeLoqIiXXjhhbrtttt0ww03BKKnkOXEDZA6JcaaWmcJ511kkSRd2SVRX6zfZ6gO1jhy5Ig++eQT7dixQydOnFD//v2VkJCg3r17V3sCpyT1799fLVq0UJcuXbRgwQKlpaWpVatWXIHAOaHOweKqq67SVVddFYheQt7phx9VtzTPbjPoDx0rNrXOCm3jY0yts0pSE2NXqozWoXZlJ7LmHT6qwrxcHcn9UWMfeKDa+jvvvFOTJk2Sz+dTZGSkvN5T86Hat29fvoyzR48eFQLE0KFDA/7vAOyEORYWG5aepD8MTNG0b3IrLD0Nc0l3DEix3Qz6+GiD80IM1lmhY0JjU+uscvKksUkfRutQ2eHDhzV79mxlZWVp07ZdOqhY+Vucr8Zdh2rXK7+p8bF/+MMfNHToUDVt2lT5+flKSEjgCgRQhYAHC6/XW57qpVOTm85l89fm6fUluZWuWPj90utLctW9TVNbhYsN+YWG6wZ0bBHgboxZlnvQcN2lneyzumL26t2G6+zUtx35fD75fD59+OGHys7O1gsvvFBtbdSxIsX1yVRE0ySFxzSVd1eOWrVJ0e9G36zMzExdeOGFlQJEy5YtA/1PABwr4MFi0qRJmjhxYqC/jSM48STInQb3sTBaZ4U1uwpMrbNKUXGpqXXngoMHD2r27NmaOXOmFixYIElKTU1VWlqaPvnkE911113l515UpemQO9WwZapcLpfO+8M0ST/vFvqXhy63ze8h4CQBDxYTJkzQuHHjyj/3eDxKTrbHfgdWc+JJkMlNja32MFpnheiGxlZNGK2zSvc2bi3I2Wuo7lxz7Ngx7d27VykpKXr88ce1atWqaldjbNmyRaWlpXK5XPr1r3+tsLAwrV+/XpdccokyMzNVFHOefv2P76r9Xnb8PQScJODBIjIyUpGRkYH+No7gxC2bO7YwOF/BYJ0VeqU0M7S6oleKvV40XAaXqRits1rZRMiz2SDrwIEDmjVrlmbOnKkvv/yy/HaXy6WOHTtqw4YNmj17tn744YcqH9+lSxe99NJL6tKliyTptddeq1TzicEhJzv9HgJOUudgcfToUW3evLn889zcXK1evVrx8fFq06aNqc2FGieeBLnU4C6WS7ce0KWd7THuf3OvNnpy3npDdXZi9IwYO50lU2b+2jw9Pmed8j0/z6dKjIvU47/sUuWcocOHD2vr1q3atWuXrr32Wt17772aN2+ecnOrPjLe7/eroKBAJ0+e1P33369jx44pIiJCl1xyibp06VKnSZRO/D0EnKTOweL777/XZZddVv552TDHLbfcohkzZpjWWChy4kmQ327eb2qdFT5cucNw3e0D2ge4G+OOG5w7YbTOKvPX5umud1ZVuj3f49Uf3lyqkc13a/VXc7Rw4cJKNQ0bNlRRUZHy8vKqDBWdO3fWyJEjdeeddyop6VRAue22286qXyf+HgJOUudgMWjQIPn99joV0ilO38fCJVX4o2bXkyAPFBrbn8JonRW2HzK4NbbBOqt0a91E326pfUVLt9ZNAt+MQWUnyZYWHdGxTcvkCm+okkO71GTgb3Tws5dUtOZLPVfD4/v166fDhw/roYce0v3336/U1FS1bt06oD078fcQcBL2sbBY2UmQj8/JqXCKqV1PgjxWctLUOiskNzW2gZTROqv0TW2m/1u8xVBdsBQVFSknJ0cvv/yy3nrrrWrrYi+6SuHRlSeZpqenl28k1blz5/LbW7SwdqkyJ7ICgUOwCJqKV33sehUo3OBEQaN1VujY0tj24kbrrBJm8B2y0bqzkZ+fr48++khZWVnq3Lmztm/frjfffFOTJ0/Wiy++WH1vkTGK6TJIcklxPa9XXK8bFB7t1r2XpWr8lZ0C3nddcCIrEBgEC4vNX5tX5Zbe+R6v7n5nlaaO7mGrd0sREWGSt/Yx/YiIMAu6MWblNmOTG1duO2yr48fzjhw3tc6orVu3avHixXr66aerPDBr8eLFkqR169YpLS1NCQkJ2rfv1KqbpJQLdLx1L0Vf0F8NmtU0hGHPF2tOZAXMZ59Xg3NATRtkSaeuYUycm6NSn32uXsRFGtvrwWidNYw+f/Z5niVp/rp8U+tOt2fPHv3973/XwIED5XK5dP7556tt27b69ttvNW/ePN12223VHu198cUXa+rUqbrgggv0+9//Xnv37pXf75ff71fWgm/l7ndTLaEiuMM3AKzFFQsL1bZBlmS/jXkOGDxczGidFXq2jZdU+1yFU3X2kV9g7EpETXWFhYUKCwtTbm6uZsyYoeeeq3rq5JYtp56fdevWqUePHho8eLCioqK0Z88eZWZm6sYbb1SHDh1q7aVP+2ZqEt1AR45VfwR90+gG6tPeHj/PAAKPYGGhPQa3vT5VZ48/xMe8xg68MlpnhXV7jG3VvW5Pga3O3HA3MnaQm7tRQ+3atUv/+te/lJWVpaVLl1a4f/r06WrZsmW1oUKSbr31Vt12223q2rWr3G53hc2o6iI8zKXJN3StcrlpmUk3dGXeAnAOIVhYaLnBw7GW5x7UiAx7bHvuOnM9Xk11NvGv743tY/Gv73fonstrf1duld/1aqv/nLHc1OctUsmBHQqLbiL/yWId/voNvZe7Su/V8HW2bdumK6+8Uvfff7/atm2rkpIS3XjjjUpNTQ3sPwAARLCw1Ncbat9mui51VjA6CcdOk3V2HjG2FbPROivs379ff3vxBeV9PkfFeyrPdYjre5Map1+uE7lVXxnIyMjQnXfeqRtuuEHx8aeGeGpavWGWsnlD1bHjwXoAAotgYSEnnl5pdITDRiMhKjHYi9E6M+3YsUPZ2dk6ePCg2rRpowsuuECXXHKJdu3aVe1jwhvHyxUWpogmiYq/8l5lXJSuqX8Yqvbtg79rqBMP1gMQWAQLC7WMbahth2p/l9wy1thYO+zryJEjWrVqlR555BF9913VJ2n+6le/0owZM5SXl1fpvoZJHRV9wSWK6dRfEe6W5bfHXjRMF/dKtkWokJx5sB6AwCJYWOjRq7ro9nezDdXBGbZt26asrCytW7dOTZo0UevWrTVmzBjFx8fXuOnZFVdcoYyMDEVGRmrFihVq3769PvjvAU3+vOoln6drY6Mj6jnQC8CZCBYWyjB4KdhoHay1dOlSrV27VnfeeWe1NRkZGRo/frxSUlJUXFxcPsTRp0+f8mWcZ54C3KNHD0nS7oLqh0NOt7uWJctWcvqBXseLS/XUvBxtO3hM7ZpF65FfpKlRQzvtyQI4T0gEi1Kf3xHb8o7PWm24btotPQPbDKq0detWZWVlKSsrSz/88IMGDRqkuLg4ffTRRxo5cqR2795d7WMffPDB8pCwbt06RUXV7V26z29s0ofROis4+UCvO95aqS9yfp4o/c0m6e3lOzQ0LUHTfsvvH1Bfjg8W89fmVTpIKMmmBwntOGxsAySjdag/X/EJhTWM0rvvvqsVK1bopZdeqrLuyy+/VNOmTeX3+3X55Zdr3759+u6775SWlqaRI0dqxIgRVZ7GWddQIUlxkQ1MrbOKEw/0OjNUnO6LnH26462VhAugnhwdLKo9d6PghC3P3WjTtJE25hcaqoM5Sg7v0bEN36pow7cq2bdVkhQe01R++ZV87zt6/fXXtWTJkmof//rrr6tr166SVONpnmZwGdwMxGidlYalJ+nSjgmOGFY4Xlxabago80XOPh0vLrVl/4DdOTZY1HTuhl/2XD//1PXd9MX62nc4fOr6bhZ0E1oOHjyoTZs2qU+fPvKsnK3jW1boxPYfq6wtLTp1SFnpiaO66aab1LNnTxUVFalz584aMWKEzjvvPCtbL3fkuLFt0Y3WWWnSvBxN+yZXZcfcfLNJeve7HbpjQIom/CItuM2d4al51e+7cWbdX6/rGuBugNDj2GDhxPXzzyxYb7jubzdeFNhmHGrTpk2aOXOmZs6cqR9/rBwcPB6PivdvrzZURCanq0n/X6th4vkKi4zWPffcFOiWDdtf6DW1ziqT5uXotSW5lW73+VV+u53CRe4BY1vrG60DUJFjg4UT189/sW6v8bobA9yMzW3cuFF79uzRhg0bdOutt+r555/Xiy++WH5cd1Xatm2rvLw8Ne46WFGt0xQW00QNW6YqorE9VyScqXGksV9Ho3VWKD7p07RvKoeK0037Jlf/c0UnNYywx/6sjRoY68NoHYCK7PMXqo6cuH7+WImxHTWN1oWCAwcO6KOPPtIrr7yiNWvWVFnTr18/uVyuKkPFpZdeqpEjR+qmm25Ss2anrkxFJadLyekB7TsQrut+nmat3mOozi7eXratfPijOj7/qbrbB9hjU68r0lrqi/W1b5t/RVrLWmsAVObYYHFRchNT66xQWttf4DrWOcn69euVlZWlBg0aaPfu3Ro/frzef/99PfLIIzU+7uqrr5bf79eoUaM0dOhQderUSY0bN7aoa2uFGZyUabTOCtsPGRsuMFpnhdbxMabWAajIscHineXbDdfdMdAe75ROGtx+wGidHRUUFOi///2v/vnPf2rGjBnV1l1++eVVnrZ5+eWXKzMzU9dff71atqz4jvHMjaVCzdKtBwzXDejYIsDdGNPabWwFk9E6K5Rt6lXTHK0kG2/qBdidY4PFym2HDNfZJViEkuL923Vsw7c6tvFbhcU0lfw+fTkkUnl5efrtb39b42P/93//V6mpqerYsaOOHj2qmBjeGUrSjzsLTK2zgt/gxROjdVY4fVOv6nYLteumXoATODZYRBmcCGa0DpX5/X6dLDyoEzt+1PEtK3XycJ6K8zdVLjy4U5KUnZ2toUOHKiUlRbGxsfrxxx81ZMgQjRw5Utddd51atLDHu2y7ija4Z4LROivsPmJsMzejdVapblMvu26uBziJc4NFQ2PvJozWncv8fr9+/PFH3XPPPVq6dGmdHx8R31ruviOVmZmp9u3ba+vWrQHoMvT1SmlmaFJhrxR7LJ+WpLbxxg5EM1pnpWHpSRqaluiI4wAAJ3FssNiy39hkMKN154KyALFmzRqtW7dOkydPVrNmzXTw4MEaHxcW7ZbvWIFiM65VycGdir7gEkV37KPwRnEV6uxylLdT3dyrjZ6cV/teJzf3ss9ck9/0bacn562vcWVImOtUnR2Fh7lss88NECocGyxUw5HU9aoLIX6/Xz/88IOysrL01FNP1VhbXaho0KCBXnvtNf15dSOFN4oNRJs4w/Rva94P4vS6+4Z0CHA3xjSMCNMdA1Kq3CCrzB0DUmyzhwWAwHNssEhtEavsHbVPYkttEbovin6/X8uWLdOnn36qzZs3KyIiQu+//76hx1577bX65JNP9Pbbb8vn8+maa65RfHzlWfATH/632W2jGtP+s8VwnV2ChfTzrpqnb+ktnbpSYcctvQEElmODxbaDtR/mVZc6O/P7/dqzZ49efvllzZw5s95zGP74xz9qwoQJatq0qckdwgzHvcY2RjNaZ6UJv0jT/1zRSW8v26bth46pbXy0ftO3HVcqgHOQY4PFxvyjptbZgd/v1/EtK3V09WdKzbpfW7duVb9+/QxPqHzkkUe0c+dOjRkzRmlpaYqNDd2rNaGoaXQD7TtaYqjOjhpGhNlmd00AwePYYFF4wti7NqN1VvL7/SrO3yzfiUIdXjhNJf9/uebpyq5J1BQqxo0bp/HjxyspiaVxoeDJX3bVHe+tMlQHAHbl2GBhdHPKYG5i6ff79f3332vmzJlatGiRDhbHq+TADhUf3Cm/t8jQ13j33Xfldrs1cOBArkCEuEsNnk1htA4AgsGxwcJOyuZATJs2TWFhYdq5c6fWrVunZcuWGf4aDRJS1Cilh+J6Xq/wmCbaNvnqAHYMO8refthwHUskAdgVwaIOyvaBePvtt5WVlaUdO3aoT58+Wr9+vQoKal+hEnvxLxXZ6gI1aNFWDZqeJ1eEPcfKnS5Mxq5U2W1a4b7C6s+uqE8dAAQDwaIKfr9fu3fv1rp16/Tkk08qLCxMXq9XOTk58ng8FWqXL18uSQoPD1dpaakaNWqk8ePHq0uXLmrfvr06depUPoTRjqWblmjVJFK7jngN1dlJQmyUqXUAEAzndLDw+/3atWuX5s2bp7/85S/as2dPnb/GSy+9pMsuu0wdOnRQZKS9XqjOVcPSE/WPb2s//XZYeqIF3RhXdupmfsGJag/HSuTUTQA2d04EC5/Pp507dyonJ0c5OTl65JFHVFxcrNjYWBUWVr3PRXh4uDp27Kj8/Hx16NBB48aNU5cuXdSxY0c1bNjQ4n8B6qJlnLEjuo3WWeX0UzddUoVwUXZ6BaduArC7kAoWfr9fpYX7VbJ/h45v/V6Fqz6VJIU/XXV9YWGhIiIi5Ha7y7e2HjFihO677z717duXAOFQzWKMXTkyWmel6k7dTOTUTQAOETLB4sh/3lfBt+/WWJOWlqa0tDQ1atRITZo00Z133qkOHToQIGrgjgpXgYG9QNxR9jnK+/CxYlPrrMapmwCcLGSChXfnmlP/ERauBk3PU4NmrXVs03JFd+ynGX+9X7/4xS8UExMT3CYdqF18tH7YU/u26O1sdCx2fIyxoGi0Lhg4dROAU4VMsGgx4jGV7MtVw8Tz5Qqv+M/KzGRPiPqKiTL2I2K0zgqJbmNzJ4zWAQCMs9tS/noLaxCpyPM6VQoVdtI50dgVE6N1VohvbPDdv8E6K5StrqhJEqsrACAgQiZYOMH5Cca25DZaZ4WIMGNzJ4zWWaFsdUV1MxJcYnUFAAQKwcJC4S5jT7fROiuc19TYcIHROquUra4488pFkjtKU0f3YHUFAASIfccNatEgTCoxsG9zA/u8RiupibEdE43WWaFf++Z65esthurshtUVAGA9xwaL1ObR2rDvmKE6u3DiaoU+qc3UJLqBjhwrqbamSXQD9bHpCgZWVwCAtWz0fr5uBnUyth2z0TorNDd4xoPROiuEh7k0+YauNdZMvqErVwEAAJLqGSxeeeUVtWvXTlFRUerdu7dWrFhhdl+1GtChhal1VkiMMxYYjNZZZVh6kl4d3UOJcRV3qkyMi9SrzFcAAJymzkMhH374ocaNG6dXX31VvXv31pQpU3TllVdq48aNSkhICESPVXLiJfqyZZCnb9V8Jrsug2S+AgDAiDpfsXj++ed1xx136NZbb1VaWppeffVVRUdH68033wxEf9Vy4iX605dBntlV2W12XgZZNl/h2ovOU9/UZrbtEwAQPHUKFsXFxcrOztaQIUN+/gJhYRoyZIiWLVtW5WO8Xq88Hk+FD7M48RJ92TLIxDOWQSayDBIAEALqNBRy4MABlZaWqmXLlhVub9mypTZs2FDlYyZNmqSJEyfWv8NaOPESvRN7BgDAiIAvN50wYYLGjRtX/rnH41FycrKp38OJSwqd2DMAALWpU7Bo3ry5wsPDtXfv3gq37927V4mJVS/rjIyMVGRkZJX3AQCA0FKnORYNGzbUxRdfrIULF5bf5vP5tHDhQvXt29f05gAAgLPUeShk3LhxuuWWW5SRkaFevXppypQpKioq0q233hqI/gAAgIPUOVjcdNNN2r9/v/785z8rPz9fF110kebPn19pQicAADj3uPx+v9/Kb+jxeOR2u1VQUKC4uDgrvzUAAKgno6/fjj0rBAAA2A/BAgAAmIZgAQAATEOwAAAApgn4zptnKpsrauaZIQAAILDKXrdrW/NhebAoLCyUJNO39QYAAIFXWFgot9td7f2WLzf1+Xzas2ePYmNj5XKd24dulZ2bsnPnTpbeBhDPs3V4rq3B82wNnueK/H6/CgsL1apVK4WFVT+TwvIrFmFhYWrdurXV39bW4uLi+KG1AM+zdXiurcHzbA2e55/VdKWiDJM3AQCAaQgWAADANASLIIqMjNRjjz3GsfIBxvNsHZ5ra/A8W4PnuX4sn7wJAABCF1csAACAaQgWAADANAQLAABgGoIFAAAwDcEiCCZNmqSePXsqNjZWCQkJuu6667Rx48ZgtxXyJk+eLJfLpbFjxwa7lZCze/dujR49Ws2aNVOjRo3UtWtXff/998FuK6SUlpbq0UcfVUpKiho1aqTU1FT99a9/rfXcBtRuyZIlGj58uFq1aiWXy6XZs2dXuN/v9+vPf/6zkpKS1KhRIw0ZMkSbNm0KTrMOQLAIgsWLF2vMmDFavny5vvjiC5WUlOiKK65QUVFRsFsLWStXrtRrr72mbt26BbuVkHP48GH1799fDRo00GeffaacnBw999xzatq0abBbCylPP/20pk6dqpdfflnr16/X008/rb/97W/6+9//HuzWHK+oqEgXXnihXnnllSrv/9vf/qaXXnpJr776qr777jvFxMToyiuv1IkTJyzu1BlYbmoD+/fvV0JCghYvXqyBAwcGu52Qc/ToUfXo0UP/93//pyeeeEIXXXSRpkyZEuy2QsbDDz+s//znP/rmm2+C3UpIu+aaa9SyZUu98cYb5beNGDFCjRo10jvvvBPEzkKLy+XSrFmzdN1110k6dbWiVatW+p//+R+NHz9eklRQUKCWLVtqxowZ+tWvfhXEbu2JKxY2UFBQIEmKj48PciehacyYMbr66qs1ZMiQYLcSkubMmaOMjAxlZmYqISFB3bt317Rp04LdVsjp16+fFi5cqJ9++kmS9MMPP+jbb7/VVVddFeTOQltubq7y8/Mr/P1wu93q3bu3li1bFsTO7MvyQ8hQkc/n09ixY9W/f3+lp6cHu52Q88EHH2jVqlVauXJlsFsJWVu3btXUqVM1btw4PfLII1q5cqXuv/9+NWzYULfcckuw2wsZDz/8sDwejzp16qTw8HCVlpbqySef1KhRo4LdWkjLz8+XJLVs2bLC7S1btiy/DxURLIJszJgxWrt2rb799ttgtxJydu7cqQceeEBffPGFoqKigt1OyPL5fMrIyNBTTz0lSerevbvWrl2rV199lWBhopkzZ+rdd9/Ve++9py5dumj16tUaO3asWrVqxfMMW2EoJIjuvfdeffrpp/r66685Sj4AsrOztW/fPvXo0UMRERGKiIjQ4sWL9dJLLykiIkKlpaXBbjEkJCUlKS0trcJtnTt31o4dO4LUUWj64x//qIcffli/+tWv1LVrV/3mN7/Rgw8+qEmTJgW7tZCWmJgoSdq7d2+F2/fu3Vt+HyoiWASB3+/Xvffeq1mzZumrr75SSkpKsFsKSYMHD9aaNWu0evXq8o+MjAyNGjVKq1evVnh4eLBbDAn9+/evtFz6p59+Utu2bYPUUWg6duyYwsIq/skODw+Xz+cLUkfnhpSUFCUmJmrhwoXlt3k8Hn333Xfq27dvEDuzL4ZCgmDMmDF677339Mknnyg2NrZ8nM7tdqtRo0ZB7i50xMbGVpq3EhMTo2bNmjGfxUQPPvig+vXrp6eeekojR47UihUr9Prrr+v1118PdmshZfjw4XryySfVpk0bdenSRf/973/1/PPP67bbbgt2a4539OhRbd68ufzz3NxcrV69WvHx8WrTpo3Gjh2rJ554Qh06dFBKSooeffRRtWrVqnzlCM7gh+UkVfkxffr0YLcW8i699FL/Aw88EOw2Qs7cuXP96enp/sjISH+nTp38r7/+erBbCjkej8f/wAMP+Nu0aeOPioryt2/f3v+nP/3J7/V6g92a43399ddV/k2+5ZZb/H6/3+/z+fyPPvqov2XLlv7IyEj/4MGD/Rs3bgxu0zbGPhYAAMA0zLEAAACmIVgAAADTECwAAIBpCBYAAMA0BAsAAGAaggUAADANwQIAAJiGYAEAAExDsAAAAKYhWAAAANMQLAAAgGkIFgAAwDT/Dyv8eFZsUtrKAAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -539,28 +2617,28 @@ } ], "source": [ - "plt.plot(x[\"pokoje\"],y, 'o')\n", - "plt.plot(x[\"pokoje\"],model.predict(x), '--')" + "coef = np.polyfit(X_train['pokoje'], y_train['cena'], 1)\n", + "poly1d_fn = np.poly1d(coef)\n", + "\n", + "plt.plot(X_train['pokoje'], y_train['cena'], 'o', X_train['pokoje'], poly1d_fn(X_train['pokoje']), '--k')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Cena nieruchomości ze względna na rok wybudowania dla danych treningowych" ] }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 170, "metadata": {}, "outputs": [ { "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 42, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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WIZgAQAALEOwAAAAliFYAAAAyxAsAACAZQgWAADAMgQLAABgGYIFAACwDMECAABYhmABAAAsQ7AAAACWIVgAAADLECwAAIBlCBYAAMAyBAsAAGAZggUAALAMwQIAAFiGYAEAACxDsAAAAJYhWAAAAMsQLAAAgGUIFgAAwDIECwAAYBmCBQAAsAzBAgAAWIZgAQAALEOwAAAAliFYAAAAyxAsAACAZQgWAADAMgQLAABgGYIFAACwDMECAABYhmABAAAsQ7AAAACWIVgAAADLECwAAIBlCBYAAMAyBAsAAGAZggUAALAMwQIAAFiGYAEAACxDsAAAAJaJKVjcf//9crlcIctZZ51lV20AAMBh0mJ9wjnnnKPXX3/95AukxfwSAAAgRcWcCtLS0lRYWGhHLQAAwOFiHmOxa9cuDRgwQEOHDtXMmTO1f//+Lts3NDSopqYmZAEAAKkppmAxceJELV++XGvWrNHSpUtVVlamyZMnq7a2ttPnLFq0SD6fL7gUFxf3uGgAAJCcXMYY090nV1VVafDgwVqyZIluvfXWsG0aGhrU0NAQvF9TU6Pi4mJVV1crNze3u28NAADiqKamRj6fL+L+u0cjL/Py8nTmmWdq9+7dnbbxer3yer09eRsAAOAQPZrHoq6uTnv27FFRUZFV9QAAAAeLKVjce++9euutt7R371699957uv766+XxeDRjxgy76gMAAA4S06GQf/zjH5oxY4YOHz6s0047TRdffLE2bNig0047za76AACAg8QULFauXGlXHQAAIAVwrRAAAGAZggUAALAMwQIAAFiGYAEAACxDsAAAAJYhWAAAAMsQLAAAgGUIFgAAwDIECwAAYBmCBQAAsAzBAgAAWIZgAQAALEOwAAAAliFYAAAAyxAsAACAZQgWAADAMgQLAABgGYIFAACwDMECAABYhmABAAAsQ7AAAACWIVgAAADLECwAAIBlCBYAAMAyBAsAAGAZggUAALAMwQIAAFiGYAEAACxDsAAAAJYhWAAAAMsQLAAAgGUIFgAAwDIECwAAYBmCBQAAsAzBAgAAWIZgAQAALEOwAAAAliFYAAAAyxAsAACAZQgWAADAMgQLAABgGYIFAACwDMECAABYhmABAAAsQ7AAAACWIVgAAADL9ChYLF68WC6XS/fcc49F5QAAACfrdrD44IMP9Nhjj2nMmDFW1gMA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XnTfffeZHTt2mEcffTQup2T+5Cc/MevWrTNlZWXm3XffNVOmTDH9+vUzFRUVxpjmU6cGDRpk3njjDbNp0yYzadIkM2nSJEdsWyu/328GDRpk5s2bF7Leid9dbW2t+fDDD82HH35oJJklS5aYDz/8MHhWxOLFi01eXp55/vnnzccff2yuvfbasKebnnfeeeb9998377zzjjnjjDNCTlWsqqoy/fv3N9/97ndNaWmpWblypcnOzu5wKl9aWpp5+OGHzY4dO8yCBQssOVWxq+1rbGw03/zmN83AgQPN1q1bQ/49to6mf++998yvf/1rs3XrVrNnzx6zYsUKc9ppp5mbb745KbYv0jbW1taae++916xfv96UlZWZ119/3YwbN86cccYZpr6+PvgaTv0OW1VXV5vs7GyzdOnSDs9P5u8w0v7AmPj9ZtqxD3V8sDDGmN/+9rdm0KBBJiMjw0yYMMFs2LAh0SV1ICnssmzZMmOMMfv37zeXXHKJyc/PN16v1wwfPtzcd999IXMhGGPM3r17zbRp00xWVpbp16+f+clPfmKamppC2rz55pvm3HPPNRkZGWbo0KHB97DTjTfeaIqKikxGRoY5/fTTzY033mh2794dfPz48ePmX//1X02fPn1Mdna2uf766015ebkjtq3VK6+8YiSZnTt3hqx34nf35ptvhv37OGvWLGNM8ymnP/vZz0z//v2N1+s1V1xxRYftPnz4sJkxY4bp3bu3yc3NNbfccoupra0NafPRRx+Ziy++2Hi9XnP66aebxYsXd6jlz3/+sznzzDNNRkaGOeecc8yLL75o6/aVlZV1+u+xdV6SzZs3m4kTJxqfz2cyMzPN2WefbR544IGQnXIity/SNh47dsxcddVV5rTTTjPp6elm8ODB5rbbbuuws3Dqd9jqscceM1lZWaaqqqrD85P5O4y0PzAmvr+ZVu9DuWw6AACwjKPHWAAAgORCsAAAAJYhWAAAAMsQLAAAgGUIFgAAwDIECwAAYBmCBQAAsAzBAgAAWIZgAQAALEOwAAAAliFYAAAAyxAsAACAZf4vdXlxSI0iKpIAAAAASUVORK5CYII=", + "image/png": "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69jdvHkzhg8fjqioKPTr1w9vvPGGr3fPKTX2+/vvv8ecOXOQlZWFmJgYDBw4EH/961/ttrF582aH73dFRYXsuna5gFFfX48hQ4bglVdecfj7++67D4WFhXj77bexd+9e3HPPPViwYAHWrl1rV27evHkoLy+3/TzzzDO235nNZlx11VVobm7Gt99+i3/9619444038Mgjj/h031zxdr+zsrLs9re8vBxLlixBfHw8ZsyYYbetlStX2pWbNWuWr3fPKVf7LYTArFmzcPjwYXz00UfYvXs3srOzMWXKFNTX19vK3Xvvvfj444+xevVqbNmyBadOncLs2bNtvw+191vOfp86dQqnTp3Cc889h5KSErzxxhsoLCzE3LlzO20v3N5vILyObzn7HYrH95YtWzB//nxs27YNn3/+OVpaWjBt2jTVj92ysjJcddVVmDRpEoqLi3HPPffg97//PT777DO/7q+VGvu9c+dOpKWl4e2338aPP/6IP/3pTygoKMDLL7/c6fX27dtn936npaXJr6zowgCINWvW2D128cUXi8cee8zuseHDh4s//elPtv9fdtll4u6773a63U8//VRoNBpRUVFhe2zZsmUiMTFRmEwmVeruDU/3u6OhQ4eKW2+91e22g0XHuu3bt08AECUlJbbHzGaz6N69u1ixYoUQQoiamhoRGRkpVq9ebSuzd+9eAUAUFRUJIULv/Zaz34785z//ETqdTrS0tDjddjDxdL/D7fj29P0OteO7srJSABBbtmwRQqh37P7xj38UF198sd1r3XDDDeKKK67w9S7J4sl+O3LnnXeKSZMm2f6/adMmAUCcPXvW47p1uRYMdy655BKsXbsWJ0+ehBACmzZtwv79+zFt2jS7cv/+97+RmpqKvLw8FBQUoKGhwfa7oqIiDBo0CD169LA9dsUVV8BoNOLHH3/0274oIXe/rXbu3Ini4mKHV7Tz589HamoqRo8ejX/+85+yl/b1N5PJBACIjo62PabRaBAVFYWvv/4aQNt+trS0YMqUKbYyAwYMQK9evVBUVAQg9N5vOfvtiMFgQGJiIiIi7JcwCqf32yqcjm9P3u9QPL6tt++Sk5MBqHfsFhUV2W3DWsa6jUDzZL+dbce6jfaGDh2KjIwMTJ06Fd98842iuvl9sbNg97e//Q233XYbMjMzERERAY1GgxUrVmDChAm2Mr/+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", "text/plain": [ "
" ] @@ -570,28 +2648,28 @@ } ], "source": [ - "plt.plot(x[\"rok\"],y, 'o')\n", - "plt.plot(x[\"rok\"],model.predict(x), '-')" + "coef = np.polyfit(X_train['rok'], y_train['cena'], 1)\n", + "poly1d_fn = np.poly1d(coef)\n", + "\n", + "plt.plot(X_train['rok'], y_train['cena'], 'o', X_train['rok'], poly1d_fn(X_train['rok']), '--k')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Cena nieruchomości ze względna na metraż dla danych treningowych" ] }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 171, "metadata": {}, "outputs": [ { "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 40, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhYAAAGsCAYAAACB/u5dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABAtklEQVR4nO3deXxU9b3/8fdMVrYkBAxJFEIAESOCymZArApqkKJoF691oWqxYqiithfRWqReG/219lpbS1sXLKVK1SuIiHFBAZcgClLAKAKGpZCAEEgISEhmvr8/xgmZZCaZSc5MZnk9H488hDNnZr7HSTjvfJfP12aMMQIAALCAvaMbAAAAogfBAgAAWIZgAQAALEOwAAAAliFYAAAAyxAsAACAZQgWAADAMgQLAABgGYIFAACwDMECAABYpsOCxapVqzRp0iRlZ2fLZrNp8eLFAb+GMUa/+93vNHDgQCUlJenkk0/WQw89ZH1jAQCAX+I76o2PHDmioUOH6qabbtJVV13Vpte444479Oabb+p3v/udzjzzTFVWVqqystLilgIAAH/ZwmETMpvNpkWLFmny5MkNx2pra3Xffffp+eef16FDhzR48GA98sgjuuCCCyRJn3/+uYYMGaJNmzbptNNO65iGAwAAD2E7x2L69OkqKSnRwoULtWHDBv3gBz9QQUGBtmzZIkl69dVX1a9fPy1dulS5ubnq27evfvKTn9BjAQBABwrLYLFz507NmzdPL774osaOHav+/fvr5z//uc477zzNmzdPkvTVV19px44devHFFzV//nw9++yzWrt2rb7//e93cOsBAIhdHTbHoiUbN26Uw+HQwIEDPY7X1taqR48ekiSn06na2lrNnz+/4bynn35aw4YN0+bNmxkeAQCgA4RlsKipqVFcXJzWrl2ruLg4j8e6du0qScrKylJ8fLxH+Dj99NMluXo8CBYAAIReWAaLs88+Ww6HQ/v27dPYsWO9njNmzBjV19dr27Zt6t+/vyTpyy+/lCTl5OSErK0AAOCEDlsVUlNTo61bt0pyBYnf//73uvDCC5Wenq4+ffrouuuu0wcffKBHH31UZ599tr7++mstX75cQ4YM0cSJE+V0OjVixAh17dpVjz32mJxOpwoLC5WSkqI333yzIy4JAICY12HBYsWKFbrwwgubHZ8yZYqeffZZ1dXV6X/+5380f/58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O3r0aMM5rX2/upexXXLJJWb9+vWmuLjYnHTSSWG3ZK+1a926dav59a9/bT755BNTVlZmXnnlFdOvXz9z/vnnN7xGJFzrPffcY1auXGnKysrMhg0bzD333GNsNpt58803jTHR83ka0/K1Rsvn6UvTFS/h/rmGLFgYY8wf//hH06dPH5OYmGhGjhxpVq9eHcq3D4qrr77aZGVlmcTERHPyySebq6++2mzdurXh8W+++cbcdtttpnv37qZz587myiuvNOXl5R3YYv+8++67RlKzrylTphhjXEtO77//ftOrVy+TlJRkxo0bZzZv3uzxGgcOHDDXXHON6dq1q0lJSTE33nijOXz4cAdcTctautajR4+aSy65xJx00kkmISHB5OTkmKlTpzYLxJFwrd6uUZKZN29ewzn+fL9u377dTJgwwXTq1Mn07NnT3H333aauri7EV9Oy1q51586d5vzzzzfp6ekmKSnJDBgwwPziF7/wqHtgTPhf60033WRycnJMYmKiOemkk8y4ceMaQoUx0fN5GtPytUbL5+lL02AR7p8r26YDAADLsFcIAACwDMECAABYhmABAAAsQ7AAAACWIVgAAADLECwAAIBlCBYAAMAyBAsAAGAZggUAALAMwQIAAFiGYAEAACxDsAAAAJb5/8bzJWll+o4bAAAAAElFTkSuQmCC", + "image/png": "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DBZEREQkGQYLIiIikgyDBREREUmGwYKIiIgkw2BBREREkmGwICIiIskwWBAREZFkGCyIiIhIMgwWREREJBkGCyIiIpIMgwURERFJhsGCiIiIJMNgQURERJJhsCAiIiLJMFgQERGRZBgsiIiISDIMFkRERCQZBgsiIiKSDIMFERERSYbBgoiIiCTDYEFERESSYbAgIiIiyTBYEBERkWQYLIiIiEgyDBZEREQkGQYLIiIikgyDBREREUmGwYKIiIgkw2BBREREkmGwICIiIskwWBAREZFkGCyIiIhIMgwWREREJBkGCyIiIpIMgwURERFJhsGCiIiIJMNgQURERJJhsCAiIiLJMFgQERGRZBgsiIiISDIMFkRERCQZBgsiIiKSjFnB4rXXXoNMJtP56dmzp6X6RkRERA7Gw9wn3Hffffjhhx9+ewEPs1+CiIiInJTZqcDDwwOhoaGW6AsRERE5OLPnWFy6dAnh4eHo3LkznnzySVy/fr3R9kqlEqWlpTo/RERE5JzMChaxsbFISUnBjh07sGLFCuTk5GDYsGEoKysz+pzk5GQoFArtT0RERIs7TURERPZJJoQQzX1ycXExIiMj8d5772HmzJkG2yiVSiiVSu2fS0tLERERgZKSEgQEBDT3rYmIiMiKSktLoVAomjx/t2jmZWBgILp3747Lly8bbSOXyyGXy1vyNkREROQgWlTHory8HNnZ2QgLC5OqP0REROTAzAoWf/nLX3DgwAFcvXoVP/30E5KSkuDu7o4pU6ZYqn9ERETkQMy6FfLrr79iypQpKCwsRNu2bfHggw/iyJEjaNu2raX6R0RERA7ErGCxfv16S/WDiIiInAD3CiEiIiLJMFgQERGRZBgsiIiISDIMFkRERCQZBgsiIiKSDIMFERERSYbBgoiIiCTDYEFERESSYbAgIiIiyTBYEBERkWQYLIiIiEgyDBZEREQkGQYLIiIikgyDBREREUmGwYKIiIgkw2BBREREkmGwICIiIskwWBAREZFkGCyIiIhIMgwWREREJBkGCyIiIpIMgwURERFJhsGCiIiIJMNgQURERJJhsCAiIiLJMFgQERGRZBgsiIiISDIMFkRERCQZBgsiIiKSDIMFERERSYbBgoiIiCTDYEFERESSYbAgIiIiyTBYEBERkWQYLIiIiEgyDBZEREQkGQYLIiIikgyDBREREUmG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", "text/plain": [ "
" ] @@ -601,34 +2679,143 @@ } ], "source": [ - "plt.plot(x[\"metraz\"],y, 'o')\n", - "plt.plot(x[\"metraz\"],model.predict(x), 'o')" + "coef = np.polyfit(X_train['metraz'], y_train['cena'], 1)\n", + "poly1d_fn = np.poly1d(coef)\n", + "\n", + "plt.plot(X_train['metraz'], y_train['cena'], 'o', X_train['metraz'], poly1d_fn(X_train['metraz']), '--k')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Cena nieruchomości ze względna na liczbę pokoi dla danych testowych" ] }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 172, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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mj59eqh/3QYRRgAATY7X6635X7vdrgMHDmj37t01AeDkIzU1VWeffbYGDRokm82m5557Tlu2bNHixYvlcrlOe93rrrtOd911l3r27Kmrr75aa9eurbcHi8WiBQsWaMyYMWrXrl2jPT/22GO66667dOedd9b0X5eXXnpJPXr00NVXX91gEJGk6urqOn8PoxFGAACG8fl8qq6uVlxcnKqrq3XgwAGVlpbq66+/rjUa4HA4lJWVpY4dO2r48OFyuVxasmSJ3nnnHb3xxhunvW7z5s01fPhwPfDAA4qPj9e4ceO0YcOGBntZvXq1zj77bHXr1q3Rvl999VUNHDhQd911V4N1r7zyiq666irl5uY2GEROfhYul0tWq7XR97/wwguVlpYmSRo1apT27NmjDz74oFZNTEyMevTooVtuuUWDBg2SJD377LM6fPiwNm/eLJvNpuTkZNlsNtlsNrVr107Z2dlKTk5u9P1DzeILh4tFjfD3FsQAgPp5vV4dPXpUiYmJ+v7772W327V7926VlJScdmkgJydHbdu21XXXXae9e/fq9ddf17Jly7Rx48bTXrddu3bq37+/FixYoF27dunuu+/Wpk2bGuxl27ZtKi8v18UXX9xo3x9++KEkqX///o3WFhYWKj09Xeeee26jta+99pp69+6trKysBudNDB06VNOmTdP555+vW2+9Vdu2bdO2bdtq1SQmJmrAgAEaOXKk8vLy1LVrVy1btkyHDx/W9u3bTwsC7du3V6dOnZScnKyEhAR5vV7FxETfNE5/v78ZGQGAEDs5GuB2u9WyZUs5nU7Z7XZt375d+/btqzUa4HQ6NWDAACUlJWns2LHasmWL3n77bS1cuFA7d+487bW7du2qrl276vXXX9drr72mBx98UFu3bm2wH6fTqddee01jx45ttPe8vDx99tlnuvfee+utOXDggN544w05nU5VVlY2GkQkyeVyKSEhQfHx8XK73fXWXXLJJWrevLlatmyp0aNHa/369dq7d2/N8xaLRTabTZdccony8vLUrVs3JScna9myZTp48KC+/vrrWiEgOTlZHTp0UPv27WWz2RQXFyePxyOL5dQ7uddtyZIlftVJxy/Z+Csag0ggCCMAotqxY8fkdrt17NgxJSUlyW6369tvv1VRUZEOHDhw2qWBSy+9VMnJyRo1apTeeecdbdiwQXPmzNGhQ4dOe+2+ffuqW7duWrRokZ566in94x//0CeffFJvL61atVJFRYXmzZun+++/v966F198URaLRTfffLM2bNigKVOm1Fu7c+dO7dy5Uy6XSw6Ho9EgIqlmdKR58+b6/vvv66277LLLFBMTo86dO+vmm2/WqlWr9O2339Y8n5iYKJvNpvz8fF1wwQVKTU1VSkqKXn/9de3bt092u73OINC2bVu1atVKsbGxAc1XWLRokd+1//M//+N3LcxHGAEQEj6fT0eOHJHH45HP51NSUpJKS0t16NAhffDBB/ruu+9Omyw4YsQItW3bVldffbWWLVum//73v5oxY0adr3/xxRfrnHPO0bx58/TnP/9Zr776qj777LN6++nevbs+//xzTZ8+XU899VS9da+++qoyMzM1atQovfnmm5o1a1a9tVu2bNGePXskSXa7vcEgIh0PAZLUokULtWrVqs6VEJKUnJysQYMGyev1KicnR+PHj9eiRYtqfXGf/HK//vrr1b17d8XFxenSSy/VypUr9dVXX6mqqqpWCLDZbMrIyFBKSopatGiha6+9Vtdee22D/Z6UlpamF154wa9aScrPz/e7FpCYMwJEJY/HU/NFFxMTo6SkJO3Zs0eHDh3S+vXrTxsNOHbsmK644gplZWXp0ksvrbkk8PDDD9f5+pdddpn69++vv/zlL/rNb36jtWvX6osvvqi3n8suu0xvvvmmrr766jonH/7YwIEDtWHDBo0ZM0YvvfRSg7W9evXSJ598ottuu00LFixosLZz587avXu3Jk+erPnz59c50iEdDy3nn3++nn/+eS1btkyrV6+u9doJCQk1X/Djxo1TVlaWRo8ereLiYu3evVs7d+6U1+utMwi0bNlSiYmJDfYJRBN/v78JI0AQnRwNqKqqksVikdVqVatWrfTFF1/Ibrfrgw8+OC0IWK1WXXLJJerVq5cGDx6sOXPm6Isvvqj3y/Xiiy9Wfn6+Jk2apKuuukrvv/++nE5nvT3dcssteuaZZ3Teeefp448/brD/6667Ti+//LJ+/vOfa926dQ3WXnHFFVq5cqWuuOIK/ec//2mw9uc//7nee+89jRs3TqtWrdLBgwfr/d3OO+88/e1vf9PChQu1efPmWqMYP/5y/81vfqNOnTrpqquuqpkMuX37djVr1uy0SwPp6elq3ry5mjVr1mCfAIKLMIImx+PxyOl06ujRo4qJiVGrVq2UmJioTz/9VGVlZdq0adNplwVat26twYMH68ILL1Rubq6mTp2qzz//XMuXL6/zPYYOHapbb71VN910k19f7tOmTdOMGTPUrl072e32BmsLCgo0e/ZsnX322TVD//W57bbb9I9//EM9e/Zs8NKEJI0ZM0Yvvviihg8fri1bttS65v9jV199tQYPHqw//OEP+t///V/t2bNHf//73yXVHg1ISUnR7373O2VmZmrYsGEqKiqS0+nUZ599ppYtW9a5aiAhIaHJT9ADmiJW08AwPp9PFRUVKi8vV2Vlpaqrq9WiRQu53W5t2bJFLpdLZWVlp60YOOuss3TeeefpyiuvVFpamh5++GG9//779f5FPnjwYE2dOlUDBgxQv379VFxc3GBf8+fP19ixY9W7d+8G6xYvXqw5c+aod+/emjVrlqqrq+utfe+993TJJZdIkr766qsGX1dSzSqBDh06NBhGRo4cqR49ekiS/t//+38qKSnRP//5T0mq9cXesWNH3XTTTerataskaeHChTpy5Ii2b99+2mhAcnKy2rRpUzMa8Oabbzba70l33323JOnxxx9vtPbk5zt06FC/Xx8AfowwEuGOHTsmu92u8vJyHT16VC6XS61bt1ZFRYW2bt0qt9tdEwS2bdtWaxOg9u3b65prrtHhw4f9npxmsViCeh+D//u//1NGRoaGDh2qmTNnNli7fv167du3T82aNWs0iFgsFlVXVys+Pl7p6enav39/vbXXXXedsrOzJUl33XWXSktLtXjxYlmt1lp/5Xft2lUjRoyoCQ0rV66Uy+XS119/fdpoQEpKimw2W81oQFFRkd+fybRp0ySp0TkQknT++edLOn4ZBAAiFZdpfgKXy6VDhw7J6XQqLu54rjt69KhKS0v13//+V2effbYSEhLkcrn0ySef6N1335XT6dTgwYOVmZkpl8uljz76SCtXrtTQoUPVpUsXHT16VKtWrZLD4ah5n379+uno0aONDsdHotGjR+uOO+5Qnz59dN9992n37t16/fXXa77UT37J9+rVSxdffLH69u2rzMxMbdy4UW63WwcOHDhtomBycrISExP93jcAABAazBnxw549ezRo0CD17dtXbdq00dGjR/Xyyy/XPB8TE6NevXrp6NGjtVYKNG/eXEePHm3w3gCRYsiQIWrXrp1effVVJSYm1qwCOHLkSM1qjOzsbA0dOlTDhg1TamqqduzYodTUVCUmJio5OVktWrRQTEyM0tLSlJqa6tfWxgCA6MecET/MmzdPZWVlWrlyZZ3Pe73eOofX69skqGXLlkpISKi1UqBv375KSEjQ+vXra461b99ev/jFL5SQkKA9e/bozTff1DXXXKN+/frJarWqtLRUmzZtks1m04UXXqiePXvKarXK7XZr7969tYJA8+bNZbValZaWpuTkZENGA4YPHx7y9wAANB1NOoxMmjRJ77//vnJzc5Wdna2EhATt3Lmz5j4CeXl56ty5sxISElRVVaUDBw6oR48eatOmjRISEmSxWBQXFyebzcaSQQAAzlCTDiMdO3Y87a6HAADAWCz8BwAApiKMAAAAU51RGJk3b56ysrKUkJCg/v37N3q76FdeeUXnnHOOEhIS1LNnT61ateqMmgUAANEn4DCyZMkSFRQUaPr06dq6datyc3M1fPhwHThwoM76DRs2aPTo0frVr36ljz/+WCNGjNCIESOics8MAAAQuID3Genfv7/OP/98PfHEE5KOL3/NzMzUnXfeqcmTJ59WP2rUKFVVVenf//53zbEBAwaod+/eevrpp/16z3Dd9AwAANTP3+/vgEZGTt5rJC8v74cXiIlRXl6eNm7cWOc5GzdurFUvHd+nor566fjOphUVFbUeAAAgOgUURg4ePCiPx6O0tLRax9PS0lRWVlbnOWVlZQHVS9LMmTNrbQeemZkZSJsAACCChOVqmilTptS6zXtJSYnZLQEAgBAJaNOztm3bKjY2VuXl5bWOl5eXq3379nWe0759+4DqJclqtXJ/EwAAmoiARkbi4+PVt29fFRYW1hzzer0qLCzUwIED6zxn4MCBteol6e233663HgAANC0BbwdfUFCgcePGqV+/frrgggs0d+5cVVVVafz48ZKksWPHKiMjQzNnzpQkTZw4UUOHDtXs2bN15ZVXavHixdq8ebPmz58f3N8EAABEpIDDyKhRo2S32zVt2jSVlZWpd+/eWr16dc0k1b179yom5ocBl0GDBmnRokX605/+pPvuu09du3bVihUr1KNHj+D9FgAAIGIFvM+IGdhnBACAyOPv93dE3LX3ZF5ivxEAACLHye/txsY9IiKMHD58WJLYbwQAgAh0+PBh2Wy2ep+PiMs0Xq9X+/btU6tWrWSxWMxux1QVFRXKzMxUSUkJl6xCjM/aGHzOxuBzNgafc20+n0+HDx9Whw4das0nPVVEjIzExMSoY8eOZrcRVpKSkvg/ukH4rI3B52wMPmdj8Dn/oKERkZPCcgdWAADQdBBGAACAqQgjEcZqtWr69Olsl28APmtj8Dkbg8/ZGHzOZyYiJrACAIDoxcgIAAAwFWEEAACYijACAABMRRgBAACmIoxEiJkzZ+r8889Xq1at1K5dO40YMUI7duwwu62o9/DDD8tisWjSpElmtxJ1SktLddNNN6lNmzZKTExUz549tXnzZrPbijoej0dTp05V586dlZiYqC5duuivf/1ro/cKQcPWrl2r/Px8dejQQRaLRStWrKj1vM/n07Rp05Senq7ExETl5eVp586d5jQbAQgjEeK9997ThAkT9MEHH+jtt99WdXW1LrvsMlVVVZndWtT66KOP9I9//EO9evUyu5Woc+jQIQ0ePFjNmjXTf/7zH33++eeaPXu2UlJSzG4t6jzyyCN66qmn9MQTT2j79u165JFHNGvWLP397383u7WIVlVVpdzcXM2bN6/O52fNmqXHH39cTz/9tD788EO1aNFCw4cP19GjRw3uNDKwtDdC2e12tWvXTu+9955+/vOfm91O1KmsrNR5552nJ598Ug888IB69+6tuXPnmt1W1Jg8ebLWr1+vdevWmd1K1LvqqquUlpamZ555pubYNddco8TERP3rX/8ysbPoYbFYtHz5co0YMULS8VGRDh066Pe//73uueceSZLT6VRaWpqee+453XDDDSZ2G54YGYlQTqdTktS6dWuTO4lOEyZM0JVXXqm8vDyzW4lKr7/+uvr166frrrtO7dq1U58+fbRgwQKz24pKgwYNUmFhob788ktJ0ieffKL3339fl19+ucmdRa89e/aorKys1r8fNptN/fv318aNG03sLHxFxI3yUJvX69WkSZM0ePBg9ejRw+x2os7ixYu1detWffTRR2a3ErV2796tp556SgUFBbrvvvv00Ucf6a677lJ8fLzGjRtndntRZfLkyaqoqNA555yj2NhYeTwePfjgg7rxxhvNbi1qlZWVSZLS0tJqHU9LS6t5DrURRiLQhAkT9Nlnn+n99983u5WoU1JSookTJ+rtt99WQkKC2e1ELa/Xq379+umhhx6SJPXp00efffaZnn76acJIkL388st68cUXtWjRIuXk5KioqEiTJk1Shw4d+KwRNrhME2HuuOMO/fvf/9a7776rjh07mt1O1NmyZYsOHDig8847T3FxcYqLi9N7772nxx9/XHFxcfJ4PGa3GBXS09N17rnn1jrWvXt37d2716SOote9996ryZMn64YbblDPnj1188036+6779bMmTPNbi1qtW/fXpJUXl5e63h5eXnNc6iNMBIhfD6f7rjjDi1fvlzvvPOOOnfubHZLUemSSy7Rp59+qqKioppHv379dOONN6qoqEixsbFmtxgVBg8efNrS9C+//FJnnXWWSR1Fr++//14xMbX/qY+NjZXX6zWpo+jXuXNntW/fXoWFhTXHKioq9OGHH2rgwIEmdha+uEwTISZMmKBFixbptddeU6tWrWquO9psNiUmJprcXfRo1arVafNwWrRooTZt2jA/J4juvvtuDRo0SA899JCuv/56bdq0SfPnz9f8+fPNbi3q5Ofn68EHH1SnTp2Uk5Ojjz/+WHPmzNEtt9xidmsRrbKyUsXFxTU/79mzR0VFRWrdurU6deqkSZMm6YEHHlDXrl3VuXNnTZ06VR06dKhZcYNT+BARJNX5ePbZZ81uLeoNHTrUN3HiRLPbiDpvvPGGr0ePHj6r1eo755xzfPPnzze7pahUUVHhmzhxoq9Tp06+hIQE39lnn+27//77fS6Xy+zWItq7775b57/J48aN8/l8Pp/X6/VNnTrVl5aW5rNarb5LLrnEt2PHDnObDmPsMwIAAEzFnBEAAGAqwggAADAVYQQAAJiKMAIAAExFGAEAAKYijAAAAFMRRgAAgKkIIwAAwFSEEQAAYCrCCAAAMBVhBAAAmIowAgAATPX/AyExQZ2mJlvrAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "coef = np.polyfit(X_train['metraz'], y_train['cena'], 1)\n", + "poly1d_fn = np.poly1d(coef)\n", + "\n", + "plt.plot(X_test['pokoje'], y_test_pred_df['cena'], 'yo', X_train['pokoje'], poly1d_fn(X_train['pokoje']), '--k')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Cena nieruchomości ze względna na rok wybudowania dla danych testowych" + ] + }, + { + "cell_type": "code", + "execution_count": 173, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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EUymTp2qwsJCzZs3T/n5+UpOTta6deucA2Jzc3Ndekjuv/9+WSwW3X///Tp69KgiIiI0adIkPfbYY83XCgAA0C5YDC+4nlJaWqqQkBCVlJQoODi4rasDAADc0Jjvb56VAwAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATINgAgAATKNRwWTx4sVKTExUQECAUlJS9MUXX9Rbvri4WLNmzVJ0dLSsVqv69u2rd999t1EVBgAA7VcnT1dYsWKFMjIytGTJEqWkpGjRokVKT0/X7t271aNHjxrlKyoqdMUVV6hHjx568803FRsbq0OHDqlbt27NUX8AANCOWAzDMDxZISUlRaNHj9azzz4rSXI4HIqPj9dtt92me++9t0b5JUuW6IknntCuXbvk5+fXqEqWlpYqJCREJSUlCg4ObtQ2AABA62rM97dHl3IqKiq0detWpaWlnduAj4/S0tKUlZVV6zpr165VamqqZs2apcjISA0ePFiPP/647HZ7nfspLy9XaWmpywsAALR/HgWTEydOyG63KzIy0mV5ZGSk8vPza11n//79evPNN2W32/Xuu+/qgQce0MKFC/Xoo4/WuZ8FCxYoJCTE+YqPj/ekmgAAwEu1+F05DodDPXr00AsvvKCRI0dq6tSpuu+++7RkyZI615k7d65KSkqcr8OHD7d0NQEAgAl4NPg1PDxcvr6+KigocFleUFCgqKioWteJjo6Wn5+ffH19ncsGDBig/Px8VVRUyN/fv8Y6VqtVVqvVk6oBAIB2wKMeE39/f40cOVKZmZnOZQ6HQ5mZmUpNTa11nYsuukj79u2Tw+FwLtuzZ4+io6NrDSUAAKDj8vhSTkZGhpYuXapXX31VO3fu1M0336yysjLNnDlTkjR9+nTNnTvXWf7mm29WUVGRZs+erT179uidd97R448/rlmzZjVfKwAAQLvg8TwmU6dOVWFhoebNm6f8/HwlJydr3bp1zgGxubm58vE5l3fi4+P1/vvv64477tDQoUMVGxur2bNn65577mm+VgAAgHbB43lM2gLzmAAA4H1afB4TAACAlkQwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAApkEwAQAAptGoYLJ48WIlJiYqICBAKSkp+uKLL9xab/ny5bJYLJo8eXJjdgsAANo5j4PJihUrlJGRofnz5+vLL7/UsGHDlJ6eruPHj9e73sGDB3XnnXfqkksuaXRlAQBA++ZxMHnqqad0ww03aObMmRo4cKCWLFmioKAgvfTSS3WuY7fbdfXVV+uhhx5S7969m1RhAADQfnkUTCoqKrR161alpaWd24CPj9LS0pSVlVXneg8//LB69Oih6667zq39lJeXq7S01OUFAADaP4+CyYkTJ2S32xUZGemyPDIyUvn5+bWu8+mnn2rZsmVaunSp2/tZsGCBQkJCnK/4+HhPqgkAALxUi96Vc/LkSV1zzTVaunSpwsPD3V5v7ty5Kikpcb4OHz7cgrUEAABm0cmTwuHh4fL19VVBQYHL8oKCAkVFRdUon5OTo4MHD2rSpEnOZQ6H4+yOO3XS7t27lZSUVGM9q9Uqq9XqSdUAAEA74FGPib+/v0aOHKnMzEznMofDoczMTKWmptYo379/f23fvl3Z2dnO15VXXqlx48YpOzubSzQAAMCFRz0mkpSRkaEZM2Zo1KhRGjNmjBYtWqSysjLNnDlTkjR9+nTFxsZqwYIFCggI0ODBg13W79atmyTVWA4AAOBxMJk6daoKCws1b9485efnKzk5WevWrXMOiM3NzZWPDxPKAgAAz1kMwzDauhINKS0tVUhIiEpKShQcHNzW1QEAAG5ozPc3XRsAAMA0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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "coef = np.polyfit(X_train['metraz'], y_train['cena'], 1)\n", + "poly1d_fn = np.poly1d(coef)\n", + "\n", + "plt.plot(X_test['rok'], y_test_pred_df['cena'], 'yo', X_train['rok'], poly1d_fn(X_train['rok']), '--k')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Cena nieruchomości ze względna na metraż dla danych testowych" + ] + }, + { + "cell_type": "code", + "execution_count": 174, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGsCAYAAAAPJKchAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABJFklEQVR4nO3deXhN1/4G8PdkOkmQSWaJKTE0IRFTREvj0qKui5ZrKjqgdaM1tqqT0l7hhxpaRQdNUUMMoUVdU81TgxiiTUWRiEzIIBEZzlm/P9LsOGQ4ORn2Gd7P8+R5rHX2Pue7erR5u9beayuEEAJEREREMjGTuwAiIiIybQwjREREJCuGESIiIpIVwwgRERHJimGEiIiIZMUwQkRERLJiGCEiIiJZMYwQERGRrBhGiIiISFYMI0RERCQrgwojR44cQf/+/eHp6QmFQoHt27dX+T2EEFi4cCFatmwJpVKJRo0a4b///W/NF0tERERasZC7gKrIzc1FYGAgXnvtNbz44os6vcekSZOwd+9eLFy4EG3btsW9e/dw7969Gq6UiIiItKUw1AflKRQKREVFYeDAgVJffn4+PvjgA2zYsAGZmZlo06YN5s+fj9DQUADA77//joCAAFy+fBmtWrWSp3AiIiLSYFDLNJWZOHEiTp48iY0bN+LixYsYMmQI+vTpg6tXrwIAfv75ZzRv3hw7d+5Es2bN0LRpU4wdO5YzI0RERDIymjCSkJCA77//Hps3b0a3bt3g4+OD6dOn45lnnsH3338PAPjrr79w8+ZNbN68GWvWrEFERATOnj2LwYMHy1w9ERGR6TKoa0YqcunSJahUKrRs2VKjPz8/Hw0bNgQAqNVq5OfnY82aNdJx3333HTp06IC4uDgu3RAREcnAaMJITk4OzM3NcfbsWZibm2u8Vr9+fQCAh4cHLCwsNALLU089BaB4ZoVhhIiIqO4ZTRgJCgqCSqVCWloaunXrVuYxTz/9NIqKinDt2jX4+PgAAP78808AQJMmTeqsViIiIiplUHfT5OTkID4+HkBx+Pj888/Ro0cPODk5oXHjxnj55Zdx/PhxLFq0CEFBQUhPT8eBAwcQEBCAfv36Qa1Wo1OnTqhfvz6WLFkCtVqNsLAw2NnZYe/evTKPjoiIyDQZVBg5dOgQevTo8UT/mDFjEBERgcLCQnz22WdYs2YNkpKS4OzsjC5dumD27Nlo27YtAOD27dt46623sHfvXtSrVw99+/bFokWL4OTkVNfDISIiIhhYGCEiIiLjYzS39hIREZFhYhghIiIiWRnE3TRqtRq3b99GgwYNoFAo5C6HiIiItCCEwP379+Hp6Qkzs/LnPwwijNy+fRve3t5yl0FEREQ6SExMhJeXV7mvG0QYadCgAYDiwdjZ2clcDREREWkjOzsb3t7e0u/x8hhEGClZmrGzs2MYISIiMjCVXWLBC1iJiIhIVgwjREREJCuGESIiIpIVwwgRERHJimGEiIiIZMUwQkRERLJiGCEiIiJZMYwQERGRrBhGiIiISFYMI0RERCQrhhEiIiKSFcMIERERycogHpRHREREtWPFihVQKBQYP348zMzkmaNgGCEiIjJBDx8+ROfOnXHp0iUAwAsvvIDGjRvLUguXaYiIiEzM1atX0bVrVymIKJVK2YIIwDBCRERkUoYNG4aWLVvi/PnzaNiwIXbu3ImHDx/KWhOXaYiIiExAXl4ePD09kZmZCQDo1q0b1q9fDy8vL3kLA2dGiIiIjF5cXBy6dOkiBREA2L9/v14EEYBhhIiIyKi9/PLLaNeuHS5evAhXV1fs3LkTQghYWVnJXZqEyzRERERG6M6dO3BxcZHaPXr0wI8//ggPDw8ZqyobZ0aIiIiMTGxsLPz9/aW2hYUF9u3bp5dBBGAYISIiMhpCCHz//ffo1KkT0tLSAAAff/wxCgsLYW5uLnN15eMyDRERkRFISUnRmPl47rnnsG7dOri6uspYlXY4M0JERGTgLl68qBFE3n33XezZs8cgggjAMEJERGSwhBD4+uuvERwcLPXNnTsX8+fPl+05M7rgMg0REZEBSkpK0tgn5IUXXsAPP/wAZ2dnGavSjeHEJiIiIgIAHD9+XCOIzJ07Fz///LNBBhGAYYSIiMhgCCGwfPly/OMf/5D6Fi1ahJkzZxrUsszjuExDRERkAG7evImhQ4fi9OnTAIqXZZYtWwYfHx+ZK6s+hhEiIiI9t3PnTvTv319qL168GJMmTYJCoZCxqppjuHM6RERERk4IgSVLlmDQoEFS38aNGzF58mSjCSJAFcNIeHg4OnXqhAYNGsDV1RUDBw5EXFxchedERERAoVBo/FhbW1eraCIiImN37do19OzZE1OmTEFRURF69uyJGzduYOjQoXKXVuOqFEYOHz6MsLAwnDp1Cvv27UNhYSGef/555ObmVnienZ0dkpOTpZ+bN29Wq2giIiJjtnjxYvj6+uLXX3+FlZUVvvzyS+zbtw9NmjSRu7RaUaVrRvbs2aPRjoiIgKurK86ePYvu3buXe55CoYC7u7tuFRIREZkItVqNRYsW4d1335X6du7cieeee07GqmpftS5gzcrKAgA4OTlVeFxOTg6aNGkCtVqN9u3bY+7cuRpPE3xcfn4+8vPzpXZ2dnZ1yiQiItJ7d+7cwZgxY7B7926p79atW2jUqJGMVdUNnS9gVavVmDx5Mp5++mm0adOm3ONatWqF1atXY8eOHVi3bh3UajW6du2KW7dulXtOeHg47O3tpR9vb29dyyQiItJ74eHhcHFxwe7du6FUKrFq1Sqo1WqTCCIAoBBCCF1OnDBhAn755RccO3ZMYxe4yhQWFuKpp57C8OHD8emnn5Z5TFkzI97e3sjKyoKdnZ0u5RIREekdtVqNOXPmYPbs2VLfhQsXEBAQIGNVNSc7Oxv29vaV/v7WaZlm4sSJ2LlzJ44cOVKlIAIAlpaWCAoKQnx8fLnHKJVKKJVKXUojIiIyCGlpaRg1ahT27t0r9SUnJ5vkNZZVWqYRQmDixImIiorCwYMH0axZsyp/oEqlwqVLlzQedUxERGRKZs2aBTc3N+zduxc2NjZYvXo11Gq1SQYRoIozI2FhYVi/fj127NiBBg0aICUlBQBgb28PGxsbAMDo0aPRqFEjhIeHAwDmzJmDLl26wNfXF5mZmViwYAFu3ryJsWPH1vBQiIiI9JtKpYKdnR0ePHgAALCyskJ0dDT8/PxkrkxeVQojK1asAACEhoZq9H///fd45ZVXAAAJCQkaD+vJyMjAuHHjkJKSAkdHR3To0AEnTpww+X/wRERkWpKTkzFy5EgpiADFd8u4uLjIWJV+0PkC1rqk7QUwRERE+mj79u144403kJaWhnr16mHkyJFYtWqV3GXVulq9gJWIiIgqV1RUBEtLS6ndtm1bREZGonXr1jJWpX8YRoiIiGpBUlISRowYodF3+vRp6RpLKsWn9hIREdWwn376Ce3atcORI0dgbW2N0aNHQwjBIFIOzowQERHVkLy8PNja2krtoKAgREZGwtfXV8aq9B/DCBERUQ1ISEjQeKqul5cXTpw4AWtraxmrMgxcpiEiIqqmkmWZEiNGjEBiYiKDiJY4M0JERKSj3NxcNG3aFHfu3AEAdOrUCRs2bICPj4/MlRkWzowQERHp4Pr166hfv74URCZPnoxjx44xiOiAYYSIiKiKoqKiEBQUJLVff/11LF68GFZWVjJWZbi4TENERKSl7OxsdOzYEVevXgUAdOnSBWvXruXdMtXEmREiIiIt/O9//4O9vb0URN59910cOXKEQaQGMIwQERFVYtOmTejTp4/UnjRpEubPn6+x1Tvpjss0RERE5cjLy8OUKVM0Hmp36tQpBAcHy1iV8eHMCBERURl++ukn2NraYtWqVVAoFHj//fdRWFjIIFILODNCRET0mHXr1mHUqFFSe8+ePXj++edlrMi4MYwQERH97cGDB3jrrbewevVqqe/s2bNo3769jFUZPy7TEBERAdi6dSvq1auH1atXQ6FQYNasWSgqKmIQqQOcGSEiIpM3ceJELF++XGrv378f//jHP2SsyLQwjBARkcnKyclBWFgY1qxZI/VdvHgRbdu2lbEq08NlGiIiMkmRkZEIDAzEmjVrYGZmhmnTpqGwsJBBRAacGSEiIpMihMCQIUOwdetWAICnpyc2bNiA7t27y1yZ6WIYISIik5GdnY033nhDCiJA8d0y7u7uMlZFXKYhIiKTEBUVhQ4dOmDjxo0wNzfHW2+9haKiIgYRPcCZESIiMmpCCAQEBODy5csAAG9vb2zatAkhISEyV0YlGEaIiMhoZWVl4YUXXpCCCADExMTAyclJxqrocVymISIioxQdHY2goCCcOHECANC4cWOoVCoGET3EMEJEREZFrVajefPm6NSpE65fv46mTZvi9OnTuHnzJszM+GtPH/FbISIio3Hv3j34+Pjg+vXrAIDQ0FCcP38enTt3lrkyqgjDCBERGYVTp04hKCgIN27cAAC0bt0aBw8ehIODg6x1UeV4ASsRERk0lUqFxo0b4/bt2wAAHx8fREZG8gF3BoQzI0REZLCSkpJgYWEhBZFBgwbh3LlzDCIGhmGEiIgM0rFjxxAcHCy1g4KCsHXrVtjZ2clYFemCYYSIiAxKUVERPvjgA4SGhiIpKQmenp5Yu3Ytzp07B4VCIXd5pANeM0JERAbjzz//RKtWraT2yJEjsWLFCjRo0EDGqqi6ODNCREQG4dChQ3j66ael9pQpU7B27VoGESPAMEJERHqtsLAQH3/8MXr27Ik7d+6gXr162LhxIz7//HMuyxgJLtMQEZHeiomJQVBQkNR+9dVX8cUXX6BevXoyVkU1jTMjRESkl/bv368RRBYsWIDVq1cziBghhhEiItIrRUVF+Oijj/D8889LfVFRUZg+fbqMVVFt4jINERHpjTNnzmjsHTJ+/HgsXrwYtra2MlZFtY1hhIiI9MLPP/+Mf/3rX1J7w4YNGDZsmIwVUV3hMg0REcmqsLAQ7733nkYQ2b17N4OICeHMCBERyeb48eMIDQ1FUVERACAsLAzz5s1D/fr1Za6M6hJnRoiISBZvvPEGnnnmGSmIbN68GV9++SWDiAnizAgREdWpgoICzJw5E19//bXU9+uvvyI0NFS+okhWDCNERFRnrl+/jmHDhuHMmTMAAEtLS9y7d4+zISaOyzRERFQnRo0ahebNm+PMmTNwcHBAVFQUCgoKGESIMyNERFS78vPzMX36dKxbt07qi4mJQZMmTWSsivQJwwgREdWa+Ph4DB06FOfOnZP6cnNzuYkZaeAyDRER1YohQ4agRYsWOHfuHBo2bIidO3dCCMEgQk/gzAgREdWohw8fwsbGRqMvJiYGXl5eMlVE+o4zI0REVGP+/PNPdOnSRaMvLy+PQYQqxDBCREQ14p133kH79u1x4cIFuLi4YMOGDRBCwNraWu7SSM9xmYaIiKrlwYMHqFevntQODQ3Fjz/+CE9PTxmrIkPCmREiItLZlStX0LlzZ6lta2uL/fv3M4hQlTCMEBGRTj7++GN06tQJsbGxcHNzww8//IDc3FyYm5vLXRoZmCqFkfDwcHTq1AkNGjSAq6srBg4ciLi4uErP27x5M1q3bg1ra2u0bdsWu3fv1rlgIiKSV1paGhQKBT799FM8ePAAvXr1woULFzB69Gi5SyMDVaUwcvjwYYSFheHUqVPYt28fCgsL8fzzzyM3N7fcc06cOIHhw4fj9ddfx/nz5zFw4EAMHDgQly9frnbxRERUty5dugQ3Nzep3bRpU+zZs0ejj6iqFEIIoevJ6enpcHV1xeHDh9G9e/cyjxk6dChyc3Oxc+dOqa9Lly5o164dVq5cqdXnZGdnw97eHllZWbCzs9O1XCIi0pEQAt999x3eeustPHz4EADw6aef4sMPP5S5MtJn2v7+rtbdNFlZWQAAJyenco85efIkpk6dqtHXu3dvbN++vdxz8vPzkZ+fL7Wzs7OrUyYREVXD7du30ahRI6ndp08frFmzBi4uLjJWRcZE5wtY1Wo1Jk+ejKeffhpt2rQp97iUlJQnpu/c3NyQkpJS7jnh4eGwt7eXfry9vXUtk4iIquH8+fMaQWTevHnYtWsXgwjVKJ3DSFhYGC5fvoyNGzfWZD0AgJkzZyIrK0v6SUxMrPHPICKi8gkh8NVXXyEkJETq+7//+z/MmDEDZma8EZNqlk7LNBMnTsTOnTtx5MiRSrf4dXd3R2pqqkZfamoq3N3dyz1HqVRCqVTqUhoREVVTQkICmjRpIrX79++P77//Hg0bNpSxKjJmVYq3QghMnDgRUVFROHjwIJo1a1bpOSEhIThw4IBG3759+zTSNhER6Yf169drBJFFixZhx44dDCJUq6o0MxIWFob169djx44daNCggXTdh729vfSExtGjR6NRo0YIDw8HAEyaNAnPPvssFi1ahH79+mHjxo2Ijo7G119/XcNDISIiXQkhsGzZMkyePFnq++KLLzBx4kT5iiKTUaWZkRUrViArKwuhoaHw8PCQfjZt2iQdk5CQgOTkZKndtWtXrF+/Hl9//TUCAwOxZcsWbN++vcKLXomIqO7cvHkTgwYNkoJImzZt8NdffzGIUJ2p1j4jdYX7jBAR1Y6VK1diwoQJAAArKyssXLgQEydOhEKhkLkyMgZ1ss8IEREZJrVajcWLF2P69OlS3+HDh9GlSxcZqyJTxTBCRGRikpKS8MYbb2DXrl0AgMaNG+PYsWPc04lkw5vFiYhMyPz58+Hl5YVdu3ZBqVRixYoVuHHjBoMIyYozI0REJkCtVmP69OlYvHix1Hf69GkEBgbKWBVRMYYRIiIjl56ejtGjR2PPnj1S3+3bt+Hh4SFjVUSluExDRGTE5syZA1dXV+zZswc2Njb45ptvoFarGURIr3BmhIjICKlUKowYMQKRkZEAAG9vb+zevZt7PJFeYhghIjIyKSkpePnllzUexREdHQ1XV1cZqyIqH5dpiIiMyIcffohGjRrhwIEDsLW1xXfffQchBIMI6TXOjBARGYGCggKNp537+/tjy5YtaN26tYxVEWmHYYSIyMDdvn0bQ4cO1eg7duwYHBwc5CmIqIq4TENEZMD27NmDwMBAHDt2DAAwcOBACCEYRMigcGaEiMgAPXz4EDY2NlI7MDAQkZGRaNmypYxVEemGMyNERAYmMTERnTt3ltpdunTBqVOnGETIYDGMEBEZkJ07d6Jdu3a4dOkSAGDIkCE4efIkrK2tZa6MSHdcpiEiMgC5ubmoX7++1O7QoQM2bdoEHx8fGasiqhmcGSEi0nM3btzQCCKDBw/G8ePHGUTIaDCMEBHpse3btyMoKEhqv/LKK9i8ebPGniJEho7LNEREeuj+/fsYMGAAfv31VwDFF6muXLkSgYGBMldGVPMYRoiI9Myff/6JVq1aSe3p06dj7ty5sLS0lLEqotrDZRoiIj2yefNmdOrUSWrPmDEDCxYsYBAho8aZESIiPZCZmYlRo0Zh586dAICQkBAsW7YMHTt2lLkyotrHmREiIpnt2rULjo6OUhCZOXMmDh8+zCBCJoNhhIhIRhs2bMA///lPqT1v3jxeH0Imh8s0REQyyMvLw9tvv41vv/1W6vvtt984G0ImiTMjRER1LCoqCra2tvj222+hUCjw8ccfo6ioiEGETBZnRoiI6tAPP/yAV155RWrv378f//jHP+QriEgPMIwQEdWB3NxchIWF4YcffpD6YmJiuIkZEbhMQ0RU6zZu3Ij69evjhx9+gJmZGebMmYOioiIGEaK/cWaEiKiWCCHwwgsvYM+ePVLfwYMH8eyzz8pYFZH+YRghIqoF9+/fx4QJEzSCSGxsLPz8/GSsikg/cZmGiKiGlWxY9uOPP8Lc3BxDhw5FUVERgwhROTgzQkRUQ4QQCA4Oxm+//QYA8PLywsaNG/H000/LXBmRfmMYISKqAVlZWRg/frwURIDiu2UaNmyo0/sJoUJm5lEUFCTDysoDDg7doFCY11S5RHqFYYSIqJqOHTuGMWPG4K+//oKFhQV69+6Nn376CWZmuq2Ep6dvQ3z8JOTn35L6lEov+PouhYvLizVVNpHeYBghItKREAItW7ZEfHw8AKBJkybYtGkTgoODdX7P9PRtiI0dDEBo9OfnJyE2djD8/bcwkJDRYRghItJBRkYGnJycNPrOnz8PR0dHnd9TCBXi4yfh8SDy96sAFIiPnwxn5wFcsiGjwrtpiIiq6MyZM2jfvr3U9vX1hUqlqlYQAYDMzKMaSzNPEsjPT0Rm5tFqfQ6RvmEYISLSklqthp+fH4KDg3Hjxg00b94cv/32G65evarz9SGPKihIrtHjiAwFl2mIiLRw9+5dODs7S+0hQ4bgm2++gb29fY19hpWVR40eR2QoODNCRFSJ48ePIygoSGoHBgZi06ZNNRpEAMDBoRuUSi8AinKOUECp9IaDQ7ca/VwiuTGMEBGVQ6VSISgoCN27d0diYiJatGiB6OhoxMTEQKEoLzDoTqEwh6/v0pLW468CAHx9l/DiVTI6DCNERGX4/fffYWFhgZiYGKjVaowYMQJnz55Fhw4davVzXVxehL//FiiVjTT6lUov3tZLRovXjBARPebIkSMIDQ2V2l27dsW6detqZTakLC4uL8LZeQB3YCWTwZkRIqK/qVQqfPbZZ+jRoweEKN7rY/369Th+/HidBZESCoU5HB1D4eY2HI6OoQwiZNQ4M0JEBODixYsIDAyU2mPGjMHy5ctRr149GasiMg2cGSEik3fgwAGNILJq1SpEREQwiBDVEYYRIjJZKpUKs2bNwnPPPSf1bd26FePHj5exKiLTw2UaIjJJ0dHR6NSpk9QeO3Ysli5dCltbWxmrIjJNnBkhIpOzfv16jSCybt06fPPNNwwiRDJhGCEik1FUVIT3338fI0eOlPp27typ0SaiuscwQkQm4eTJk2jZsiXCw8MBAK+//joyMjLQr18/mSsjIoYRIjJ6S5YsQdeuXXH9+nXY2toiMjIS3377LRwcHOQujYjAC1iJyIgVFhbi/fffx8KFC6W+/fv3IyQkRMaqiOhxnBkhIqN09OhRdOzYUQoiL7/8MrKzsxlEiPQQZ0aIyOi8+uqriIiIAAA4ODhg9erVGDRokLxFEVG5GEaIyGgUFBRg6tSpUhABgOPHj8PPz0++ooioUlVepjly5Aj69+8PT09PKBQKbN++vcLjDx06BIVC8cRPSkqKrjUTET3hr7/+wtNPP43ly5dLfTk5OQwiRAagymEkNzcXgYGBGv/CayMuLg7JycnSj6ura1U/moioTMOGDYOPjw+io6Ph5OSEn3/+GUIIPluGyEBUeZmmb9++6Nu3b5U/yNXVlbfREVGNevjwIcaOHYtNmzYBAKytrRETEwNvb2+ZKyOiqqizu2natWsHDw8PPPfcczh+/HiFx+bn5yM7O1vjh4joUVevXkVISAh+/PFHqe/evXsMIkQGqNbDiIeHB1auXImtW7di69at8Pb2RmhoKM6dO1fuOeHh4bC3t5d++B8XInrUgAED0LJlS8TExMDZ2Rm//PILhBCwsbGRuzQi0oFCCCF0PlmhQFRUFAYOHFil85599lk0btwYa9euLfP1/Px85OfnS+3s7Gx4e3sjKysLdnZ2upZLRAYuLy9P42F2Pj4+OHz4MBo1aiRjVURUnuzsbNjb21f6+1uWW3s7d+6MY8eOlfu6UqmEUqmsw4qISF8IoUJm5lEUFCTDysoDDg7doFCY448//sC///1vjWNjY2P53woiIyBLGImJiYGHh4ccH01Eeiw9fRvi4ychP/+W1KdUeuHgwecwd+4mPHjwAK6urnjnnXcwffp0GSsloppU5TCSk5OD+Ph4qX39+nXExMTAyckJjRs3xsyZM5GUlIQ1a9YAKH5AVbNmzeDv74+HDx/i22+/xcGDB7F3796aGwURGbz09G2IjR0MoHTl+MEDoEePWwC+BwD07NkT69atg7u7uzxFElGtqHIYiY6ORo8ePaT21KlTAQBjxoxBREQEkpOTkZCQIL1eUFCAadOmISkpCba2tggICMD+/fs13oOITJsQKsTHT8KjQeT6dWD27NJjWra0xJ49u2FhYVX3BRJRrarWBax1RdsLYIjIMGVkHMKFC8X/gyIEsH07sGoVkJ8P2NkBQ4cCI0YAgYG/wtExVM5SiagK9PoCViKiRxUUJAMA7t4FBg8u7e/YEXj/fcDRUfM4IjIudbbpGRFReaysPBAfrxlEgoOB+fNLg0jJcURkfDgzQkSyEkJg06bfMWlSad/48cDw4Y8epYBS6QUHh251XR4R1QGGESKSza1btzR2WA4JAWbMAOztHz1KAQDw9V0ChcK8bgskojrBZRoiksXZs2c1gsjChQuxffsWuLp6aRynVHrB338LXFxerOsSiaiOcGaEiOqUEAJffvmlxqZlS5YswaS/12lcXAaWuQMrERkvhhEiqjPXr19HixYtoFKpABQ/8O67775Dw4YNpWMUCnPevktkYrhMQ0R1Yvny5WjevLkURJYsWYKoqCiNIEJEpokzI0RUq4QQWLx4MaZNmyb1rVy5Em+88YaMVRGRPmEYIaJac/fuXbz66qv4+eefpb6bN2+icePGMlZFRPqGyzREVCsWLVoEZ2dn/Pzzz1Aqlfjqq6+gVqsZRIjoCZwZIaIapVarsXDhQsyYMUPqO3XqFNq1aydfUUSk1xhGiKjGpKenY8yYMfjll1+kvqSkJHh6espYFRHpOy7TEFGN+Oyzz+Dq6opffvkF1tbW+Prrr6FWqxlEiKhSnBkhompRqVTo0aMHjh49KvWdOXMGbdu2lbEqIjIkDCNEpLPU1FS8/PLLGkEkJSUFbm5uMlZFRIaGyzREpJP58+ejbdu22L9/P2xtbbFs2TIIIRhEiKjKODNCRFWiUqnQunVrxMfHAwD8/f0RGRkJPz8/mSsjIkPFMEJEWrt9+zZGjhwpBRGg+PoQW1tbGasiIkPHZRoi0sqSJUvQrl07HDp0CPXq1cPixYshhGAQIaJq48wIEVXo4cOHsLGxkdoBAQGIjIxEq1atZKyKiIwJwwgRlevWrVvo1KmTRt+pU6c0wgkRUXVxmYaIyrR79260a9cOKSkpAICXXnoJQggGESKqcZwZISINDx48QL169aR2+/btERkZCR8fHxmrIiJjxpkRIpLcvHlTI4iMHTsWJ06cYBAholrFMEJEAIAdO3ZoPFn35ZdfxjfffAOlUilfUURkErhMQ2TicnJy0KBBA6ndqVMnbNq0Cc2aNZOxKiIyJZwZITJh58+f1wgikydPxrFjxxhEiKhOMYwQmagtW7YgNDRUao8fPx6LFy+GlZWVfEURkUliGCEyMVlZWRgzZgyGDBmC7Oxs+Pn54dixY1i1apXcpRGRieI1I0Qm5PDhwxqzITNmzMCnn34KS0tL+YoiIpPHmREiE7Fx40Y899xzUnvVqlWYN28egwgRyY5hhMjIZWRkYOzYsRg+fDgKCwvRqFEjnD59GuPHj5e7NCIiAAwjREZt+/btcHJywnfffQeFQoEPP/wQN27cQOfOneUujYhIwmtGiIxUREQEXn31Vam9detWDBo0SMaKiIjKxjBCZGRyc3MxceJERERESH3nzp1DUFCQfEUREVWAyzRERiQyMhL169dHREQEzMzMMHv2bBQVFTGIEJFe48wIkREQQuDLL7/E22+/LfUdOHBA4zZeIiJ9xTBCZOBycnIwYcIErFu3Tuq7fPky/P39ZayKiEh7XKYhMmBr165FgwYNsG7dOpibm2Pu3LkoLCxkECEig8KZESIDJIRAx44dce7cOQCAra0t/ve//+GZZ56RuTIioqpjGCEyMNnZ2Rg3bpwURIDip++2bNlSxqqIiHTHMEJkQKKjozFs2DBcu3YNABAQEIBz587B3Nxc5sqIiHTHMEJkAIQQeOqppxAXFwcAaNy4MTZt2oQuXbrIXBkRUfUxjBDpuczMTLz++utSEAGKl2WcnJxkrIqIqObwbhoiPXbmzBkEBQVh27ZtAAB/f3+oVCoGESIyKpwZIdJDarUaTZs2RWJiIgCgWbNm2LRpEzp16iRzZURENY9hhEjP3Lt3Dw0bNpTadnZ2OHfuHBwcHOQrioioFnGZhkiPnDhxAu3atZPafn5+yMzMZBAhIqPGMEJUBUKokJFxCKmpG5CRcQhCqGrkfVUqFQYMGIDu3bsjMTERvr6+OHLkCGJjY6FQKGrkM4iI9BWXaYi0lJ6+DfHxk5Cff0vqUyq94Ou7FC4uL+r8vnfu3IGLi4vUHjZsGFatWgU7O7tq1UtEZCg4M0KkhfT0bYiNHawRRAAgPz8JsbGDkZ6+Taf3PXr0qMayzLPPPov169cziBCRSWEYIaqEECrEx08CIMp6FQAQHz+5Sks2RUVFGDFiBEJDQ5GUlIRWrVrh4MGDOHToEJdliMjkcJmGqBKZmUefmBHRJJCfn4jMzKNwdAyt9P0uXbqEgIAAqT1q1Ch89dVXqF+/frVrJSIyRJwZIapEQUFyjR138OBBjSAyaNAgrFmzhkGEiEwawwhRJaysPLQ6rqAgtdylGpVKhU8++QS9evWS+jZv3iztrEpEZMqqHEaOHDmC/v37w9PTEwqFAtu3b6/0nEOHDqF9+/ZQKpXw9fVFRESEDqUSycPBoRuUSi8AFV/Lce3aFJw61fSJi1nPnTsHCwsLzJ49G0IIvPbaa8jNzcXgwYNrsWoiIsNR5TCSm5uLwMBALF++XKvjr1+/jn79+qFHjx6IiYnB5MmTMXbsWPzvf/+rcrFEclAozOHru7SkVeGxj99ds2/fPnTo0EF6fe3atfjuu+9ga2tbW+USERkchRCirFsEtDtZoUBUVBQGDhxY7jEzZszArl27cPnyZalv2LBhyMzMxJ49e7T6nOzsbNjb2yMrK4u3PJJsytpnpGwKmJs3wp49oxAePg8l/4r99NNP6N+/f+0XSkSkJ7T9/V3r14ycPHlSY50cAHr37o2TJ0+We05+fj6ys7M1fojk5uLyIrp0uQEfn8UVHnflikD37rcwd244hBB488038eDBAwYRIqJy1HoYSUlJgZubm0afm5sbsrOzkZeXV+Y54eHhsLe3l368vb1ru0wirSgU5rCyciv39YgIICystL1x40asWLECNjY2tV8cEZGB0su7aWbOnImsrCzpp+Qx6kT6oKy7a4qKgJUrgR9+KO2LjJyPoUOH1mFlRESGqdY3PXN3d0dqaqpGX2pqKuzs7Mr9v0WlUgmlUlnbpRHppOTumvz8JAACcXHAsmXAlSvFr3fuDPz3v43Qs+c0WeskIjIUtR5GQkJCsHv3bo2+ffv2ISQkpLY/mqhWlNxdExs7GF9+CWzdWtxfrx7w7rtA9+4K+Psvg0JhLm+hREQGosrLNDk5OYiJiUFMTAyA4lt3Y2JikJCQAKB4iWX06NHS8W+++Sb++usvvPvuu/jjjz/w1VdfITIyElOmTKmZERDJwN7+n9i4sZ8URADg66+B557zhr//lmo9xZeIyNRUeWYkOjoaPXr0kNpTp04FAIwZMwYRERFITk6WggkANGvWDLt27cKUKVOwdOlSeHl54dtvv0Xv3r1roHyiuiOECpmZR3HhwmlMmxaBc+f+AAB07RqAtWsnw9GxGRwcunFGhIioiqq1z0hd4T4jJLeSPUY++ugWDhwo7mvQQIGvvpqBl18Ol7c4IiI9pTf7jBAZuvT0bTh//iVMnlwaRADgm28EvLzmP7H9OxERVQ3DCFEFhFDh0KEwTJwInDlT2r9nD1CyfU58/ORyH5BHRESVq/W7aYj0Wcl1IAUFybCy8njimo9//asHdu5MAQDY2wMzZwLBwRrvgPz8RGRmHoWjY2hdlk5EZDQYRshklfWsGaXSC76+S1G/fl906NABv//+OwCgdWtgzhzAxaXs9yooSK6LkomIjBKXacgkpadvQ2zs4Cceepefn4RffnkJHTs+JQURAFi6tPwgApS9KysREWmHMyNkcoRQIT5+EoAnbyT74AOBEycA4CZcXV3x3nsqBAXdrfD9lEovODh0q5VaiYhMAWdGyORkZh59YkYkKwvo0QN/BxEgKAjYtes/lQYRAHB3H8e9RYiIqoFhhEzO49d3XL8OvPVWadvMDPi//wPs7O5o9X62ti1qsjwiIpPDMEImp+T6DiGAXbuACROAkgdDjx4NHDgAWFgANjY+VXo/IiLSDa8ZIZPj4NANubke+Oc/S2dIOnYE3n8fcHQEAAWUSi80avQf3Lq1SHo675MUvF6EiKgGcGaETM6lS7F45ZUHUrtfP2D+/NIgAgC+vktgZmYFX9+lfx+leOxdSo/j9SJERNXDMEJGSQgVMjIOITV1AzIyDkEIFYQQWLVqJYKDO+HOnSwAwBtv2GH69OLrRIDiO2Mefequi8uL8PffAqWykcb7P34cERHpjss0ZHTK2swsO9sDAwaULssEBxfvpuriYgcPj2mwtW1R5g6sQHEgcXYeUO5OrZXt4kpERBVjGCGjUrKZ2aPXeMTFAW++WRpERo0CXnmleDakoCAJN29+An//LRVu565QmJf5ekW7uHLWhIhIO1ymIaPx+GZmQgBRUZq37U6YALz2WumyTMmxujzsrqJdXGNjB/NpvkREWmIYIaPx6GZmKSnAyy8Dy5YBhYVA165AZCTw73+XdWbpw+60VdEurtUJOEREpojLNGQ0SjYzu3ABmDy5tD8sDHjpJUDx+A0x5ZyvjbJ2cdXEp/kSEWmLYYSMhqWlO7ZsAVatKu17912gb1/tzq/K5mXaBhc+zZeIqHIMI2QUrl27hiFDpuH8+eL2M88AEycCbm7anF31zcu0DS7cnZWIqHIMI2TwFi9ejKlTp0rtt98GBg6sfFmmmG6blzk4dINS6cXdWYmIagAvYCWDpVarsWDBAo0gsmXLFnz44VZYW3tp9R66bl6mUJhzd1YiohrCmRGSjVpdgKSkr5CXdw02Nj5o1Og/MDOz0urcO3fuYMyYMdi9e7fUl5iYCC+v4hDSsOE/cfKkFwoL08t9D0tLFwQHx2v9mY8r2Z217H1GlnCfESIiLTGMUJ0TQoUrV0YiPT0Sjy5xXLs2Hd7eU+Hj838Vnj9v3jzMnDkTAKBUKrFs2TKMGzcOikfWZbKyTlQYRACgsDAdWVknqnW3S2W7sxIRUeUYRqhOpadvw++/j4FanVPGqyokJi4AgDIDiVqtxrx58/DBBx9IfWfOnEFAQMATx9bl3S7l7c5KRETaYRihOlO8Y+lLlR6XmPg5mjX7TGP5JC0tDaNGjcLevXulvuTkZLi5uSAj49ATsxK824WIyHDwAlaqE6U7lmpDhbi4N6TWrFmz4Obmhr1798LGxgarV6+GWq2GufkJnDrVFBcu9MDvv4/AhQs9cOpUU6Snb5Pudnny4tISCiiV3rzbhYhID3BmhOpE5TuWakpNjYCj4wsICAhDenrptR/R0dHw8/Mr84F4QOlzYfz9t8DXd+nfxygeO453uxAR6RPOjFCdqOq1GXfvAv36jdIIIunp6fDz89P6uTDOzgPg778FSmUjjSN0vZ2XiIhqB2dGqE5U5dqMffuAFSuAjIx81KtnjUmTpmD69OdRULAPGRkeAFRaPxeGd7sQEek/hhGqE6U7lpYfIlQq4LnnAPH3hEfz5sDy5f+Gnd1aXLgQLh1nbu6k1WeWzMbwbhciIv3GZRqqE5o7lj4pPR2YOrU0iADAV18B1tZrUFCgGWBUqntafSbvlCEiMgwMI1RnXFxehJfX5Cf6f/0VGDcOuHgRsLUFBg8u7lMqdf0k3ilDRGRIuExDtU4IlXTNhlLZROrPzwf69Ck9rkULYNYsoFGjMt5Ea7xThojI0DCMUK1KT9/2xLNbAHOkpqowbFhpj4UF8OWXgFUVHxNjbt4AKtV9qc3nwhARGR6GEao15e0Fcvy4CvPnl7Z79gQ+/FC3z/D0fAtOTs/xThkiIgPGMEK1oqy9QPLygBdeKD2mdWvgo48AT0/dP8fR8R+8U4aIyMAxjJBOiq8DOYSMjEMAAAeHUDg6hkqzEo/vuJqcDIwYUXr+4MHA+PFAq1YLkZAwF0VF2t0h8ygLi4YMIkRERoBhhKosPX0b4uLGo6jortSXkPAZzM2d4Oz8L5ib2+LBgz+l144cAf7vkYfwvvACEBZW/Gel0hOtWn3z93IOUPauqmVr1eprLskQERkBhhGqkoqevKtS3UNqaoTUzs0FXnqp+K4ZAPD3L742xN299BxLS1c4OfWEv/+WJy50VSq94eo6DKmp61FQkCT1W1l5oUWLpbxIlYjISDCMkNaEUOHqVe2evBsdDbzzTml72DDg9deL75p5lOLvh+pWtG178+bh3M6diMiIMYzQEx7dF+TRX/7FfZU/effXX4E5c0rbgwYBb7xR9rEFBWnSn8vbtp3buRMRGTeGEdJQ1r4gxXt3LIVanV/huXl5xQ+4+/nn0r7lywE/v/LP4ZbtRETE7eBJUrIvyOMPs8vPT0Js7GDk5V0t99wTJ4ovTP355+Kll5Ejgf37Kwoi3LKdiIiKcWaEAJS9L8gjrwIAbt36AhYWTk/chrtvHzB3bml73jygc+eKPo1bthMRUSmGEQLw5L4gZSkquqPRfvgQ+OILYPfu0r5Vq4CWLSv+LG7ZTkREj2IYIQBAQUFylY4/fBj45JPiPysUwOjRwKhRgHkFEx1mZvXRtu12ODiEckaEiIgkDCMEoGoXkv7wAxARUdpeuBBo377y89TqHADmDCJERKSBYYQAAPb2XWFp6YzCwjvlHpOXByxZAuzdW9r33XdA8+baf05VZ2CIiMj4MYwQ0tK24OrV/1QYRPbvL74+JDsbMDMrvltmzJiKl2XKwlt5iYjocQwjJu7atXeRmLig3NeFAD7/HNi5s7jt5AR8/DEQGFjVT1JAqfTirbxERPQEhhETlpa2ucIg8uABsGgRcPBgad+XXwIeOk5u8FZeIiIqC8OIiRJChT/+GFvu6/v2FV8PkppavCwzfDjw6qtVX5YBih94x1t5iYioPAwjRkqtLkBS0lfIy7sGGxsfNGr0H5iZWUGlysO1a1ORnv4T1OrsJ84TAnjtNeDGjeK2qyvw0UdAmzZVr8HJ6Z/w9p7GB9sREVGFGEaMUHz8dNy6tRiAWuq7dm06rK2b4uHDa+Wel5MDfPZZaRABgJUrAUfHqtfg5TUNvr4Lq34iERGZHD6bxshcujQQt24twqNBpJiqwiDyxx/A+PHA6dPFbTc34MAB3YIIoEB6eiSEUOlyMhERmRjOjBiRtLRI3L27o0rnqNXFO6fevl3cdncvvlvmqaeqU4lAfn4iMjOPwtExtDpvREREJkCnmZHly5ejadOmsLa2RnBwMM6cOVPusREREVAoFBo/1tbWOhdMZRNChbi48VU6JzsbCAsrDSLNmgHffFPdIFKKG5wREZE2qhxGNm3ahKlTp2LWrFk4d+4cAgMD0bt3b6SlpZV7jp2dHZKTk6WfmzdvVqtoelJm5lGoVFlaH3/lSvGyzB9/FLcbNy6+e6Z+/ZqriRucERGRNqq8TPP5559j3LhxePXVVwEAK1euxK5du7B69Wq89957ZZ6jUCjg7u5evUqpQtrOQqhUwJAhQEZGcdvTE5g1q/In7VYNNzgjIiLtVSmMFBQU4OzZs5g5c6bUZ2Zmhl69euHkyZPlnpeTk4MmTZpArVajffv2mDt3Lvz9/cs9Pj8/H/n5+VI7O/vJW1BNnRAqZGYeQkbGIQCAhYVDpedkZQEDB5a2O3QAZs8G6tWrycoUALjBGRERaa9KYeTOnTtQqVRwc3PT6Hdzc8MfJfP9j2nVqhVWr16NgIAAZGVlYeHChejatStiY2Ph5eVV5jnh4eGYPXt2VUozKenp2xAXNx5FRXcfe0UBQJR5zqVLwKeflrZbtAAWLAAUCt3rMDOrDwsLBxQU3JL6lEovbnBGRERVUut304SEhCAkJERqd+3aFU899RRWrVqFTx/97fiImTNnYurUqVI7Ozsb3t7etV2qQUhL24IrV4aU8+qTQUSlAlasAKKiiu+c8fICxo4Fnn22+rU89dQPcHYegMzMoygoSIaVlQc3OCMioiqrUhhxdnaGubk5UlNTNfpTU1O1vibE0tISQUFBiI+PL/cYpVIJpVJZldKMnhAqXL/+KRIS5mh9TloaMHRoabtXL2DKFMDWtnq1FM9+LJVmP3j7LhERVUeV7qaxsrJChw4dcODAAalPrVbjwIEDGrMfFVGpVLh06RI8dH3amglKT9+G48fdkJAwG+UtwzwuJgb4z39K2717A++/X70g0rjxhwgM/BVdutzgMgwREdWYKi/TTJ06FWPGjEHHjh3RuXNnLFmyBLm5udLdNaNHj0ajRo0QHh4OAJgzZw66dOkCX19fZGZmYsGCBbh58ybGji3/IW1UKi1tM65c+bfWxxcVAd9+C2zeXLws4+YGvPkmEBpanSqK745p1uwTLsEQEVGNq3IYGTp0KNLT0/Hxxx8jJSUF7dq1w549e6SLWhMSEmBmVjrhkpGRgXHjxiElJQWOjo7o0KEDTpw4AT8/v5obhZEqvj5kmNbHx8cD48aVtvv0Ad5+G7CxqU4VvDuGiIhql0IIod28v4yys7Nhb2+PrKws2NnZyV1Onaj4QtUnnT0LTJ9e2h42DHjjjerXoVR68+4YIiLSiba/v/lsGj2UmroJv/+u3YxIQUHx9SCP+vRT4JlnqleDhYUT/P0j4eAQyhkRIiKqVXxqr565du1drYPI779rBpFnnwX27Kl+EAEUaNXqGzg69mQQISKiWscwokfS0iKRmLhAq2NPn9a8W6ZrV+CTT4Dq3xGtgJ/fJi7LEBFRneEyjZ5ISdmAP/4YWelx+fnA6NHFe4iUmDsX0PLOai0IWFq61NSbERERVYphRA/ExPwTmZm7Kj3u4EHNLd0HDgQmTACsrGq2Hm0fukdERFQTGEZkduyYG4qK0io9buhQzdmQnj2BSZNqpyYrK25IR0REdYdhRCZFRTk4dqwhgIIKj8vLA154QbNv2jTgn//U7XPNzOpDrc4p59Xizc0cHLrp9uZEREQ6YBipRUKonniIHACcPu2Hhw//rPT8x/cOAYAdO4DqbLXi7f0Obt78BE9uK8/NzYiISB4MI7UkPX0b4uMnIT//ltRnbt4AKlUOtHm+zNy5wL59pe2+fYF3361eTUqlN5o2/QD167d5orbih99xczMiIqp7DCO1ID19G2JjB+Px0KFS3a/03IICYOVKzSCydCkQEFDdqhTSrIeLy4twdh7wxKwNZ0SIiEgODCM1SAgVMjIO4Y8/xkDbp+s+6swZYMaM0na9esCWLYC1dfXqMjdvgNatIzRmPRQKczg6hlbvjYmIiGoAw0gNSUuLRFzceKhUWTqd36OHZrtm9g5RwMXl3/Dz+5GzHkREpLcYRmrAxYsDcO/eTzqdm5MD9O+v2bd8OaDrQ409PN6EQmEBGxsfNGr0H5iZ1fAmJERERDWMYaSaLl3SPYicPAm8/75m3+7dgI2NbrUolV5o2fJLzoIQEZFBYRjRkRAq3LgxB3fv6hZEXn8d+Ouv0vbAgdXfxMzXdymDCBERGRyGER2kpW3Bn39OQFHRnSqf+/Bh8W26j1q5EmjVSvd6LCwaolWrr3lbLhERGSSGkSqKj5+OW7cW6XTu8ePAqlWafXv3ApaWVX8vZ+eXYGv7FBwdQ+HgEMoZESIiMlgMI1Xw55+Tcfv2Up3OnTIFiIkp/rOjY3G7mw67rltauqBly5WcBSEiIqPBMKKl6OhOyMmJrvJ5GRnAi4/lhlWrABeXqtdgaemCkJBbvEOGiIiMipncBRiCixcH6BRE/vpLM4golcU7q+oSRACgZcuVDCJERGR0GEYqoVLlVfnWXSGAXbuACRNK+157DdizB7DQaS7KHH5+kVyaISIio8RlmkpcvjyoSsc/eADMmgVE/z2R0rkzMHMm4OCgew1+fhvh6jpY9zcgIiLSYwwj5VCrC5CU9AUyMvZVfvDfrl4FZs8GkpKK22PHAsOHA2Y6zj/xll0iIjIFDCNluHbtXSQmfg5ApdXxQhQHj5JNzFxdgY8+Atq00b0GF5ehfKYMERGZBIaRxxQHkQVaH5+aCgwbVtr29wf++1/A3l63zzc3t0OrVt9xWYaIiEwGw8gj1OqCv2dEtHP8OPDhh6VtNzdg2TLdl2W8vN6Dj89nnA0hIiKTwjDyiKSkr6DN0owQwLZtwIoVpX1vvw0Mqtq1rk9o2LA3gwgREZkchpFH5OVdq/SYe/eA8PDSu2UCAorvlnF3r95nW1l5wcFBhy1ZiYiIDJxJhxEhVMjMPIqCgmRYWXnAxqZphcdfuQLMmVN8nYilZfE+IgMHAgpF9Wtp0YJP3CUiItNksmEkPX0b4uMnIT//ltRnaemJ4n3g1BrHqtXA2rXFPypV8bNlPvwQaN9e+89TKKxhZmYBlSpHo5+37xIRkakzyTCSnr4NsbGDAQiN/sLC5Cf6EhOB0aNL26GhwLRpQP36lX+OtbUP7OxC4O4+Co6OPQEAmZmHkJFxCADg4BAKR0c+cZeIiEybyYURIVSIj5+Ex0PH368CUMDMrB7U6jxs2KDC11+XvjpgADBpkvbLMipVNp56KkIjbDg69pSCCREREZngs2kyM49qLM08SaCoKAe7dw/XCCLvvQdMnly160MKC9ORmXlU11KJiIhMgsnNjBQUJFf4ekZG8d0yv/22TurbsgVo2LB2Po+IiMjUmVwYsbLyKPe1mBhgypTiPyuVxXuH9O1bvbtlKvo8IiIiMsEw4uDQDUqlF/Lzk1By3YhKBaxbB6xZU3xMvXrAF18AzZpV55MUUCq5dwgREVFlTO6aEYXCHL6+S0taiI8HevUCIiKKb+Ht0wfYvLn6QQQAfH2X8E4ZIiKiSphcGAEAF5cX4e+/BUeOOGLcuNL+jz5ywhdfTIaNTdXez8xM8z5fpdIL/v5buHcIERGRFkxumaaEi8uLiIlZC2A7AGDt2k8xcuRMZGYexa1bS7R6D0tLF7RosRwuLi9q7OTq4NCNMyJERERaMtkwAgBz54ajc+dgjBs3Dg3/vl2mrGtKHmdh0RB+fps0NixzdAytk5qJiIiMjUIIUfZvXD2SnZ0Ne3t7ZGVlwc7OrtY/r3SHVkAzkBRfC8IlGCIiospp+/vbJK8ZqUzJNSVKZSONfl4LQkREVPNMepmmIi4uL8LZeQCvBSEiIqplDCMVUCjMeS0IERFRLeMyDREREcmKYYSIiIhkxTBCREREsmIYISIiIlkxjBAREZGsGEaIiIhIVgwjREREJCuGESIiIpIVwwgRERHJimGEiIiIZGUQ28GXPFg4Oztb5kqIiIhIWyW/t0t+j5fHIMLI3bt3AQDe3t4yV0JERERVdf/+fdjb25f7ukGEEScnJwBAQkJChYMxBtnZ2fD29kZiYiLs7OzkLqfWmMo4AdMZq6mMEzCdsZrKOAHTGWtdj1MIgfv378PT07PC4wwijJiZFV/aYm9vb9R/SR5lZ2dnEmM1lXECpjNWUxknYDpjNZVxAqYz1rocpzaTCLyAlYiIiGTFMEJERESyMogwolQqMWvWLCiVSrlLqXWmMlZTGSdgOmM1lXECpjNWUxknYDpj1ddxKkRl99sQERER1SKDmBkhIiIi48UwQkRERLJiGCEiIiJZMYwQERGRrAwijCxfvhxNmzaFtbU1goODcebMGblLqpZPPvkECoVC46d169bS6w8fPkRYWBgaNmyI+vXr46WXXkJqaqqMFWvvyJEj6N+/Pzw9PaFQKLB9+3aN14UQ+Pjjj+Hh4QEbGxv06tULV69e1Tjm3r17GDlyJOzs7ODg4IDXX38dOTk5dTiKylU2zldeeeWJ77hPnz4axxjCOMPDw9GpUyc0aNAArq6uGDhwIOLi4jSO0ebva0JCAvr16wdbW1u4urrinXfeQVFRUV0OpVLajDU0NPSJ7/XNN9/UOEbfx7pixQoEBARIm16FhITgl19+kV43lu8TqHysxvB9lmXevHlQKBSYPHmy1Kf336vQcxs3bhRWVlZi9erVIjY2VowbN044ODiI1NRUuUvT2axZs4S/v79ITk6WftLT06XX33zzTeHt7S0OHDggoqOjRZcuXUTXrl1lrFh7u3fvFh988IHYtm2bACCioqI0Xp83b56wt7cX27dvFxcuXBD/+te/RLNmzUReXp50TJ8+fURgYKA4deqUOHr0qPD19RXDhw+v45FUrLJxjhkzRvTp00fjO753757GMYYwzt69e4vvv/9eXL58WcTExIgXXnhBNG7cWOTk5EjHVPb3taioSLRp00b06tVLnD9/XuzevVs4OzuLmTNnyjGkcmkz1meffVaMGzdO43vNysqSXjeEsf70009i165d4s8//xRxcXHi/fffF5aWluLy5ctCCOP5PoWofKzG8H0+7syZM6Jp06YiICBATJo0SerX9+9V78NI586dRVhYmNRWqVTC09NThIeHy1hV9cyaNUsEBgaW+VpmZqawtLQUmzdvlvp+//13AUCcPHmyjiqsGY//klar1cLd3V0sWLBA6svMzBRKpVJs2LBBCCHElStXBADx22+/Scf88ssvQqFQiKSkpDqrvSrKCyMDBgwo9xxDHKcQQqSlpQkA4vDhw0II7f6+7t69W5iZmYmUlBTpmBUrVgg7OzuRn59ftwOogsfHKkTxL69H/wP/OEMdq6Ojo/j222+N+vssUTJWIYzv+7x//75o0aKF2Ldvn8bYDOF71etlmoKCApw9exa9evWS+szM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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "coef = np.polyfit(X_train['metraz'], y_train['cena'], 1)\n", + "poly1d_fn = np.poly1d(coef)\n", + "\n", + "plt.plot(X_test['metraz'], y_test_pred_df['cena'], 'yo', X_train['metraz'], poly1d_fn(X_train['metraz']), '--k')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Funkcja predykcji ceny mieszkania" + ] + }, + { + "cell_type": "code", + "execution_count": 175, + "metadata": {}, + "outputs": [], + "source": [ + "def cena_mieszkania(pokoje, metraz, rok):\n", + " mieszkanie = pd.DataFrame([[pokoje, metraz, rok]], columns=['pokoje', 'metraz', 'rok'])\n", + " cena = model.predict(mieszkanie).item()\n", + " return np.round(cena, 2)" + ] + }, + { + "cell_type": "code", + "execution_count": 176, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([[330020.67101959],\n", - " [615640.72224431],\n", - " [438723.7484912 ],\n", - " ...,\n", - " [398651.75187026],\n", - " [376543.40054119],\n", - " [426921.61270958]])" + "184531.94" ] }, - "execution_count": 41, + "execution_count": 176, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "model.predict(x)" + "cena_mieszkania(pokoje=2, metraz=25, rok=2000)" ] } ],