zuma/wyk/1_Wprowadzenie.ipynb
Paweł Skórzewski 99b1e96362 Wykłady 1 i 2
2021-03-19 09:08:11 +01:00

650 lines
48 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Uczenie maszynowe\n",
"# 1. Wprowadzenie"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## 1.1. Czym jest uczenie maszynowe?"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"<img style=\"margin: auto\" src=\"terms-cloud.png\"/>"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"### Sztuczna inteligencja (*artificial intelligence*)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"* Naśladowanie ludzkich procesów poznawczych za pomocą komputerów"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"* Konstruowanie systemów (maszyn), których działanie podobne jest do przejawów ludzkiej inteligencji"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"* Dziedzina nauki, która zajmuje się naśladowaniem ludzkiej inteligencji przez komputery"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"* Obejmuje m.in. logikę rozmytą, algorytmy ewolucyjne, robotykę i uczenie maszynowe"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"<img style=\"margin: auto\" src=\"venn-ai.png\"/>"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"### Uczenie maszynowe (*machine learning*)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"* Tworzenie systemów, które potrafią doskonalić się przy pomocy zgromadzonego doświadczenia"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"<img style=\"margin: auto\" src=\"venn-ai-ml.png\"/>"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"### Sieci neuronowe (neural networks)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"* Rodzaj struktur matematycznych, które wykonują obliczenia przy pomocy elementów zwanych _sztucznymi neuronami_"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"* Budowa sieci neuronowych i zasady działania sztucznych neuronów były luźno inspirowane działaniem neuronów w mózgu"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"<img style=\"margin: auto\" src=\"venn-ai-ml-nn.png\"/>"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"### Uczenie głębokie (deep learning)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"* Użycie sieci neuronowych do automatycznego wydobywania cech z surowych danych"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"<img style=\"margin: auto\" src=\"venn-ai-ml-nn-dl.png\"/>"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"### Data science"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"* Dziedzina nauki zajmująca się przetwarzaniem danych w celu wydobycia z nich wiedzy"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"<img style=\"margin: auto\" src=\"venn-ai-ml-nn-dl-ds.png\"/>"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"### Uczenie maszynowe klasyczne definicje"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"<img style=\"float: right;\" src=\"https://upload.wikimedia.org/wikipedia/commons/f/f8/This_is_the_photo_of_Arthur_Samuel.jpg\"/>\n",
"\n",
"> Uczenie maszynowe to dziedzina nauki,\n",
"> która daje komputerom umiejętność uczenia się\n",
"> bez programowania ich _explicite_.\n",
"\n",
"> &mdash; <cite>Arthur Samuel, 1959</cite>"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"<img style=\"float: right;\" width=\"20%\" src=\"http://mediad.publicbroadcasting.net/p/wamc/files/styles/x_large/public/201401/tom_mitchell.jpg\"/>\n",
"\n",
"> Mówimy, że program komputerowy **uczy się**\n",
"> z doświadczenia E w odniesieniu do zadania T i miary skuteczności P,\n",
"> jeżeli jego skuteczność wykonywania zadania T mierzona według P\n",
"> wzrasta z doświadczeniem E.\n",
"\n",
"> &mdash; <cite>Tom Mitchell, 1998</cite>"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"<img style=\"margin: auto\" width=\"40%\" src=\"https://static1.squarespace.com/static/5150aec6e4b0e340ec52710a/t/51525c33e4b0b3e0d10f77ab/1364352052403/Data_Science_VD.png\"/>\n",
"\n",
"<sub>Źródło: Drew Conway, http://drewconway.com/zia/2013/3/26/the-data-science-venn-diagram</sub>"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"Uczenie maszynowe to:\n",
"\n",
"* doskonalenie działania dla pewnych zadań na podstawie doświadczenia"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"* tworzenie systemów, które doskonalą swoje działania na podstawie przeszłych doświadczeń"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"* zestaw metod, które potrafią w sposób automatyczny wykrywać wzorce w danych, a następnie używać wcześniej niezaobserwowanych wzorców do przewidywania przyszłych zjawisk"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"Charakterystyczne cechy uczenia maszynowego:\n",
"\n",
"* „automatyzacja automatyzacji”\n",
"* komputer „sam się programuje”\n",
"* modelowanie danych zastępuje pisanie programu"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"<img style=\"margin: auto\" width=\"80%\" src=\"https://recast.ai/blog/wp-content/uploads/2017/02/image20.png\"/>\n",
"\n",
"<sub>Źródło: https://recast.ai/blog/machine-learning-algorithms/</sub>"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"slideshow": {
"slide_type": "notes"
}
},
"outputs": [],
"source": [
"import IPython"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"data": {
"image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUDBAkLCAgICwgICAgICAgICAsLCAgLCAgICAgICAgICAgIChANCAgOCggIDRUODxERExMTCAsWGBYSGBASExIBBQUFCAcIDwkJDxIPDQ0SEhISEhIVEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEv/AABEIAWgB4AMBIgACEQEDEQH/xAAdAAEAAgIDAQEAAAAAAAAAAAAABgcFCAMECQEC/8QAYBAAAQMCAgIICxMICQQBBAMAAgABAwQRBRIGIQcIEyIxMkFRFDVCUlNhcXKBkqEVFhgjM1Ric3SCkZOUsbKz0dPUCRc0NkN1orQkRFVjo8HCxPBkldLjgyW1w/Kk4fH/xAAcAQEAAgMBAQEAAAAAAAAAAAAAAQIDBAUGBwj/xAA0EQACAQIDBgQGAgICAwAAAAAAAQIDEQQxUQUSEyFBcRQygZEGIlJhofCx0TPBB0IjJPH/2gAMAwEAAhEDEQA/ANMkREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEWS8xpOuj8Z/sTzHk54/Gf7EBjUWS8x5OePxn+xPMeTro/hf/AMUBjUWS8x5OePxn+xPMeTnj8Z/sQGNRZLzHk66P4X/8U8xpOuj8Z/sQGNRZLzHk54/Gf7E8x5OePxn+xAY5FNqDYzxCW25CEt+sGoL6MLss/SbBGMkO6SFQ0sfXT1BAPijERD4WZVVSOpTix1KqRTzFNjGoiezV+G1D8u4yVZC3vypRF/A7ro/m/quy03jy/dKOLDUjjQ1REUUv84FV2Wm8eX7pZbCNiKvmhlqd3ooKeHjSyyVAgRdYGSAiM9bamblZuF7IqsH1CqwfUrpFL/OBVdlpvHl+6TzgVXZabx5fulHFhqRxoakQRS/zgVXZabx5fuk84FV2Wm8eX7pOLDUcaGpEEU5wzY2qZTyvV0FPvXfNKdSwPbkzBTlvu7866x6AVV/VaYu2xTWft76Jnbwsyniw1J40NUQ9FL/OBVdlpvHl+6TzgVXZabx5fulHFhqRxoakQRS/zgVXZabx5fuk84FV2Wm8eX7pOLDUcaGpEEU0o9jupMhF6ijiYurM6jI3fZICdu7ZZPH9h7EqZgkOSjOCRhyTRSynAWbg3+4tbws1+S6nix1J40NSuEUv84FV2Wm8eX7pPOBVdlpvHl+6UcWGpHGhqRBFL/OBVdlpvHl+6TzgVXZabx5fuk4sNRxoakQRS/zgVXZabx5fuk84FV2Wm8eX7pOLDUcaGpEEUv8AOBVdlpvHl+6TzgVXZabx5fuk4sNRxoakQRS/zgVXZabx5fuk84FV2Wm8eX7pOLDUcaGpEEUv84FV2Wm8eX7pPOBVdlpvHl+6Tiw1HGhqRBFL/OBVdlpvHl+6TzgVXZabx5fuk4sNRxoakQRS/wA4FV2Wm8eX7pPOBVdlpvHl+6Tiw1HGhqRBFL/OBVdlpvHl+6TzgVXZabx5fuk4sNRxoakQRS/zgVXZabx5fulItjXYSxLFp66npqjD4zw8Kc5nnlqBAhqt03Pctypjcnbcivdm4WtdWjUjLkmWjUjJ2TKtRbEehD0g9e4J8qr/AMAnoQ9IPXuCfKq/8ArFzXdFsR6EPSD17gnyqv8AwCehD0g9e4J8qr/wCA13RbEehD0g9e4J8qr/AMAnoQ9IPXuCfKq/8AgNd0WxHoQ9IPXuCfKq/wDAJ6EPSD17gnyqv/AIDXdFsR6EPSD17gnyqv8AwCehD0g9e4J8qr/wCA13RbEehD0g9e4J8qr/AMAnoQ9IPXuCfKq/8AgKmREVSwZLoiAIiIAiWRAHX7gdmIL8XOHzsvwyWQhm1GJhK1NC7YvLSAcUeQip4nh3zNYeiIgHJ2sxX7qheOaK4i7bs5PiAcYZYpym3vek+fxWdYzRTSSemERa01OY5ZYJN9EQlw5RK+Qn521c7Os9VUVoyxPC55QiHfVUAkTS0xcL5gu7Sw929m162vl58mpHIk1IhhC7OTOLiQ8Zn1ExeyHhFfFLQ0rhqGGPEKQJupGoiEY6ofZFlsx9y7N2nXyfQ7dW3WgqI62LVmByGOoizdeJWbw73tM6x7uhj3b5czF6J4IVVNlctyp4h3WqlfUMUQ633xas72e3cd+R1z6XY6MzhBCO5UFPvaeNtWbLq3c+uN7va+tr87ushpdUhS044RCXFsdfI2rdpyZnaLvGa2rtM3IV4gj5cg+XIIiKpQIiIAiz2iei09Y5uBNFEG9KQxLI58gDl1kWtr81+2zPi8Ww+WCY6eUHAw5OpceQwLqgfkdTZ2uTZ2udVERQQEREAWa0b0klps0eVpqU7jLBJriIS4cua+Qu22rnZ1hUUp2JTsS3EdHYaiIqvDycxHfT0pfpEHeDe5hzcPad+Bok67GHVskMgyxGcUo8Uh+iXIQvys+p1LGmo8S1SbnQYkXFkbVS1RezHqDf4e2XA08mW5MhaLvY1hE9NJuU0TgXUvwhIPXAfAQ/Ny2XRVSAiIhUIizGjOjlRWGbRCwiA78zuwMXIGYWdyN+Zm1cL2UpXJSuYdFzVtKcUhxSA4SgWUxfjMX/AI21s7anZ1wqCAiIgCIuOolARciMQBuEidhZvC+pAciLGDpBRu9uiYfCdh8YtSyQEztdiYhLiu2sX98pcWsyXFrM+oiKCArY2nXTXSX3Pg3zViqdWxtOumukvufBvmrFs4Xz+htYPz+hssiIt86YREQBERAEREAREQBERAeYyIiqWCIiAO6IiAIiIAyIiFWWPT8Ue9ZZTR/F5aWYZoi33FMX4kocoGPW9vk4Vi6fij3rLkXK6nDb5ko0rwmI4hxOkH+iyllqIuqpJuUSHqQd37jXa2p2t2sFFqChKvP9NqweKiB/2URWz1BD29Tt73rnXzYyzg9VNITDhoQkNaxjmCXMz5AEeql19vU9uqZcOydFI9WNS5tLS1EQFSGPEaIWb0oetJne78+a/aa/TeMnTe/e59h0ujlEYq+ljqxHejKGWOqD3w2Yu4zj4V987FJUa6LEIyIv2FR6XN3olbf+AfCokslguAVdT6lTkY9e+9ib352HwNrVU7/cqpXz5nNiWi9dD6pSTZeuAd0Dxor5fDZYctT2felzPqJWBh0BUWqbHdxIf2MJFUE3scps4h4i79ZsgUWXK9PNW+zlipRzeK3+llbdXYncXYrBSDQ/RsqlylkLcaKDfTSvqHKOtwAi1ZrcL8At4GfJz6YUbvqwOj7rkH0Rp2WTpcSgxOlLDxEcPmAs9PGBf0ebLd8hCLNyu7u1rtqJr2dkUVcKKvncj+l2krSsFLTDuNBDbchHMJSkL3aU+Xh1sz67759fBlcLr4sShGhqiYK8B/olQ/7X+6PriflbquFt9wwuvpJIpThlBwlAspC/J/kQu2tnbU7Osroho9JVyk+bcqeLfTTPqGMR15RItW62a/a4X7cJtsJtv/RjcVw+WCY4JQyGHGbqXHkIC6oH5HXVU90k00pTlGNqCGtihHIEs5E5nzkOq+V3bhfW/DqusX56aX+xaD/nvEcVqQ0r5kWRSnz00v8AYtB/z3i++emk/sWg/wCf/Go3VqRZa/yRVFK/PTR/2LQ+N/6089NH/YdD43/qSy1FlqRRFLPPTRf2HR+N/wCpPPTR/wBh0fj/APqTdWpNlr/J18G0skCPoaoiGvpOxy8eP2UUvCNuRn4OR2XbfRukqt9QVYiZf1aoLJK3sQPq/L3y/D6VUf8AYdH4/wD6lIMGiGYN1fAqGlgHfbrNLuYZeuEShzF3bW7auufLP3LLnyz9yB4pglXA/ptPKHsnG4fGjcPKsczq5KrTnD4B3MTeYh6mESIG705XYSHuO6jGJadUkj38yIJfZSlFm/hif51DjFdQ4RXUj2iWjslXIW+3Kni31RK+oYx4XESLUR28DNrft5HSnSUMgUNDeGigJt+JEJzmL3zkXGy5mvfhd9b8jNnKatjxGgOhpxHD6gCeUYBIWhqQG7uOYQZyu+t9Wp2Z3u3BXdTAcZFGYuBgTiYlqJiHqSUPkuXuQ+S5e5NYJ48ViGGQhixWEPSJH3oVYDryH7Pl7Wt21ZmaF1dOcchxSA4GBOJiWomL/nKsrohgctVOLRk8QRWOWbg3ERe7EJdfq1dy/AzrvbI2NQ1E4NELEMA7kU78epy23xZbNkZ2ez213fgazI+auyHzV3/9IuiIqFDgr6oI4jlPiRA5v73qR9k/B4VVFdW1NdUiLCRmb2hiHWItzM3c1u/au9m4J5siX8z5bc8Wbvd1H/OyxWwqIdE1BPbdWhbJ3rm2e38HwrYjLh0pVLXaPQfD+z44zERpN235Wvokru33Zj6jY7xAY2PLGZZc2RpLyN5LE/aZ3XQ0XxySlm3M824uWWUHzbzXZzFuETZ+FuW1n5Ha9lSGygANidRktr3JztwboUYOfl1v23dYsHi5V24TSyvyPZ/FXwxh8BQjUpN2b3WpNPo3dcloWcz8y+ro6Pu/QlNfh6Hhvf2tl3lVqzPlrVnYK2Np1010l9z4N81YqnVsbTrprpL7nwb5qxbGF8/obOD8/obLIiLfOmEREAREQBERAEREAREQHmMiI6qWCIyWQBERAERHQBERCrLHp+KPesspo9g8tVOMEXVb4yfixBymfsW5uV7Mvmi2Bz1TjHEO9EW3WQtUUQ9cZdzk4XUskE9yLDMMikmEt7W1bDYZn4HAZeKETXduHg1Ne7uXM3TjbvO5itMMWjyhh1L+hUpb4uqqpurlIuqG97cj8PAw2yGgMUlXTT4dLFIdLrlgmZrjSVA6+MWrKV33ra9b8hO7cPmNQUWusm6LqB/qsBbxi62aXV8GruEsbj+lNROO4jkpaUd6EEW9DL7Mhs5+Ru0pyd37C9nd+xlqqkw/Dy3OQCxCvEWIgISjpIszXbNm9V1P7K/sVhsb0qrKjelLuUXFGKL0uJh63KOsx753WapybE6UYSJvNOkB9yJ9XRcI68hF2Vufn18pWhZi7OTOLiQk4kz6iYh1OJD1JM6iT0yIk9Mj8sy+oioUC+xm4uJCTiQkxC7FYmIXuxCXCJM/KviICe0VZS4nEEVXKFLWwi2WfeCM8IvcxLNYc9rvZ+B982rMKxml2kQFGOH0Y7lQRb0nbUVSXKZlwkF9evWT635GaKorOfIu5uwREVSgREQBER0AWT0fwKoqiyxBvR48hb2KIeHfn3ORrv2llsJ0YAIhq683pafqIv61U8uUA4QF+fh71ta62kOk8ksfQ0QNSUQ70YY9WYeunLhMn4bcHPd9ata2Za1szIvW4fQaoBHEK0eNNIP9FiL+6C+/Judn99yKO41jNTUlmmmKXrRfUAd4A70e7a66CI5XDkERFUqfunmMDGQCcDAmICHUQEPAQqewdD4vGLSGNLiUAtnPLvJ4R4Sy3bMTNd7X3r+xfVX6+OysnYtGViWaU47EMXmdRbykD1WRuPVnykRdUF28Nm4BZmUURFDdyG7hERQQdbE6MZYZYS4soO1+bmIfZM9n8CqiWKpoapnZyikAncDZt6Y8FxvqMHZ9bPzuzq4FwVlJHKGSQBlHmIRfxetLtsstKru8mrpm1hcVKhLejdc73XJp6og9RsmVpBlaOnA8uVjYDcm9kzGbjfus7dpYTRzCJayozlmIM+eeR8z3u9ybNyyFfy3XFphQhDWSxAOQByODXd9RAJcru/C7q0sCcXpadxFhYoYisIizNmFnLetq4VsNQpRvBJXOvtHa+JxEYurKU9LvL01O4IszWbijvRbmX1cFRVxhx5Yw74xH6TrH1Ok1EHDUg/eZj+gzrUUW8kcFRk8kZdWxtOumukvufBvmrFr/AFGnNGOod2k7gMw/xkz+RSfYT2caXB6zFaiSgqKoMQjoYwEJYgKPoTd8zlmZ2e+6ta3MtnD05KV2uhuYWnKMrtdDe9Frzg224wGQmGakxSlv1e5U8sQd9kmY/gF1a+g+ybgmKWaixOlqJSFy3F3KKq3vD/RahhkIW52F27a3TeJeiIgCIiAIiIAiIgCIiA8xkRFUsEREAREQBHREAX7hZnIWfqib59a/CIQza53mjo4oafCBmiyDvXmpwifU2+KIXvLd9di4eVQvSXFMYcNzkimpYR/ZxQlHCzdbnC7kPazWURw+okARyHIG9biGQ/RdlmqHS3EIuLVzF2pCGQf8Vndc6U7nGlO+pg2X1Szz5jLqq8PpKr2bBuU3jjfyWTccEm4stVh5lySDusGbvhuWXtuTKm6ujKbujIvS1BxyBLGTgYExATcZiFTKqp48UiKeIRixOIf6RE2oasRa26xZur//AMfkd+oeg05tnpqikrw/upxE/fCb5R8ZYqXB6+mkGR6ephMCzDIIE+Qu/C4+VTZrMmzWaMUYOLkJC4kJOJM42JiHhEhLWJX5F8Uy80qOvYRqiairx3o1Ij6RNzdEB1Jdt7d1uKsRjeitZT6yieWLjDLF6ZE49dmHWA98zKHHQhx0MIi+M6zWiej0lZLlHeQhvppX4sQcPcI3Zns3hfUoSuQlc49HNH6irIxiFt4OYzMsoNzDms++fkb5mWPrKaSKQ4pAcJQLKYlxmL/mu/A7KVaTaSgAhQUBPDSwkxFIJE0s8ouz58/DlzMz36qzcjMy70MkWLQjGZDDisAbw+AKoB15S+zqeFtV2a26skX3VksyBIuWsppIpDikBwlAspiXGYv+a7tqdnXE2vU3wKhjCLM4XorXTcSllEevkHcw77NLbMPcuss2CYfS66ur6KlH+r02vfdbLPqy/wAL91WUWWUWR7BcInqZNyhicy6p+AI/ZGZahHyvyXUlvRYdwbniGJDy/wBUpT/1mz+HV1Cx+M6WyyR9DQgNFSdii1EY/wB7KNnK/La1+W6jiXSyJulkdvFsSmqJSmlN5TLlfisPWgPAA9pl1ERVKBERAEREARF+ZDYWJ3JhERzE76hYR4SIuARQH6X5M2ZruTCPO5WFvfEoVpBpywuQUzMT8XdH4PeBy919XadQmvxGaV80kpyP231N3rcDeBlsww0nnyNqnhJS5vkWxU6SUQcaqi95c/qmdY2o05ox4u7Sd6FvpuyrEAd3ZmZ3d9TM2t3fmZSrBdjTHqpx3DA8WmYuAhoKncvjSjYG8LrMsLH7mwsHDrcyVTshB1FMRdspWb+Fgf51j59Pql+LFADd6ZF8JFbyKbYNtYNL5nG+EtSgXVz1tEDN3wNMUn8CnOCbS/Gzf+k4nhVKP929VObe93GMf4lkVGC6GVYemuhrbi+IyTybrI7EdmHUIjqbg1N3V+HrpsrBu0uRmyiOc8rDzM17WW52BbSeiH9Kx2rn7VPRQwfxTSTfDZTjA9qVopC1pIcQrn5564xv4KIYWWSyMqisjzvuuSKMidhFiIifKzC1yd+RmZtZOvUXBdhLRanZmj0dwsrcDzU41JeNV7o+ZTfDMMp4GyQ08FOPNFDFG3ixMzKS1jywwXYu0gqXFoMCxaVi4Cagqhi+NONgbh5XUri2tmmJNdsCl99V4cL+KdSz+Rel7uviCx5ZaT7DmklC2eowLEQBrkUkdOU0Qs3VHLS5xBu67KCxyOLsQu7EJMQu2p2dtbOz8LOzr2IZ1W2yzsJ4FjUZvVUQw1pNvKynYI60StvSMxbLVD7GVi7Vn1oLGn2wptmMSoDipcSKXFcN4MxFmxCmHVZwmN/6QDa95K9+CxizWfdPRbH6SupIa+kqI6qkqBzxSBy8jiQlYglF2cSAmYhdnZ2Z156bOuw/iOj9W0NRaopJnLoKsjEmgqRHW4EL3eGoZna8bu/Ozk2+WV2suy3JgmIjFKZFg9aYhWxcZoTewhXxDwtKDWYmHjhdrO4hlEHoSi/MZiTCQkxCQsQkxXEhJrsQlwELs97r9IAiIgCIiAIiIDzGRGRVLBGREAREQBERAEREKssen4o96y5Fx0/FHvWXIuUzhyzCIigg+gTs92uJDxXbUTe+4VmKHSrEIuJWzZeYy3Uf8ViWGRSm0SnYljae1RapYaOo9tp7k/iuzeRd7DdkTcmyhh9NEPWxGUQdssgg45u2oKinfZbfkTqr05pJXvLg8Bl1xSg5+N0PfyrIRVcVfQS0dGLUEwE8pU7ELBUhyjnFmzC72vzOzM+p7qtVy0lQccgSxm4GBMQEOomL/nJyqd99QpvqfmeIgMozFwMCcSEhsQkPCJCspong9RU1IDCTgQExnLvmGnEX1HmHq9Wpm1u/aZ3aVRxQYwAvmjpcTiEd1fLvJ4hszmI8JWbXztwPqdnbH6TY7FDCWGUJZYB3tRM3HqT4DESHqOR3bh4G3ra26lz6E7qXPoZLSzTCmao3MKSlryiBojnmiAt0IesytvhvfXwXd7atb4d9PaoWtFDRU/bip7E3jO7eRRREc2Q5tmTxTSCrn1S1UpiXU5soeIFh8ixjIio2VvcIqXxvEJZZzkNyzZyszvxGvqBm6myluhWlnFp5ztyRyF5AkL5i+FbEsM0rrmbM8LKMbrmTtERa5qhERAEREB8ImZrvvRHfE76rDyqsNNNJSqCeKN3amF+5uxN1Zdq/APhfXwSHZKxbc4RphLfzaz7UTcnvi1dwH51Ftj7RSqxXE6TCqUGOoq5WAXfUEYMzlLPK/JFHGJmT8Nge13sy3sNS5bzN/C0eW+/Q5tjfQPEsYrRoKCmKomexSFxYKaK9nmqJn3sUTc7634BYndmfdHYp2o2DUYBNihljFXqIo2I4cPiLhsAA7SVFn1XkJhJuoZXFsRbHdDgeGxYdRg2qx1UxCLTVlRaxzTP8LCF7ANmbneYLaN+xi9HdHKCijaKjoKOhibqaemhiHvvSga5PzvrdZV3dfEQkIiIAiIgCIb2a76m531N8KjWO7IOCUj2qcawqlPXvJcQpAle3DliKTMXDyMgJKiqLG9spohTuQPjQzFzU9LVys/clCHc/4lH6fbc6KFJkc8TAeyFQ3Du7yUj/AIUBfqKJbH+yXgmLN/8AT8Tpas8uZ4mJ46oR5SOkmYZRH2WW3bUtQEb2TdCqTGMLqsKqhzRVAbw2EXOmqBvuFVD1soFr7bZhe7E7P5XaW4DUUNfV4dUBkqaKolp5mbNbPETi5A5MzlGVswlbWJM/KvXVee+34wgIdLymEbPiGG0VXJ25BeahzexuNEHlflQhl9bTHS467RqKmkJznwiV6Ane2Z6bK0tGWrqRjJ4W7VMrrXlrglPiIAVVS9GRADsRSQlKFnHqs0Ttdxu+vkvyLYra07YupGphwfGKh6inmIYaStle89PK9gjiq5eGaAns26lchd7k7i7uEKSeRadKcEnJNX5q6zX21NwER0UlAiIgCIiA8xkRGVSwRGWf0S0KxTEGN6HDayuGImCU4YSKKM3a7AcuoBPLZ8t72dn4HZAYBFYI7CelT8GjuIeHoVvnmZfk9hTSluHR/EPAMJfQld1IIAi7uNYVU0s50tTTzUlVFYZYpojiljzMxhmA2Z8riTEz8DsTO12e66TKAHRHRCrLHp+KPesuRcdPxR71lyLlM4cswiL8SyiLXImEeciFh8YlBB+0XBBVxnqCWM+0JiX0XXOhY4uiA3Tcs47rlvkzDntz5L3y9tcqrdpM+O3jL+sWv3gWl97YTbuKyFkqQ3bdi9WnuW+6uERFjMQZ0REAREQBERAQnTnRbNnqYB3+spo26rlcwbr+ceXhbXw14r5UL010T3TNUQN6brKWNur5zD2fO3L3eHcoV/8ArI38PiP+svc6WhWlmXLTzlvOLFI/7PmA/Ycz8nLq4LBZ1RDs7alLdDtLHhtBNcoOAC4Sh/zIO1wtycytWoX5xJr4a/zR9iykX4hkEhEhJiYhzCTFcXHkISX7Wic8Ii6OK4xTwW3WRgd+Ad8Rv7xrvl7fApSbyJim+SKx06qnOun312Amibtbk2R28bM/hW135OfRANzxbHTFnPOOFUzu2+AREKqsdu+z0jX5MpNyrT/FpmOomkbWJzSGL87Ebu3kdb/bQSSN9EGYbZgxWtaXv8lMbX/+Mo11YqySO1BWSRsCiKgNtNthI8DbzMohiqMblBjNy31Ph0RtcJZh/a1RNrCLgZnYy1OInYyF36QY9RUcO71lXS0UPF3SoqIoYs3BZjlNmd7uzWbXrVa45tkNEad8hY3FMWvVT09XOz//ACxQuH8S859LdJ67EKk6ytq562pPhklNydhu75I24sUTO72AWYW5GZdCgopZT3OKKWY34BjjMzf3oM7upUb8kVbsb341tytHo3cYaLF6u3FLcaWKIu4R1Dn8IKDY1t25XzNTaPxB1hz4gZ39kUUNOGXuMb91aqYno/WwDmmoqqAOeWnmBvhMWZYt1MoOPJqxCkmrp3NhsZ232lErE0TYXRXvZ4aIjMeb9MllF38HgUGxvZ80sqWdpNIK8GLsBRUv8kEbt4FWKKpJlsZ0irqrXU11ZV+31U8v1pusWjMrN2tuxo2O45T0UpnFQheatMHse5AJE0MRWdhlkcHFnfgZjLXls9opvkv2xEpKKuyuaOklkLLHFJKfWgBGXiizulZSSxllkikiPhsYEBeKTM69PMZ2L8IocKkGhpI6BqSJzHcyN90aNruMxGblKZM3HJ3K9nd31s9Q47g1NVwlBUwx1ERXHKY3t7IC40R8xC7O3Ou1gdkxxdJyhK0o8rNcr97v96HFx213hKqhOF0+d0+du1s/t+TSLD62WGUJ4ZZIZoiY4pIzIJYzbgMJAdiAm52dby7UbbDSYoQYFihj5piD9BVOofNAQZ3OGYWsw1oizkxNqkZiuzENz1J2YNCSwyu3IXc6ScXlpTLjZL2KM+TOBartws4vqvZonhNfLBUQVUJvFPTTRVEBjxopoTaSMxvqzCYs/gXIrUZUpuE1Zp2Z16VWNWCnB3T5nr8vM3bMY4eJaZ4s7E5DHXPhtOz8UQonajZh5heQJD7sjvyr0R2L9JxxPB8MxUWZujqSGYxHWMcztaoiEvYTDIPvV5n4tfz11ebh83anNfn6PO/lWCbtFv7G5hoKpVhF9ZJe7Law+lGKKKEBsEQMAN2m6rvn4Xfnd1U+yxgAwTDUxDlhqL5hbUwStre3MJcZm583Myt5RvZLomlw2o3rZocswdrITMX8BGvO4Ss4VU9XZ+p9k+I9l08Rs+SSV6cd6P23Vku6NntqzpuWK6OUsspudXRE+H1ZPdykOnAXhlIn1uRwHE7lyluitRae/k+8aca3GMOcntNSwVoDyMVPN0PITNzu1VHfvGW4S9IfEwiIgCIiA8xkRZjQkqVsToOiomlpCqoRqALiOBlkzH10QkQkQ8DsDtrvZVLHLh+h+JS0R4hFRVB0UQ5ilYRbMHKcQE7HNEzcJAJM2vXqe1sbSnS2sg0igwqOUegcVaoOqiIc15aSgqJoJoSuzxS3iEXfWxDqdrsLjfACwsLMLCI2EWbULCOphER1CLNyKjNhyCOLZPhijAIohrcUEQAREBzYPXE4iI6h131MpBvIuviU7xwzytbNFFKY34uYI3Js3sbsuwuhpI9qKrf/AKSp+pkWQqeZOL4zX4xiRVkuerxLE5Y3yxhbMe5iEcUQDqCIIowFuYYrk+oiXHpNo5WUMow1dLJTmQ5gzZSCQeuilidwltquwk9rteytDag08by4lK4CUsVJh4RG4i5xjM9VuwgXCIluMV7cO5tzK2Nmh6RsCxAqmIJQCF9xYuM1WfpVKQFwge6yR75uR35LrEWNQkREKssen4o96y5Fx0/FHvWXDilWMUMsxcEQO9ucuQfC9m8K5Vrs4truxgtMtJmp/SY7PUOOt31tCxcDu3KbtrZvC/Iz4fCtCq6r9Pml3Jjs7PK5FIQvd2cI+QO07jw6msuXY0wd6qqlrJmzhEefXxZJzu7M/aFmd7doeTUraVcTiuA9yGfVn1H4U+EKWJo8fEX3X5UuV7cm287X5cirK3YvmFrxVUcjtyEBx/A7OWvu2WJ82sRoieCcSJ8r5Gl3zg7s+Uwka+Zmd+C7tqtqV0ro43hMFTFuMwZ24WfgMH5wfhZ/n5VhpbRle1Vby7czvbU+BcNVpt4f5JdE22n73a7/AIKW0PxaCnmOeUZTN2sGVhfjPcydzJtepm8LqY0um9EWp3li7Zhdv8JyUgi0Dw1v6vn7ZSy/6SZvIuGu2PsPJnYYjhfnCQ3t4JXLUtieOoTfNP8AH9nl6v8Ax/jJLevBvRN3/Ksc1JUhIOeMxMH6oXF2/wD27S5lW+L4XVYVUDIJ54T4Ca7BKzcMcodSTX8t2dT7C64JoQmDim2a3KxcDs/bZ2dvAryirKUXdPqeE2hs+rg6rp1E01yaf77WzO0iIsZoBERAEREAREQEU0x0VGa80TMNRxiHgGb/ACE+3wPy86raeIhNxJnExezs7Wdn7bK9FgtJ9HIqpr8SZuLI3L7E25R8reR9qjX3eUsjcoYnd+WWRA9GNJJaV8vHhJ98D8nsgfqX8j+VrMwnEop491jPMPK3AYl1ptws/wA/JdVFiuGSwSbnIDi/I/CJD1wFwE3/AB7Ljw2vlhNpIzcDblblbmduB27TrPUoqfNGxVoRqK8cy48YrhhglnLqAd7c5cAD4Sdm8KrLAsLnxGrLfb57yTSFrYA1NweFhEW7XAzO7dnH9KyqaRoSDJLugkbjxDARfws+a2rXwcKmOwtSM1LPNbXLM0d+1GDO3lkda1RuhScuuSO18L7IWLxcaNTLm5W0Svb1fIiWmWhU1IAyse7wO7MRsGUgd+BjC72F+Bnva+rVdr7Sfk5tJoXpcYwYjy1A1AYnED/tITijpZyDlfIUVPf24OHXav62mGSI4Ta4Sg4G3adrP3pcrPzqs9iLSI8D0qoKojyR0lc0FW+thOimJ4Kp3a+ttxMja+pnEX5EwOLdZNSzX5R3fivYMNnVIzo/458rZ7rXS71WR6TbIuk0eG4TiGKyDmChpJajK723Uxa0UObrjleMPfryl0kxmorKupr6mUpqqrmknnkLqpJXcn70WvZhbUzMzNqZehG3lmIdC8QYeCWqw8D7YdFxy/SjBeci6B5Jkz2GNDfNfHcNwlzOKKrqGGokDLnipwZ5JyFyZxE3AXEXJnbMQ6n4F6K/mjwWhw2SGho46F4YykGQTN5DMBcr1Epk5TXta5Xs3Bay0Y2qUzDjM5ZnGVqEyhdisTGNRTFvX4c1md7tzOttsU0zr54OhjmbI7WPKDCcrcxu3I/KzWvyru7N2ZWqKFanJL5rPVW/nscLae0aVNyo1I3+W6+7f8WI3KAkJCQsYEOUhIRISEuEXEtRD2nWtm2D2PIqIgxClDJSVEm5yxNxYKh2c2KLmhNhOw8AuNm1OLNsTPi1MD2OqpgLmKaIS8UjuoNtgqiItHat2OM80lKMRCQkLn0RG+9IdWbIMnguvSbWoUqtCTdrxTafVW/s87smvWpYiKV92bSa6O/L8Gp6Ii+fHvj6tjtqLUNHTV0kZZKkKuB8w8cRaI9yfvc269rhWuSlmxzpvUYXNNLCIG08LxGB5smZtcUlhdncgK+q+tiJuW639nYiFGupzV480/VWNLaOHnXoOEM+TXo0zejHNMa2ph3CSUdz1Z2EGHPl1tnfmu19Vm7SiZ4pTM+V6qmYuZ54mLxc91ptpPpjiFaTvU1c0olryZ8sDa7tlhCwD3bLAZl2lt+nR+WhSSXe34SOK/h+dX5q1Vt9r/ls2F22DxvSYY+9eR56jcnaz3i3OLdbdrNuPkWvS5DlJ2YXJ7Ndxa+pne17NwNezfAyQRERiAiRmbsIiLO5ERPZhEW1u7u9rMuFjsX4ms6lrXtyzyR3MDhfDUVSve1+eWbueju0jIn0Iwq/AMuIiHe+aNU/0iNaW7YPDXw/TTGg63FSrQ7ysIMQjbxZxbwL0K2FNFXwvR3CcLIWGWloo+iGHWzVczvUVeUuqHd5pdfKtZfyh2gZ7rQaRxARRkDYbXuzepmDyS0c5ZW4CEpY3J3s25QtwktJq/I3oScZKSzXMi0cjEwkO+EhYhfnEmuxfA6x+lVuga33LN9WVvKo7sV4+M1KNKZenU42Zn4Th6lx729nbmYXXZ2UsSGLDzDN6bUu0YN1VrsUpd7ZmG/94y80qEo11D7/AI19j7dU2rRr7LliE1Z03f7Stbd73MptDL+eep/c9Vf5VQ/52W8q1E/J/wCAu0uM4uYsMUcUVBFI+VhuRdFVO+Li5Ripnd+aRTPT/bX4TS1B09FRzYvuTuBzNONPSk4vZ9xMozKYbtxsjC/Czu2temPh7NiEWuuge2xwqqnCnraKbCt1JgGZ5hqKUXfU27m0YHEN+qykzcLuzXdbERmxMJCTEJCxCTFcXEmuxCQ6iF2e92Qg/SIiA818AwSqrJSp6ankqphB5SAMuZgFxZzLM7NluYNw8rK0thjYqqirxqq+llp6eiIJYopBFuiai9497d/SI3Fjfkd9zbW2ZZTanx07eaRbqHRZlCAxOQ52pYmInlAOEgeSWzu3BuQ3tqveNfVBFFLNIWWKGKSU35giF5DLxRdVLFabOmyS9BH0HTE3mlMGYj3rjRwlq3UhLUUxWfIL6ms5PdmYS/W1F2HcRfEKTSmsIqWni3eekjkFyq8QKrpZqd6qXO94qdxqSNjO5yO17MLsRQna4aJPpFpRPWVobrSUpPiddGWsJTOTc6ChProbjwO1njo3F9RLfVXSKhdfEqVpYZoXJxGaKWIibWTDLG8bkPsmzXXYRWB56aY6F41ojicEudpac95S1QCbUlfELM50tVFd3hmyjmeN3d2tmAiyu7XdgeJ0OOYOe9zU9UBU9VE5em00w2dwu3BKBZJANuHeE3Cr+2QdE6XFMNqsLqgzQ1QOOZmZzglHXDURZuLNGdjZ+drPqd2Wj2wdVVGGaR1WC1FxKWWpoZxs7B0bRHK8MwZuACGOZmfqmmi7So1YEZxjYpxmKqmgjoJqoIjcYpo8jRTRcIGJGbMJOLtceEXu2u13hMoEJEBC4kJOJi42ISF7OJCWsSZ2dnZb2LT7ZiCnbHcSenlilgOZpSeMhcBmOMDqgzDvSJp3lvbgd3bhZ1DJZmqfij3rKNbJ0zjQsLftJgYu4zEfziyktPxR71lH9keDNQE/Y5Ak8rxv5D8i5tPzrucil/kXczmxdTiOFwO1ryPLIfbLdHjb+EBbwKUKI7EtWx4aAcsMkgP4S3Rvp+RS5cjFpqrK+rP0jsKUXgKLhluR97Wf5uERFrnXCIiAwGyDRDLhtSL8MYbsD8zx77yjmb3zqHbFk7vTTRv1El27TGLf5i7+FTjTedgw+sJ+SAw8Mr5G8psoHsUx+k1BddKLeIN/9a7GD/wS7nx7/kaMFiItZ7qv7uxNERFY+YhERAEREAREQBERAdXEaCKaPc5AYw7fGYucS4Wftsq90i0MmivJFeeLm/aj3Rbjt2x+BlZiLLTqyhkZaVaUMvYoiyuLYcO+Hk3W1Mj+NHE/+SxunWCxHTTTjELTxtnzNqI2F23TPl1HvGfW+vUunsK4kwyVFM7+qgMoM/PHdiEe24lfuAr4t8Wg2uh7r4MxsY7Qg3y3k4+rV17uxaapnZepmHESPs0Ucj91m3N/oK5lTuzLKz14i3UU8bF3SIz+Y2XP2Y3xfRnvfjhReAu/rjbvZ/6ub0bImFS43sbiws5VVVgGHYkAtrOSopoaateIeuI3ikD/AOReb69W9hCmKPRjR2IxsYYLhYkz8hdBwu7eB3Wl23C2D5cKrp8Zooc2CVsuc2AdWG1Mpb+CQW4lKZveM9Qtn3N7OwZ/QHyAo7RDHpqGsgrYbbpCd7FfIYuzjJGVteQgIhe2vfalktLdP8TriLd6uTc3v6TGRBTCz8m5C9j7pZn7airujLMq9RR3FJpXvbpcxujBz33FN2te3OwzPzuuTdXs45nyuTE7cju17O7c7Zn+F1xIsV2ZLBERQAikGCaFYtVMz02E4nVi/FeChqpRfwxRuyneD7XHS+fLlwKeJitrnmpILdtxqJhLVzM1+0gKkRbKYLtNtIpHHdqvCaQeqvUVEsre8ip8peOpzge0kjZ2eq0gkMeqCnw8Qf3s01QX0EBpktvtppsAT9EwaSYrTvBFCQy4RSyjaWabhjrp4i1xRA9ijEt8RMx2YRF5Lx2MNrro5hJhPHSFX1YFmCoriCY4yZ7sUUIgMMRC/AbBna3GVuITYLF6WaPUuIUNVh1XE01JVxPDMD9a+tjAuEJRJhMSbWJCLtwLKL8VE4RgUpkwBELmZPxRAGcjIvYsLO6EnknpDSHQ4lW0scpsdDW1VMJs9j/o80kOa42sT5b6udSLQvQbHceqQaCnqKlndgKplzjRQCzsxZ6kmyizXvkG5PrsJOotpXifRVfW1lnHourqanK/CPRExy2fuZ1vvtPqE4tD8MzC4lOdZUWfrDq5gjLuOACTdp1Fle5ZVJqO4m7Xva/L21Ihs44KGjux6WFUZvmnlgoqqZmynUHVOctdKTa8rSDC8eW72jJhu9rqodiXRumjw+nqHijkqKkHkOQgEnEXd8kQZuIOVmvbhe/ateO3o/VQf3rRfVVSqnY56U4f7mH53WpjZNQVtTZwUU5u+hhtlfRumlw+onaKMKinDdQkEBEnYH30R5bZhcXe1+B7Pz3wWxhsxaUYZSRyQmVdhVP6SMNRFu8EIxCJZBMHaanARdmaxMDX4NVlN9kHpViHuWX5lGdgjpWfuuX6qnVsA3KLT1GNilNW0NjthPbCYZjMgUUgPhuJnxIJDE4akutpaizZztr3M2EubPZ3Vyrz72XNFI44vNSmHoeaEwOXc95e8jM0wZOJKJuL5mte7vwtr3C2u+mR4to5h9fKWarESpast7vqilJ4nlKzMwlIDRyuzMzM8rsttqxpGiWDznHU08oGYSxTRGBgRCYlnZtRjZxuzu2rhZ3Zbe7Lzu2BYxb+z6ofelG7H/C7qkdr5oDSV7zV1QZGNFURgFOO9GQ8oTBLMYvmKK72YGtd4iu7s+VbE47h4VNLVUh8Sqp5qc+9njKNy/iuqFiPfk+qePzPxyazbseIU0Rvy7jFSNJC3e556jyrZ1aTbSnSh8P0grcFqvSvNIOhxYifKOJ4fJLki4LM8kclSLFqu8UTa8zLdlZI5FQiIpAWimzfGMeyWbxFvjxPAjNm6k5aXDmlHwg+Z/bHW8eJ10UEM1TNKMNPTxSTTSGVgihiF5JDMupFhF38C0J0CqjxrTSqxkgcYuiqnEiYh9TgFuhsNgPkGVg6G7u4SWVZAs7bC1Jx6O1rgZA5HRg5ARCWQ6yAJAzDrsQO4u3Kzu3KtUWZm+xbu6S4JT1tLLR1AZ6eYWzsxEJMQE0gGBDrExMRJn525VqJskaOR0GJ1FBHUPUBBuRZyEWNt1iGVgly73OwmN3ZmZ73s17NVhklp+KPesvxXU4yRSxPwSAQP4Wt/wD2uCtrwgp3nK+QBbU2t3InZmZu67ssFT6eUrvYgmDt5WJvIV/IuaoSfNI5EacnzijobFmIPT18tHJvXmfc9fJPG75PhuTdtyFW0qQ0yq6Y5gq6ebf6s7MJgbGHEkbMzcjWd25WbnU+0Z09pJIgaaVoJ2Gx5mfczJurEhaw34bPaz34W1rBj8NKbVSKf3XU+u/Be36cKPhsRJQs7xcnZWeau+XJ80TFFj6fG6Q3sNVTk/NuwXLwXusguU4SWasfRqWIpVFeElLs0/4CIoVp7poFOJQQEx1L3ZyazhT8/aeTmbk5eZ70aMqst2KNbaG0aOBoupVdkvdvRLrcxey7jzPlw+N8xXE57a99+zi7t3zO3e9tZPRPDXp6SKIuOVzl789dvA1h8Cjug2jxEbV093J3zxCWt3d9e7Hflvra/Lr5lOF2XFU4KnH1erPz98QbXntDESqS9FolkvT+QiIsRwAiIgCIiAIiIAiIgCIiA/JizsTPvhJnEm5xLU4/Aqor4JaCvYg1PGe6Qk/AUd9V+fVcSbuq2VjseweKpj3Mx4t8htx4y9j2udn1P8Cy0qii7PJ5m1hMTKjNSTt1us01kzt4dptRSU27lMMRCO/if1RntrYG/aNzO3htrtT+keJPU1UtQ+rdDd2brRZmEB8AszeBSCfQCoYrDNC4c5ZxfxWF/nURmjcScHaziTiTczs9n8rLPhcPSpybg7/6R67afxJX2nThTna0Obt1eV36aHrxgM8clJSyxCwxS0sBxM3FaI4hKMR9jldl2aqAJIzikAJYpRcDAxEwkAmsYGBM4mDs9nZ9Tqodp7pqGJaK0AZ2eqwoBwyqDqh6FFmpD32shOm3F83BmGRupdXEtw4xrdsmbULBayQ56ComwWYyciiEOiKDM7uT5IDMThve1hkyCzNYGZrKrJtpVi7SWHGMKKLriCrE/EGIm/iW8iIRY09wXaSNcXqdItXVBBh9n97NNU//AI1OMC2nejUT3mnxWt9jJVQxxfBTwif8a2KRBYq7A9r1olTep4BSylz1B1FT/DVSmPgZrKcYJolhlI1qXDMOom/uKKli+qjb4VmUQk+3dfERAEREARF9ZAfFrzt3tlIMOwY8GhlF8TxiJ4jFi39Php3ComMep3WxQCz2uxTO3qazGz/ti8MwWOWlpzixPGtYBTgeanpT6+vmDUOXh3EXzvqZ8jPnbz80x0krMRrajEqycqirqTzymWrkZgABbUEQizCItZmZmZuBAcGjWDT1lZTUEAZ6mrnip4R18eU2FnKzPYGvd35GZ35F6h6LYNHRUNJQReo0VLDSxdc7QxjGxF7J8t37butb9pZsRlAI6SVkWWaaJxwqMxsUUErWkrSZ9YlIDuAcG8I31sY22iQqUPt6P1UH960X1VUqp2OelOH+5h+d1a23o/VQf3rRfVVSqnY56U4f7mH53WjjvIu5v4DzvsfdkHpViHuWX5lC9gLERKmqqTLv4pWnZ+uCUWjf4Hi/xGU02QelWIe5ZfmVVbAZv5oVA8j0Rv4s8FvpOrbOyfcjH+Zdi1NOAZ8MxBn9ZVJeLERN5WVh7QOZ30fxCN+AMYkJu1no6O/0FX2mnSzEPcVV/LyKd/k/+kWKfvX/AGlMuhUNBFG7Eenr4TPVSPTvVRVUMYHGMu5k0sUjvEeZwJsrDJMztbqm5leuxdsqQYpPNSvTvRVABusQFOMu7xDqkIC3MMpg9ncbPqK7O9itqos5sfwzyYtho05uFQVbDuRt+zyneU/ZA0TSOTco3bXeywly4dsBsezFL5u0IybsG5nVhFcZhOG25V9OQWPdRYBzZdbbmJNrYnVobBO2boqmGKjxmeKhrxFowrC3tBWjbUcxjvaGoe2+z2jJ9YkObcxkV1Wunew5htaRzxZsPqjuRHEIvDKZXfNLSlYczu93eNwd34XdWKm2lFURyxjLEcc0RjcDjMTAxLgITB3Yh7bLF6W6V4fh8Lz11fS0UQ8s0oARexii48x8wgzu/Iy0Zl2AsUicuh62gIS4z56qnJ++CKI2/iddnCNr1UlJulTiFNFfj7jFLLKQ9bus25sJam1uxW5nU7wMztgtnCox6QMDwqGoHD5ZWEt7lq8VlArxiUV/6PRM4seU3Z3ysR5GFxU52INCBwug3Msp1dQTS1sg6xzi1ghAi17jGzuzPqu5GVmzWbvaC6C4fhoE1NB6aYsMs8pZ6iUdW9I7MwBdr5AYRvrtfWuHZggqTwLEgpzcJuh3O48coQcZKmIOUSOAZQu2vfKAQbGdn2liqpoY6AqqniNwCcaoQGbLqMwAoX3mbNlLM+ZmZ+VUNpJip1VZVVknHqqiWYm4comTuAeyEQyg3aBlj2RVJMxslVOWkp4uWU790Yx1/wARiu9oDsc0tZh0VVLLOEspy5dzcMuQC3NswmD9UBve7cKwOyTDKRU7sBlGMPGYXdmNyfMz24upg4Vy6ObJlZTQxUzRU0sMIsAsQGJ5e/A2a934XZ1rbs+GtzO5GA4cV8/3/kkNdsNPwxVzexGSG3jGEj/RWBrtifEwZ3DoaftBPZ3+OEG8qktDsyRP6rQyB245hL+ExH51nqDZSws+NLNT9qSEn8sOdlh38RHNX/fsdLh4eWTt6/2U/X6HYnFx6Gp7oA8jeNDmZcVBjddSFlGSWG3UGz5fipGdvIthaDSeglytHXUpuXFHdgE/EN2LyLJyAJtrETDtiJC/jXZRLFO1px/fUy0qMqct6lUcXqnz900a74rp9Xyx7nugxM/GeMcpl7/W4+9surofiFJBMFRMMkksZsUTbnEcIuOtjMDf0x2fkdnbVy8l812iGHSXz0NPr4XGJoy8aLK6wVdsVYYfEGen7yZ3+uY1NPE0YqyW72IxsMTiedWbm8rtu67HJT7KmHz6qmCkmflPJLTzeGUWdiLwsslTT4HU+pVstKT8hOE0TeGJ3P4XUMrthoX9Srib2MkLF/GBt9FYKs2JMRG+Q6WZuptIYk/glBmb4VffpS/7e/6jkT2bPqr+z/jmWy+h8p66eopKseaOURl98B6h+FYuuwSri9UpZg7eQnDxxuPlVTS6LY3T62p6wcvYT3S3ggIl26TZE0go3YXq6sPYTx5m8WYLq3AjLyv2ZrTwLWd0T1nX1R6l2bqov0vDcOrR59yKKXx2cm/hWUpdkvApfVsNr6Ii4Xp5wmBu3lncdXcZUeFl0MDwcujO6i7NJiWAzPaLGxhLraqnli+GazAsrT6LSytmpqqgrm5Hgq4jv41m8qxujNdDC8PUXQwKLKVejlbHx6SfuiGcfGiuyxkoOL2IXEuYhsXiksbTWZicWsz4iIoICIiAIiIAq32SMGcJuiRb0ubj26mW3+pmv3cyshcFbShIBxGzGBjZ2f8A5vSZ9bPyOyyUqm5K5mo1NyVyLbX3ZVqdH8VatjF5qSdmgxCnzWGop73YgvqGojd3ICfnIeAyXpFoBplh+LUMWIUNVHVU52ErFaWGWzO8NRFxoZmu1xLtO12dnfyz0p0clpid7OcDvvD/ANJ8x9vgfk5m/eg2mmJYXU9F4fXT0U1rE8ZM4SjrsE8Bs8dQDXd8sgk19drrpxkpK6OtGakro9aEWmGg23TnEQjxTB45yHhnopdyJ+bNST5hJ7cLtILczMrEotuLowbXOnxqEuYqSlK/evFWF5bKS1zYtFrHi23RwIWLcMMxioLXbdBooQf3w1EpW7o+BQjGtu1VkxNTYBSwlrylPWzTdx3CCKH4M3hQXN00XnljW230rma0c+H0HbgoAJ27nRpTKD45s46U1OqTSHEhbmhqOhh+CjaNkFz1ElkYGzGTA3XEWVm8JalFMb2TcApXIZ8dwmAx4wFiFK8vxQyOfkXldi2LVVQe6VFVUVR9dNNLKfjSk7rooLnpLje2f0Qgd2bFTqSbkp6KrO/cM4hjfxlBsX26OCjm6HwrFqgteXdehIAfwhLKWXwX7S0nwXAK2qe1NRVdW7PZ2gp5pXZ+b0oH1qcYDsC6V1TXi0fxAWfs4BS/zpx/ChBc2ObdivJnalwKhpy6l56uoqBb3sQwX+FVLsgbYTSfExOKbEypaY9TwUYNTROPKJHF6dKD8onITdpS/Btp9pVK15Gwui7U1a5O3ySKVvgdWZobtJImITxHG5JR1ZoqOnGPu/0qoct7yepM6A0sWf0DxilpMQpquqw+LFKaE2OSlkMgiltwZnFnYrOzPlJiErWJnZ3Zb5VO0+0VKMoxbFIjdtUg1ouY9thOJw+EVq/tkNr3WaPZauOV8QweU8gz5MktLKXEhqwF3ZrtqGUd6Ts7OwO4s4G5uxhp5h+MUAVtFLmDUE0R2GopZbX3GYGd2F7cDs7iTa2d1Kl5tbAeyLLguM09Yxl0FKQ0+Ixtdxlozexnk15pY77oNtdwtexFf0kjMSYSEmISFiEm1i4k12IfYuz3QFEbej9VB/etF9VVKqdjnpTh/uYfndWtt6P1UH960X1VUqp2OelOH+5h+d1o47yLub+A877H3ZB6VYh7ll+ZVRsBdM5/cMv19MrX2QelWIe5ZfmVUbAXTOf3DL9fTK2z8n3G0PMuxbGmnSzEPcVV/LyKd/k/+kWKfvX/AGlMoJpp0sxD3FVfy8inf5P/AKRYp+9f9pTLoVDno1XXNQ1kkUsU0UpRTRGxxSAVjjMeAhL/ACe7O12e7O64UWEuXjhez+bUJjNRZ8SEWGIwIWpJi4N1mC7HETcLgGZi5HC+9i+BbNuMwyXlOnr4iNyIJYQjJhLXkilp2FwFnfVmY7NqVbIgN2dD8aGtoKSuEMg1UIykGbNuRlqkiz2bNlNiG9mvl4GUT2Z9kQsJipRjhjmqqvdsm6ETRRBC0eeUxDfHvpo2YbjffPfVZ9d8A0+xajgGlpsQkp6cCMgjaGkkESM3kPKU0JkIuRO9me13fnWP0l0jra6QJKuqkqjiFwByGIcok+dxEYgEdb63e3I3MpuRYnGD7NuLBWBPOcdRS8SWmGKKIGAn1nCYs5jM3I5kTPrZ+G7dnZS2Y5q2M6SjCSkojFwmM8rVVSJanAsjuNPC7XuLO7k3C7NcXqlFBIREQqyyKbij3GUF2JaGKbFpI5Yo5g3KoLJIDGObMNisTWza+FTmn4o96yh2wZrxeR/+mn+nH9q0YO0J9jBs1Xq+qLIrtjrCpNb0jRPzxyyh/Bmy+RR+u2HaQr7lV1ET8mdo5BbxWB/KrLRaccTUWTZ6SWHpvNIpWu2HqsfUqqnlb2W6Rl4osbeVYl9CMcpnco4pm9lT1A6/BEbF5FsAiyrGz62ZieDh0uvU1+89OPUrb+WsBm9cQZr++qI3fyrJ0Gy/XC/psFNM3LYTA38Ik4/wq77rGYhgNHLrkoqWUuuKEHLx7ZvKreJpy80F6EeGqR8sn6kBoNmOnf1WimD2uUD+mwKQUOyZhR2vUFCT8kkMjW7pRsQt8KV2xnhR3tTlCT8sc0jW7gyOQt8Cj9fsN07+pVs0ftkYH9DIn/ry1X76kf8Anjo/30J9Q49Ry6o62llLmGaJy8S+byLJG12s++HmfWL/AOSpCu2IK4fUqilmHtkYH8BC4/xLG+dXHqVvS4qsGb1vUZr9vLTyO/kU+HpvyzXqRx5rzQfoXXXaM0EmuShpXcuq3EBPxwZi8qwNfsX4Ud8sMsLvyxzHq7jS528irRtOMcpnFpJJh9jUU7a/DJGxeVZah2YqtvVaWnlb2DyRl5XNvIp4FaPlfsyOPSl5l7oy9fsNwv6lWyh2pIgP+IHD5lgq3Yhrxe8c9LKzcG/ljP4HBxHxlJKHZipCtutJURFy5HjlFvGcH8ikFBsi4TJq6L3J+aSOQf48uXypxMRHNX/fsOHh55O3rb+Svaei0qpLPFLiOVuBo6t5gdvaRkJvhFdn862kVO1qlmlHravDwZu5cQB38Lq16DF6WX1Kqgm9rmiIvFF7rvPdSsbJeaJV4KD8r/2VFS7MoE39JwLD5X5SgKWmJ/D6Y9/CsnBskaPyeqUGKUjv2GWGUW+PNnt4FOK7AKKXXJRUshc5QxOXj2zeVYGu2NcKku7UpRO/LHNK3iibkLfAreKpPzR/gwT2ZfRnVhx3R2XKwYxLTkXJPRTPbvjiDK3dusjT4ZSSvaDGsImLqRerGM394V3UarthyldvSqupjf2YRSfQyLBV+w7Vj6nU00vf7pGXwZSbyq29h5fb3NWezH9PsWbJoZX2uMIzD10U0RD9NnWPqcCrA41JUj29yNx8YWdlVnnExunJzjilH2UFQF38ASMfkXLFpXpLRtrqsViFuzDKYf8A8gSaylUacvLL8mrPZ9tV3J9ILi9iFxLmIbfSXxRah2ccaFmGQ6apbl3WmC7/ABWVvIuxXbL7Tx7nLhlLEWZi3WAWGV8t97vupe/PyKJYZrI1pYRrIz8gMTEzixCW9Jn1i49aQ8CiWPaFU5McsZ9D5RcyZ99HlG7u9uEPA7tq4F2abTeiLjFLF30V/q3JfjSnH6c6GdoqgDM2EBFnsbiZCx7wrFxXfkVYRqRfK6K041ISVroq51J8G0Axqqp46qmwXFqumlzblNBh1XNCeQnjPJLFE4lYxIXs/CLtyKORMzuzO+VszZntezX1lbls3IvTfYf2XdEpqSkw6gxWlgGlhhpKenqM1LPlijYAEAqWFpzdhu7xuV3vfXddA6hofg2wNpXUep6PYiPt0Q03lrCjZTfBNqFpXMwvJHh1DfknrhJx7vQUczfA7r0UF2fW3wr9IDSPBNpBVkwvU4/SwvqzDBRSzN22Y5ZYvhcfAp5gu0swGPK9RiWLVRDxmA6WGI++HcDNh7hs/bW0CICmcE2sOh8DiXmP0QY8s9XWys/fRFNub+Kp3gexxgdJrpsEwqnLro6CmGTwnueZ/C6laID8RgzNZmZmbgZtTN4F+1ANkPZhwDCGNq3FaYJw/q8RbtW9oXpYcxhe3GNhHtstdtI9u6DVNqPAilox6qpq9yqJW5fS4Y5Ag8aT/JAbkIolsTad0mNYVT4tS5minzgcZ5d1p5o3yywyZdWZn4HbU4uL8qlqALAbIWjcOJYViGFyixRVtLLT69eQyH0qVuYwkYDZ+RwZ1n0QHjZUREBlGYuBgTgbPqISF7ELtyOztZej+1sxx6zRXBZ3d3MKRqQ3fW7lQSSUlyLqncYQK/slo1th8F6D0qx+l4BHE6qYG5oqo+ioR8Ecwsto9oXiry6O1dKT5ipMTlyNzRVEEEjf4gzv4UB3tvR+qg/vWi+qqlVOxz0pw/3MPzurW29H6qD+9aL6qqVU7HPSnD/cw/O60cd5F3N/Aed9j7sg9KsQ9yy/Mqo2Aumc/uGX6+mVr7IPSrEPcsvzKqNgLpnP7hl+vplbZ+T7jaHmXYtjTTpZiHuKq/l5FO/yf/SLFP3r/tKZQTTTpZiHuKq/l5FO/wAn/wBIsU/ev+0pl0Khz0aroiLCXCIiAIiIAjoiAIi+Fa2sso8/MPKXgQgsiD1Me5/kodsC9NJfck31kKzMLYfkG+kcovl4uQNWri+prDbAPTSX3FL9dAtJRtTn2+/+xg8PKlUW807vo7l5oiLlnogiIgCIiAIiIAiIgBa2s++HmfWsVXaM0Eus6GlNy4xbiAm/vwZi8qyqKym1kQ4J5kJrti3Cz4sU1O/PHMT+SbOywNdsNRP6lXSB2pIRL+MCH5laiLNHFVF1MMsNTfRFGV2xHiIXySU0zdTaVwJ/BKLC3jLH+YukFK29DEAFuSGUzH4KcybL5FsGiyrGz6pMxPBw6NooCLZCxqAsskjl7CenBn+iJeVZmh2ZKhm9NooJe2BnF9LOrllASaxCxDzEIuPiksJXaIYbLfPQ0uvhcImjLxosrqePSl5oe36iOBVj5Z+/6yLUGy9QllaSnqYe4wSA3vs4v/Cs9h+n+FS8FbGBc0gnH/EYMPlWMr9inDD4g1FP3k2Yf8ZifyrAV+w03DFX9wZIf9YH/pS2Hl1a/fUXrx6J/voWjRYhBI145oZh545QP6DuuzrVDVuxTigaw3Ca3Bkmyv2vVmBmfwrrPSaQ0nA2JAzdYcssXhYHIPhTwsH5ZoeJmvNBl6VuEUsvqlLTTd/DEZeMTXWCrtjvCZNb0jA/OEsofwseXyKraXZMxeJ8pmErj1MtOLO3xbA/wrN0GzLI1t1oYz53jmOPu2YxP4LqfD1o+V+zHiKMvMvdGZrdh+iLNudTVR82bcjFv4RfyrA12w5UM3pVbAftgSRfRzspNQbLeHHqkCqh7bgBh4wFm/hXzTLZAoSw2p6GqmOolDcQG0oG2670zsYM+9Bze7ctlaEsQmk7+xSUaDTat7lGSjZ3a7PZ3a7cD9tr67LjXYoZmCWKRxYxAxMhJhcSYSZ3F2LUTOzWs69HtOdqzorXXkjo5cKmPfZ6GXcw5/0WVjgAe0ACukcw0E0R2Rcbw/L0Fi+IUgBwRx1MrU/vqcneI/fC6tHANtrpbA1jqqKv7dRQxM/w0bwu/h1qwtK9pHVDnKgxumn5Qjq6aSF2brSmp3lzv29zHuKtsc2qGl8L7ygpq0eup66lt4tUcRfAyAmlBt2sZZvTcIwqQueN6uIfFOWT512J9u5ijtvMEw4S5ymqjHxRcfnVPVW1/wBLQ1Fo/Xv3jRSfVSOy4YNgfSsuDR3EvfQ5PpuyAsPGNuLpRKzjGGE0nMUVJKRt8qqJBd/e+BVjpdsyaSV7WqscxAwJnEo45uh4DZ+vp6No4z8Ivy86k+FbWHTCZ2bzH3AS6uatoAYe6O7ufwC6sPRjaU4xJrrMVw6iHmhCeqlbvhJoR+A3QGqyz2h2iOI4lUdC0FDU10+q4wxETRi+pilPiQhqffG7Nq4VvroJtRtGqNxkqRq8Xlaz/wBIl3OnYm62npsuYfYyEbK9MBwWlpIRp6Wlp6SnDiRQQxxRD3AjZhv20BXO1Z2N5sC0eioKggKtnqJa6rECzBFPMMUbQgfAWWKGJndtTlntdrO9roiAIiIDzl2+2FNDpnUSt/XqCgqn7bjE9H/tGUv/ACeuIWnx2lcuPBQ1Aj7VJPEZf40beBl+vykmGsOMYLV8s+Gy07vz9C1RSN/OOoltDqvJpNUR31T4RVBbncJ6SVvgaMkBd23o/VQf3rRfVVSqnY56U4f7mH53Vrbej9VB/etF9VVKqdjnpTh/uYfndaOO8i7m/gPO+x92QelWIe5ZfmVUbAXTOf3DL9fTK19kHpViHuWX5lVGwF0zn9wy/X0yts/J9xtDzLsWxpp0sxD3FVfy8inf5P8A6RYp+9f9pTKCaadLMQ9xVX8vIp3+T/6RYp+9f9pTLoVDno1XRGRYS4uiIgCIiAIiIAuah9Vi9tj+my4VzUPqsXtsf02QHoth1BA1AD9Dw/oub1IOxdxefW1/6ZT+4Zfr6ZehVOVsLv1tAf1Lrz52vrf/AFCof/oj8s0H2LHiP8b7GXDf5F3LuREXCO4EREAREQBERAEREAREQBERAEREAREQBERAEREBx1EEcjWkCOUeYwEh8UmdlBNkvB8Kp6CacqGnGV/S6dgbc7zHfL6i43YbObtzC7cqsBlSenVRPi2N0+E0jbp/SGoqYWzZTqJCYZpjys+WMXazlrZgicuB3W3hIyc+T5dTVxUoxhzSvkiU7WnYJHHYa2sqp6mkooSanpjhaPPNVajl9VF2KKMHFnZrXKVrPvXZ5Fsk7VQ6GgrsRhxkKiKipairKKWiKOV4qeMpTAZQnMSPKL63EW7i2y2PtF4MMwuiwuD1KkhYM2Wzyylcp5j9mcpSG/fW5F2dMaBp8NxClcc3RFBVwW591p5I/wDUuwcY8rF7CaJ1m7UFDUNwT0lNNfn3WEJP9S8e16sbXPEN30S0dlve2EUULvw3KnhCmO/bzROgLAREQBERAEREAREQBERAEREBpz+Uto7xaOT9YeKQv78aGRvqiVH7TascNMsMFuCeOvhLudAVMrfxRCtivykcV8FweTrcUkDx6SV//wAbLWTapnbTHBH/AL+dvGoqkf8ANAbP7ej9VB/etF9VVKqdjnpTh/uYfndWtt6P1UH960X1VUqp2OelOH+5h+d1o47yLub+A877H3ZB6VYh7ll+ZVRsBdM5/cMv19MrX2QelWIe5ZfmVUbAXTOf3DL9fTK2z8n3G0PMuxbGmnSzEPcVV/LyKd/k/wDpFin71/2lMoJpp0sxD3FVfy8inf5P/pFin71/2lMuhUOejVdERlhLhERAEREAREZAHXNQ+qxe2x/TZcLrmoPVYvbQ+myA9GooyLC8oi5GVAYiLcZyKB2YR7rvZeaWimkNRh08xBHHurg8EoTAe9sYu7OLELibEFrP216caP8A6JT+0x/RZdk6aN3u8UZEXGdwFyf31lZpSVmRGTi7o84vzwYh2Gi+Km++T87+I9hovipvvlLa4G8/2Otla3RmJ6supvTetU2xKMdxn3repS9SPY3VVhabWSMviKmrKc/O/iHYaL4qb79Pzv4h2Gi+Km+/V7fk+IQKDH8wCVpsOtmEXt6XXc62m6Ei7FF4gfYsfAh9KHiamrPOP87+Idhovipvv0/O/iHYaL4qb79ejnQkXYovED7E6Ei7FF4gfYnAh9KHiamrPOP87+Idhovipvv0/O/iHYaL4qb79ejnQkXYovED7E6Ei7FF4gfYnAh9KHiamrPOP87+Idhovipvv0/O/iHYaL4qb79ejnQkXYovED7E6Ei7FF4gfYnAh9KHiamrPOP87+Idhovipvv0/O/iHYaL4qb79ejnQkXYovED7E6Ei7FF4gfYnAh9KHiamrPOP87+Idhovipvv0/O/iHYaL4qb79ejnQkXYovED7E6Ei7FF4gfYnAh9KHiamrPOP87+Idhovipvv0/O/iHYaL4qb79ejnQkXYovED7E6Ei7FF4gfYnAh9KHiamrPOP87+Idhovipvv0/O/iHYaL4qb79ejnQkXYovED7E6Ei7FF4gfYnAh9KHiamrPOP87+Idhovipvv0/O/iHYaL4qb79ejnQkXYovED7E6Ei7FF4gfYnAh9KHiamrPOP87+Idhovipvv0/PBiHYaL4qb79ejnQkXYovED7E6Ei7FF4gfYnAh9KHiamrPOCr2WcROMwyUgZwIMwRyMYZmtmC8rsxte7XZ1eu0U2OXbd9JJ4uNnpMMzDycFXVhm+JEm/v2W1XQkXYovED7FzMzNqb4G5FkhCMPKrFJ1JT8zuF9FfEVih5Y6b4Y1NimI0bampK+spWbmanqJIm+gvQXaI4sM+hdFExZioKuvpD5XEiqCrBH4urj1czstN9tnhD02l2LDlyhUHDWh7LoqCKSQvjt1bwLYP8mvjl6THcNf8AZVFLXA3P0REdPL8HQsPjsgNvkREAREQBERAEREAREQBEXUxTEIYIZameaKnp4QeSaWUxjiiAdbmZm7CAtzu6A1h/KQzC2B4RHmbOWLOYtyuIUc7G/geSP4WWru1aB30vwJm9dG/gGmmJ/IzqSbcDZcjx7F4hpScsKwwJIaQ3EhepllIXqavITM4ATxxCLPryxM72cnFsvtFNEynx2bFCD+j4VSyZTe/6XVgUEYNyF6Q9UT82952QF07ej9VR/edH9XVKptjnpTh/ucfndbO7NehDYxglbhedopZRGWlkLix1UJNLDn1PlAnFwJ2Z3YZCtrWkGF6TYhghnhOIYfKBQk+QDfc5YxInvkOzhUU7kxOJi9tb2J2tbWxVKVSPy6m1hKsacvm0LF2QelWIe5ZfmVUbAXTKf3DL9fTLJ4tpTX40QYTh+HzGdQQ3AH3SaQWIeMTMwwQsVnIyezMzXcWvfg2HsOkp8br6STLutLDVU8tiuGeGrgiPKWq45hezqcHSlTXzajF1Y1JfLoWZpp0sxD3FVfy8inf5P/pFin71/wBpTKCaadLMQ9xVX8vIp3+T/wCkWKfvX/aUy3KhqI1XREWEuEREAREQBERAFzUHqsXtsf1jLhdc1D6rF7bH9NkB6S6P/olP7TH9Fl3l0dH/ANEp/aY/osu8rFTQuu/X7H/duJ/WqcYl6jP7VL9W6g9d+v2P+7cT+tU4xL1Gf2qX6t1mhkQzJfk9P0fSD27Dfq65bVLVX8np+j6Qe3Yb9XXLapYSQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiLgxGtihiKaaeKnhAcxyyyhHEI9cRm7CPhdAc6KlNO9s1o7RZ44ZpcVqB3uSkD0hitfXVy5QIOBs0W6dzU6oPTrbWY7VZo6MKbCIi5Yx3eq7eaoqBy+EYxdudASz8oBoqQz4VjQtvJYiw2bXwHER1NO9uF8wyVDX/uh7SqHa07Jr4Dj0FebEdFMBUeIAOs3pZSAnljbgeSOQI5GblYCHVmuoHj+OVlXLu9VV1FZM/7SeaSU+G9mKV3dm7TaljEB7DaO43S1lLFWUtRFVUs4McUsZsQE3dHgJn1OL2dnZ2dmdrLJLyH0U0yxTD3J6HEq6hzFmNqeqmiCQrW9NCMmGTV1zOs9WbM2lEnG0jxlu8xCoj+qMUB6tIvJOp2ScfPj4/jZ99itcXzyrD4hpBWzNaWtq52fhaSpmO/dzk6A9d63FaaL1Wogh7+aMLeO7KN4hspaPQvaXSDBYy5RLE6LP4m65vIvJhZXA8Cqqpyanp5JsnGcR3o82Y3sIu/M761DaXNkpN8keleL7YvRCDj4/Sn7TFV1H8rCbeF1FMY23uicTO8cuI1vahoSG/ys4m+FaKfm9xb1ifjw/8Amn5vcW9Yn48P3irxIar3L8Kej9jbnG9u7hwt/RcCr6h+Td6mnp2/wmnUHx7bsYuf6LhGGUvbmOqqXt2shwtftuz9xa/fm9xb1ifjw/eJ+b3FvWJ+PD94nEhqvccKej9iw9INtLpdUcGJx0YPfeU1HSh/iSxnI3gJVlpRplilf+m4nX1+Us4jUVc0oAVnbMASm4hqd23rNqddr83uLesT8eH7xckGgOLCQl5nkWUmexFC4vZ72cc+tu0o4sNV7jhT0Z+NjbQHEsYq2o6GneUt680hXGnpYye261E1nYA1FZmuRWdhYn1L0P2I9AqXBcLhwyDf5by1UrjlOqqjZmkmMep4rCI3fKIi13td9PcA0104o4RpqRoqKnC7jFBh+CxxM5cYsoQb4nfhJ7u/K6735z9kP1yXyTB/uU4sNV7jhT0fsbxLrYhh8EzCM1PDUCPFGWIJRbvRNnYVpN+c/ZD9cl8kwf7lPzobIfrkvkmD/cpxIar3HCno/Y3Zw3DoIWyw08NOJFvmiiCIX74YmZiWguh/624/7div/wByjVy7Bm2Oq5cSiwXG6eOGonlCCCqCPcbVB5WiirIOLaR3ZmkDKzOQ3GzuQ01of+tuP+3Yr/8Aco1lhmjGyb6adLMQ9xVX8vIp3+T/AOkWKfvX/aUygmmnSzEPcVV/LyKd/k/+kWKfvX/aUyvUIRqujoiwlwiIgCIiAI6IgC5qD1WL22P6xlwrmoPVYvbQ+myA9JdH/wBEp/aY/osu8ujo/wDolP7TH9Fl3lYqaF136/Y/7txP61TjEvUZ/apfq3UHrv1+x/3bif1qnGJeoz+1S/Vus0MiGZL8np+j6Qe3Yb9XXLapaq/k9P0fSD27Dfq65bVLCSEREAREQBERAEREAREQBERAEREAREQBERAap7ZLbGYhR4nVYNhgw0/QnpVTVSRDLMVQQiRjTgd4wAM2V3MSdyZ7WZmvq/pVpXiNfLutbXVVaeZ3HdpjMY79iAnyxD2hZmW1m2C2tdXiOKzYth1TSiVaQnVQVBmGSdgYClglijJjA8rE4kzOxOVndnZh62gm1AhHJJimJnK+9coKMMgM/C4lV1DORg/BqjB+3zAahxi7uzMzu76mZtbu/IzeRWhoJsB6R4jlKPDio4C/bVj9DR91gNnmkZ+cIyZbnR6P6L6M0ZV3QtHhsUVg6IMClrZDK7tFFMeeeUyyu+QH4Bd7MzatedlzbXVlRnpsIifD4H3vRcogddI2rXFFvo6Vn1tfflruzg6A5q7YN0ZwKIanSDHJKqbLnChpR3I59Vsghcp5QzftLwi2q7ty1vp/sswS002F4RgtBgmFzDuUztBFNiVZEN7dFVcrEQ8hWF3IXbjuqwxGulmlOeaaWomlfNLJLIckshdcchu5GWrhd1KtjTYyxfGJdzoaQzjF8stQfpdHDwZt1qC3uZme+Qcxu3ALoCFqxtijYbxnGSEqaleGizWOsnzR0g67PkK2aoNrO2WNis/Dl4VtLsTbV/CaHJPXu2MVo68hhlw+ItfFpy11XDa8txezPkZ1fcQCLCIiwiIsIiIiwiI6mERHUIs3IyAoLRPao4BDAA1Z1eIVXDLI05U8V7NvYoYtYh3xk+vh5GkdLtbtEws/mU5k3X12IP4zDUMJfArcRAa17aHYtwSg0WraqiwilpqiKaibdRaQpY4jqgjPKcpk7XchF+0arPYaGNsHp8lsxHNu9st913Um3/b3No+HkyrdDSPBqetpKqgqA3Wlq4ZIZg4LgbWfKQ6xNuFibWzsz8i040i2v+lOF1UvmSfmhRSm+5kE1KErB1PRVLVuwbq3BmDMz2vvb5Ww16TqRsjPh6qpyuyTooR5wtkP1jN8OD/+aecLZD9YzfDg/wD5rQ8BPVfk3/HQ0f4JuirHS/C9NMPpnq60eg6dnsJyS4M2YuNkiAScpjtrygzv2lA/zkYv69f5PS/dJ4Ceq/I8dDR/g2KRUJFpfpCTXE6oh5xoYnH+GBfvz06Sf9X/ANvj/Dp4Cpqvz/Q8dT0f4/svhFQ/np0k/wCr/wC3x/h089Okn/V/9vj/AA6eAqar8/0PHU9H+P7L4RUP56dJP+r/AO3x/h089Okn/V/9vj/Dp4Cpqvz/AEPHU9H+P7M3s+OLVWGlH+l5D1j6rlGSPofg13z7rbt3XNoLm89OOZ+PnxPP3/mjHm8t1EcEq8ThxOnxWTD5q6op5gqBCpp6o4Tli1xbqMTgTgJsBMDOzbxmfVdnlmxXFWS4xiGIT0skL1QVMsjvEccW7VVVFM4R7rry6pLNd7M2t11KFNwionNrVN+TkT3TTpZiHuKq/l5FO/yf/SLFP3r/ALSmUE006WYh7iqv5eRTv8n/ANIsU/ev+0pllqGJGq6LBebEnWx/A/8A5J5sydbH4r/asVi1zOsl1gvNiTmj8V/tTzYk5o/Ff7UsLmdRYLzZk62PxX+1PNiTmj8V/tSwuZ1FgvNiTmj8V/tTzYk62P4H/wDJLC5nVzUPqsXtsf02Uc82JOaPxX+1fuLG5BJiYY96TE12LqXu3VdpLC56i6P/AKJT+0x/RZd5aNUm20x+OMIhosEygLAN6evvlZra/wCnWXJ6LvSH1lgfyWv/ABykgxld+v2P+7cT+tU4xL1Gf2qX6t1QMunlUWL1eNPFTdFVss8soMEvQ7FUPmPIG65mFn4Lk/hWUm2WK8hIHhocpi4laKbgJrP+27ayRkkiC/Pyen6PpB7dhv1dctql5wbDezFiOABVhRwUEzVpQHL0TFUG4lTtKwbnuFRHlvuxXvfgbgU+9F3pD6ywP5LX/jljJN4UWj3ou9IfWWB/Ja/8cnou9IfWWB/Ja/8AHIDeFFo96LvSH1lgfyWv/HJ6LvSH1lgfyWv/AByA3hRaPei70h9ZYH8lr/xyei70h9ZYH8lr/wAcgN4UWj3ou9IfWWB/Ja/8cnou9IfWWB/Ja/8AHIDeFFo96LvSH1lgfyWv/HJ6LvSH1lgfyWv/AByA3hRaPei70h9ZYH8lr/xyei70h9ZYH8lr/wAcgN4UWj3ou9IfWWB/Ja/8cnou9IfWWB/Ja/8AHIDeFFo96LvSH1lgfyWv/HJ6LvSH1lgfyWv/AByA3hRaPei70h9ZYH8lr/xyei70h9ZYH8lr/wAcgN4UWj3ou9IfWWB/Ja/8cnou9IfWWB/Ja/8AHICzdvpo7XT4dhtZCEktHh8tU9aAMRbnu4Q7jVGw/sh3KUXLqd1bnWqGgmhGJYrP0NQUU1UerOQjaGFn6qec7BCOp+M7X5Luri9F5pD6ywP5LXfjl+YNttjwNYMPwEB4bDSVotm67KNda6As/Ym2qdFTZKnFpmxGoGxdDREYUEZan9NPVJVWduDeC+tnEmWxuHUUUMQQQxRU8MQsEUcQBHFEA8AgAMwgLczMtJfRd6Q+ssD+S1/45PRd6Q+ssD+S1/45AbwotHvRd6Q+ssD+S1/45PRd6Q+ssD+S1/45AbwotHvRd6Q+ssD+S1/45PRd6Q+ssD+S1/45AbwotHvRd6Q+ssD+S1/45PRd6Q+ssD+S1/45AbwqvtnXZSpMBw/omRmmrajMFDTZrPPKLNnM+UKcMwuReyFm1ky1f9F3pD6ywP5LX/jlVWyXsi12MYkOJVrQGYBFFHAAyDSRRRa9yACkc8hE5kTubu7yFrZrMwEsHDcUx+qLFsUq5dyN33IeD0rkio4X3lNTtbhtrfXvndyVgYFo5R0rWhpYgLr8uaV+7Kdy8F7KpR2Wq9mZmp6AWFmEWaKdmYR1MLNu+prJ+d3EOwUPxdR+IWVOKILwuvxLKI8YmHviFvpLX7HtkXEqhsu7tThyjAzhf37k5+BisopNKRE5ETmT8JE7u79131o6gsbUdGRdli+ND7U6Mi7LF8aH2rVJE4gsbW9GRdli+ND7U6Mi7LF8aH2rVJE4gsbW9GRdli+ND7VyRzCXFMS70he3irU5Z3RHSWehlOaJoyKSLciaRjcLZhPNYDHftlsz34CfnTiCxf8Apr0sxD3FVfy8ine0A6R4p+9f9pTLWTFNlGumgmgKGjYJo5IjcQnYmGUXB8t5na9n5WdZfYg2cMTwKkno6Snw+aKoqOijepiqTNj3KOLKLwVMbZMsbanZ3vfWqzlckqxERUAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf/Z\n",
"text/html": [
"\n",
" <iframe\n",
" width=\"800\"\n",
" height=\"600\"\n",
" src=\"https://www.youtube.com/embed/R9OHn5ZF4Uo\"\n",
" frameborder=\"0\"\n",
" allowfullscreen\n",
" ></iframe>\n",
" "
],
"text/plain": [
"<IPython.lib.display.YouTubeVideo at 0x13c6c739370>"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"IPython.display.YouTubeVideo('R9OHn5ZF4Uo', width=800, height=600)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## 1.2. Zastosowania uczenia maszynowego"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"* rozpoznawanie i rozumienie mowy\n",
"* rozpoznawanie obrazów\n",
"* tłumaczenie maszynowe\n",
"* systemy rekomendacyjne\n",
"* detekcja spamu\n",
"* klasyfikacja dokumentów/obrazów\n",
"* analiza nastrojów\n",
"* rozpoznawanie pisma odręcznego\n",
"* samochody autonomiczne\n",
"* przewidywanie kursów giełdowych\n",
"* automatyczna diagnostyka medyczna\n",
"* analiza genów\n",
"* sztuczna inteligencja w grach"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"### Co potrafi uczenie maszynowe?\n",
"\n",
"* *Two Minute Papers* - streszczenia ciekawszych artykułów naukowych z dziedziny ML: https://www.youtube.com/user/keeroyz, np.:\n",
" * AI gra w chowanego i \"psuje\" grę: https://youtu.be/Lu56xVlZ40M\n",
"* Generowanie twarzy itp.:\n",
" * https://thispersondoesnotexist.com\n",
" * https://thiscatdoesnotexist.com\n",
"* Blog inicjatywy OpenAI: https://openai.com/blog, np.:\n",
" * generowanie tekstu: https://openai.com/blog/better-language-models\n",
" * generowanie obrazów na podstawie opisu słownego: https://openai.com/blog/dall-e\n",
"* Zamiana rysunków odręcznych na zdjęcia: https://affinelayer.com/pixsrv"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## 1.3. Metody uczenia maszynowego"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"### Z jakimi rodzajami zadań mamy do czynienia?\n",
"\n",
"* Uczenie nadzorowane\n",
" * Regresja\n",
" * Klasyfikacja\n",
"* Uczenie nienadzorowane\n",
" * Klastrowanie\n",
"* Uczenie przez wzmacnianie\n",
"* Systemy rekomendacyjne"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"### Klasyfikator\n",
"\n",
"* Klasyfikator to funkcja $h$, która przykładowi $x$ przyporządkowuje prognozowaną wartość $h(x)$.\n",
"* Jeżeli funkcja $h$ jest ciągła, to mówimy o zagadnieniu **regresji**.\n",
"* Jeżeli funkcja $h$ jest dyskretna, to mówimy o zagadnieniu **klasyfikacji**."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"### Algorytm uczący\n",
"\n",
"* Dane są przykładowe obserwacje $(X, y)$.\n",
"* Staramy się dobrać funkcję (klasyfikator) $h$ tak, żeby $h(x) \\sim y$."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"W jaki sposób można określić, czy klasyfikator jest „dobry”?"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"### Podział metod uczenia maszynowego\n",
"\n",
"> \\[Każdy algorytm uczenia maszynowego\\] stanowi kombinację dokładnie trzech składników.\n",
"> Te składniki to:\n",
"> * reprezentacja\n",
"> * ewaluacja\n",
"> * optymalizacja\n",
"\n",
"> &mdash; Pedro Domingos, “A Few Useful Things to Know about Machine Learning”"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"### Reprezentacja\n",
"\n",
"* drzewa decyzyjne\n",
"* regresja liniowa\n",
"* regresja logistyczna\n",
"* naiwny klasyfikator bayesowski\n",
"* algorytm $k$ najbliższych sąsiadów\n",
"* sieci neuronowe\n",
"* maszyny wektorów nośnych\n",
"* algorytmy genetyczne\n",
"* ..."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"### Ewaluacja\n",
"\n",
"* skuteczność (dokładność)\n",
"* precyzja i pokrycie\n",
"* błąd średniokwadratowy\n",
"* _information gain_\n",
"* _logistic loss_\n",
"* BLEU\n",
"* ..."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"### Optymalizacja\n",
"\n",
"* optymalizacja kombinatoryczna:\n",
" * wyszukiwanie zachłanne,\n",
" * _beam search_...\n",
"* optymalizacja ciągła:\n",
" * nieograniczona:\n",
" * metoda gradientu prostego,\n",
" * metoda Newtona...\n",
" * ograniczona:\n",
" * programowanie liniowe..."
]
}
],
"metadata": {
"celltoolbar": "Slideshow",
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.3"
},
"livereveal": {
"start_slideshow_at": "selected",
"theme": "white"
}
},
"nbformat": 4,
"nbformat_minor": 4
}