{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 05wk-2: 합성곱 신경망 (1) – CNN 예비학습, MNIST 자료 분석\n", "\n", "최규빈 \n", "2024-04-03\n", "\n", "\n", "\n", "# 1. 강의영상\n", "\n", "\n", "\n", "# 2. Imports" ], "id": "6df43d87-0436-41f0-a4d5-39088e8db0a0" }, { "cell_type": "code", "execution_count": 1, "metadata": { "tags": [] }, "outputs": [], "source": [ "import torch\n", "import matplotlib.pyplot as plt\n", "import torchvision\n", "import fastai.data.all " ], "id": "b97e7cfa-2e5c-4b08-b735-5ff46de7869b" }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 3. Data: MNIST\n", "\n", "`-` download data" ], "id": "93a02169-3158-4bd7-b70f-e0eb6476ddb0" }, { "cell_type": "code", "execution_count": 2, "metadata": { "tags": [] }, "outputs": [], "source": [ "path = fastai.data.external.untar_data('https://s3.amazonaws.com/fast-ai-imageclas/mnist_png.tgz')" ], "id": "21f4d9dc-8718-40dc-b172-9edc1db81f7b" }, { "cell_type": "markdown", "metadata": {}, "source": [ "`-` training set" ], "id": "5ecea1b6-39d4-4309-a23b-8ba78e82af3d" }, { "cell_type": "code", "execution_count": 3, "metadata": { "tags": [] }, "outputs": [], "source": [ "X0 = torch.stack([torchvision.io.read_image(str(fname)) for fname in (path/'training/0').ls()])\n", "X1 = torch.stack([torchvision.io.read_image(str(fname)) for fname in (path/'training/1').ls()])\n", "X = torch.concat([X0,X1])/255\n", "y = torch.tensor([0.0]*len(X0) + [1.0]*len(X1)).reshape(-1,1)" ], "id": "2a603395-ae40-4643-8e75-a2b08db12dac" }, { "cell_type": "markdown", "metadata": {}, "source": [ "`-` test set" ], "id": "1745439b-cf90-44db-9894-de4914bac184" }, { "cell_type": "code", "execution_count": 4, "metadata": { "tags": [] }, "outputs": [], "source": [ "X0 = torch.stack([torchvision.io.read_image(str(fname)) for fname in (path/'testing/0').ls()])\n", "X1 = torch.stack([torchvision.io.read_image(str(fname)) for fname in (path/'testing/1').ls()])\n", "XX = torch.concat([X0,X1])/255\n", "yy = torch.tensor([0.0]*len(X0) + [1.0]*len(X1)).reshape(-1,1)" ], "id": "42fb9db2-8283-4c51-9a81-dbeace08d5ef" }, { "cell_type": "code", "execution_count": 5, "metadata": { "tags": [] }, "outputs": [], "source": [ "X.shape,XX.shape,y.shape,yy.shape" ], "id": "bf310997-830b-4ec7-897d-d1d6cfdf697e" }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 4. CNN 예비학습\n", "\n", "## A. 기존모형에 대한 불만\n", "\n", "![](https://guebin.github.io/DL2022/posts/III.%20CNN/2022-10-18-7wk-2_files/figure-html/cell-8-output-1.svg)\n", "\n", "`-` 왜 28 $\\times$ 28 이미지를 784개의 벡터로 만든 다음에 모형을 돌려야\n", "하는가?\n", "\n", "`-` 기존에 개발된 모형이 회귀분석 기반으로 되어있어서 결국 회귀분석 틀에\n", "짜 맞추어서 이미지자료를 분석하는 느낌\n", "\n", "`-` observation의 차원은 $784$가 아니라 $1\\times (28\\times 28)$이 되어야\n", "맞다.\n", "\n", "## B. 새로운 아키텍처의 제시\n", "\n", "`-` 예전 아키텍처들\n", "\n", "- $\\underset{(n,1)}{\\bf X} \\overset{l_1}{\\to} \\underset{(n,2)}{\\boldsymbol u^{(1)}} \\overset{relu}{\\to} \\underset{(n,2)}{\\boldsymbol v^{(1)}} \\overset{l_2}{\\to} \\underset{(n,1)}{\\boldsymbol u^{(2)}} \\overset{sig}{\\to} \\underset{(n,1)}{\\boldsymbol v^{(2)}}=\\underset{(n,1)}{\\hat{\\boldsymbol y}}$\n", "- $\\underset{(n,1)}{\\bf X} \\overset{l_1}{\\to} \\underset{(n,256)}{\\boldsymbol u^{(1)}} \\overset{relu}{\\to} \\underset{(n,256)}{\\boldsymbol v^{(1)}} \\overset{l_2}{\\to} \\underset{(n,1)}{\\boldsymbol u^{(2)}} \\overset{sig}{\\to} \\underset{(n,1)}{\\boldsymbol v^{(2)}}=\\underset{(n,1)}{\\hat{\\boldsymbol y}}$\n", "- $\\underset{(n,784)}{\\bf X} \\overset{l_1}{\\to} \\underset{(n,30)}{\\boldsymbol u^{(1)}} \\overset{relu}{\\to} \\underset{(n,30)}{\\boldsymbol v^{(1)}} \\overset{l_2}{\\to} \\underset{(n,1)}{\\boldsymbol u^{(2)}} \\overset{sig}{\\to} \\underset{(n,1)}{\\boldsymbol v^{(2)}}=\\underset{(n,1)}{\\hat{\\boldsymbol y}}$\n", "\n", "`-` 아키텍처들의 공통점?\n", "\n", "- $l_1$: 선형변환, feature를 뽑아내는 역할 (뻥튀기 혹은 요약)\n", "- $relu$: 뻥튀기된 feature에 비선형을 추가하여 표현력 극대화\n", "- $l_2$: 선형변환, 뻥튀기된 feature를 요약 하는 역할 (=데이터를\n", " 요약하는 역할)\n", "\n", "`-` 새로운 아키텍처\n", "\n", "- $conv$: feature를 뽑아내는 역할 (뻥튀기 혹은 요약) (2d ver $l_1$\n", " 느낌)\n", "- $relu$:\n", "- $pooling$: 데이터를 요약하는 역할\n", "\n", "## C. `torch.nn.Conv2d`\n", "\n", "`-` 우선 연산하는 방법만 살펴보자.\n", "\n", "**(예시1)**" ], "id": "23d61f5c-d079-4616-a372-ea28cbe15264" }, { "cell_type": "code", "execution_count": 6, "metadata": { "tags": [] }, "outputs": [], "source": [ "torch.manual_seed(43052)\n", "conv = torch.nn.Conv2d(1,1,(2,2)) # 입력1, 출력1, (2,2) window size\n", "conv.weight.data, conv.bias.data" ], "id": "df01e491-f635-4cbc-a73f-a01d9333bb5f" }, { "cell_type": "code", "execution_count": 7, "metadata": { "tags": [] }, "outputs": [], "source": [ "_X = torch.arange(0,4).reshape(1,1,2,2).float() # 2,2 흑백이미지. \n", "_X" ], "id": "7ece5860-fa0f-4a98-9398-1e646ead26f9" }, { "cell_type": "code", "execution_count": 8, "metadata": { "tags": [] }, "outputs": [], "source": [ "(-0.1733)*0 + (-0.4235)*1 +\\\n", "(0.1802)*2 + (0.4668)*3 + 0.2037" ], "id": "c8ea2954-5099-4c92-800c-6c055d9a49e4" }, { "cell_type": "code", "execution_count": 9, "metadata": { "tags": [] }, "outputs": [], "source": [ "conv(_X)" ], "id": "5ec03ae5-5f94-40b2-b1a3-4ee2e588e6ea" }, { "cell_type": "markdown", "metadata": {}, "source": [ "**(예시2) 평균**" ], "id": "a5bad277-4a84-4475-a814-fa4d5f52688e" }, { "cell_type": "code", "execution_count": 10, "metadata": { "tags": [] }, "outputs": [], "source": [ "conv = torch.nn.Conv2d(1,1,(2,2))\n", "conv.weight.data = conv.weight.data * 0 + 1/4\n", "conv.bias.data = conv.bias.data * 0" ], "id": "a411fabd-8018-4ce1-b64b-73f1c1d09e04" }, { "cell_type": "code", "execution_count": 11, "metadata": { "tags": [] }, "outputs": [], "source": [ "_X" ], "id": "060fca06-9ac1-4cc6-afaf-f07d53498b4c" }, { "cell_type": "code", "execution_count": 12, "metadata": { "tags": [] }, "outputs": [], "source": [ "conv(_X)" ], "id": "999aafd7-3bf4-4bb7-9ebd-1509b6a15a2d" }, { "cell_type": "markdown", "metadata": {}, "source": [ "**(예시3) 이동평균?**" ], "id": "0168e87b-024c-457c-994b-1dbf6055f415" }, { "cell_type": "code", "execution_count": 13, "metadata": { "tags": [] }, "outputs": [], "source": [ "_X = torch.arange(16).reshape(1,1,4,4).float()\n", "_X,conv(_X)" ], "id": "49fef574-89a5-4fab-856a-1c69654e2878" }, { "cell_type": "markdown", "metadata": {}, "source": [ "**(예시4) window size가 증가한다면? (2d의 이동평균느낌)**" ], "id": "d4cefbb9-ecb7-4680-8e3b-66ba5f60f824" }, { "cell_type": "code", "execution_count": 14, "metadata": { "tags": [] }, "outputs": [], "source": [ "_X = torch.arange(16).reshape(1,1,4,4).float()\n", "conv = torch.nn.Conv2d(1,1,(3,3))\n", "conv.weight.data = conv.weight.data * 0 + 1/9\n", "conv.bias.data = conv.bias.data * 0" ], "id": "8a1e987e-55a9-46da-be92-a577401070c4" }, { "cell_type": "code", "execution_count": 15, "metadata": { "tags": [] }, "outputs": [], "source": [ "_X,conv(_X)" ], "id": "a8027a30-e089-4495-92df-41135730a1c1" }, { "cell_type": "markdown", "metadata": {}, "source": [ "**(예시5)** 2개의 이미지" ], "id": "b03b3c0a-f911-4e06-950a-15ac16ac307e" }, { "cell_type": "code", "execution_count": 16, "metadata": { "tags": [] }, "outputs": [], "source": [ "_X = torch.arange(32).reshape(2,1,4,4).float()\n", "conv = torch.nn.Conv2d(1,1,(3,3))\n", "conv.weight.data = conv.weight.data * 0 + 1/9\n", "conv.bias.data = conv.bias.data * 0" ], "id": "93751fca-c721-4f7a-9084-f4934422d120" }, { "cell_type": "code", "execution_count": 17, "metadata": { "tags": [] }, "outputs": [], "source": [ "_X,conv(_X)" ], "id": "2e1ae357-a7d4-482a-a448-445664ebe125" }, { "cell_type": "markdown", "metadata": {}, "source": [ "**(예시6) 피처뻥튀기**" ], "id": "89cbec15-3ef3-4539-8f83-adbec2070675" }, { "cell_type": "code", "execution_count": 18, "metadata": { "tags": [] }, "outputs": [], "source": [ "_X = torch.arange(32).reshape(2,1,4,4).float()\n", "conv = torch.nn.Conv2d(1,16,(3,3))" ], "id": "29b3c0b7-f5a3-4d28-85ed-186aa678aa06" }, { "cell_type": "code", "execution_count": 19, "metadata": { "tags": [] }, "outputs": [], "source": [ "_X.shape,conv(_X).shape" ], "id": "1294c956-46b1-43d2-8e6c-2e6fb21d3344" }, { "cell_type": "markdown", "metadata": {}, "source": [ "## D. `torch.nn.ReLU`" ], "id": "2fa455a2-0ae9-4128-af05-26a8b7f12f74" }, { "cell_type": "code", "execution_count": 20, "metadata": { "tags": [] }, "outputs": [], "source": [ "a1 = torch.nn.ReLU()\n", "_X = torch.randn(25).reshape(1,1,5,5)\n", "_X,a1(_X)" ], "id": "984c34b9-4db9-41e7-be87-95016746d4ad" }, { "cell_type": "markdown", "metadata": {}, "source": [ "## E. `torch.nn.MaxPool2d`" ], "id": "aa1c3394-3c4d-4c0e-a597-e07246cc45ea" }, { "cell_type": "code", "execution_count": 21, "metadata": { "tags": [] }, "outputs": [], "source": [ "m1 = torch.nn.MaxPool2d((2,2))\n", "_X = torch.randn(25).reshape(1,1,5,5)\n", "_X,m1(_X)" ], "id": "4a029eab-33a5-40b5-b3d1-98e450bd9bc8" }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 5. MNIST(CPU)" ], "id": "13afa2cf-980d-42ea-9d83-0fb50c247e14" }, { "cell_type": "code", "execution_count": 22, "metadata": { "tags": [] }, "outputs": [], "source": [ "X.shape" ], "id": "b1c132d3-829b-4883-8dc1-690a05fa1cf4" }, { "cell_type": "markdown", "metadata": {}, "source": [ "## A. Conv2d" ], "id": "b3e9e384-e93d-463a-a4e9-d701f522046b" }, { "cell_type": "code", "execution_count": 23, "metadata": { "tags": [] }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "torch.Size([12665, 1, 28, 28])\n", "torch.Size([12665, 16, 24, 24])" ] } ], "source": [ "c1 = torch.nn.Conv2d(1,16,(5,5))\n", "print(X.shape)\n", "print(c1(X).shape)" ], "id": "c96ee07b-11c7-400d-9b93-e2adbaee9d25" }, { "cell_type": "markdown", "metadata": {}, "source": [ "## B. ReLU" ], "id": "79f6d8c0-d7e3-45ea-a2b2-efe0be88eebd" }, { "cell_type": "code", "execution_count": 24, "metadata": { "tags": [] }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "torch.Size([12665, 1, 28, 28])\n", "torch.Size([12665, 16, 24, 24])\n", "torch.Size([12665, 16, 24, 24])" ] } ], "source": [ "a1 = torch.nn.ReLU()\n", "print(X.shape)\n", "print(c1(X).shape)\n", "print(a1(c1(X)).shape)" ], "id": "69feaeed-0882-4b42-8f96-8e086d33a059" }, { "cell_type": "markdown", "metadata": {}, "source": [ "## C. MaxPool2D" ], "id": "1229d777-bb6d-4e9d-82c1-cb4e6fbc82eb" }, { "cell_type": "code", "execution_count": 25, "metadata": { "tags": [] }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "torch.Size([12665, 1, 28, 28])\n", "torch.Size([12665, 16, 24, 24])\n", "torch.Size([12665, 16, 24, 24])\n", "torch.Size([12665, 16, 12, 12])" ] } ], "source": [ "m1 = torch.nn.MaxPool2d((2,2)) \n", "print(X.shape)\n", "print(c1(X).shape)\n", "print(a1(c1(X)).shape)\n", "print(m1(a1(c1(X))).shape)" ], "id": "79aeab16-58f4-48bb-9b14-8b1cd1a490f9" }, { "cell_type": "markdown", "metadata": {}, "source": [ "## D. 적당히 마무리하고 시그모이드 태우자\n", "\n", "`-` 펼치자.\n", "\n", "(방법1)" ], "id": "c9e82b80-2854-47ec-ac63-1f52e66b1e98" }, { "cell_type": "code", "execution_count": 26, "metadata": { "tags": [] }, "outputs": [], "source": [ "m1(a1(c1(X))).reshape(-1,16*12*12).shape" ], "id": "d8f6ff0a-3c44-436e-a5de-859bfb26fb0f" }, { "cell_type": "markdown", "metadata": {}, "source": [ "(방법2)" ], "id": "1e07cadc-adce-4ba9-b873-6c1b31addb8a" }, { "cell_type": "code", "execution_count": 27, "metadata": { "tags": [] }, "outputs": [], "source": [ "flttn = torch.nn.Flatten()" ], "id": "bb37b55e-2978-4cdf-8a6c-a79857532e43" }, { "cell_type": "code", "execution_count": 28, "metadata": { "tags": [] }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "torch.Size([12665, 1, 28, 28])\n", "torch.Size([12665, 16, 24, 24])\n", "torch.Size([12665, 16, 24, 24])\n", "torch.Size([12665, 16, 12, 12])\n", "torch.Size([12665, 2304])" ] } ], "source": [ "print(X.shape)\n", "print(c1(X).shape)\n", "print(a1(c1(X)).shape)\n", "print(m1(a1(c1(X))).shape)\n", "print(flttn(m1(a1(c1(X)))).shape)" ], "id": "00814dfa-c0db-45d5-adc1-8a310396f3a1" }, { "cell_type": "markdown", "metadata": {}, "source": [ "`-` 2304 $\\to$ 1 로 차원축소하는 선형레이어를 설계" ], "id": "1ca0b610-a315-444c-8864-ce89b74a234d" }, { "cell_type": "code", "execution_count": 29, "metadata": { "tags": [] }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "torch.Size([12665, 1, 28, 28])\n", "torch.Size([12665, 16, 24, 24])\n", "torch.Size([12665, 16, 24, 24])\n", "torch.Size([12665, 16, 12, 12])\n", "torch.Size([12665, 2304])\n", "torch.Size([12665, 1])" ] } ], "source": [ "l1 = torch.nn.Linear(in_features=2304,out_features=1) \n", "print(X.shape)\n", "print(c1(X).shape)\n", "print(a1(c1(X)).shape)\n", "print(m1(a1(c1(X))).shape)\n", "print(flttn(m1(a1(c1(X)))).shape)\n", "print(l1(flttn(m1(a1(c1(X))))).shape)" ], "id": "ec891599-8195-4d5e-8f4c-562d6abb12a1" }, { "cell_type": "markdown", "metadata": {}, "source": [ "`-` 시그모이드" ], "id": "37fbb461-15a6-4856-bd05-8894928b1721" }, { "cell_type": "code", "execution_count": 30, "metadata": { "tags": [] }, "outputs": [], "source": [ "a2 = torch.nn.Sigmoid()" ], "id": "d040d9be-3c8c-4221-bc1e-0e7de6b7c239" }, { "cell_type": "code", "execution_count": 31, "metadata": { "tags": [] }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "torch.Size([12665, 1, 28, 28])\n", "torch.Size([12665, 16, 24, 24])\n", "torch.Size([12665, 16, 24, 24])\n", "torch.Size([12665, 16, 12, 12])\n", "torch.Size([12665, 2304])\n", "torch.Size([12665, 1])\n", "torch.Size([12665, 1])" ] } ], "source": [ "l1 = torch.nn.Linear(in_features=2304,out_features=1) \n", "print(X.shape)\n", "print(c1(X).shape)\n", "print(a1(c1(X)).shape)\n", "print(m1(a1(c1(X))).shape)\n", "print(flttn(m1(a1(c1(X)))).shape)\n", "print(l1(flttn(m1(a1(c1(X))))).shape)\n", "print(a2(l1(flttn(m1(a1(c1(X)))))).shape)" ], "id": "630d9e5e-9bb5-41cd-80a8-e6bdb1545f73" }, { "cell_type": "markdown", "metadata": {}, "source": [ "## E. 학습\n", "\n", "`-` 네트워크 설계" ], "id": "87fb075d-a794-44a1-a997-065ac92e16ef" }, { "cell_type": "code", "execution_count": 32, "metadata": { "tags": [] }, "outputs": [], "source": [ "net = torch.nn.Sequential(\n", " c1, # 2d: 컨볼루션(선형변환), 피처 뻥튀기 \n", " a1, # 2d: 렐루(비선형변환)\n", " m1, # 2d: 맥스풀링: 데이터요약\n", " flttn, # 2d->1d \n", " l1, # 1d: 선형변환\n", " a2 # 1d: 시그모이드(비선형변환) \n", ")\n", "loss_fn = torch.nn.BCELoss()\n", "optimizr = torch.optim.Adam(net.parameters())\n", "for epoc in range(50): \n", " ## 1\n", " yhat = net(X) \n", " ## 2\n", " loss = loss_fn(yhat,y) \n", " ## 3\n", " loss.backward()\n", " ## 4\n", " optimizr.step()\n", " optimizr.zero_grad()" ], "id": "8f362c75-6e59-4f3c-8019-fe339faf81d8" }, { "cell_type": "code", "execution_count": 33, "metadata": { "tags": [] }, "outputs": [ { "output_type": "display_data", "metadata": {}, "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAG1CAYAAAAr/fRyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90\nbGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9h\nAAAPYQGoP6dpAAB0OElEQVR4nO2deXwV1d3/P/cGCIsQBISYsBjQugUQgmJAapWtYkEtKEoLqNDH\nWJGti1sri7b49Fd9cANrRS1PXWjdij5UCbiAJYImgGxWC2hCILLfoMiWzO+PydzMnXtm7szcubPc\n+3m/XnklmTtz5pwz5875nu92QpIkSSCEEEII8Yiw1xUghBBCSGZDYYQQQgghnkJhhBBCCCGeQmGE\nEEIIIZ5CYYQQQgghnkJhhBBCCCGeQmGEEEIIIZ5CYYQQQgghnkJhhBBCCCGeQmGEEJ8SCoUs/Zx1\n1lleVxkAcPPNNyMUCuH999/3uipCPv74Y4wbNw5dunRBs2bN0LZtW5x77rkYPXo0Hn/8cUQiEa+r\nSEjG0cTrChBCxEycODHu2Icffojt27ejd+/euOiii2I+69Chg0s1Cy6LFi3Cf/3Xf6G+vh5nn302\nrrrqKrRo0QI7duzA0qVL8dprr+Hiiy/GpZdeavseX375JQoKCnD55Zf7ViAjxG9QGCHEpzz//PNx\nx26++WZs374d1157LWbPnu16ncwwb9483H333ejatavXVYmhuroad9xxByRJwjPPPINbb70VoVAo\n+vn+/fvxv//7v2jbtq13lSQkQ6EwQghxlDPPPBNnnnmm19WIY9myZTh+/Dguu+wyTJo0Ke7zDh06\nYMaMGR7UjBBCnxFC0oD3338foVAIN998M2pqajB58mR07twZTZo0wfz58wEAe/bswR/+8Adcfvnl\nyM/PR7NmzZCbm4sf//jH+Pjjj4XlnnXWWVHtwTPPPINevXqhRYsWyM3NxW233YbDhw/HXaPnM2Kn\nLADYsWMHbrjhBrRr1w6nnXYaLrvsMrzzzjsxbTbDvn37AABnnHGGqfPVfPPNN5g7dy569uyJli1b\nok2bNrj88svxxhtvxJw3e/ZsFBQUAAA++OCDGJ8es/UkJBOhMEJIGrFv3z5cfPHF+L//+z8UFxfj\nqquuQsuWLQEA//jHP3DXXXdh9+7d6NmzJ6699lrk5eXh9ddfx8CBA7F8+XLdcn/961/jjjvuQJs2\nbfDDH/4QkiTh6aefxqhRoyBJkqU6Winriy++QP/+/fH3v/8dHTt2xMiRI1FXV4cRI0bg1VdftXTf\nzp07AwBWrlyJL774wvR1X3/9Nfr3749Zs2bh0KFDGDp0KPr374/y8nJcd911eOihh6LnXnTRRRg9\nejQAoFOnTpg4cWL057LLLrNUX0IyCokQEhgmTpwoAZBmzZoVc/y9996TAEgApOuuu0767rvv4q79\n9NNPpY0bN8Ydf/vtt6VmzZpJPXr0kOrr62M+69atmwRAOvPMM6X169dHj+/bt086++yzJQDSypUr\nhXV87733ki5r8ODBEgDpzjvvlOrq6qLHFy9eHG3vxIkTBT0Vz+HDh6UzzjhDAiA1b95cGjNmjPTE\nE09I5eXl0qlTp3Svu+qqqyQA0q9//WvpxIkT0ePbt2+XevToIWVlZcX0686dOyUA0uWXX26qXoQQ\nSaJmhJA0Ijs7G48//jiaN28e91nPnj3Rq1evuOPDhw/H9ddfj+3bt2Pz5s3Cch944IGY6J0OHTrg\n9ttvBwCsWrXKUh3NlvWf//wHK1euRLt27TBv3jyEw42vq/Hjx+P73/++pfvm5OTg7bffxrnnnotj\nx47hlVdewZQpU1BUVIT27dujpKQEu3fvjrlmw4YN+Oc//4kBAwbgoYceQtOmTaOfde/eHQ8//DDq\n6urwzDPPWKoLISQWOrASkkb07dsX+fn5up8fP34cb7/9NtatW4d9+/bhxIkTAIBNmzYBkM0iPXv2\njLtu2LBhcce+973vAZB9Uaxgtqw1a9YAAEaMGIFWrVrFXXP99ddbFoT69u2LLVu24J133sE///lP\nfPTRR9i4cSMikQj+9Kc/4fXXX8eqVatw7rnnAgBKS0sBANdcc01M5I2CYnrR87khhJiDwgghaYRR\nOO2mTZswatQofPnll7rnHDlyRHhc8bdQc9pppwGQBRwrmC1L0VJ06dJFWI7d0OGsrCyMGDECI0aM\nAADU1tbib3/7G+6++27s3bsXU6ZMiQohSl/ddddduOuuu3TL3L9/v626EEJkKIwQkkaIzDMAIEkS\nbrjhBnz55ZcoKSlBSUkJunfvjtNOOw2hUAj33nsv5s2bp+uMKtIK2MVqWXrn69XVKm3atMHkyZOR\nm5uLkSNH4r333sPRo0fRsmVL1NXVAQAGDRqE7t2765bBhHOEJAeFEUIygM8++wyfffYZ+vXrh4UL\nF8Z9vmPHDg9qZYySq6SyslL4eVVVlaP3+8EPfgAAqKurw+HDh9GyZcuoFmfMmDGYOnWqo/cjhDRC\nB1ZCMoBDhw4BEJtIDh06FDVL+IkBAwYAkJOVHT16NO7zV155xVJ5iTQp27dvBwA0a9YsqukYMmQI\nAMTlEzGiWbNmAIBTp05Zqh8hmQyFEUIygLPPPhvhcBjvvvtuTI6NY8eOoaSkBAcPHvSwdmLOOecc\nXHHFFTh48CDuvffeGGHihRdewAcffGCpvIULF+K2224TRgzt3r0bJSUlAICrr746KlBceumlGDx4\nMN577z3MmDED33zzTcx19fX1WL58OT788MPosQ4dOqBp06bYvn171MxDCDGGwgghGUDHjh0xadIk\n1NbWonfv3vjRj36E66+/HmeddRbeffdd32YHXbhwIdq1a4dHH30UF1xwAcaNG4cBAwZg/Pjx+PnP\nfw6gURORiBMnTuDpp59Gz5490b17d1xzzTW46aab8P3vfx8FBQX46KOPUFBQgEcffTTmuhdeeAG9\nevXC/Pnz0a1bNwwePBg33ngjBg0ahNzcXAwfPhyffPJJ9PxmzZrhhz/8IWpqatC7d29MmDABkydP\nxnPPPedcxxCSZlAYISRDWLhwIR5++GEUFBRg5cqVWL16NYYMGYJPPvkE3bp187p6Qs4991ysXbsW\nY8aMQU1NDf7xj38AAN56662oGad9+/amyrr11lvx97//HZMmTUJOTg7KysrwyiuvYPPmzSgqKsK8\nefOwcePGuOidTp064aOPPsIjjzyCc845Bx9//DHeeOMN7Nq1C3369MGTTz6Jn/70pzHXPPPMMxg/\nfjwOHDiAF198EYsWLbKsySEkkwhJTrmkE0KIi9x+++146qmn8PLLL2Ps2LFeV4cQkgQURgghvuXY\nsWPYuXMnzj///Jjjr776Km688Ua0atUKu3btiuYpIYQEE4b2EkJ8y+HDh3HBBRfgvPPOwznnnIOm\nTZti27Zt2LZtG8LhMBYsWEBBhJA0gJoRQohv+e677/Db3/4WpaWlqKqqwpEjR9CuXTsUFxfjl7/8\nJXfCJSRNoDBCCCGEEE9hNA0hhBBCPIXCCCGEEEI8JRAOrPX19di9ezdat27t6IZdhBBCCEkdkiTh\nyJEjyMvLQzisr/8IhDCye/du3W3ECSGEEOJvqqqqhHtjKQRCGGndujUAuTFt2rTxuDaEEEIIMUNt\nbS26dOkSncf1CIQwophm2rRpQ2GEEEIICRiJXCzowEoIIYQQT6EwQgghhBBPoTBCCCGEEE+hMEII\nIYQQT6EwQgghhBBPoTBCCCGEEE+hMEIIIYQQT6EwQgghhBBPoTBCCCGEEE+hMEIIIYQQT7EsjKxa\ntQojR45EXl4eQqEQ3njjjYTXfPDBBygqKkLz5s3RvXt3PPXUU3bqSgghhJA0xPLeNN9++y169+6N\nW265BaNHj054/s6dOzFixAj87Gc/w1//+lf861//ws9//nOcccYZpq4nhASASDWw4SWgsgzIagI0\naSkfb90J6P4D4ORR4MAO4NCX8vEW7YD9/wa+2Qfk5MnH2nUHstsAR/cDLTsALdrKx1u2A9p2A05+\nC5w4ClSXA1nZQPvuQJf+8jlVa4GjB4FDlcDeLUDzNkDHCxvL+O6wfO/s02Lrc3Q/0P5s4NyrgJx8\nYFe53IYWpwPfHWr83f5soFlLoGkr4PBXcpm1u4EvPwRye8r/Z2XLv7/eAny7D2h3FnDej+R7HT0o\nt6NpS2DH+8Dxb4C8i4C8PnJ5yudtu8X+r25f9Qbg0A65n/IuAk5+J/f5yaNA4Y+BM3s11u/owcZ2\n1x0HvvdD+f/P347tu5pNwJon5LZkt5aPq/tN6f+mLYED/5H7Qd13J48DBz4HmrYALrwOaNtFrsP2\n94A9G+S6SpDrnXcR0P2Kxv5Tnmm7HsCRGrlup3VqfBYKu8obP2vaAvj32/IYU+p5qBLYXS5/dvFk\noNUZjc+wZpPc1+GmQKQSaHMm0LVYHgsnjwP1J+Q25fUBdq8HvvkayC+S21i9IX4sKfeqOyH3y+kF\nQM/rgc5F8ndA+5zadm18jjWbgPUvAC1ygDPOk/9v2hKoO9k4Lpu1lPtDeeZA7BjQfoeaZsc+22/2\nA0f3NY6R2t3AF6Xy/50ujH2WXYuB1rmx91H3u8uEJEmSbF8cCuH111/Htddeq3vOXXfdhaVLl2Lb\ntm3RYyUlJdi4cSPKysqE1xw/fhzHjx+P/q/s+heJRLhRHiF+o2IxpKV3Qm8bLAnQ/cwsShnaspSX\nl5XyRfWRVMfV99H7bVQno3vZ+R865Vupi6gcK31npa1m+0N9PjTH61XHQoJrjOqpXGfUF6Lnb/Ye\novLqIZsZjNoNGN/DqD8gOF+vbFGZZu/zTbueaD31Q5072aO2thY5OTkJ5++U+4yUlZVh2LBhMceG\nDx+OTz75BCdPnhReM2/ePOTk5ER/unTpkupqEkLsEKkGDAQRIHlBRF2GtqyQ4JjZsrTH1JNJot9G\ndTK6l53/9cq3UhdROVb6zkpbzfaH+nzt8ayGH+0En6i+6rLM9JtRvcyi1DdRuxPdw6g/rJQtKtPs\nfU47uAmY3dbgbqkj5cJITU0NOnXqFHOsU6dOOHXqFPbv3y+85p577kEkEon+VFVVpbqahBA7/Puf\nXteAEOIQsnAiAX+7xfV7W/YZsUMoFCufKZYh7XGF7OxsZGdnp7xehJAkOfAfr2tACHGaz/7P9Vum\nXDOSm5uLmpqamGN79+5FkyZN0L59+1TfnhCSStqf7XUNCCFOo6MoSCUpF0aKi4tRWloac2z58uXo\n168fmjZtmurbE0JSSV4fr2tACHGaM85z/ZaWhZFvvvkGGzZswIYNGwDIobsbNmxAZWUlANnfY8KE\nCdHzS0pK8NVXX2HmzJnYtm0bnn32WSxatAi//OUvnWkBIcQ7Tn7rdQ0IIU7T/79cv6Vln5FPPvkE\nV1xxRfT/mTNnAgAmTpyI559/Hnv27IkKJgBQUFCAZcuWYcaMGXjyySeRl5eHxx57jDlGCEkHmrby\nugaEEKdp29X1W1oWRn7wgx/AKDXJ888/H3fs8ssvR0VFhdVbEUL8DjUjhKQfTVu6fkvuTUMIsY+S\nLZIQkj6cPOr6LSmMEELsk5MPDJ0LfV0pISRQhEJy+niXoTBCCEmOwjEURghJFzz6MlMYIYQkx8Ht\nfJEQImLQL+DMhghuIgEHd7h+V75DFCLVwM5V8m9CiHna9UC9rVdJCBj6ABBquDYUZt4Skl6sfgQo\nuNzetWf2gSeCTCiLZhrPqFgMzC8E/jJS/l2x2OsaERIccvLxUqeZOGVZvSsBe7cBk1YAw34P3PiS\nvI17unDBNQjeqpg4iwTsfN/6Zad3B/ashyc2kyGzZV8wl3FlbxpfE6kG3pwGSA2bVkv1wJvTgR6D\nPXkghASRspyr8fhX3fB223loe2y3+Qs3vgh8+nLj9y/QqDdmB7D1H/qn9r8daH8O8M3XwKr/TnnN\nEqOpO/GWQ+6bSaJ4pJ2kZuTg9vgXoVTnic2MkKDTxoogohAYQURPyxEGRjwM05N5KAsYcCdwySTg\ne8OdqpxNwsDkd4EZW4AxzzeazGJQbTrvwZ4lviO3t84HIaDoFvhPG2ahPqGwJyYagMKInCdB+wX0\nyGZGSJApCNek6IXi0ss9FAYuuU3/8zHPyT9x1AMt2+tM5ALUavBkk8aFwuadJM/7kTxZRn10soBR\njwKdi+T67C4XC4bf/zUw4hFgzLPApJXAxLcafH2yGsvpMdhcfb9/l3xtkKnZKD4+4E5g5Hxg8kpX\nqxOLaBxY0HgNmeOZRYBmmpx8YOSjsmlGqpO/WCPn00RDiEV21ueiHmGE4bSmwyXzQd+JwPk/Atb9\nKf6zUBjocgmw+RXBZ1nyZ9r3SPcfANsFE5NaDa4shgy1QwYmFKledpI000efvdVY3oCpQP+Sxvdc\npBpY84T4OrUZKRSW2zlwKlA4GqhaJ9+7bTdgx3vG7QhlAUUT5T5J2GZhAfC1Kal/ify7dS6EdR30\nS6BTIVC1Fli7MDV16Hk9sOkVwO530EMHcmpGAKDvBGD6Jlnin75J/p8QYhoJQA3ao+yC3zaumJNG\nZ7Uf1UCEgKFzE6y0LWhVCi4HTuhknjx7qPx7xez4zxRNh/Y9MupxsbZkx/uNfyuLIb16XnG/CdOI\n1QlaAsqejD10cLu5chSfuki1LFS8eivwyi3AoiFArxtjtSW9x8X+P2SWPBGrffSsMHml3Ke+M4MA\nMXXS68vuPwAKr5M1KMm2oecN4uPnjgDGLLJfrgdp4BWoGVHIyac2hJAk+SL/OgwcPlb2udq9Hii9\nH/ZWs2HgppeAl2+KnbhCWcCkUjldtWJKnV+oX8zQuXLEzsYXE9/y683A6ofFn33xDvDvf4on0bw+\n8uR8cLus6SgYJB//12Pi81f/EWieA3QbCFSWAV2LZZ+NpXfGalJ6jwO6XpwaDYLiF6e886xseCjV\nyRoRreP/p0tin01OPnDlbxrHwopZyfkHbX0DGPYA0PFCYNFgwGCPNPeR5D7JuU6s7VKb/nPygVGP\nAUunQdZghIBzhgJfLNcvPlpeGBg6GygcA2z6O2Kecygka+hizreIB2ngFSiMEEIcIxQKNQr2BYNk\nVf6ax22opeuBZq1iTR8Iy6vrzkWNp+1cZfzSzesj16H+FLDpb8a3XP1H48+X/UJ8fMf7wOJRDfUI\nAUPnyMdL79cvq/S3sf/3HgeMfw3YVQ5UfQR0uVRuZ6Ta4sTS4GQqSQ1/Qzxpa/3itr5usvyGayGJ\nHf8PV8oT4sHt8jFF2In2TxKUPSGbQjoXAb1uMiFghoCeyqRtkeG/l5/ByaMNQvVvE1/z6q3AiSOy\nhiyR6b/vBNnP5uAOWRuxaIhx2aOfBVp1aBTyAFmgUQTCUFjW0FWtlT8bMkfW4kl1FhodombEc9Sr\nGmpHCHGO7SuBtU9Zv06ZLAsGAd8dBlbcL790V8wGWpzeaEo18rkIZckTyV9GQl9T4IAfwocPqyZ8\nyVgI0WPji8DFk+WJVi1saX3aEIa+P0CD6j/aFxIghWTn05PfNk5O2snRyF8k7hYN17btphJ6VLxy\nM6J9qviXnH6WMxFTUn1jlOOnLxufe+GPgWEPyn9bFUZCYeCCa+X+iVTLgpTZ+ilpIdTChiL07VwV\nO8coQnsigVrxSdLOTco9qtYBOz8ASmehcSw3CMU5XWUzmqkxLslC0chHPXFVoM8IE54R4ixKNuNd\n5fLKzehFqPb/UHwj1JNlpLpBvd9QhlQvmzPWPSN/pkzWWj8VxUdhhfoFLSJZVb9gQrbLhhfEGaB7\nDAZGPyOH3ur5A1z4YznaJa49EvDPXwAt2ur7xZn1FxnxiHztd4cTmEnUz2qa7IcT5zsTltujjspB\nWHasFUYsoTHsVJSOQVv2sAcbJ3srfiahkDyelIk/4b00qNNCKNrB7SuN55h2PfTrFwrHa1XU2cK3\nr5SFjfLnEPsMJVn47HKJrEEx2361T5DLZLZmhAnPCHGMXBxA/61zgeWvQX4xJtA6iPw/lJWk8v2r\nWiueDJb9Qv4ZcKecQGz6pkaVt1Le2oWJJxI7tvXoNXa1KjrXfbJInlTUK9OKxfGqeFGd8/oAXfqL\nP5Mk+b02fVOjP4saMxE9vcfJeVH+9ahFzU898PKNwPmjgG1vNrSjQdgsvE4+pXB07HPXM02pw051\ntWHhWGECiNUgHD0I/POXmmvDwIg/Ai3bAW27ylokRdA1Fe2kvr/G/GVmjsnJl7UYon69bGas4Kge\nD1EBwyDS6uCOxvavfUo2dSVqi9afyCUyWzPChGfpAfcV8pziyP9hTfadOG/Xq2h8OSYQREbOl00S\nBYNi/UyUl2DFYuCVW41vvOZxebW5faV8rVIekNj00HtcQySL8hpsyNlhGL0SktPXj3neRgKwBm3A\njC3yvUWoV6aiiWzFHHmC0qJE+cS0R12uwXtNq10KZcnahMnvyr4Tk98Frlso16d0lvnmRu8tydlo\nlQl0yKzYCVb73OO0XWHZEXngVJ3PVc9BT1uTky8LP5dMim/r0NlAy9NlU8eiIbEajJx8WQgKqcZI\n0S2y9mbyu7ImR523RavFEAnEomcxcJoc+qvlw/9pfK9pxwMkJNQ6tuve6IbQvwSYvlnWjulpn9TX\nuUxma0YSeT0T/6NdOXpk78xoItUY9/XDCOvNzcp3TDGd5PWN1X40lBHjt6W8eK2Em6pXmwlNDyE5\n0mP7ykZFRQhA3QkD80O4MUnYyW8NVphhYMAdwL7P5SgchR5XNNr+r1so+4hseEHWiMS0R5msdJxE\nW7QT9EFd4ypYFG2S6L2m9XFQ+lHtv6LbpwlW6LEVlQWqwjHGK2+9+mg/r1onO46qfXYSabfVZetF\nfClj6rvDqiigEHDBSKDiL7IGS3nfTN8srqeeL452slfGfqcLBd2l0lJYMRkp5qbtK8Xvx0g1dDV0\nxVO4N43rMOFZsPHSzOaF07NfHa0PbkdYbyIKhWVNwsmjDSaUb+Nf2kJTRJY9W71SbkL1uiQOT13z\npOC6sOyPoXYiFJYflpN6VfxF1thoUXwHlAmhc5GcIKv8Of0FkWix1PVS/UVUpFru4yFz9R1WtYjC\nkkXo9enQubKpxY4ZwGhMJ0q3kJMPHGyvr3kQXau+X7vuxs7NUl2D47RK0FHvN6S8b/TMX3rCm3qy\njzO7aAQE9VgQ9r8SPVWP6PgruLwxxHd+of77UWgaCjcmb3OZzBZGgMQSOPEvRma2VD5HL7QxftYA\nteuBeoTEAsmQOfKkq1d/kUBpJxpFu/KPi0IRnC/SPKAeKJ4qJwVTJvIhs4BW7WNPEy1khsxqEAAM\nJmPthJBoQaQX2iy6RrsKHjJbrIVSU7EYWDoVUdXQqMf0x5VS1+j5QHTyVMwA/Uvk79+O9/VDpZVn\n5cSYtqLd1t6v+xUQCgtRTPiKGL1v9ARWZbIXml1CsZpE9ViIjhXNNRLiM+oC4igddX0HTpPvF9X8\nhGWTFdPBewgTngUTL8xsXmhj/O5onZOPFzv+Ajd9/TCyQqqXu2LnN6q/adWzxhTQqRDYu1X80lbQ\nquO1mgJheGpYDutUJlV1si7thKldyJhti9pn4OB2uYxJpbH5RdRt0Att1oaOalfBK+bIq3YjjUiM\nYCHJ/yv7zIg0Fj0Ga/pMFcoc0z+SWBgJhcWZWO2OabPabdEYFKXqj6nnbE24rOg8g/dNoroJx4sE\njH4uPqdIzCmCa8qejNdomHk/Kn44eqHzLkJhhAQXL8xsXmhjvNIAWaAs52o8UdkND/X/Dj84p2Os\nSUOv/sq+JomiFS6/C1j1/2LP+XozoN5jBYjP4wDEJ2BTJu/tK2VnxTj/kPrGXAsdL4xV0+tFQqjv\nZzbyYtubwMd/Vqnn0dgXaoFHFNqs1awobbc6RqrWIn6ileS+rviLWAAzErjUddPTClw2U197ZHdM\nm9FuW/G3UI8pkcOunubCat30hAVRThFADpVfeqf4PqK+02pStGHCkWp5DBiNLxehMEKCjdtmNi+0\nMQFxtK5Be1TmXggUnhX7gZ6t+9VbGydjUQItQG7nGefpTCQNK8JWZ+hrL9Qok3ecelxbbH2DxqDh\nHjGfGUyYIuG473ig/Pn4c2M241PdQzsZmBVE9SZ/O2Ok/PnGOmnrk8gXR6lbwSDrZqxkxrT62YqE\nUrMbEk5e2Zj5dsvrEGpFlGyoig+UEgacqG6i42YXUxWL9QURwLjv1ILG/s8b85PofQc8WuhQGCHB\nx00zmxfamKA7Wsf5b4SBGH8NCZDCcrhhpCrenKKXPwNAnJOhmZWdqVWynkOuxagUQJ5I7Drj7l5v\nrg5Cfw5JnnT0VO5d+kMcUWEggJnxxVHqZsWM5cSYNvJBifbPNAgz2Crna/2bRPXscol+lIpVzCym\nopFlOogSo8Vcp3qeax5XRfjYHOMpgsIIIVbxwuk56I7W6vp/u68hRbWaenm1WXhdfBIswHgi0WpU\nEkVrWE1kpaD30teiFY6N6i68jyoyZsXs+M+VXYK1iPw5jASzOJ+JEDBoJvDhIzAMC07kiyMyk0XL\nMhGpZBXF3JDIB0Uv7BkNEV+KRsRIEBk5X/7bSR+uRIupRMKzUnctukn/EvjAeLTQoTBCiB28cHoO\nuqO1WpWeaFdTkTPqd4fNbVgGyCp0vZWySNPUa6y866xacwOdCcsqupOgQgjRDe3Uk4HeniV5fcT3\nseJbpJfH5cP/iRdERJOTni9OInOFSMOnZGK1g5EWQ9T2zkXAyMfi66A8V72Jf/jvG/erseOfkwij\nEGc94VmtzRGVZ3a/IQCOCIVJQmGEEOIudsxOiiOnWQ5XGq9eRZomZbt7xcFVb8Kyg2gSVCeAA+In\n9KatxGXp7axqxbdIL5IjTmNQmrjdVoRkPQ2fnRw6iXx/9Npux6lUEUSMzrFr2kgU4iwycw6YEh/K\nq8ZM0j8lP4kTQqEDUBghhLiPVbOTpeyTWYj1SWlAu3rVTqLq/xVthijcFrA+eUaq5d1rlb14RAng\ntOWc/FZc1smj4uNWhDxTpqp6/Xslg7bfreQbUfd7Mj4oyTiVmjnH7PgwG7Zv1rckmtDN4Pkq9fWZ\n2ZfCCCEkaSQ7G8ZZWVGb9fMwcnq1sno1miCtJuvSnt/rRuDTlxNfb2cFblbI03Mq1sv+mSqs5NAx\ntWmgA+YGM31odI6V8WHFtGb0fRHdUxTNpE2C5wMhRCHsdQUIISQhyuSZ6JV12YxYvxD1hmhmTEE7\nV8n5HEQTpN7mdUZbrovO3/iiuevttEG5Tr3xnB59J8hJ0Sa+BczYLGdftXqvZDG7WanepoFD5sTW\nedSjsrkh2Xqb6UPROVbHR7segHqjP0A2n1gRAo0EOuX5Tt8kZ1wVtcknG41SM0IISZq2J/ehOLwF\nrY51AHBWam7SdwLQ7DRBJI6KDx8B+t2q7xeiR9weIToROmbMP2rMmJeMrk91FJXWNOW26t6s9kdP\naMnrI0+0TvigOIETCQqVoWe2DUb3TCRQ+WibCQoj6YhfN1Qj6UnFYjz45TSEm9Wj/oN5QE4KX2hG\nOUcA+biRX4gI4R4hGhJtXqe3kjVjXhJdr/0Ou/U9djtiy6yfi5HQkowPitNYNa0JHU2l2E0HE7XB\nbC4aLT7bZoJmmnSjYrG8R8VfRsq/KxZ7XSOSzjS80MINOTTCSKCWThat6UKE6OWsh5JpU+jo1/B6\nVE+QVk0novN7j4u/HmhUlWfad1htLpq+ST97rpl+t2omcRqr40MRXmIIx+5+bNQGq7lo1Jg1kbkE\nNSPphM8kXZIBOLlvjlmNntqcsO1NTWp1yC/nwtGJ758o06YS+aI1WVg1Z5gJI45ucqfZEFCqlxOm\nNTtN1goF9Xuc6Nma0cjY3YPGjfTm6vZZGR8izVDxz+VMqWbaoGcG1MtFo8Zn20xQGEknArChGkkz\nnHqhWVWtRycvKV4YMTPmE+WoGDLbOL+GVXOGXhixGRMR6mU/GadNDm6Zc500myTqdy8mWKPkemYQ\nbSFQ9qS5NiTTXiuh4C5AM006IVL5+XBDNZJGNLzQ6hpeJfUIySs7KySjWrc75hM5lppZWTqBlfwp\nTpoc3DIFuW02sRuBZBen2qeOzLHShmTba8ZE5hLUjKQTPpN0M5pMciLuOwG//bQjuv1nMf6ryT8b\nN+MaOkcOJ0xEMho9u2M+UVIotwR4vR2NleyYWpzQdLppzk2ltlbvO+ZmVFCq2melDcm2122nZR0o\njKQbQd9QLR3wUbicW0gAJmctQ0i9Y2zp/QBCwMCpxhcnq1q3M+bjkn6p7uumAK8nTPUYDFStA169\n1XmTg5vm3FSZTcykUPdTaLIdrLTBJwJFMlAYSUfSYGAGlgx1Iu54YheyQgJ/hxWzxM6k2lVtsho9\nO2NeLcQ0bSl2VnUDPWEq5zrgxBHnNZ1u+lWkQlvrxnfMrGbTa210GmlgKYyQYOO3L2OGOhHvbdYZ\ndRKQpUkmGZf3A9Bf1Xqh0fNCcBeNWb16pKJf3J5AnW5DopDUZN8HVjWbXo3dNNPAUhghyeGlMODH\nL6PPwuXc4nCTM/DQqZtwb9OXYpNba9ueaFWbxgIbAHtjNtl+EX1HE20E6DROPlu979ju9cDiUcm9\nD+xqXdweu2mogWU0DbGPl8mZ3PTSt7J3g9ve/Ao+2F/iz3UjUXHuDHGyMAUvEy153UdeJOTS+45W\nLAYWDQHeuVf+HYTEasrzA+K/Y0NmySbBZPvWZ4nAdAlKPS1AzQixh9eSuVvmEDsrWbfVtj7SEG0t\nuAVFI36m33avNEfavWcGTAH6327v2djVBrptwtP7jna8MHiratEYV+9J41TfBkWzGd1gT73LssUN\n9nwGNSPEHl5L5m7kVElmJavOG5BKRHVcOg3Y/Jp3GgCjtnuhORIlFlvzuD1tXjLaQLfzAOl9Rys/\nCtaqWu97CDSOM6f61ivNphOI8uUB8RrBRP97BDUjxB5eryDccMILgjOqMGlWfWoydjqF25ojvcRi\nVjUCyWoD3XYc1fuOdr00GKt/BTPfw2T6VqvpcnJ8psqnTm+DvUTO4r1uBD59Wf9/7tpLAofXIW1A\n6ic1rwUuMxgl77KjfnfLIdlNhz/DPrIgXDohnLotiBXf0ZhaPBSWv6Odi5ybuJ0+X4TZ76GdvjVK\n5Z7ss0mF+VTpz6atEveJSHje+GLj56L/PTTXURgh9vFDgrVUTmp+ELgSoZe8S8HKZJnEy1PSUxH7\nAaWPlk4DoBEmrAiXTgmndseslYldtAmg+iE5OXE7db4eVr6HVvo2lX5vqShbqOVYot8nVrYaUPBQ\n80thhCRHuodj+kHgSoRSx2QydnrtkJxqlD5a+1Tj9uxWhUsvhdNEE7taUAF0NgGU4sOoUzVxOz2e\nUvE9TKUZNtmytYKnqD8/XaK/szRgrBHUg7v2EuJjgiBw5eQjqYydDr2YtTnPfEVOPjDsAaB/iblJ\nTS8/h5OTohltR6KJXSuoFN+hPwHZnWytjo9UTPROfw9TaYZNpmyR4Hn6WeL+PHlUduIVIRKee42N\n1aZo//dQ80thhJB0wu5kGQT/GKcwM6kZaSKcmhT17qEVUBJFrmkFlTVPOr8JoNXx4dV4smLKSqWm\ny27ZeoLnpFJ7/Sl6H1z5G+P/PYLCCCHphp3JMgj+MW6RrIkhGW3Hd4cbk3cpAkqPwfoTkV40VfHU\nBsdVhzYBtDo+vBhPfssJZKdsPcHz5FH7/al9HyT63yMojBCSjtiJYgiCf4wbJGNiMDsh6t1jxf2N\njqaKgDJ9k/FEJBJU+pc0mqOc2gTQ6vhwczwlI0Cm2gneStlGGqWCQWn9/aQwQki6kUwUQypfzH7b\n1FAPuyYGKxOi0LlQYFpRhCDdnX0TaCDU91WSWyXT/1bHR04+cKQG2PI60LU4dXvgBCEnkBHq70ai\n5xmE9tiAwggh6YRfo2J8lLI+IXZNDFYmRNE9hswCVszWF4L0JiIzGgiz/e+0wPj67bG5LHqPA65b\nmHy5WoLs85Qo1X2aCh9aKIwQkk74cYXoVwHJCDsmBqsTougeLU5PLASJBAajFbPZ/ndaYNxVHiuI\nAPL/F092XkMSVJ8nvWczfVOjTxDg/3Y4AIURQtIJj1aIku7GGNAXkKrWyeHIfsWOScLqhKi9RyIh\nyI7AYEZAjVQDS6cCUPurTE1OYKwsEx+v+ig15pog+jzpPZuYfDg+1yQ6RNjORQsWLEBBQQGaN2+O\noqIirF692vD8F154Ab1790bLli1x5pln4pZbbsGBAwdsVZgQYoAyIfppoy/RJmaAnKBNtNGcTzbu\nskXfCfKqduJb8m+7GUdFGw3a3bjRzCZyVWsBrUApSbLAaJeuxeLjXS61X2Yi9PrOrwi/G+FGQQQw\n/5wDjmVhZMmSJZg+fTruu+8+rF+/HoMGDcJVV12FyspK4fkffvghJkyYgEmTJmHLli34+9//jo8/\n/hiTJ09OuvKOEeSXHyFanJgQbRISZT1TBCTt60b0kk1mV1y/kKoJ0e5O2V4JqJ2LZB8RNb3Hpc6J\nNYiIns0AQdI6K7sqB3Q+s2ymeeSRRzBp0qSoMDF//ny88847WLhwIebNmxd3/kcffYSzzjoLU6dO\nBQAUFBTgtttuwx/+8Ickq+4QQXKsI8QsfvO67zsBaHaavJuwGrW5IIi+JW5iZIJL5HiayITRpT/k\n/Llq7UgI6HJJcnW+bqHsI1L1kawRoSASj/bZAI2bGyokk701IPOZJc3IiRMnUF5ejmHDhsUcHzZs\nGNasWSO8ZsCAAdi1axeWLVsGSZLw9ddf45VXXsHVV1+te5/jx4+jtrY25icl2FV7EkKs06W/sbnA\n7srfb6RqZaqn4di+0pw2yUhjk5MPjHoMjVNCWP7fCSGwc5Gcot5IEAnoat4x1M/GriYr4POZJc3I\n/v37UVdXh06dOsUc79SpE2pqaoTXDBgwAC+88ALGjh2LY8eO4dSpUxg1ahQef/xx3fvMmzcPc+bM\nsVI1e/gx8oCQdCWRg2dQwzPVWontK1O7MhWtoucXOqNN8soBNMCr+ZThZPbWgMxnthxYQxrDsCRJ\ncccUtm7diqlTp+L+++9HeXk53n77bezcuRMlJSW65d9zzz2IRCLRn6qqKjvVTIwZxy5CiHMY+bP4\n0fk2EWofl/+5UI5ISfXKVL2Kdlqb5LYDaMBX8ynF6rMI+HxmSTPSoUMHZGVlxWlB9u7dG6ctUZg3\nbx4GDhyIX/3qVwCAXr16oVWrVhg0aBAefPBBnHnmmXHXZGdnIzs720rV7BHU2HRCgoCeH4ORP4vR\nitBvGVy1E6kovDnVK9OgapMUAr6a9xUBn88sCSPNmjVDUVERSktLcd11jfkBSktLcc011wivOXr0\nKJo0ib1NVpa88pEkg9wEbhHE2HRC/E4i1buRYCESVvyoyhduUqch1YJBwCegwAtTfiPA85nlaJqZ\nM2di/Pjx6NevH4qLi/H000+jsrIyana55557UF1djcWLZSeqkSNH4mc/+xkWLlyI4cOHY8+ePZg+\nfTouueQS5OXlOdsau/gt8oCQRPhMSxCzrkgUFWNVsPBrlI1wf5mQHN8s1bsnGAR4Agq8MOVHAjqf\nWRZGxo4diwMHDmDu3LnYs2cPCgsLsWzZMnTr1g0AsGfPnpicIzfffDOOHDmCJ554Ar/4xS/Qtm1b\nXHnllfjv//5v51pBSCbhRy2BmkR+DFYFC7+q8vUmUi8Eg4BOQADk/hr9DKKhxEFtB0mKkOQLW4kx\ntbW1yMnJQSQSQZs2bbyuDiHeEamOjZ4A5Elw+iZPX+L/tfgTLN/6NX5/XU+MOy8rvo4IA2MWyX9q\nc40AskNrwSBx4T5tc5RIdTC1En7A74I1SRqz87etaBpCiEcEIReHNipGSab1yi3AK7c2/K8ikY+A\n36NsgpaC3C8wkkafDMy7wo3yCAkSQXH4U/wYqtbJe9DERJyEGttgVrDwk1+Ez/x1YvBz3bT41fzm\nNRmqLaIwQkiQCJLDX04+cLC9IOJEAkY/B7TqYE2w8INfhJ8nCj/XTURQBGs38auztgtQGCEkaPhJ\nS5AIvQkniI6Kfp4o/Fw3PYIkWLtFBmuLKIwQEkT8oCUwQzpNOH6eKPxcNyOCJFi7QQZriyiMEEJS\ni58mnGR8Kvw8Ufi5bokIimDtBukkvFuEwgghJGkS5gfww4STrE+FnycKP9fNK4LkzKvGT8K7i1AY\nIYSkP075VPh5ovBz3dwmaM68WvwgvLsMhRFCiGPobN7tPU76VPh5ovBz3dzCCcEzqFqVAENhhBCS\n/gTZp4JYI1nBM+halYDCDKyEkPTH71lc3SBTsnoqgqcas4Ins8J6BjUjhBBn8auKO5N9KjJptZ+M\nM29QQ6TTAAojhBDH6F71GvDPOT6f9Hy/N6izBDEhWrLYFTxpzvMMmmkIIY6QiwO4ZNMc/6q4KxbL\nu//+ZaT8u2Kx1zVyhyBsrpgK7GxgSHOeZ1AzQkim45BZpSBcgxB8quLORO2AAlf71shkc56HUDNC\nSCbjoLZgZ30uJO0rxS+TnpfaAa8dR7nat46eVsXrZ5nGUDNCSKbioLZAkoAatMe6nrPQf/Nc/2UB\nFWkHAGD3ennSSRV+cRxNl9W+l87RfnmWaQo1I4RkKinQFuzo8mNg+iZg4lvyb7+8rHPygSGz44+v\nmJ26Va7fwkTt+FCYwS1tgZc+P3aeJbUolqBmhJBMJQW+BCHAv1lA8/rEH0ulT0smhIm6pS3w2ufH\n6rOkFsUy1IwQkqlkmi9BMsmwgnA/t3FT8+N1RJCVZ+k3jVhAoDBCSCbTd4I/zSqpICcfGDKncVJJ\ntfCV7sKemwKC14KdlWfpteAUUGimIemFX7N/+hm/mlWcpmIxsGJWw0QRAobMSr3wlS6OoyLcDBlO\nJquqU5h9lgyltgWFEZI+0E5L9NCqziEBK+YAhWNSP6Glq7DntoDgB8HOzLP0g+AUQCiMkPTAawc3\n4i5WNWCZ4EzqBW4LCEER7JzqlwzS9FIYIemB05NNBr0EAocdDRhV5/okO9aDIiC4jbZfrPZzhml6\n6cBK0gMnHdwydQ+TpHBp8zm7kQrp7kxqF451d7DazxkYkUNhhKQHTk02GfgSCBRGGrBESaYyKXLI\nDBzr7mCnnzMwIodmGpI+OGGnpW9BUoRCKb6Bnrll93pg8ajEKm2aFBrhWHcHO/2cgWZFakZIepFs\nymuv8xkQYw2HSAM2ZJYqZBfJrfATaVfSKcU3x7o72OnnDDQrUjNCiBqG5XmLGac9rQbMqRV+onun\nm0Mhx7o72O1nP4QyuwiFEUK0ZNhLwDdYCc/WmluSVWknune6ho5zrLuD3X7OILMizTSEiEjVDqdE\nH7tOe06otBPdO50dCjnW3YH9bAg1I4QQf5CM016yK/xE985Ah0JC3ISaEUKIPm46bCar4Uhm5Zno\n3n5xKPSjA60f60QCBzUjhBAxFhw2Jadynnnpw6Dcu2odAAno0t8/dQOSd6BNRVbhdHPqJZ5BYYQQ\nEo+XDpteOu1tX2k8uXpVt2SfRyqEhnR16iWeQDMNISQemw6bIaQ661kK8XNG0mQcaFPVrnR26nUD\nmrdioGaEEBJPJjps+jkjaTLPI1XtcnKMZNLGlJFqYO1CoOxJmrdUUDNCCInHLw6bbuLnjKTJPI9U\ntcupMZJJm/VVLAb+50JgzeP+1MB5CDUjhBAxXjtsuo3fM5ImkzgrVe1Kdoxkkt+J0lbRDtd+0cB5\nCIURQog+GZQBEoD/BTC7zyOV7UpmjPjZNOY0orYq+EUD5yEURghJJZlkC08X0lUA82O7Msk3SdRW\noMFnZL7/no3L0GeEkFSRSbZwQuyQSb5J2rYiDAyYCkzfnPHOqwA1I4SkhkyyhUNoBSfEHH43jTlJ\nJrXVIhRGCEkFmWQLJyRZ/GhCsoIVc2zQ25oiKIwQkgqCZAt30q8lwDnPCLEFU+I7An1GCEkFdmzh\nXmRkpF8LIfbxc9begEHNCPEH6Rh1YsU+7MXqKsP8WghxHJpjHYPCCPGedFZzmrEPeyUU8EVKSHIE\nyRzrc2imId5CNad3G475Of05IUEgk0KTUww1I8Rb3Fid+90E5NXqyu/pzwkJAgzXdQQKI8RbUj0R\nB8EE5KVQwBcpIcnDcN2koTBCvCWVE3GQHDS9FAoceJFKEtOeEULsQ2GEeE+qJuKgOWhydUUIyVAo\njBB/kIqJmJ7ursOcZ4QQOzCahqQv9HQnhJBAYEsYWbBgAQoKCtC8eXMUFRVh9erVhucfP34c9913\nH7p164bs7Gz06NEDzz77rK0KE2KJvhOA6ZuAiW/Jv/3mvEoIIcS6mWbJkiWYPn06FixYgIEDB+JP\nf/oTrrrqKmzduhVdu3YVXnPDDTfg66+/xqJFi3D22Wdj7969OHXqVNKVJ8QU9MUgVvF7ODghaYZl\nYeSRRx7BpEmTMHnyZADA/Pnz8c4772DhwoWYN29e3Plvv/02PvjgA+zYsQPt2rUDAJx11lnJ1ZoQ\nQlJFEMLBCUkzLJlpTpw4gfLycgwbNizm+LBhw7BmzRrhNUuXLkW/fv3whz/8Afn5+fje976HX/7y\nl/juu+9073P8+HHU1tbG/BBCSMphRmDn8GLjRxJYLGlG9u/fj7q6OnTq1CnmeKdOnVBTUyO8ZseO\nHfjwww/RvHlzvP7669i/fz9+/vOf4+DBg7p+I/PmzcOcOXOsVI0QQpInaOHgfoXaJWIRWw6soVBs\nAJ8kSXHHFOrr6xEKhfDCCy/gkksuwYgRI/DII4/g+eef19WO3HPPPYhEItGfqqoqO9UkhLiEbsqz\noK2OuV9P8hhpl4I2HtKFAPS7Jc1Ihw4dkJWVFacF2bt3b5y2ROHMM89Efn4+cnJyosfOP/98SJKE\nXbt24Zxzzom7Jjs7G9nZ2VaqRgjxG0FcHXO/nuTR0y6tfQooeyJY4yEdCMj30JJmpFmzZigqKkJp\naWnM8dLSUgwYMEB4zcCBA7F7925888030WOff/45wuEwOnfubKPKhBC/EtWQBtn3guHgySHSLiHc\nKIgAwRoPQSZA30PLZpqZM2fimWeewbPPPott27ZhxowZqKysRElJCQDZxDJhQuOXd9y4cWjfvj1u\nueUWbN26FatWrcKvfvUr3HrrrWjRooVzLSGE+Acj34sgkJMPFAyiRsQOomSDA+4I9ngIKgH6HloO\n7R07diwOHDiAuXPnYs+ePSgsLMSyZcvQrVs3AMCePXtQWVkZPf+0005DaWkp7rzzTvTr1w/t27fH\nDTfcgAcffNC5VhBC/AVT8Wc22v2mAKDsSY4HtwnQ9zAkBWC7zdraWuTk5CASiaBNmzZeV4cQouHm\n59bh/X/vwx+v740xRQ3m14rF8b4XNHn4n1QlfON48AaP+93s/M2N8gghqSFVuzGT1JFKZ0eOB28I\nSL9TGBHBVNCEOANT8QcHPWfHHoOde4YcD94QgH6nMKIlIGFQhBDiKOmY8I0Ly8BgK+lZ2hKgMChC\n/IT/Pc9IQtIt4VvFYmB+IfCXkfLvisVe14gYQGFETYDCoEiKCECmQkJSgigkN6gJ37iwDBw006gJ\nUBhU2uKlWpUmuqQRbwpBAkNAnB0Tko4mpzSHmhE16bQyCCJeqlX9upKipoa4TTokfEs3k1MGQM2I\nlnRZGQQNNzz5jfDjSoqaGkLswT2GAgeFEREBCINKO7wWBvxmonNaOGNUAck0uLAMFDTTEH/gtVrV\nbyY6J52pGVVAMpV0MDllCNSMEH8gUqsOmSVPysrnqcZPKymnNDVem7+I+1ALRgIIhRHiH9TCwO71\nwIpZ7vtL+MVE55TN22vzF3EX+hmRgEJhhPgLZYJcPIqreSc0NS75wjDnmQ+gFowEGPqMEP/hpL9E\n0ENjk7V5+80XhqQOJm10n6C/X3wENSOphvZb6zi1mqfKWsZFX5gQs555h98iwtIdvl8chZqRVMIo\nBns4sZr3axIzr2BUQfpDLZh78P3iONSMpArab5Mj2dU8HTdJJuKniLB0hu8Xx6Ewkio4WJMnmcgW\nqqxJpuKXiLB0hu8Xx6GZJlV4lcSLDlUyVFkTQlIF3y+OQ81IqvBibwQvHar86KhLlTUhJFXw/eIo\nFEZSiZuD1UsfFT97lVNlTQhJFXy/OAbNNKkmJ18WRA5uT63pxKscA/QqJwAkiWnPCCH2oWYk1bil\nNfDKoYqOuoQQQpKEmpFU4qbWwCuHKjrqEhVMekYIsQM1I6nEba2BFw5VmeaoSwghxHEojKQSL0wn\nXjhUZYqjLiGEkJRAM00qyaRYdLfSjft1MzCajQghxDbUjKQat00nfsz34SR+zHxIsxEhhCQFNSNu\n4JbWIBM25vObtildQ5up6SGEuAg1I+lCJvlS+CnzYTqGNqeTpifdNYWEpAkURtKFdJwUjfBL5kM/\nmo2SIZ2E2nQSqghJc2imSRe8yveR6fjNbJQsfnUQtkq6ms8ISVOoGUkXvMj3QWT8ZDZKliQ1PSH4\nJOtZpmkKCQk4FEbSiXSZFINo53fCbOSHdqeLUJtu5jNC0hwKI+mGX3wp7JKpdn432m1W2EkHoTZd\nhCpCMgQKI8Q/pJPzpBXcaLdVYSfoQi2QHkIVIRkCHViJf0gX50mrpLrdmezMaSbHD3OqEOI51IwQ\n/5Cpdv5Ut5vOnPpkqlmQEJ9BzQjxD+kWJmuWVLebYd9iMlljRIjPoGaE+ItMtfOnst0uOHNKkmNF\nuQc1RoT4BgojxH+kg/OkHVLZ7kwV8ozIVLMg8S9+CO/3CAojhGQKLgh5IZ/kPDMFw3+Jn8hw/yUK\nI4SQzIUaI+IHMjWtgQoKI4QkIoNVpxlBppoFiX+g/xKFEUIMyXDVKSHEBei/xNBeQnRh6CchxA0y\nNa2BCmpGCNEjqKpTmpUICR4Z7r9EYYQvbqJHEFWnNCsFD76DiEIG+y9ltpmmYjEwvxD4y0j5d8Vi\nr2tE3MDsXiRBU516aFaSEMSsZz6A7yBCAGSyZoShVJmJVc1BkFSnQTUrZSp8BxESJXM1I5m6Q2wm\nY1dzYGbnVz/APWiCBd9BhETJXGGEL+7MI91f/kEzK2U6fAcREiVzhRG+uDOPTHj5950ATN8ETHxL\n/k3nVf/CdxAhUTLXZwQIlj9AppDKyIJM2Yskgz3yAwffQYQAyHRhBOCL20+4EZbKl7+7MGw1MXwH\nEUJhhPgENyML+PJ3B+Y8IYSYxJbPyIIFC1BQUIDmzZujqKgIq1evNnXdv/71LzRp0gQXXXSRndum\nJ2ZzXqQ76e5cmmkwlT4hxAKWhZElS5Zg+vTpuO+++7B+/XoMGjQIV111FSorKw2vi0QimDBhAgYP\nHmy7smkHEx41kirnUgp7riBpc55RuCSEWMCyMPLII49g0qRJmDx5Ms4//3zMnz8fXbp0wcKFCw2v\nu+222zBu3DgUFxfbrmxakW4rx2Qn/VREFlDYSw1mnnUmRC6R4MJFiu+w5DNy4sQJlJeX4+677445\nPmzYMKxZs0b3uueeew7bt2/HX//6Vzz44IMJ73P8+HEcP348+n9tba2VagaDdMqW6ZRvgJPOpcxu\nmRoSPOtQKCT/kSmRSyR40JfJl1gSRvbv34+6ujp06tQp5ninTp1QU1MjvOaLL77A3XffjdWrV6NJ\nE3O3mzdvHubMmWOlasEjiJuwiXB60nfKuTSdhD2/YPSsRTByifgNLlJ8iy0H1ujqpwFJkuKOAUBd\nXR3GjRuHOXPm4Hvf+57p8u+55x5EIpHoT1VVlZ1q+pt0SXjkV98Amgmcx86zDkoqfZIZ+PV9ZZY0\nNi9Z0ox06NABWVlZcVqQvXv3xmlLAODIkSP45JNPsH79ekyZMgUAUF9fD0mS0KRJEyxfvhxXXnll\n3HXZ2dnIzs62UrVgkg4rR7c0PFbzVeiZCQD5y8y8F9YxfNZpuGAg6UeQNdJpbl6ypBlp1qwZioqK\nUFpaGnO8tLQUAwYMiDu/TZs22LRpEzZs2BD9KSkpwbnnnosNGzagf//+ydU+HQj6ytENDY9dR1Rt\nanSADq3JkC7aPJK5BHUMp1vAgwDLSc9mzpyJ8ePHo1+/figuLsbTTz+NyspKlJSUAJBNLNXV1Vi8\neDHC4TAKCwtjru/YsSOaN28ed5wEmFRqeJK18So+KLQVJ8aM9ikdtHkkswniGM4AHzjLwsjYsWNx\n4MABzJ07F3v27EFhYSGWLVuGbt26AQD27NmTMOcISUMSOZ7aTQvu1Jewam3af5mTwooKmBlsSdAJ\n2hi2Y14K2FYMIUmKS1fkO2pra5GTk4NIJII2bdp4XR1ilWRsnZFq2aSi/RJO32T+C1axGFg6FYBm\nqFstJ11xoI9vevojlO04gMdu6oNRvfNSVFFCMpiKxfE+cHrvUR/5l5idv21F0xBimmRtnTn5QK8b\nY4/1GmtegFDuHyeIhINhK3aDoEcYEJIJaH3g9ISLgPqXUBghqSXZiS5SDXz6cuyxT5eY/2KJ7g8A\no59NK0/0pHAwDDo+wJ8Q4hhmAh4CurigMOImaRwjrkuyE12yXyy9+3e5xNz1mUAyEQYNY7pd3b6U\nVpEQYpKA5liy7MBKbOIjG56rJJsWPNm8AExLbg47EQaqMf04wmiVNQlAn5RXlRBiQEDfeXRgdQMn\nnDCDTqTafiidFcetVNyfxCMY06ekMN67aiWGXtrXw4oRQgD45p1ndv6mZsQNMiBGPCHJhNI5kRcg\naKF8fkcwppuE6tHqm0oAFEYI8ZyAvfMojLhBkFMQ+4WAfbHSHsGYPiWF8e1pXT2sFCEkqNCBNRVo\nHVWDmoKYEIUEY7oOYdx7ahKOtcj1sJIOkonO5oR4CDUjTqPnqOpFCuKAZeAjPsXEmL7z7UNY9lUW\nBnldVyfIVGdzQjyEmhEnSZRsxs1N8exuLmcXriTTE5Nj+mDWGZ5V0VECmjCKkKBDYcRJ/JJsxu0X\nqtuCD3EPi2M6FPSsZ375DhOSYVAYcRK/JJtx8oWaSOPBlWR645cx7RaZ1l5CfAKFESfxi6OqUy9U\nMxoPriTTG7+MabfItPYS4hPowOo0XjiqanEiA5+exqPH4NhyGLac/vhhTLtFpBo4/SxgUilw8mj6\nt5cQn0BhJBXo5cRwM7ol2QnEbKK2gKYeJhbJhDwvoiiagrSIDyLE91AYcQsvwgWTmUB2r48/pqfx\nyKSVsx0YYu1/zGoCCSEpgcKIGwTtRRepBlbMjj8+ZLZ+fTNh5WwH5qwIBtyygRBPoQOrGwTNyVNU\nXwDI446slsigSCP/b7eZAEbREOIpFEbcIGgvuqDV168ETQjNZBhFQ4inUBhxg6C96IJWX7+SLkKd\nhey6IQQ461nfCcD0TcDEt+TfNKcR4hr0GXGLoDl5Bq2+fiQdIo0yzeeFvk+EeAKFETcJ2osuaPX1\nI0EW6oLmeE0ICSwURghJNUEV6hhhQghxCfqMEELEpIvPCyHE91AYSTcsOBsSYggdmUm6wvek76CZ\nRiEdsmRmmrMhST1B9nkhRATfk76EmhHA3O60Cn6VqDMowRZxmZx8eY8WA0Ek6DnPSIbA96RvoTBi\nZXBaEVqSrZNVgSfVCbb8KoQRQohZmIjQt9BMYzZiwK0wR7sqRMXZUN0Wp5wNqdYkJgkFOOcZyQBS\n+Z4kSUHNiNmIATck6mRUiKlyNqRakxD/QA1lctAp27dQM5KTD/S6Edj4YuOxXmPjB6cbEnWyeR1S\n4WzIXBOE+ANqKJ2BTtm+hJqRSDXw6cuxxz5dEr/ycEOidiKvg56zod0VFXNNEOI91FA6iwmnbOIu\n1IxYWfmnWqJO1V4myayo0mF/FWJMOoS1pzvUUJI0h8KIVfNLqlN7Oy3wOOF4S7Vm+mJXUKUA4y50\nvCRpDs00RuYXr5zFnFQhOuV4S7WmO7g55uyq/t0KcSeN0PGSpDnUjADilb/fncXMrkwzZUWVDit1\nt8ecHdW/jgDTrsPzALJSV1dCDSVJa6gZUVCv/P3uLGZlZZoJK6p0WKl7MebsOCfrCDC5p3Y7Xz8S\nDzWUJE2hMCLCz1n67ExafScA0zcBE9+Sf/tJw5MsfhcczeLFmLMjqOoIMDVN8uQ/U1NTQkiaQzON\nCC9MG4nMDJFqoGotsHebPa/6VDveekW6RBl4ZU6zqvrXia46uO4MAAdTW1dCSNpCYUSE2+GsiXwF\nKhYDS6dCdzuydPQBMUu6+MR4GUJtVVAVCTDrylJXP0JI2kNhRA+3nMUShd5GqhMLIl75gPjBadSJ\nSdwP7QBSN+ZS0b501bQRQjyBwogRbrxwE5kZqtZCVxAZ/nvggmu9mRT8FG2UzCTup3YAzo85v7WP\nEEIE0IHVa4wiGioWA6/cKr4uFPZOEPHaaVSUi8NOlIHX7Ug1TrYvQf6TdnX7UBzeguZHa+zXlxCS\nsVAY8Rq9iAZAnkhEWpFQSL7GKzW5l9FGTobx+jlqygmcal+iPq9YjAX7JuClZr/DD/55ZTBDqwkh\nnkIzTaoxY6/XmhkAYMvr8RMJAHz/LqBoorf2eq+cRp1Iba8mXZxf9XCifWZ8mt6chnCD0BxCks+E\nEJKRUDOSiGTSc1tNTlYwCNi+Uj53+X3x54SyvBdEAO8SqTmtyUi2HV5tF2AWJ55Toj5Pd+0SIcQV\nqBkxIhnnPzureO01avyWOdWL1NSp0GTYbYeVseFltE6yzylRn6e7dokQ4grUjOiRrPOfnRWj6BpA\njppRZ071y4rci9TUxXc0Ovw6JaBZbYeVseGHVPXJPKdE2pWGz+saXiVSKOwvoZkQEgioGdEj2cye\ndlaMeteoo2YyNVRT3W6EgAFTgf4l3kx6ZseG0z4uXpFIu9J3An5eloNI9ee47dohuKJvH2/qSQgJ\nLNSM6GFnEzE1duz1ia5JZSiqX7QtIuLMVxJQ9qR39TE7NtLJnyKBduVg1hn4qP4CHG+Z63LFCCHp\nADUjehhl9jTrA2DHXm90Tar2YfG7tsVv+8+YzfpKfwpCCDEFhREjRIKB1YnbTkZNvWtSMbkFwZTg\nx0ndjKDp5X4zhBASICiMJEItGHg9cadicvNa62BGy+TXSd2MoOlF1BEhhAQMCiNW8HriBsQJ0nau\nsh826qbWQSt4WNEyBXlS56ZyhBBiCIURK/jFXKBMbk74erilddDWdchsYMVsa1omTuq+RdLZy5EQ\nQsxAYcQKfjIXOGkySrXWQVTX0tkAfOSUSgghxDNshfYuWLAABQUFaN68OYqKirB69Wrdc1977TUM\nHToUZ5xxBtq0aYPi4mK88847tivsOX0nyAnIJr4Vm4jMbVKRGj1VCcyEydzq5Q3/1HjtlOpH/Bxy\nLSSU+BRCCNFgWRhZsmQJpk+fjvvuuw/r16/HoEGDcNVVV6GyslJ4/qpVqzB06FAsW7YM5eXluOKK\nKzBy5EisX78+6co7jtkXvxeZR7UkkwfF7QlOr65D5rq/v02qcbJv/ZC9lRBCXCAkSdasvf3790ff\nvn2xcOHC6LHzzz8f1157LebNm2eqjAsvvBBjx47F/fffb+r82tpa5OTkIBKJoE2bNlaqax6/59oQ\nUbE43mSUqM7aTKZD5wADp3lX10i12DyUyv1cUlW2yC8mr4+9+0SqZQFE6580fZMvBbYxC9fgk68O\n4amfFuGHhUx8RgiRMTt/W/IZOXHiBMrLy3H33XfHHB82bBjWrFljqoz6+nocOXIE7dq10z3n+PHj\nOH78ePT/2tpaK9W0jtchu3ax6ushymRaej+AEDBwqjd1FTmlplIwTFXZQr+YBmFbJJgkEoj8ELmV\nCHUbCCEkCSwJI/v370ddXR06deoUc7xTp06oqakxVcbDDz+Mb7/9FjfccIPuOfPmzcOcOXOsVC05\ngvDi18NKhIneRnwrZgGFo1PfVjN1FU3qS6cBHS8EOhcld38joRNITlui17fKfRTBBCGgxxXAjveN\nBSK/RG7poRHqrmw9FZ/gEq9rRQgJKLYcWEMax0NJkuKOiXjppZcwe/ZsLFmyBB07dtQ975577kEk\nEon+VFVV2ammeaz6XwTOqbCBdj0gdDCU6sWOr160U8/ZddHg5H0m9ITOtU8l75shGkNCJGD7u4n3\nF7Kzt5FbCIS622ofQy4OeFsvQkhgsSSMdOjQAVlZWXFakL1798ZpS7QsWbIEkyZNwt/+9jcMGTLE\n8Nzs7Gy0adMm5ielWHnxB9mpMCdf9hHRIhK8vGqn3qQuSclvCigsOwyUPZH85oPaMWQFvSioRJFb\nXgnFAqEuC/U4K/y1u/UghKQNloSRZs2aoaioCKWlpTHHS0tLMWDAAN3rXnrpJdx888148cUXcfXV\nV9uraaoxE7Kbyl1z3WLgNGDoA42Tskjw8rKdyqQuGprJ7ngrEjoH3OFciLR6DA19wLxgYqSF04vc\n8lIoFgh1dQjjy3rjBQkhhOhhOenZzJkzMX78ePTr1w/FxcV4+umnUVlZiZKSEgCyiaW6uhqLF8sv\nx5deegkTJkzAo48+iksvvTSqVWnRogVycnIcbIoDJPJpCLJviZqBU2UfET3HV6/b2XeC7COyaHBs\nak8nfCZE6fTLnnTON0MZQwWDGvt493qgdBbikrwBDT4j8631q9cO14Lkf39qfSdqjrVP/b0JIWmJ\nZWFk7NixOHDgAObOnYs9e/agsLAQy5YtQ7du3QAAe/bsick58qc//QmnTp3CHXfcgTvuuCN6fOLE\niXj++eeTb4Gb+N2p0ApGgpcf2tm5CBj5WGqy3Wrbrs2qO2SWLJAp5yZ7H0UwWfuUyiQUBgZMAfqX\nWL+H18IiECfUrXzxKwCH4vLYEUKIGSznGfECV/KMmMVObo8g4pd26uUhSdV9dq+Xo4tSlW/Gifb4\nMAfJ6IVrUP7VIfxpfBGGX8g8I4QQmZTkGSFI7T4uVpNxpTIxmGIqqfoI6HKpM2G1durq1uZ4yj0W\nj0qt+cOJ9vhpjyRinlR+XwkJOBRG7JCKCdJqMq5UZ4x1svygZLf1g/nDLKne3JA4S1C+A4R4hK08\nI8RhzEavKKGcu8pTG+3iZDRNkCKQktnvxwtStUdSUPPo+JUgfQcI8QgKI37AzA686lDOZwYbn5/s\nZOLkjsBmy/LDBJiKRGN+aJcVgpxHx684vcM2IWkIzTR+IFH0imhPGS3K+U6og43qY9XuHc36qq5z\nKFbb4CcVtpPmDz+1ywxehwynK36ITiPE51Az4gcSrcj19j3RJi4DnFEH69Vn+0rrq+Yjgj2L1OGf\nbqmwrWgotOYPO9qNIKrmk1jBByAozzv8nNqfEJ9AzYhfMFqR662sJpUCJ482nr9zlXMOmKLkYOpw\nUjOr5orFwNKpiNPkSFJjndxwGk1GQ6F3bTrsuqvFjIaO0SD2oMMxIYZQGPETelE6eqGc2nBbp9XB\n6vpYFXQUzYCRSclqne1MhsmYHvSu/e5w4lwkQVTNG4UMmxTomPPMALfC1AkJIBRGnMCNFaOZlVUq\n809YnVyNTEvqOpmts13tRjIaCr1rV9zfmKZeT7hJ1bNI9VgTjTP6khBCUgyFkWRJlZOiaNIxs7JK\nlTrY6uQqEl4QBiatiNfoJKqzmclQb5JORkOh1wazwo1Ru+wIFW45xGrHWRBNToSQQEEH1mRIlZNi\nsuGVqco/od3ZuMdgfcdOkdPeqEf1M7ka1TmRY6VRf+XkA0PmGO9SrIeoDYNmIG4DFqu77tp5vl46\nxAYt/wohfiBoYf0eQ81IMiRaMbrt4yAqy2mVvrJqNrNKVzQDVesASECX/vbumSjU2Ki/KhY3+ncg\nJG+CZ0WboKTFr/wI+O4g8OEjiNtJ2IxwozyLpq3sPV+z2olUPXORVgyQX7btejhzH0LShaCF9fsA\nCiPJYJRDI9Fg1Js0nFKJJ/NlSDShWRGYtq9M/ktpZCIycqwF4vOzrJgDFI6xZxqJIyxHNCXatyem\nDO14gbnna8bclMoXoNbkpIR5N9xr8Gl3ogI2hU1C0gn6WNmCZhqnCUHOrWGkUjdS0zuhEk9GpW/G\nhGAlq6pTpgWtiUiZZI36K9nMl3HJ5rTUy6HVlspIEF2kR6JcFW6YcRSTExB3r5IjjyMXB5y7FyFB\nhRl3bUFhxApaG+DB7RDm0Kj8SH8wJpo0nEiQZPfLYHZCMyswOf2lFPlfGPVXsoKdXkSQlbLMJqwz\n83z1BDK9+6TqBSi4VxbqcVb4a+fvRUjQoI+VLWimMUOkGli7ECh7MlYF3mOwWHXe9VJ9lboZM4xe\neKVZXwC7ESRmTURmI2uathLfp2lL43pYRS9qJdnwWmE0TQMizYSVaB5twjqz6EVUpTpfS4J71SGM\nL+s7WS+LkHQjlSkW0hgKI4kQZRFVNAbTN+knI8u/GNi1tvGa/H6Ng9HMpKGedKz6Atj9MliZ0MyE\nEJ/8VnyfRKYNO+hN0smEOov6ccgsIK9vbFlGz8dswjo1doSFVOdr0d6r143Axhejh97PvgI1x9oj\npI00IukLM/Lqw4y7lglJAdhUora2Fjk5OYhEImjTpo17N45Ux6ZA1zLs98CF18p/qwfdrnLgmSvj\nz5/8rjwJVSyOnzT0JgRRHUJZsiBkKoLD4pfBSt0SkUzdrdwj1S9Eo34UjpEwMFmVTyVSDVStBRAC\nulxiXM9khQWrdbXzPATl1CGMgccexQMThmPoBdSQpD2MFiEmMTt/UzNiRCKfgeX3AqW/if8iVpaJ\nz6/6SJ6grEjNVWvtRdfYnaT16paq1bqVcrXn/uuxxmyoRhFLTVvJWhq7AotRsjnhGKkHFg0GRj4m\n/2v2pe2EF77VutqJ1KLPSGbDaBGSAiiM6BGpBvZ9DmEophrRF7FrsfjcLpfKv3eVywJL1+LEq+Sl\nU+OPJ/L/SHbVop3QkilPLdw0bSkLBZFq87lK9Opw3ihg2xuNn4vyi2gjYVKxgtu9XnxckoCl0xqG\nj8mXtl3B0yxO7ZdDn5HMhhl5SQpgNI2IisXA/1wILPsFYgWRMHDhdfHna6MWOhcBvcfFntN7nHz8\n9dtlE87y++Tfr98ee54SsbOrXLzRnHZvFy1Oh3jaLU8deZSTDxzaCSwa0hgy/K9HzZcrqoNaEFHQ\ni1iKfu5wuGukGlgx2+CEevFLu2pdfGbGisXAK7fGF+GkF74TkVo65SxsfSdq0N6ZehJ/w2gRkgKo\nGdESqRZve4+Q7AfQOhfY+o/Eq8vrFgIXT5ZNM10ulQWRXeUxTn8A5P8vnqzyJTFIjgUAo58FCgUC\nkYKdVYuRqUSvvC1vyFFDIvOHVosxZLY8aauFidLZAEzWM5G5TCEU1o9Y0t5DKVdbdytmI7P10vLK\nLQBUpqUeg+0JnmrMJKo7uF2+1/RNyTvWacx5K1/4EsBhe2WlK+nq4MloEZICKIxoEeUOAeRjJ49a\n+yJ2LoqNmjDyJWmday45VpdLjOtvVRWfyFSiF966/F5V+arrRFoMkeABgcClV09hplsBQ+bIz2Hz\nK/rnhLJk08riUfFttmqOMgr9NUSz4+/oZ8RlJBI8FRLVO1XOhjHmvC+TLy+dSHcHT0aLEIehmUZL\ndOLToKy6AePkU0YY+ZI4lRzLiirejAlGW54I9XV6Dp1xIZ/azeZC+vXMyQcGTNG/P8LA0LnAwKnG\nphMlNDe6V42q7opZzIo5avtKxO5TEwKKbjaopwCpDkBIrPbWEzzVJrBEz9ClDfb8H5PnIl5uaugm\noiSEhNiEmhEtOfnAqMdiTTWhkDwhaxN/Wf0SKr4kalON4ksSqXYuOZaZVUukGtjyujmTjlLeljdi\nNSKi60QOnaEslammDrIMLCFG0yGF5Hvo0f/2xqRzUcLAmGeBtl0bHWP1hLrhvwcuuFbf7GSUNddI\nkNO2oc8EoPwvsceNUIQOs9o27Yq7+A7jetPZ0H3Y54RYhsKIiJjdZpE4N4QWka1YOXblb2J9SVrn\nNu58ajU5lhFGwpLR5m96ppKcfDmnSulv9M0SO96Xd7XVMmS2rLUoHC2/kL/d1+A3oabe+GWtaGiW\nTpPPRRgY9Shw4ojsGKv2TxEJdRdcq590DmHjrLki9DRAJ4/KWpw1j4uvU6P2CTErQGpX3GueNK63\nUxE0JmHKM7je54SkAzTT6JGTL9vrC6+zJoiINprTHtu7RV7R7t0SexywZ/6xgtHmb4lMQYlMNqsf\nEZeb16fx+oJBQJf+9r3xQ6rf3x2Kn5xXzJF9R/TMVEobYqZNSX4WViJN9DRA7brLWhxt+2JMMWFg\nwFRg+ubYZ5xI7a0nABVPSdzeZCNoiHnY54RYhpoRJxGtXPVyTXS8UGxXnr6pcWdUUfnJeucnMmMk\nKrfvBOC7w0DpbwUfNviGxPhRCIQMO974Zh1jpTpZ+DGKGOkxWFPPhpwgk1eYizTR80sZMrvxGlH7\nknX401tx9y+Rf/TKprOh+7DPCbEEhZFk0AoHeitXrfuAHR8Fp7zz9SY0M4KIktZ8xSzx51rfECMh\nw+zLWkkQ16S5vmOsSPhJJmuqEhWkmM/Mhhrn9dEPoVWuS0aQTCTEGZVrx8eJJAf7nBDTUBixi0g4\nEO3ii3CsZgRAwp19tTiZflk7oSEsR5gkKsfIzwRo9H/oO6HRNyTRijDRy/pvE4Gtb+h/LnKMLf65\ncTsA/ZBcSZL75dBXwIcPQzfNvJ5ApxcynChtvRXsrLhTke8iXXNoEEI8gT4jdtATDo7UyL4g6nDc\nUY+K7cedi8zblY288+3Qd0KDo2cIQL08mVcsNt/eOMLApBWaCTbJWM+Vc8WCiDbUeeBUWQMxoCH6\nac3jcvZcdXvUobCAym9EMPylOmD1Hxu1LWbCnY1Chlc+IJu0jMqzSk5+Y3I3vYy1SnvV/kr/cyGw\n/Dfm7q3tMzUivyhCCEkCakbsoCccLBrcMOmE5Mmxf0mjcCFazZpd5Sbjna8X2bNiVvwEqadpMco0\nqo36sWJOiu5mC9mpVV2/1Q+Lr/n+r4CzBsX315rH0SgAScDSO4FmpwGRXY1Cgro+fSfIfjvRZ2aA\nUbiz8uz0xsTqP5orzwraTL0DpshOs3F78ihOuqp+WfO4HCIt2lRQeRZfb9HXDOkI4u1Pfw58nRBC\n7MK3hx2M1PzyH/ILv39JrDAgckw1Y1cWmVbMmCP0BINEeRC0AoywvQ05PtRhz1bMSdFNAJU+C8n5\nXfpOaJwURZwzPD7cuWqtqhwV2vBhbX06F8k+Iup+jcsUi9iEd2qUNik7A4v6yEp5ZojTUqkEDG3a\nfT3tlLYf4p6FzrmAbm6a3LrdALraaxMhJOOhmcYuanOMnrp/7VPW1dl66nEl6+uAqfKCd83jxmXu\nKgfenBovGESqjTe60qr1//Wo2Cwx6tH4sGez5qRItay5iJn8JHlCfHO6eMM4QHaytZt3Ra8+6my6\nk1cIQnLRmGZei7qvFg0Bet0Y20dDZ1srT4R2POhpqZToIrOp6dWbCuoJIupzlbG8/L74z0NZ2JOV\nZ+6+hBAigJoRLYkc8+JU5FPlSVJJvBUlDJQ9Yc3p1IyJw0yZeitdZQIqGCSOygDiV92l98vtHDg1\nsUlJT4PStKX8p9K3+z4Xtx8SUP6c+KNBvwAG3y/+rEt/wMzeNUp9vt0XO7mrtVZaDdTQ2XLbtYi0\nQJ8uic+Y2+J0c+WJMO0krSCILooz1ajYvb7heKJ+C8WOu5iP5LFzoKwDgMPxWf8JIcQEFEbUJIp6\nEKnIy54EWp2BuD1Kiu+Iz8JpJr24NkdJs9Ma/SnMpJkWpSmP1kvlZyLyV9m5SjzhlN4PdBsoayUS\nRcfETOaAHDI7BDh/JLBtaWL/DBFjnpfNQXqhtkoKf0MnWyAqsETNN4oAo/K7MOvHo/csDlcCrdo3\nHrObb0JvPIxZJGtWSmchzgQUygIumyFnwdUKMKv+X7ygt2K2LDwlEuSKbhYLiUpuGgA9P/gHvsZp\n5tpGCCEaKIwo/OvRBi1AAyKtg94EtOJ+xLzMJQDdLovfS0XkdKpoC77dL5hI6+WJM1HocNOWCcpB\nbOpxBa2/iu7uuBLwzJUNm9FNi623VjgQOYZK9cDWf8TXyQyhLCBSBbx6q7HGSD3p714fm+tkyCwg\np2tjGep2Kb+1jp3qNonaKtQChWLrOWS2nHtE6y+kLU/5v2kreY+ddj30c6Eo42HobPlZKxqLUBZw\n/o9iHWaV63PygcIfxwsUUp2sxdHuxRSl4T7dLhMLI1nZwOZXgRWz8KBUjznZIfx7x4PA+UabGhJC\nSDwhSfL/fpu1tbXIyclBJBJBmzZtnL9BpFr2jxCtDof9Xt6TRZk05hfGT0BCLUQI6HWTrLpXm0LU\nUQlrFwo2f9MhlCX7NmxfqdE8KHUAoqv86N+qz0f8ETj3KrGDqhqtUKZl6ANAi7bG5qSdq2Q/isSN\nUtVT0I/KhB7jlAnIzrOLYiNw1EQjQ0KNDrZm66T0s1KukemsYrHG+VXH5KG+Tmvmu2AUsO1NjdCq\n125BPQFZANvxvjhyByFgxhY57PyZK+M/nvxu40aNyl5MbbvGmppMP09ACoURmr6ZuUcIIQDMz98U\nRgBg82uCjdtUxE0m0zXCgN51WeJdd42iF4yY+Ja8wt5VniAkNdTgO9Aw4QHyvUJh2cny05eNtQz/\neqxBIBGVry5b1U71BC4U2rTFNOQm2fqGwB8h3GA2KZGFJr2JUFR/PeHBSODUogigQHw7RG3V3fwP\nsddNKhX4FhmcH5PQTYAyHhK1bcBU4Jyh4n5UyjDCzPO0WiYhJCMwO38zmqZisX70hoI6EqXvBHlS\nMeOpp6jB1ZufGfl0GKE28Zz8NoHvhQQM+hUw4pGGeqrMJRtf1DjATo2P3Bk4FZi8Ur9so4gZRety\n2UxxJInCkDnyjsUiQWTyCmDYA7FhxcKqqJ6Lcm+Rn8Xm1+T/h87Rr4+a5ffKk+/ahcZtBYw3/9Ne\nJ9oCwOh8ZY+dMc/rRz9FquVwW6PxVPZEY+ixqIxEJNogUV3tZMKWCSEZS2YLI1YEA6kO2PKGfI2u\nMKARUEQve6MEYkaoN2EzmqAVVv03sOwXie8lScC/344PJ+5cJPuIxBE2Fxa8+o8qU8Q1qoks3OB7\nMlXfL+Lk0dhDxXcgrm+j9a9rNC8Y+VnML5QjW4Y+oKp/SHbMFZUt1QNrnhT0syo6SI2ZCfvkd/qf\naVEmdWX3aFG23u0r9cNttW05eTS5nWR7DAZGPyMLuDrPok4KYVu/B2iiIYRYJrMdWA0FA4EPw/J7\ngdLfNKRS1zgvRtXq6myf8+NfzHoJ0xQ/AT1/jbw+jX8rE9/SaRAm1YpiUvuy7BeImnHUZo+B0wCE\nVG1ShwBPh3FYsKoO296KNVcBsvAjShSmFuAS7Yej8MotQKQSKByjH/aqaFEUPwslauqrNQYF1wPF\nUxv8ejTRQUZOtP9+G1g2M7649x4wbocabS4SbVQOYN50ovRpwSDZubjyI3lvJCVni5Vw9lAY6HGl\nLAhpuPPknRjd/XpcYL6VhBACINOFEd3oEQOkemDFHNkMEQ2hVE3I0QgSgzKL71A5rqr8IwCxMCJS\nfVtJZ564UQ2/6uPDiQdOlTe+q1onn6ccNxsWDMSaq7QTW68b4518FSdbM4KIUn8lH0r+xcAunQyu\nihZFnQo/0bPvNrAhj4wmOkgvZ8z2lQ3CnVWUcZgoF0lDHarWivtm+O+Bowfjx6Y2VbwieALGzsgi\n09f29+KEvjqEUVF/DkbbaDkhhGS2MJKTD5x/DbDtDcGHCTJSKnt3ICSHjvYYLK9UY/ZH0UzsooRp\n6v1rdq4S3694SuPn6tWrMJ25mSRWRtTHhhP3ndAQwaOasNQhq4ahrg0oK/NoVljVpC5KFAYYaK0M\nhMfS3xo3LZQFoc+LES/fKPe/VuAT5XepWmvPH0iuHDDmOTn6B4h/1ma0RKGsBkFEMzYVB16RP416\nR2mz4exajVEoCwta3YGaY+2Z9IwQYovMFkYi1cBnS+1dq15Zr5gD5HTR91cAgEv+C/j4z7HXrXlC\nXnUrmoBv94vziLQ6Q6WS12yMplXfv3OveLdbNT0GC9Xsse1rmJg6Xhg/iSnaG7XAkpMvmxbUO9cq\n9R8yS76fXlbYw5WyX4QavWyuIdjUBDWYzdp2Q3yWUgOkhuckQvEdMWtOMqTh2phw75DsdNvh3MTR\nV6EwcN5ITXhvw9gsHKMvVMSllNEIWXqbNPYvaYh2ksfdiv/dCSBip+GEEJLhwkhCZ1JVhs5EmhKE\n9DUDALDuacHBejn3wwXXqHJNhBonS9HW9HoJunLy5RwhiQQRQBZuzCDVAZ+/Y2B+Ua2kt68UhAOH\n5DYqJhS9Pnz1VuDEkcYVvOK/0OtGOfpHoccViYUo/cbIfazWzFi5VkTlR/LvpAURAAg1CK7qe0nG\nOV/UXPVHsXlIMU11ucR4fKpRO+hGs+qqTTnzG4WVqJlqp7l6EkKIgMyOptm9PsEJDRPDoJnQjeYA\n5M/2bm0IZ00c/hjH1n/EChsS5HDO6Ztkc4iRQ6YSAbOr3PzEVfB9kxULAav+YHyKMtkJV+6Szt/a\n0xra8q/HYjfp2/hS7Hm2BZGG+3+x3AH/GhXL75WFyaQFESBp89qxQ/rXv3qr3Hcx0T4G47nyo/hw\nb60vlN6GjoQQYoPMTXpmNZGTWc6/FmhzpqxuTwbFn6RqLfDqJP169pskh6yufhiWJrNzhsmTcwzq\nhGZm/U/CwPeGAZ+/bf7eelgxn7iGRQdnv6LN2PrZ/xmPUfUWBMLvSUO/NJx3zZru2Lgrgmdv7ocr\nz+uUqlYQQgKG2fk7c800dvN9JELoDGuDNY+rEoIZrGI/WWRcznkjgc/ejD/+xXLgnOHAf0pjoy4U\n/5NEGUUBRM0wTggiMGlCcJubXgZevsmfdbOC4gvSrjvwxTuJhWX1xnzCtsdGYLU//TkATZ2uNSEk\nQ8hcYcQo+iMOL1bHEkyHnwpp2Pdkq4GD7n9KgRtfkgWzLqq8E4AsjJjuHwfI7QV8/an/Jv3P3473\nXQkqO95vSAlvdjzVN0R4JRr/9bj+6Ev4LlyE7KOdAVAzQgixRuaaaQCdTeE0G82FQqot253uqhQK\nOef9CPj3ssSTe9Q00hClk5WtCg01oNOFwNdbTFbGZDsvuQ34+BmY2vfHVdLFVGPHDBYCim4W79qr\notHNO4zQKEFCOEJIRsK9acygzmoapcFP4ozzgQt/LEcp5HRBSiaj80Y4X6bCZ2+Z0zLEhBo/3pDG\n3URbTQsiDWWbYd2fgMumm9v3x1XM1D8MXGmQ5+Ts4RbvmYI+sLXuMHdNKPpb41hNCCEmyGzNiJWd\nXAnRJSTv8tu0JbDhBf1zulwiOyQHDhuaIe7cSwgBHVgtQEGEJIvUsHNugnMCKYgA1r8jIe7cSwix\nRGabaZbe6XUNCElDKOATQqyRucLIrvIkk2gRQnT5txPh3oSQTCFzhRFHcmMQQoQc+I/XNSCEBAhb\nwsiCBQtQUFCA5s2bo6ioCKtXrzY8/4MPPkBRURGaN2+O7t2746mnnrJVWUf5dr/XNSAkfWl/ttc1\nIIQECMvCyJIlSzB9+nTcd999WL9+PQYNGoSrrroKlZWVwvN37tyJESNGYNCgQVi/fj3uvfdeTJ06\nFa+++mrSlU+K9X/19v6EpDNNm3tdA0JIgLAc2tu/f3/07dsXCxc2ppM+//zzce2112LevHlx5991\n111YunQptm3bFj1WUlKCjRs3oqysTHiP48eP4/jx49H/a2tr0aVLF+dCe9e/APzj58mXQwgR07wD\ncPd2r2tBCPGYlCQ9O3HiBMrLyzFs2LCY48OGDcOaNWuE15SVlcWdP3z4cHzyySc4efKk8Jp58+Yh\nJycn+tOlSxcr1UzMNsFeLYQQ5zh2wOsaEEIChCVhZP/+/airq0OnTrF7T3Tq1Ak1NTXCa2pqaoTn\nnzp1Cvv3i/027rnnHkQikehPVVWVlWom5vyRzpZHCIkl9yKva0AICRC2HFhDmnTdkiTFHUt0vui4\nQnZ2Ntq0aRPz4yh9fgKcXuBsmYSQRkre97oGhJAAYUkY6dChA7KysuK0IHv37o3Tfijk5uYKz2/S\npAnat29vsboOMm0DcM0CIJztXR0ISTdy+wCzI17XghASMCylg2/WrBmKiopQWlqK6667Lnq8tLQU\n11xzjfCa4uJivPlmrI/G8uXL0a9fPzRt2tRGlR2kz0/kH0IIIYR4hmUzzcyZM/HMM8/g2WefxbZt\n2zBjxgxUVlaipKQEgOzvMWFC4/bhJSUl+OqrrzBz5kxs27YNzz77LBYtWoRf/vKXzrWCEEIIIYHF\n8kZ5Y8eOxYEDBzB37lzs2bMHhYWFWLZsGbp16wYA2LNnT0zOkYKCAixbtgwzZszAk08+iby8PDz2\n2GMYPXq0c60ghBBCSGCxnGfEC8zGKRNCCCHEP6QkzwghhBBCiNNQGCGEEEKIp1AYIYQQQoinUBgh\nhBBCiKdQGCGEEEKIp1AYIYQQQoinUBghhBBCiKdQGCGEEEKIp1jOwOoFSl622tpaj2tCCCGEELMo\n83ai/KqBEEaOHDkCAOjSpYvHNSGEEEKIVY4cOYKcnBzdzwORDr6+vh67d+9G69atEQqFHCu3trYW\nXbp0QVVVFdPMC2D/6MO+0Yd9ow/7Rh/2jTFB7R9JknDkyBHk5eUhHNb3DAmEZiQcDqNz584pK79N\nmzaBerhuw/7Rh32jD/tGH/aNPuwbY4LYP0YaEQU6sBJCCCHEUyiMEEIIIcRTMloYyc7OxqxZs5Cd\nne11VXwJ+0cf9o0+7Bt92Df6sG+MSff+CYQDKyGEEELSl4zWjBBCCCHEeyiMEEIIIcRTKIwQQggh\nxFMojBBCCCHEUyiMEEIIIcRTMloYWbBgAQoKCtC8eXMUFRVh9erVXlfJUebNm4eLL74YrVu3RseO\nHXHttdfi3//+d8w5kiRh9uzZyMvLQ4sWLfCDH/wAW7ZsiTnn+PHjuPPOO9GhQwe0atUKo0aNwq5d\nu2LOOXToEMaPH4+cnBzk5ORg/PjxOHz4cKqb6Bjz5s1DKBTC9OnTo8cyuW+qq6vx05/+FO3bt0fL\nli1x0UUXoby8PPp5pvbNqVOn8Jvf/AYFBQVo0aIFunfvjrlz56K+vj56Tib1zapVqzBy5Ejk5eUh\nFArhjTfeiPnczb6orKzEyJEj0apVK3To0AFTp07FiRMnUtFsUxj1zcmTJ3HXXXehZ8+eaNWqFfLy\n8jBhwgTs3r07pox07RshUoby8ssvS02bNpX+/Oc/S1u3bpWmTZsmtWrVSvrqq6+8rppjDB8+XHru\nueekzZs3Sxs2bJCuvvpqqWvXrtI333wTPeehhx6SWrduLb366qvSpk2bpLFjx0pnnnmmVFtbGz2n\npKREys/Pl0pLS6WKigrpiiuukHr37i2dOnUqes4Pf/hDqbCwUFqzZo20Zs0aqbCwUPrRj37kanvt\nsm7dOumss86SevXqJU2bNi16PFP75uDBg1K3bt2km2++WVq7dq20c+dOacWKFdJ//vOf6DmZ2jcP\nPvig1L59e+mtt96Sdu7cKf3973+XTjvtNGn+/PnRczKpb5YtWybdd9990quvvioBkF5//fWYz93q\ni1OnTkmFhYXSFVdcIVVUVEilpaVSXl6eNGXKlJT3gR5GfXP48GFpyJAh0pIlS6TPPvtMKisrk/r3\n7y8VFRXFlJGufSMiY4WRSy65RCopKYk5dt5550l33323RzVKPXv37pUASB988IEkSZJUX18v5ebm\nSg899FD0nGPHjkk5OTnSU089JUmS/KVp2rSp9PLLL0fPqa6ulsLhsPT2229LkiRJW7dulQBIH330\nUfScsrIyCYD02WefudE02xw5ckQ655xzpNLSUunyyy+PCiOZ3Dd33XWXdNlll+l+nsl9c/XVV0u3\n3nprzLEf//jH0k9/+lNJkjK7b7QTrpt9sWzZMikcDkvV1dXRc1566SUpOztbikQiKWmvFUSCmpZ1\n69ZJAKIL4kzpG4WMNNOcOHEC5eXlGDZsWMzxYcOGYc2aNR7VKvVEIhEAQLt27QAAO3fuRE1NTUw/\nZGdn4/LLL4/2Q3l5OU6ePBlzTl5eHgoLC6PnlJWVIScnB/3794+ec+mllyInJ8f3/XnHHXfg6quv\nxpAhQ2KOZ3LfLF26FP369cP111+Pjh07ok+fPvjzn/8c/TyT++ayyy7DypUr8fnnnwMANm7ciA8/\n/BAjRowAkNl9o8XNvigrK0NhYSHy8vKi5wwfPhzHjx+PMS/6mUgkglAohLZt2wLIvL4JxK69TrN/\n/37U1dWhU6dOMcc7deqEmpoaj2qVWiRJwsyZM3HZZZehsLAQAKJtFfXDV199FT2nWbNmOP300+PO\nUa6vqalBx44d4+7ZsWNHX/fnyy+/jIqKCnz88cdxn2Vy3+zYsQMLFy7EzJkzce+992LdunWYOnUq\nsrOzMWHChIzum7vuuguRSATnnXcesrKyUFdXh9/97ne46aabAGT2uNHiZl/U1NTE3ef0009Hs2bN\nAtFfx44dw913341x48ZFd+TNtL7JSGFEIRQKxfwvSVLcsXRhypQp+PTTT/Hhhx/GfWanH7TniM73\nc39WVVVh2rRpWL58OZo3b657Xib2TX19Pfr164ff//73AIA+ffpgy5YtWLhwISZMmBA9LxP7ZsmS\nJfjrX/+KF198ERdeeCE2bNiA6dOnIy8vDxMnToyel4l9o4dbfRHU/jp58iRuvPFG1NfXY8GCBQnP\nT9e+yUgzTYcOHZCVlRUnFe7duzdOgkwH7rzzTixduhTvvfceOnfuHD2em5sLAIb9kJubixMnTuDQ\noUOG53z99ddx9923b59v+7O8vBx79+5FUVERmjRpgiZNmuCDDz7AY489hiZNmkTrnYl9c+aZZ+KC\nCy6IOXb++eejsrISQGaPm1/96le4++67ceONN6Jnz54YP348ZsyYgXnz5gHI7L7R4mZf5Obmxt3n\n0KFDOHnypK/76+TJk7jhhhuwc+dOlJaWRrUiQOb1TUYKI82aNUNRURFKS0tjjpeWlmLAgAEe1cp5\nJEnClClT8Nprr+Hdd99FQUFBzOcFBQXIzc2N6YcTJ07ggw8+iPZDUVERmjZtGnPOnj17sHnz5ug5\nxcXFiEQiWLduXfSctWvXIhKJ+LY/Bw8ejE2bNmHDhg3Rn379+uEnP/kJNmzYgO7du2ds3wwcODAu\nBPzzzz9Ht27dAGT2uDl69CjC4djXZlZWVjS0N5P7RoubfVFcXIzNmzdjz5490XOWL1+O7OxsFBUV\npbSddlEEkS+++AIrVqxA+/btYz7PuL5x01vWTyihvYsWLZK2bt0qTZ8+XWrVqpX05Zdfel01x7j9\n9tulnJwc6f3335f27NkT/Tl69Gj0nIceekjKycmRXnvtNWnTpk3STTfdJAy969y5s7RixQqpoqJC\nuvLKK4XhZb169ZLKysqksrIyqWfPnr4LQ0yEOppGkjK3b9atWyc1adJE+t3vfid98cUX0gsvvCC1\nbNlS+utf/xo9J1P7ZuLEiVJ+fn40tPe1116TOnToIP3617+OnpNJfXPkyBFp/fr10vr16yUA0iOP\nPCKtX78+GhHiVl8o4auDBw+WKioqpBUrVkidO3f2NHzVqG9OnjwpjRo1SurcubO0YcOGmPfz8ePH\no2Wka9+IyFhhRJIk6cknn5S6desmNWvWTOrbt2805DVdACD8ee6556Ln1NfXS7NmzZJyc3Ol7Oxs\n6fvf/760adOmmHK+++47acqUKVK7du2kFi1aSD/60Y+kysrKmHMOHDgg/eQnP5Fat24ttW7dWvrJ\nT34iHTp0yIVWOodWGMnkvnnzzTelwsJCKTs7WzrvvPOkp59+OubzTO2b2tpaadq0aVLXrl2l5s2b\nS927d5fuu+++mAkkk/rmvffeE75jJk6cKEmSu33x1VdfSVdffbXUokULqV27dtKUKVOkY8eOpbL5\nhhj1zc6dO3Xfz++99160jHTtGxEhSZIk9/QwhBBCCCGxZKTPCCGEEEL8A4URQgghhHgKhRFCCCGE\neAqFEUIIIYR4CoURQgghhHgKhRFCCCGEeAqFEUIIIYR4CoURQgghhHgKhRFCCCGEeAqFEUIIIYR4\nCoURQgghhHjK/wd8FUFbw6nNdQAAAABJRU5ErkJggg==\n" } } ], "source": [ "plt.plot(y)\n", "plt.plot(net(X).data,'.')\n", "plt.title('Traning Set',size=15)" ], "id": "e2bf1cdd-a66b-4d8e-9928-039e436099ba" }, { "cell_type": "code", "execution_count": 34, "metadata": { "tags": [] }, "outputs": [ { "output_type": "display_data", "metadata": {}, "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAG1CAYAAAAr/fRyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90\nbGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9h\nAAAPYQGoP6dpAABIuUlEQVR4nO3deXxU9b3H//ckZAEkI2tCQoSYVqWgLKEiIKIoKFYUa3/Si5et\n4kMqLhH1VmqvgPZXer23/EAttCou3HqV1q1gqRoqAha0ymKpoKWABEIisjiJLElIzu+Pw0wymX09\ns7yej0cegTNn+Z5zJnM+8/luNsMwDAEAAFgkw+oCAACA9EYwAgAALEUwAgAALEUwAgAALEUwAgAA\nLEUwAgAALEUwAgAALEUwAgAALEUwAgAALEUwAqQ4m80W0k+fPn2sLrJXTU1Nevrpp3XZZZepc+fO\nys7OVs+ePVVWVqZZs2bpzTfftLqIAMJkYzh4ILVNmzbNY9n777+v3bt3a8CAARo4cKDba926ddP/\n/M//RL0cX3zxhUpKSjRq1Ci99957IW3b0NCg8ePH65133lFmZqaGDh2q4uJinTp1Stu2bdO+fft0\n/vnn67PPPouojPPmzdP8+fP13HPPeb1uAGKjndUFABBbzz//vMeyadOmaffu3ZowYYLmzZsX9zKF\n6oknntA777yjPn36aM2aNSotLXV7fevWrfrTn/5kUekARIpgBEDCe+211yRJP/vZzzwCEUkaNGiQ\nBg0aFO9iAYgS2owAcNPQ0KDFixfru9/9rjp16qSOHTvq4osv1rJly+StVnf//v2aNWuWzj//fHXo\n0EFdunRRv379dPvtt+vzzz+XZFZ/lJSUSJLWrVvn1kYlmOqQr776SpLUvXv3kM9n+/btuuWWW1RU\nVKScnBwVFhZq+vTp+uKLL9zW69Onj+bPny9Jmj59ulsZQ61WAhAaMiMAXI4fP65x48Zpw4YN6tat\nmy699FJlZGRo06ZNmjFjhj766CP95je/ca1/4MABDR48WIcPH9ZFF12k8ePH69SpU9q3b5+efvpp\nDRs2TOeff74GDhyom266Sa+++qry8/N1zTXXuPZx6aWXBixXr169tGvXLi1btkzXXnut2rUL7qPr\n1Vdf1aRJk9TQ0KCysjINHz5cu3fv1vPPP69Vq1Zp3bp16tevnyTpBz/4gdasWaNPPvlEI0aM0Le+\n9S3XfgoKCoK9hADCYQBIO1OnTjUkGXPnznVb/uMf/9iQZEyePNmoq6tzLT906JAxdOhQQ5Lx5ptv\nupbPnTvXkGT86le/8jjGF198YfzrX/9y/X/v3r2GJGPUqFEhl/fFF180JBmSjHPOOce45557jBUr\nVhj79+/3uc2ePXuMDh06GHa73Vi3bp3bay+88IIhyfjud7/rttx5Ps8991zIZQQQPqppAEiSDh06\npGeeeUYlJSV6+umnddZZZ7le6969u377299Kkuu3cxtJGj16tMf+evfu7bV9RzgmTZqkxx57TO3b\nt1dlZaUWL16siRMnqri4WN/5zne0ZMkSNTU1uW2zePFinThxQo899pguu+wyt9emTJmiCRMm6KOP\nPtKWLVuiUkYA4SMYASDJbMvR2Nioa665Rjk5OR6vDxgwQJ06ddJHH33kWlZWViZJmjVrltauXavT\np0/HrHwPPPCAKisrtXTpUt18882u8VB27typWbNm6Qc/+IGam5td61dUVEiSbrjhBq/7c1YPtT4f\nANYgGAEgSa4GnUuXLvU5IFpdXZ0OHz7s2mbatGm6+eabtXHjRo0ePVp2u12jRo3SL3/5S1fWJJq6\ndeummTNnasWKFdq7d68+//xz3XbbbZKkN954Qy+99JLH+RQUFHg9l/vvv1+S3M4HgDVowApAklzV\nHIMGDdJFF10U1DaZmZlasWKFHnzwQf3xj3/U2rVr9cEHH2j9+vVasGCB3n77bV1yySUxK/N5552n\np556SkePHtWrr76qP/3pT7rllltc52Oz2TRlyhS/+3A2YAVgHYIRAJLMHiuSdPnll2vhwoUhbesc\n52PevHmqra3V/PnztXDhQt1zzz368MMPY1FcN5dffrleffVVtyxHr169tHv3bj3++OPKy8uLeRkA\nhI9qGgCSpCuuuEKZmZl68803PRqDhiIvL0+/+MUvZLPZtH37dtfy7OxsSQqrXYkRYNaK3bt3S5IK\nCwtdy6666ipJZvVNsCIpI4DwEYwAkCQVFRVp2rRp2rVrlyZPnuy1LcXGjRu1evVq1///93//V//4\nxz881nvrrbdkGIbOOecc17Ju3bopKytLu3fvDjnYuf766/XEE0/o66+/9njtz3/+s2vsk+9///uu\n5ffdd5/at2+ve++9V6tWrfLY7ujRo1qyZIlOnjzpWuYMZpyDtQGIDybKA9LQtGnT9MILL2ju3Llu\n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\nAAAASUVORK5CYII=\n" } } ], "source": [ "plt.plot(yy)\n", "plt.plot(net(XX).data,'.')\n", "plt.title('Test Set',size=15)" ], "id": "2aa2efbb-9fb9-416b-8952-6685b41c9030" }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 6. MNIST (GPU)" ], "id": "6084ee54-26f4-49c2-909f-8a5e060d16cb" }, { "cell_type": "code", "execution_count": 35, "metadata": { "tags": [] }, "outputs": [], "source": [ "ds = torch.utils.data.TensorDataset(X,y)\n", "dl = torch.utils.data.DataLoader(ds,batch_size=128)\n", "#--#\n", "net = torch.nn.Sequential(\n", " torch.nn.Conv2d(1,16,(5,5)),\n", " torch.nn.ReLU(),\n", " torch.nn.MaxPool2d((2,2)),\n", " torch.nn.Flatten(),\n", " torch.nn.Linear(2304,1),\n", " torch.nn.Sigmoid()\n", ")\n", "loss_fn = torch.nn.BCELoss()\n", "optimizr = torch.optim.Adam(net.parameters())\n", "#--#\n", "net.to(\"cuda:0\")\n", "for epoc in range(5): \n", " for xi,yi in dl: \n", " ## 1\n", " netout = net(xi.to(\"cuda:0\")) \n", " ## 2\n", " loss = loss_fn(netout,yi.to(\"cuda:0\")) \n", " ## 3\n", " loss.backward()\n", " ## 4\n", " optimizr.step()\n", " optimizr.zero_grad()" ], "id": "117604c0-6060-4e77-a4b1-5f8ff72eab10" }, { "cell_type": "code", "execution_count": 36, "metadata": { "tags": [] }, "outputs": [ { "output_type": "display_data", "metadata": {}, "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAG1CAYAAAAr/fRyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90\nbGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9h\nAAAPYQGoP6dpAABXrklEQVR4nO3de3gU5dk/8O9uIAkgWQUkISFiiAeQgEoQ5FQPYChYKB5RrAGF\n/kwrQqCeEBWkVqytFLWCFVHM64m3CgqUFwmiHAyKJGBBUBHQQEjkpBsEDZDM74/JbPYwszuzO7tz\n+n6uK1dgM7vzzOzszj33cz/PuARBEEBERERkELfRDSAiIiJnYzBCREREhmIwQkRERIZiMEJERESG\nYjBCREREhmIwQkRERIZiMEJERESGYjBCREREhmIwQkRERIZiMEJkIi6XS9PPueeeq3sbrrzySrhc\nLnz77bemeq14KC0txciRI5GRkYHk5GS0bdsWF110EW677TbMnz8fJ0+eNLqJRI7QzOgGEFGTMWPG\nhDy2YcMG7N69GxdffDEuueSSgL+1a9cuQS2zn+nTp2PmzJkAgLy8PPTv3x9JSUn46quv8Oabb+KN\nN97A8OHDkZGREfU6PvroI1x11VUYM2YMFi5cqFPLieyHwQiRicidsMaOHYvdu3dj5MiRmDFjRtzb\nUFJSghMnTiArK8tUr6WnzZs3Y+bMmUhOTsaSJUswbNiwgL9XVVVh/vz5SElJMaiFRM7CYISIApxz\nzjmmfC09LVmyBABw8803hwQiAJCVlZWQwI+IRKwZIbKojz76CC6XC2PHjkVNTQ3Gjx+Pjh07olmz\nZpgzZw4AoLq6Gk899RSuuOIKZGVlITk5GRkZGbj++uvx2Wefyb6uUp2HVKNSX1+Pp556ChdccAFS\nUlKQnZ2NBx54AHV1dXF9LQDYsmULhg4dCo/HA4/HgyFDhuCzzz7DwoUL4XK5VAcQhw4dAgCcffbZ\nqpYPfu69996LCy+8EKmpqTjrrLMwdOhQrFu3LmC5sWPH4qqrrgIAvPrqqwG1Pgx0iAIxM0JkcYcO\nHcJll12G06dPY8CAAfjll1/QsmVLAMB7772HBx54AOeddx66d++OtLQ0fPPNN1iyZAmWL1+O5cuX\no6CgQNP6brvtNixfvhy9e/fGhRdeiPXr1+Opp55CVVUVXnvttbi9VllZGQYPHoyff/4Zl156KS68\n8ELs2LEDAwYMwB133KFpvR07dgQAvPPOO5g6darqoOTLL7/E4MGDUVVVhdzcXAwbNgxHjhzBmjVr\nsGrVKvzP//wPRo8eDQAYMGAAampq8P777yM3NxcDBgzwvU5w7Q+R4wlEZGpjxowRAAjTp08PePzD\nDz8UAAgAhOuuu074+eefQ5773//+V/j8889DHl+5cqWQnJws5ObmCg0NDQF/u+KKKwQAwt69ewMe\nl9bVtWvXgL/t2bNHOOusswQAwjfffBOX16qvrxcuuOACAYDw1FNPBbzWzJkzfa8XvI+UfPPNN0Jq\naqoAQEhLSxMKCwuF+fPnC9u3bw/ZH5LTp08LeXl5AgDhmWeeCViuoqJCaNu2rdCqVSvh+++/9z0u\nvUdjxoxR1S4ip2I3DZHFpaSk4LnnnkNqamrI37p3744ePXqEPD5kyBDcdNNN2L17N7Zv365pfc89\n91zAkOKcnBz87ne/AwCsX78+Lq+1Zs0afP311+jSpQvuvffegNd46KGHkJOTo2m9ubm5eO+995CZ\nmYna2lqUlJTg97//PfLy8pCRkYH7778fP/74Y8Bzli1bhu3bt+PWW2/FxIkT4XK5fH+79NJL8cgj\nj+D48eOas0NExG4aIsvr2bNn2NEqdXV1WLlyJTZt2oRDhw755s7Ytm0bAGDXrl3o3r27qnU1b94c\nV155ZcjjF1xwAQCxRkUtLa9VVlYGALjxxhsDggAASEpKwvXXX4+nn35a9boBoKCgAHv27MHSpUtR\nWlqKTz/9FNu3b8fBgwfxt7/9DUuWLEFZWZmvC6e0tBQAMHLkSNnXk7phlGpxiEgZgxEiiws3YmXb\ntm0YMWJE2EnHjh07pnpdHTp0QFJSUsjjZ5xxBgAoFp7G+loHDhwAAGRnZ8u+VrSjdlJSUnDTTTfh\npptuAiDW3yxcuBAzZszAN998g4ceegjz588HAN8+HDVqFEaNGqX4mocPH46qLUROxmCEyOLkumcA\nQBAE3Hzzzfj2229RVFSEoqIidO7cGWeccQZcLhceeughzJo1C4IgqF5XcFYiFtG8ltJztGxDOGef\nfTbuu+8+tGjRAvfccw/+85//+P5WX18PABg6dCjat2+v+BpdunTRpS1ETsJghMimvvzyS3z55Zfo\n1asX5s2bF/L3PXv2GNCq6HTo0AEAUFlZKfv3ffv26bo+qfvIP8shjcApKirCiBEjdF0fkdOxgJXI\npn744QcATSfR4L9JNRBW0K9fPwDiUNzgLEhDQ4NvEjO1ImVSdu/eDQDIzMz0PTZ48GAAwLvvvqt6\nPcnJyQCA06dPa2ofkdMwGCGyqfPOOw9utxtr1qzBrl27fI//8ssvKCoqwtGjRw1snTZXX301zjvv\nPOzcuRP/+Mc/Av725JNPas7yPPLII7j//vuxd+/ekL/t2rULf/rTnwAA119/ve/xG2+8EV26dMHC\nhQvx17/+FadOnQp43smTJ7F48WJfYTDQFMx89dVXmtpH5DTspiGyqfbt22PcuHGYP38+Lr74Ylx9\n9dVo0aIF1q9fj/r6eowdO9YyN29LSkrCK6+8gmuuuQZ/+tOf8Prrr/smPdu5cyd+//vfY/78+b5M\nRCQ//fQTnnnmGfz973/HhRdeiK5du6J58+aorKzEpk2b0NDQgPz8fEyfPt33nGbNmmHJkiUYMmQI\nHnzwQTzzzDPo0aMH0tLSsG/fPnz55Zf48ccfsWTJEt/opHPPPRc9evTA5s2b0bt3b3Tr1g1JSUkY\nMWIEu3qI/DAzQmRj8+bNw9NPP42cnBx88MEHWL9+PQYPHozNmzejU6dORjdPkwEDBmDDhg0YMmQI\ndu3aheXLl6Ndu3ZYu3atb1vatm2r6rUefvhhlJSUYPTo0WjWrBnWrl2LxYsX45tvvsEVV1yB559/\nHmVlZfB4PAHP69KlC7Zu3YoZM2agffv22LBhA/7zn//g0KFD+NWvfoVXXnnF150jeeeddzBy5Ejs\n2bMHJSUlWLBgASoqKvTZKUQ24RL0KkMnIjLI0KFDsXLlSnzyySfo06eP0c0hIo2YGSEiSzh69Ci+\n++67gMcEQcBzzz2HlStX4rzzzkPv3r0Nah0RxYI1I0RkCV9//TX69euHHj16oHPnzqivr8f27dux\nZ88etGjRAvPnz9d1HhQiShxmRojIEjp37oyioiLU1dXhgw8+wP/93/+hrq4Oo0ePxqeffio7tTwR\nWQNrRoiIiMhQzIwQERGRoRiMEBERkaEsUcDa0NCAAwcOoHXr1ixQIyIisghBEHDs2DFkZmbC7VbO\nf1giGDlw4IDircOJiIjI3Pbt2yd7nyyJJYKR1q1bAxA3Ji0tzeDWEBERkRq1tbXIzs72nceVWCIY\nkbpm0tLSGIwQERFZTKQSCxawEhERkaEYjBAREZGhGIwQERGRoRiMEBERkaEYjBAREZGhGIwQERGR\noRiMEBERkaEYjBAREZGhGIwQERGRoRiMEBERkaE0ByPr1q3D8OHDkZmZCZfLhXfffTfic9auXYv8\n/Hykpqaic+fOeOGFF6JpKxEREdmQ5nvTHD9+HBdffDHuuOMO3HDDDRGX37t3L4YNG4bf//73eO21\n1/Dxxx/jj3/8I84++2xVzyciC1jzF2DdU0a3gohikZYNTNluyKpdgiAIUT/Z5cKSJUswcuRIxWUe\neOABLF26FDt37vQ9VlRUhM8//xwbN26UfU5dXR3q6up8/5fu+uf1enmjPCKzeSILwsmfEP42WERk\ndgIgfo5neHV7zdraWng8nojn77jXjGzcuBEFBQUBjw0ZMgSbN2/GqVOnZJ8za9YseDwe3092dna8\nmwl4q4C968TfRKTOmr8ADESIbMH3OZ6dl/B1xz0YqampQXp6esBj6enpOH36NA4fPiz7nKlTp8Lr\n9fp+9u3bF99GVpQAc/KAV4eLvytK4rs+IrvYsdToFhCR3mrjfM6VkZDRNC5X4HWT1DMU/LgkJSUF\naWlpAT9x460Clk0ChIbGxjUAy4qZISFS46IRRreAiPTWrEXCVxn3YCQjIwM1NTUBjx08eBDNmjVD\n27Zt4736yI7ubgpEJEI9cHSPMe0hspKrpyGKOngiMrPL7kr4KuMejPTt2xelpaUBj61atQq9evVC\n8+bN4736yNrkAq6g3eBKAtp0NqY9RFZz43yjW0BEesq6JOGr1ByM/PTTT9i6dSu2bt0KQBy6u3Xr\nVlRWVgIQ6z0KCwt9yxcVFeG7777DlClTsHPnTrz88stYsGAB7r33Xn22IFaeLGD4M2IAAoi/h88R\nHyeiyM7shKiH5BGR+WT3TvgqNedXN2/ejKuuusr3/ylTpgAAxowZg4ULF6K6utoXmABATk4OVqxY\ngcmTJ+P5559HZmYmnn32WXPNMdKzEMgdJHbNtOnMQIRIi1PHOZqGyDaM+TTHNM9Ioqgdp0xEBvBW\noeEf3eCOKT/iAgZOAQ5sBXZ/oFfLyBLc4vkvuHZPfDDy08+9Evj2I4U/SidWnU9zff4AfPqC/q8b\nTr+J4vQT1Vvjv64xy4Gcgbq8lGnmGSEinZh1LhxPFt5tdxdCL2vcofVY/lxJwDUzxS++yV8AvcYB\nez6MZ0tj43IDHfsEPtZ1pNj+8Wuaft+4ELjk9tjX1XeStuXFf6hZOJoW6cjV1F5XEjDiGaDHLYGL\n5A6CqhO9yw30GqP892FPAyOebeqG18un86QGBDcI6NQ/8P3Iv0M8LobNllleLRfQpwi4ay1w6yLg\n3IERXssV/rMXdlVuQ2omWQZPZAUVJU1D0F1usc6pZ2Hk5yXImjajsLO6Fg81fwsuNDTVXgHA0kkA\ngq963cC4UqBjftNDe9fJXB0Dqq+Q423carG9+8uBfZ8A2ZeL//dWiaPy2uSKWR3/qQKi4hLf39xB\nwMZnIi9+zZ+BvBuAfZuAd+6ETFQY6MZXxN9v3wFV+/Wi3wI7l4ujDOEG8scA6d2Bn38EPvyzuteQ\nSMeFf7c4IO4zf7s/FI/zcPvR1bifsvtA/hhxARf+Wux2l9Z3/FDjdutBmq/Uf90CUFkGjPsAOHUi\nsNv/1HGZNmpY19E94mtd+Gvx5+NngdJH5V/z4luBTn2BpRM1rrNxnxpQqsBghMjslObCyR1kqvqm\n+fW/wXlXj8GozqcCv4STz5A5ATSIX9b+pJFt/icgVxJwyxvAm7cg5Ev1xoXA99uBDbMbg7QkoMco\n4L+LGk+cOpPa2zG/KYjyDxKj7hIIPpG6gPbdxADnopHAjnfDPz3zUnFfH22rIghyicWJn86L0E4X\nkD8W+NV94mt7q8RuiY3/BMpfaQqIL74V+PyNyJsIABf8Grh2dtNxIf2WDUIbgL4TgY3PK7yXLvGE\nL70PI54NOvG6xMf81yVtRzTB7cB7gRZtgFUPBf1B5nUEAfixEsi7LvBxueNbreBshbcKWD1dfv2A\n+Bm4bLwYsKmqxAh6vw3AYITI7MLNhWOiYAQAfk5NB9oki20GxPZl95EPMoJTwdLItmXF4vZJV9EZ\n3WXW1HhSzbsO6HVnYPH51Q8DX7wrc+KQI3Ni6n0XsOnFwMddrtD2BgeJUV31uhGaNWoAFgxSdxLx\n349qTnYuAMdqgLJ/Ki9w4yvivg0+tjb+MzAgXjpJW6/D1+8D18o8rhSE9ikSf2TfSyEwmJUGIezb\nJP5frv2A+FhI4AK/k7ZCoNL5SnE/lz4ctH81BDbBx7dqMtkKue8Ef0I9UPlJhEyjG7hmBpDZ0xQD\nNxiMEJmd0pe1CefCOb9qCbD6z6HdSXJBhtyXn9zItr3rEPqF75e2ln4kniyg20iZE4ccmRNJcCCi\nsFjEEwIAse/e1bicG7hoeFOXhysJGDwdWD1DJtgMc4KTjoXg/Sid7GS7xfxe9+v3FTaoMZsQfEWv\nuK0NCi+jFBAJYnal4M+BDysFodJ2yb2XSsGsR6btweQCF0A8npq3BBYMll+XXDu7DAd2vhu8A5SH\nxvof381bigHVgS1A6XTIvmfdbwYGz2jK6kjdgZECT1cScM7l8t8b40pDu5BMgKNpiKygoiT0y9pE\nNSMPv/o+fvhqPf6Z/LxYMyJxJQHF2/y+TFUMn/f/0pWeNycv9EtVel0l/vtMD8EjDOTa5R98SO/T\nzz8CpY80/f2axwKvRpf8QX1XB9zAsL8BLdsqX/1LXSplz0Ex6ACC/uYCxn8QWMMT/Joh2yozCkY6\n2R3YCqyYIrNqN1C8XbndSsdHIo//SOuS2ikXuABiDU//idrW6d8NJgWu18wA+k/ya1NQzRjgd3y7\nGt8LIbDNJvjeUHv+ZjBCFEnwydHQdphwLpyKEjQsnQS30tW4mmGC0j4+sFXsCw/OrET7peqtEq+A\n1RZrKlEKfuTa1b5bU4Fr6wzgH90QcuKf/IVyoKXciMbfgroi5rBBiUzQFGl/ym0rIP++7F0n3nhU\njv/xoOWzlcjjX826lLYxlmGxcusNF4wDgYXAvozL8cBg3sDvDbXnb3bT2JFZTp52YKZRLMHdEWbQ\nWDehGIhIKe5wx2RAEagf/0LdaCcmlFL3J48BS+/RsGH+2QO3+m6l3R80XS273EDPMZDtYtq3SWyX\nUlePf1fM4OmA55zGkTIaipg9WWKXSOalMgXEAnDDK0Crdur3p9J7IPdYm1wojnCRTpzBxb/XPNaU\nCVDaHrXve6zfgWrWFY/uU7n1hqsZyxkYuLz/aC7/7ystmUiDMBixGzOdPK0u3CgWwBQfYMOFq5uQ\nrpSVviABmSLQIP6FujEHYwrFhiF9724g90pgz0eNae8IL+s/UiP4eClfGP65Sie04H59uREnaouY\nlQqI5bp5Ip2Y5N4DpcfkCkUB8XjIHRRa/Fv6KPBLLTDoEcRE63dgtCfjSLUusby2P7VBTzTfVyY6\nXzAYsROLDAG1DKUrEv++XacHfLKFdG7gxpeBM88BfvwOeGec8jEZqQhUj0Jd6XMhG4j4nfibtxSH\n0ZY9B+xe07SM2s+R7LbIjNBw+RU4Kp3Qgms3YrkKV3PSBPQ/MfUsFLusXvKfwEwQ23HDS/Lv+/q/\nA6kedTUXcif6/eXAsolNBcCR3rtYtzlcxk6v/an2/VPzfeWfgTLZ+YLBiJ1YaAioJSidaIOHODo5\n4Gv8oqxfOglJaEAD3HCPeEbsFpEr7gMCj8lwowL0umlluIBn8IymE7+3SnxvZeeOUPE5UgoYBs8I\nrYPxf53cQeLJWRqFoZSRUDsiSU6kbq54nZjkJvqSCi6VMlWrp4uTuEUsTpYp6JTLxCi9d3pts1xm\nSO/9qfT+RRxhE/R9JWWg4AIyLzHV+cKd8DVS/EgHoz+TDgG1BOkE4H9H5353K3+AnapnIR7NeQu3\nnHwYbw/8P5kUfBD/Y9KTJZ6sQ7jFjIUeGSdf/YKMzEub/h2pyynS50jueBk+B2hxpt+VetCJsqJE\nLE58+w6xJiTcfXl6FopFi2OWi7+17htPVmiNgSTchUwslL6TsnuLV+hyhIbw65U70S+dFD77Jffe\nxWub4/Xawe+fdOy8Olz8vfsDdd9XgBjwNW+FkM+F3Hw6CcLMiJ3EevVkRfEuvgq+IgEaZ4XUsWjN\nBn5sfjY+abgIQ1tkqKsj8X+v/AMCn4bQGVqB6N5vT5Z44it9NKgtQV+8SlkaV5gC1mByx8ucPIR0\nU0j9+FqvnvUsYvbfl81byS/TvGVs6wj3ndR/klgjsv7vgc+J9HnSOueJ0nsXz/l7DmyRaYsOr72/\nHKjcCLQ9T/7YKd4m/vgff2Uy2T6hQZwlNpiBY2sZjNhNtKMOrChRxVfBJwCnBXxahasjkeuGUHtS\niOX9zruxcWIpv2/b4C/e4BMn3EC/CeIsoNGm7cMVnu56X780udYgLXhf9r1bfjm5gFCrcN9Jgx4R\na0R83VgqPk9Kx1fwnCdwN91PSE68Lt68VeJEdsGkycuiFWk+GqURNrKBeBLED0CYyQQTjMEIYJqh\nTbox4xBQvRlZfOWkgC8aSl/ycjN7hls+eFRCLO/30d1Q9cWr93urFGg1byk/JXs0d0xVG6RJ33PN\nW4Xuy7Ln45clAMJ/J/WfKNaIqN3nSscLELkQOFg8PstKmUHZDKBK+8sjT4yn9H71nwTAFRrwqb1N\nQ4IwGDHR0CbSwOhiXScEfLFQ8yXvfxEQaflY328tKXk931ulE6fSHVz7TtC2brVBWsgN/YLX3RB4\nY7pEZ/y07nMtc57ove5I9Oz+kT4je9crLND4XkZ6v5QCPhNleZ0djJhsaBNpoNS/f2BL9LMfkr7C\nfckrXQQoLR/rF7yR9VRyJ05vlXxXQ58iba+tJkhTc0M//xvTWSXjp3bOk0SL5liTy84rTQbo79a3\ngORW6jNKwcuYKMvr7GDE6Ktrip40CiO4L3T1jMjDAslY0VwE6BFM6PXFG20Rrf+yegVHaoI0NbO8\nBt9wj2Kj5ViTC8wjjUgDgItHAxf+Ova2miGAg9ODEQvdDZVkyPXBMpg0XqSTdbQXAXoEE7F+8erZ\nravX9kQKatTO8kr6UnOsKQXmSpPCDZsN1P8i3vcoUj2MxTg7GHHiUFg7YTBpHo2Z//P2LwZK/xz+\nZB3rbKJSN8fedYktOo9Ht64eV6WRghql7zmbncwsSSkw37sudFlXkpgJsen5ydnBCGCqPjNLMnIk\nEoNJU8nAEfTd8WcAEU7Wnixg8GPahnP6M6ro3MzdupGCGmlq9spPgHPsd1VtmFi//5SGKVe8Grps\nrEODTY7BCGCaPjPLMcNIJAaTppHjrgm9e6/cybqipCkQgUu8K63a4yZRRedyJxkrZ+Li+Vm129QI\naumxT+UuqPr+Ubw/UrBYhgZbAKeDp+gonRS8VYlviydLeZprSpi9DRloCPlKcQPHDzUdF3IjO1Y/\npv64CZedkLpuYj0Gg6fZrigRH5dOHMHTvZv9uIvnZ1VpX4Vrix7vkdH03KfB0/z3+YMjb+vBzAhF\nx8wpazJEDdrik26PoN+Ox9F0MzRBvO+KdOV41rnxmS/kwBagZETsV/6RMi9WzMTF67OqNUtlhkyq\nXvTep8HZeQd2PzMzQtHhTfnsKcYr1286Xi9e3d24ULz3i1TZKp2omreK7biRy04Mnu7X7YPYrlLV\n3ODMapm4eH1WtdwMzkyZVD3E+/sv1psiWhCDEYqOVVPWpExryl2JJwto1Vb+RHXqROzHTfAXdeal\n6k+KkdgxyI7XZ1XLvornHXKNkIjvP6sFvTFiNw1Fz4opa6fQWlSod2FouGLPnIH6zxeiV2GpXUdo\nxeOzqmVfWbn4Vwm//3TFYIRiw5FI5hNN33w8+sDDnaj0PG70DiDsepKJx2dV7b6ya5DH7z/dMBgh\nspNoMxwxXrkKcvc7SeRJXWld0Q475UlGPbX7yq5BHumCwQiRnUSb4YjXlWsiT+rB67LT6A27SOTx\n4NT5TyyKwQiRncSS4dDhytWl+Rlxwjtym4cRQQEDUcvhaBoiO4m1yt8uFfx2G71hVXqN0NLCbsOI\nHYKZESK7Yd+8PUdvWI1R2SlOyGhJzIwQ2ZFdMhzRitc8EHaZzjwRjMpO2XGuGAdgZoTIDlisF0rv\nDBHrELQxKjtl12HENsdghMjqeJJUptfoDRbEamdkUMCuSsthMEJkZTxJJoaWOgRmqZoYGRRYea4Y\nBx5DDEaIrEzpJPnFu0C3kQn7IhNk5jyzFbVdDsxShbJyUGAEhx5DLGAlsjK5Yj0AWPVQ4oZSOoGa\nglgOKaVw1BQ/O/gYYmaEyMqC++X9GdFl4zLNtGf6i9TlwCGlpERttsPBxxAzI0RW17MQKN4GFDwR\n+jdO9KWvcEOmOaSU5GjJdjj4GGIwQmQHniyxRsShX2SmEK+5TcjatMy34uBjiN00RHbB+RWMxyGl\nFEzrfCsOPYYYjBDZiUO/yEyFo0fIXzQXCQ48hhiMENmNA7/IiEyNFwkRMRghIiKKN14khMUCViIr\nMtkN22w/6RkRxRUzI0RW49AZGonIvpgZIbISk8/QaOMpz4gojhiMEFmJljkLiIgsgsEIkZU4eIZG\nIrIvBiNEVuLgGRqJyL5YwEpkNZyzgIhshsEIkRVxzgIishF20xAREZGhGIwQUcwEcNYzIopeVMHI\n3LlzkZOTg9TUVOTn52P9+vVhl3/99ddx8cUXo2XLlujQoQPuuOMOHDlyJKoGExFRGCabnZdIDc3B\nyKJFi1BcXIxp06Zhy5YtGDhwIIYOHYrKykrZ5Tds2IDCwkKMGzcOX3zxBf7973/js88+w/jx42Nu\nPBGZi4uznhmrogSYkwe8Olz8XVFidIuIVNEcjMyePRvjxo3D+PHj0bVrV8yZMwfZ2dmYN2+e7PKf\nfPIJzj33XEycOBE5OTkYMGAA7rrrLmzevDnmxhMRUSOTz85LFI6mYOTkyZMoLy9HQUFBwOMFBQUo\nKyuTfU6/fv2wf/9+rFixAoIg4Pvvv8fbb7+Na6+9VnE9dXV1qK2tDfghIkoYK3Z1cHZesjBNwcjh\nw4dRX1+P9PT0gMfT09NRU1Mj+5x+/frh9ddfx6hRo5CcnIyMjAyceeaZeO655xTXM2vWLHg8Ht9P\ndna2lmYSEUXPql0dnJ2XLCyqAlZXUMewIAghj0l27NiBiRMn4tFHH0V5eTlWrlyJvXv3oqioSPH1\np06dCq/X6/vZt29fNM0kItLGyl0dnJ2XLEzTpGft2rVDUlJSSBbk4MGDIdkSyaxZs9C/f3/cd999\nAIAePXqgVatWGDhwIB5//HF06NAh5DkpKSlISUnR0jQiotiF6+qwwkmds/OSRWnKjCQnJyM/Px+l\npaUBj5eWlqJfv36yzzlx4gTc7sDVJCWJkbsgcG4CIjIRO3R1eLKAnIEMRMhSNHfTTJkyBS+99BJe\nfvll7Ny5E5MnT0ZlZaWv22Xq1KkoLCz0LT98+HAsXrwY8+bNw549e/Dxxx9j4sSJ6N27NzIzM/Xb\nEiIyjG2uK9jVQWQIzfemGTVqFI4cOYKZM2eiuroaeXl5WLFiBTp16gQAqK6uDphzZOzYsTh27Bj+\n+c9/4k9/+hPOPPNMXH311fjrX/+q31YQEemFXR1ECecSLNBXUltbC4/HA6/Xi7S0NKObQ0RB/l/J\nZqza8T2euK47Rvc5x+jmEJFJqD1/8940REREZCgGI0RERGQoBiNERERkKAYjRETUxIpT4ZPlaR5N\nQ0REKnirxEnU2uRaZ0RORUnTDLQutzjMuWdh5OcRxYiZESIiiV5ZASve38bKU+GT5TEYIaKYmX5+\nADX0CiCselLnXX/JQAxGiIj0DCCselK3w1T4ZFkMRohINwo37zY/PQMII0/qsXQzcSp8MhALWImI\npADCPyCJNoCQTurLisWAJlEndT2KTzkVPhmEwQgRkd4BRKJP6krdTLmDtK/bk8UghBKOwQgREaB/\nAJHIk3q4biYGFmQBDEaIiCRWzQro2c1EZAAWsBIRWR2LT8nimBkhIrIDFp+ShTEYISKyC6t2M5Hj\nsZuGiGIm2GIKViIyCoMRIiIiMhSDESLSjVUnYCUiYzEYISIiIkMxGCEiIiJDMRghIiKym1hummgA\nDu0lIiKyEz1umphgzIwQxYPFrkqIyI+VP79KN000+bYwM0KkNwtelRBRI6t/fi1600RmRoj0ZNGr\nkthx1jOyATt8fqWbJvqzwE0TGYwQ6SncVQkRmYNSN4wdPr8WvWkiu2mI9OTwW7m7OOsZmV24bhi7\nfH4teNNEZkaI9GTRqxIiR4jUDWOnz68nC8gZaJm2MzNCpDcLXpUQOYKa4k5+fg3BYIQoHngrdyLz\nUdsNw89vwrGbhoiInMFO3TA2w8wIERE5B7thTInBCBEROQu7YUyH3TREFDOBc54RUQwYjBARkbNY\n+d4zNsVuGiLSjQuc9YxMzur3nrEpZkaIiMgZ7HDvGZtiMELkdExZk1PY4d4zNsVuGiInY8qanMQu\n956xIWZGiJyKKWtyGk56ZlrMjBA5lZr7dBDZDSc9MyUGI0ROxZQ1ORUnPTMddtMQOZWOKWvOeUZE\nsWBmhPThrRLT/m1yecVhJUxZE5EJMBih2HFEhrWFS1lrDTI55xmRiBdomjAYAXjQxEJpREbuIO5L\nq2OQSRQdfnY0Y81IRQkwJw94dbj4u6LE6BZZCycRsicO+yWKDj87UXF2MGKGg8bqs19KIzL8cUSG\n9THIJIoOPztRcXYwYvRBY4esDCcRsicGmUTR4WcnKs4ORow8aMyQldFLz0KgeBswZrn4m32j1scg\nkyg6/OxExdkFrNJBs6xYzIgk8qCx2+yXnETIfjjslyg6/Oxo5uxgBDDuoOHsl2QFKoNMQeC0Z0QB\neIGmibO7aSSeLCBnYGIPHKbyyMysXlhNRJbCzIiRmMojM4phjgTOeUZE0WBmxGhGZGWIlNipsJqI\nLCOqYGTu3LnIyclBamoq8vPzsX79+rDL19XVYdq0aejUqRNSUlKQm5uLl19+OaoGE1EcGT3cnYgc\nSXM3zaJFi1BcXIy5c+eif//++Ne//oWhQ4dix44dOOecc2Sfc/PNN+P777/HggULcN555+HgwYM4\nffp0zI0nIp2xsJqIDKA5GJk9ezbGjRuH8ePHAwDmzJmD999/H/PmzcOsWbNCll+5ciXWrl2LPXv2\noE2bNgCAc889N7ZWE1F8GDncnYgcS1M3zcmTJ1FeXo6CgoKAxwsKClBWVib7nKVLl6JXr1546qmn\nkJWVhQsuuAD33nsvfv75Z8X11NXVoba2NuCHiBKEk9iRXXBUmGVoyowcPnwY9fX1SE9PD3g8PT0d\nNTU1ss/Zs2cPNmzYgNTUVCxZsgSHDx/GH//4Rxw9elSxbmTWrFl47LHHtDTNvHhHYDI7uWOUcySQ\n1fHOuZYSVQGryxU4gE8QhJDHJA0NDXC5XHj99dfRu3dvDBs2DLNnz8bChQsVsyNTp06F1+v1/ezb\nty+aZhrPDveeIXvT6RjllGdkKhwVZjmagpF27dohKSkpJAty8ODBkGyJpEOHDsjKyoLH4/E91rVr\nVwiCgP3798s+JyUlBWlpaQE/lsMPA5ldtMcoU99kdhwVZjmagpHk5GTk5+ejtLQ04PHS0lL069dP\n9jn9+/fHgQMH8NNPP/ke+/rrr+F2u9GxY8commwR/DCQ2UVzjEbIpChlSIkSinfOtRzN3TRTpkzB\nSy+9hJdffhk7d+7E5MmTUVlZiaKiIgBiF0thYVO/3OjRo9G2bVvccccd2LFjB9atW4f77rsPd955\nJ1q0aKHflphNPD8MvDIlPWg9RpntI6vg7TYsR/PQ3lGjRuHIkSOYOXMmqqurkZeXhxUrVqBTp04A\ngOrqalRWVvqWP+OMM1BaWop77rkHvXr1Qtu2bXHzzTfj8ccf128rzCheQyRZlEV60XqMhs2kpMS5\nsUQa8XYbluISLHC7zdraWng8Hni9XuvVj3ir9PsweKvE1HjwhFTF2/hBo+ipPUbDHH9jF1fho68O\n4e83XYwb823c/UpEmqg9f/PeNPGm571nWIcSmZW7sIxqu9pjlKlvIooT3rXXSjhVd3hW7sKyStuZ\n+iaiOGBmxEp4ZarMysWVVms77zRNRDpjZsRqeGUqL1IXltZZcBM5c264tlvk/TV/5RkRmRmDESvi\nVN2hlLqwDmwBSkZo6/5IdJcJu9+IyOHYTUP2INeFNXg6sHq6tu4PI7pMbNT9xinPiCgazIyQfQR3\nYUXT/WFUlwm734jIwRiMkL0Ed2Fp7f4wssuE3W9E5FDspiH7iqb7I9ouEyvPb0JEZDBmRsjeoun+\n0Pocq8wRQkRkUgxGyP6i6f5Q+xylgtfcQexyIf0lcsg5UQIxGCGKhQ3mCCGLYAaObIw1I2QuVqu9\nkApe/TlwjhDOeRZnVpull0gjBiNkHhUl4l1hXx0u/q4oMbpFkdlojhAyMd4kk2yO3TQS9sUay8q1\nF5wjxMfFWc/ig7P0ks0xMwJY84rcbqx+5cebx1E8mTEDZ7UuVTI1ZkasfEVuJ7zyIwrPTBk4FtOS\nzpgZsfoVuV2Y8cqPyGzMkIFjMS3FATMjvCI3DzNd+RGRPA5npzhgZoRX5OZihis/IlLG4ewUB8yM\nALwiJyJSS7qAW1YsZkR4AUc6YDAi4R1TiaImCJz2zFH0voDj1AqOx2CEiIi00+sCjiNzCKwZISId\ncdIz0oQjc6gRgxEiIjIGp1agRgxGiIjIGByZQ40YjJA5cGppIufh1ArUiAWsZDwWsBE5F6dWIDAz\nQkZjARsRcbJDx2MwQsayewEbu5+IiCJiNw0Zy873BmL3ExGRKsyMkLHsWsDG7iciItWYGSHj2bGA\nzaF3NnWBs54RkXYMRsgc4nVvIKPueWHn7iciIp2xm4bsq6IEmJMHvDpc/F1Rkrh127X7iYgoDpgZ\nIXtSqtnIHZS4gMCO3U9ERHHAYITsySw1G/HqfiIishF205A98Z4XRESWwWCE7Ik1G0RElsFuGrIv\n1mwkjCAY3QIisjIGI2RvrNkgIjI9dtMQkW5cnPOMiKLAYISIiIgMxWCEiIiIDMVghIiIiAzFYISI\niIgMxWCEiIiIDMVghIiIiAzFYISIYiaAs54RUfQ46RkRRc9bBRzdjTanveC1DRFFi8EIkd00Bgho\nkxvf2WcrSoBlkwChAc/AjRZJ4wBcEr/1EZFt8VKGyE4qSoA5ecCrw8XfFSXxWY+3yheIAIAbDXii\n2QKk/lwTn/URka0xGCGyi6AAAUIDsKxYfFxvR3c3radRM1cDWv1Uqf+6iMj2GIwQ2YVMgAChXrxr\nsd7a5AKuwK+P04Ibx884R/91EZHtMRjRylsF7F0Xn6tNoljIBAhwJQFtOuu/Lk8WMPwZ8fUB1MON\nh06Pwy8tMvRfFxHZHgtYtfAr2IPLLX4Z9yw0ulVEIilAWFYsZkRcScDwOfErYu1ZCOQOAo7uQfH7\nP2LZt270j8+aiMjmosqMzJ07Fzk5OUhNTUV+fj7Wr1+v6nkff/wxmjVrhksuuSSa1Rorkf3xRNHq\nWQgUbwPGLBd/xztY9mQBOQNxtNnZ8V0PEdma5mBk0aJFKC4uxrRp07BlyxYMHDgQQ4cORWVl+MI1\nr9eLwsJCDBo0KOrGGiqR/fGkHyd2qzUGCHEd1htE4JxnRBQDzcHI7NmzMW7cOIwfPx5du3bFnDlz\nkJ2djXnz5oV93l133YXRo0ejb9++UTfWUInsjyd9JGqYKxERxURTMHLy5EmUl5ejoKAg4PGCggKU\nlZUpPu+VV17B7t27MX36dFXrqaurQ21tbcCP4YIK9uLaH+/Eq3m9sVvNEC6Xy+gmEJEFaSpgPXz4\nMOrr65Genh7weHp6Ompq5Cc72rVrFx588EGsX78ezZqpW92sWbPw2GOPaWlaYvgV7KFN5/gEIiyS\n1Ue4brUEdl8QEVFkURWwBl/9CIIge0VUX1+P0aNH47HHHsMFF1yg+vWnTp0Kr9fr+9m3b180zYyP\nePbHm/Fq3qpZGnarERFZhqbMSLt27ZCUlBSSBTl48GBItgQAjh07hs2bN2PLli2YMGECAKChoQGC\nIKBZs2ZYtWoVrr766pDnpaSkICUlRUvT7MFsV/NWztIkepgrUSSJumcQkQVpCkaSk5ORn5+P0tJS\nXHfddb7HS0tL8dvf/jZk+bS0NGzbti3gsblz52LNmjV4++23kZOTE2WzbUq6mvcPSIy6mlfK0uQO\nss4XaSK61YjUsHJgT5QAmic9mzJlCm6//Xb06tULffv2xYsvvojKykoUFRUBELtYqqqqUFJSArfb\njby8vIDnt2/fHqmpqSGPE8x1NW+2LE20PFnWai/Zjx0Ce6I40xyMjBo1CkeOHMHMmTNRXV2NvLw8\nrFixAp06dQIAVFdXR5xzhMIwy9W8mbI0TsbUvvXZJbAniiOXIJh/uqLa2lp4PB54vV6kpaUZ3Rzn\nqCgJzdIwtZw4Fkrt3/riJ9i45wievfVSjLg40+jmmIu3SpznJjiwL97GYIRsT+35m/emIWVmydI4\nEVP79mGm7lcik2IwQuGx5sIYFk3tc8ozBQzsicJiMEJkRqzZsR8G9kSKopr0jDSy6sRhZJxE3n5A\nwuOUiAzCzEi8WagIkUwmkal9HqdEZCBmRuLJjNO7k7XE8/YDEh6nRGQwBiPxFK4IkSJjt0Fi8Dgl\nIoOxmyaeWIQYPXYbJA6PUyIyGDMj8SBd0QOJL0K0A6d2GxiVCdKhWFaA6edOJCITY2ZEb3JX9MXb\nOL+AFhadYyMm8c4ERZpWnvNgEJGBmBnRk9IVPRD/IkQ7kboN/Nm52yDemaCKEnE68leHi78rSuSX\n06FY1sVZz4goCgxG9MRCQH0YMceGkeJ53Di1y4uILIXdNHpiIaB+nNRtEM/jxoldXkRkOcyM6Mlp\nV/Txlog5NswgnseN07q8iMiSmBnRm5Ou6J0iUvGnHuJ13Ohxx9hEbD8RORqDkXjgDbHsI5HzncTr\nuIkl0OF8L0SUAOymsRvOWqofOxV/RtPlZaftJyJTY2bETuxyFWuWbgGnF39q2H6Bc54RUQyYGbEL\nu1zFqp0TIxGcXvzp9O0nooRhMGIXdpjjxGwBldNHR0Wx/S5w1jMi0o7dNHZhhzlOzNgt4vTRUU7f\nfiJKCGZG7MIOV/Fm7RZwynwnSpy+/UQUd8yM2InVr2L1mBODiIgsh8GI3Vh9jhOrB1RERKQZgxEy\nH6sHVEREpAlrRoiIiMhQDEaIKGac84yIYsFghIiIiAzFYISIdOPinGdEFAUGI0RERGQoBiNE/njX\nYyKihOPQXiKJXe56TERkMcyMEAHmu0kfEZGDMBghAuxx12MiIotiMEIEmPcmfUREDsBghAiwx12P\njcRZz4goBixgjcRbJabw2+TyxGR3vEkfEZEhGIyEw9EVzsOb9MWEc54RUTTYTaOEoysiS+ScHHqu\ny6lziTh1u4nI9JgZURJudAWvnBObNdJzXU7Ndjl1u4nIEpgZUcLRFcoSmTXSc11OzXY5dbuJyDIY\njCjh6AplSlmjL97V/wSn5/wfTp1LxKnbTUSWwW6acJw+ukJpJJGUNQo+wa16CCh9WN8uALl1RZuh\n0vO1rMSp201ElsHMSCSeLCBnoPMCkYoSYE4e8Opw8XdFSdPfgrNG/vTuAtAzQ2VktsvI4lFm+YjI\n5JgZkeP0uUWUagxyBzXtDylr9MW7YkbEn96FvnpmqIzIdpmheDTO2y1w1jMiigEzI8HCZQScQm2N\ngScL6DYyMYW+emWofIFmggIRMxWPOjXLR0Smx2DEn5lOHPEWrttAy0iiRHUB6NHNYUSgyeJRIqKI\n2E3jzylzi0TqNpACjGXF4vZHCjDi3fWhRzeHmq6neHBY8aiLU7ASURQYjPiTHSXiBpq3NKxJulN7\nUtYaYMRrGnW9ggijAk2tgR0RkQOxm8af7CiRBmDBYPvUjmjpNjBDjYEe3RzeKuD4YeMmsetZCBRv\nA8YsF38nuniV08ATkckxMxKsZyHQvhuwYBAgNI4QSFRKPxGs1m0Qa3v9u3jgEvsRBCHxGQqjbsBn\nhpE8REQRMDMi59TxpkBEYpeiQ6vNORFLe4O7eCAAggu4caExGYpEc1JBNhFZGjMjcqyWPdDKajPL\nRtteuS4eNACt2pl/m/XglIJsIrI8ZkbkWC17EA0z1INoEU17nX6zQ6dvPxFZBjMjSqyWPaBQTh/J\nksDtD+7VJCLSgsFIOHoXHTp9mnkjOD2odPr2E5ElRNVNM3fuXOTk5CA1NRX5+flYv3694rKLFy/G\nNddcg7PPPhtpaWno27cv3n///agbbFmcZt44VuuS0ltCt5+znhGRdpqDkUWLFqG4uBjTpk3Dli1b\nMHDgQAwdOhSVlZWyy69btw7XXHMNVqxYgfLyclx11VUYPnw4tmzZEnPjLYOjGoiIiBRpDkZmz56N\ncePGYfz48ejatSvmzJmD7OxszJs3T3b5OXPm4P7778dll12G888/H0888QTOP/98LFu2LObGWwbv\nT2JunBSMiMhQmmpGTp48ifLycjz44IMBjxcUFKCsrEzVazQ0NODYsWNo06aN4jJ1dXWoq6vz/b+2\ntlZLM83HCkOF7V7PorR9nBSMiMhwmjIjhw8fRn19PdLT0wMeT09PR01NjarXePrpp3H8+HHcfPPN\nisvMmjULHo/H95Odna2lmeYTz6HCVr2brd7C7Qel7UtU9xkzL0REYUU1msYVdGtOQRBCHpPz5ptv\nYsaMGXjvvffQvn17xeWmTp2KKVOm+P5fW1tr/YAkHqMarHw3Wz2F2w/hti8Rk4Ix80JEFJGmzEi7\ndu2QlJQUkgU5ePBgSLYk2KJFizBu3Dj87//+LwYPHhx22ZSUFKSlpQX82IKeoxr0uqq3ej1LpP0Q\nbvviPSkYC5eJiFTRFIwkJycjPz8fpaWlAY+XlpaiX79+is978803MXbsWLzxxhu49tpro2spBdIr\niLD6LJ2R9kO47Yv3TLtWD/Q04JxnRBQLzd00U6ZMwe23345evXqhb9++ePHFF1FZWYmioiIAYhdL\nVVUVSkrEfvk333wThYWFeOaZZ3D55Zf7siotWrSAx+PRcVMcRq+iWKvPUhppP0TavnhOCtYmF+K8\nG/6napd1Aj0iogTRHIyMGjUKR44cwcyZM1FdXY28vDysWLECnTp1AgBUV1cHzDnyr3/9C6dPn8bd\nd9+Nu+++2/f4mDFjsHDhwti3wKn0DCKsPEunmv0QvH2AWFAqjazRe6bdcGw+J5iK0jEiohAuQTD/\nXSVqa2vh8Xjg9XrtUz+iF2+VNYMIvandD4ksKN27ThzBE2zMcrF2yEZumFeG8u9+wL9uz8eQbhlG\nN4eITELt+Zv3prG6RF7Vm5ma/ZDokUNWmF+GiMgEoro3DWnAOSbMI9EFpfEukDUSj2si0hEzI/HE\nOSbMxYhMhZXrcZTIHdc4z+hWEZGFMTMSL2aYY4JXr4GMylTY4a7B0rG0v1z2uG5Tf8jY9hGRpTEz\nEi+JmN0zHGZl5NkxUxFv/sdSyFBlAEI9OtRXA7D4LMlEZBhmRuLFyMnEzJCVMTM7ZCoSJfhYkpve\nzJWEaneHhDaLiOyFwUi8GFm86KCZPynO5I4loCnQbjyujyS1S2y7iMhW2E0TT0Z1CXBIKelF6Vga\nVwqcOtF0XH/ysfgng5pJRNbGzEi8GdElYOchpZRYSsdSx3x2dRGRbpgZsatIU6CblbdK7Bowezud\nhEW/RBRnDEbsTJqV1Coja6zSTifiTL9EFEfsprE7q4yssUo7iYhIdwxGEimaSchinbjMKiNrrNJO\nIiLSHbtpEiWaLgg9ui2sMrJGaztZW0JEZBvMjCRCNF0Q0XZbBGdS9BpZE++p5bW0s6IEmJMHvDpc\n/F1REp82STitfkQyU6EREanGzEgiRDM1fDTPUcqkxDoaIlGFpWraqRSk5Q6KT4aERbVERHHHzEgi\nrnqjmRo+0nOC2x0pkxLtfCexFpb632BNzX6O1M5E1pawqDaQis+Ky8Vpz4hIO2dnRhJ11St1QSwr\nFk+carpKwj1Hrt1nnRufG/PFcsO/gBusNYp1P8erBkauBsXomx0mipr6G2aIiCiOnBuMJDrdH01X\nidxzlNo9rjQ+J+loT/4hN1hDYHuj3c/RBHaRKJ1orVL8Gws1QUaiPytE5DjO7aYxYihpNF0lwc9R\navepE/GZAj7aAlilG6xJ7Y1mP0vdBLmDgOJtwJjl4u9YrtDDdcXYfVp9td1QHHZNRHHm3MyIVa96\nw7U7Z2B8pu2OJqsj187g9moRr26CSF0xdp4KXW03VCyfFQ7BJiIVnJsZMfNVb7hCwUjtjteN+bS+\nbnA7JdHs53gWkqopLjbiZoeJoLawOtrPSqKHYBORZTk3MwKY86pXTQbAjO2W49/O5i0DbzmvRTwL\nSWOtQYn2yj/Rz5OjZdu1HnOsMyEiDZwdjADmugGYli9wM7U7HD3aGe8utWiDu3CBY7igIdoup3h0\nVWnZ9jDvpRA865lTRiIRkS6c201jRpEKBZ06E2giutS0dsWE6zoK1z0Ry8y68eqqikc3VDRz6xCR\nYzEzYibhMgBOn+chlq4prV0bapZXChz3bQqf3Yo2Y2DyTEPb+sPo6/4KqSc6AkiPzxBsIrItBiMS\nM1T9K32BA/InuPbdgFPHzTFSIRH7L5ouH61BnNrllQLHE0fCBw3RdjkZPforQrfT/KMT4U4WICyf\nBbh1ug0BETmGSxBCentNp7a2Fh6PB16vF2lpafqvQOsJK9KJN5oTs/9zgKYvcAD4Ygmwalroc1wu\nsbPe6EyJWbM23iqxmyT4BF68Tfl907J8RUlg4NhjFPD5mwi5bVzwawQ/b/gcDTUjCs+LZzAYqTZG\nyz4jIkdRe/5mZkRr1X+kE280J2al58hNp+5PiiONHKlg5lETWrs2Pp2n3PVytG3oiT54tNCCwQgN\nRNyB3RPeKnHq/nGl2kcXKWUa4hkMhnt/ATFQNnH3ERFZA4MRLSesSCfeaE7MSs9p3y1MIOIGYJIT\nQLjaCf8TuJ5X7mpfS0vXhrcKKPunzIu4gHfuVD7RS11He9fJv1c3vAzkXSf+Wy5oyBmoapND1uff\n7ngGg0rv76cvABv/qd+kdkTkaAxGtJywIgUu0RQZKj2n8hP5L/ohTwDZl4tX4WaoH5CdaTXoBN7j\nFuC/b+lz5a4lC6CliPLoboRkNQDxMTUZKKXjKLu3+O94BQ3xLmyVfX/dIYGIAMAFQHC54WKhKhFp\nxKG9WoaNRhquGM1wRqXnnHO5/OMXjQQ65hs3e2zwsNXdHwTNtNrYZv+T7udvBP5/6aTQIalqhi1H\nM7y1Z6G6+9i0yYV4Oo1A6Z4sITPOuoHB09XdATgW8R5CK/f56Hd3yLa4AMw89TtsuPYjc9QLEZGl\nMBgBIp+wpBMlEHkqdq1BgtJzggMOuIG+f1Tf5niQCwaWThK7lKS23LgA8hkGfw1iml+idtrwcF1C\n4QIZNfNoeLKAfhMitBvhT/Q9C4HBM8TCYjQAq2c0bUu8goZEzMESfKz1+UPIttTDjRX1fVDXMkO/\n9RKRY3A0TSRy3QKRhit6q7QPZ1R6jrcqsH/eyNEqe9eJAYOca2YC/RszHv/ohogBicsNFG8X/612\nNIbcyA24GkcV6bBvIr5+hJEvss93A+NXi8FltKNo1LY9kUNog7bluVYT8PThPnipsBcGX5Qe//UT\nkSVwNI0elLoFireFLzyMZj6McM/x759XWxQbj2Ge4e7EW/ooABfQf6KYYSh7LvxrCQ2NXRSCtpqH\nvncDG59vfI478Pmx1mEo1ZionStDLnODBmDBIGD4s/rOu+GtAvZ9Kv47u0/ibw+QOwi44SUALiC7\nN1a/9i2AH8WkEBGRRgxGwlE7UsSINiidrOM5zFM6WS+dhJDRPACwejqQd4OYxvcFDApc7qYuCjUF\nxAHDnF1Av4lA5qXA23cELhdr8aZSwKDm9ZSCNUEIDJJiPWYqSoClE9GUfXIBI55NXLZM7hhDbmLW\nTUS2xJoRf8FFlHL9/NJIEf/6Bj3vGaOmDeGGp8rVdOwvj71dkp6FYreDHCnbEVLMKaPvhKYTc6Sa\nh+DtgiAGO2d2il8dRjT3apG2Re5jJQWxsfJWBQUiEP+9TKYoOJZ1KB3PCtnCtvWH9Vk3ETkSgxGJ\nXBGl3AgJIOhkP1Fd8aVebYg0PFWpmyD4Zm2xBE8d88UakWD+gYBU9HjjQpmAzg30KWr6b6RiXKXs\n0KkTwODHml7fDPc/kYI1uf6Kd+6M7fgAlIcg+7q9YhSpmFjhvehQfyD2dRORY7GbBgg/B4R/2v74\nodBugXDzUGip3VDbhnC1Bmq6CXZ/oE83Tv9JAFxi14x/cad/2zxZgOc6wLtPeTn/faRUh6M0h8eB\nLU2vC5c4lNaoYaX+29ExX6wRCe7O0mNuEd8QZJmZXmPNCKmZC0XhvahOyoxt3UTkaMyMAJHngJDS\n9tl9ZK7yIf88tcNVtbZBzTDhcN0Eet6Gvv9EcURMuOHFFSXKAYPafSSXHRo83e91AUAAVj+mX1eF\nFnLb0bOwcZhzkFjnFvFkifUh/nOiuFzi/ok1I6RmLhSF+VSOJLWLbd1E5GgMRgCF2hC3mAnxP7nJ\ndtsEpeNdSeJ9SrSe9PWah0Kpm8CVhLAjV6IVLkiSq/WQAgatE5gFd+UcPxSfScS08FYB2xcrb4dc\n8Bqu3kdt11nPQmDyF2IX2I0LgeIv9MkIyX4OIGaggtcfNJ/K4J/fj339RORYDEYAmSCjMQ3+9h2h\nV+z+J8XJ2xuvUqXd6Ba7IE4dD3+ilE5i2xc3nXzUFnKqOWFJ3QTBryWb2XEDJ4/Lv26stSXhrrSj\nmZFUCnwA+fvI6NFVoZaUDXn7jvCjndTU+/hnVv7RDVj1cNM+938P/P/tyRLveZN3nbqMiJr30pMl\nBhnBVs8IfJ63qjEr1dQ9+cefnkMGjkRuBxGRDNaMSKS6jH2bmu6rAsj3mwcPz5S68KVkRPNW8uto\n3jL8sMxwtSFah+wGzQPhey3/eTQAAA3Am6Mam+L3unoMEY503x81Q3qD6268VeKdYuWKOKUROvEW\nkvEJElzIG67eRy57VPacOFrI/54+voNL0P5+aHkvMy8NfSx4uLRMIJmEBpzr/l5de4iIgjAz4s+T\nBbRqq/6KXamr4cfv5F//6/cjD8uU6/bQ2qXhf9X+zp1i0aqkZ6F4+3q50R7S6+4v16e2JFxmwJMl\nnmz99RgVGoD512Is+YP4e9U0mZUFjdAJpufwa9lRS37t8J+23xdMKRQeK71W8D19IMB33Gh5P7Qe\nO2q6C2Xu49MAF75tSOekZ0QUFQYjwbTUbih1NcAl3/e+7q+Ialimli4NNSefU8ebUuwhbVG4Y3Dw\n+vaXi10lkeYwURq2660CPn8zcNn/vhnYPRG8HQEnZz+uJGDEM02Zk+CgQ2sxcSTBNRQAADeQf4d4\nji57LjB4kluv1M7mrSIXRctRWx+jtTssEfe6ISIKwm6aYFpuOx/utvEh3SFhRKp1CNftE0zNjK3h\npnV3JQFtcxvvxyIEPt6mc+OkWxOA3Wua/nbxaOC6ecrtFxsR+N99n4Y+JghiN5nnugjZBz9DnhDv\nZOzJCp2l9ZrHgLwbIw9X1WJ/uVgvEWzgFGDD7NDgybdtfusNHl7d4xbg87cgO6utErXFzZG6yuRE\n6lqSmevEDYHdNEQUNWZG/ElXq7mD1N0RN9xVpNQdEtwVESx4WKbUhv3lTVf4p47LP/fUidC2nzyB\nkBE+QGjg0vdu+QxQj1HAW7eGBiLD54gn0X9cFBiIAOJJVylDElCceRHw77HqZoRt3kq+KylY9uVN\nGZHg2ovSR4F1f9Nv1E1FCfDSIPmsUos2kYMnpeHV/10kjoDqN9HvPXEDF/02sKjatz+CuoLCURoW\nfXS3cldNpK4lmexhPdz4toE3yCOi6DAzIlG8O+9u8e9KV9FKV5Ehhar+3MCwvwMt2wQWlwZc2Tdy\nuRuHUYa5upV7XrAFgxvnIEHoPV4uGikGNs1bissF33V2XCnQOkMMKpTs+0QcxeNPrtDziyXiT9eR\nCJ28q7HY1rc9/n9zQzZzIAVkSpmU8lfk913zlmLwpvb+QtK2yL2friTgnMuVs03+23fiiHxwdOoE\nUPBnoNXZwOpHxWV2LhPf+8yeTe+1dAdnqchVTSGr/zHqP1GcfzGrFIAc2Cr/d38y2cO5re5GzS9t\nw7eDiEgBgxFA4Z4uE6H61vTBo2v2lwNL71FYmUusbwh+LaURGkKDeHIYPFMcYunfdQSEznOhRLpP\njQuB2YONz4uFn54s8eQsN538qRORu02yL2/aDulustJ65ex8F+h9F7DpRbEdcIv7BZDZHhdwya3A\n1tcDX8M/IFPqygKAzlcBez5q2nc9RjUFXWpHpihtv6txOHfH/MYTdLj3QgBW3IuQIEzajq9WNt79\n2K9QdfVjYnZOyv6UPRf492UTA7uclGb9lf5dMiK0y+rnH4MmkEPg3+VmFPYPcJq3xPf/+wmH9hJR\n1BiMAAonmjDTvIfjy4jo0QapKQLgyRZPSlIGZvcHYqZCTV2FT0Pohb1/PYnWobiSriPFk7FsNkhm\n6nKJLxBxAdfMEE9wsgGREBqIAIEzuS6bJL8OANjzITButXz2R+17K1tn4xZf1z8jpFQY7L8tUoGz\n0ABpBlOseTywxsS3eH1THU2kOhulIbxSEHH8sHxWZvWj4Quaj+5Rvo1A4+OPCw14LMWFr3c/DnSZ\nEGEfEBEFYjAChL+qlgj1wBfvAt1Giv+Xrv6z+zSdxPaXi1eqSidf8YXEDEXyGYHPDVdUCgAnjjZd\nlQLqsiEhXE3ZHh93YJdFcPGuVF/QvJVYZ7Lx+dD1frkU+PgZoHR6hG0PJjT9Xt1YbBppP/grfwUo\nXxj0WnKraczu5AyUD3aC39uju8XamyPfAOf0FYMNpcJmKRAJ140jt909xwIVC8W2lD4afvF37gRO\nHhOPGTl714rdW3KFugFZDxdCg8MI+zrcjMKt2ovHe2Mgk+QS0GXzI8AAlROxERE1cglCxEs5w9XW\n1sLj8cDr9SItLU3/FexdJxZYqiJT5zDiWfFLv/QRbesN7iL4+NnANH3wstJVad+7G9P1GvWbCLQ7\nXzl74V8rs2+TeJKreDW0yyR/rMzjCjUdgDhl+Zb/CZzvRGm5Vm2BPWuB9X/XvHlhDXsauHAosP3t\nMCd/hSxO15FAt9+K/z6zkxjY+NcHSROxyc5/orQqlQGXb/kksXbnpavlX+uGBTI3cUToqKjgvw1+\nrLH7T64LqjHgOutcDZ8PiIXfSjc9JCJHUXv+ZjAi1Ti8My70pBuSRYgHt3hDNe9++X57qS3BV7MB\ntR9+yw2cAqR3D5xFVnrO5O3iP8N277iB/DGNGQedDo3JO8Tfq2cA2/6t/LpaT9BRCdNtpPb50oy5\ngLriYb386gHg+EExIxTsqkeBjx7X2A63OIpny/80BZdSNkwqmvVkAR/MBNY/reoVBZcbruLtzIwQ\nEQAGI+qEnEikDEHjFWH7bmKtwmaZu68arX0ecHB76OPSFfSOJY33b5FqMh4D+k/SmAUKR6YI87Lx\nwKZ/hS560Uhgx3vQLbgxmquxVuTAlsaCVJNsV8c+QNVmqJrbRsk1M8XjROKtEu+Xo2Ib6wUXdvX+\nC7pce3f06yciW1F7/nZuzYjs6BUByLoMuPlVsUvhpUEwzYkmmFwgAognopB2N865UbNN7GbQRVCm\n5rxB8oEIAOx4V6d1moTQIN9dYrT9nwItzwZOHIr+NUqni8XSUj2TzARnchoAjKx7DFNyb0KX6NdO\nRA7l3GBEafRK1WfA+9PEzIJlKZw8tv07TutrAHatitNrkyaxBCIAIN2tGhBrgy4thJquLReAQzgr\nxnUTkVM5dwZWaVSKHEsHIkQ6KV/YmAGKnBlxAXi82UtofeTzeLeKiGwoqmBk7ty5yMnJQWpqKvLz\n87F+/fqwy69duxb5+flITU1F586d8cILL0TVWCIyr8HNPkd+6Y3iDQKJiDTQHIwsWrQIxcXFmDZt\nGrZs2YKBAwdi6NChqKyslF1+7969GDZsGAYOHIgtW7bgoYcewsSJE/HOO+/E3PiYzDdhnz+RxbmA\n8PcqIiKSoXk0TZ8+fdCzZ0/Mm9d0l9auXbti5MiRmDVrVsjyDzzwAJYuXYqdO3f6HisqKsLnn3+O\njRs3yq6jrq4OdXV1vv/X1tYiOztbv9E0W14H3lN5ozEi0q5ZS+DhaqNbQUQGUzuaRlNm5OTJkygv\nL0dBQUHA4wUFBSgrK5N9zsaNG0OWHzJkCDZv3oxTp07JPmfWrFnweDy+n+zsbC3NjGznMn1fj4gC\nnT4ReRkiokaagpHDhw+jvr4e6emBtwpPT09HTU2N7HNqampklz99+jQOHz4s+5ypU6fC6/X6fvbt\n26elmZF11WOeDSJS1LK90S0gIguJqoDV5XIF/F8QhJDHIi0v97gkJSUFaWlpAT+6uvQ24KwcfV+T\niJrcv8voFhCRhWgKRtq1a4ekpKSQLMjBgwdDsh+SjIwM2eWbNWuGtm3bamyujiZtBX4717j1E9lR\ny/bADK/RrSAii9E06VlycjLy8/NRWlqK6667zvd4aWkpfvvb38o+p2/fvli2LLBGY9WqVejVqxea\nN28eRZN1dOlt4g8REREZRnM3zZQpU/DSSy/h5Zdfxs6dOzF58mRUVlaiqKgIgFjvUVhY6Fu+qKgI\n3333HaZMmYKdO3fi5ZdfxoIFC3DvvffqtxVERERkWZqngx81ahSOHDmCmTNnorq6Gnl5eVixYgU6\ndRLveVJdXR0w50hOTg5WrFiByZMn4/nnn0dmZiaeffZZ3HDDDfptBREREVmWs+/aS0RERHETl3lG\niIiIiPTGYISIiIgMxWCEiIiIDMVghIiIiAzFYISIiIgMxWCEiIiIDMVghIiIiAzFYISIiIgMpXkG\nViNI87LV1tYa3BIiIiJSSzpvR5pf1RLByLFjxwAA2dnZBreEiIiItDp27Bg8Ho/i3y0xHXxDQwMO\nHDiA1q1bw+Vy6fa6tbW1yM7Oxr59+zjNvAzuH2XcN8q4b5Rx3yjjvgnPqvtHEAQcO3YMmZmZcLuV\nK0MskRlxu93o2LFj3F4/LS3NUm9uonH/KOO+UcZ9o4z7Rhn3TXhW3D/hMiISFrASERGRoRiMEBER\nkaEcHYykpKRg+vTpSElJMboppsT9o4z7Rhn3jTLuG2XcN+HZff9YooCViIiI7MvRmREiIiIyHoMR\nIiIiMhSDESIiIjIUgxEiIiIyFIMRIiIiMpSjg5G5c+ciJycHqampyM/Px/r1641ukq5mzZqFyy67\nDK1bt0b79u0xcuRIfPXVVwHLCIKAGTNmIDMzEy1atMCVV16JL774ImCZuro63HPPPWjXrh1atWqF\nESNGYP/+/QHL/PDDD7j99tvh8Xjg8Xhw++2348cff4z3Jupm1qxZcLlcKC4u9j3m5H1TVVWF3/3u\nd2jbti1atmyJSy65BOXl5b6/O3XfnD59Gg8//DBycnLQokULdO7cGTNnzkRDQ4NvGSftm3Xr1mH4\n8OHIzMyEy+XCu+++G/D3RO6LyspKDB8+HK1atUK7du0wceJEnDx5Mh6brUq4fXPq1Ck88MAD6N69\nO1q1aoXMzEwUFhbiwIEDAa9h130jS3Cot956S2jevLkwf/58YceOHcKkSZOEVq1aCd99953RTdPN\nkCFDhFdeeUXYvn27sHXrVuHaa68VzjnnHOGnn37yLfPkk08KrVu3Ft555x1h27ZtwqhRo4QOHToI\ntbW1vmWKioqErKwsobS0VKioqBCuuuoq4eKLLxZOnz7tW+bXv/61kJeXJ5SVlQllZWVCXl6e8Jvf\n/Cah2xutTZs2Ceeee67Qo0cPYdKkSb7Hnbpvjh49KnTq1EkYO3as8Omnnwp79+4VVq9eLXzzzTe+\nZZy6bx5//HGhbdu2wvLly4W9e/cK//73v4UzzjhDmDNnjm8ZJ+2bFStWCNOmTRPeeecdAYCwZMmS\ngL8nal+cPn1ayMvLE6666iqhoqJCKC0tFTIzM4UJEybEfR8oCbdvfvzxR2Hw4MHCokWLhC+//FLY\nuHGj0KdPHyE/Pz/gNey6b+Q4Nhjp3bu3UFRUFPBYly5dhAcffNCgFsXfwYMHBQDC2rVrBUEQhIaG\nBiEjI0N48sknfcv88ssvgsfjEV544QVBEMQPTfPmzYW33nrLt0xVVZXgdruFlStXCoIgCDt27BAA\nCJ988olvmY0bNwoAhC+//DIRmxa1Y8eOCeeff75QWloqXHHFFb5gxMn75oEHHhAGDBig+Hcn75tr\nr71WuPPOOwMeu/7664Xf/e53giA4e98En3ATuS9WrFghuN1uoaqqyrfMm2++KaSkpAherzcu26uF\nXKAWbNOmTQIA3wWxU/aNxJHdNCdPnkR5eTkKCgoCHi8oKEBZWZlBrYo/r9cLAGjTpg0AYO/evaip\nqQnYDykpKbjiiit8+6G8vBynTp0KWCYzMxN5eXm+ZTZu3AiPx4M+ffr4lrn88svh8XhMvz/vvvtu\nXHvttRg8eHDA407eN0uXLkWvXr1w0003oX379rj00ksxf/5839+dvG8GDBiADz74AF9//TUA4PPP\nP8eGDRswbNgwAM7eN8ESuS82btyIvLw8ZGZm+pYZMmQI6urqAroXzczr9cLlcuHMM88E4Lx9Y4m7\n9urt8OHDqK+vR3p6esDj6enpqKmpMahV8SUIAqZMmYIBAwYgLy8PAHzbKrcfvvvuO98yycnJOOus\ns0KWkZ5fU1OD9u3bh6yzffv2pt6fb731FioqKvDZZ5+F/M3J+2bPnj2YN28epkyZgoceegibNm3C\nxIkTkZKSgsLCQkfvmwceeABerxddunRBUlIS6uvr8Ze//AW33norAGcfN8ESuS9qampC1nPWWWch\nOTnZEvvrl19+wYMPPojRo0f77sjrtH3jyGBE4nK5Av4vCELIY3YxYcIE/Pe//8WGDRtC/hbNfghe\nRm55M+/Pffv2YdKkSVi1ahVSU1MVl3PivmloaECvXr3wxBNPAAAuvfRSfPHFF5g3bx4KCwt9yzlx\n3yxatAivvfYa3njjDXTr1g1bt25FcXExMjMzMWbMGN9yTtw3ShK1L6y6v06dOoVbbrkFDQ0NmDt3\nbsTl7bpvHNlN065dOyQlJYVEhQcPHgyJIO3gnnvuwdKlS/Hhhx+iY8eOvsczMjIAIOx+yMjIwMmT\nJ/HDDz+EXeb7778PWe+hQ4dMuz/Ly8tx8OBB5Ofno1mzZmjWrBnWrl2LZ599Fs2aNfO124n7pkOH\nDrjooosCHuvatSsqKysBOPu4ue+++/Dggw/illtuQffu3XH77bdj8uTJmDVrFgBn75tgidwXGRkZ\nIev54YcfcOrUKVPvr1OnTuHmm2/G3r17UVpa6suKAM7bN44MRpKTk5Gfn4/S0tKAx0tLS9GvXz+D\nWqU/QRAwYcIELF68GGvWrEFOTk7A33NycpCRkRGwH06ePIm1a9f69kN+fj6aN28esEx1dTW2b9/u\nW6Zv377wer3YtGmTb5lPP/0UXq/XtPtz0KBB2LZtG7Zu3er76dWrF2677TZs3boVnTt3duy+6d+/\nf8gQ8K+//hqdOnUC4Ozj5sSJE3C7A782k5KSfEN7nbxvgiVyX/Tt2xfbt29HdXW1b5lVq1YhJSUF\n+fn5cd3OaEmByK5du7B69Wq0bds24O+O2zeJrJY1E2lo74IFC4QdO3YIxcXFQqtWrYRvv/3W6Kbp\n5g9/+IPg8XiEjz76SKiurvb9nDhxwrfMk08+KXg8HmHx4sXCtm3bhFtvvVV26F3Hjh2F1atXCxUV\nFcLVV18tO7ysR48ewsaNG4WNGzcK3bt3N90wxEj8R9MIgnP3zaZNm4RmzZoJf/nLX4Rdu3YJr7/+\nutCyZUvhtdde8y3j1H0zZswYISsryze0d/HixUK7du2E+++/37eMk/bNsWPHhC1btghbtmwRAAiz\nZ88WtmzZ4hsRkqh9IQ1fHTRokFBRUSGsXr1a6Nixo6HDV8Ptm1OnTgkjRowQOnbsKGzdujXg+7mu\nrs73GnbdN3IcG4wIgiA8//zzQqdOnYTk5GShZ8+eviGvdgFA9ueVV17xLdPQ0CBMnz5dyMjIEFJS\nUoRf/epXwrZt2wJe5+effxYmTJggtGnTRmjRooXwm9/8RqisrAxY5siRI8Jtt90mtG7dWmjdurVw\n2223CT/88EMCtlI/wcGIk/fNsmXLhLy8PCElJUXo0qWL8OKLLwb83an7pra2Vpg0aZJwzjnnCKmp\nqULnzp2FadOmBZxAnLRvPvzwQ9nvmDFjxgiCkNh98d133wnXXnut0KJFC6FNmzbChAkThF9++SWe\nmx9WuH2zd+9exe/nDz/80Pcadt03clyCIAiJy8MQERERBXJkzQgRERGZB4MRIiIiMhSDESIiIjIU\ngxEiIiIyFIMRIiIiMhSDESIiIjIUgxEiIiIyFIMRIiIiMhSDESIiIjIUgxEiIiIyFIMRIiIiMtT/\nBxvNqW1MoE3zAAAAAElFTkSuQmCC\n" } } ], "source": [ "net.to(\"cpu\")\n", "plt.plot(y)\n", "plt.plot(net(X).data,'.')\n", "plt.title(\"Training Set\",size=15)" ], "id": "a47a0262-fa48-4cde-9d02-b75c71fc9ac3" }, { "cell_type": "code", "execution_count": 37, "metadata": { "tags": [] }, "outputs": [ { "output_type": "display_data", "metadata": {}, "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAG1CAYAAAAr/fRyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90\nbGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9h\nAAAPYQGoP6dpAAA820lEQVR4nO3de3xU5YH/8e9kcuOW0YgkJEQMaaUUFE1QBEQUNBU1SrU/2eIS\nYMWXVFQQdS0v91fAX3+LaysLXkAreGHXRdqKFiyLhl8RUNAqFxcFLQIaDIkU0AlyyfX5/XGYSSaZ\nSeaak0k+79drXpM5c86Z58wzmfOd5zzPOQ5jjBEAAIBNEuwuAAAA6NwIIwAAwFaEEQAAYCvCCAAA\nsBVhBAAA2IowAgAAbEUYAQAAtiKMAAAAWxFGAACArQgjQAfncDhCup1//vl2F9mvuro6Pf/887ry\nyit19tlnKzk5Wb1791ZBQYGmT5+uN9980+4iAgiTg9PBAx3b5MmTm0179913tW/fPg0ePFgXX3yx\nz3M9e/bUb3/726iX48svv1Rubq5GjRqld955J6Rlq6urVVRUpLfffltOp1NDhw5VTk6OTp8+rZ07\nd+qrr75S//799dlnn0VUxrlz52revHl68cUX/b5vAGIj0e4CAIitl156qdm0yZMna9++fRo3bpzm\nzp3b5mUK1VNPPaW3335b559/vtavX6+8vDyf53fs2KE///nPNpUOQKQIIwDavVWrVkmS/uVf/qVZ\nEJGkSy65RJdccklbFwtAlNBnBICP6upqLVq0SJdeeql69Oihbt266bLLLtOyZcvk76juwYMHNX36\ndPXv319du3ZVenq6Bg4cqLvuukuff/65JOvwR25uriRp48aNPn1Ugjkc8ve//12SdO6554a8Pbt2\n7dLtt9+u7OxspaSkKCsrS1OmTNGXX37pM9/555+vefPmSZKmTJniU8ZQDysBCA0tIwC8Tpw4obFj\nx2rz5s3q2bOnrrjiCiUkJGjr1q2aOnWqPvzwQz377LPe+b/++mvl5+fryJEjuuiii1RUVKTTp0/r\nq6++0vPPP69hw4apf//+uvjii3XrrbfqtddeU0ZGhq677jrvOq644opWy9WnTx/t3btXy5Yt0/XX\nX6/ExOC+ul577TVNmDBB1dXVKigo0PDhw7Vv3z699NJLWrNmjTZu3KiBAwdKkn72s59p/fr1+vjj\njzVixAj94Ac/8K4nMzMz2LcQQDgMgE5n0qRJRpKZM2eOz/Rf/OIXRpKZOHGiOX78uHf64cOHzdCh\nQ40k8+abb3qnz5kzx0gyTzzxRLPX+PLLL80XX3zhfXzgwAEjyYwaNSrk8r7yyitGkpFkzjvvPDNj\nxgyzcuVKc/DgwYDL7N+/33Tt2tW4XC6zceNGn+defvllI8lceumlPtM92/Piiy+GXEYA4eMwDQBJ\n0uHDh7V06VLl5ubq+eefV/fu3b3PnXvuuXruueckyXvvWUaSRo8e3Wx9ffv29du/IxwTJkzQ448/\nri5duqi0tFSLFi3S+PHjlZOTox//+MdavHix6urqfJZZtGiRTp48qccff1xXXnmlz3PFxcUaN26c\nPvzwQ23fvj0qZQQQPsIIAElWX46amhpdd911SklJafb84MGD1aNHD3344YfeaQUFBZKk6dOna8OG\nDaqtrY1Z+R566CGVlpZqyZIluu2227znQ9mzZ4+mT5+un/3sZ6qvr/fOX1JSIkm6+eab/a7Pc3io\n8fYAsAdhBIAkeTt0LlmyJOAJ0Y4fP64jR454l5k8ebJuu+02bdmyRaNHj5bL5dKoUaP02GOPeVtN\noqlnz56aNm2aVq5cqQMHDujzzz/XnXfeKUl64403tGLFimbbk5mZ6XdbHnzwQUny2R4A9qADKwBJ\n8h7muOSSS3TRRRcFtYzT6dTKlSv1y1/+Un/605+0YcMGvf/++9q0aZPmz5+vt956S5dffnnMynzB\nBRfod7/7nY4dO6bXXntNf/7zn3X77bd7t8fhcKi4uLjFdXg6sAKwD2EEgCRrxIokXXXVVVqwYEFI\ny3rO8zF37lxVVlZq3rx5WrBggWbMmKEPPvggFsX1cdVVV+m1117zaeXo06eP9u3bpyeffFJpaWkx\nLwOA8HGYBoAk6eqrr5bT6dSbb77ZrDNoKNLS0vSv//qvcjgc2rVrl3d6cnKyJIXVr8S0ctWKffv2\nSZKysrK806655hpJ1uGbYEVSRgDhI4wAkCRlZ2dr8uTJ2rt3ryZOnOi3L8WWLVu0du1a7+P/+I//\n0CeffNJsvnXr1skYo/POO887rWfPnkpKStK+fftCDjs33XSTnnrqKX333XfNnvvv//5v77lPbrnl\nFu/0Bx54QF26dNH999+vNWvWNFvu2LFjWrx4sU6dOuWd5gkznpO1AWgbXCgP6IQmT56sl19+WXPm\nzPG5Ns3Jkyd14403asOGDerRo4cuvvhiZWVlqaKiQl988YXKyso0Y8YMLVy4UJI0btw4/elPf1Je\nXp4uvPBCdenSRV9++aXef/99JSQk6Pe//71PQLjpppu0Zs0aDRw4UPn5+UpOTtaIESM0ZcqUFst7\n8cUX6+OPP1ZSUpIuueQSnX/++aqpqdFnn32mPXv2SJKmTp2q559/3me5VatW6R//8R916tQp9e/f\nXwMGDJAxRl999ZV2796t6upqffvttzrrrLMkSYcOHVJeXp5qamp07bXXKisrSw6HQw899JD69+8f\n+RsPwD9bz3ICwBaBTnpmjDE1NTVm6dKlZtSoUebss882ycnJpk+fPubKK680jz/+uM+JxjZu3Gim\nT59uLr74YnPOOeeY1NRUk5eXZyZMmGC2b9/ebN3ffPONmThxosnMzDROp9NIMpMmTWq1vHv37jUL\nFy40N9xwg/nhD39ounfv7i3XT3/6U7N69eqAy/7tb38zd911l+nXr59JSUkxLpfLDBgwwEyZMsW8\n+eabpr6+3mf+t956y4wYMcJ0797de6K1DRs2tFpGAOGjZQQAANiKPiMAAMBWhBEAAGArwggAALAV\nYQQAANiKMAIAAGxFGAEAALaKi2vT1NfX69ChQ+rRo4ccDofdxQEAAEEwxuj48ePKyspSQkLg9o+4\nCCOHDh1STk6O3cUAAABhOHjwoPdinP7ERRjp0aOHJGtjuPomAADxobKyUjk5Od79eCBxEUY8h2bS\n0tIIIwAAxJnWuljQgRUAANiKMAIAAGxFGAEAALYijAAAAFsRRgAAgK0IIwAAwFaEEQAAYCvCCAAA\nsBVhBAAA2IowAgAAbBVyGNm0aZOKioqUlZUlh8OhN954o9VlNm7cqIKCAqWmpqpfv3569tlnwykr\nAADogEK+Ns2JEyc0ePBgTZkyRbfeemur8x84cEDXX3+97rzzTv3nf/6n3nvvPd19990699xzg1oe\nQDvmLpM2/lba/xfrcWKqlNRFOlUp1Z22ptXXSQkOqUu6dPp7qdotJSRLXc6Sak5JCU7JGKm2SlK9\nlOKSkrtJddXWtG7nSN0zpG/3SzXVDdPra6Tk7lLXdKn6lPV61SclZ5KU1FUy9VJKDyktU6o+LR2v\naJjHkSAlpkgOh7WuLmdL3XtJp76TTn0r1ddaZU9ItObxrDfVZU0/7ZZqT0tKsLataZlNnbXdqWkN\n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\nV2vXrtX999+vZ555RllZWXryySeDPscIAADo2MI6A2tbi9kZWAEAQMzE5DwjAAAA0UYYAQAAtiKM\nAAAAWxFGAACArQgjAADAVoQRAABgK8IIAACwFWEEAADYKuQzsNrBc162yspKm0sCAACC5dlvt3Z+\n1bgII8ePH5ck5eTk2FwSAAAQquPHj8vlcgV8Pi5OB19fX69Dhw6pR48ecjgcUVtvZWWlcnJydPDg\nQU4z385RV/GDuooP1FP8iOe6Msbo+PHjysrKUkJC4J4hcdEykpCQoD59+sRs/WlpaXFXwZ0VdRU/\nqKv4QD3Fj3itq5ZaRDzowAoAAGxFGAEAALbq1GEkJSVFc+bMUUpKit1FQSuoq/hBXcUH6il+dIa6\niosOrAAAoOPq1C0jAADAfoQRAABgK8IIAACwFWEEAADYijACAABs1anDyOLFi5Wbm6vU1FQVFBRo\n8+bNdhepU5k7d64cDofPLTMz0/u8MUZz585VVlaWunTpoquuukqffvqpzzqqqqp07733qmfPnurW\nrZtuuukmff311229KR3Opk2bVFRUpKysLDkcDr3xxhs+z0erbr799ltNnDhRLpdLLpdLEydO1Hff\nfRfjres4WqunyZMnN/sfu/zyy33moZ5ib/78+br00kvVo0cP9erVS+PGjdPnn3/uM09n/5/qtGFk\n5cqVmjlzph555BHt2LFDI0eO1NixY1VaWmp30TqVgQMHqry83HvbtWuX97nHH39cCxYs0NNPP60P\nP/xQmZmZuvbaa70XTpSkmTNn6vXXX9err76qd999V99//71uvPFG1dXV2bE5HcaJEyc0ePBgPf30\n036fj1bdTJgwQTt37tS6deu0bt067dy5UxMnToz59nUUrdWTJF133XU+/2Nr1671eZ56ir2NGzdq\n+vTpev/991VSUqLa2loVFhbqxIkT3nk6/f+U6aQuu+wyM23aNJ9pP/rRj8wvf/lLm0rU+cyZM8cM\nHjzY73P19fUmMzPTPPbYY95pp0+fNi6Xyzz77LPGGGO+++47k5SUZF599VXvPGVlZSYhIcGsW7cu\npmXvTCSZ119/3fs4WnWze/duI8m8//773nm2bt1qJJnPPvssxlvV8TStJ2OMmTRpkrn55psDLkM9\n2ePw4cNGktm4caMxhv8pY4zplC0j1dXV2rZtmwoLC32mFxYWasuWLTaVqnPau3evsrKylJubq3/4\nh3/Q/v37JUkHDhxQRUWFTx2lpKRo1KhR3jratm2bampqfObJysrSoEGDqMcYilbdbN26VS6XS0OH\nDvXOc/nll8vlclF/UfTOO++oV69euuCCC3TnnXfq8OHD3ueoJ3u43W5JUnp6uiT+p6ROepjmyJEj\nqqurU0ZGhs/0jIwMVVRU2FSqzmfo0KFavny53nrrLT3//POqqKjQ8OHDdfToUW89tFRHFRUVSk5O\n1tlnnx1wHkRftOqmoqJCvXr1arb+Xr16UX9RMnbsWL3yyiv6y1/+oieeeEIffvihRo8eraqqKknU\nkx2MMZo1a5auuOIKDRo0SBL/U5KUaHcB7ORwOHweG2OaTUPsjB071vv3hRdeqGHDhikvL08vv/yy\nt5NdOHVEPbaNaNSNv/mpv+gZP3689+9BgwZpyJAh6tu3r/785z/rlltuCbgc9RQ799xzj/7nf/5H\n7777brPnOvP/VKdsGenZs6ecTmezpHj48OFmyRRtp1u3brrwwgu1d+9e76ialuooMzNT1dXV+vbb\nbwPOg+iLVt1kZmbqm2++abb+v//979RfjPTu3Vt9+/bV3r17JVFPbe3ee+/V6tWrtWHDBvXp08c7\nnf+pThpGkpOTVVBQoJKSEp/pJSUlGj58uE2lQlVVlfbs2aPevXsrNzdXmZmZPnVUXV2tjRs3euuo\noKBASUlJPvOUl5frk08+oR5jKFp1M2zYMLndbv31r3/1zvPBBx/I7XZTfzFy9OhRHTx4UL1795ZE\nPbUVY4zuuecerVq1Sn/5y1+Um5vr8zz/U+q8o2leffVVk5SUZJYtW2Z2795tZs6cabp162a+/PJL\nu4vWaTzwwAPmnXfeMfv37zfvv/++ufHGG02PHj28dfDYY48Zl8tlVq1aZXbt2mV+/vOfm969e5vK\nykrvOqZNm2b69Olj1q9fb7Zv325Gjx5tBg8ebGpra+3arA7h+PHjZseOHWbHjh1GklmwYIHZsWOH\n+eqrr4wx0aub6667zlx00UVm69atZuvWrebCCy80N954Y5tvb7xqqZ6OHz9uHnjgAbNlyxZz4MAB\ns2HDBjNs2DCTnZ1NPbWxX/ziF8blcpl33nnHlJeXe28nT570ztPZ/6c6bRgxxphnnnnG9O3b1yQn\nJ5v8/HzvMCu0jfHjx5vevXubpKQkk5WVZW655Rbz6aefep+vr683c+bMMZmZmSYlJcVceeWVZteu\nXT7rOHXqlLnnnntMenq66dKli7nxxhtNaWlpW29Kh7NhwwYjqdlt0qRJxpjo1c3Ro0fN7bffbnr0\n6GF69Ohhbr/9dvPtt9+20VbGv5bq6eTJk6awsNCce+65JikpyZx33nlm0qRJzeqAeoo9f3Ukybz4\n4oveeTr7/5TDGGPaujUGAADAo1P2GQEAAO0HYQQAANiKMAIAAGxFGAEAALYijAAAAFsRRgAAgK0I\nIwAAwFaEEQAAYCvCCAAAsBVhBAAA2IowAgAAbPX/ATFhm2TdoJLKAAAAAElFTkSuQmCC\n" } } ], "source": [ "#net.to(\"cpu\")\n", "plt.plot(yy)\n", "plt.plot(net(XX).data,'.')\n", "plt.title(\"Test Set\",size=15)" ], "id": "6a3438c8-25f9-41a5-a47d-f6373316433c" } ], "nbformat": 4, "nbformat_minor": 5, "metadata": { "kernelspec": { "name": "python3", "display_name": "Python 3 (ipykernel)", "language": "python" }, "language_info": { "name": "python", "codemirror_mode": { "name": "ipython", "version": "3" }, "file_extension": ".py", "mimetype": "text/x-python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.8" } } }