shortcuts/notebooks/regressions.ipynb
2024-10-01 02:00:01 +02:00

171 lines
99 KiB
Plaintext
Vendored

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Regressions\n",
"\n",
"$X = (0,1)$\n",
"\n",
"$Y = sin(2\\pi X)$"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/markdown": [
"![name](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAkAAAAEgCAIAAADT5FumAABLrklEQVR4nOzdB3hT5foA8Dd7NknTNt1NW0YLpZVNywYFRIELCCIgQ1FwsQQHV0XkqlfF+5d78TpAryCyRAQEFBAQQfZqKdBS6N4zHdnr/J/00FBCWjqSnCR9f08enpyRc9720LznO+c778ckCAIQQgghT8OkOgCEnE6pVAqFwsZzTCYTg8Fwwa7t7ujgwYNHjx4VCASrVq1yQQwIeSs61QEg5CwlJSUzZswYP3780qVLx48fHxcXl5ycTC4aMmTIggULnB1Abm6uWCzev3+/zfxHH300KChox44dNvMPHz48depUHo83ePDgxx57LKnezJkzL1265OxQEfJEmMCQ15o1a1bnzp337du3YcOGffv2zZw5s7q6mlz0wgsvTJ061dkBBAUFLV++vFevXi1cf/To0S+//LJWq33//fd//fXXM2fOHDp0KDAwcMCAAe+++27znz1w4IDRaHRE1Ah5DLyEiLwTQRAnTpyYOXOmdc706dPZbDb5fvbs2U19ikajtXD7969pM5PD4dx/kZBch06n2739TH7cuhGRSPR///d/RqPx/ffff/TRR5OSkuwGo9PpnnvuuZycHCYT/6JRB4ItMOSdaDRaVFTUypUrT5w4Qc6JiooKDQ0FgCNHjowbN27x4sUAcOvWraeeemrixImvv/56jx49+Hw+mXLOnz8/YcKEl19+GQCys7OXLl0aHx+v0WgA4Mcffxw4cODcuXOHDx++b98+MietXbv20UcfJWd+/vnn5B4///zz3r177927l5zMyMgYNWrU448//uyzz/744492MyWZ1Wxy2+rVq81m8/fffw8ACoVi6NCh06dPHzly5Pjx41UqVWlp6dy5c0tKSmbNmvXJJ58AwPr160eNGjVr1qz4+PiNGzc6/5eNEEUIhLzUoUOHyL4bcXFx//rXv+rq6qyL5s2b97e//Y18v2rVqoSEBK1WazabV61aRafTlUolQRAvvPDCuHHjyHX++usvsjOIwWDg8/kXL14kCCIrK+uXX34hCGLr1q1hYWHkp8rLyyUSyU8//UR+0M/P77vvviMIQq/XR0ZGrlq1ipz/6aefxsbG3h/z8ePHAeD48eM288PCwkaMGEEQRFlZ2RdffEEQhMFgEAgE3377LUEQR44cAQCtVmvdOBnMF198IRKJnPCrRcgtYAsMea3Ro0enpaW98847arV62bJl8fHxhYWFdtdks9kcDodGo02cONFsNldUVDS1TbPZbDKZdu3aZTQao6Kixo8fDwDffvvtmDFjBAIBAPj7+48ZM+a7776z+eChQ4dycnLa3HNEKpUqFAoACAgIePHFFwGAyWRGRkaWlZXdv/KyZcvIYLp06VJbW6vVatu2U4TcHCYw5M3CwsJWr16dmZm5cePGoqKif/zjH82v/8B7SGw2+9NPP/3Pf/4jl8tXrFihVqsBICcnRyaTWdcJDg7Oycmx+WBWVhaXyw0MDGzbD1JUVNS5c2cAUKvVK1eunD9//vLly0tKSuxehzx79uzzzz+/ePHi9evXt213CHkEvOWLvBNBEOnp6d26dSPvh82ZM+f3339PT09v/5ZfeeWVGTNmbNmy5b333svNzd26datAINDpdNYVdDqdv7+/zacEAoHZbG5hDxEbWVlZFRUVffr0IbufSCSSDRs20Gi0Q4cO2V152LBhFy9ejI+PP3r06M6dO9u2U4TcH7bAkHcymUwffPBB4zl0Or1Tp04t3wKLxaqtrbWZqdFoUlJSpFLpwoULV69eff78eQB46KGHbt++bV0nLS0tPj7e5oOxsbF6vf7atWtt+FlWr14dERGxaNEiADh37lzv3r3t5iSz2QwAV65codPpcXFxTXUJQchrYAsMea09e/asW7duypQpfn5++/bt++23306dOnX/auTdYOt767/x8fFfffXVhg0bZDLZn3/+Sc4nb6dt27aNzWafOnVq2LBhALBixYphw4YdOXJk+PDhu3fvzszM3Lx5s81eEhMTH3744eeff37NmjUmk+ns2bN284pKpQKA9PR0iURCo9EyMjI2bdpUVla2b98+Pp9PJsIffvihe/fuubm5CoWC3EjXrl0BYNu2bQkJCTExMTqdbs2aNQMGDLB2gETIKzGwmA3ySnQ6feDAgTdu3NizZ8/+/fvNZvOGDRvkcjkAbN68Wa/XBwYG3rp1SyQSpaamdurUqaysLCIi4ocffkhKSsrMzBw4cGCvXr04HE5KSgqfz588ebJUKr1x48aQIUMUCsX27dsPHjzYp0+fd955h8ViBQQETJkyZe/evdu3b+fz+R9//HFERER1dfW6desSEhLIZlx0dPSECRMYDMaBAwdqa2snTZokEAgUCkX37t2tMR8+fPivv/4id3H16tUbN25wOJwJEyasXr06KCiIXGfYsGH5+fnXr18n63SUlpYGBwdHR0f7+PhcuHCBTqc/9thjsbGx586dq6ure+GFF4RCYXp6+oABA6g7FAg5Cw0vLyCEEPJEeA8MIYSQR8IEhhBCyCNhAkMIIeSRMIGh5pSVwZUr0HRhCoQQogx2o0f2EQR8/jns22d5Q6PBxInw0ktUx4QQQo1gAvNsly7B2bPAYMDQodCoP7YD7NkDv/xy5z1BwO7dEBEB48Y5chcIIdQeeAnRg23cCG++ack0u3bB4sV3841D/PHHg+cghCiXn59/7NixEydO5ObmWgc11Wq1V65cccHeCwsL8/LybGYWFxe///778fHxZ8+edere3SWBqVSqV155xe6iW7duuTwcD1BUBFu33jNn/XpQKh22/fqyRPdw+Hi/eGS9FR5Z1zAajTNmzFi0aFFWVlZqauq8efOmT59OLtq4cWPv3r3Ly8sduLuqejYz582bN2PGDJuZwcHBr7322rVr18jKMs7jLpcQCYJoatAH8/1fpQjg5k2weQZdp4PMTHjoIcdsPynJsovGBg1yzJat8Mh6KzyyrrFhw4br16+npKSQk/Pnz583bx75fubMmTExMQEBAQ7cnd2qF+vWrTM6/Ny2xdwlgaHW8vVt6cy2mTYNbt+G+nEcLYYPhylTHLZxhFD73bp1S6VSmUwmBoNBlp/+5z//SVayNplMvXr1IgiCRqPV1NQQBCESiTQazfXr1yMjI2UyGUEQNTU1ACASieh0em1trdls5vF4HA6HHLv12rVrAoEgMjLSx8eH3J1Wq83IyJDJZF27dmWxWOQcmUxG7p1EEERubm5hYaFjc2dT3OUSImqthASwKa3erx9ERDhs+0wmvPsufPEFvPkmfPklvPUW0PE/C0LuZMCAAZmZmWPHjj1z5gw5JzQ0FABqamo+/fRTX1/foqIiANi6dauvr++rr746e/bsGTNmREdHp6am6nS6f//7376+vvn5+QBw8ODB7t27r127lhzQoF+/fidOnPjll1/GNXTc2rFjx6hRo06fPr19+/a4uLjTp08DQEZGxlNPPTVixAhynfLy8hEjRixevDglJWXHjh2u+BVQPST0HXV1dfPmzbO7KD093eXheIaqKuK994ixY4lx44g1awiViuqAWgmPrLfC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)"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"// deno-lint-ignore-file\n",
"\n",
"import { display } from \"https://deno.land/x/display@v0.1.1/mod.ts\";\n",
"import pl from \"npm:nodejs-polars\";\n",
"import plot from \"../plot/mod.ts\";\n",
"\n",
"const data = await Deno.readTextFile(\"assets/X_Y_Sinusoid_Data.csv\");\n",
"const df = pl.readCSV(data, { sep: \",\" });\n",
"\n",
"const real = pl.DataFrame({ x: new Array(100).fill(0).map((_, i) => i / 100)}).select(\n",
" pl.col('x'),\n",
" pl.col('x').mul(2).mul(3.14).sin().alias('y')\n",
");\n",
"\n",
"const draw = (x, y, title = \"Sinusoid Data\") => \n",
" plot.DrawPlot(\n",
" { \n",
" title,\n",
" width: 6,\n",
" height: 3,\n",
" XLabel: \"X\", \n",
" YLabel: \"Y\", \n",
" }, \n",
" { type: \"line\", data: [real.x, real.y], legend: \"Sinusoid\", lineDashes: [3, 4], lineColor: \"#ff8888\", lineWidth: 1 },\n",
" { type: \"scatter\", data: [x, y], legend: \"Data\", lineDashes: [3, 4], lineWidth: 2, glyphColor: \"#4444ff\", glyphShape: \"circle\" },\n",
" { type: \"trend\", data: [x, y], legend: \"Trend\", lineDashes: [4, 2], lineColor: '#aacccc', lineWidth: .5 },\n",
" );\n",
"\n",
" const comparePredicted = (x, y, predicted) => plot.DrawPlot(\n",
" { \n",
" width: 7,\n",
" height: 4,\n",
" XLabel: \"X\", \n",
" YLabel: \"Y\", \n",
" }, \n",
" { type: \"line\", data: [real.x, real.y], legend: \"Sinusoid\", lineDashes: [3, 4], lineColor: \"#ff8888\", lineWidth: 1 },\n",
" { type: \"linePoints\", data: [x, y], legend: \"Test Data\", lineDashes: [3, 4], lineColor: \"#8888ff\", glyphColor: \"#4444ff\", glyphShape: \"circle\" },\n",
" { type: \"linePoints\", data: [x, predicted], lineWidth: .5, legend: \"Predicted\", glyphColor: '#f00', glyphShape: \"pyramid\" },\n",
");\n",
"\n",
"\n",
"draw(df.x, df.y);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Polynomial Tranformation\n",
"\n",
"First we try to predict values without polynomial transformation:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/markdown": [
"![name](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqAAAAGACAIAAAD9Gkc5AABiSklEQVR4nOzdB1xT5/4/8E8Ie08FwYECIqKCqOCoC2e1WrVaR+sorbZ6f73W2/Gv3tZxu9vrbWtv1XvtVVtb99a6Fy7cigIiooAsAZmBMDL+r8PBGELAhJzkJOH7fuV1b3Jycp4v8TTf5znnGZZyuRyEEEIIMS+WfAdACNGv48ePHz16VCgUfvnll3zHQggxHAu+AyCEcODGjRvz58+3s7MLCwsbOXLksGHDYmJiCgoKAAwbNqxTp06bNm3iO0ZCiEFRgifEHISHh69YsaKysvLNN988cuTIgQMHCgsL+/TpI5FIND/I3r179RkjIcSgKMETYoZsbW3feeedhw8fXrt2rbF9VPrfZGdnL1q0yCDREUIMgRI8IebJ3t4ewOPHj1W2y+XylStXjh49evbs2YMGDfr5558BJCcnz549OycnZ9q0ab/++itPIRNCuESd7AgxT7GxsTY2NhERESrbN23a9OOPPyYmJtrb2+fn5wcEBPj6+o4fP37SpElJSUmbN2/mKV5CCMcowRNiVhISErZv33758uUNGzasXbvW19dXZYdffvll1KhRbPvey8tr+PDh69evHz9+PE/xEkL0hS7RE2JWioqKiouLhw4dmpSUNGvWrIY7pKWltWrVSvHSx8cnLS3NsDESQgyBWvCEmJUBAwa89dZbTezg4OBQVVWleFlZWenp6WmQ0AghBkUteEJalh49ety/f1/x8u7du926dWOfy2Qy/uIihHCMEjwhZkIsFgOoqKhoOP+0vBb7fPHixWfPnj116pREItmyZcujR48++OADAEFBQTk5OUePHo2Pj+cjfEIIxwQ0Fz0hZiAlJeW3335jm+C2traLFi1iu9GxU9WePXtWKpW6urrOmzfPyckpNTV1w4YNubm53bt3Hz9+fLt27QBIJJKlS5fm5uaOHj36lVde4fsPIoToihI8IYQQYoboEj0hhBBihijBE0IIIWaIEjwhhBBihmgcPNE7mQwpKZBIEBQEKyu+oyGEkJaBEjzRr7Q0LFuGrCzmuYcHlizB00HXhBBC9Ih60RM9kskQE4PMzGdbXFzw6694OoCLEEKIvtA9+BanoADffYc5c7BoEc6d029Zqan1sjuAkhJcv67fQgkhROHRo0cnT56MjY1NT0+XSCTsxsrKyhs3bhig9KysrIyMDJWNOTk5n332Wbdu3eLi4vRaurEk+PLy8r/85S9q30pJSTF4OGZLJMLChThyhMm7t29j+XIcO6bH4qRSNRuf/iemL3TCEK3QCWOuJBLJ9OnT33333QcPHty+fTsmJmbatGnsWxs2bOjZs2d+fn4zDqvVCRMTEzN9+nSVjT4+Ph988MGdO3fKy8ubEYDmjOUevFwur6ysVPsWzY/NoUOH8PhxvS0bNmD4cH0VFxAAV1cUFz/bYmeHnj31VRyLThiiFTphzNV///vfhISEW7dusS/nzp0bExPDPp8xY0bnzp29vLyacVitTphVq1ZJ9N2maZyxtOCJYahcMAeQl6e+nc0JS0t8+CEcHete2tvj44/h7Kyv4gghRCElJaW8vFz69AfOysrqyy+/rL2yyAgPD2e7oJWUlBQXF8tksvLy8suXL+fl5bFtzuJabDovLS0tLi5WLMMoEoni4uJu375dVlamKE4sFl+/fj0hIaGmpobdUllZ2apVq7Zt2yr2kcvlaWlp58+fT09PN8A3QAm+ZfH3V93i6wuhUI8l9u6NzZuxYgU+/RSbNqFvXz2WRQghCpGRkampqaNHj7548SK7xdfXl83o3333nZubW3Z2NoA//vjDzc1t0aJFM2fOnD59eseOHW/fvl1VVfXDDz+4ubk9evQIwOHDh0NCQr7//nsASUlJvXv3jo2N3bdv39ixY9kjb926NTIyMjY2dsuWLV27dr1w4QKAe/fuTZ06dciQIew++fn5Q4YM+etf/3rr1q2tW7ca4iuQG4eysrKYmBi1b929e9fg4ZgtsVgeEyMfNqzuMWKE/Px5vmPiGp0wRCt0wpix999/38KCacd27tx59erVUqmU3X7z5s3aK5qZcrm8oKAAQFxcnFwul0gkXl5eK1askMvld+7cqR3om8Z+JCws7KuvvpLL5ZMnT547dy678dChQ3K5PDc318HB4ezZs+zGr7/+OjAwsKamRi6XL1u2rFevXuz2efPmRUVFyWQyxS3p48eP6/XPpxZ8y2Jri++/x/Tp8PFBUBD++U/068d9Kamp6rfLZKhd0ZQQQgzh22+/ffDgwT/+8Y+qqqp33nnnzTffbHp/oVAYEhJSWlraxD5eXl67du3asmWLRCIZNWoUgJMnT4rF4n5Pf0yjo6NTaql8cPfu3WPGjBEIBDr/WZqiBN/iZGSgVy8mxw8ZgtBQjg8ul+PAAezdC7X/gezZg1OnOC6REEKa0L59+7///e/37t2bOXPm+vXr2fZ6E56bgOfOnTtx4sQ5c+a0adNm9erVALKzs52cnNhLBQDc3d3ZsXDKn6qurs7Ly/Pz82vq0JcuYdeuukft7YNnMjOfvXXliuoHFW/t2qW8mc8EX6DkyZMnNOWOYVy8iPx8dO6M4GCOjyyTMak9JQVTpqjvSde+PR484LhQQghRa//+/YrnVlZW77//fm234jwdD2tra7t27dq8vLyYmJj58+cnJCR4eXmJRCJFCispKQHQoUMH5U9ZW1u7ubk9Z1yclRVsbeseFvWzs1D47C3LBsPfFG/Z2ipv5m2YXHV19bJlyxQva2pq2C+F6NXjxygowEsvoVUr7g9eWIicHEydCh8f9TsEBOD4cWafxnYghBCuHDx4sHv37u3bt2dfPnr0yMXFJSAgQMOPOzg4sK1zxRFY+/bt++CDD5ycnD7//PMff/wxJyenf//+AoEgPj6+R48ete3wS56env4NujR369bt+PHjCxYsaLTIJsYQ+/g09bv54otqN/OW4K2trX/66SfFS5FItHDhQr6CaTkSEuDlpZfsDsDTE/PmqdY7lbm4oEMHiER6KZ0QQpTZ2toOHjz4b3/7W7du3R4+fPjNN9/897//tba2FolECQkJAOLj493d3ZOTkwEkJyf37NkzLy+vuLg4Ozu7rKysffv2nTp1mjt37rhx4yoqKp48efLo0SORSHT69OnKysohQ4YcPXq0bdu2ffv2dXBwWL58+TvvvLNixYqCgoLPP/98x44dAoEgJycnIyOjtLT07t27wcHBq1at6tu37+zZsyMiIjIyMiwsLO7fvz9o0CDLhi1yjhjLXPRsgl+3bl3Dt5KTkzt37sxHUGaoogJlZWjdmu849IlOGKIVOmHM2O3btxMSEoqKiry9vfv379+qtnGTnp5+9+5ddofu3bsnJCSwY+WjoqJSUlKePHkCIDg4uH379jk5OUePHvX09BwyZMidO3eKiopCQkIyMjJyc3Pz8vK8vb1Hjx5t+/SqeGJi4pUrV7y8vKKiotjb8FeuXCksLGTfHTZsmFAoLCgoiI2NraqqGjFiRHx8fFVV1YABAxwVU4VwjRI80YlcDgP2CdUInTBEK3TCEK2Y0AlDvehbKLkceXmortbpIOXl2LgRaWmcRUUIIYQrxjIXPTEwuRwbNmDiRGjc40RVaSm2bIGVlb7u6BNCiFZmz57d2FuffPJJp06dmnfYuLi4zZs3KwbHV1ZWhoWFderUaezYsbb1e60bG0rwLZSFBWxsUFHRzI9LJNi8GXZ2mDIFzTjDS0vh6NhUdzxCCNFWRkbGhg0bnJycUlJSIiMjf/nll5deekksFn/77bf5+fmaJPiCggJPT0+VjVFRUZ6enoGBgatXr540adKFCxcqKipWrFjxt7/9bdWqVePGjWvigCUlJfb29lZWVjr/cc1BP7Etxc6dqJ148RkHh+YneEtLDB2KqVObk93FYqxZgwZLJBNCiE6io6PbtWvn5uZmb29fu7qVvZeXV7t27aKjo+3s7DQ5wosvvihtfPUtR0dHLy+v4ODgadOm3bhxIzw8fOrUqamNzdxZ66233jLMujJqUQu+RSguxv376NOn3kZfX1hbN/+YgYHN/KCdHby9mXjqzwNBCCE6WbJkidrtL7/88oEDB9asWWNjY/PSSy9FR0cDePLkyQ8//JCenu7u7j5lypSuXbv+9NNPV65c+fzzz7t06TJ58uSmyxIKhT///LO/v/8//vGPDRs2APjxxx8fPnwoEokiIiLmzp0rkUh+/fXXnTt3+vn5hYSEvPnmmwkJCbt27crMzLS1tX3jjTfYQfN6RQm+RUhIgIsLlBYtZIwezVs8AQG4fRvDhvEWACGk5Vi7du1PP/108uTJioqKPn36/P7778OGDZs6derAgQP/97//Xb58+eTJkz169PDw8AAwfvx4Nzc3TQ7bpk2bgICA27dvsy8PHz78n//8x8LCIiQkxNra+vXXX2/durVMJhs+fHhQUBCAU6dOtW/f/oMPPvjXv/41dOjQ3NxcbS/dFxdj61bcuwcPD0yYgC5dnrM/XaJvER4+RNeuuh4kIwP5+dzEExDAVDierq1MCCF69Nlnn82bN8/Ly6t9+/ZDhgzZvHkzgGvXrrVv314oFPbt23fBggX29vbs5LKhoaHt2rXT8MgdOnRIezqOaN26dX5+fm3atImIiLh165aVlRWb14OCgtjb/5MnT37ttddsbW3Hjh1bWFiYmZmp1V8hEuHdd7FjB+LjceoU3nsPV68+5yPUgm8Rpk9H4/eVNJKaij170LMnni5trJNWrTB1KgfHIYSQpolEoszMzLi4OHYe+PT0dHZVmIkTJ8bExJw+fTomJqZ///7NO3hRUZHP0xlkxWLx5s2bi4qKsrOzu6hrXHt4eJw+fTotLe3hw4e1i3fIVHaorERNTd1zO7t6U85LJExqV16/RirFL7+gVy/meVnZs+1OTs+eUwu+RbCwgC69OJOTsXs3wsK4ye6EEGIw7MrrkZGRL9fasGHDH3/8AeA///nP1q1bs7OzBwwY0NjN+6bJ5fKHDx+yk95s3rx5zJgx7u7uI0eObK1urlCpVBodHb1r166ePXsOaeSX9PBh/Pxz3UOl615KCk6cUN1f0XtP8amff663A7XgyfNlZ6N3bwwaxHcchBCiJU9PT1tb25qaGpXp58rKyibW+u6775YtW/b55583cRB2DVmVlWT37NmTm5v77rvvstWFyZMnjxw5kp0Dv+ER7ty5Exsbu2vXLg8PD3b2+4YGD0ZUVN1zlW4A/v7o25dpaClTrD4za5b6sKkF33Ll5uKnn1Bbu32OIUMouxNCTNXUqVN//vnnx48fK29ctGgR+8TX15edo57tW5eVldXwCOyc7oqZ3WUy2Z9//jl//vyPP/54UO2Po52dXXx8vEwmE4vFxcXF7G6urq6KA7Lj9G7evMmuUKc2TldXeHvXPWxs6r1la4tp01A7w/0ziryu+JS3d70dqAVv5sRiNDb+08oK5eWoqGjOWHZOSKUoLkZtx1VCCOHGunXrzp8/36lTp+3bt6empi5ZsmTlypULFy4MDw/38fHp2LHj/PnzhwwZkpaWNmrUKGdn59zcXHacW0RERM+ePfv16zdmzJi1a9cqDhgXF/e///2vY8eOq1at+u233yorK+3t7X19fffu3dvn6eDjjz766PXXXw8ODn7hhRfCwsIePnx49erVXr16jRs3btKkScOHD//vf//71ltvTZgwgR09HxgYuH79+qVLl2rekd7NDT/8gI0bkZzM/GxOnqw68rkhWmzGnInF+Pe/mfOg/nLGdSoqsGoVZsyAn5+adyUS6G0NwzrXr+PCBfzlLxwflk4YohU6YYhWTOiEoUv05iwpiWmmq83fbC9NgUD9ZHanT+P336Hvul/Hjigvr9cvlBBCCFcowZuzO3fQpQuEQvXvCgRYsEDNYjPHjuHqVfTtq/d1YF1d4e6u2lmUEEKap6qqSvRUjWLAWbOkpKR8+umnkydPVtwvVyw2o7vc3Nwvv/xy8uTJ7C15/aEEb4YuXEBMDEaOxL59EIub2tPBQXXFl2vXEB+PiRNRO0OD3nXr1mj9gxBCtHLu3Lk333zTyclpQq1+/frNnTuXHf6urcDAwFmzZu3YsaOsdoz577//7u7u3ljnOG15e3t/+OGHO3bsUOn3xznu77LW1NT8/PPPt2/fVntDnejbzZtYtqzu6npJCf79b/j5ISJC04/36IE2bZ6NvtA3xZgQQgjRUXR0tEQi2bp162effRYZGVleXj5w4MCXX3752LFjuh/5hx9+8FbppF7f+fPn2U58OpbFIY5b8CUlJStXrrxz546+KyakMTt31rt3Lpdjx45Gd5ZImEqAMktLw2V3QgjRHwcHhylTppw+fVokEilvr1QaHFxeXt5w+TiJRFJUVGShdHnT29t7wYIFFvUveJaVlYmVrpF+9NFHOfW7FFVWVlZXV6scXCaTPXnyRKDvO6C1OG7Bu7i4fPTRR2vXrj1w4AC3RyYaevJEdUthoZrdZDKsX489e1BZCW9v/N//PX/EBSGEmBZLS0uJRFJeXr5jx45PP/30448/Pn369P79+ysqKlJTU+fMmdO5c+e8vDwfH5/Vq1cLBIKioqJ58+bl5uaGh4crmqmFhYXffPPNxo0bL168yM5Xf/DgweXLl4eGhpaUlNy4cePkyZOrV68+f/780qVLAwIC1qxZk5+fP3v2bDc3N6lUWlVVtXnzZhsbm8rKykWLFl29ejUqKkrc9N3Tpi1ciOXL4eLy/D+/+WUQo9SlC1JSVLc09Mcf2LKl7nluLpYuxZo16kfTEUKIiTp27FiXLl1at249e/bs9957LyUlZeXKlSEhIQDmzJkzdOjQZcuWSaXSdu3a9e3bd9asWYsWLcrJyYmNjRUIBKmpqVu3bgXg7u4+Z86cr7/+mm3rp6enT5o06dixYy+88AKAr776SiqVLl68+Jtvvlm+fDk7rf3f/vY3Ly8vdnh9VFTUV199tXTp0q+//vrYsWO3b9+2tbWVSqXNvIt9/jx++AEWFli58rn7Uic7c/P666idPalOq1aYOVPNbipXWCQSHD6s/+AaUVxcb7EEQgjRxcGDB3/44YfRo0dnZGSwa8exIiIifH19ly5dmpeXd/bsWXZOeKFQ2K1btytXrkgkkk2bNs2cObPp6+e7d+/29vZmszuAd955p63KUtzAzp07FRPOh4WFXblyBcCGDRumTJmidiJbTclk+OtfmSc//YRG5rtVZrgW/M2bN/fs2dPYu9XV1Y0NQqioqGhs5l7SUHa2U3h4G0vLktJSQatW1S+8UJyfL224zGtJSRBQ7yR+9Kg0OZmbMekCudxSLLYSi2vs7Grs7RXbbcrKWt+8aSGVCmQysZtbbng4u/3MmfYeHuL+zlflQmGNnZ3E3l5ia9vsQfhqZ5okpDF0wpgTdg1WkUjk4+Pz9ttvBwUFWVhYsBlEKpXm5OSwzxMSEgCsWLHC2dmZTUAAYmNjJRKJYv9Hjx7VrrX9UPl/JRLJvXv3vLy8VLISe5s/IyPD09OzuLi4oqJizZo1bMoTiUQeHh5JSUkZGRk2NjbsB9ml5DIzM5WP8+jRoxKVXlH1dTh5MuLaNdT2Zs+dNu18k2vkeHl5GS7B+/v7T218idCKiooff/xR7Vv29vamMm0Q7yorcewYIiMRHa24PeOpds+wMNW1hAcNcu7c2ZmDIC5exLlzYFdCHDQIT7M4akeSMg8rKwiF1g4OLk//WQsKkJho6y1+jLy8uuUS/+//oFQzgFSq1XA6OmGIVuiEMRvs6uyvvvpqZGSkyltCodDHx4f9t2a7y/39739XXtiNnUPe29ub3ceydi5Pf39/xenh7+/fqVMnb2/voqIilXOGTczt2rXr3LlzdXW1QCCYO3funDlzlPdxcnLy8PBgP8he7ffz81M+zr1799iahFrWlZWjf/1V8dL7xg3BoUMPgoMb2//hw4eGS/AutRp7VyQSWep7ZtQW4MEDJnsOHPj8PRcswPvvP+uR168foqO1KUkuR1YW0tORnY3Bg+Hl9eytgAC0agVnZ+ahsmCCszOGDm14sI4dmSpB8bzXXF1r59ctKamX3QHs388U17o1/PwQGgpHR21iJYSQetq2bevk5HT16lXlBO/q6urt7R0XFzdmzJgmPhsaGrpz586cnByfBiOO2LRtbW0dEBBw9epVlQTfpUuXuLi4BQsWNHbkl2o1WvCHH6L+cICJZ89i9eom1gLnOKcWFhZu3br13LlzxcXF33//fXR0dLdu3bgtgjQhJASBgRot/e7nh19+wYkTyM9nPhUVpeW8dfv3IykJHh7w9VWdK8fLq16+14CPDzp3RlVV7Qs7OzXL4/Tti8xM5Obi5k106EAJnhDSkFQqzc3NZa91d+/e3U7pl6SmpkYmkykmvbG1tV28ePHSpUsFAkFERERJSUlgYGDXrl2//PLLv/zlL97e3gEBAefOnVOMqWM/yP7v+PHj9+/fP3r06A8//NDHxyc9Pb1///6BgYFt27bduHFjdXV1nz59li5dOnv2bA8Pj0GDBonFYi8vr8jIyM8++2zMmDHBwcF9+vRJTEwUCASVmqzmqfD665gyRXVjdXUTv/i02AzRQGkp06RWvsTy5AlzVjlzcUlfR/HxkEiYSsrTrit0whCt0AljNs6fP3/16a1HR0fHmJgYxVubNm16UnvFskePHoMHD2Y3njhxIjY2trq6Ojw8fPz48Ta1VxxjY2NPnjwpFAqnTJly+PBhCwuLIUOGnDhxgv3I6NGj5XJ5QEDAtm3b4uPj2frB+PHjLS0tjx8//ueffwYHB8+cOdPW1vbKlStHjhwpKSkJDQ2dNGmSY22z5Pr160eOHBGLxRMnTrx8+bJYLH799dfdVVaB5Q4leNK4qircvYuEBKb1PG4cGr/Zw6cLF3D1KlON9ffHsGFwcaEThmiFThiiFRM6Yei2N2ncxYu4cYPJ6wMGoME4EGPRrx8iI5GaiqSkRpe+J4SQlocSvMmTSLB5MwYP1kMKjopiUrvxd34UChEUpGZ5nJwceHvrfVE8QggxSkb/202e5+xZFBbCw0O3o5SV4fp12Nujd+9nG3WZkEF7UikyMuDvz9HhJBJs2cL8CeHhCAsz8N9CCCG8o5nsTFtODq5cQXS06rAyLZSX48ABrFmDu3f5zYJlZdi2DTnczLVTu2zO3Lno3h1Xr6J2vklCCGlRqAVv2goLERiI0FAdDmFpyaTW8eOZA/F6NdvVFe7uSE3lbjk7Bwf074+oKDQySSIhhJgxSvCmrWtX5qETGxtMm8ZVPDrq1IlJ8AMGcHpQoRBubvW2iERMtYYu2hNCzBpdom9hqqpw6hSezvZgbIKD0aYN9D5y8/x5rFmDCxfQYB1oQggxG9SCbzHkcty6hdhYpvEaFAQHB74DUqNNG+ahd9HRcHdnEnx8PKZPN4rpegghhGuU4E2SRKL94LXERJw4gd690bevRpPZmjFLS+Z7CA1lajyU3QkhZooSvOkpKcGvv2LSJC0buyEh8PND4+v9tDh2doiK4jsIQgjRF7oHb3qOHGHStNZdzQUCyu7PkZuLlBS+gyCEEG5Qgjcxd+4gPR2jRz9vRFthIbZsQUGBwQLjUHExHj3io+BHj7B7N/btg1jMR/GEEMIlSvAmxsYGgwY1uRyrXI5Ll7B+PSQSCIWGjI0rCQk4fJiPgnv3xvTpePwY69ahooKPCAghhDN0D97EBAY+b4+0NJw7h4ED0auXiU7D3rEj8xcUF8PV1eBl+/nhjTdw754OUwMSQohRoARvdvz9MW8eatceNlE+PnBwQGoqIiL4KF4oRJcuejp2QgK2b8fjx+jcGTNmNHklhhBCdEMJ3hyZcnZnRUUZ0/i1x4/h7q772MLr17F4cd3kOvfv4+JFrFmjOskeIYRwhe7Bm4bCwsbfS0vjqU+aHvXqpcHNCIM5dAjr1yM3V8fDbNxYb+q8wkLs2aNraIQQ0hhK8CbgwQOsW4cnTxq8IZXixAls24aHD3kJrKV49VV4emLTJly+rMthGlbDzK5iRggxInSJ3thVV+PIEYSGNljxXSZjUk5xMcaPR+fOfIXXItjZYeJE3LyJqipdDuPnh6Skelt8fXUNjRBCGkMJ3tidPs2k8ujoBm9YWCA8HB06GNPNarMWFqbjAQYOxN27z5bScXPDhAkcxEUIIWrxluCrqqpmzZqleCmRSGQyGV/BGLOuXREUBBsbde917274eAwpJQWtWpnP/HuTJsHLC8eOIT8fgYGYORPu7nzHRAgxX7wleBsbmy1btiheikSihQsX8hWMMWvJV3FPnkS3bujXj+841CoqwrVrGDJE89mEBAIMGsQ8VA5DHekJIfpAnexMR14eNm5EcTHfcRhOp064f5/vIBpTUYGkJPz+O8rKmn2Mhw/xyy/IyeE0MEIIqUUJ3kQkJuK332BvD1tbvkMxnIAA5OaivJzvONTy9cXs2cyTDRsaq3VJJDhzBjU1jR7D3x+Bgdi9mybGJYRwjxK8MZLJ6q9qlpmJAwfQpw9eeaVFJfh27dCrF4y3b4aTE2bMwNChaufUranBjh24ffs5LfwXX2T+SQ8e1GOYhJCWiXrRG6NLlxAXh7lz4eBQ+9rPD6+9puXy7+bAwoLJnkZNKETXrg03V1dj+3amYT99+nN60llZYeLEplr5hBDSPJTgjc6TJzh/HtHRT7M7q+Vld1Pn4IAxYzRaL4eHNXUIIS0AXaI3OsePM9k8PJzvOEgziMXYuxfl5dbWePllytyEED5Rgjc6I0fixbBs/PorKiv5joVoSSJBQQHzb1dQ0OxjKGbCIYQQXVCCNzquWQmuf/6BVq1gbc13LEZBJMKNG3wHoQGmPubkhNdeg4cHNm1qXo5PSsLmzfXWpCGEkOahBG9kHjzAwYPo2xejRsGC/nUYZWU4etTYx/+XlmLjRly6BNjY4JVX0L9/86apa9OGqRgcP66HEAkhLQylECPToQMmTGDSA3nKxwcODkhN5TuOxhUX4/ffYWeHHj1qX1tYoHfv5tXPXFwwfjzi43HrFudhEkJaFkrwRqGigmn8yWS1ucGIFkI3Fp06GXWC37cPzs6YOpWbSQrat28whoIQQrRHw+SMwtGjKChAr158x2GsundHfj7fQTTupZfg6Agrq0belkqZ9njPnpofUJt9CSFEPWrB8626Onlnwr17GD1a81VLWhxfX90Xa9UjN7fGszu7iMCpU9i/34jn5COEmCFK8LyqrMSWrecf+ER0q27Jq8aZOR8fTJ2K1FTs3Us5nhBiMJTg+SMWY/NmiCumz7YaOIxGxJmSzEwtO8H5+jI5vrIS1dXalvXwIRIStP0QIYRQgueXmxtmzLD1cmrqAi8xMunp2LaNyfHa8fbGtGnN6IaXn49Dh5Cdre3nCCEtHSV4/tjZ4eWX4ejIdxwmIz0dDx7wU3RFRV3b+8ED7NiBkBC8+KKBiu7Tp25JWSNdNpcQYqwowROTkZKCCxcMXeiDB1iwAOPHM49vvmHSfHg4Ro2CQKDzoSUSDXd88UU4OCAjQ+cSCSEtCSV4wxKL2f/PysKRIzTruHYCApCdrfgKDUEkwkcf4d49sOn42DHs3MnRCraXL2PTJg2XG7CywsyZ6NKFi3IJIS0GJXgDKinBhg24eVMqxaFDzG87B63AlqRtW1haGvQq/fnzqlPknjmDsjIuDt2lC6qrsWWLhjmepi0mhGiLfjYMpbQUmzfDxQVdu54/j4oKDB/Od0imRihkvjQvL8OVWFqqukUuZ5r1HHBywrRpqKrCvn1cHI4QQlTRTHaGsncv85s+ebJMaHX/PqKjYW/Pd0gmqFs3w5Ulkai5WtCqFby9OSqAzfHaLwpcUAA7O5rLlhDyHJTgDeXFF5kfdCsrC2D2bLriagL+/W/VVd1sbLBoEac3VpydmYeW2N4b06fTWUQIaQpvCV4qle7evVvxsrKyUmzI3lOG5+GheEq/y8avvByHDqlunDULERH8xKNs7Fhs3MhUPkaM4DsUQogRo1RDiBrFxZBKVTc23MKxhw81GTvHLil765b2k+0QQloS3lrwQqHwlVdeUbwUiUSnT5/mKxi9qKpCRgat/co5qRRXriAkpBnXtrXg7Q03NxQV1duo34FqEgkOH4anJyZNeu5FnvbtMXu24fob3rmDLVuQkwN/f7z+OlM6IcT4UQteP2pqsH07zpxRNPpu3IDSHQnSfEIhrl5FSgrHhy0vR1wc1q2r61gnFOLdd+ut7zdsGHr04LjQeiwt8eqryM3F/v2azJDAZvc7d/D//h9mzMCHH+L2bb3EFR+P99/HpUtMffXMGeZrycrSS0GEEG5RJzs9kEqxaxfKypjf3doUUVqK06fRty/fgZmLjh2Rmsrl7fDr13HiBOzsEBr6rLPEgAH4+WccO8bk/t698cILnBXXKHd3TJmCrVuZxnKbNs/dPTkZH3xQd1E/L4/JxCtXIiSEm1ikUubIUik2bqx3b6Kigqm7LlzITSmEEP2hBK8HOTl48gTTpikuIh85Ajc39OnDd2DmomNHHDiA6mpYc7QIX7t2mDCBOazKpfGOHTFvHjdFaKp1a7z9toZ/2Pbt9W7ZS6VYtw5ffgkbm2cbMzPr7uxLJPD3R0DAs7fKyrBnD/MpmQyOjkzVQtnGjcjPZ56wE/kpo5VvCDEJlOD1wM8Pc+fCsu67ra6GXI7Ro6nzPGc6dsTw4c0crlZZicRE2NrWa+l6ejIPY6FxtSU3V3VLWhqKi5lKgkJRER48YE5GS0vVEfxWVmjbFkIh81bDWRlGjmQSv4UFk+ZV1sZt107zP4YQwhtK8Pph+eyLtbZWbRsRHVlbN+d2eHExTp/G/ftMYouK0ktgBubvj+Tkelv69KmX3dmpgRqbHcjWFoMHN3pwX9+6J3Pn4r33ni1k7+KCV1/VLW5CiEFQgicthZUVamowdiwCA+v1njNq2dl48qSxFD1jBi5eRElJ3UsnJ8ycyX0IQUH46Sds3ozUVHTpwhRhyNmCCSHNRgmeIzdvolUrTTpGEcOoqUF+fr1/EAcHTJ7MZ0jNkZWF06eZtra68Zbe3li9Gtu3IzOT+UsnT1ZtvnPF359pxP/4I6ZOZU5zQohJoATPhaQkHD2KESOU80lNDdNMpPvu+lNWxnzxdnYICanXIi8stD90CHfvwsYG77xj4kv29e6N0lLs24dXX4WfX8P3vbwwf74hArGygjZL2BNC+EcJXmfp6Th4EH37IixMefOJExCJoDSXD+HSyZNYuRJVVWD7fH3+eV0PMrkcly+38fTEsGEIDjbx7M6KjoZYzDTS1SV4g2F7ldTU8BgCIUQ71MDUWW4uQkNVRkmnpSE+3ijmLTdL2dn45pu67A4gIwNffFH3XCBAdPTDGTPQrVtdo9McjB1rDN0Co6Lg6sp3EIQQjVELXmeRkSobampw+DCT9P39eQrJ3MXFqU4Ln5SEgoK6oW5WVvqeMr6FGjSI7wgIIdqgBM89mQydOhlk4jNCCCGkEXSJnns2Nhg+HLa2fMdhvvr2VZ5oAOwyMEY0U41elZbi5ElNJqsnhLRwlOC1J5fjxIlno4+Jwfn44MMPYWdX97JDByxezHNIhiMW49YtnDrFdxyEEGNHl+i1d+IEbt9udHowYhBDhqB3byQkwMEBISEtaThi69YYPx47d8LVFT17GrLk8nLme1bUqwghRq7l/C5y5OpV3LiBl19uON9HScmzft3EABwdERmJ0NCWlN1Z7Fz8mZkGLvbAAZw7Z+AyCSHNRy14LT1+jJEjG/aPl8uxZw88PDB2LE+BkRYlLExl3gUDsLSkiW4IMSWU4LU0ZozazZcvo7AQEyYYPB5CDIWdzJ8QYipa2sVNvSguxrlzGDhQsf47IWbIyYmzBfgJIQZALXgOODlh6FDDXzElpFZ1NS5cwAsv6HuNvCFD9Hp4QgjHqAX/PFIpTp5EZWUTuwiFCA83i2nPiSkSixEfj4MH+Y6DEGJcKME/z6FDuHOn6QRPCJ9cXDBxIu7dw/nzfIdCCDEilOCbdPEi7t5lfj1pkQ1izPz8MHo0Hj6ETMZ3KIQQY8HbPfiqqqpZs2YpXkokEpmx/TbJ5cwv5qhRjS3TmZHB5H3qWEeMQteuCAmhG0WEEAXeEryNjc2WLVsUL0Ui0cKFC/kKRj2BANOmNfaLWVGBPXsQFoaBAw0eGCFq6Tm7p6Tg2jVMnarXQgghnKFL9E1q/Bfz+HHY2aF/f8PGQwh/qquRk8N3EIQQjVGCb46MDNy9i9Gj9T0uiZBmkclw/TrnK85ZWtJEN4SYEkrwDdy69dyeSu3aYfr0xm7NE8K3khKcOYOTJ7k9qpUVU2eQSrk9KiFEXyjB1xcbixMnUFT03B0puxPj5eaGceNw7Rri4zk8qp8fZs9ueUv7EGKy6D9WJYmJiIvD2LHw8OA7FEJ006kTBg5kzmfuWtzW1mjdmvrpE2IyaKrap+Ry5tewf38EBfEdCiFciIpCeDj1EyGkxaIE/5RAgBkzYGPTxC7XrsHXF97eBoyKEF00eT4TQswbXaJX0uSvYXY2TpxASYkB4yGEEEKaixK8RqRSHDqEwEB07sx3KIQ0j85j2GUyxMVRHZcQk9HiE/zjx5rslZoKkQgjRug/HkL0IScHv/2Ge/d0OYZAgDNnUFDAXVSEEH1q2Qk+NRUbNyIz87k7BgXhrbfg4GCQqAjhnI8PIiNx8KAu+VkggFBIc90QYjJacIIvLMT+/YiI0HBIu729/kMiRH8GDmRO9QMHdDmGpSUkEu5CIoToUwvuRX/gALy9MXQo33EQYhACAcaNQ3m5LseIjKRJIggxGS04wY8Zw7TKadoO0nLY2Og4cK5vX+6CIYToWQu+RO/hATu7pnfZtw8ZGYaKhxBCCOFOC07wz3P9Ou7do451xHzR7XRCzFoLS/Aa/6KVluLMGfTrR3cciZm6fx///a+Ot+QJIcasJSX4ykqsX4/kZE32zcyEuzuiovQfFSG8aN8eNjbYvVur1WjKy6lKQIjJaDEJXi7H3r3Mkw4dNNk9JASvv04rYxLzZWWFiRPx5AmOH9f8Q8eO4dQpfUZFCOFOi+lFHxuL7GzMnKl5L2LK7sTMubpi3DitBpLQOHhCTEiLSfAdOsDXl+6oE1KPv79Wu1tZobJSb8EQQjjVYhJ8+/aa7CWX08B4Qhrl5ERT1RJiMlpMgtdAVRV++w0jRqBdO75DIcQo9evHdwSEEI3xluBlMlliYqLiZUVFhYTvm3unTjGtE29vfqMghCf37yMnBy+8wHcchBBu8JbgpVLpnj17FC+rq6vFYjHHZVy8CHd3DZdwT09HfDwmT4a1NcdREGIyLl6EhwdCQviOgxDCAd4SvJWV1d///nfFS5FItHDhQi4LuH8fZ89izBgNd6+sRM+e2nY5IsSMBASgf38cOsTk+Nat+Y6GEKIrM70HX1SEAwcQEYGuXTX8ROfOGjb1CTFf/fvj8WM8eUIJnhAzYKZjvfPz4etLS8ESorWJE5u4RJ+Whg0bDBsPIaS5zLQFHxTEPAghnJJImBY+jSYlxCSYaQteYxUVfEdAiOmwsmL+l4bCE2ISWnSCz8/H6tXIyeE7DkKM0+PHKCpS3mBZe8mPEjwhJsGMErxIhNxczXeXy/Hnn/Dzg4+PPqMixHSdOoVdu5TzeevWeOMN2NnxGhUhRDPmkuClUuzejaNHNf/E5csoLMTo0fqMihCTNnYsxGIcOqTYYGkJLy9ah4kQ02Au/6WePMmk63HjNP9Eq1YYMQLOzvqMihCT5uiI8eORnIz0dL5DIYRozSx60T9+jBs3MGkSXF01/xDNaUPI87Vti5gYuLvzHQchRGt1LfiUlBS+I9FB69Z480106sR3HISYI8ruhJimugT/r3/9i+9IdEO/QYQYRFwcCgr4DoIQooG6BL9z584pU6ZkZmbyHY8eVVRALkdWFt9xEGK6amouXkReHt9hEEI0UJfg582bN3/+/MmTJ3/zzTc1DUa53rlzh4/Ynkcq1XDHK1cwezbGj2cen32G4mI9B0aIWaqqwn/+I4SM74WdCSEaqUvwixcvHjx48NmzZ21tbQcNGnTy5EnFHjU1Ndu3b+cvwkakp2PtWpSXP3fHBw/w6ad1DXexGPfv48QJQwRIiLmxsUFIiGVNhaSUJoAkxATU9aK3tbWtHeRq+e6777766qsDBw708vJycnKqrbVX9e/fn+846ysrw759CAyEg8Nz9z14ECoNjj17MGmSHqMjxGwNHtwn5WbrhCxEjqybt5YQYqxUh8klJibOmzfv3r17FhYW0tpr4NXV1TzF1giZjEnRLi4YPlyT3UtLVbeUlOglLkLMn0DQ67XOuF1dN2ktIcSI1V2i37hxo1gsXrJkSVhYWEJCwi+//JKUlHSx1oULFwRGtXSUQMC03cePh1Coye7duqlu6d5dL3ER0iLY2yMykpaTI8T41SX4devWhYaGfvHFFxMnTkxKSnrjjTcUe9jY2IzTZoa42ja2TC6Xcx3qUwIBoqKYFrxmXnwR4eHPXrq745139BUaIYQQYiTqrrNdvXq1VatWBw4cGDNmTMOdevXqpfkRP/roI5lMVlRUFBwc/P7773MXajNZWuKrr3DmDO7dg6cnRoxAbdcCQgghxJzVJfiBAwfu3LnT0dFRx8Pt2LEjOTl5z549crk8PDy8f//+ffv25SJOnVhYYMgQ5kEI0VF5OWSyp7XkkhJcuoRhw2j9GUKMUN1/lgsWLNA9uwPYtm3bCy+8UHsdXTB06NAtW7bofsw6Z86oLE1NCDG8M2dw7NjTFzIZEhOZTYQQ41OX4LW9y96Yhw8fenp6ss+9vLwePnzIyWFx+TKuXEFlpU4HWbwYYjE38RDSUllaKo07dXPDmDHMf5v37vEbFSGkIY4vrJWWlrJD6ms729qXcDEizb6ggGkiDBsGH5/mH+X8eXz5Jb79Vvd4CGnJrKxQb67LwED06YP793kMiRCiFseDWT08PCoq6ma5EolEHh4eircuXbr022+/NfbBmpqa4kamkLXNyCj188uxs0NycvOiEsjl7efNswHkX375cNCgGm/v5h2HmIQsWm9Anyor3WQy++TkZ1+ywMdHDjT7P0/e0QlDtKK/E0YqFWRkMC3kdu0qhUJdR6K1adOG4wQfFBSUk5PDPs/KygoKClK8FRYW1qnxFV3Ly8tXrFih9q3Cnj07BwY669KL53//Q0IC80tUWdlh9WoLDnsGEKPUuXNnvkMwW0+/WrP6humEIVrRxwmTkoIVK+pWcvLywqefIjhY12NynOBnzZq1fPnyxYsXV1VVnThxYufOnYq3bGo19kFbW9umptPRJbuXlmLx4mdH2rr189LSlFatFFtkMplQKHRxcXF9yrmWqxJLU5y3q6oKjX/hhBBCjERNDZYuRX5+3cv8fOblr7/q+hPOcd4aMmRISkrKe++9JxaLP//889DQUG6P3xyffYbHj5U3LMnLw4EDypUGqVRaVlZWrCQ7O/vu3bvs85KSkqqqqtpqxrOPWFtbq1QClKsFLi4uPE//JxZj2DAcOwZ7e/U7XL6M3r0hEODRI7Rta+jwiLmqrmaq1E972hJCNJGU9Cy7swoLkZCAnj11Oiz3DdO5c+dyfkydvPQSRoxQ3SgWKy9UIxQK2cSs+VErKytLaynqBLm5uYotZWVlUqlUJpMpVwscHR0bXhtQbOFkmOIz336LCxfw1VdQe+OjogITJ+Kbb9C+PWJicPs2LRxCuHH+PPNbNXt2ozVLQkgDtblCle7rMpvglWdt1Y7L55xtrVZKl/qfSyQSFRcXK1cL0tLSFFsqKirYCoGiWmBhYcHmfrXVAldXV2tra/UlZWXh66+ZJ999h7feUtNA/+orZp8PPkDr1khOxqpVWLRIhy9DAzU1TK1C4wmGiakaMAAPHmDvXkydSvPVE6KhLl2YX0flYWfOztD9CngLSPBGw7GW5vvLZDK2KqCoE+Tm5rI3DtgtlU8nBlDUCaysrFxcXGadONGNHcsgFufNmZP93XdsncDFxUUoFCI9vW64YHY28wCYVv7rr8PLSz9/d61Vq5CZiZUr9VgEMYjsbBw6xDTR1S/2ZGWFCROwcSOuX0dEhOHDI8QU2djgk0+wfDnKylCbLLBkCQdXwSjBGy8LCwttbxzU1NRUnDzpopRHW504cXr9+kQ3N8WNgwVnzvRWmTKopOTWmDHnZ89Wvk7AXjbgpjNBfj5Th6iowLx54Lb36ZUr6NqVrgYbkkyGggLU1DS+mqO7O6ZN0299kRDTV1EBS0sorsP26IFNm3DrFvOfWFiY8j3k5qMEb1asLC1dPv0U9Zfym3L+PC5frutUGBvLtK4a6HHtmsVf/pLTqlVpaamid2FpaWl5eblUKlW+SKC2M4HySzVXKZYsqbv29N57+PNPzv5aqRQxMZg4EcuWcXZM8jzsgJKaGjyd0UodmmqCkCbFx+P0aUREoH//Zxvt7cHt4i2U4M2LQKB+YnBF///LlzFjBqqqmJNL0a+jbVtYWna7caPbv/6lSSFqOxMoXirqBGxtoF1h4fL9++suAhw6dOSvfy3p31+5cuDm5tbE+MmmrF2L27eRmoo334SfX3OOoImKCqYUR0cEBqKxTg8tCZvga/+FCSFaKy/Hvn3IykJkJKKi9FsWJXiz01TDCuBiAV/tOhMMHFjv1e7dp4YMKSwsZDsYstjZD5VHIQqFQicnp6ZmJigtxSefgE3AH36IP/7Q/e9S76uvsHs3U7WeNIkpqMVzd8fcuXB25jsOQkyTjQ2cnDBnDpQmetUXSvBEn06eREYG2rdXbLADXhSJ8NprTX/uuTMTTDl3bnhhYd3emzd/Xlyc7ufHVgKqq6uDgoK4mZmA7ZDIdllISsLMmRxcfBaJ8PHHWLVK1+PwxMICbm7afGD7dnTqpOt4XkLMhaUlxo41VFkGKoe0TEOHIi2tGZ97zswEiYnYsEF5w5K8vKodO0pEotLS0lu3brm4uKidmUDlMI6Ojo2NQnR2dnZ0dMQHHzxbw7CsDIsX43//a8afU88XX+CnnzBhAvPlcCU7G23acHY0bvn7M/W81q3h68t3KITwQCyGTMZNpzltUYInJujGDcTEqGyzychoFRzcqlUrqVSq4UzRbGcC5f4EihsHpaWl7dPSPjp0SHl/+fr1K8XiksBAtRUCd3f3RmcmUHjwoG6s4MKFzF/RaE90beTnIzISV64Yade2Xr2Qk4O9e2n2G9IC3bmDU6cQFISRI/VfmESCzZsxYABTq65FCZ6YoBkzmIfO2M4Efmo76MlkDa8qC4CFDx8++vJLbWcmUNQDhq9e7VM77TFu3674179s3ntPqHuOX7IEmZncXF1oWk5OvSWbZTJNF4kYNYppxBPSklRWYvfuus503PaNb9ThwygthdL0a5TgCVHn3j2mIuzujoyMZxs9PIR+fh1EInTvruFhampqSkpK2KsClmfO+MTFPXvvk0/eu3mz9Ok6RmydQCAQ2NnZNbxxoHip2png5k388gvzZMMGzJ/PNJf1JC0NQ4awAwouXULn5H2uokymRE1YWRmk/UKIEbG1hZcXhg0z1JQQ168jKQnTpyvfDKAET4g6wcH46SfdD2NlZeVZC1Ip3nhD+S37ysof3d3x448qH6msrFQZhXj37t3GOhMsPnQoiB3uKJdnvfLK/v/3/xpWDrhZ5uDDD5kc/8UX+OKL6xerw/+5CBVFmDqVqQMRQtQZNsyAhdnYIDpapacLJXhCDKK6Ws0ldHVr/Nja2nrXev4xt21TnrbINz19WF7e/Q4diouLMzMzFfWD8vJyef25jywsLNjZitSue6RmZoLYWGzfzjxZuRJvvtnz7A7rzFTm5bJlDSsohLRMlZUQi7UcY8Khrl0bbqMET4hB2NlxfP1cJsOvv6r8Vx1w4ULAkiXP7bvHLnOgfJGA7Uyg2MJ2JmDvGlgKBMv3769bsKiqKm3MmB6pT0dG/Pxz9ksv2ffu7ezsbKHh/XipFHFx6N2bZg0i5iQxESdOMO3niRP5DkUJJXhCTJOFBQ4caO5HtVnm4D//YWoST3W4e/fZW1Jp5dtvf/PSSyo3DmQymVwud3BwUDNVka2t65kzrhkZjtOmNS94g7pzh4MlvYhZk0qxcyfS09GnT715Z40BJXhCSOOqq7Fp07MlgiormV8yJR0fPPh+6FCMG9fwo2xnAoXS0tLc3FzmWV5e8cGD5b//Lvf0VOzMXi1obIEDnaY0braKCowaxdRvXnzx+Tvn5yMzE+HhhgiMGBOhEH5+GDwY2iwezpF79+Do2MQcGJTgCSGNs7ZGbOyzl8XFzENFI534mupMcP0685gzR/luglwuLy8vV64TqExpXFl/FUSZTCYUChWjENVPaWypw0/cV18hKwvvvYfhw9X2lqhnyRIkJOD8+eYXR4xbYiLOnYNcDj8/e5WJNvr14yOg/HwcOICICErwhBAuuLpCm/WLG9WzJ7p3V+krIBAImpqZQJ3nTmlcU1OjvL9MJrO2tlbpWlhSUiIWi1WnNGZnKWYbSatWYdGipuJgByvKZPjjD0yfrv3X0SxpaejQAezkx5wMlCCN27MH//634lXb7Gy89RavAVVVYfdu+PqqLPahghI8IYQPurStn3rOlMbqVFdXK7oWsh49evTkyRP2uaIzwYIzZ3o/vWAg/vjjf6alWbZpo/Y6gaOjI959t25txg8/xMsvG2LCvn378OmnuH4dx49j0yblThLPRxUCLZWW4j//qbdl+3bm39lAA9zVun+fOeXGjUOTS2xQgieEaEckQk0Nf8OBdGNtbV03M8FTycnJqnMbx8Yqjz+0q67+W1FR+vz5is4E2dnZivpByJ0788+erds1K2tv3767w8PZZQ701ZmguhqLFiE1FWvXYtUq3L2L+fO1WHk0JgYLFjTd8iPKkpNR/0oQ5HLmW+czwXftqskC1pTgCSHauXQJeXngshd8fj6vP5YNHD+OMWOUN9iVlgZ7eSE4WHVPsVhl4/h798bt2VPm4aF8nYCD9ZGVL3h8/z2T3dkLBiIR8+Svf0VcXNONuTqxsdi2jUlZ169rOtNwi6e2LsvJrSqdaDDQlLcEX1VVNWvWLMVLiUTCdqMlhBg5S0tIJNwd7sED7NqF6dONaEG8FSs03TMxERMmqGwT3Lnj/NJLzs7O+uhM4CIWf717ty37gs3uAC5fvv7ee6Uvv6yoH7i4uKhZ5kAmw7vvMk9u3cK6dZg7V9M/s2ULCED37oiPf7YlKMg0hk/yluBtbGy2bNmieCkSiRYuXMhXMIQQzVlZqV6x1EnHjujcGbt3Y/ZsftbU1EVEBPPQmRadCd54Q+23H/Lrrzu7dLkpFrM3EcrKytg6gWLdI7lcPiItbcatW+z+Ve+/f9rFxcHXt9FlDoiSZcvw0084exZyOUJDRUuWOPLwVUkkEIvh5KT5J+gSPSFEO87OXF+fHDUKv/2Gw4cxaRKnxzU7WVm4exeRkcwPfUIC2BmIhUJYW9tWV8/Iy8MnnzT62ZISpin6lE1ZWcdNm86MH6+yzIGiQsDuxk5p3Nisxtwsc2AKnJzw8cf46CPmK79/P8vVVaMFqTn2558oLGTqwRqjBE8I0U5oKNfXJ62smNRef8J8ooavLy5caOZnv/uOqRYoXSMJPHcu8F//Us76DYlEIpWlj9jOBOyWiooKlVurFhYWbO5Xuxyiu7u7tbFNUfztt3jnHQ2HFfDZaeHSJdy7p+0gTErwhBAj4OLCdwTm7h//YB5aYmcm0Hx/dpkD5ToBu8yBYotitiLFpQIrKyt2tiK1lwrUdybgSnIylixBURG++OK5+xYWwuniUasqkdplXfTr8WOcOYORI7Xtp0IJnhBCCDe0W+agVk1NTUlJiXKdQDHiQLkzgaJOIBAI7OzsGhtu4Ozs7OTkpGlngvfeQ00Nu0YiOnZset99OyWvfrHQSlBpsXev5n8dN1q3xqRJ6NRJ289RgieEGB+5XKNBX8T0WVlZqcxM8FzKyxyw1QLFiIPS0tLy8nLF0keK6wSKmQkUdQL/pKTOhw6BnRXu/fexa1cTJUqlaHfgZ7u0JABu69czdQI92bcPEomaNem0z+6U4AkhxufWLSQm4tVXaaA2UaupZQ4awXYmeFYnKCjw/uqrZ2/v3v3NyJGJPj6KDSozE9hVCF86vIR9y33NGtl771m0bcvln8RipzCSyTBmDLhYWokSPCFEO3l52L0bM2fCzk4/BbRvj9OncfIkhg3TTwGkxVFd5mDlSuY8VvJhTg7+/FOxPoJEIlHuWui94mv76rpZByzE4otDh67t319lxIGtra3aroWqyxw0QTGF0T//icWLdb+ORQmeEKK14mLU1Ogtwbu6Ytw4bN+O1q3RrZt+yiAtW3g4U0tVUVqqmLXO0tLSvRbzIj4esceUd+ybmtr3t99UpgdmbxwoVwtyc3ObHoVob2+vqAH4AGOXLaurX3zxBYYORWIiXntNkxnrGkMJnhCiHXbpVC7numnI359pvvM/HSgxU0OGaLGzqytOn1a8evToUdu2bRsu/968GweKGkDbpUuFYnHdG+XlePddfP65LtmdEjwhRGvstOj6TfDskrKEGIN27ZjHUxXJyejMzUQ37I2DNm3a4OpVHKt3kQBXrui+6B8leEKIdhwd8fbbtOIoIdzx9sbly3XPZTJcv47QUGi8lkFjKMETQrQjENC0NKQFMcSYTT+/eum8Tx9OjkqjUAghRu/uXdy4wXcQpIW6cwdr1/IdRLNQgieEGD2xGMePIz2d7zhIS5SXp9USbkaEEjwhxOiFh6NHD+zZg6IivkMhLU5+PrSZZ69ZKipw6BCqqrg9KiV4QojWLl3Co0eGLXLYMPj4ML+1hBhWSQm8vPRZgFSK3buRk8P5rX7qZEcI0drt25DLoY/JOhtlYYEpUwxYHiF15s1D/UVxuXbkCJ48waxZOo56b4ha8IQQrQmFeLqcByHmT4+rIkgkKC3FhAn6GJpCLXhCiNYsLZnfJUKIriwtMXWqno5NLXhCiHakUri7o7qaefAmOxuZmfwVT4gJoARPCNFCWhrmzMH33+Obb/Daa4iP5ymOmzexaxeKi3kqnhATQAmeEKIpmQzLliEnp+5lURGWL0d5OR+hjBwJd3fs2MH5yCJClP32G7KyuD6oVIpLl/Tccw+U4AkhWkhNVf2xKy1l2tI8EAoxaRLzQ3n/Ph/FkxahpATZ2Zz3bQcOHUJcHMrKuD6uKt462dXU1KxVmv2vqqqqnJ+GACFEU2qbHLz1trOzwxtv1C1eS4ge5OXBwgIeHpwe9OJF3L2LKVMMsKIDbwleKBSGhYUpXorF4lu3bvEVDCFEEwEBaNWK+dVTsLZGt278BUTZnehTfj7c3TkdI1dTg/h4jBihvP6s/vCW4C0sLAYMGKB4KRKJtm7dylcwhBBNCIX45BN8+mndjLH29ggLw/79eOUVODjwHRwhXIuI4Grl96esrAx52YnGwRNCtBAcjI0bcesWJBL06AGBADt24MIFDB/Od2TFxUzzSL9zipKWxcaGeXDMgJedKMETQrRjZ4eoqGcvp0/X5zxfmjt/HhkZmDmTLiYQwjKG/y4JISbM2hqWxtBSGDEC9vbYsYNpxxNiPGQy3L3LS8mU4AkhXOJtjnorK0yahPJynsbtEdKII0eYBx/DxIyh4k0IMR/79zNt+lGj+Lhu7+iImTOZ/yVEZ4mJkEjQvbtuR7l4EQkJePVVXu4cUQueEMKlXr1w/z62beNpijnK7oQjiYnPJm1sJrEYV65gzBjDrqz8DCV4QgiX/Pzw+usoLcWxY3yHQogO8vPh6anbIezsMHcuunThKiRt0SV6QgjH3NyYHC+X8x1HVRWKiuDtzXccxPRUVTGVVA4GXdrachJP81ALnhDCPTs72NvzHURcHLZuRUEB33EQ02NhgTFj0Lo133HohhI8IcRMvfAC03zfvt0Aq3oQM2NlhdDQZs1yU1WF1FR9hNQMlOAJIXp34gTzMPRFewsLTJgAOzucO2fYgklLJZFgxw4cP87faNF66B48IUTv/P2xdy/TkB471rCz4lhb49VXaU0aYghyOXOWFxbitdcgFPIdDagFTwgxhI4dMX06srJw8KDBy7azM46Z9oi5y85GZiYmT4abG9+h1KHznhBiCK1bY+ZMVFfzHQchz1NZiZQUBAdreenH1xdvv62H1Wmaj1rwhBADcXKChwevEchkzC83IU3KzsahQxAItP+kMWV3SvCEkJYkMxO7d+P6db7jIEYtPx9ubuZwY8f0/wJCiGm6cQOVlejb14BFtmuHkSNx5AisrREaasCC9SItDUePorwcYWEYPLhZLU6iTkGBxnPYpacz55KPj75Dah5K8IQQftjY4MQJFBczOddwK9P06AGxGHFxCAkxjnXsmykuDsuXQyJhnv/5J/Py44/5jslctG3LZO3ny8rCzp0ID6cETwgh9YSEwNERu3ejqgovv2zAgqOiEBFh0tldLscPP9Rld9bJkxg1isk1RHcarSCXl4ft29G5M4YMMUBIzWPCpzghxNS1a4fXX0fPngYv2MRHxhcUqJmB984dfoJpodLS0L49XnyR7ziaQi14Qgif3N2ZB9GKkxMsLeu14AGdlz4jWunTB3K5kXd8oBY8IaRFc3vwAIWFfEehHVtbjB1bb4uXFwYPZp6cOoVjx/D4MV+htSTGnd0pwRNCjMuDB7h504DlSaWOubnYvBlFRQYslQNvv42pU5lMLxCgZ098+y3s7MC247OysGED1q9Xs8hOVRUSEpCezkvIpqGggPmWzANvl+irqqpmzZqleCmRSGQyGV/BEEKMRGkpjh5lsq2Bui4JhVlRUYHx8UyOnz4drq4GKZUDQiFiYjBoEJONunZ9tr1bN+aRl4ekJDg61vvI2bNYuRIiUd1un35qQn+u4ezcibAwREY2eEMsxpEjGDaMl6iah7cEb2Njs2XLFsVLkUi0cOFCvoIhhBiJsDAmLe3bx7Q+x40zRIkyCwtMmsQUWVFhchkvIED99latmIey7Gx8/vmzRc5u38Y//4l//EP/IZqUmhqUlKh+dWBnr92yBTKZaQ2+oE52hBDjEhCAGTMMexfZ0hITJxqwPB6cPq26hOmlS0yVxt6et5CMUEEB5HJ4edXfWlXFZHepFNOnm9b3RQmeEGJ0WrdmHkSv5HLVfvhEIkHbtqq3NmBlhXbtEBlpWtmdOtkRQog6cjnfEXAsMlK103fXrnB2BrsET24uX3EZl7ZtmVa6KgsLDB0KBwdeQtIFJXhCiLHLz0dysgHLS0/HL7+gtNSARTZTUZGmXb47dcLbb0MorHvZpg0++KDu+aNH2LgR69bh4kWT+KOJpugSPSHE2KWn4+RJDByIqCiDlNe6Nays8McfmDYNLi4GKbKZ/vgD/fppOkPtxInMzrdvw9ERERHPpltv3x5vvIGEBNy4gbIyjBih15BNRGUlcw4oKkSmiRI8IcTY9eoFW1scPly3Mo3e5xextcXUqdi2jcmfb71lzOuG1tRoN+uutzfzaIidJ2fQIOaAKse3sDD1NKe98nJs2YJ27TB8ON+h6MR4T1xCCFEIDYWzM9LSDDV7mI0Nk+MzMow5u7OdwjgMUCBQXUXt2jVcuoTgYHTtCj8/zgoyTnWD4MrKmOwuFKJfP74j0pVRn7uEEKLQrh3zMBwrK3TqZMDytCaXw81Nvz27w8JgZ4c7d/D77xg1Cj166LEs3l27hlu38Kb7MaaaM2VK3dSApowSPCGEmCSBADEx+i3C1pZJ6j16oLjYDPLdcxQU1E50NGoU03y3seE7HA5QgieEmKTycuYXuX17Q5WXlwex2IDlGZeGU/wdOoSyMnTtiqAgU199t05+fu0/r6kNdm8CDZMjhJikpCRs24ZbtwxY3vbthh2uZ9S6dGHa9EeOYNUqNYvTm6Ly8gZz2Jk4asETQkxSr17M/x45guJiDBqk//IGDYJAgL17MWIEwsL0X56x69CBeVRX4/59eHjwHY0u7t5FVhaio995x9zmN6IETwgxVb16wcUFCQnM77IhetcPHAh7e5NbPF6vrK0REqK6cf9+eHo+mynPqN24gWPHFIvHGf0K79qhBE8IMWGBgczDcNjrBsYhKwuHD2P2bOMapy6XM7Wumzdx9izatsWrrxrxAmxXruDUKURHIyKC71D0ghI8IYSYpPJyPHliXNmdbQQPHIgXXsCjR8jJMeLsDsDfH05OCA7mOw59MebvnhBCtCORGHad2fJyVFQYsLx6JBLj7b4uENQtwKZMJsOxY0ziNxaenmac3SnBE0LMSnw8Nm3C3buGKu/UKfz2G9OO5kNNjZHPs6eqvBx5efjjD6xZg0uX+I5GiUyG9euRk8N3HFwzqbODEEKa1LMn06Letw+lpejTR//ljRiBvXuZOsXLLxt+iHxwsIkNy3dywowZKC5GYiKTU3mQk4OCAnTrprL5yROm5mFry0dI+kQteEKIWRkwAKNHIykJUqn+C7O2xiuvICQE16/rvzBVNjZq5p8xfq6u6NcPffvW21hejoQE1aVuOJacjD/+QGpqw3fy82FpaZJfZtOoBU8IMTfduiE01FBDngQCDB/OU4PUfOTk4PBhHDmCwED07AlfX64LuHwZp08jMlLtnAkFBfD0NLcxcpTgCSHmydA/1kbdWdwEBATg//4PKSlMOz4vTw8J3ssLo0ahe3e1b0ZFNfaOaaMETwgxfyUlcHExVGE1NSguNrdZT/XP2hpduzIPFcXFTHVN138+f/+mi1ZZJ9c8UK2TEGLmbt/G+vXIyDBUeTdu4NdfmaaoniUlGXC8AH+uXsWaNfj9d9y6haoqvqMxKby14KVS6alTpxQvxWJxFf3TEUL0IDQUOTnYtg2jRjHP9a5PH0ilOHgQ2dmIjtbf1fvERNjbm/dAbkZ0NIKCmPrSqVNwc0O7dpp97Px5eHsb+Yr++sZbgpfL5WlpaYqXVVVVEomEr2AIIWbs/7N3J9BNVGscwL80zdImadIKdKF0Y2lp2FqkyiY+nghSwT6XhyhC9SEeBUVRBAWUx9HaIwroU3gurCqIT9BSVvdCtRQtrRSKbdmX0tRSuqRp0jTJO0NqaVKWJk0zM8n/d3o407nJzNdwz3y5d+7cKxDQnXeSSkVZWUyqcEdn7NChFBxMBw6Q2dx5Cb6piWfPwTvHOmdORASNGWM/bV99Pclkbd5gMND27XT6NI0f78YwuYi12uHr6zt9+vSWX7VabX5+PlvBAIDHS0qiQYPceKs1Job56UxGI3dnsusMbb/NbN3K5Pj4eFKr/1rRzmSi9euZ71VTplC3bu05rHXF4YEDXR8w67zg6x8AwGUeNpBq4EAPfHTbIRMmUFERHT5M+/fTzJmXW/NCIf3tb0x7XyJp50GKijx2QCQSPAB4KYOh/VmgwywW+vZbuvlmCgpy1SHbTMjmdaxz5gwbRhcvtuqrv7y8YPtXEK6ouMqKt54Bo+gBwBuVltJHH7lx+nHrs3Pr1tGhQ+46pdeorW3un/+LyUSrVlFmJp04wWT669BqSa+nLl06O0R2IMEDgDeKiaHISNq0iS5ckLvjfGIx/fOfNHw47dlDv/zijjN6A4OBdu+mjz+mhobWuwUCuv12Zt+XX9KaNdc7gFhMEya082Y9/6CLHgC8kVDIXNmzsui330JvuYX8/Nxy1ltuYb5WXGXkNzju5EnatYtJ5v/4h93/n48PxcczP/X1VFl59XdfuEBr19Iff1BQEN17L912m5uidickeADwXqNGkVJ5ys+vc4e72wgJcdWRNBomOXnVQHob9fXUuzfzX3jtwZMymf23qdpaysxkvmX95z9UVUXWTH/kCL3wAo0d64ag3Qpd9ADg1fz8OnUJsxsxmZyb806vp3XrmBzvvfr1ozFjHH00wmKhLl3o88+bs3uLTz5xcXRcgAQPAHDF9cdkud65c7RrF23adM2u5GtobKSrPhruyfT6jh9DqWRa6m3X0a+ocPt/fedDggcAaHbuHH38MV286MZTRkbStGnMxtq1VFLS/vdZZ/70lv55o5H27qWVK5k87AptZ7CNiMBysQAAnqtbN6aF9+mnNHo0/fhj8wis++6jhITOPGvXrjR5MnOytu3KaxMIKDjYjc/xs+jECdq9m0wm+vvfXTUlzfjxtHMnnT7d/KtQSDNmuOTA3IIEDwDQTCym+++nbdtowYIrD14dOECLF9OwYZ18bgcXjQkMpNTUTguGU4RC6tOHRowgqdRVh5RK6Z136H//o6Ii5jtcSopnrtmDBA8AcIWPDxkMNo9VWyy0Zk3nJ3g7Oh3TbB02zIWj7vkqMtKhvo12ksk8/xsS7sEDANg4d+7GezpdYyMZjbR+PW3ZQn/+6fbTs6e2lvbvZzsID4EWPACAjfBw+z3du7s9CJWKJk2iM2do7146e9Zjl0Npra6OcnLo0CHmbx840F1zD3kyJHgAABvjx1Nm5pVHzAUCeuwxlkKJiKApUzzw+a2r+u47qqxkPv2+fT1wRDsbkOABAGwoFPTuu7RhAx09Sv7+THtyyBBWA7LLdjk5pFQWGPoWlwgmTWItKNcbN46kUqR2F0KCBwCwFxREzz5L1gew//tf+vVXGj6c7ZhaaLX0yy9aH12DuC+ZpCQUsh2Q4/R6KiykwEDq1evKTvTJu1pnJXidTufv799JBwcAcA+RiG69lbKzKTGRMwlozBgaMcL4VbVIoyMh39atqaykrCw6eZIkEho5ku1oPJzrE7xGo1m0aJFGo8nIyHD5wQEA3CwxkYqL6dIlziR46wT6XfxEba/fZ89SeDine7mt/Q133029e/Oy74FXXJzga2pqtm3bFhoaWlZW5tojAwCwQiikKVPYDqKNkSPJbLbdVVNDmzYxLeOoKIqNZX/qFr2eaambzaRWX9kZGEj33cdmVN7Exc/BK5XKxx9/PDQ01LWHBQCA1vz82iwrr1TSU0/R7beTyUTFxWwFxqiupvXr6d13aedOOnOGzUi8GwbZAQB4CrmcBg5kfuw0NtK6dRQcTKGh1L27K5/rNxpJoyGBwOaYcjn16EG33cb8610L3nELPnoAAE9nsTBZ/8IFysujwkL6179sSo8eJZGIJBImGQcHk0+rnl2jkfR6MpmYDZmMWg+dPnuWMjNJq2UOHhdnk+B9fWn0aHf8XXBdHU3wO3bsePjhh63b+fn50dHR13plVlbWqlWrrlXa1NRktr+h1Eyn0xWz290EvHL+/Hm2QwA+aX+FMZl8fv89uHfvKoXC0MlBdQKVivnp29enqclse0WNysqS1NZap9M5Pm5cU6s1XYILC1XHj1u3KwYMuBQT01IkamiQR0UZZTK9SsW8xWuu0ny5woSFhXU0wd95552nTp2ybgcEBFznlaMuu1apVqt91vrYaRv+/v6xsbEdjBO8CioMOKT9Fea33+jcuYCUlE4OqB0OHKDQUOrRwxXHio0ls5lpoxuNPWUym0H4ISE0YgTTIvf17ebv300stnnjoEGuOD3/8OUK09FBdiKRSPUXHx8sXQMAnmzUKKalWl7OdhxEeXlUUeG6w/n4kERCcrn9I3ZKJZPju3RhWv922R04z8UpuaqqatWqVUeOHFGpVCtWrCgsLHTt8QEAWGRdubSggO04Lg+bE4nYDgK4zcWD7IKCgp588knXHhMAgDsmTuTEjDdNTRifDjeACgIA4ACOzME9ciSFhLAdBHAbEjwAAP8kJbEdAXAehsUBAAB4ICR4AABnaDR09izbQQBcGxI8AIAzCgpo927r9DAAXIQEDwDgjGHDqLaWWHkW2GikCxfarCYHYAsJHgDAGQoFJSRQdjaZTG49b3U1ffIJvfoq7d/v1vMC72AUPQCAk4YOpagoEgrdd8bSUnrxRdJqme1XX6XRo+mll9x3duAXtOABAJzk50cxMWQ2U3ExHT5MRmOnn/Gdd5qzu9UPP1BOTqefFHgKLXgAAOedO8e0pM+cYbYDA2nBgqusxu4ck4lKSshgIL2eLBYaOpQaG6+yZlt+PlME0BYSPACAkywW+ve/m7M7EV26RIsX04YNpFDYvKymhurqmFRtMFCPHjalx49TdnZzUVwcjRlzpchopB07SCplfmQyJouLROTnRw0NNgdXKjv1TwQeQ4IHAHDSqVP013LZzbRaWr6cXnnFZud339GxY8yGWEwpKTYJXiajmBhmv0RCXbvavEsqpRdesNkjENBdd9HWrTavueMOV/5F4EkEFs48xdnQ0OB3tTUczGYzFqKF9kOFAYd0pMKUltJTT9nvTEmhmTNt9uh0TG6WSKjjFbOpiT74gHbupMZG6tGDnn2WBgzo6DHBITy6wnAowQMA8IvZTNOm2SwPL5HQhg0UFNS55zUaqaGBAgI69yzAd/z4GgIAwEE+PrRo0ZV0LpXSvHmdnt2JSCRCdocbQwseAKBDGhooP58aGykhAUPegEOQ4AEAADwQuugBAAA8EBI8AACAB0KCBwAA8EBI8AAAAB4ICR4AAMADIcEDAAB4ICR4AAAAD4QEDwAA4IF4sJrc999/n5OTw3YUztDr9UKhUCQSsR2Iw8xms16v9/f3ZzsQZ9TV1SnsVuvkCZ1OJ5VK+bKORWtNl0mlUrYDcQZ/K4xWq5XL5WxH4QyDweDj48PHa6PFYtHpdDKZjO1Abuz+++/nwUx2995775IlS9iOwhlffPFFdHT0kCFD2A7EYWVlZZs3b37uuefYDsQZc+fOXbp0KdtROGP58uWTJk0KCwtjOxCH5efn//HHH5MnT2Y7EGfwt8LMnz//9ddfFwqFbAfisO3btysUilGjRrEdiMPq6uqWL1/+it16wJwUERHBgxa8WCzu168f21E4Izs7Ozo6mo/By+Xyrl278jFyIlIqlTyNvGvXrn369ImKimI7EIdVV1fX1NTw9GPnb4VRqVRqtdrXlweXcTsFBQUqlYqPH3t1dXVQUBBfIudfZyAAAADcEBI8AACAB0KCBwAA8ED8u3nDIw888IBEImE7CmeEhYXNnj2b7Si8zuzZs2+66Sa2o3BGQkJCXFwc21F4nbS0ND7egCei5ORkPo4N5B1eVg6+4OnF2jqwMTQ0lO0ovA5/P3PZZWxH4XUiIiLYDsFJgYGBbIfgFdBFDwAA4IGQ4AEAADwQEjwAAIAHEi5evJjtGG7AbDar1Wq2owDeQIUBh6DCgEN8fHxiY2PZjqJdeDBVLQAAADiKW6PoGxoaXn75ZYlEUllZuXjx4vDw8PaXghe6dOnSwoULFQpFdXV1enq6SqVqXfroo4+KRKKAgICqqqq0tLSQkBD2IgVOOH36dFpamkqlamxsTE9Pt3uK1WKxvPfee+fPn7cu4pKens5epMAJhw4dWrlypUKhkEgkS5YssVsIavXq1Xv37lWpVEFBQYsWLeLiMlEWLnniiSfef/99i8Wyb9++xMREh0rBCyUnJ2dkZFgslk2bNk2cONGudM6cOdaNN95446677mIjQOAWtVr9+++/W6vEM888Y1e6bNmyF1980bqdnp7ORoDAIXq9Pjw8/MKFCxaLZebMmW+++Wbr0h07dvTq1auhocFisTz44IN2pRzBoQRvMBgUCsWJEycsFovZbA4KCiooKGhnKXih8vJysVis0+ksFktdXZ1IJNJoNK1fUF9fb93YuHFjdHQ0S2ECV/z6669hYWHW7SNHjqhUqqamppZSvV4vlUrLy8vZCxC45auvvkpKSrJu79mzJy4urnXprFmzUlNTrdtbtmxRq9VsxHgDHOpSKC8vr6urs/ajCgSC7t27l5SUtLMUvNCxY8fkcrmfn591+TuZTHbs2LHWL7CuZ19dXf35559PmzaNvUiBE4qLi1tu03Tv3r26ulqj0bQuDQgICA4OLikpKSwsxOAksKswpaWlZrO5pVQikTQ1NVm3IyMjjx8/zlKY18Ohe/AXL14UCATW67V1bqzKysp2loIXqqqqsqZwK7lcfvHiRbvXrF27duPGjSEhIVOnTnV7gMAtrSuMXC63XlVaVt8vLi4WCoXLli3z9/f/6aeftFrt9u3bWY0XWGZXYUwmU01NTcscfNOmTRszZsy2bdtCQkK+/fZb/WVSqZTVkO1xKMErlUprV7x15ItOp1Mqle0sBS+kVCr1en3Lr1etEo9edvDgwSFDhhQXF/N38mDouNYVRqfTWfe0lMpkMj8/vzlz5hBRamqqSqXKy8sbPHgwe/ECy+wqjEAgUCgULaX9+/fPzs7evXs3ESUlJclkMq5ld25NdBMaGioWi1va5RUVFVFRUe0sBS8UFRVVU1NjNBqJyGAw1NbWRkZGtpRab0FZtxMTE4VCYX5+PnvBAvuioqJaX0CkUmlwcHBLaUxMjEajMZlMRCSVSgMCAi5dusResMA+uwoTHh5ut7RPr169Zs2aNXHixPLy8vj4eJbCvB4OJXg/P78JEybs27ePiI4ePSoWi2+99VYi2rp1q1arvVYpeK2IiIjExMTc3Fwi2rt378033xwZGdnU1PTll18ajcaioqLPPvvM+sqKiora2to+ffqwHTKwafjw4Uaj8ezZs0T0ww8/pKSkSCQSrVa7detWIoqLi4uPj//xxx+JqLa2VqfT9evXj+2QgU133313cXFxfX29tcJMmjSJiP7888+dO3dan6Cz3nc3m81r1qzh5vKb3Jropry8fObMmWq1uqCgYNGiRUOGDKmqqgoODs7MzBw3blzbUrbjBZaVlJTMmzevf//+BQUFb7/9du/evY8cOTJgwICCggKVSpWamjp06FBfX9/c3NypU6dOnjyZ7XiBZTk5OW+99VZ8fPzhw4c/+OCDbt267dq165577tFoNIGBgSdPnpwzZ86gQYMOHz6cnJycmprKdrzAsszMzI0bN/bs2bO0tHT16tVyufyjjz6aN29eZWXlvn37VqxYkZCQUFxcnJiY+Pzzz7Md7FVwK8FbNTY2isXill+tk05cqxTgOhXGbDYbDIaWsZkAN7zCcHCoFLDLrsLU19e3LI6s0+laD/XlGi4meAAAAOggDt2DBwAAAFdBggcAAPBASPAAAAAeCAkeAADAA3FoJjsA4L709PSDBw82NjZGR0dPnz5drVZnZmZ+/fXXDQ0Nd9xxx2OPPcZ2gADQDC14AHDA/Pnzx44dm5GR0bNnT7VaTUTjx48/c+bM008/jewOwCl4TA4AHJacnJyVlXXo0KGYmJgFCxaoVKq5c+eyHRQA2ECCBwCHlZWV9evXr3///i+99NLKlSszMjIEAgHbQQGADSR4AHDGp59++sgjj0RGRubl5WGZPgAOQoIHAGeYTKbIyMiqqqr8/PzY2Fi2wwEAe0jwAOCMhQsXEtGHH34YExPz888/C4VCtiMCABsYRQ8ADvvmm2+Kiopee+21VatW5ebmLl26lO2IAMAeWvAA4JiysrKUlJQ9e/YEBgYS0UMPPbRly5a8vDwsoA7AKUjwAOAAk8k0duzYtLS0pKQk656qqiq1Wh0WFpabm+vri7mzALgCXfQA0F55eXkzZswwmUx79uxp2bl58+bBgwcLBIIZM2bk5uayGiAAXIEWPAAAgAdCCx4AAMADIcEDAAB4ICR4AAAAD4QEDwAA4IH+HwAA///iooXoH5tIeQAAAABJRU5ErkJggg==)"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import regr from '../regr/mod.ts';\n",
"\n",
"const linregWoPoly = regr.Linear();\n",
"\n",
"linregWoPoly.fit(df.drop('y').rows(), df.select('y').rows());\n",
"const predWoPoly = linregWoPoly.predict(df.drop('y').rows());\n",
"\n",
"comparePredicted(df.x, df.y, predWoPoly);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now augment our dataset with high degree polynomial:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/markdown": [
"![name](data:image/png;base64,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)"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import { polynomialTransform } from '../encoding.ts';\n",
"\n",
"\n",
"\n",
"const polyFeatures = polynomialTransform(df.drop('y'), 36, false, false)\n",
"\n",
"const [polyX, polyY] = [polyFeatures, df.select('y')]\n",
"\n",
"const linregPoly = regr.Linear();\n",
"\n",
"linregPoly.fit(polyX.rows(), polyY.rows());\n",
"const predY = linregPoly.predict(polyX.rows());\n",
"\n",
"comparePredicted(df.x, df.y, predY);\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Deno",
"language": "typescript",
"name": "deno"
},
"language_info": {
"codemirror_mode": "typescript",
"file_extension": ".ts",
"mimetype": "text/x.typescript",
"name": "typescript",
"nbconvert_exporter": "script",
"pygments_lexer": "typescript",
"version": "5.6.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}