{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Jupyter Python And R Demo\n", "\n", "Although all the code cells in a Jupyter notebook are attached to the same computational kernel, as with Rmd notebooks in RStudio, there are ways that we can finesse things to allow us to write, and run R code within Python code cells.\n", "\n", "But first, let's have a look at some Python code, some notebook features that work with a Pyhton kernel, and some packages used for wrangling data." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Crunching Data With `pandas`\n", "\n", "One popular tool for crunching tabular data is *pandas* package:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ab
014
125
236
\n", "
" ], "text/plain": [ " a b\n", "0 1 4\n", "1 2 5\n", "2 3 6" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "\n", "df = pd.DataFrame({'a':[1,2,3], 'b':[4,5,6]})\n", "df" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "We can load data in from data files and URLs in a wide varoety of formats: CSV, Excel scpreadsheets, JSON data, HTML tables and more." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
mpgcyldisphpdratwtqsecvsamgearcarb
021.06.0160.0110.03.902.62016.460.01.04.04.0
121.06.0160.0110.03.902.87517.020.01.04.04.0
222.84.0108.093.03.852.32018.611.01.04.01.0
321.46.0258.0110.03.083.21519.441.00.03.01.0
418.78.0360.0175.03.153.44017.020.00.03.02.0
\n", "
" ], "text/plain": [ " mpg cyl disp hp drat wt qsec vs am gear carb\n", "0 21.0 6.0 160.0 110.0 3.90 2.620 16.46 0.0 1.0 4.0 4.0\n", "1 21.0 6.0 160.0 110.0 3.90 2.875 17.02 0.0 1.0 4.0 4.0\n", "2 22.8 4.0 108.0 93.0 3.85 2.320 18.61 1.0 1.0 4.0 1.0\n", "3 21.4 6.0 258.0 110.0 3.08 3.215 19.44 1.0 0.0 3.0 1.0\n", "4 18.7 8.0 360.0 175.0 3.15 3.440 17.02 0.0 0.0 3.0 2.0" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pyreadr\n", "\n", "mtcars_py = pyreadr.read_r('mtcars.RData')\n", "mtcars_py['mtcars'].head()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "The `pyreadr` package will also write `.Rds` and `.RData` files.\n", "\n", "With data in a data frame, we can plot from it directly:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "mtcars_py['mtcars'][['mpg', 'cyl']].plot();" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "A range of chart types are supported:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "mtcars_py['mtcars'].plot.scatter(x='mpg', y='wt', c='DarkBlue');" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "The *pandas* plotting support is made even more interesting by it's ability to support a range of plotting engines on the backend. For example, if you want to generate interactive charts using plotly, we can just enable the appropriate backend and replot the chart:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "mpg=%{x}
wt=%{y}", "legendgroup": "", "marker": { "color": "#636efa", "symbol": "circle" }, "mode": "markers", "name": "", "orientation": "v", "showlegend": false, "type": "scatter", "x": [ 21, 21, 22.8, 21.4, 18.7, 18.1, 14.3, 24.4, 22.8, 19.2, 17.8, 16.4, 17.3, 15.2, 10.4, 10.4, 14.7, 32.4, 30.4, 33.9, 21.5, 15.5, 15.2, 13.3, 19.2, 27.3, 26, 30.4, 15.8, 19.7, 15, 21.4 ], "xaxis": "x", "y": [ 2.62, 2.875, 2.32, 3.215, 3.44, 3.46, 3.57, 3.19, 3.15, 3.44, 3.44, 4.07, 3.73, 3.78, 5.25, 5.424, 5.345, 2.2, 1.615, 1.835, 2.465, 3.52, 3.435, 3.84, 3.845, 1.935, 2.14, 1.513, 3.17, 2.77, 3.57, 2.78 ], "yaxis": "y" } ], "layout": { "legend": { "tracegroupgap": 0 }, "margin": { "t": 60 }, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "xaxis": { "anchor": "y", "domain": [ 0, 1 ], "title": { "text": "mpg" } }, "yaxis": { "anchor": "x", "domain": [ 0, 1 ], "title": { "text": "wt" } } } }, "text/html": [ "
\n", " \n", " \n", "
\n", " \n", "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pd.options.plotting.backend = \"plotly\"\n", "\n", "mtcars_py['mtcars'].plot.scatter(x='mpg', y='wt', c='DarkBlue')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "As in the R-verse, there are lots of alternatives to \"native\" plotting. The `seaborn` package, for example, builds up a more powerful range of statistical chart types from the same underlying core `matplotlib` graphics used by the native *pandas* plotting methods.\n", "\n", "As with `ggplot2`, the `seaborn` package provides access to datasets we can try the charts out with, although it should be noted that these are not part of the package distribution, but instead are retrieved from an online location when the dataset is requested (so you need a web connection...):" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
subjecttimepointeventregionsignal
0s1318stimparietal-0.017552
1s514stimparietal-0.080883
2s1218stimparietal-0.081033
3s1118stimparietal-0.046134
4s1018stimparietal-0.037970
\n", "
" ], "text/plain": [ " subject timepoint event region signal\n", "0 s13 18 stim parietal -0.017552\n", "1 s5 14 stim parietal -0.080883\n", "2 s12 18 stim parietal -0.081033\n", "3 s11 18 stim parietal -0.046134\n", "4 s10 18 stim parietal -0.037970" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import seaborn as sns\n", "sns.set(style=\"darkgrid\")\n", "\n", "# Load an example dataset with long-form data\n", "fmri = sns.load_dataset(\"fmri\")\n", "\n", "fmri.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "One thing to note about `seaborn` is that it is a *statistical charts* package, which means it can do the necessary stats on your data as part of the chart production:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZIAAAEMCAYAAADu7jDJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAACeX0lEQVR4nOy9d5wdV3n//z7Tbi/bi9qqS5ZlS7Jwt8DG2BSDDRiMHdNCCQRDQvuGH0kgBEJCCanwpSQ44WsSSkgMNgQbg8EF29iWm4rVu7bv3l6mnPP7Y7Zqu7Qrrex5v16rXd17ZubcMvPMecrnEUopRUBAQEBAwEminekJBAQEBASc3QSGJCAgICDglAgMSUBAQEDAKREYkoCAgICAUyIwJAEBAQEBp0RgSAICAgICTonAkAQEBAQEnBLGmZ7AmaC/v4iUJ1c+U1cXp7e3MMszmn2Cec4uZ8s84eyZazDP2WUu56lpgpqa2ITPvygNiZTqpA3J4PZnA8E8Z5ezZZ5w9sw1mOfscqbmGbi2AgICAgJOicCQBAQEBAScEi9K11ZAQMALk3K5SKGQwfPcWdtnV5eGlHLW9jdXzMY8dd0gHk8TiUwcDxmPwJAEBAS8ICiXi+Tz/aTTDZimhRBiVvZrGBquO/8NyanOUymF49hkMt0AMzImgWsrICDgBUGhkCGdbsCyQrNmRF5MCCGwrBDpdAOFQmZG2waGJCAg4AWB57mYpnWmp3HWY5rWjF2DgSEJOOtxXO9MTyFgnhCsRE6dk3kPA0MScNZStT0OdebZeShDuTp7wdWAgPnG3/zNZ3nmmafO9DQmJAi2B5x1uJ6kJ1OmK1PG0DVCpsbR7gLLW1NoWnBHGjA/cV0Xwzi5S+4nPvHnszyb2SUwJAFnDVIq+gtVOnpLKKVIRM2hZXiuaNOVKdFcO7O0xYCAueTyyzfzzne+h0ceeZiLLrqEW255K//0T3/Hvn17sG2bjRs388EPfhhd1zlwYD+f//xnqFTKrFy5mqNHj/D2t7+Lyy67gttuey833/xWLrvsCvr6evnSl/6a48ePopTi5pvfyqtedR0AN974Wl75ytfw+OOP0dvbw80338ob33jTnL/OwJAEzHuUUhTKDsd6itiOJBbW0fXRXtl4xKSrr0wyGiIaDr7WAfOHUCjEv/zLdwDfRbVhwyY+8Yk/R0rJZz7zZ/z0pz/hda97PZ/97Ke46aZbuPbaV/P88zt473vfMe7+/v7vv8yyZcv567/+Mj09PbzrXbeyevUaVq1aBUClUuEb37id9vbjvO1tN/GqV72WaDQ6p68xOOMC5jXlqkt7b5FcySEW1knGzHHHaZogFNI50lVg5cLAxRUwfxhcLQA89NAD7Ny5ne9977uAf9FvbGyiWCxw4MA+XvGKVwKwZs05LF++Ytz9PfHE77jttj8GoL6+nksuuYytW58YMiRXX30NAC0trSQSSbq7u1iypG2OXp1PYEgC5iWO69HVX6YnVyFkaKTjU6d1hkydfODiCphnRCIjVwOKz3/+yyxYsHDUmGLRV+2djawzyxo+VzRNm9Uq/4kIsrYC5hWelHRlSuw6nCFTsElGTcKh6d/vxKMmnf1lShVnDmcZEHByXHbZFu6449/xPD9lPZPJcPz4MWKxOEuXLuMXv7gHgF27nmf//n3j7mPz5gu56647Aejt7eGRRx5m06aXnJb5T0SwIgmYFyilyBZtjvcU8TxJLGKelHtKCEHE0jnSVWTFwiS6FtwrBcwf/uiPPsrXvvaPvOMdNyOEwDQtPvShj9LauoA/+7PP8Nd//ZfcccftLFu2gmXLlhOPx8fs44//+GN86Uuf5+1vfwtKKd73vttYtmz5GXg1wwil1NkhtD+L9PYWTlq3v6EhQXd3fpZnNPucTfM8eKSP9p4ipapLNGRgGKd+8c+XHBpSYZrrZsfFdba8n3D2zHW259nRcYjm5iWztr9BTpfWVqlUIhKJIITgwIH9fPCDf8B//MePSCaT09p+Nud54nupaYK6urFGbejYs3LUgICT5GB7lr1Hs4RDOsnY7MlbxCMGXf1lEjGLWHj8AH1AwHxi27Zn+epX/wHwb3L/5E/+dNpG5EwTGJKAM0a56tKTr5KMmbMubSGEIDwiiytwcQXMdy688GIuvPDiMz2NkyI4uwLOGP35Coauz5k+kmXqOK6kq788J/sPCAjwCQxJwBnB9SR9ueqcFw8OurgK5SCLKyBgrggMScAZIVu0UYA2x2qtQggiIZ0jXXlcb/43JwoIOBsJDEnAaUcqRVd/iUhIPy3Hs0wd11WBiysgYI6YV8H2AwcO8IlPfIJMJkM6neYLX/gCbW1to8b86Ec/4t/+7d/QNL8/8Zve9Cbe9ra3nZkJB5wUpYqL4yoiodN3HxOPGnRnyyRjFvFIkMUVEDCbzKsVyac//WluueUW7rnnHm655RY+9alPjRlz7bXX8pOf/IQf//jH/Od//ie33347zz///BmYbcDJ0t1fxjJPrxaWEIJoSOdIZ+DiCjj7+Jd/+Tq//OW9U4574IFfs2PHtmnt81//9Rv88z///SnOzGfeGJLe3l527NjBddf5AmfXXXcdO3bsoK+vb9S4eDw+lOVTqVRwHCfoinYWUbU98mWbsHX6F8OmoeNJRWdf6bQfOyDgZPE8j3e/+328/OXXTDn2wQd/zc6d2+d8Ticyb1xb7e3tNDU1oeu+31zXdRobG2lvb6e2tnbU2F/+8pd85Stf4fDhw3z0ox9l9erVMzrWZBWa06GhIXFK258u5uM8j3YVqK2JkYgOFx/WpE+fwGI6pcgUqoSioRkXQM7H93Mizpa5zuY8u7q0UaoIDz17nAeePj5r+x/Jlg2tXH5e65TjLr54E+9613t44IHfUK1Wed/7buOqq14OwKc+9accPnwQx3FYuHARf/qnnyaZTPLkk0/wla98kTVr1rJ79y7+4A/+kF/96pesXbuWN73pLTiOw9e//s889dRWbNtmxYqV/J//80meeOJpHn74AZ544nfcffePufnmW7nooov58z//JMViAdu2ufTSy/ngB/8Y8KvVNU2MqyShadqMPpt5Y0hmwstf/nJe/vKXc/z4cT7wgQ+wZcsWli1bNu3tA4mUM4PrSfYc6icaNui3/XTcmnSM/kzxtM7DcSVP7Whn1aI0hj69Rfl8fD8n4myZ62zPU0o5SiLE8xSzIQAlBGP243lqBnIkGrff/h8cPnyQ973vXaxffz41NbV86EMfJZ1OA/DNb36Nf//323n/+z+I50kOHNjPxz/+Sc499zwAfvnL+5DSP+a///vtRCIxvvnNfwfga1/7R26//V/5wAc+yGWXbWHNmrVDzayq1Sp/8zdfIRqN4rouH/nIbTz00ENcfPGlSKmG9nkiUspRn81ZI5HS0tJCZ2cnnueh6zqe59HV1UVLS8uE27S2trJ+/Xp+/etfz8iQBJwZ8iUbqdQZ7xViGhpV26Ojr8jCs+TOPWDmXLa+hcvWT3z9mC6nqmF13XXXA7B4cRurVq1m+/bnuPzyl/Lzn9/Nvff+HNd1KJcrLFq0eGibhQsXDRmRE3n44QcoFov8+te/AsBx/FXJeEgp+drX/oHnnnsWUPT29rJnz24uvvjSk3494zFvDEldXR1r167l7rvv5vrrr+fuu+9m7dq1Y9xa+/btY/lyX+myr6+Pxx57jGuumdp3GHBmUUrRnamctpTfqYhFDHqzVZJRi2QsdKanE/Ai45lnnuLOO3/E//2/36ampoZ77/05P/nJfw89P7qHyWiUgo9+9BNccMHU0vHf//53yedzfPOb/0YoFOILX/grbLs6K69hJPMm2A7wF3/xF9xxxx1ce+213HHHHXzmM58B4D3veQ/PPfccAN///vd5zWtew/XXX8873vEObr31Vi6//PIzOe2AaVCqulRsF9OYH4ZECEE0bHC0uxhkcQXMKT/96U8AOHLkMHv27GLduvXk83lisTipVArbtofGTIfLL9/C97//XarVCgClUpGDBw8AEIvFKBQKQ2Pz+Tx1dfWEQiG6u7t46KHfzOIrG2berEgAli9fzg9/+MMxj3/rW98a+vuTn/zk6ZxSwCzRm61gzoI8/GxiGhq2LenoLbKwMXBxBcwNnufxznfeQqVS4eMf/yQ1NbVcfPGl3Hvv/3LzzW8glUqzYcNGduyYXrbVrbe+g3/912/w7ne/DU3TAMHv//57WLFiOdde+2r+6q8+w/33/5KbbrqFN73pLfz5n/8Jb33rm2loaJrWKuZkCPqRzJAXayDzVLAdj12H+4lHx6r8nkqwXSlFR1+ZsKVTkzg595RSilzRYWlLYlIX13x6P6fibJnri6EfyeWXb+beex8gGp3YVTVbBP1IAl7QZIpVhBCzVu9Tqjg8t7+Pp/b0+D1Hoibvv37djFryDiKEIDbg4loTteZc+ysg4IVIYEgC5hQpFT39ZSLhU4uNSKnYfzzH03t72HU4gycVrfVRXraxld88fZx7Hz/C6y5felL7NgyNctWlWHZG1bcEBJwqDz30xJmewmkhMCQBc0qh7OB6iuhJNpbqz1d5ek8Pz+ztIVdyiIQMNq9pYMPKeppqfHeB6ykeeradtW01rFyYPqnjmKZGb64SGJKAgJMgMCQBc0p3pkR4him/jit5/lA/T+3t4WC770NfviDJNRcuGreIcMv5Lew+nOHu3x7i/dfHT8rFFTJ1ckUb2/GwzPmRWRYQcLYQGJKAOaNcdSlW3GlJkSilaO8t8fTeHrbt76Nie6TjFi/b2Mr5K+pJTbIPQ9d43eVt/OtPd3LvE0d53WVtM56rEAJNCDLFKo3puQ+MBgS8kAgMScCc0ZerYOiTB6+LZYfHdnTy9J4eOvvLGLpg7ZIaNqysp605Me0AfWt9jMvWN/PQsx2cs6SGFQtTM55vJKTTm6lQn4oEQfeAgBkwvxL7A14wOK6kP18lMomb6Xc7u/j0vzzCPb87gqYJXn3xYj7y5vN5/ZZlLG1JzjjLa8v5rTSkw9z924NUbHfGc9Z1DceTlCoz3zYgYDweeODX/N7v3cg733kLhw8fnJV9/uAH/0F/f9/UA4HbbnsvDz/84KwcdzKCFUnAnJAtVlEwoTGo2C6/2nqUtuYkL79gAc21p+5O8l1cS/n2T3fyi8eP8tqTcHFZhkZvthw0vwqYFX784//mXe96H1dddfWox13XxTBO7vL7gx/8J5s3X0hNTe3Ug08TgSEJmHWkUnRnypPqam3d3YPtSK7fspz4LHZKXFAf49Jzm3n4uQ7Oaath+YKZubhCVhB0D5gd/vEf/5Znn32Kw4cP8T//80OeeupJ3vnO9/DIIw9z0UWX8MY3vpkvfemvOX78KEopbr75rbzqVX4/phtvfC2vfOVrePzxx+jt7eHmm2/ljW+8iX//93+lp6ebP/uzP8GyQnz605+jt7eHb33r/+I4Nq7r8ra3/T5XX33taX2tgSEJmHX8VrpyQreW50ke29FJW3OCRU2JWZeRf+n5rew6nOGu3x7i/devI2RN3yAMFk7mijb16ciszivg9OLsfhhn1wOnvB8hBCcKgJirt2CuumzS7T70oY+ye/cubr75rVx22RVcfvlmQqEQ//Iv3wHgU5/6/1i2bDl//ddfpqenh3e961ZWr17DsmUrAL9x3ze+cTvt7cd529tu4lWvei1vf/u7uOuuO/nc574wNK6urp6vfe1fCIVMurq6ede73sqFF15CMpk85dc+XYIYScCs47fSnfirtf1gP/mSwyXnNs/J8Q3Dz+LKl2x+8cSRGW8fCel0Z8rIF596UMAcM7jiAHjiid9x/fVvAKC+vp5LLrmMrVuHCxivvtpXNW9paSWRSNLd3TXuPjOZfv7sz/6EW255Ex/5yAfJ5bIcPnxoDl/FWIIVScCsMthKd6KUX6UUj2zroCEdZsWCubtjWtgQ55J1zfx2Wwdrl8zMxaXrGk7Fo1Rxg1jJWYy56rIpVw3TYTY1rCaThz8Ryxo+hzRNw/PGTwL527/9Gy67bAtf/OLf4nmKt7zlDXMiFT8ZwYokYFbpz1fQJ6li39+eo7O/zCXrmmdNe2siXrahlfpUmLt/e4iq7c1oW8sQ9GYrczSzgADYvPlC7rrrTgB6e3t45JGH2bRpanXe8aTiW1paEELw+OOPcuzYzFfhp0pgSAJmDdeT9GQnb171yLZO4hGTc5fNfcaJYWi87rI2ciWb+544OqNtQ5ZOrlTFcWdmgAICpssf//HH2Lt3N29/+1v48Ic/wPvedxvLli2fcrsbb3wLn//8X/KOd9zCgQP7ef/7b+OrX/0H3vrWt/CrX93H8uXjd0ucSwIZ+RnyYpXong79+QpHugoTurU6+0p84yc7uGrTAi4/z2+Bejp6tv/i8SM8sr2TW69ZxbLW6bvT8kWHlvoo9anIWfO5w4v3OzofZeRPJ2dSRj5YkQTMCkopuvorkxYgPrK9E9PQuGB1w2mcGbxs4wLqkmHuevggVWf6K4xIOAi6BwRMh8CQBMwKpapL1XEn7IKYK9ps29/HppX1kxqbucAcyOLKFm1+OQMXl6FrOK4KKt0DAqYgMCQBs8JUrXQf29mJQnHROU2ncVbDLGqMc/G6Jp7Y1c2B9ty0tzMNQV8uCLoHBExGYEgCThnb8cgWqoQnKPyr2h5bd/VwTlst6ZNsiTsbXLlxAXXJEHc9fBB7mi6usKWTKVSnPT4g4MVIYEgCTpmpWulu3dNN1fG4ZN2ZWY0MYhoar72sjUzB5r4np+fiEkIgEGTypzcvPyDgbCIwJAGnxFStdD0peWxHF0uaE7TWx07z7MayuCnBRec08cTz03dxRUI6HX3FMTIZAQEBPkFle8ApkS/ZeJIJixB3HOgnV7R59cWLxz6pFGSOofdnUUIHoYGm+b+FBkJHaRogQAj/sYG/1cDfnlRIBKY1/Ra5V21qZc+RDHc9fJD3Xb9uSnFGw9CwHUmp6hILB5XuAQEnEhiSgFOiO1MmZI1vRJRSPLLdl0NZOU6jKVHNg9sLUiGUg0D6xgU18Nv/EwEohScVnifxPAUClBIDAX4Nu24pVjg8rTmbhs5rL2/j3/93F7988hivGs/IjdlGoy9XCQxJwLzkZz+7iw0bNtDauuiMHD8wJAEnTbnqUqp6JGPjX1wPtOfp6Cvz2svaxsZPlEQvdEIyBq6fXjvoOFIKPKlwPYmUaqCvCZimTiSmEw7pWIaOaWjomkYpl+FIrhsrPP2TaElTgovWNvLYzi7WttXQ1pyYdHwkZHC0t0hzrZw0Oy0g4Ezws5/dRW1tTWBIAs4+/Fa6Ez//yLYOYmGD9ePIoYhKFuE5KM3A9WxcT+J5+J4rwDJ1EhGLSMg3GKahoYnxL+CRRJJkvpNCsUg4Nv04zJWbFrD7aJa7Hj7IH7zunEldXJrwJ5Yr2dQlp7fyCQjYvn0bX//6P1Es+uoN7373+3jggftZtmwFb37zzQDs37+XP/mTj/KDH9xJqVTkn/7p79i3bw+2bbNx42Y++MEPo+s6t932XtauXce2bc/S09PDVVddzfvf/0F++tOfsGvXTr7ylS8RjX6ND3zgj3jJSy46ra8zuLUKOCmkVJO20u3sK7HveI4Lz2nC0E/4mkkPvdCJZ0TIlxw0IUhFQ7TWxVjSGGdZa4rFjQka0hHiEYuQaUxoRACE0KhJxyHXOaOAuGXqvO6yNvrzVX7zzPEpx0csv9I9CLoHTId8Ps+Xv/x5Pv3pv+Lb376DL37x7/nSlz7Pq171Wn7+87uHxv30p3fx6ldfhxCCf/qnv2PDhk1861vf4fbb/Za6P/3pT4bGdnZ28NWvfovbb/8ud999J0eOHOY1r3kdq1ev5SMf+Tj/9m//cdqNCAQrkoCTpFR1UUpNmPL76IAcyuZx5FC0cj8oRdVTtNaFCeunrgIcjiVI5zvoz+eIJKcvGb+kOcG6thqe2t3Dyza0Yk6yxDIMjVLRplx1iQaxkoAp2LbtGdrbj/Oxj31o6DEhBKGQRalUYt++vSxZ0sZ9993DN75xOwAPPfQAO3du53vf+y7gN7dqbBxOm7/yypejaRrxeJwlS5Zy7NhRFi2aOsY31wSGJOCkyBWr6CeuNIaes3nuQB+bVzeMXbF4DnqxG2lG8CqSmmSIctGelTml0klyXR3IWBxNn35XxAtWN7D9YD87DvZz/or6SccaukZvrhIYkoApUQqWL1/JV7/6rTHPvfKVr+FnP7uLjRsvoK1tKc3NLYNb8fnPf5kFCxaOu0/LGi7o9XuUzI9C2cC1FTBjpFJk8hNXsv9uZxdKjS+HohV7UIDj+fUZYWv27mWscJTaiKKczcxouyXNCeqSIbbu7plybCSkky34MZ2AgMk499zzOHr08Kiuhzt3bkcpxStfeR333XcPd999J69+9WuHnr/ssi3ccce/DxmITCbD8ePHpjzWiT1KTjeBIQmYMZWqiyt9aekTqdoeT+7qZu2SGmpOlENxq2jlfpQZxXYkNfHZD1on0mlC5S48x5n2NkIINq1q4EhXga7+8pRjlVLkZmkVFfDCJZlM8jd/8xW+/e1v8va338zv/d6NfPvb30QpRXNzM21ty3jqqSd56UuvGtrmj/7oo+i6xjvecTNve9tNfPSjH6S7u3vKY73udW/g29/+Fu94xy08/vhjc/myxiXoRzJDXqy9HkbS0VukNz9+TcWj2zu49/GjvOu6tSw4oZJdyxxFc4p4ehjblbQ1J6mrjdHfX5rV+WV7e2l3k8Tqpy/JUqo4/N0PnmXz6gauvWisz3lk3xTHlUgJqxal5rzL48nwYv2OBv1Ign4kABw4cICbbrqJa6+9lptuuomDBw+OGfPVr36V17zmNbz2ta/lDW94Aw8++ODpn+iLGKUUfRO4tYbkUJriY4yIcEpo1SzKCFOpetTGQ35K7RwQT6eJ2D041enrY0XDJmuW1PDMvl6cKU5G09CoOi7laiAvHxAA88yQfPrTn+aWW27hnnvu4ZZbbuFTn/rUmDHnnXce//Vf/8Vdd93F5z//eT784Q9TqQQy36eLiu3hSjWuJMqOg/1kizaXnNs8+gml0POdKN1C4RuPeHTugtW6rlOfDGNnu2a03aZV9VRsj52H+qcca+ga/YGQY0AAMI8MSW9vLzt27OC6664D4LrrrmPHjh309fWNGnfFFVcQiUQAWL16NUopMpnM6Z7ui5Z82UYfZyWhlOKRbZ3Up8bKoQi7iHBKYISoOh6JmIUxg6yqkyGSSJHwslRL02/j29acoDYRYuvuqX3SkZBOf74aBN0DAphHhqS9vZ2mpib0gQuMrus0NjbS3t4+4TZ33nknixcvprm5ecIxAbOHUoq+XHVcba2DHXk6+kpcvK5pdNxASfRCB9LwA++ep0hN0NN9NtE0jdp0ApWdfpGiEIJNqxs43FmgOzN10F0qRa4UBN0DAs7aOpLf/e53/MM//APf/va3Z7ztZEGj6dDQMLku03xhtudZrrpE+kqkY2OzrX746/0koiZbNi0erUVVykBIQCSJ7Uii0TAtTclR29bURGd1niP3K+Ux8ppLPJWe1jZbNi3i/q3H2HEoww1to2tKatKj4z6xeBhXQX19fN4F3V+M39GuLg1jjnTQ5mq/s81szVPTtBl9NvPGkLS0tNDZ2Ynneei6jud5dHV10dLSMmbsU089xcc//nG+9rWvsWzZshkfK8jaOjl6smXy2QrqhG6BXf1ldh7s48qNrRQKI+7kpYfRux+lm+CWKZZcWutHZ2nV1ERnPWtrJIYZonh0P7a3EjGB1P2JrF6c5nc7OrhsXdPQiTkya2skuaJN3NSIhufNqfSi/Y5KKecku+rFmLUlpRz12Zw1WVt1dXWsXbuWu+/2NWjuvvtu1q5dS23taMG/Z599lg9/+MP84z/+I+vWrTsTU33R4ru1xsY2HtnegWloXLC6cdTjWiULUoJmIKVCNwSR03zBDUWipEOScmbqAPogm1Y1UK567Dw8naC7IFMIkj0Cpkd7+3F+/OP/HvXYxz72IY4dm17HzvnKvDEkAH/xF3/BHXfcwbXXXssdd9zBZz7zGQDe85738NxzzwHwmc98hkqlwqc+9Smuv/56rr/+enbt2nUmp/2ioOp4VBxvjIR6vmTz3P4+NqyoH31XLl30QhfK9N1gVXtuU34nI1lTg1XuwnOnV6S4tCVBTSLE1l3TCbob9OaCoHvA9GhvP85PfvI/ox778pf/cUJJlLOF+bMeB5YvX84Pf/jDMY9/61vDWjU/+tGPTueUAgYolh3EON7AQTmUi0/ox66V+lAo0HSUAqnmNuV3MkzLoiaq05HpJVY/dWKGX+lezy+fPEZPtkJ9auIK/MFK93zJpiYRyMsHDFOpVPjc5z7NwYP70XWDxYuXcODAftrbj/GOd9zCwoUL+dznvsiNN76WL37x71i2bAW33fZeVq9ey86d2+noaOfGG99CQ0MDP/rRD+jp6eYP//CPuOqqq8/0SxvDvDIkAfOX/vzYbK2qM4EcimujF3uQVnRoXDJmznnK72QkatJkj3bhVmsxQlNnjZ2/op77tx5n6+5urnnJ5M2CIiGd7kwlMCTzjPvuu4d77/3fU97P4M3CSK655lVcffW1k2732GOPUCoVueMO/+Y4l8uxd+9uvvrVf+Bf//X/Tbhdd3cX//zP36Svr5ebbrqBN7/5Fr7+9W+zY8c2/vRP/8+8NCTzyrUVMD9xXI9SxRnT+Omp3T1UbG+c1UjPcA92BlN+T9DdOs3oukFtKoKd7ZzW+HjEZPXiNM/s7Z0ygGkaOhXbCyrdA0axYsVKDh48wN/+7Rf41a/uw7Kml/Y+KBVfX99AKpXmpS+9EoDVq9fS3d1FdQaKDaeLYEUSMCXFssOJXi0pFY/t6GRxU5yFDcPZHMIpo5X6USH/MceVhK3ZVfk9WaLJFLF8B3a5DjMydcrxptX17DzUz/OH+2monzwVUteZtNFXwOnn6quvnXLVMB1ONhtqwYKF3HHHD3jiicd59NGH+eY3v8of//HHp9zuRKn4QQM0WGM3X6TjRxKsSAKmpL9gEzphNTKRHIpW7Abd9JusA7Ytx6oAnyF0TaM2HcfLdExr/LKWJOm4xZPTkZe3DPpyFTwZBN0DfLq6OtE0nS1bXsaHPvRRMpl+YrEYxeKZk3ufK4Lbp4BJcT1JoeQQj47+qjy1p5uaRIhVI+RQhF1EVPKosH/3LqVC15lXTaCiiSTxXDuFQo5wPDnp2EF5+V9tPUZXfwlzkoQzTRMoBcWyS/I0VO4HzH/27dvL17/+zwBI6XHrre9g7dp1LF68hLe+9c0sWdLG5z73xTM8y9khkJGfIS+2Yq9c0eZgR55kbNgY5Es2f/eDZ9lyfgsv27jAf1ApjP4DKCnB8C+k5YpLTTJM7QRBaPfw03DsWVwJCB2h6TDiZ+j/Qhv9mBg5RkNrWIoWqx33GONRKRc52l3GalkxZZFioeTw9z98lpduWsAV6yfP+Ko6Hpaus7R1cgM117zYvqODBDLyZ05GPliRBExKplDFMkbfim8/4AtpnrusbugxUc0j7PLQakQpUEBygpRfmTmOvfUn6Ika0COgPKT0YPBHSdTI/w88Ni6hGJGXfwARmp7USjgSI2Xl6c9miNRMboDiUXOg0r2TS85pxJigvTBAyNTJFW2qjjfGFRgQ8EImMCQBE+JJSa5oE4uM/pps299HS110uL5CSfR8B9IcXnlUHY9EdPyUX+U5VJ/4H0QoSuNrP0h2mgopSilQI42LRBZ6qD70Hexn/5fQS9447deWrq0hd7wDmUiiGZOfBptW+UH3XYczrFs6ueHRhCBftAmlI9OeS0DA2U4QbA+YkHLVQyo1SpCwN1vheG+J9cuGL6haOYOQrh9kH2CylF9nx/2ofDfWpuvRprmKAD9mITQDYYQQVhQRjqPXt2Gu3oJ39Dnc9uenvS/TClET06lke6ccu6w1SW0yzJPTkJcPh3S6s+VpKw4HBLwQCAxJwIRk8tUxkijP7fcvvEN35tJDK3YhzeE7cMeVhCZI+fV6DuLu/S1G2wXoTStnZZ7G6ssRySbsp+5G2dMXgEzWpLHK3Xj25FLwQgguPreZg+15enOT62oZuobjyqCmJOBFRWBIAsZFSkW2WB3l61dKsW1/H20tCRJRP6Culfr8gIg2PM5xJLXjpPwqp4r95J2IWA3m+mtmba5CMwhdcAPYRexn75n2doZhUpsMU81M3UnxwnXNCOEXYU65X12QKcy/orGAgLkiMCQB41K2XTzpZ2sMcry3RF++yvrBILvnoJd6UCNWI1IqNG38lF972z2oUgbrgtcjjNmtLdHSLRirrsA78gxex+5pbxdPpYnaGdzK5CuZVCzE6kVpnt7bgzeFQGPYMujLVYOakoAXDYEhCRiXbMHGOCFOvm1/L7omWLs4DYBW7PF7sIvhr1HV9kgnwmNUfr2O3XgHt2KsvAy9bvGczNlcvQWRaMB+6i6UPXmHw0F0TaO2JoaTmVo6ZdOqBkoVl11HMpOO0zSBVJAvTU9tOCDgbCcwJAFjkEqRKVRHxTikVGw/0M/KhSnCIcNfjZT7R61GJkr5VdUS1a0/QSQbMddeOWfzFrqBdcENqGoBe9u9094uEk8QlUWc8uT93Ze1JknFLJ6chrx8yNLomyKeEhDwQiEwJAFjqFQ9XE+Ocmsd7MhTKDtDbi2tmkMJhqRQAOwJUn7tZ34KdonQBa9H6HObca7XLMBYeRneoafwOvdMaxtN00gno7iZyQ2Epgk2rqrnQHt+SiMRMnUKZYeqM/90kQICZpugjiRgDPmSja6Ndk1t299LyNRZsTAFSqIVelDG6FoJd5yUX/foc3jHtmOecxVaemzb5LnAXPNSvPbnsZ+6i/DL/xBhTi3vHkkkCfW341bLGKGJa0A2rKjnN08fZ+vuHq7ePHkzoqCm5Mzzf/7PH4/7+Be/+PcAfP3r/8z+/XvHPP8Hf3Aby5ev4Be/+Dn33XfPmHTuwe2nYtu2Z/nqV/+BUsmPwX3gA3/ERz5yG/fe+wDRqJ/6fvnlm4f+v337Nr7+9X+iWPRXx+9+9/u49NLLp3WsM0lgSAJGoZSiL18hPKKlrutKdh7KsGZJGtPQEJUsQnmokZlaAym/I7O8ZDmH/fRP0WoWYqy87LS9BqGbWJtuoPqbf8Xedi+hja+bchtd00inonT1d2FMIrORjFmsWpjmmb09XLmxFX2SSvfBmpK6VHhULU7Ai4NcLssnP/lx/uqvvsj69efjed6QgRiPfD7Pl7/8eb70pX+kvr6enp4e3vOet/Gd73yfRGJy9ekzTWBIAkZRsT1cVxEJDV8g9xzNUnU8362lFHqxF2mMFiZ0HElTXXTogqmUwn7qJyBdrM2v9zWyTiN67UKMlZfg7vkt3oJ16I3Lp9wmlkxiZNqRThXNnDirbNPqenYdybDrSIZz2iaudDd0jXLFpVx155Vw5YuJqVYO73vfbZM+/4pXvJJXverVJ6VhtW3bc7S1LWX9+vMBXwY+mZxYh23btmdobz/Oxz72oaHHhBAcO3aENWvOmfHxTyeBIQkYRbHscOLN83MHeomFDdqaEwi3DG4ZQsN3SIMpv7ERF0v34JPIzr2Y578aLV7HmcBceyVe+y7sp35C+Ko/RExiHAAMXScZD9OX6SHcsGDCcctbUyRjFlt390xqSAB0XaM/Xw0MScAQuq6jBnTjRjapUgqWL1/JV7/6rYk2nbdMakhuueWWaS3Jv/vd787ahALOLL256ii3VqXqsudIls2rG9A0gcj1gzb6a1O1PWqSwym/stCH89w9aA3LMJZuPq3zH4nv4rqe6gPfxtn+C6wN1025TSKdInO0E+U2IIzx5eA1TbBxpR8r6c9XJ+23Egnp9OerNNVGJxV8DHjhce656zl48ADbtj3LueeeN+TaWrBgITt37mDz5gv5xS9+PmL8eRw9epitW59g0yb/vNm5cztr1pwz712jkxqSN73pTadrHgHzgKrtYTsuiRH9NHYezuBJxbnL68Cz0atZpBUbel4p/2cw5Vcpif3k/4CmYW26HiHO7MVTr1uMsfxi3H2Poi9Yh96wdNLxlmmSCJvksn2E6iaWjd+4sp4HnvF7ur/8gomD7kL4NSWFskM6Pj8afAWcHpLJFH/1V1/kn/7p76hUygih8YEP/BEf/OCH+dKXPk8sFh/Vfz2ZTPI3f/MVvvrVf+Af/uFvcV2H1tYFfOELf3d2G5LXv/71p2seAfOAQsUBxmZr1SZCtNZF/QJEIcak/MZHpPy6ex5B9h3BuuD1aNEU8wHznKvwOnZjb/0x4Ze/f8qq+kRNDbnj3VBTP2b1NUgyZrFyYYqn9/Twso2t6JP0NQlZGr3ZSmBIXoSsX38+3/jG7WMev+SS4UysW299x9Dfa9eu45//+ZunY2qzyoxiJD09PTz77LP09/ePSoe78cYbZ31iAaef/lyF8Igge75kc6A9z5bzWxBKopV6RxUggp/yO3iBlNlOnJ2/Qm9di77ovNM698kQhuW7uB68HWf7L7HOf/Wk4yNhi4ilU831YaYbJxy3aVUDu49k2X0ky9olNROOC5k6uZIT9CkJeMEybUNy33338fGPf5wlS5awd+9eVqxYwZ49e9i0aVNgSF4A2I5HqTq6TezIBlaimvcbS41wVY1M+VXSpfrk/4AZxtpw3bxbiuv1SzCWX4S77zH0Beeg17dNOr6mNk17Zzck60YJUo5kxYIUyajJ1l3dkxoS8Ct/g5qSgBcq03Zg//3f/z2f//znufPOO4lEItx555385V/+Jeeee+5czi/gNFGsOJx46R9qYJUM+eKMJ7iEHEdSkwghhMB5/jeobAfWxtciQjHmI+Y5L0fEarC3/hjlTi4dH4mEMHSFV+yfcIxf6d7AvuM5+vOTq/0GfUpOD8H7e+qczHs4bUNy/PhxXvWqV4167PWvfz133nnnjA8aMP/I5G2sEdlaIxtYCaeEcKujGlcNLk5iYQOv7wjurofQF2/AaFlzJqY/LYRhYW18HarYj7PjV5OPFYKa2jRuf9fELX6BDSvrfXn5PZPLyw/2KSkFfUrmDF03cJzJbxACpsZxbPQZShlN25DU1dXR0+OfLAsWLOCpp57i8OHDyEAq+6zHcSX5so01oonVyAZWotSH0kfXQVQdj3QshPBc7Cf+BxFJYp33yhkf26sUUXYJ5Z2eC6zesBRj6Utw9z2K13t40rHxWBgDF1XKTDgmFbNYscAPuk8lG2/oGv25oE/JXBGPp8lkurHtarAyOQmUUth2lUymm3g8PaNtp2123vSmN/Hkk09y7bXX8o53vIO3ve1taJrGO9/5zpnON2CeUaq6fhvbEVXp2w4MNLCyFFo+h7Lio7bxpCIRNXG234sq9hG6/O3T0rQaiaoW0NINiIiJqhaRlTK+fjAIzQTDmpOKePPcq/E69/hZXFe9D6GPXyyoCY1kTZpMfye0TlyguGl1A9//5V72HMmyZpJYSSSk01+o0lwX1JTMBZGI71LNZnvwZvHGRNO0s+KGeTbmqesGiUTN0Hs5XaZtSN773vcO/X3DDTdw4YUXUi6XWb58aumJgPlNJl/BNE5oYJWrctn6FrRyBoQ+KuXXcSWRkI7ef4jq/t9hLL9oyvqME1GujRI6ocYl6KavpKukC66NtCtQLSArRfBslBAIhO9aM6xTrk0RRghr4+uoPvwdnB33Y03SrTGZiJLpyyBLOWB8g7NyQYpE1OTJXd2TGhIhBCqoKZlTIpHYjC+CU9HQkKC7Oz+r+5wLzuQ8T0oiRUpJc3Pz0N/aJDn0AfMb15PkSg7xyPBXYaiB1aI4em4/0oyO2sZ2JM1JDfu3P0bE6zHXXX3ibidFSQ+cMkbTCoRhAr4hEZoBloFuRSFeiw4ozxkwLuVh4yI9lMA3KLoJujlj46I3LsNouwB37yPoC9ai1y4ad5yhayRSSao9RyHZxhj9GPyg+6ZVDfzm6eP05SrUJidemYWDmpKAFyDTPvu2b9/OTTfdxIYNG1i3bh3r1q3jnHPOYd26dXM5v4A5plx1QTHk1hrZwCoqSyjFqJRfJUETYO1/AFXJ+4KME7iGJkJVC4j0gmlldwndRIRi6Il69Po2jAXnoLeuwWhYhkg2InQTVcn5BmeGmOe+AhFJYD/540m3TyWjSKcK1cKEYzYOBN2f3D15TxPL1ClW3aBPScALimmvSD7xiU9w5ZVX8vnPf55weGa+8ID5S6ZQxRjh1hpuYFXjV7KfEPeouC4pUcQ7+CTG0peg10wcOxgPVS2gRdNoiZMTchRCgGGBYaGH45BsRKsU8Lr2ocKJGa1MhBn2XVy/vQNn14NY51w17jjLNIglEpT7O9Gb4uOuSpIxi9WL0zy9p5crNyzAMCaehwZki1Ua09EJxwQEnE1M+6w7duwYH/7wh1m+fDkLFiwY9TNbHDhwgJtuuolrr72Wm266iYMHD44Z89BDD/GGN7yBc889ly984QuzduwXI1IqsgV7lEjjYAOrlQ0mwnPGSIQoD2KHHwbNwFy9ZUbHG4yLaDULZrVgUYTjiFQzqjLximEi9KYV6AvW4e57FGWXJhxXV5dEVosIZ+Ixm1c3Uq667Dg0ce0J+EH33kwFGWQWBbxAmLYhecUrXsFDDz00l3Ph05/+NLfccgv33HMPt9xyC5/61KfGjFm0aBF/9Vd/xbve9a45ncuLgVLVRY5wa41sYBWq9iFPKEB0PUnE7kG178BYcQkiHB9vt+MyFBepXzwn7Xa1ZANaJI6yJ++7Ph7mmi3g2jj7HptwTCRkYIYjyEznhGOWtiSoTYZ4YlfXpMfTdQ3Hk75bMSDgBcC0z+hqtcptt93GBRdcQH19/ajnvvjFL57yRHp7e9mxYwe33+4LnF133XV89rOfpa+vj9ra4Z4PS5b43evuu+8+bDsoPjoVcsUqhj68MhhsYHXe4jjC6UKFRndlq9qSlqMPgRXBXHnpjI6lqgV/JXJCXMT1ZietUggNrWYhbucecO0JJeDHQ0s2obesxt33GOaKS8ftWyKEoKYmSVd7J5ZTQplj3VJCCC5Y3cAvHj9KZ1+JptqJXVeDNSWxoE9JwAuAaRuSFStWsGLFijmbSHt7O01NTegDKrK6rtPY2Eh7e/soQxIwO0ilyOSrhEPDX4HBBlZLUw7Yo+s3lIJQ7jBa70HM9dfOqGZEVfOISAo3lKZcdqhUXQplh1LVJd5TImoK6lOnrkElDAujbgle5z6UbswoXmKs3oLX/i3cA49jrhq/R3Y0bKKZFirXBXVt447ZsKKe+7ce44ld3bzmkolb9gY1JQEvJKZtSG67bfKWlGcTdXXTd8mMR0PD/O6fPMhk8yyUHWKJyFAaarnisudolsvObaZGr0BN7aigcqniUNP5KHosTcPGLQNpu+OjlMJ2JY7jUSkVKbmCQrgOmbdBgSYEkViIZMq/Y88Vq8QlLGiIo2mnGjtJ4MQ1nN5j6LEZfM41K+nZvRJn/6M0XHDluK+vrjaGZrTQebyDWFQDa6zxqwE2rmrk2b093PjyVYStiU8x3aoSiljUzoIRPZEXwnd0PhHMc3KmbUgeeeSRcR+3LIvm5uZTDrq3tLTQ2dmJ53nouo7neXR1ddHS0nJK+x2P3t4CUp5coPOFUpzU0VukUKigXN9P/9SeHjxPsbpBkC9VUO7or4Z3bCfxzHH0TTeQyTuAny4rlcJ1JY4nqdgelapLxXH9tGEp0d0Sqn4Zui3RNP89l4DrQBmoScdQrsvuA710dOZY2Bg/5Tt0pcJI20TluxChGRiT5ZchH/w3up9+CHP5RaOeqqmJ0t9fwpOSYtnDOX4YlR6/odX6ZTU8vrOTB7ceYfOaiWXobcdj94Feli+Y3b4tL5Tv6HwhmKdfKzXZDfi0Dcmf/umf0tXlBxHT6TSZTAYY1uBavXo1X/nKV2hrazupidbV1bF27Vruvvturr/+eu6++27Wrl0buLXmAE9KerIVouHRRYi1iRALzRzKOKHniOuRPvZbRKIBfbHfZ0QqRXemRL40XH8hNDA0jbBlIARolRxe/UJkdPKLuRCCZMykWHI50J5jSVMC6xT6dgihodUuwO2YWbxEq1uCVrsId8/DGEsv8AskT0DXNFI1KXK9/RjxBhinSdaC+hjNtVGe2NXNBasbJsxQs0ydXNGmanuErKBPScDZy7Rv/W688Ube+ta38sQTT/DQQw/xxBNP8Pa3v523vOUtPP7445x77rl85jOfOaXJ/MVf/AV33HEH1157LXfcccfQ/t7znvfw3HPPAfDEE0+wZcsWbr/9dr73ve+xZcsWHnzwwVM67ouNbNFGKjXkRhpsYHXu4hgackz/DeP4sxiVfsx1Lx+KO/RmK2QLDpGQQTTs/0QsA9PQEAKEU8QLp5GRyft0jCQWNXA9yd5jWUqVU8toErqJUb8EnDJqEvXeUdsIgblmC6qcwzv87ITjkrGQL9tS7J1wP5vXNNDVX+ZI1+QpyZoQZEuBkGPA2Y1Q05TJvPjii3nooYcwjOG7NMdxuOKKK3j00UcplUq89KUv5fHHH5+zyc4WL2bXllSK3Yf7MXRtqGju0e0d3Pv4UT50ZYq6uAB9+A5euQ7Jx/8FI1FDeMu7EEKQLVTp6C8Tjxjj1eaBZyOUwq1dOmGr2kFq0jH6M6NTdm3Ho2p7LG5KkDpFKREv14PMHEOLTM99pJSi+utvopwq4VfcNmQ4B11bg3T2FSjns+jNq/0CyROwHY+/+8GzrFqU4vVblk08P09iO5LVS2rQZqm25mz/js43gnlO7dqa9ookGo0OrQoG2b59O5FIZOBAQebJ2UCx7GC7clTl9bb9fbTUhqkP26OMCIBx9El0p4i17hUIIShVHDozZeLhCYyIkgjXxkstnNKITIRl6kTDBgc7cnRlSqckCa4l6tCiadQk8iYjEUJgrLoCVezDO7Z9wnHpRBhPglYev/jQMnXOW17HjoP9FCsTy6/4NSUqqCkJOKuZ9pn+oQ99iN///d/nqquuoqWlhY6ODu6//37+/M//HPCD8ddee+2cTTRgdujqL4/yxw82sLrm3MSY2wrhVIgdexwaVqDXL8F2XNp7i0QsnYkya7VqES/ZMqa3+0zRdY1E1KK9p4TteLTWnVxGlxACrWYwXlJFjBPTGHPs1jWIRAPOrgfRF6wbN404ZBqEY0lkrhuitaOafg1yweoGHn++i6f39HDZ+omTRkxD0JerBDUlAWct015G3HDDDfzwhz9k2bJl5PN52tra+P73v88NN9wAwJVXXsnnPve5uZpnwCxQrroUKw6hEYHswQZW5zc4KGN0bYh1+HcIr0ro3KtxPcnx3hKGrqHr41/QhV3Ei6RmFBeZDE3zg/B9uSoH2nMnXbwodAOjYQk4Fb/CfqrxQsNcdTkq14XXvnvCcTWpCLanfKn9cWisibC4Kc7W3T2TrqrClk6mYM9acWZAwOlmRr6HuS5KDJhberLlUam1gw2sljaESYR11AhflagWCLVvRbWsQ6SaaO8pIpUapcs1CtcGzUAmWsYVNTxZ/Iwui1LZZd+xHG3NiZPKcBJWFFGzANl3FBFNTzleX3gu4vlf4+5+AL1l9bhjIpaOEY6j8t0QrRnXlbd5dSP//cB+9h3LsWLh+HEav0+JolCySScCQdSAs49JDcmf//mf89nPfhaAj3/84xOmMc6GRErA3GI7Hpl8lXh02H0y2MDqivUh1AnFdeFDjyCUxDznSrozJSpVl2hkgq+L9NBcG7du6ZiMr9kiGjGo2C57j2Vpa0mclBtIi9eBXUKVc1PWlwhNx1x5GfbTdyO790Pt+rFjhKA2Faars0C4nEHG6seMWbskTSxs8MSu7gkNCfirkt5cJTAkAWclkxqShQuHC64GNa4Czk7689VR7XRhsIEVnNOkjeo5opX6sDqexV6wkaqIky1UiE1kRJRCs4u4yRaUboHn+HoqKISS/t9KAv5vIT3//9IFKYEoeLFxYwwnErYMHFey71iWhY1xamd40RVCoKVb8ewSyqmOq6k1En3xBsTzv8HZ9QCsHmtIAGIR05eLKXRBpGaMIdV1jQ0r6/nttg6yheqEWWhBTUnA2cykhuQP/uAPhv7evHkzCxYsYNGiRXR1dfHlL38ZXdf5yEc+MueTDDg1XE/SnSmPKkD0G1j1sarRJBwZfUEOH3oYpRm4bZfQn60QGy9DS7poxR60ShZlRDAQkO9ECQbarvsbiIEe7AOd2AceFr77Swgo2RjlHtz0kmkZE9PQ0DSDI50FbMejqSY6I0l6oRvodUvwOnb7elyTrKCEbmCsvBTnuXuodh4Ea2yVuiY0alMx+rp7CVWyyOjYAtoLVjXw8HMdbN3dw5WbJlaA0IXm9ymxgj4lAWcX0w62f+YznxkSVPzCF76A53kIIYaytgLmL7kTChBhsIGVy3nNYtQFXM93YHXvIt+0kYxtEgmNk6Hl2ei5drRqAWVG8JILkOEEMhRHWXFUKI4KxVChGDIUR4bieFaMHifEc1069+yR7O7TUEaYvAxzvN/GyBwCb3pqzrqmkYyZdPX5BX+enFmQWlgRRO1CVKUwZWqx0XYBWFHyz/xywjHxqIUyw4hCF4wTzE8nQqxcmPJlaCaZazis0Z0pz/j1BAScaaYdbO/s7KS1tRXXdXnwwQe5//77MU2TK664Yi7nF3CKSKXo7C8RDY3+qLft7yVkCFa1jHa1hA88iGdE6KndQNLU0E9IuRVOBS3fMbCi0JHxJtBH39VLpZAKDE2wq6PKb/eUaM+6VF3/oq1rEDZjrGwKcfdT/Ty5v8TVazwuWXYQWds2ppZlPIQQJOMWuaKN40raWhLoM6hl0mK1UC0hSxlEeGKhO2FYmCsuprrjV4RXHkdLt44ZY+gayUSUQqYPq9w/bqzkgtUNfO+Xe9l1OMM5bePL/uiahic9ckWbmiBWEnAWMW1DEo/H6enpYc+ePaxYsYJYLIZt27huUEg1nymWHRxXEhlhSPwGVv2c06RhWMMXLKP/EGbmEMfqLyEcjWKe0C5WVAvohS6UYSFcGxmrw9UserIu7VmH4xmX9oxLR9blNefH2bA4gpTgSsV5i8K0pAxa0wYNSQNjwEC97oIaciWHe3ZW2d/j8foNBwg3LR23Wnw84lGTQsmhvafIgob4tN1cfn1JC8ouoZzKpLL4xrILcff+FmfXg4QuumncMamYSaYQIVzoQoZTY9x0KxakSMUsnni+e0JDAhAN6XT2l0nFQ7NW6R4QMNdM25Dceuut3HjjjTiOwyc/+UkAtm7dyrJlE8s/BJx5TixABNh9NEPVkZy3IDycqqsU4QMP4Jhx+mvXsXBkcF0pRCWLXur1a02khzLDyFCS+7YX+O3eMgCWLmhOG2xcEqY+4W+/tjXE2taJg9qxkM5bLkzx+IEy92wr8LUHCrxxw16WrFw+riDiuPuIGPTmKkTCJnXJ6d/JC81Ar1uM17EHpZsTxkuEGSa+9lLyz/wKmetGSzaMGWOZBrGIhVOsopd6kYnmUc9rmt/06ldbj9GTKVOfHr9g0zA0SkWbQtkhGZ1+c66AgDPJtA3Je9/7Xl7xileg6zqLFy8GoKmpKShCnMeUKi7FiksyNnx3rJTikWePk45AW/NwCqzZsxuj0Mn++i3U145w9SiJVupFVHID1eqCJ9slKpJkY1KwfmGYlpRJS9qgLq6f1F20EIILl0VZXGfxX09k2dfjsbz+IG5N27SMiRCCRNTiWHeBiKUTnUFqsLAiiLqFyN4jiEn0uGLrriC/7UGc3Q8S2vyGccek42GOlRzipT6/KPOEuW9cWc+vnz7Ok7u6ufaixRMeK2TpdPWVSETMWe1tHxAwV8xIIGvp0qVDRmTw/6tXj1+sFXDm6c2WR7XSBdh7uJdjfRWuWBUd1kdTEuvAQ5StGkp1a4Yr36WHlu9Eq+bBjILQeOywy//sDrGjw0UpRWva5LxFYRoSxim7YppTBu99aS1XrUuihMbuHXvoz0xPhE7TBGFL52BHHsedunp9JHqsFi2SRNnliceEYxhLN+MdfQ5Z7Bt3TMTSsSwDVwm0QveY52MRk7VLanhmX++kcwyZOqWqG+hvBZw1BEqLL1CqjkemUCUSGnbXKM/lN08dIR0RbFwy3DtdO/osZqWfzvqLSCbCvrfLs9Fzx9Hcqt+fXAgeOuBx194Qa5otbrowNSd3y5Yh0DWBjcXd26t88+5dbN/XOb1tTR0BHO4sIGco9KilmsGzJ83iMlZcAkLD3f3wuM8LIahNWFSkhVbNIpyxhmnz6gYqtse2A+OLPQ5iGhrdmcqMXkNAwJkiMCQvUHozZTShjbrY79t7hOMZjy2r40PZWE61SuTIbylFm8knlhAJmQi3gp49DkqhzDBKwa/2K36+3+TcVos3X5gas9KZbSxD8O4ttTTEdX704BHuenAvtjP1SiMSNihWHDr7SlOOHYmwIohYLdgTb6dFkhhLNuIefhpZzo07JhYx0XWBFCZ6vmOgOHOYxU1xGtJhnny+a9L5hC2dbLFKxQ5WJQHzn8CQvABxPUlHX5FIeETwuNTPb3b0URPV2LDYD0hLqZAHn8B0S3Q1XkzYMrHcInr2GOjGUOZUwYZHjmhsXKDzxpekxqQEzxU1MZ3f31LLFStCPL0vw7/ctZ2u/ondT4MkoiZd/WUyhZk1jNJSjSDdSRthGSsvAyVx9/x2/H0IjXQiTEUaCKeEsEf3WhFCcMHqRo73ljjeUxx3H4PjdF3QlwuaXgXMfwJD8gIkV7RRiuECRLfCvr1HOJZVbFkdQ9cESkF/X5b67icpJpaQDzWR1IvohU4/M0szUAo8CQm9yvsvVLzugtrTnpKqa4Krz03xtotjKNfBkFNfWIUQxCN+9ftM4gzCCCESjVCd+AKvxWrQF56He/AJ1ATjklETqcDTQ+iFzgGJmGHOW16LaWg8sWtsHGUk0ZBBb7Yy45hPQMDpJjAkLzCGCxAHMpekh545wq/2udRENc5f5LuqsoUqiY4n0KRNd9NFRKr9RKsZPzNL05EK7nxe8L3nQElFqr7+pPqBzBbLmmPcdlWSJq8dt1zgnt8dmdRI6LqGZWoc7izMSJ5dS9ajYFK5eXP15eC5OHsfHfd5Q9dJxSyqUkO4VURldMJA2DJYv6yWbfv7Jn0Nvjaar5MWEDCfObkWdgHzlkLZwXWlX0yoFFq+nefbK7RnJTdsTKBrgnzRoZTtZ3H/c+RTq/Acj4ThQCgBQuBJ+O+dgmc6BC9b5CBjtRN2O7SObUUob0Cc0RdrRCmqiy8CoWF2bkcv9Q09PvjbbjkPGa3z5eeVZMJOWSPQjBDS02g/cIDHn6+y82Afr9+yjCXN41emhyydQsnhWHeRxU3TK1YUuomWakJmOhCR5PjzSDSgt56Du/93mCsvRVhja0JScYts0UaGwuiFTtxQfJSg4wWrG9m6u4dn9/Vy0TlNE84nGjbo6i9TmwyPagEQEDCfCL6ZLzC6+8tYAwWIWrkfrZTh/r0etTGd8xaFKZZd+gtVWjNbESgKyTaErGDFkiAEroQfbPONyNVtDi9fZUJo+IIq7CLW8WeG/h858ACR/b/xfx98kMjBh4gcenhIc8rq3kXo6OOEjj5J6PhThI4/Q6jjObRKHiVB7fgF8a13oOfbp/cCdZO2pijvvTiMoQm+c88uHtnWMeHweNQkU6zSnZ06tjKIFq8FXUfJiVcL5uorwK3iHnh83OdDpkE0ZOB4mp9GXcmOer6lLkprfYwnd3VPmimmaQKpFLni9HTIAgLOBMGK5AXEqAJEu4SWb2dHv0lHtsLrNyWwHY/eXIWEzJPq20kh2YajhdGNEIYOjgff2ybY1SN41QqPy1sd3FiTr9grXULHniR8+DGQLm7NEmQkTfbi9zNa1VcbqJb37/6L5/rFe0r5SQCuJ/2QgQDhuMTrlqF17CL+1H9gL9hIecnlU8uj6CYtdfCHl1T40fMJfvHEUaJhg/NXjNW4AkhETNp7fHdfPDJ1saLQDLRUM7Lv2MSrknQLWtNKnL2PYCy/GDHOnGsSIY71FDFDYfRCFzKcHLWy27y6gZ88fJCDHXmWtox/HPBXJZ39JdKJQDYlYH4SrEheQPRky5iG8HuC9B7C0y1+/XyZupjOmiaTnmyFsObQevhnKKGTq1mLLUyiAxdXBdgevG615PLWEl68HoSO2fU8yce/TeTAg7jpReQveAcykvYPaoT8C79u+fpSmo5Cw5VQsT2KZZdS2S+u0zWNdDxMa32MxU0JlrWkaNt0IfrL3k+l+TysY1tJPHk7Ru++qV+sbmJGIrx5rUtbY5QD7RMXLmqaIBo2ONSRn1YKMYAWrUGYFspzJhxjrr4C7DLuwSfHfT4cMjB1gac0FAqtNLp2ZN3SWsKWzpNTBN0NXcNxJYXSxHMJCDiTBCuSFwiDBYiJiI6eOw6W4vkuRUfO5foNcXpzFQzhsejg3VjVDN0tl+OZMTRXAhq9JaiLwjs3KjS3gjQTKDOO1f4U0b2/xIs1UFj1ZtyasdIeUiocV+J5Ay4aAaahk4xYREIGpiEwjInlU6LxOOGLb6DQfh7q2Z+hde5G1S6fumOvZqCFI9x6fgmt1hdCVEqNGwsxDQ3XkxzuLLCsNTll4oDQNESqBdlzCDHBKkavW4xW34a757cYS1+C0EefTpoQ1CTDdPWXiYUj6MVuZCQ1pG5sGhrnr6jn8Z1d5Es2iUm0tcKWTmd/iUQ0kE0JmH8EK5IXCP35CrrQ0Mv9aNUC0orw6+eL1MV0muIKTbosPvJzIuVOehtfQiXWguNKNN3k354W3P6UHx/R8BBOEa2SAQF24zqKq15JftNbRxkRJaE0sNpwPUUsbNJYG2FRU5xlrUmWNCWoT0eIRUwsc2r5FE0Ikq3LiV39PsQ5r6BUcVHtO7GOPz2mqG/0hgZmJIaRPcrBg8f5l7t3UqyMf+ceCRmUqw7tvROn947adSSJsCIoZ+KsKXP1FahKHvfw0+M+H4+YaAKU0lBCQyv2jHp+8+oGpFI8tadn3O0HsUydctWlFMimBMxDAkPyAsD1JD2ZClGtgpbvRFpRnj1cojPnsXGhie6WWdDxa2KFI2Rq11NKtgFQdOB7O03a8/CaVQpD2oSOPkls971E997nt8M1LJzmc0dlVUmpKFZdalNhlrYmaWtO0lgTJRkNETINtGlkYE2EYZjU1aVZ0hQn1r+X6N77iD39n2MuwKPQdFQoRqjSS3d/me//ci+uO37Kbzxq0p2t0JefWn5ECIGebkG5EwfqtYZlaDULcHc/NG7KsK5ppBMhKraHMiNo5X5wh49dlwqztCXB1t09SDm5rItlaNMqyAwION0EhuQFQLZog2tj5o/68u4I7nk2S01EY3m8QHPPEySze8knl5OrWQNAriL5nz0Rekpw63ke54k9xHb8GKtnN07DavIbbx035ddxJZWqR2tdlNpEeEbNpGaCZRqkLn8LnPda9HIfia3fIXTgId+4jYfQWNiU4I3nmRztLvLjhw6Mmw3lKwUbHO0qUKpMfXcvwnG0SApZHV86RQiBsXoLqpTBO/LcuGMSUQupFAoBmoleGC2Psnl1I7mizZ6j2XG3HyQcMsiX7EDMMWDeERiSsxypFF19BeJ2F+C3zd1xrEpHxmFzU4Wmwm5SfdsoxVrpb9gIQuB48INdYfK24G0bFOeWHid85DFkKEH+/JsprXk1Kjw2i6hqe7hSsbAxTjwy970yhBBEl19A5BW3oZrXEjnyKOHtd03s6RIa5yxJcc1qk+0H+7l/67Fxh+maRtjSOdSRw5lg5TISLdWMcp0J03T15lVo6RacHfehnLErHcvQiUdNbMfv4yIq+VHSKasWp4hHTJ7YNbn+FoChC/pygZhjwPwiMCRnOYWyg8p1YnhllBlBKsWvduapDUteEjlCTc9T2KE6epsuHnJPaZrkivpe3ndOL8tqwKlfRXnhRRTXvwkvtWDc45QrHpqmsaghTtg6vTkaejhO/OI3YVz8e7D8UkoVFyffP666LkJw6eoUFywy+O22Dvoy468kLFNHKTjaPbVSsLAi6ImJBR2FEJjnvwZVKeDs/PW4Y2riIdyBZARlDEqnDLYe1ti0qp59x3JTVrFHQgZ9+cq0s88CAk4HgSE5y+k+3kHUyaAsXxb+6T399BYVr2zto777cTwjQnfr5SjNoL0geL7LI931FFeXf05bzk9blWYEp2ktKhQbs3+loFh2iYR0FjbEsIzxuwieDqyWldQuWs7ipjjp/b8g/vi30Tu2jwnGC03jNRtreM8lYRplp58OPQ7RiEG+5NDVP7VSsFnbMqmgo167EKPtAtz9jyGzYwskQ6ZOyNL9FZBhIewyojqcsrxpVQNCMGlxJQzIpiCmFeMJeHGhlEJJF+VUUdUispzDy/fgZY7jdR/Abd+N13NoTo4dGJKzmGK+gNd3BD3iG4BKppsH91VYHC6wufgbEIKu1i1IPcTBfsGB/Ue4NPtT0vl9OPUrqLRd4ccchPA7+p2Akn7P91TMorkuNiYeojwX5Tko6U2qmDvbhEyD+KZXo8dqSOz+X0LP3YlyRxsLXRO0NiaRTpWHfreL7t7xZd8TUYPOvhK54uQrAc0cFHSc2OiY664GM4L99N1j3g+/V0kI2/Yfl2Z4QGbe/38yZrF5dQNP7u6eMqAeDRv0ZCoz0hA7G1FKTVr1/2JBKemfY56DciqoSgFZyuDlevD6juJ1HcBtf57y/mfwju7A69iF27UPr+cgKtOOKmRQjg0o1CRtEk6FoI7kLEVJj8yRveiGAQi8/naePlCiWI3w4Yb70bwqna0vwzPj7OzVaOl8mC3RIxTNWvJtVyLidX4FoltEJhaM0oEC8KSiXPFoTEdIxUNDtQtKKXAqKM9GmCEQOkgH5Xko5QECocD/xz/EyD/EYOW70EBoKHf6bXFHoqebiVz5bpw9jxDe/gv0Z75P+bw3+E24RlBUYX53sJeth/fw+69eTTwRH/W8EIJYxORQZ56lLdqkle9ash630APSG7e/u7AiWOdeg731TrxDT2O0bRr1fDRsohsCKRWabg4IOmZRA0b8pRtaeXZfH794/Ai/d82qieehCZRSZIv2jHrUn0mUlKA8GPHbK0pkMesXfXqu/yOdgRsU1x+nAN1AaDpCM/z2BpoOmgm67tfuCM3/Xmma/30UYujv01Fzo07QmRtSex71t/T7+wz8ZsA4MPijPPD834PvlfK8UcrRA6cUauBkEoOvV9P9mqpIHFH1v5fjvWolPfDmRmonMCQzQLk2br4fZdu+e2ICIcPTQaXnKMVCgXAkiuo/RjZb5HfdKd6bup+ElyG35GW4Wozn2l3uPRLj5ck2amsa0RtXEI8OXCzdCiqUQpmjL0aOK3FcyYL6KLGBoLqSHjglkAoRTaEnFoMVHXWiqsETZ/BHyuETSPonhfI8fxUkXZCer7RbzoEmwIyOe4GeCCE0rFWXIWI18PiPKLc/D4tHX7zjYY1bLk5z+4P9/OCXu3nbtasxIqNdeIauEbEM9h/P0tacIBkbv0/8dAQd9cXnox3air3tF+gtqxEj3IXawKqkJ1shGjaQZmRA0DEJmt9rfsuGFn7x+FH2HM2ycuHEPeSjYYOuvhI18dAZVWU+ESVdlF1GlbL+b2/gs/Zz1vwxA78rdhQvUxq4II780RGW6RsH/Dty5MCF13NHfMcUksELrRhxDMHQbcygYRl8Zui9GvF74Ds8/F0elPzxj191Y3h9hYGLvwTUwMV+eB4DO/A3UyN2r0CJkasqAUNFswPHHvpbG/6/ZiB0CxBjjOFEn/aZLFQNDMkMUHaZyrGjuKWBO2/D9C8UVgzNDIERGlPdPCvHVXLgjm3gbs0uku/qQAP0zFH6yh67cjGu0R9jhd5Ob8MFWE6J5o6HOVZZzPL0Raxd3oyNon7wjlu6IDRkpHbUsaq2f3FfOBBUV67tZyIJDS3ZgBarQRgTXGiF8E9cxrlbn+C1RRoS5PUeZKkfme9BSQ9hhP3VzjQxF5wD8XrKRQvdlVjKHmUcF9SYvHFziu//LsuPf7ObN165EkKjVyaGoREVBgc68ixuVNQkxr/T1+K1yHw3ynPH/ayFEFgbXkPlV9/A3n4foU3Xj3o+HrHozVZQCt9ougqt1IeMNwBw4ZpGnny+m188foRlrYkJ06t1XcOteORKNun49N+r2UYpBa6NrBaglBlIk1YDqwfT1yAT4VEXucG/jGgUrTr1+SKEBhMoH094UR2a34gL/fCsR/0a/GN4ZTGIByikY/gGcfAiLzT/9Q0YgKku4PPHzM8d88qQHDhwgE984hNkMhnS6TRf+MIXaGtrGzXG8zw+97nP8eCDDyKE4L3vfS9vetObTtscNdNCCw9oU0kXVS6giv1IBEIplG6ghWIQiqGZ4QEdqqllLZSUIP0lvvIclF0Fp4RyqyjXHr7fUgpPQT6XJ+wV6KtquBhEendycWgf+cRS4rkDhKp9VML1pOuX87qEg+NKEomQ/92XLng2MtHquwAGKFdcTFOnuSaCqRxkuYgww2h1i9EiiRmtFmaCMEPoqWa0RCOqWkDle1CVnH+HZkamdVwz1UhrxKVr93Mk9v+c0trX4ta2DT2/tjXENefGuWdbgZYn93LZpqWo8Og7fkPXiEcMDncV8KSiPjVWHn5ago7JJowVF+Pu+S3eko3odcOKAIaukYyFyJWrRCwDZUbQSz2+dpluousaV29eyA/u38fWXT28ZG3jhK85HPILFFMx67TejSopwS4hK3lkMYPwHJQQCMNChKYn13+68F2pU4+TA/GY4d8glW9cDEdQcn2DoWsgEGiaQBMiENEcYF4Zkk9/+tPccsstXH/99fz4xz/mU5/6FN/5zndGjbnrrrs4fPgw9957L5lMhhtuuIFLLrmEhQsXnvb5Cs0Ay0Aw4oIjPZRdhnIOVw0suDUNLRSFUAJhhRAIpGv7Fc52FelUwHMQwvd9I8SAz9f3CYtQCKSLcKt41RKFTD+iUiarLFwpqXQe5mXmcxS0BPH8AUoqzAPiMla1thLRBI4r/awhQ/OPIz28ROvQXbtSvnJwLKTRGFPobhERTY/rvprb91PzL86RJMqpIEsZf5WipN+9cIKV0CBhyyDVugj3aILY9v+mtOpanKZ1Q89fstz/nM5rNdEzR5FJDxkdvSLTNY1ExORYdxEpFQ3pyJjXr0VrUPlulOcg9PFjKuaal+Id3Yb99N2Er/yDUcYwFTOH2wALDYVAK/Ygky0ArF6cZklzgl8/fZxzl9USCY1/mpqGTq5oU6y401I1PhWUa/urjXIGWS4AEiF0hBny+93P6dFnjlS+e9Z1Fa6UeFIhPYWnFJ4nkUrhSfCkREnlL0ROfBEDjxWqHrl8ZUjgevDX4NpF0wS6pmFoAkMX6JpA0zX0gcd9ozOwmEEMLGxG/Gb23FK++88BBMIMoTwHmfUzF5X00GvHT+8/VeaNIent7WXHjh3cfvvtAFx33XV89rOfpa+vj9ra4ZP9Zz/7GW9605vQNI3a2lquvvpqfv7zn/Pud7/7TE19FEIbCH6Z4eHvpZJ+1kSlY4RPF4Qw/IChYQ01RxpaknsOuFVkOQvVIkq6eK6kv+RScgWOCFF1PZLlDpaVHmevbKU+EeHJ7AJ+kNnAlmUGQvMzNSSKRNRCeFVA4KYW+Eq9DGhmlcrUhBU1iSj6kPtq7gsOJ0OY4YFVSgOyUvAv3OWs/95a0SH/+YmkauvpecmtqKf+i9iu/6VsF6guvHDAOAsuXeEH4wsVQf+hoyxY5CFj9UN+cvAvDImoSXtvEU8qmmtHB/CnI+gojBDmea/Cfuz7fgOsFZcMPWcN9CqxHc+vZxmQTpHRWt89KgTXvmQR37xrBw8+2841L1k04ftkmRpd/SXikYnjKSeDUhKciv/eF/vBqaIECN1ChCZ+/2ft+NUiqpL3z52h2JtCi9ciQnFkOYfKdSKlxPM8pCdxXBfbSFAMNeDZZcJ9+/x4BArEQPxEt3Aa1yIERLq2oXnO8HMDAfNqywYwLIyevejFbkIZA6PqDrmynLplyFgDWrEbo+8ggzEZpXyvQTVSSyW5CNwqkZ5dI99UBBKpW5Qb/BucWMdWhFtFUxKQA1EZSXXJpWBGCHc8i5E7hkAi5EB80XOwF1+CW9uG3rGd8L77EdKlKF3EQHC+3HQe+WVXo5V6qX/m3wHwjAj5l7ybRa2z/3nNG0PS3t5OU1MTuu7fuem6TmNjI+3t7aMMSXt7O62tw+9ES0sLHR2T596fSF1dfOpB4+AWPOzOLmpqolMPniHKdZBOFVkt4ZXzfkwEwNQhHKNUlfRlKkjTxNAkdsWlyT5MovNR+mSMw41X8F/tJh0FwWtXK85rArCoOC6NiTAJwwUjBqkWP/NFKbxqmVKpxPJFddQvXowZT8+Z+2oyGhrG73A4TBpYiLTLuPk+3Gw3SjpoVtiPTZ1AKhXhaORWnKd/QuTAg4R1hVp95agxP9raze52hw8l+miJhyDVNEpPDKCmRpErVKlIX19s5DyVilPRiyBd34U5Diq9id5jz2DvvJ+6cy5Aj6WHnrMiJofa8yQGEx9sQCtA2v+u16RjXLSumcd3dnLV5sU0TPKdyxQqxBJhouFhozb1ezrOfJVEVkq4hX68Yh9KSoQQaDVxhDE2PXzG+3cdhOHPsXx4O4Xj/WjlPLKcxyvlkeUcdde+Bz0Sp+/Xd1LZ//SYfcQuuRFt8QbKB/agnr5r1HMmIFrPwzrvdeiVKtqT946dQ7QGtXozAOLJRxGVsWnhoaUbIBJB7NuHOObL3ox0coZStZBYDP29aAd+M/YYCzeglp0DRQftyV+NO4fUORf7c3j2aUQlhxqZbKBp6KsuR4VCGNV+tOxRf+Wq6QOtGkw0XcMwDbR4DbJpFWgWGMbQ82ayiZpUFBIm3gVvAcNACgMrZJ7Ud2Mq5o0hOZ309hamFMgbD7frEKHsQcpeaCDlTh9ITfTTE4ezTsTQF2IoNfEElOf6K45qCaoF//8MrGh0c+iC7kpJTzZHf6GC5/mJf4ZXpbHvaWLFo0gleNBdz9NHTPK24IZVDstSErAolKsoT6LpVQokkKFaKFQQTgXX9agYcVoXr8JIp8lWxaQ1EnNFQ0OC7u6Je4mMJYmKxZDlPCrbDXafn+FyQjFlJGRxdOm1xI0YXnwxXn50bcbVayIc6KrwjYeL/MFFh4mmc6hYnd+zfgRKKfYc7MOVipguRmVIKZXE7d6LNtibZRzEOdegjn+N7ofuJHThm0ft16449NkOhi78BKNcB54XGUphvnRdI1t3dfGj+/dw01UrJjxGqeLy/N5uFjX5F4iZvKeD6dyynEXmewdSmw2wwv6KGaDiANPvhaKqRZzdD6HKOVSlgKrkUdUC6BbRV38MgPKjP0UVevzzIxz3YyvhBJm+PFpUw2ndCMll2BJsV2F7vlZZeymN2t+DobVgrb8ZTdcGkjw0lBAoI4wqVUBaaC95N2pkdtTAbzXwXRAb3zbwIQ3EHwdXpY4JbhmWvQJnydVEwiGqlQq6NuDQEhrky5BaCZd+CH/r4UC9Err/vAohLnrf8BszcG0Yeh7gJe8ZtRoefhOBShXaXur/jEfVhmgzLGsGIJmIkBv5PS8NFK3GfLe/dF28UnWG55uPpolJb8DnjSFpaWmhs7MTz/PQdR3P8+jq6qKlpWXMuOPHj3PeeecBY1coc4Us5yjf+VkqholINSOSzWipJkQ0jZ/ZPaJuQsGQF3XALzpkeDQDXAc14GYSQgfDRDvB/y+R9OerHO8t4ToehqljalDf/QTR4nGEdPDQ+Nvsq9iwNEF9n+LapQ4LEsMG0nVdakMSFa1DWnE0p4QUgryWhpoUbQvqJ/S/z2eEpvt397E0yi4jc13IUhYRTgz5mg1do6U+xhF5GWFLR1OS8KFHqC64AGWGSUV1brk4xbcf7OeOp11+/6I8VjULZhQvVu8rBQj/IpWMmfTnKvTaLoua4kOZVIOCjsouj9u3HUCL1WKuvgJn5/14nXvRm3yDIISgJmnR2VfGiPgZQEq30HPtuDVLQDNIRC0uX9/M/U8d50B7bsIuipGQTn+hSmNtlJA5vRWlcqrIch5Z6Ea4DmgaYpqJDaP3U8HrOYTsPgBCw1p/DRgW7qGn/dhJOI6WbvGNxQj9ttClt5CuS5Mt+wFxx/WwXUmu4lLM5XDdFJgphOZ/loamoWkjVwZJIDnCUXwCmj7cfO3EOQ+k3/Y7Jp1Zl0JVUqh6FCqSYlWysslj45IIh3pdvv1QZmg7QwPLECyuNbn54jRoOv/5uzy6JrAMQcgQhEyBZUguWW6iaxpHSiEcVxEyBWFTI2wKwoYYrgR/gQTr581VpK6ujrVr13L33Xdz/fXXc/fdd7N27dpRbi2AV77ylfzwhz/kmmuuIZPJcN999/Hd7353zuenRZJYF78FDj6Gk+lG9h7GAzBCftvVdCtauhURqxkTOBtKK1QSXNtPpQ2Nte4Khe1KCoUSuY5jaMVuWt0+DOnQuehqhGdjVbMD2fIa3yq+grJVw+pamzV1o08p27WJYmPG6lC6n5NfjbeS90LUpaM018UwJkipPJsQVgStbhHoBjLfDeHk0AowZBo01UZp7ymRdLsJHfkdZs9uCue+ERVO0po2edPmFP/5WJb/3Cq45ZI0hnIwMkdQQkfG6v32uLpJKhbicKbMwfY8S5oTQ++dlmrGa9/tizFOcFEwVl6Ge+RZ7Gd+Rvjl7x8K0McjJt1aGSUHvGpGCOwSRuYIbnoxaDoXr2tm6+4efvH4Ed593Tnj1oz42UQa/bkKzXVjZW4GUa6NrORRhV5wKvgB2QgiMr4RnHA/dhlnz8PI7gPI/uOAAs1Ab/aLKIVuEnnNxyeMoyilcEMpSsqiJ5ujUHbwBgLeui4wDQ3LPPVL0/ZjFQ72OBSqvoEoVCXFiuT1FyRZ0xJi5/EqP99WGBofNgXxkMbCWv/zqY3rXLU2RjJmkSvaVF2F7SqSkcH6FkW+Iqm6aug52/VvKQdjcb/YVuBg79jV3NsvS7OsweLJg2WeOVLxDcygoTEFyxstltSalKounVmXiKEIG2DpipABxuDqaLA4UUrQqmjl8oi72cHiRwCJ8NyR9Y2zilDzSINg3759fOITnyCXy5FMJvnCF77AsmXLeM973sOHPvQh1q9fj+d5/OVf/iUPP/wwAO95z3u46aabZnSck3VtFdoPoo48g4rWYMkSZDqQmePITLsfGAQww2ipFt+41LQiomMNy4k4TpWKJyjkq8T2/hyzmhkqqZKaiUIDJdGV/4VUCO7Xr+DH3W3URyRvXz+6WlW4FUxVwUo1IWpbUZFaSp6BJ2FhY/yM1h2cyMxdW+OjlELmOpDZTsQIYwLQmyvTm62Sto8T234nSrcorH8jMubXbjx1qExX3uWadSNSV6WHcCsIpfAiKVLNC+kvSoplj5ClsaQ5iWn4x/B6j6DKuTHutZF4XfuoPvz/MNe8DHPty4Ye78tX6M9ViISHL5zCLqKsGF5qIQiNbfv7+O8H9vPay9rYuHL8vvRSKkoVlzVLamhpTg29p8pzkZUCFHtRlaKfiGSGp51MoTwX2X8Ur/sAKIV1zlUoz6H8sy+hJZvQGpaiNyxFq104YQabUn4HTduVFCsOxYqDlIp4PEy5VMU0tJMuqizbko6sS3vWpT3j0J51eftlaRJhnTu35thxvEoirBEPacQGfm9cHKYlbZIre+QrkljIf9zQx5/DGJfRJEilcDzlZ0gCXTmXYlVScRRVR1J2JBVbsmmRQToseOpIlaePOpQdRcVRVFxFxRVcs9ThpYts9vTp/Nu2sTG4lTUub19fxZOC//tUiJAOsZBARxIyFBEDrl3mAoJdfTqOB2HNpS3psHjLDTN+n6dybc0rQ3K6OFlD0vvg99B2/xpPC/l3+WYI3Qqh1y1BSzZA32Ho2Y8qZcEdSO80LESqBb12IVq6FSIpVL4br+cgMtOBKvWjlMQNpdCrBXQ5rPmkAM+I4ppxHDOOayZwrTjP5Wv58eE0hgbvPq9KbOCaIKSD7pSwXYiv2oiINyCFQaHsEgsbLGyMT9v1cbqYLUMyiJfrRmaOIULDdS9SKTp6i5SrHjG3j/i2HyE8h+K66/07/xHs7qhSn9CpjQ1c2JVCuBUSEZN8FbxYHUUZRjdMlrYk/Kwrt4p3/HkIJybNZqo+/l94x3cSfvkfosXrAHA9j4MdeSIhY5SXQ1SLyHASmWxBIbj9Z8+TKdh84A3nTvgZ5ksOLbVR1iyvo+toB6rYhyznATWt9OlBlFPB3f84Xs8BZO/hocQPrXE54cve6o+ZoCBzENvxqDp+R8dixcWTCjFixaFpYkYXaIBCVdKVc1nW4H/h73gkw57O4ZuoZFjQktJ55doQdVFfocHQwXckDVfW++VYAoQCNTKR13/Ml/gRQzGPeDxMoeDHGwbu/4dr5wer2/Fzt9SAPJAYrHyXrr8/6QxlkPkLBjXg/FbDlfADMRSpBEoJdB1KDnTkBRUPqi5UPUHFhXRIsbHJxfbg+ztDVD1wlE7ZVlT9emk+cbG/Ovnq1jDtRZ24KfnYS4os3jK6SHY6nDUxkrMB10oirTQCDaEctEoBWeqn1wlTtOtIeFEacif0lHBtZN8RVK+vunliurpfZ2LiSUE52ooMJXyDYcZxzRhqhAzL0ZzgkSMGh3P+heTapTYxU6F5NkJ5KAXlSCP9sTYWLFpMT2+BStWhuT5KfSryoiie0pMNoGmo3iOocNwvIBSCptooR7uKVPRa1IZbiG/7L0JHfoebWjTkp3Y8xU+eziOV4tZL0rSmTT92YUYgEkFVsxjZYySFRslIs/9olaUL6glZIUSyEZXvhfDEJ5u1/lrKHbuxn/kZoUtv9Zti6TqJqEmx4hK2hg2EsqLo5Yzv6483cc2Fi/j2T5/n4ec6uGrTiFoA6SI8BzyHuFOi/8AhCiKJlysNpOpOr0BQVYvIbAd643LQdJznf42I12G0XYBWvxS9fsmoONCJRkQqhe14FCsO+aKNO3CjZmiCkKGfmBA3yUSkrz3lOezqcGjPSdpzkuM5Sa7i7/MTV0WIhQSr6mBJ2qIlbdGcMolFTRAGaBpSM9A0AzmY/DIymD7w/6FA/IjH/L+14cc8F+IGrsggXBu8KsKz/Xos10ZTHgoJnodQAym6+EZEKIZip0OB9sErgKYNPKMNG5GBOfq1Jn7yQMQQLI0wUDgshpMChMBDoAO3XOj/PxEPkx8hPipJgoBbLvJXO44rcWMzc2NOl8CQzACvbjn96T6I1Z7wjAJPkdFSFBe+iogusTQPQ7oIaSOFgRNOYeU7CPftwQslkYkmZKyRnIpQtNVAIdPw2aYU9FUEe/o1GiKK5TUSTwnyVUFIV6QsydpkEc0D14ihNA0nXEuvXkdzbYJi2UEqWLEwTTT84vqY9Xgdnmageg6irChC9wOfLXURjnQVcM0EhfNvHjohheP3cjF1wdsvS/P/fpvh9ocyvOXCFMsbR7iAdAupWyA9ok4/TqmLw7lOFixdQjhehyz0wiR36iKcwDznKpxnf453fAfGAr+WIB0PkSue4EcXAhmKoxd7QOgsrKvl3LYUj27vYPNCjbTloDllxIBeGfjFlLYnKEkTbZzGZCeilET2HMQ9uBXv+E7QDCKv/pgf43j1xxETpDUP4km/W2ahYlMoO0jpX+8sU8eaylUlPXCqfoMv5Vc7deUVRzKKC5YnUFaMe/d00pN3qE9aLGmO01wboaUuhtYYxzF0LmgabZ1mw/2vPAdVLflZZuUcyq1SiIawCzZoAjWQhak0A3TLT1IABlJqhooWxZBeF/7qQ4AuhK/1NVc3dOEIyhn73UuafmqCdF08d/rZdzPhxXWFmQUEcviuYsSjhi78AKxpUHB9qQVNQDhqEjY1358eS1FpXg2A4yiyJRtXSkLmwN2GgvaCYE+/zr5+jf6qf6Jc0OyyPOVgKJeEKeivmly+oIIbqcHTI+heBSdcQ86oJaRpSKWoT0doSYdfEAH1k0GPplCNy/G6/Za7wrCwTIPm2ijHekrEwhH/JtEukth6B05tG5WlW2hIRHj3lhr+3yMZvvtIhtdfkGT9whMuqAM94g1LQbXM8V3P0dxQQygWR/Yf82M02uBlZfgOEkBfdD7uwaewn/05Wn0bwgxh6YKIpeE4HqYh/FXGQOEZThnr2FZkJMU1bQmeP6z45VOd3HhBHGWE/PqDEYR0RXtvmZqoQWiSgLWz57e4Bx73iw3NMMbSzRhtm4biHOMZET/W4VG2vYGWv35zLVMXhE1j7KpDqYHX4hfSDTqRBKB0kyoxdmRi7O6ssre9SK7ku9BWrFtDPGJy8zU1xMIG1iy4YwflT6RUeAMV7n4NoIfwqginiFEtoHlVDEND13WMcBgzlKCuLk4uW/LD13JYl0sNyKiAvy814NoadF3JwccHViZVVyKdQTVg/5fQwRAamu7LrYyyMUqOWgUJpfxV1Iiak1H1J47w1X0H/88cGq0TCAzJDNje4fL40QbSIUnK8kiGBImIIB0SDH/XhX8xAEBRqTqUqr6OaCRkEjI1PzOr4mBoAl3TKdgQt+BQVuNHuy00oViccNncWGZF2iFb1fjhriiH8wYRE166zKCltQkXheEWqUabcEJpinmbBQ1h2pqTLG5Ozmrs4WxEhOPoTctxu/b7J6UZJhaxqE9LerIV4hFf68puXEPo6BOYPXupLL2CZPN6fv/yGv7zsSx3PZ1nWYNFcrwaLiEwwlGUEeZYX5kWp0rILqMKvb4baNAFD8NueEBfvAF32z3YT92FsXQzKEWN7dGbq6CHdP9Cqwbc9JruZ465ZdKxJJeuiPLA7hIX5QSLasfeJPipqDrHeoosaohjDjQiU0oiu/ajNSxFaDqy7wginMRceyV669oJA+VSKaqOR6nikBtwWWn4IpexyAmXj8ELn3SH3h/0MDIUASOC1E36y4qalJ9a/bW7dtDRW8IyNZa1JnnpghTLF6SG5F5qEieXFCKlwnY9HGdAo2jAfJmGhqULwoZLSFawKKJ7ZV+JPaRh1CXQjbHJDKmYhbTdGc9DKQXVIrLY5yfjOFWkW0XaFaTji6F6dtXvMeLaflsBz/GNhrTR5MyPmT5xDqOMjqC48BLgJTPe71QEwfZpUig7fOyrDyHlsKDbIBc3lbliQZVu2+LhYyGSIUUqpEhaA79DCkv3fZQSqHpwvGCyt1/jQEZnSdLlhmUFPAm7syZLUgIrHOZIweLRo4qjGUnUFGxcbHFuq4WpCz+w7lYpx1txjDh9uQqt9THOW16PZeqzHsSeK07HPJVTwe3a7/uerQhKKTr7SxTLzlC2lFboJrr3PozcMdxEM+WVr6ASaaQr57KgxiQWC5MvlCeMM7meolL1MDVJyukiEglhWdaAw2Mszq4H8Np3YW1+A1q8DomivaeIbmiMmzw0IFlSjjTxjw+USUU03r1l/IzAZCJCd28BXddojXmoI0/jHnwKVc4Suvhm9JbVKOlO2AbB9TyqtiRftodcpJoOIUMfnV2l5EC8YNBw6MhQAhWKo4ww6CaOpzjYkWfv0Sx7j2Xpz1f58JvPIxG1ONpbxrEdFjfG0U9h5ex5fkaY40rfdg3opcWj/o2bqRyEW0aU875KMcr/XIzQtARVa2qi9E/QRdM3FgVkoRdV6PONRrEPWfB/407Q/0M3fDkcI+Qn5Jgh0P2/le7/eJqJK0xcTGxh+AkC+GUEQkpfNkUohJJoKCIhA7taHSo1ECNbOig/jlOuXcniy18z4/c4CLbPErGwwRXrG3lsRxeFqsLSYVFa0BiDpUkLqUvsSpW+ksmBjIGrhr+cy5IOb1xRQJfw33vjHC8aSCWIGpLVdR4r6jTsqJ9h1ZYyOJaVPP58laMZj6gpuHx5iHUtJpYmEcpBOC4IKCUXU8GiWnZoSEc4b0X9GW2FO18RZhijaYXv5rKLCCtGY02Eo67Etj0sS0fGGyic/xbMrp1EDvwGXBtTFyyoMVFK8cNHe6nYHtdvTAxUOI/G0AXxqIGUioybotDdgRaKEouGiFr60MpgaPyyC/F6DuLsfghr4+vQhCAZt+jPVYmExvkMhQZmiGili5evquPOZytsO1Yd63YbIFpuxzz0GNXMQQQKrWEZ5rmvQGtcPrC74VNfKknVkZQqLoWyg+N4IPxAeXhkNpmSCLc61nDEfTcbujXKlfLTRw7xzN5eXE9i6BpLWxJcsq4Jc8BorF9eT3+mON2PcQg/ldhDegAK09BIxSxiEYuwpWNqCpwyqtSDzGYQUvouId1ChGIz1glTSiLLWVShb3xjMbKVs9AQ0TQiXucnKMRq0WK1vhipOcJwnIQUkRwpOOn5YpSOq3BdD9uTiLBFNltmtA/Rd5/piAHDMvNVznQIDMk0EULw0k1LaGpI058rs/tIhoPtefb1Kp5PRFm5oJkVSxK8cbmH5hRxinmKhSK5qh98tCP1FKpg47GxVWNpvUFjykIbCLB7SnG83+F3h0oczUqiJmxpE6xvBlNzQHlIZeIZYaRm4pgJSq6OaQhqk2FWLkoHRmQShGGhNy7D6z6IqhbQQnGaa6N+8N3zkx0QAqfpHJyGVb4CgVJEn78bJ7WIuvgafvZMkWJV8uYLk0N1AieiaYJwPIEmqqhynlxRkC0qTE0nHjUImwamofnGbdlFuLt+g9exC6NlDbGwQb7oDM9nzIvQUbrJBak+HkvG+cX2AmtaQpgDY7VyPyAgEUGrZLFKXRRaNqMv2Uhdc8uoLpe261GxPQolh7LtotRAoNzQiQ66rJREeJUTDEccFU+MMRylisPOfT1sP9jHG7YsIx4xScYsNq2qZ8WCFEuaE0N1NzNhqAbFkcgBT1XI0qlLhomFTd9wGPqwOnGmH69S8APcujFUrT+TSIFSCpXrxOvci9e5h+P9x4bfAwBN9+vD4rXoDUsR8QFjEa9FRFJzplenCYE2eI6P44msqYnS22f5QpZyWN14sFGdY9tYcyS2Gbi2ZsDR7gK7juaImP7X0nY89h/Psftolq7+MkLAosY4qxamWNSUQEeiexUMp4Bh52GgFa0SGmLgb1Acy8KjRyRHsxC1BBuXRFmzOIlhmCjNQAnd1+cZkJl3Pd9vXZsIEQkZREIGS1uSo5bogWtrfJR0kb2HkeUCWiRJqepytLtALDROsNitEt/+PxjZo6hUC09GLuW7O2M0pwx+75I08dAkJ6WU6Nmj/tVZ84tBHddP0TZNnXjEIGzoyOd+iir2E7roJoQZpup6dPaVCFv6xHFS6XKgT/Kvz4S5ZrXBlekjWJ3bMXLHqTavx7zgBnJZv2JbCZ1ixaU2YRG2TIoV313lKYZiHYaujV51OOWBII2ODMVQVsJvOXDCiqNiu+w6nGH7gT72H/fTpuuSYW7YspQF9RMXZw5Sk46NuyJRSlG1PWzXz3aKhU2SUZNI2CBk6hi6NtBQqzpCnbjs34Tr1pCC8kxQTgWvaz9e5x5k596hAmORaiK6cCW2mfKNRawWEU3NufrxyTCZCw4YarVrtK6d8b6DgsRxmC1DMpJMocruI1n2Hs1Sqvo1AcsXJFm1KO331VYSzbP9Xh/Sl5I+lnF5Yl+O9r4KkZDO+cvrWbMkPSrTatBwuJ7n35EJX0qhJhEmGjbIlxxWLkyP0cwKDMnEKOkh+44iSxlEOEm2WKWrv0wsYo69eCuF2f080QO/QVQLdCXP4atHz0ULxXj7ZWnS0YnvPoVTQcsdBzM6KsnPlQrXkSgg4uWJ7/opWvMqQmt8cb5sySZbmMDFNbjvcoaO559jiTqCKSRetBa76VzsxrUk6hvJZEvYrqQ6UBBYLDvUpcLEIybmeHUd0vPjCAi8aB0ynBpjOMC/eRLCD1z/7JFDPLGrm1TMYt3SWs5dWktT7dj+LRNxoiHxPEm56qGUIhmzqEtFiIaMobiMkhKcst9Qq9CPkI5vPIzpV+oPcuKqQ/Ye8eMIRgi9cTl60wq0phVokeSUF+j5wpk0JIFra4Z4UlKqSDTNl1QY7JSWjoe4cG0jm1c3cKynyO4jGXYeyrD9QD91yRArF6VZsSBJOFzH8Z4iW3f30NFXIhoyuHhdE2sW+wZksLDL9QZqaAVELIN03CJk6ljmcMCzUHJoTEfOSuHFM4nQdF+fS9ORhV6S0QSep+jJVYmHT1iZCIHTuBa1ZB3V7b+i4dhW3reqlh90ryY8zg3FSJQZRkXSvlT5iHRaQxMYA0bC9VKU61YT7Xie3kQbVm2LXwcnFZmC7buDBlJKjWoG3SlSjbciHIMlWgePllbSHV/FxpVLQICqQr67SH/Ov6AIwDQ0kvEQxarr96UZ+fqki3Cqft1KrHHAgIz2m7ieZN+xHNsP9LHrSIZXXbSYDSvrueicJs5bXseChthJN2YaufowdUFzbZRU3BrONpMuslxClTLIcg6k9F1VZgihzayh1mSrDmPlpb7xqF00560Uhtv/DisGM9TmV436Wyk14KqSKAma8NUBBt/vke+7V/JQlQGlgJFl/MMHBn2OupwGK5Lp05evcry/hFO1cV2oOp4f9JMDka0ByQVdE+i6wHUl+9tz7D6SpSdbQROQiofoz1eJhgzOW1HHyoUpPx9d+l8cTRNEQwbRsEHIMrAMbdyT1PV8v/GqRelxa0WCFcnUKKWQ2Q5ktgsRSZAt2HRlykTDxhjtp0E5D63UiwynQdOx2p8lq9fQLpqGZDvGICV6/rj/9wRZUngOsZ13IfUQ/cuuAaHheYq+fIWQ5pIsHiFROEzY7sfVIxxa+KqB3GB46KjG1u4wbzwvTH3SQADxWIhKxRmzmvA833feVBvFwEVzKijdQMYafANywgW0s6/EYzs62XkoQ9XxiIQMzmmr4YJVDTTXnVpPHteTWGGLbKZEMhaiLuWvsAUMt1coZQayrEBoph+snoFLafJVxzL0ppVDq47JmOmKRCnpx1QGuhL6H9XoujMJSKXh515pSAWuBMcDRykcT+B6Andwu4GY3aB0i6ZrWIbA0nUsUxAyNOrqY+Qy5YHOjIMf/8BdyKCQo26iJ+qm/VoGCVYks0gqZpJK1rJrfw+GBqm4hWXqeFLien5GheP6GTC24xdrtTUnaGtOkilU2H88T0+2wuY1DSxrTaAPnLjxiEk07BsNcwLDcSKlisvipsSLtuBwNhBCoKWa/ZVJ5jipWAKhCzr7ykRC+rjZWTI6cBJKj9CR39FSyXCkupznV72UNUtOVDzAl+uI1aNlj4NpMO4ttG5SXbiZyIEHSHVtpbrwJWAK0seeJJQ/ikBhW2n66zdQjC/GNIZP20sWwc5+xWMHSly/MYnQdAxdBzE2O0fXNZRXIdPdTW1tCplaiAonhiRBHFdysCNHNGyyoD5GvuSw81CGNYvTrFtay9LWxCj1hZly4upj6eIELakQhqbAriAz3Xil7HAPeN3yNdNmGu+oFnEPP4N7aCsq3wPMzapDDRRc4rko6WduCSVQmkCzIshQAkezqHgaRUfza1ukf4M5qMk19IVQ/segmwO94DWBoYkJFQKkVHhSUZASz1HICmR1g2xu2OCYhua32DY1X23A0LFMjblYkwQrkhnS0JCgszNHrmTTnSlTrrqYhjYQHB37oXue9H3insQdMDK6gEjYwDJ0jBlmsiilKFc9QqbOstbkhCdZsCKZGV6hF9V7BEJxSrbkeG+JkKUPZU+NKzDo2RgHHiFy/EmqUqfHbEXULiK6+iJ06RA5+ICfJKEZvjaTZ6OsKE69L7euZ4/5GmkDBWNm7x7MzBHceBPlpVsIH3mcChaZ6GJUdBwjNcDTnTq/PGTy2hUOSxbUEI9FKJSqo8Zono3m2XhGiLyoxYjHaa5PkCtU2XM0y55jWQ6253A9xTltNdz4suV+zZRUM/6OnojrScoVD1AkYyFqkyGihqQuodF75Ki/6lC+yxEzNGF9y2QoJZHdB3APPukLaCqJVrMQfckG9OZVU646JqOmJkpfb354laHk0CpDGCFEKApWFE8YVJVB2Vbkyw6lgXiPGChS1ke4wmerR/uoeY6IOanBKv7BH8//HQkZrFqUnvG+gxXJHKBpfkwkFbMoV116shWyhSqa0IiERxdt6bqGrnNKqrtS+llarusbv2jYOCW/dMBY9HgdUjOQPQeJmhEWNMRp7ymglDZx2qpu4a54KdmmdRSe+w1GNcPOw31s78vw9s0mZtfzvtSJ9IbbAhjhIUMSPvYEWnW0EVUI9EKX329+2cvwQmnsbAVNKfQJPu/zGj2e7tJ58IjG0tp+iA3EY5RC86poysHTo5QTC3G0CI4rqVQ8ntnbw10PHwT8KvJNqxpYuTDFkoFOi5omxrj4potSiort4bgK0xC01IZImh66m0f2H0V5Dk4linK9k1p1DCLLWbxDT/urj1IWzAjGsgsx2jaiJZtOap9Dr8H1q8/dkINyHbRQFKw6NCuE0kxsz1epyJddCnkbx7URwkET8P+3d+bBdZRnvn56Od1n19F2tNmysAkOBuMFgzM2GOzxYHPLJjC+JJDBc7NXJlNJihoI5mZqFsd/QM2SrbhDJZOianKZuQwD5sbBGSDJsFxIAoTFYBNiy5Yta7X2s/fp7u/+0UeyZEnWcuQjOf6eKqrO0Wlar/q87l9/y/t7DZ9KOKDP279RRfGEa/SSiFOoO7kgv0+OSGbGZE/QubxDfyJLz0AWAYX97bN/khsevTiui64qREMm0bBB0NSnNZ21UJ70p2KhxSlyKa8KXjOw0Djdk0JToKoiPKXled4RHO3KoSkKy+tMuodsfvTaACsaTFbWGywKWd56iRn1zCJzCRTHBuGMVCE7gXLU3BCB4y+huA6Zpo2kg/X0J3IjnmwTcWJA5enfGdzckOaGpSZpy0WoKpZZziBRTvY5tHYnPeuUeJgta+sZSFp09WW4ZlkllWXnN2icLq4ryGQdXNch6leo8Lv4nQRYaa+2Y9SoY7a7oYTr4HT+DrvlLdyuY1AouNSb1qLVffS89vZTntu2EHYORQgwAijhSuKL6+g8kyGXd8jkbBJpr6fK8OyUrivelFER035zwWTbqYcZFpKPNpbP+NxyRFIiTJ9GbUWI6liAoZRFd3+WoZSFoauYk0x7jUYIgZV3yRXWVvyGTnW5n7DfwG9ql4QF/EJAMUPoNZdjnzmBgcviqjBtPUkyuakrgn2awor6szdkV0B9TOeNExl+1ZwhFlRZWVPJmook8ZgfYUaY6HHG1atJL7+VwPGXCBx/Ea1uNbnIcjKWPWnR6WUxl6Yyh192BlhXM4CmKHTbUQ4eSnAmNQR47gzL6qM01UYAhbKQga6pY+zrZ4udt8mk0+hOjiq/TdSXx+e6iIy31sE07ezPh5vsxW55C/vUO5BLofgj6MtvQF+yBnWcI/f0EU4ekc+OiIdaXo9ihsm5GqlMnp6TQ3T3JArTbwqGXtrRxvB0dt5x0QrrJ6rq+aoNr6fM9+yEFJI5RlO9Go9Y2CSVtekZzDCUzqMpCgFz7LSX47hk8w6O423riwR91JQHCPp9c+J4KpkdihEYsVTxORkWVYdJWA6JnIP/PLUd51JbpnP3x2Jk8y6/7cjxfluOV1ssfJhsiVgkbYN0HuITPOgJI0T6ilvwn/oVZsc7xDMDtMXW4rjuyJOv5UBnSiWVh3TOJaLlOemY/K/3KvjU9WH8Khh6ij9YorA0JqgKubi6hW1YOHYWVzMImDodvSkWVUdm9LcNr/nk0wmcVAKfyNIQNgkFfWiGCdrMK8onQjh5nPYPsFt+g9tzEhQFrfYK9CVrUWsun/WiuXDyXrth4XpdTQt95XOuTiJj0deXJp/31kJq41EiwZnVqUwH1xVe/5Z0nmTG+2/kdTpPInP251PNoHgeY0qh7fLZtZjRr1UV/uCq2lmNSKZCCskFQlEUwgEf4YCPnFWY9hrMejs9UBCKwKepVEb8hINGYZeQ3IG1UBixVOk5iWalWVJbTTplkcnaY9riTge/T2V1Y4DVjQHSluvdhDPtvNkOPzuuUhMSrKwRXF0DhgamBqYO7UmdD92NNOrlrBp4G3//ED9K38SiSh8bFzn0ZRSe/O3ZG5ymQMCnkMkL9r+T4vZVQe5Yc1alHEBx8xiZHs+SXFVw9BCaEqKz26ahthzfRA8wwgXHQrEtFCuJkktiZXM4rsBv+iivjGAGyucsf4UQiIEO7FPvYLcegnwWJVSOb8Ufoi9ZjeKfyIp5Gud1bLALVfu6iVJWh+IPkXV9JNIF8XAEGgqmqeI3vHqaYqaoE2mLls4EZwYyZ8WhIBap7MSj3ICpj5hOVhWKSCNBHz5dLZjGegvnw5shXOHVHRmGTjpjjfzccc9a5w+/v1A1Z3KNZIYUM6dvOy5DKQuBN81g+qae8potC23tYTIWepzCdXB7TxMxLPozKt39GVJZe7yF+gxRs0OkBvp4v8/Pe10KJwfP5sEnrnK5phZePw0//lAloAvWBE5zu/7/cBSNt4MbWFxXgW3l6Mz4MIIR/KEQhu49kZ5JKTz1m0GifpWPrwoSmszKRQjUgl153nZQNB/l8RrUQNhbw7Gz3jpOwTLFFV67V1fxESmMus/X82Qqzl0jcdMDOK2HsE8dQiR7QNXQ6legN61FrVoyK1sS4TpgZUC4CM2HGqkEM+yJR8aibyiH7bioqkLA0CZ0IZ5q7WE0qWyek50JTnQkaOlI0DvktehVFEYeLIeFYaLX4YBv1k7I87lGIoVkhiz0G98wMs65QwiXGIP0tJ5CmBHODGRIpPNeAd1snwOEQEt0gZMD3WQgCx96JQ9cXoHXc9zxbkDDD8RqZoDA8RdRrDS9FVeTqF6FbYQ9e9dRhIMmv21L8ex7aUKmyu2rgoT9U9+crJyFX3OoDPtQVW8HmdB8OEInm3dRFYhF/ESDvnFuxrOhvDxIX1cvTvsR7FOHcAvtqNXKRvTFq9AaVoxp7zsTvEXzLCiaJx7+KFnXsxTqS+RwCuLhn8ZMwPlu0JmczcnOBC2dnnB0D3gbMgxdpbEmTFOdtyZVWxGc9Q646SIX2yWSBYyiqPiqFqMOZXEHu6gui6AqCgNJi1BglmKiKDihKs8QUrjE/CrrF4095NxZJtcIkr7sJsy231DVdwhNUeip3zjh6ReV69y2KsiBQ2mefifF7atDRKcQE8M0SFs2quUjFjGxbRfLcvHpEK8IEAn4UOfArFC4Nk7XMXrfPkz21BFve3S4Et+KLWiLVqKGZjeHL4SAfBbhWF7fmdgicmqIRMZmoC+D7Qo0TcFvaGizqFUBz6jyVFeSEx0JTnYO0dnnCYeuecJx9dIKmmoj1FUFL6mpaikkEsk0UBQFrawOVB+ir42qaAhNU+gdzBE6159rumg6TqgSLXkGYZzHcsR1wM6C7sepvIxUfDn6h7+gvPsdjFwfnY3bcPXx23frynQ+virEjw+l2P+2JyZlgfMH6tMVegYzJLN5KqJ+aioChANG0bsGhRC4/ae9qavT74OVQfWH0C9bh7b4GtRYfRF+XS5YaRzHxtJDZPzVJCyN9BkXRMITD3O87c10yNsuH7T08f6xM7R0DtHRm/Ysq1SFxfEwN6+pp6k2QkNVqKjmXBc7UkgkkhmgRapwVB16T1IRCqKpCt39E/tzTQdhRBBGCmxvimvsh14jKaGouOEahBEa8c/KL99Kl1FB9ekXWXzsSdqbdpD3j3+Sr4lq3L4qxP99N83Tb6e4fXWQ8lGOxUIIbNvFKcxw+3SVmoqgJxwCuvsyDBgW0YBvxI1hJjd8N9V3dt0j1Qeqjla3HL1xFZXLVzIwmJv6JJPgOHmsVJJc3mGICCmtAtc2US0wfcx6i64QgrYzKd491sv7J/rI5R1UVaGhKsQN19TRVBthcXW46Ir/YjnbN16M2M9kC71l3MJnngdkYYMPEJiDrd4TIYVEIpkhWiiG0HScMyco85uolUE6z+PPdV4UvCmugdMI4XjrHUKg2BYCr0BRmJFxhoqKAvqStbRoURpPP8fiY0/S2XgL6WjTuF9RHdG4Y3WQZ95Ns//tNDuv8RM1vRuLimfXEzA9kdAmaKhlOy69Q1nEkDdXHgn4CPl9mMb49QUhBCLV57nsth7C7WsFQK1qwrf8Rq8/fMEJeaZbd4edsbOZNOlEmowN+UAlwh/FMA1C0/Spm4xE2uJQcy/vHuulZzCLrqmsaCrnYyvrqQjpJdmS7+2uckd2ZTnDhrCjbLmGXytQMIhV0VQF01AJ+Q10FVRVRdMUdE0dVWvCBfPmk4vtM+RiWBwGGedcM1GcwspgnzmOomikbZXO/jSu6zl1m/rMprsUK4mW7EKoPhQnj2tGcAPl4yzdzyVrOfSf6eaytucwsz301m4g33g9yVFbS4UryDsufSmHg4dzuAg+cW2ExkoTXVdntMYjXLBsB6fQ5sCvC6J2L0aiHQbaPOGwChb2kWr0xlXeukewbNy5puqFLvC6I3qdHC2y6RSqk0fofpRoHC0ULdp80XZcftc6wDvHemluG0QIWBQPsfryKq5qqsA0tBnt2poMUWiP6wx7YDmCkVtvwdEXRUHXvIJHz2DRc8fQdRVdVc/WhKgFw9FzvrgL+W9JLrZLJBcIxQigxy/H6TlBULO5rK6MrOWQyuRJZCwcRxTa16poimeBoggX3LP9KIbba4NAoIGTxylrQEyw5jERfkMjEK3kmPZxlnS9RFXna4jOX2IZZeSMGDkjhmWWo4QrqYpXUVdRzr/8coAnf5Nk9wadhvKZPaGq+SThoXa0oTb0oXa0ZBeKcHEB2x+DiqXoVY0Y8SVo0TjgjSRsxxmpeXALbRMUPUdfIotbsLe3HYE9/ETueN0RheuiOzk0zcUfKkOEqhC+wDiL/JkghKCzL807R3t5/0QvmZxDJOhjw9W1rL68ak7tYrKWje2cbWNs6hqmT8PnU/HpnimoZ/vujSAuVgcLKSQSSREoPhOteilOTwtkh/ArCn6/QoWpYOVdz5sp65ITCqgGPr8fPeBHaD7PN1wdbqOsQqWLluhAtVII1TduOmsihPBqkgZTPo5VbaYivIyo3Yee6SOQHyDS31po6+xR7QvwP6srODwQ4vgbUULL66mIx3H9UcYNoYSLlurxRGPQEw8t59mtCEXDidSSW7QOO1qPE6nH0QNefx4HSIKaHvJG/udOyxRIWg6pVNabelG8uRrPPl0DzUF1sigqOJEq3EAM99w1pBmSyuZ5r7mPd4/10NXv9e34aGOMVR+pYmlddE62544WD131tkuXhT0HgYtVJKaDFBKJpEiGq+BFNgmK6k23qBo+RSWk6lSrKjnLIZnNM5DIMpi1EY7nz3Zu4zIntgSR6UdLdCJUzXv6LjA8JWI77hiPLtPQaIyH6U1kMatXEI6FSKWzpMCzU88OoaZ70TJ9qOk+9HQfq/2tXGtn4CRw0hMGN1COE6zANSNoqTPoiQ4Ux+uz4Roh7GgDVsNa7GgDTjg+TuhUPI84ONvs73zTe+GAD9c+p7rbyaPaOYSq4YZrPIGb5VZd8Gonjp0e4p1jPRxtHcQVgvqqIP/tY41cdVnFnFR6X6riMRopJBLJHKCoOkowNunnpqFhGhqVUT9525v+6k9aJDN5KDjImoU2yk6gHEv1IwY6IN2Pqwe9Km/NK6ArMwwMn44+ajEVvJHJmYHs2AVzRfWe5gMxbJaNiSmVSPLCG6cIWP3ctChHJYNoqTP4eptxgpVYNVd5ohGtxy04Fk/7eihMZlQ8MXYO1bEQuh+7rMHbYFBEzUpnb5p3m3t5/3iv50Tg17l+RZzVl1cRL59dkeNoXFeQsWwcR6CryiUpHqORQiKRlBifrhGLaMQifq/pU85mIGkxlMrhCM/AM2D4CTVcTtBNoqe60H0+dH/ovOeNhk2SWXtaTsUAoUiYrRs/yr+82s/rxx0+eX0ZV9QWN300I4RAyafBcRD+MHa0HuELznr9I5G2eP94H4eae+nqz6CqClcsKmPVR6q4vCFadIGg43oL/64j0Ao+edGQ4dWoXILiMRopJBLJPKJrKpGgQSRo4LohbMc9p91yBJGvwOk7jZsZRDHDk+5UUhWFmvIAAxkbK+9Ma7tq2FT59A3l/MurA/yfXw/yievL+GjdBRYT4Xr+Xdk8rlmGGyyHaW4uOJe87fDhqQHebe7lePsQQkBDVYhbP9bIVU0VBGdosDkuVCE8V96UJcXjPEghkUgWCKqqYEwgEorPRItfhpvsRwy0I1R9Ug8qn66xpDbI+8ey5PMuPt/UT+FBQ+V/bIzxv385wBOvD/Lf10W5qmFudi6NwbVR8llvui1YBXUNuAlrxqcRQnCqK8m7zb0caenDyruUhQw2rqzjmmWVVM3BrivHdUlnvE0KH6mJUh7QpHichwUhJJlMhgcffJDDhw+jaRoPPPAAmzdvHndcV1cX9913H0eOHGHJkiU8/fTT8xCtRFJ6FEVFi1Qi/OEpRyemobGoKsTpnhRMU0wChsruDTEe/9UgT74xxOsnMiyLG1weN6gtK/IGalveArpm4ETrEGbUW6jXfMD0haR3KMuh5l7ea+5lIOk1jbuyqZxrllXSVDv7dr2jydsO2ZyLpkJdZZCysEl9TfSiqHWaTxaEkPzwhz8kHA7zwgsv0NLSwp/8yZ/w/PPPEwqNnRMOBoN87WtfI5lM8t3vfneeopVI5o8xo5P+NoTmm3B0Yvh0FlWFaO1Jge1Oq6eG36dyzx+U8crv0hztsvj5kRQ/P5IiaCgsixssqzZYFjeIBqZRBCgEip31fMJ8AezyJZ6f2AwX0DM5myMt/bzb3MPpbq8ocGl9lM1rGljeGJuTavNhe5Fc3iVg6iyuCRMNGhfcrff3iQUhJD/96U956KGHAGhqauLqq6/m5Zdf5tZbbx1zXCQSYd26dfz617+ejzAlkgXBdEcnw2Jy+kwKmJ6YmLrK1hVhtq6AZNal+YxFc7f333unPV+seEQbGa00VhoYulJofpX3tgsrXi9zxyxDhCrGbGE+H5mcTX8ix0AyR38iR3tPmt+1DuC4guqYnz+8toGVSyuJhuamW6EQgnTWxnEF0ZDBonjAM+CU01czZkEISXt7Ow0NDSPv6+rq6OzsnMeIJJKFz3RGJ6ZPZ1F1iNPdSWBm3f7CfpVVi/2sWuxHCEHXkMOx7hzN3RZvnMjwy+YMugqN5SqXV/tYWh8mXlWF4vMjdHPc6MNxXAZSlicWiRyZvEtnT2pEPLKWM/b3B3xcu7yaVZdXUlsRnLMbvOO4pLMOigIVUT8VUXOk/kUyO0py9e644w7a29sn/Oy1114rRQhjOJ9nzHSorp5dq89SI+OcWxZsnPEyXKsW68wp3EwSYeeJlXk38uGbb1lZkJaOIc+eY6autcIFO0+Z4XJFlQkrTCwMjg/qfNhp8dvTCZ7/bQZ+myMSTLB8STlNtVFS2Ty9gxl6B7P0DmUZTOTGFFJqmkJl1E9lWYBli2JUlnmvK6N+Ksr8c94WNpd3yORs/KZCU2OYyqg57QZdC/a7P4f5irMkQrJ///7zfl5fX09bWxsVFRUAdHR0sH79+gsWjzRtXDjIOOcO4avBzRmUiTT9Z4bAtRn2J1EElCk2HV1pz+dJ9dx/R8y+FGWkilAoasETrDBCUFRcIwxGGcIXQGgGqBo1Iaiph01rYShlcbx9iOPtQxw53subH3QBEAn6iIVNGuNhYksrKI+YxCIm5WGTxfUxBgcnNm3MZnJkM7O3mB+5JoX1D8v21j+qYwFv/cNxGJjEMPJcLobvHqRpI9u3b+eJJ55g5cqVtLS08N577/EP//AP8x2WRHJRMbx2EqhuIhnwbihCFAwihUtIuNTFLVo6BvDrKj6tsLaBQHHtgpmkA66NUHWEEUJopre7aopppWjIYPVHqlj9kSqEEAwmLUIB33lHPxdyK60QgkzOwXZcoiGDxTUBgqZc/7hQLAgh+dznPseePXv4oz/6I1RVZe/evYTDnvp95zvfIR6Pc/fdd+M4Dps3b8ayLJLJJJs2beLOO+/kK1/5yjz/BRLJwkRR1IJViTeFE46YNOl+TrQPgqaPNGeay14SiqIQi5SwQn4UowUkFjapjgXmfIpMMp4FcYWDweCk23m/9rWvjbzWNI2XX365VGFJJL+XhAM+Lqsv43j7IEFFv2DNjkqJFJD5RV5pieQSJBzw0VQboaUzQdB/8YqJFJCFgbziEsklSjRk0lQLLR0JQgEd7SISEykgCwt55SWSS5hoyGRJLbR0JQj7F76YSAFZmMhvQCK5xCkLmywBTnYmCAf1ou3WLwRSQBY28puQSCTEwiZujaC1K7mgxEQKyMWB/EYkEgkAFRE/CGjtThAO+OZtmstxXWxbkLddXCGkgFwEyG9GIpGMUBH1enl09qVxss5I5buigK4paJqKrilzUtjnugIr75B3XBzHq2RRUNB1haBfpzLqJxz0SR+siwD5DUkkkjF4RoZeG2DbccnbLrm8QzbnkM3bpDL22QJGIVA1BV1VR4TmXIQQhfMITzAUAIFu+vDpGmUhk4Cp49NVDJ+6YKbVJNNHColEIpkQXVPRNRW/AaOtAD1h8Kae8o5LNmeTzdtkcg7prIUo2MgP26qoCvgNjfKwQdCv49M1DJ9KXW3ZReFhJZkaKSQSiWRGKIqCT1dGfLTKRvUHcV1BvjCKURQwdE+MpMfV7zdSSCQSyZyhqgqmqmHOQedCycWDnIyUSCQSSVFIIZFIJBJJUUghkUgkEklRSCGRSCQSSVFIIZFIJBJJUUghkUgkEklRXJLbf1W1uD3txf7/pULGObdcLHHCxROrjHNuuVBxTnVeRQgxl+2aJRKJRHKJIae2JBKJRFIUUkgkEolEUhRSSCQSiURSFFJIJBKJRFIUUkgkEolEUhRSSCQSiURSFFJIJBKJRFIUUkgkEolEUhRSSCQSiURSFJekRcpUnDhxgj179jAwMEAsFuPhhx+mqalpzDGO47Bv3z5eeeUVFEXhi1/8InfeeWfJYuzv7+frX/86p06dwjAMlixZwt69e6moqBhz3J49e3jttdcoLy8HYPv27fzZn/1ZyeIE2LJlC4ZhYJomAPfddx833njjmGMymQwPPvgghw8fRtM0HnjgATZv3lzSOE+fPs2f//mfj7xPJBIkk0lef/31Mcd973vf41//9V+Jx+MArF27lr/+67++oLE9/PDDPPfcc7S1tXHgwAGuuOIKYHq5CqXL14ninG6uQunydbLrOZ1chdLm60SxTjdXoUT5KiTj2L17t3jmmWeEEEI888wzYvfu3eOO2b9/v/jsZz8rHMcRvb294sYbbxStra0li7G/v1/86le/Gnn/0EMPiQcffHDccQ888ID40Y9+VLK4JmLz5s3iww8/PO8x3/ve98Q3vvENIYQQJ06cEBs2bBDJZLIU4U3Kvn37xN/+7d+O+/l3v/td8dBDD5U0ljfeeEO0t7ePu5bTyVUhSpevE8U53VwVonT5Otn1nE6uClHafJ0s1tFMlqtClCZf5dTWOfT29nLkyBF27NgBwI4dOzhy5Ah9fX1jjjt48CB33nknqqpSUVHB1q1b+c///M+SxRmLxVi/fv3I+9WrV9Pe3l6y3z/X/PSnP+WTn/wkAE1NTVx99dW8/PLL8xaPZVkcOHCAXbt2zVsMo1m3bh11dXVjfjbdXIXS5etEcS7EXJ0ozplQynydKtaFkKtSSM6ho6ODmpoaNE0DQNM04vE4HR0d446rr68feV9XV0dnZ2dJYx3GdV3+7d/+jS1btkz4+WOPPcbOnTv58pe/THNzc4mj87jvvvvYuXMnf/M3f8PQ0NC4z9vb22loaBh5P5/XE+AXv/gFNTU1XHXVVRN+/uyzz7Jz504++9nP8vbbb5c4Oo/p5urwsQshX6fKVZj/fJ0qV2Fh5etUuQoXPl+lkPwe8M1vfpNgMMg999wz7rN7772XF154gQMHDnDLLbfw+c9/HsdxShrf448/zo9//GOeeuophBDs3bu3pL9/Njz11FOTPuHddddd/PznP+fAgQN87nOf48tf/jL9/f0ljvDi5Hy5CvOfr79vuQqlyVcpJOdQV1dHV1fXSPI6jkN3d/e4oWVdXd2Y4XlHRwe1tbUljRW8hbiTJ0/y7W9/G1Ud/3XW1NSM/Pz2228nnU6X/Mlp+NoZhsGnPvUp3nrrrXHH1NfX09bWNvJ+vq4nQFdXF2+88QY7d+6c8PPq6mp8Ph8AGzdupK6ujqNHj5YyRGD6uTp87Hzn61S5CvOfr9PJVVg4+TpVrkJp8lUKyTlUVlZy5ZVX8pOf/ASAn/zkJ1x55ZXjdphs376dJ598Etd16evr42c/+xnbtm0raaz/+I//yPvvv88jjzyCYRgTHtPV1TXy+pVXXkFVVWpqakoVIul0mkQiAYAQgoMHD3LllVeOO2779u088cQTALS0tPDee+9NuFumFOzfv5+bbrppZOfQuYy+ph988AFtbW1cdtllpQpvhOnmKsx/vk4nV2F+83W6uQoLJ1+nylUoTb7KxlYT0NzczJ49exgaGiIajfLwww+zdOlSvvCFL/DVr36VlStX4jgOe/fu5dVXXwXgC1/4wsjiWyk4evQoO3bsoKmpCb/fD8CiRYt45JFH+PjHP873v/99ampq+PSnP01vby+KohAOh/n617/O6tWrSxZna2srX/nKV3AcB9d1WbZsGX/5l39JPB4fE2c6nWbPnj188MEHqKrK/fffz9atW0sW52i2bdvGN77xDTZt2jTys9Hf/QMPPMDhw4dRVRWfz8dXv/pVbrrppgsa0759+3j++efp6emhvLycWCzGs88+O2munhtzqfJ1oji//e1vT5qrwLzk60RxPvroo5Pm6rlxljJfJ/vuYeJchdLnqxQSiUQikRSFnNqSSCQSSVFIIZFIJBJJUUghkUgkEklRSCGRSCQSSVFIIZFIJBJJUUghkUimSXt7O2vWrCm5M8BUfP7zn2f//v3zHYbkEkZu/5VIzsOWLVvYt28fGzZsmO9Q5oTdu3dz2223lbTlgeT3HzkikUgkEklRSCGRSCbh/vvvp729nS996UusWbOGH/zgByxfvhzbtgHv6f5b3/oWd911F2vWrOFLX/oS/f39/MVf/AVr165l165dnD59euR8zc3NfOYzn+H6669n27ZtHDx4cOSzPXv28Fd/9Vd85jOfYc2aNdxzzz1jvJzeeustdu3axbXXXsuuXbvGeEDt3r2bJ598EoCnn36au+++m4cffpjrrruOLVu28NJLLwHwrW99izfffJO9e/eyZs2ai8KQUHKRcEG7nUgkFzmbN28Wr776qhBCiNbWVnHFFVeIfD4vhBDinnvuEVu3bhUnT54UQ0ND4tZbbxW33HKLePXVV0U+nxf333+/2LNnjxBCiFQqJTZt2iT+4z/+Q+TzeXH48GFx/fXXi6NHjwohvIZOq1evFq+//rrI5XLim9/8prjrrruEEF5jqHXr1on9+/eLfD4vDhw4INatWyf6+vpG4vj3f/93IYQQTz31lFixYoV44oknhG3b4vHHHxcbN24UruuOO1YimSvkiEQiKYI//uM/prGxkUgkwqZNm1i8eDEbNmxA13W2b9/OkSNHAHjxxRdpaGhg165d6LrOihUr2LZt25jmUjfffDPXXXcdhmFw77338s4779DR0cGLL77IkiVLuP3229F1nR07drB06VL+67/+a8KY6uvr+cQnPoGmadxxxx2cOXOGnp6eklwPyaWJ7NkukRRBVVXVyGvTNMe89/v9pNNpANra2jh06BDr1q0b+dxxHG677baR96NtyEOhEGVlZXR3d9Pd3T2mKRV4YjHa1XWymAKBAMBIHBLJhUAKiURSAurq6rjuuut47LHHJj1mdN+NVCrF4OAg8XiceDw+rjVtR0fHvNnsSyTnIqe2JJLzUFVVRWtra9Hnufnmm2lpaeGZZ54hn8+Tz+c5dOjQmFayL730Em+++SaWZfGd73yHVatWUVdXx0033URLSwsHDhzAtm0OHjzIsWPHuPnmm+ft75FIRiOFRCI5D1/84hf5p3/6J9atW8dzzz036/OEw2F++MMfcvDgQW688UZuuOEG/v7v/x7LskaO2bFjB4888gjr16/n8OHD/N3f/R0A5eXlPProozz22GOsX7+ef/7nf+bRRx+dsIHVVPzpn/4pzz33HNdddx379u2b9d8jkYxGFiRKJAuAPXv2UFNTw7333jvfoUgkM0aOSCQSiURSFFJIJBKJRFIUcmpLIpFIJEUhRyQSiUQiKQopJBKJRCIpCikkEolEIikKKSQSiUQiKQopJBKJRCIpCikkEolEIimK/w9OeUB+uwS+hwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot the responses for different events and regions\n", "sns.lineplot(x=\"timepoint\", y=\"signal\",\n", " hue=\"region\", style=\"event\",\n", " data=fmri);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Charts on charts also come for free, as do a range of themes..." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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AAcOHMDevXtx++23w2Kx4NOf/jSi0SjOnTs37Ws+9KEPweVywWq14gtf+AIuXboU39EpEV/84hdhtVqxfft27N27F7/+9a8XcimEkAwnprsBhGSzvr4+lJeXx/8c28O7t7d3yufruo6//uu/xksvvRTfAxkAhoeH4Xa753xej8cDh8MR/3N5eTn6+vrmeRWEkGxAPWxCFqC4uBhdXV3xPzPG0N3djZKSkimf//zzz+PVV1/Fv/zLv+DMmTN47bXX4q9LhN/vRzgcjv+5u7sbxcXF87gCQki2oMAmJEGFhYXo7OwEALz//e/H4cOHcfz4caiqiv/7f/8vrFYrNm/efMtzASAUCsFqtSIvLw+RSATf+c535t2Ov//7v4eiKHjrrbdw6NAhvO9971vYhRFCMhoFNiEJ+t3f/V18//vfx9atW/H666/jW9/6Fp544gns3LkTr7/+Op566ilYrdZbnvvP//zPeOSRR1BeXo4777wT999/PzZt2jSvNhQWFsLj8eDOO+/E448/jm984xuoq6tL4lUSQjINxxIdiyOEEEJIylEPmxBCCMkCNEuckAz01FNP4emnn77l8YaGBvzTP/1TGlpECEk3GhInhBBCsgANiRNCCCFZgAKbEEIIyQIU2IQQQkgWoMAmhBBCsgAFNiGEEJIF/j9i+NfCaGm9zAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.set(style=\"whitegrid\")\n", "\n", "tips = sns.load_dataset(\"tips\")\n", "\n", "sns.jointplot(\"total_bill\", \"tip\", data=tips,\n", " kind=\"reg\", truncate=False,\n", " xlim=(0, 60), ylim=(0, 12),\n", " color=\"m\", height=7)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Added Interactivity\n", "\n", "Shiny makes creating interactive tools quite easy in an R context, so how do Jupyter notebooks compare?\n", "\n", "The `ipywidgets` package provides a range of widget types, along with tools that can generate type sensitive widgets for you automatically.\n", "\n", "For example, consider the following function:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "variable=s
index=%{x}
value=%{y}", "legendgroup": "s", "line": { "color": "#636efa", "dash": "solid" }, "mode": "lines", "name": "s", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440 ], "xaxis": "x", "y": [ 0, 0.06264832417874368, 0.1250505236945281, 0.18696144082725336, 0.2481378479437379, 0.30833940305910035, 0.36732959406137883, 0.42487666788983847, 0.4807545410165317, 0.5347436876541296, 0.5866320022005456, 0.636215632532093, 0.6832997808714387, 0.7276994690840094, 0.7692402653962488, 0.8077589696806923, 0.8431042546155975, 0.8751372602002244, 0.9037321392901134, 0.9287765520091285, 0.9501721070958867, 0.9678347484506665, 0.9816950853641807, 0.9916986651308531, 0.9978061869755916, 0.9999936564536084, 0.9982524797167027, 0.9925894972756649, 0.9830269571261583, 0.9696024273436609, 0.9523686484908522, 0.9313933264172862, 0.9067588662653749, 0.8785620487276837, 0.8469136498274177, 0.8119380057158564, 0.7737725241965067, 0.7325671448950289, 0.6884837501957587, 0.6416955292590553, 0.5923862976180477, 0.5407497750278532, 0.4869888244043671, 0.4313146548425827, 0.3739459918455123, 0.31510821802362043, 0.2550324876406647, 0.19395481848461132, 0.1321151646313676, 0.06975647374412508, 0.007123732611891359, -0.05553699532304021, -0.11797953666743055, -0.17995857521140216, -0.24123061569515256, -0.3015549404217495, -0.36069455495780384, -0.4184171192066554, -0.4744958601962084, -0.5287104629953577, -0.5808479362589026, -0.6307034490004969, -0.6780811353062296, -0.7227948638273918, -0.7646689690293306, -0.8035389413235676, -0.8392520733718681, -0.8716680600231562, -0.9006595495263088, -0.9261126438533076, -0.9479273461671318, -0.9660179536764468, -0.9803133943336872, -0.990757506053757, -0.997309257356394, -0.999942908565361, -0.9986481129311696, -0.9934299572800557, -0.9843089420295119, -0.9713209006488901, -0.9545168588814839, -0.9339628342811634, -0.9097395768511172, -0.8819422518036459, -0.8506800656873393, -0.816075837350461, -0.7782655154260822, -0.7373976442346145, -0.6936327802020235, -0.647142861086433, -0.5981105304912155, -0.5467284203183428, -0.4931983939809916, -0.43773075334857353, -0.3805434125398597, -0.32186104181006664, -0.26191418489530793, -0.2009383532820771, -0.139173100960065, -0.07686108329331669, -0.014247103707102927, 0.0484228480642255, 0.11090256239001059, 0.17294657701995486, 0.23431114142458276, 0.2947551744109051, 0.35404121125114535, 0.4119363366035674, 0.46821309956024587, 0.5226504072268893, 0.5750343933241133, 0.6251592583977154, 0.6728280783370533, 0.7178535780251136, 0.7600588670808609, 0.7992781348033678, 0.8353573015875335, 0.8681546242521786, 0.8975412529023928, 0.9234017371383948, 0.9456344796221866, 0.9641521352200852, 0.9788819541530247, 0.9897660678065151, 0.9967617160773985, 0.9998414153642309, 0.9989930665413146, 0.9942200024921841, 0.9855409750158024, 0.9729900811569101, 0.9566166292499491, 0.936484945202834, 0.9126741197816123, 0.8852776978888546, 0.8544033110564996, 0.820172254596956, 0.7827190110737126, 0.7421907219635714, 0.6987466095861785, 0.6525573515718864, 0.6038044103254768, 0.5526793201200532, 0.49938293462186156, 0.444124637802294, 0.3871215213371279, 0.3285975317247148, 0.26878259047384856, 0.20791169081775912, 0.14622397450298605, 0.0839617922800998, 0.02136975178730124, -0.04130624343253926, -0.10381996000604374, -0.16592580209926816, -0.22737977628296127, -0.28794045010251984, -0.34736990058669076, -0.40543464896869275, -0.46190657794750334, -0.5165638278857105, -0.569191668423076, -0.619583342081499, -0.6675408765471471, -0.7128758624385864, -0.7554101935052617, -0.7949767663483981, -0.831420136915289, -0.8645971311878681, -0.8943774076663372, -0.9206439694380528, -0.9432936238199249, -0.9622373877685291, -0.9774008374652203, -0.9887244007028443, -0.9961635909253453, -0.9996891820008162, -0.9992873230413595, -0.9949595928186701, -0.9867229935615607, -0.9746098841597971, -0.9586678530366604, -0.9389595311896839, -0.9155623461340584, -0.8885682177153915, -0.8580831969868604, -0.8242270495694982, -0.7871327851324638, -0.7469461348417831, -0.7038249788305333, -0.6579387259397116, -0.6094676481666222, -0.5586021724354682, -0.5055421324726096, -0.450495983725554, -0.3936799844100697, -0.3353173459027629, -0.27563735581699833, -0.21487447720726024, -0.1532674274409161, -0.09105824035620107, -0.02849131539084455, 0.03418754258293082, 0.0967320889449301, 0.15889660674110376, 0.22043687202466694, 0.2811111133316544, 0.3406809615215133, 0.39891238625104164, 0.4555766154026629, 0.5104510338548267, 0.5633200580636235, 0.6139759830196183, 0.6622197982525414, 0.7078619696779662, 0.7507231842143979, 0.7906350542454087, 0.8274407791591967, 0.8609957613666323, 0.8911681743776243, 0.9178394807040575, 0.9409048975545886, 0.9602738084917838, 0.975870119434295, 0.9876325576054856, 0.9955149122540152, 0.9994862162006878, 0.9995308674983135, 0.995648690726628, 0.9878549376814612, 0.9761802274554481, 0.9606704261456815, 0.9413864666609035, 0.918404109336139, 0.8918136442952654, 0.8617195367307947, 0.8282400164945005, 0.7915066136112014, 0.7516636415405574, 0.7088676302169377, 0.663286711094796, 0.6150999566154647, 0.5644966766904346, 0.5116756749649687, 0.4568444677839507, 0.40021846892842244, 0.34202014332566727, 0.2824781330576858, 0.2218263591016282, 0.16030310233122602, 0.09815006738958118, 0.03561143311112636, -0.02706710677672794, -0.08963930890343466, -0.15185934766454326, -0.21348278098965823, -0.2742675106749299, -0.33397473350729934, -0.3923698794437733, -0.4492235331599936, -0.5043123353475933, -0.5574198602194695, -0.6083374657755142, -0.656865113488436, -0.7028121541893368, -0.7459980770656013, -0.7862532188285168, -0.8234194302645405, -0.8573506975515414, -0.8879137158991021, -0.9149884132591923, -0.9384684220497603, -0.958261497037983, -0.9742898777414488, -0.9864905939235218, -0.9948157129826897, -0.9992325282639968, -0.9997236875527314, -0.9962872612455722, -0.988936749931366, -0.977701031351751, -0.9626242469500117, -0.9437656284538598, -0.921199265173458, -0.8950138129288845, -0.8653121457505724, -0.8322109517210746, -0.795840274545961, -0.756343002654873, -0.7138743078398628, -0.6686010356364607, -0.6207010498424299, -0.5703625337494129, -0.5177832508326337, -0.4631697678032809, -0.40673664307579976, -0.34870558383845707, -0.28930457503870655, -0.22876698370530305, -0.16733064212600957, -0.10523691348271488, -0.04272974361491616, 0.019945297363298076, 0.08254197982744962, 0.1448143819978963, 0.20651785608561196, 0.2674099894329323, 0.3272515568731175, 0.3858074605673982, 0.44284765362705125, 0.4981480438919754, 0.5514913743150957, 0.6026680764938378, 0.6514770939954961, 0.697726672241796, 0.7412351118496027, 0.7818314824680294, 0.8193562943075773, 0.8536621247230609, 0.8846141973887109, 0.912090911790027, 0.9359843209522112, 0.9562005555283323, 0.9726601925811207, 0.9852985676095658, 0.99406602859448, 0.9989281310649517, 0.9998657734193405, 0.9968752719691927, 0.9899683754112395, 0.9791722186706311, 0.964529216296742, 0.9460968958303518, 0.9239476717968579, 0.8981685612134191, 0.868860841727713, 0.8361396537313613, 0.8001335480112054, 0.7609839807155285, 0.7188447576193769, 0.6738814298722484, 0.62627064360207, 0.5761994459306534, 0.523864550127064, 0.46947156278588975, 0.41323417606653007, 0.35537332816698547, 0.2961163353303498, 0.23569599879401382, 0.17434969019019317, 0.11231841899084542, 0.04984588566069644, -0.012822475761727476, -0.0754404618937297, -0.13776206726054893, -0.19954245077000274, -0.2605388976125875, -0.3205117728081488, -0.3792254626529287, -0.4364493003683089, -0.491958472314733, -0.5455349012105505, -0.596968102885955, -0.6460560132060685, -0.6926057819144503, -0.7364345302783643, -0.7773700695591513, -0.8152515774851858, -0.8499302300696601, -0.8812697862911089, -0.9091471233395753, -0.9334527203256257, -0.9540910885519251, -0.9709811466569129, -0.984056539156819, -0.9932658971345282, -0.9985730400511659, -0.9999571178875374, -0.9974126930569968, -0.9909497617679344, -0.9805937147519651, -0.9663852375120887, -0.9483801504827322, -0.9266491897296224, -0.9012777290510405, -0.8723654445722484, -0.8400259231507703, -0.8043862161309905, -0.7655863402011963, -0.7237787273140511, -0.6791276258316027, -0.6318084552474591, -0.5820071170213115, -0.5299192642332035, -0.4757495329269611, -0.41971073816244675, -0.36202303793517354, -0.30291306824797265, -0.24261305273263445, -0.1813598903196628, -0.11939422454024295, -0.05695949811699506, 0.005699003442465559, 0.0683351154915871, 0.13070276134486214, 0.1925569190321673, 0.2536545839095089, 0.31375572334437135, 0.37262421972497833, 0.4300287980887458, 0.485743934725536, 0.5395507431861801, 0.5912378342153245, 0.6406021462303005, 0.6874497430833159, 0.7315965759728014, 0.772869206510605, 0.811105488104398, 0.8461552029783111, 0.8778806523291782, 0.9061571972998319, 0.9308737486442056, 0.9519332031604318, 0.9692528251774034, 0.9827645715960043, 0.9924153592080722, 0.998167273242872, 0.9999977163217537, 0.9978994972358262, 0.9918808591978513, 0.9819654474573699, 0.968192216406294, 0.9506152765399138, 0.9293036818745519, 0.9043411586570456, 0.8758257764318551, 0.8438695627580839, 0.8085980630900229, 0.770149847550363, 0.7286759665337542, 0.6843393572794685, 0.637314203744579 ], "yaxis": "y" } ], "layout": { "legend": { "title": { "text": "variable" }, "tracegroupgap": 0 }, "margin": { "t": 60 }, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "xaxis": { "anchor": "y", "domain": [ 0, 1 ], "title": { "text": "index" } }, "yaxis": { "anchor": "x", "domain": [ 0, 1 ], "title": { "text": "value" } } } }, "text/html": [ "
\n", " \n", " \n", "
\n", " \n", "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "from ipywidgets import interact, interact_manual\n", "import numpy as np\n", "\n", "\n", "def signal( f1=440, f2=0, samplerate = 44100, duration = 0.01, colour='blue'):\n", " \"\"\"Generate a dataframe containining wave data.\"\"\"\n", " def g(f):\n", " samples = np.arange(duration * samplerate) / samplerate\n", " return np.sin(2 * np.pi * f * samples)\n", " \n", " return pd.DataFrame({'s':g(f1) + g(f2)})\n", "\n", "signal().plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can make it interactive by generating sliders to change the frequencies:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "b2804454465b48a09304ad2c36da8809", "version_major": 2, "version_minor": 0 }, "text/plain": [ "interactive(children=(IntSlider(value=440, description='f1', max=1320, min=-440), IntSlider(value=440, descrip…" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "@interact()\n", "#@interact_manual\n", "def signalplot(f1=440, f2=440):\n", " \"\"\"Plot the wave...\"\"\"\n", " display(signal(f1, f2).plot())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We don't just have to look at the numbers as a time series, of course...." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import Audio\n", "\n", "rate = 44100 # sampling rate of the tone\n", "\n", "#Generate the tone and play it through a notebook embedded audio player\n", "Audio(signal(duration=2, samplerate=rate)['s'].tolist(), rate=rate, autoplay=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And we can easily widgetise that..." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "b3fe27d0ad5e4effa52dfba5fc6cc473", "version_major": 2, "version_minor": 0 }, "text/plain": [ "interactive(children=(IntSlider(value=400, description='f1', max=1200, min=-400), IntSlider(value=500, descrip…" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "@interact\n", "def audiomix(f1=400,f2=500):\n", " s = signal(f1=f1, f2=f2, duration=2, samplerate=rate)\n", " display(s.head(400).plot())\n", " display(Audio(s['s'].tolist(), rate=rate, autoplay=False))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Another nice feature of `ipywidgets` is that you can synchronise Javascript and Python state, which means you can manipulate the data in the Javascript UI and have that updated state available to you in the Pyhton backend." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Magic\n", "\n", "Jupyter notebook Pyhton cells actually run against an IPyhton (interactive Pyhton) interpreter. As well as executing Pyhton code, we can also run magic... (These are sort of macros...)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "# Load in the rpy magics...\n", "%load_ext rpy2.ipython" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "# Something I spotted in passing that mentiined it started an R session\n", "#I don't think we need it for anything though...\n", "#import rpy2.robjects as robjects" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can now prefix a code cell with `%%R` and the code will actually be sent via the Pyhton interpreter to an R interpreter:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAIAAADytinCAAAgAElEQVR4nOzdeWBbxb03/Jk5mzZL8r5kd+w4ixObLGwJSwlroaSXl620UKAJFFqWthRC24dyS6FA4YXCfV/asj5wS4FyaQkPlxbKlhtCSvaFkMTO4sRO4n2RZElnm+cPgTG2pEhedI7l7+cv+2iZn3ykr0dz5syhnHMCAAD2w6wuAAAA4kNAAwDYFAIaAMCmhLvvvtvqGjJn4cKFjLH58+cP2H766ad3dXWdeOKJGW4XACCJTPegDx8+fNVVV5WVlTmdzsrKymuvvTYajY5ecyeeeOJ//Md/HPNu55577uzZs0evjJGS4ssBgOwgZri9iy66yDTN5557rqysbP/+/a+99pqqqoqiZLiMAVauXGltARaKRqOW//0BID6eQR0dHYSQ//mf/xl8U09Pz9VXX+3z+TwezyWXXNLa2hrbvmDBggcffHDZsmVOp3PevHnbt29fvXp1dXW1x+O58sorI5FI7G6qqt5+++0lJSU5OTlnnnnmrl27OOff/va3+17m9OnTY8/20EMPXXzxxU6nc+bMme+9917s4aeddtojjzzS1+I999xz/vnn+/3+/vdpb29ftmyZw+GorKx86623CCGbN28e8CqeffbZmpoal8s1adKkO+64Q1XVvue8//77zz///NjD33nnneSvesqUKX/9619jP2uaRgjZvn374JfTn6Zpd95554QJExwOR3V19bvvvpu8nrvvvvu8887zeDyPP/74Sy+9NHPmTEVRiouLv//976e1TwFg9GQ0oFVVdblc/+t//S/DMAbcdM0118yePXvdunWbN29euHDhN77xjdj2BQsWFBYWPvPMM59++umFF15YW1u7ZMmS1atXf/TRRyUlJU888UTsbrfffvvJJ5+8bt26/fv3r1y5ctq0aeFwmHN+wgknPP74432txJ7tD3/4w86dO2+88caysrJYZg0I6KKioo8//phz/sgjj/Td54orrli4cOHmzZvXr19/8sknxw3oP/7xj2+//XZDQ8P7779fXl7e/zlzc3P/+Mc/1tfX33777Tk5OW1tbUleddyAHvxy+rv99tsnT5785ptvHjhw4M033/zggw+OWc+7775rmubevXslSfrTn/7U2Ni4efPmZ555Jo09CgCjKaMBzTl/8cUXvV5vbm7u+eef/7vf/a69vZ1z3tnZKQjC+++/H7vPli1bCCH19fWc8wULFvT16T7++GNCyD//+c/Yrz/+8Y+/9a1vcc6DwaCiKHV1dX2tlJeX//3vf+fxAvr666+P/RwIBAghO3fu5IMC+rbbbov9HI1GGWM7d+7s6OgQBOGTTz6JbX/vvffiBnR/Tz/99CmnnNL3nJdffnnsZ9M0q6qqHnnkkSSvOt2ADgQCsiy/+eabqddz44039rUry3JsRwCArWT6IOG3vvWtI0eOPP/887W1tY899ticOXMaGxv37t1rGMbxxx8fu09NTY3T6dy9e3fs13nz5sV+KC4u7v9rSUlJW1sbIaSuri4ajVZWVtIv7Nu3b//+/XELqKmpif3g8Xi8Xm9ra+vg+1RUVMR+kGU5JyentbV17969nPPjjjsutn3BggVxn3znzp2XXXbZrFmzSktLf/KTnxw6dKjvpr5XRyk9/vjjd+/enfxVp6Wurk5V1VNPPTX1embNmhX7obq6+qSTTqqoqPjOd77z5z//eVSP2QJAWiyYB+1yuS644IJf//rX27ZtE0UxNkyR5P6SJMV+oJQO+NU0TUKIYRiEkK6urv7/eb7//e8nf7b+zzCAIAj9fzVNc0CFsUoG0DTt7LPPLioqeumllzZu3PjQQw/FOr+DxZ4tyatm7Mv9Ent1ycV9quT1OByO2A+CILz33nuvvvrqhAkTVq5cuXjx4kRlA0CGWXmiisvlKi4uDgQCFRUVgiCsW7cutn3z5s3hcLiqqirF56mqqpJlOXbgbgBZllMJuGOqqKiglG7evDn264YNGwbfZ9++fU1NTb/97W9ramrKysqampr63/rJJ5/EfuCcr1+/vqqqKsmrLiwsbG9vj22vq6s75suZMWOGLMurV69OvZ7+GGNnnHHGAw88sGnTpo0bN+7cufNYfw8AyISMBnRzc/Mpp5zy7LPPbtiwYePGjXfcccemTZti8yW++93v/vCHP1y7du2GDRuWL1/+jW98Y/r06Sk+rcfj+fGPf3zzzTe//PLL+/btW7t27U033XTw4EFCyJQpU9asWXP48OHOzs7hVJ6bm3vZZZfdeOONW7Zs2bBhwy9+8QsyqB9dWlrqdDrfffddQsi2bdueeOKJ/rf+4x//ePLJJ/fu3bty5cqmpqarrroqyas+9dRTn3/++d7e3u7u7p/97Gd9T5Lo5Xg8nptuuumGG25444039u3bFztImLyePuvXr3/ggQe2bdvW1NT04osvOp3OyZMnD+dvBQAjJpMD3uFw+I477pg3b57H4/H5fIsWLfrzn/8cu6lvwpnb7R4wze7JJ5+M/RwbVu7s7Iz9+tvf/nbp0qWxnzVN++Uvfzl58mRZlidPnnzttdd2d3dzzrdu3VpTUyPLct80u75n45z7fL7YMboBBwnj3qetre3CCy9UFKWiouKvf/0rIeSzzz4b8AJfeeWVadOmTZw48ZRTTnnooYcmTJjQ95y/+c1vzjvvPEVRKisr33777eSvuqOjY9myZbm5uTNmzHjttdfIFwcJB7yc/qLR6E9/+tPi4mKHwzF37txYzUnq6XuNu3btOvPMM/Pz851O5/z582MHVwHADijHcqPpW7du3SmnnNLd3e1yuayuBQCyVqbPJBy71qxZEwwGa2pqGhoabrzxxosuugjpDACjCgGdqkgkcuuttx44cCA/P//8889/+OGHra4IALIchjgAAGwK60EDANgUAhoAwKYQ0AAANjX0g4QdHR3333+/JEmqql5//fUVFRWRSOTqq68uLy8nhFx66aW1tbUjVycAwLgz9IOEpmnGVibavn37m2++uXLlykgk8qtf/eq+++4b2RIBAManofeg+xb0CYfDsV4zIaShoWHlypUlJSXLly/3eDyxjbt27WpsbCSE1NTU9K3Rc0yKoli1spokSaIohsNhS1oXRdE0zbirOGWAy+WKRqMjsoDJEFi40wVBcDgcoVDIktYZY4wxXdctad3pdOq6btUiWcl3uiAI4/mEg2HNg25sbHziiScOHz58xx13EEIURfnDH/7g8XhWrVr1wgsv3HDDDbG7bdmyJbaOz6xZs/x+f4pPLghC3EXjMiD2aUn9f8nIir1qq6Y/MsZkWbaqdQt3euzroIU7nVIqitacl8AYkyRpwCKOGZN8p1vVU7GJEZgHvW/fvscee+zRRx/t29Ld3X3PPfc89NBDA+7Z2dmZetfM7XZb1Z1RFEVRlJ6eHktal2XZNE2rOlN+vz8UClnVmbJwp0uS5Ha7u7q6LGldFEVBEKz69uD1eqPRqFWtJ9/pDoej77v4ODT0WRx9n2GPxxO76mjsCoGEkB07dpSWlo5IfQAA49bQv1Lt2bPnxRdfZIwZhrFixQpCSH19/bPPPutwOBhjN91008gVCQAwHmX0VG8McaQCQxyWNI0hDgxx2BBOVAEAsCkENACATSGgAQBsCgENAGBTCGgAAJtCQAMA2BQCGgDApsbLNQmpqpKeLmYYXFbMHC+xaNEDAIDUjYOc0jRxf724awdXnIQxaho0ElaPW6RPnEIZvkAAgH1le0Drurj7U9bWYuYXxjZwQognR9y9k0Yi+oxZlhYHAJBMlnchhUMNQvNRIskDtnOXW9i7h7a1WlIVAEAqsjqgOZe2buAJVvjlnhyhrSXDFQEApC6rA1pTiZB4DIcxcdeODFYDAJCerA5okxOLLs8BADB8WR3QskwSL9rJOcdBQgCws6wOaMaM2XMTZTQN93J/boYrAgBIXVYHNCH6pCmsq50Mvu6krpmlE/TiMiuKAgBISZYHNHe6ol87l7W10mCAGDoxTaJptKeLF5bolbOoRZcxBgBIRbafqEII9/rCyy4WO9ppdxfRdaIopj/P8PmTXOkdAMAOsj+gCSGUCUZBESko+nKLhdUAAKQmy4c4AADGLgQ0AIBNIaABAGwKAQ0AYFMIaAAAm0JAAwDYFAIaAMCmENAAADaFgAYAsCkENACATSGgAQBsCgENAGBT42KxpNHDDUNoPiJ0dYp7PuOE6zOrjcIinl9odV0AkA0Q0MOgRqU9u4TDh0yX2ygsIoTQlmZ5f50xvUqrqKIM304AYFgQIkPEORfrdrO2Fu729C0tTQXGvX7WsF9s2GdteQCQBTLagxZFkaXcr2SMSZI0qvUkIgjCMVunHe3ioQbu98e5LSdH2rFFK6/k4lD+vKIomqZp1fUEKKXikMoeERbudFEUKaV2fsuNnthONwdfGS4jkr/w1BMjK43rFz8ctKuDu1yJbjUdLtLdmcl6ACD7ZLSvpOu6YRgp3lmWZU3TRrWeRBhjpmkmb10MhzkhJMHLoYzqoZDpjde/PhZKqWmaeoKLkY82zrmu61b95S3c6YQQzrlVrXPOBUGwsHXb7nRhfF84FD3oIeKiSHjir4SmQSz6ugoAWQMBPVReH4tEEt4aiXCPN4PVAEAWQkAPkZ6bT3pD3IjXiVZVY8Zs7nBkvCgAyCoI6CGighA98+tCeyv56vAZjUTMwiK9vMKqwgAga+BElaHjOd7IeReKBw+IO7dzUaCEEE3XjltkTJpCxveRDQAYEQjo4XE49RmztIoqqqqEUi7LVs1fBoDsg4AeAZQx4nAQQpDNADCCMAYNAGBTCGgAAJtCQAMA2BQCGgDAphDQAAA2hYAGALApBDQAgE0hoAEAbAoBDQBgUwhoAACbQkADANgUAhoAwKYQ0AAANoWABgCwKQQ0AIBNIaABAGwKAQ0AYFMIaAAAm0JAAwDYlF2vScg5CfSwQA8XRNPt+cqVWFWVRcKEEO50ckm2rEIAgFFmv4DmXGg6JK1fS91uyeTUNEg0qh2/WC+byCJh4cBeqW63KcuEEKaqeuVMfco07nJbXTQAwMizWUBzLtXtYgf2mkUlRJa5qnJCOOfiji20vVXYu4fkFxr5BbH7GoTQ1qPKnk+jXzuXe33WFg4AMOLsNQYttBxl++q429N/I6WUuz3Sjq3E6eaC8NUHiEZeoXBwPzHNjBYKADD67BXQtL2V53jjbI9GiRalkd44NzEmNDaw7q7Rrw4AIKPsFNCci3t2xb2FalEqiKyjNf4DZQcNBUaxMAAAK9groEn/2Rr9mZxTSkn8WzljRDdGsTAAACvYKaAZIyTBULIoEtPknMe/VdOIQxm9ugAALGGngCZEn1NDNG3wdu5w0GjULC6N+ygh3Gv480a5NACATBv6NLuOjo77779fkiRVVa+//vqKigpCyKpVqzZu3Mg5v+GGG0pL4+dpEvqEyY5Pt5r5RQPGOjgTuNNFRCnOY3p7tbm1xOEc6usAALCpofeg/X7/Aw88cO+991511VWvvvoqIaS9vX3NmjV33333lVde+dxzzw3lSZ2u6OnnsNZmGu4lnBNCOOekt5e1NkcuuEivqGJdHVTXP7+zrrHODnNauTalfMivAgDAtobeg2bs83APh8Pl5eWEkF27dlVXV1NKKysrGxoahva03OePXngxPXpEVKNmb4gIouH1mcWlRBB0n98oKhbaWmkkQggxFUUrLOZeX4IDiwAAY9uwziRsbGx84oknDh8+fMcddxBCgsGgy+WK3WT2O3PkpZdeWr16NSHk5z//eVFRUUpPnZcvCIJoDJqb4fORSVOGU3MqGGOMMZ/PmrMTYwuPJDwiOsoEQXC73Ra2LorWnN1KKRUEwcKdTil1OByWtC4IgiAIFraeZKeb4/sctGF9GCZOnHjvvffu27fvsccee/TRRz0eT3Nzc+ymvv41IaS2tragoIAQIstyJBJJ8ckVRYlGo8Mpb8gkSRJFMfVSR5YoiqZpWvW+dLlcqqoag/81ZoSFOz2WUFbt9FifQO8bvsssp9Op67oW7/h8BiTf6cKAk4fHmaEHtKZpkiQRQjwej6IohJBZs2a9/vrrnPO6urqpU6f23XPmzJkzZ84khHR2dqb+8RNF0arPKiGEMWZV65xz0zQt/KxqmmbVZ9XCnS5JkizLVrUuiqIgCFa1riiKpmkWvvYkTVvVr7eJoQf0nj17XnzxRcaYYRgrVqwghOTl5S1ZsuSuu+4ihNx4440jViMAwLhEMzna2NnZmfp3Z7fbHQqFRrWeRBRFURSlp6fHktZlWbawB+33+0OhkFU9aAt3uiRJbre7q8uaRV2s7UF7vd5oNGpV68l3usPh8Hg8iW7NevY6UQUAAPogoAEAbAoBDQBgUwhoAACbQkADANgUAhoAwKYQ0AAANoWABgCwKQQ0AIBNIaABAGwKAQ0AYFMIaAAAm0JAAwDYFAIaAMCmENAAADaFgAYAsCkENACATSGgAQBsCgENAGBTCGgAAJtCQAMA2BQCGgDAphDQAAA2hYAGALApBDQAgE0hoAEAbAoBDQBgUwhoAACbQkADANgUAhoAwKYQ0AAANoWABgCwKQQ0AIBNIaABAGxKtLoAi7GebtbRRqNRTinP8ZqFxVwc738TALCJcRxGui7W7RL315kuNxElapqkYb8UDERPOYNMmGh1cQAAhHLOM9ZYOBxO/c6SJGmaNlqlcE62b6FHGoniGHALbW2h51wgFBSqqjparSclCALn3DRNS1pXFEXTNKtaH92dnhRjTJKkaDRqVeuUUsMwLGldlmXDMKxqPflOp5Q6HAM/pONHRnvQkUgk9TeB2+0OhUKjVAlta5XrPuM5PjIohXmOV9y7h+TmjV7rycmybJqmruuWtC5JUiQSsSolR3WnJydJkiAIVrUuiqIgCFb9e4g1bVXryXf6eE5nMm4PErKONuLKiXsTZYzV7+Hh3gyXBAAwwDgNaKprXEj42rkk0kgkk/UAAAw2TgP6GDghjFpdBACMd+M1oJ0uoiU8BkhVlbg8mSwHAGCwcRrQRlEJC/TEv03TzNlziSRltiIAgIHGaUBzt0ebt4D2dJEBsww1jXW28/JKi+oCAPjS+D1RxZgyjSuK/PFqrjiIJFHOSTRizJgdPelUWVGsrg4AYBwHNCHELCkLL7tECAZIJMKZwHNyBp+3AgBglXEd0IQQygTT6ydeq+sAABhknI5BAwDYHwIaAMCmENAAADaFgAYAsCkENACATSGgAQBsCgENAGBTCGgAAJsa7yeqDAE3dNbVxaJhTih3e7jXRyjWJgWAkYeATg870iSvW8NdLiKJhBMajeqTpxqTp3Gvz+rSACDbYIgjDULTIXnTeqOwiHtyuOLkDqfp87PODsf7/6A93VZXBwDZBgGdKhqJyBs/Nv1+OmBAgzE9r0A4uD+T10cHgPEAAZ0q1t5quuMvqkQZExv2s1AwwyUBQHZDQKeKhkM88WVWTFliuBA4AIwoBHSquMmTTNaghHETQxwAMJIQ0ClzOommJ7xVV7kDi/0DwEhCQKfKLCiioUD82zinkQhm2gHYxJ/+9Kfq6upFixZ1d6c6vepXv/qVaZpptXL22Wfv2rUr9fs7HI5IJGIYxgknnNDa2prKQxDQqeJOlz73OBqMk9G0o1097UycrgJgE7///e+feuqp9evX+3ypdptSD2hd1wkh77zzjs/nmzlzZrq1CYKwYsWK+++/P5U7I6DToE0p16vmCG2tNBwmuk50jfUGWctR9aRTzLwCq6sDAEIIufXWW7ds2fLDH/5w+fLlhJDvfOc7CxcurKmp+bd/+7fOzs7YfVavXn3SSSfV1NTU1tZ++OGHd955p2EYS5cuPf3008Ph8H//938fd9xx8+bNW7p0aX19fewhlNL77rvvkksu+cMf/kAIeeqppy6//PK4z/bggw/+8Ic/jN3U3NxcXFzc2/uVGQSXXnrpCy+8YBjGMV8LzeTs3c7OzlRqinG73aFQaFTrSURRFEVRenp64t5KoxHa3sYiYUIp9+QYeQVEEEawdVmWTdOM/ZfOPL/fHwqFNE2zpHULd7okSW63u6ury5LWRVEUBCEajVrSutfrjUajVrWefKc7HA6Px5Pucy5cuPCpp56qra0lhLS1tRUUFBBCfvOb3wQCgfvuu6+1tXXOnDlvvPHGCSecYBhGIBDw+/2iKEYiEVEUjx49Onfu3I8++mjGjBl//OMfn3766X/961+EEErpn/70pyuuuCLWRHFx8caNGydOnDj42Tjns2bNqq+v93g899xzT0dHxyOPPBJ7LV1dXQ6HgxAyb968Z555ZuHChclfCE71ThtXHLxsYnqDVQBgkVdfffXFF1/knAcCgYkTJxJCPvroo9ra2hNOOIEQIgiC3+/vf/+PP/54wYIFM2bMIIR873vfu+mmmwKBQE5ODiHkm9/8Zuw+mqa1tLQUFxcnerYLL7zwhRdeWLFixZNPPvnPf/5zcFUlJSWNjY0IaAAYvzZs2PDII4+sW7cuNzd31apVjz322DEfwjkfeLbwF1wuV+wHURQlSYpEIlKCcyNuvvnmK664oqioaNasWbGsHyASiTidzmMWgzFoAMhaHR0dpaWlubm5hJCXXnoptnHJkiVbt26NDVzouh4bmPb5fLEBrpNPPnnDhg2x6RlPPfXUcccdF+s+90cpnTNnzu7duxM9W3V1dX5+/q233vqDH/wgbmG7d++uqak5Zv0IaADIWkuXLi0rKzvvvPOuuOKKsrKy2MaCgoL/+q//uvnmm2fPnj1//vxt27YRQn70ox8tWbKktrbW5/M999xzl19++ezZs19++eX//M//jPvMF1100T/+8Y9Ez0YIWb58OWPs/PPPH/zYTZs2VVRUlJSUHLN+HCSMI/lBwtGGg4SWNI2DhNl0kDADWltbzzrrrPXr1yca5Vi+fHlVVdVPf/rTwTetWLHiggsuWLZs2TFbQQ8aACBthYWFv/71rw8ePDj4psOHD1dVVdXV1cUd3zAMo7a2NpV0JjhICAAwNBdccEHc7WVlZbHh6bgEQUg0MD3Y0AN67969Tz75pCAIhJBbbrmlqKgoEolcffXV5eXlhJBLL700NgkRAACGZugBXVBQcPfddzscjjVr1rz66qs33ngjIaS8vPy+++4bufIAAMavoQd030nulFLhi1PpGhoaVq5cWVJSsnz58r6h/a6urthBAIfDIaR80l3/p80wxpi1rRNCrGo99sLTXTVmZFu3pGnLdzpjzMKdbm3rSZpONCV5nBjuLI5QKPTzn/88Fsqc81Ao5PF4Vq1a1dTUdMMNN8Tu8+ijj65atYoQ8swzz0yZMmUEqh59lGZ0fot9jNsXTsbxa7fzC9d1PdE0ifFgWDtG07Rf/epXF1544aJFi/pv7+7uvueeex566KEB98c0u1Rgmp0lTWOaXTZNs0s31mzbTx/6EAfn/JFHHjnttNP60jkSiSiKQindsWNHaWnpCFUIAJAGVVXT+mcjCELfOdx2M/SAXrt27caNGwOBwIcfflhZWXnVVVfV19c/++yzDoeDMXbTTTeNYJUAAOPQ0AN68eLFixcv7r+lurr64YcfHnZJMDZwwxBCQa5GiSCQHB8XMaceYIThQwVp45yLTYekDR9zh4MygZsmjUS0ubXm1OncopkAAFkJAQ1pE+t3i/vqzMJiQkjsWAzP8YoN+4xIWJs5hwp4UwGMDKzFAelhHW1S3S7uGbgAI1cc7MhhsemQJVUBJMcNnXZ3kWgkrUdt27ZNEIQtW7aMUlXHhM4OpEdobTY83viTkpxOadMn+qSptp20BONUJCKt+gt3uaiqGiefxkvKUnzcvffeu2TJklEtLTn0oCE9wmc7qJD4bSMI1KI51ACJ0CONPC+feP1mfqHwP++l+KjVq1fPmDGjsLBwVGtLDgENI4oyYtFp4gAJcUIIJWmekPLggw/edttto1VSahDQkB5jxuxkJ2npOpHljBUDkApeWkY72migh7a1mEtOT+Uhf/vb35YsWdK34pBVMAYN6TG9PuHwIeKMd+aVrhuz5xKG//pgM06XftHlpKebOF3x37qDbN269cMPP/zggw+2bNnygx/84PXXXy8oKBjtMgdDQEN6jNIJrKuDdbTxAdPpOGed7dHjT7aoLoCkRInkpZGwv/zlL2M/XHzxxb/4xS8sSWeCgIa0CYJeUSXUU6GxgbhcXBCJYdBohAYD6tJzeWrdE4Cx4tVXX7WwdQQ0pI07nNqceUZJGevqYKpqiiLx+fWCQpyiAjCy8ImCoaCU8oJCo6Cwb/VYzHwGGHE4ngMAYFPoQQNAVpFlWc6WuZ4IaADIKrquq6qa+v0ZYw6HY/TqGQ4ENABkFdM0U7+0ns1hDBoAwKYQ0AAANoWABgCwKQQ0AEAc69atO/PMM88888z777/fqhpwkBAAspzOjbc6173U9s8L85ac6q0tlfOP+ZBIJPKTn/zk73//e07OwIsHZRJ60ACQ5TaF9nzQs6naVb6n99DqnpSuX7VmzRq/3798+fJly5Zt3bp1tCtMBD1oAMhy3XrQzZyEEJEJb3R8dFnB0mM+5MiRIzt37ty+ffvRo0cvu+yyjRs3jn6ZcaAHDQBZrtI58VC0JWxGW7TObxeencpD8vLyFi5c6PF4KioqAoGAVROrEdAAkOWmKqV3T772VF/tdwrPOcu/KJWHnHTSSfv37zdNs6OjQ5ZlQRBGu8i4MMQx6qiukd5eQil3uYlFu3kkmSYN9xLD4IpCFJueIAswwBSlZIpSkvr98/LyfvCDH5xzzjnRaPR3v/vd6BWWHAJ6FNFQUDx4QKz7zJQkSghRo9qsecaUcqIoVpc2JIYhHtwvbttIJJlTRjTNmF5plk0yc/Osrgxg5F1zzTXXXHONtTUgoEcL6+5SPnjbyM038gtJ7LLChAhHGqVPt0bPXcadTmvLSxc1dOGzT4XmI2ZB8ZcbO9vlffXa8ScbxduS4voAACAASURBVKUW1gaQrTAGPSq4ocvv/d3ILxw4piFKZn6BuL/eorqGjh3YJ7Qc5V9d9ItSZuTmyevWkHCvVYUBZDEE9KgQOtqJ20NovMuMCKKwr472hjJe1NBxQ5d3bOHxRmYopUaOV2g5mvmqALJe/CEOUfzKdp/Pd/LJJz/++ONTp07NRFFjHwsFTTnhQLOpOFgwYLjcmSxpOFhvL0+8AjqXZdYbypLlHWHskyRpQIKNXfFfxoMPPkgpvfbaawkhTz75ZCAQmD59+nXXXff2229ntrwxyzAITfjthDLGdT2T5QwTNU0e99tA7FZKTc4zWQ9AEqZp6ul8vhhjjNl0LCF+QP/tb39bvXp17OfbbrvtuOOO27x586OPPprBwsY2LsvU0LmYYFKdrvHE/Wsb4rJMDSNhBpsmrucN9mEYRlpXVBEEQZKk0atnOOL/32htbT106FDs54aGhnA4TAix7T8ZGzL9eTSccJSZRcLcn5vJeoaJO11EVUmCbjIL9xpj6uUAjBXxOz6//OUvFy5cuHjxYs752rVrH3/88VAodO6552a4uLGL53iNylmssYEPOpWDBoPqcceTsTZGFl3yNeWTj0z/wCnPVNf1solmYXHcRwHAcFCeoFt05MiRtWvXUkpPOumk0tKRmeXa1dWV+intLpert9eayVuKoiiK0tPTM6xnMQyp7jO2fy/xeDgTCCFE12mgW581zyiviD/BgxBCiCzL6Q6ijSCfz9fb26tp2uCbWNMhacM67vWR2AFDzmkoaEyYpFfMJCN0zU0Ld7okSW63u6ury5LWRVFkjKX1xXwE5eTkqKoajUYtaT35TlcUxePxpPWE6b4WQRBcLldaTWRMwn6cIAixS5eP4PFQWZYT/T8YTBRFqy61G/u0DL91XrOATZpCW1uIphFKTEkmJWWSz598uEsQBM65VYehGWMJVx6YXklKy9iRJtrbSyghjJm5BWJxiThyY18W7nRBECilVrXOvmBJ67FBWJq40zCqku90q/4mnPPrr7/+0KFD4XD4rrvuOuOMMywpI34KvPbaa7fccsv8+fM1Tbv22muffPLJb37zm8NvLBqNpt6DZozFxr4zT1EUSunItO7ykClf/f9/rKe1tgetKEo0Go3bgyaEEMpI2aSvbBnRbpeFOz02N8uq1kVRFATBqj6sJEkW9qCT7/SR+pfZ2MlaAsytkGn5upxC52fLli2NjY1vvfXWwYMHL7/88rVr145IGemKX+nDDz+8ZcuW/Px8Qsju3buXLVs2IgENAJB5R3vY+3uUPLcZ1WhYI7UTj937mTRpEmMstppdUVFRBoqMK35AT5s2LZbOhJCqqipljC7uAwBASEeI+Zwmo8Qp840NUioBnZubm5+fv2DBgo6OjldeeSUDRcYVf3xn6tSpL774YjAY7OzsfPDBBy+++OIMlwUAMFJyHLxXpYQQ3SC1k1IaPHzjjTdUVd28efPHH3983XXXjXKBCcXvQd97770Dttx1112EkNQP8QEA2MREv3HcJLqmXpo/WasqTvUwWF5eHiHE6/UGAoHRrC6Z+AGNIAaArEEpqSrWq4rTOPB+/vnnv/zyy+eee24wGBzcYc2YMXa6BABABkiS9Oc//9nqKhIE9O7du3/zm9/U19f3TfZat25dBqsCAIAEAX3xxRdfe+21K1assOpSiQAAkHCI40c/+lEm6wDOOSUkySngADDexA/opUuX/uMf/zjnnHMyXM04xA1DPNpEuzql+t2cE72yiuYVkLKJVtcFMFYxxtJaKcHO63TGfxkXXXTR17/+dYfD0XeeZWNjYwarGi+orom7dgpHmrjTaRQUEUJoZwdrOUK6OozpVUkuYnKMp41GaaCHGDqRFcPrHdXFmjWuN6ltPUZIpmKZXOAVxsxlYiBbiaKY5VdUufrqq5999tnjjz8eY9CjSty7h7Y2834raVFKidNN21pEQtSZ1emuX0M1TdxfL+z6lDgcJqXUMORoWJt/oj5x8ogvhcMJXx/a9f8dfc0v5ihMMjnvNoLfyF18Rs58jzDGrlkOYE/xA7qoqOiSSy7JcCnjDe0NsT27ed7AFZYJIUSUhP31bMJk7vWl8YyaJu7+lLa1mvkFsQ2cEJ7jFXduI9GIUVE1ElV/6d2ejW92fTzHNa1vS5Hk3xTa02tEvuFf7BasWRYOIJvEH3xZtmzZ008/HYlEMlzNuMJ6urgzYYpxh5P1dKf1hMLBA6y1mQy6eA/35Eh7drLOjqFUmcAhteW/Oj8slfIHbHcx5bPIgdWBLSPYFsC4FT+gf/azny1fvtzpdNIvZLiscUHTaeIRJM4EqidY8zMu05S2b0p0qUPu8QmtzekWmMSO3n1lg9I5xs2cr3S+p/GxdFVcAHuKH9B8kAyXNS5IIjHNRDdS0+BiOheyjEYG9537cIHxtOL+WEJmRKEJj2G6qKPLCI5gcwDjk33nl2Q90+un4YRX+qGRsOn1pv5sx/yOI+75LPVnGyZGmW6muiQNACSSJZNRxiLucusVM9nRw3F6vrpmTK0wc3x9scs53xM9tDtySDU1QojCpFmOqdOVsr7RJy4r1Eg4qsA576iYsqZ7fY8R4oQLlE2Wiue5pstsiFebl6hocFOg8f/Bh82oT8R8O4DhQkBbSZ9eKeo6O9LEnc6+qKXhXrOkTCuf0bdF4/r/6Vr7fs/mEilPpEJsy9vd68/yLfq678TYFiII2ow5QstRHm9cu6278f93NKqhEidVCCEm4euCO+vVprN9i/KENPrpfSocEz7s2VIix5mConH9PN+JLoZZHADDhSEOS0myNqvamFXNc/OEthbW1mz6c82Z1cbseaTfVWze7l6/IbR7olz4eRYTIlFxklz0cXDHez2b+u5mTJpCO9rJoAMGHeH2N92HpbLJsXQmhDBCC0RffaTp1obHhnY0b5Zjykk5c0LmwEvJmYTvjRw+Oad6CM8JAAOgB20xKgjGxMlk4mR99jzOOWWMyTIxTfLFOoLtes+qrjXTlQmDH5sr5LzS/t4Jntk+wU0I4W6P+rWz5ff+wd1urji5QKlusHDoJdfOYPlUc9BUHJmKJVL+9t59890z0i2bUXaB/2SBsvd6NhaIfoXKBje7jWCz3vHvE743ePodAAwBAto2Ekxn3B89nCckPF0lX/IdiB6pcVXEfjV9/siFFwvtraSnmxmGqSjtOfKGnrpyMf58vjwhp0E9OoSAJoQ4mXJR7mmL3LPqI40BMywRYYJcONMxecjj2gAwAALa7oJGWGEJd5NCpeCAcQZBMIpKSFFJbBZFt9oqBxMmJqPM4Amn+qViklw0SbbsmscA2Q1j0HanMDlJhurEkGmyHqtMxWQRjBnuADaGgLa7Ujm/2wglurVHD5VK8Vbz+EKe6A2ZCU/ZD/JIgZjOch8AkEEIaLubLBWd7KmOO9dCNfVTcmomyIVJHi5S4bsF53YacS9LzBvVlr7xawCwGwS03THKzvDO3x05FDaj/bf3mpE90YNn+RfSY51FuNgzd4Grql3v6b9RN426SNOPSi7LFXNGvmgAGAk4SDgGFEm5j0++5X+C2/6r8wMXdXBCwmb0kryv3VbyrVRWXpaZ9M3cU0rl/D+2vuFiCiMsaqrn+k64svAcHN8DsDME9NjgEz0X+E8+x3d8bDzaL3j6TlpJhUiFxZ65J3uqO7WARnSv4Hay+OveAYB9IKDHEomKwzmmRwnNk4ZyYjcAWAJj0AAANoWABgCwKQQ0AIBNIaABAGwKAQ0A2ea2226bNm0apXTdunV9G3fv3n3CCSeUl5efeOKJdXV1FpaXuqHP4ti7d++TTz4pCAIh5JZbbikqKiKErFq1auPGjZzzG264obS0dMTKBABI2Te/+c1bbrnla1/7Wv+Ny5cvv/7666+99tpnnnnmuuuue//9960qL3VD70EXFBTcfffd995773nnnffqq68SQtrb29esWXP33XdfeeWVzz333IjVCACQjiVLlkyaNKn/lsbGxi1btlx55ZWEkCuvvHLDhg1Hjx61qLo0DD2gfT6fw+EghFBKY/3oXbt2VVdXU0orKysbGhpGrEYAgOFpaGgoKyuTJIkQIklSWVnZwYMHrS7q2IZ7okooFPrLX/6ycuVKQkgwGHS5XLHtpvnlEpcffPDB9u3bCSEXX3yx3+9P8ZklSXK7rbnwqCAIgiBY1TpjjHz1D5g6Tnhd76GGaHPICLsF5xSlpMI5gSW4tGui1h0OhyzLQ2h9+Czc6YwxxpiFrVNKRdGaE8cEQVAUxarWk+/0uFexGD4+RhbaHdYu0TTt/vvv//a3v11SUkII8Xg8zc3NsZtiKQOZ1KH3vNWxbk33tjzRK1NRJVqHFljsnXte/on5WFMUxrfJkycfPnxY0zRJkjRNO3LkyOTJk60u6tiGHtCc80ceeeS0005btGhRbMusWbNef/11znldXd3UqVP77nn66aeffvrphJDOzs5QKOHSxgO43e7U7zyyFEVRFMWq1mVZNk1T19O7lmvYjF5/4LczlElFzEcMYhJDJKyI+j7t3vfXlg9/P/UnKV5mW5KkSCSiadqQah8uC3e6JEmCIFjVuiiKgiBEo9Fj33UUxJq2qvXkOz02jjp8kyZNmjdv3vPPP/+9733v+eefX7BgQaxbaXNDD+i1a9du3LgxEAh8+OGHlZWVV111VV5e3pIlS+666y5CyI033jhyRcKxrQt+OlkuGXw9QJmJU+TidaGdZ+TMt6QwgMy7+eabX3vttaNHj1544YUul+vAgQOEkKeeeuq73/3uv//7v5eUlLzwwgtW15gSmsmxmM7OTsMwUryz5T3onp6eY991FAytB/3dvffOcU1LdOun4f3/u/znqTyP3+8PhULjswftdru7urosad3aHrTX67VzD9rj8WSyHlvBSHE2MLmZfNBfIILOU/3XCAA2gYDOBse8qAqnnB3rPgBgNwjobEAp/brvxMSjVfw83wlpTbYDADvAgv1ZYppc+q/gziIpd/BNrVr317wLMl9Sch16z0G1OWpqDiZPkopG6UoCPRHWFWaGSR0Sz3MZijg2Zr8CxCCgs8Rx7hkH1KObevf4ha8cUek2gsd7Zh3nqrSqsMHCZvSfPRve6FqbK+TIVFS53qn3XJi75EzfQjcZsfNEQlG6u1Xe3Sw7JFNgRDdpKEqPnxKtKFAFfJeAMQIBnSUEyi70L/YJ7pfa3/WLOTITNa536sHL8s443Vub1gUMR5Vqaqu6PtrZu79CmdC3MV/0fhL8rNeMfMd13oi0EtHoq1tyCnKMfHffoVHukcmnR2XVoHNLrZmuAJAuBHT2kJl0lm/R4py5h9SWsBl1UHmSXOwWRmae/0jZ0Lt7c2hPnjhwQMMjODcGd1cFp9YI5cNvpa5NyvcYEhs4oOGRzZ1HpWKPXpSDOS1ZS9M0VVVTvz9jzOl0jl49w4GAzjYu5qhy2Pcc1ka1JU/IiXtTvug9ED5S4xluQBsm2dyolCSIYJ9iHg2ICOgsxjlPaymbUVruY0RgNA4yx+TmW93/Iok+D5T+n461nAz3OF5EZ1Li9zVjREc4jz/t7e0HDhxoampK9xQwa6EHDZnDybEmY1PCOR9mj2aMrFMGGfLpp59u3br1/fffVxTFMIyenp5rrrnm1FNPtWrJxrQgoCFzBMoMnuy75wV5Jw9/vrZD4kn6yCYnmMUxfqxZs+aFF16YMmVKefmXQ2fvvPNOW1vbRRddZP+MxlsVMurawvO7jSAhhHMS1mgwyiIajfV5O/VgmVww/CZExmsmqroZvxseiLBiL8Y4xoUjR44888wzU6dOHfCdzO/3b9q0ac2aNUkeq2na4sWL/X5//4tDPfroo+ecc87ZZ59dX18/SjUPgICGjDrRM2eOc/qRkLH1sLKvTTrYKe5tk7YdVo6E9Lmu6Sd5545IK9MLtNagYAwa64hotLJQK84ZS6OQMGRbtmyZOHFi3Jtyc3OffvrpJGu3iaL4l7/85bbbbuvb0tTU9Je//OXvf//7vffee8cdd4x8ufEgoCGjZCJNDZ+mBCvD8mEuBpkQNaVAr9TkCFZNC58u04HLpQ6NWzb/bV6w0G10hVlUp5pBwxptCwrT8rXqMtW+x+xhRAUCgSTz51wuV5LFCymlZWVl/besXbv2tNNOo5QuWrQodomoDMAYNGRUY5fY1OY5w3FGDa9u4UeiPKJQR5FYmk+LGttYYyHNU0amIa/DXDApOjVf7+plukkdEi9wGx5lKBcSg6wkCEJa06U7Ozu93s/n76e+bPIwIaAho1qDgk8xCSH5tCifFvW/yeswD3eLeUUJHpk+SkmB2yhwY8R5nGKMmWbClXij0ajPl8al4HJzc2ML/xNCYpfJzgAMcUDmcEJ2HFESTbWjhGw9JGCSHIyUKVOmdHR0xL3JMIxzzz237yLXqVi8ePGHH37IOf/kk0/mzZs3QjUeA3rQkDmcE0KTBjCGh2Hk1NbW7tmzp66uTlEGDpzt3bv3yiuvTP7wSy+9dNOmTYqibNq06bHHHisrK7vkkkvOOussQsjvf//70Sr6qxDQkDmMEs6PdaoKMhpGiCRJX//61996661//etfBQUFoihyznt6ehobG1euXDllypTkD3/llVcGbLn11ltvvfXWUas3DgQ0ZNSiyZG9bVLcdZmjOl08HePFMJJyc3MvvfTS6urqvXv3qqoqCEJxcXFtbW1OTvwFYewGAQ0ZVZ6vfdLgKPHq7Ks9ZZOTjpAwvdAw0jiuDnBsoijOmzcvY6PGIwsBDRnlkPi/1QT/utXjVUyHoreSpnajI6JzHvV9rzrXIeWGENAAX0BAQ6b5HOaVi3rWd7Te3/KUh3i9otvp5CwvcmdL5w/lS+ZLFce8Bi5AEqIoprXelp2XG0VAgwUO6y1PBp45MXcS+3Kip1Io+V5uey/gDp7uPc7K4mCMY4wlmvs85mTJy4AxhHP+UWB7hTKRDXr7lcn5L7a/06Z3W1IYgN0goCHTWo2u1YGtQoJlRYulvM/CBzJbEYBNYYgDMq1D63FSuUPv6TZ7dVMXqeAXPbmCJ3aaios5Oo2g1TUC2AICGjKtWw/uU490G0EHkwXCDGLuCkcnKyXTlTKZ2H0BdYBMwhAHZFSvGfl/W15p07pzBJdERUaZREWv6G7Xu9/qXqdzo9eMJLqqLMB4gx40ZNS64M4ZyiQHlTv1QP/pTQJlPtFzKNrcq0VmOo9xDi7AOIEeNGTU/259K0dwTZKL2vUe/tWV6xQqrene9u38swrENBaBBMhiCGjIHIObAmOEEK/gPt1b26p3BYywamoa13uNSJvePVkpOSVnTJ6SCzAaMMQBmUMJ6esz+wTPN3NP6dKDQTPMCXcwJVfwHDCaB0+OBhi3ENCQOYyy83wnHIgciS0qSgnNFXNySd8hQX5B7sl2Pu8WIMPQW4GMmqqUthk9cW9q0boqXPGvwZyEqtOjPeL+dulgp9gdxvsZsgp60JBR810zGqJHt/TW+wR3/+3dRvBEz5wFnpmR3nCKT8U5qWuV1jU4PDIXGDc5iWisqkitKtbcMi4OC9mA8gxeA663tzf15mRZTuuauyNIFEVRFCORiCWtC4LAOTdNayLG6XSqqjqqFy2Omtq7XRteav1nrpgjM0nlWocW+HbRWWf4Fngc7tR3+rYm4bPDYo7zK+8o3SRHe9h3jo+65PTe2IIgyLIcDqf672Fkxdb30XXdktYdDoeu61a1nvyTzhhzOp2ZrMdWMtqDTuuTzxizKiIVRbGwdVmWTdO06tOiKIqqqpqmjWorZ7iOO37izENqS9iMOpkyWS52Cw5TNXRRT/HP3h5iGw+48t3a4L9TvpNuP2TUTEjvv7skSZIkWbXTRVFkjFnVI5EkSdO0aDRqSevJP2uDLyc4rmQ0oDnnaXXYM9m7H9BuuqVmTesk/d00NG7mmOmY3L/RAT8kd6RH8DrMuHcWGd/aJM8qUSWW3pvN2p1OrHvDk0zt9CStW9W0zeGgCoxJUY2KifNXFnlvFLNBYMxDQEN2QpcMsgACGsYkSeR64sOomk6dEiIaxjwENIxJJTlGIBr/3WuYpLpUVUQENIx5CGgYkwo9xswirVcdONBsctIaFKcXju4sFIDMwIkqMFZVl0ZFxrc0KR7FFBnhnIQ1GlLZsrnBHAUnqkA2QEDDWCUwMqdUnZqvtwaFiEYZ5X6nWeAxGKZvQLZAQMPY5pZNdx76y5CdMAYNAGBTCGgAAJvCEAfAQIEoO9wthlRKOJEEXuI1CtwG1qmGzENAA3xFXav0rwaH32HKIieEGCbd2SxXFWlzS1UhncU9AIYPAQ3wpQMd4uZGpcjz5ZqLAuO5Tn6wQ6SE1EywZr03GLcwBg3wOcMkH9S5fI44c0IcEt95VO7sxecFMgpvOIDPdYSoSzYTjTV7HGZrUMhsRTDeIaABPhfWiJT4AyExHjXweYGMwhsO4HOx88UT4ZwyLGIKmYWABvic18nDesLJdBGd+pw4ZREyCgEN8DmPQmaXqLoRJ6M5Id1hVpwzitfSBRgMAQ3wpaoitSUoqF/NaJOT5h7h67NDkoAhDsgozIOG9OgmOdQpdfSyHUcUwkl1WbTIY0z069lxop1L5pfPD9S1ylsaZUXihBDNoLOK1ROnRvwY34CMQ0BDGiI63XFYbuySnJJZ6tUJIW0h4UC71BrU5k1Qk1zFdQxxSHxuWXRWidoToYRQp2Ti6llgFQQ0pIpz8ukRuTkguuQv+5KUkByH2dglyiKvLlUtLG9kiYznuZDLYDGMQUOqOsNCfascdxzWIfEtjUpYy4phDgDbQEBDqjp6mUtKOA7rlnln7wicaKebNKrTJPORAcYPDHFAqjSDCon/oTOBq/EmqKXI5ORgpxRoEbY0eCglukkXToqU52suGVEN4xcCGlIlMW7whO8Yw6BDnoWmm3Rrk9zQIeV6WHHO5wPZDR3SxkOOZXODmD4B4xaGOCBVfpeZZJQ5rFK/Y4jncdS1SI3dokf5ykJFksCLcvTXt3l0E0PbME4hoCFV+S6jPF+LG5dRnc6doLqVofSgNYNuOKg4xTiPFSjxOsyjPVhDDsYpBDSkilIyu0RtCQqRfv1ozkkoykq9+qzi9ObYmSYJRlkwyjrDzJF4orFDMjvDabxLDZMGIiwYZQbGRWDswxg0pMEl828vDOxrE9cdcDLKOSFzStQ8lzY5V0ty/HAAVad1rdLGQw5J4JSSQIQRQpwyl+MNYTNG4i6OMVgwyva2SVsPy7JAOCeqQRdOilQWanK8vjnAmICAhvRIjFcVaVVFmm4QSknquRzTq9JXNucUuI0Srx7b4pR4favYFZZnFquyPPD+pknjBvcAnb3s9R2eIrdR0m89o33t0vqDjsvnB5L00AHsDEMcMESikHY6E0J2tchFOUb/Xq0imianbtnsCAmDpz8HVZrnPsZohW6QVds9JR5d/GqUKyIv9BifNQ9KfYAxAgENmROIsN3N8oAlOxglk3J1zaSdYRZSPx/NiGi0JSBsblSausTD3cKeFimaeKXm1pDodpgs3ntZEvjOZrlXxfscxiS8cSFzuiNMiTfakOcy8l2GbpJelRBCunrZnla5LSxQSioLtfaQsKtZ/vPGnERnKvZEmDPxMIhT5N0RvM9hTBr6GLRhGHfeeefBgwdXrFixdOlSQkgkErn66qvLy8sJIZdeemltbe2IlQlZQTeJkOCqUUU5hiJyr0M80Cq19goT/bpD5D6nySgnhDgkXurVX9/h/tb8gDLooJ9uEJp4IT1GuYZ19mFsGnpAM8ZWrlz5zjvv9N9YXl5+3333DbsqyE4OkesmJQkyWhH53AlGgUttCwqDV5emlOQ5jYOdYmWhNviBhkkTLXaqmXRwpgOMCUP/6kcpzcvLG7CxoaFh5cqVjz76aDAYHF5hkIXy3GavmnAoOaQyv5t/dlROtPa/IvKeeIMVeW4jGE34Tg6rLM+FSdEWwFT04aN8eOuGvfzyywUFBbEhDs55KBTyeDyrVq1qamq64YYbYvd59NFHV61aRQh55plnpkyZMvyiM4DS4f5lxqjRfuE7msjmBup1DtweUUl5Ea8qIS+vp0U5CR/e2EF+sDROeZ/sI/vbqEMauL2nlyyYxmeXpVQbdvqICETInqPk472UMcI5WTCFT84nZf4hPpuu65I0aL+OGyM5D5pS6vF4CCGnnXbaPffc07f96quvvuSSSwghDoejq6srxWdzOp3hcHgEy0udLMuyLFv1JUCSJNM0DcOacVOv1xsOhzVt4DDCSJngIp1+afth2e80Y7P0TE56wqyySJvmVU3dGYmwSOJFTWcWGV1dcU5ZnOajgZBU3yp5HSajhBCim6QrzGonqKVOLZU3nSiKLperp6dnqK9sWARBEARBVa254oHH41FVdURabwkI//2ps8BjFn5xuYP9zWTTAXbcBHVmsRb3u1HyT7osywjokRGJRBRFoZTu2LGjtLS0b7vf7/f7/YSQzs7O1HOHc25VSJmmaWHrgiBYGNCxFz6qrc8uNoo92uFuQTMp4URgZF6pXuw1KCEOiasGMcz4yyOpBlWE+LUxQmpK9ZIcrTkgGAYhlEgCP36ykecyzNS+aDPGLNzplFJKqYU7fUTecmGVvrHDXerVKCH9/+y5DnNLo+iS9Il+PW7rSZoen99p+gwroB944IG9e/dKkrR3797rrruuvr7+2WefdTgcjLGbbrpppEqE7JPvNvLd8T+TX6voXd/g8A5aYpQT0hlikyvjfMJjKCUlOXpJTsI7wGg72CXmO+OfmO93mEcDQtyAhiSGFdB33HFH/1+rq6sffvjh4dUD493kXL0nou5qlr3OL/vRhknaQ8IZVWG3jANP9hVS489zJ4QQSnYflatLVJx2nxasxQH2QimpLlXzXObRgLCzWWaEGJzMK1NPmhrxYzKGvW1vUkp9CfvIgkA0gyKg04KABtuhlEzwwdAXUwAADHJJREFU6x7F9DvNqE49ilnoMZz4YNve3AnR1kCcOewxhkmGfM2dcQsBDbYTUunuZnl3i+ySTUaJbtCQSudPilYVqUNYngkyxiObjYboiHtaECdVRRjfSBve72AvYY2+ujnnaEDMdxtOiSsidytmUY6xp0XacUQZ34f07W5ynt7ZK5jx9lFXmJX6cMZ92hDQYC9726R8jzH4vG2XzHe3SM0BXP7Kvhwi//rsUHOPqPWbymFy0h4SaiaqExIPT0MiCGiwEdMkmw45Eq3Q73WYzQEMytlaoce4uDYwNU873CMeDQhHesQSr3FWVW9VkTXn4Ix1eLuDjUT0hGseEUIYxfIOY4Bb4XNK1TmlKicE12MfJvSgwUY4PtNZBHty+BDQYCMOKdnazQYfykW2AMYuvN/BRgRG5k+Mqgku4x2MsCIPZgLAOIKABnupKNTag8LgseawTisLtRLMBIDxBAEN9uKU+P9TGyz0GJ1hFtGoZtCwSluDwvR8rbos8Wr/ANkIszjAdjyKuWBStLxA7woz3SCKyAs8JpZJgnEIAQ12RCnJcxl5Low4w7iGIQ4AAJtCQAMA2BQCGgDApjAGDdlMN0lEY5QSp/T5xWQBxhAENGSnXpXVt0lbmmSJEUJI1KDHT45UFGhy3NWKAWwJAQ1ZqCvMXt/uKXQbJTlfzgPZ2yZ90uC4fH4Ay8bDWIExaMg2hkn+ts1TlKOLX122VBF5ocfY1SxbVRhAuhDQkG1agoJHMYV4I86SwHcelUMq3vYwNuCdCtkmEBGSXGHWIfGuMN72MDbgnQrZRjNIkgkbjHId5yfCGIGAhmyjSFxPvG6HYVIFEzlgjEBAQ7bJdxlJRplDGs13Y90lGBsQ0JBtcl3mrGI1qscZ5ghF2YlTIlKCi9IC2A0CGrLQ7BJ1gl/vjjDziyjWTdIeEiqL1MpCzdLSANKAE1UgC0kCP25CtNRrtASErU1ydakqCeSEKdF8N44PwliCgIbsRCkp9eqlXr1mQtTqWgCGCEMcAAA2hYAGALApBDQAgE0hoAEAbAoBDQBgUwhoAACbopxn7qyqcDic+p0lSdI0a84pEARBEARVVa1qnXNumtacjqwoiqZpVrVu4U5njEmSFI1aMyePMUYpNQxrpmnLsmwYhlWtJ9/plFKHw5HJemwlo/OgI5FI6m8Ct9sdCoVGtZ5EFEVRFMWq1mVZNk1T13VLWpckKRKJWJWSFu50SZIEQbCqdVEUBUGw6t9DrGmrWk++08dzOhMMcQAA2BYCGgDAphDQAAA2hYAGALApBDQAgE0hoAEAbAoBDQBgUwhoAACbQkADANgUAhoAwKYQ0AAANoWABgCwKQQ0AIBNIaABAGwKAQ0AYFMIaAAAm0JAAwDYFAIaAMCmENAAADaFgAYAsCkENACATSGgAQBsCgENAGBTCGgAAJtCQAMA2BQCGgDAphDQAAA2JVpdAACMSbpJm7qEzl5h62FlbmnUKfGJuXqOYsa9c0+ENXaJEZ1uP6zUTIjmuYwyry4KGS557EFAA0DaelW286h8qEt0yWapV28LCapBNzYqS8ojU/O0AXfe1yatPeDIdZiSyEu9+tEeYV+bNDlXm1WsuhVuSf1jBYY4ACA9hkle2expDTK3bNIvNsoCL/IY6w44jvZ8pWN8pEf85KCjyGNI4udZzCjxKGZLQPysWTbjd7jhcwhoAEhPU7foc5hCvPDIdRmNXV9+L+ecvP2ZK89pDL6nKPCDHVJTD77EJ4OABoD0dPYKLjl+15cSsqdF7lU/71j3akwSOaFx70tcitnRi3HoZBDQAJAewyQ0QeYSQgTGo/rnwRLVqcgSjjIzSow4fWv4EgIaANLGEx/b44SKwuc3C5SbZsIs5yRZ0ANBQANAunIcpqonTNaITl3S5wMgHsVUjYT3jOo00bQ8iEFAA0B6Jvj0zkj8kYtelZ48NdJ3/FBg5PgpkbAWL6M56eoVJvj10aszCwz9EKphGHfeeefBgwdXrFixdOnS2MZVq1Zt3LiRc37DDTeUlpaOUJEAYCMumS+dEX6/zlngNli/7A2qbGqeVp6v9r9zRaHWq9KDnVL/44qGSdpCwllVvU4J86CTGXpAM8ZWrlz5zjvv9G1pb29fs2bNAw88UF9f/9xzz915550jUSEA2M4En37+7N797eLOo7IoEJMT1aCnlIen5mkDpt+JjNdOiHod5pr9TlngjBLNINWl6olTI7kujG8cw9ADmlKal5fXf8uuXbuqq6sppZWVlQ0NDf23NzY2EkJqamocDkeKzy8IgqIoQy5vOCRJYoxZ1booiqZpCoI1048opbGXb0nrFu50QRAs3OmMMav+5rHWJUlK91ElCinJJQunab0qERlxKZwSRkj8P+CciWT2xGivSnWDOGUuC4SQz1tMvtMt/LPYwUjOEg8Ggy6XK/az2e8MoS1btqxevZoQMmvWLL/fn+KzCYJALTrEG/u0pP6/ZGTFXjVPcph8NDHGZFm2qnULdzqllFJq4U6nlIqiNWdtxAJ6aH0CByE57lTv7Iz3102+083xfa7hSL4hPB5Pc3Nz7Of+//cuv/zyyy+/nBDS2dnZ3d2d4rO53e5QKDSC5aVOURRFUXp6eixpXZZl0zR13ZqDJ36/PxQKadrA5RQyw8KdLkmS2+1O/f05ssT/2979hbL3xnEAP5uxqbWVmiaSNhIXckOKms65XeRGieTCnyLE1SSSYoeUcsO4cKG4kCvNrnahJNFS/iXtxLKSFZu0tlnje7FS9vPT79dP5/P8Ou/X1Up53qfVu2fPOed5NJqsrKxEIkEyusFgSCQSVKP//KXrdDqqnzUs+M2fDxUVFRcXFx8fHzc3NyUlJb/4nwEAFOg/zaDn5uYkScrOzpYkqbe3Ny8vr6GhYXJykuO4/v7+X0oIAKBQKjlXG8PhcOofv9qJJQ6S0RW+xBGJREhGxxLH3/1Vp9Pp9Xo58zBF0XdIAQBYhoIGAGAUChoAgFEoaAAARqGgAQAYhYIGAGAUChoAgFGyvvv/b/c9odowKB6PR6NRwn1zOLprD4VCOTk5VKNzdBeeTCZDoVBubi7J6Gq1WqVSUV3709OTRqOh2gmE+/FLp9qbhRGyvqjyf+HxeDwez9LSEnUQAh0dHUNDQ7W1tdRB5Obz+RYWFra2tqiDEBgdHeV53m63UweBTFjiAABgFAr6G8XFxfX19dQpaPA8bzKZqFMQMJlMPM9Tp6BRV1dXXFxMnQK+gSUOAABGYQYNAMAosvu2bJIkaW1tLX1PeXh4OD8/nzqRfJ6fn0VRzM7Ofnt76+vrKy0tpU4kq7u7u+Hh4cXFRYvFQp1FPvF4vKurK33Jra2t1dXV1IngCyxxfPHy8qLVanU63cHBwdnZmaJ2tX5/f08fvHR+fu52ux0OB3UiWc3Pz4fD4Z6eHqUV9PT09OzsLHUQ+B5m0F8Yjcb0B8KHUql8PqUei8UUVVIcx11eXhYWFirz+LtAIOBwOMxmc3d3t5J3XmYT1qC/EY1Gt7e3m5ubqYPILRgMjo+PLy8vV1VVUWeR1c7OTktLC3UKAlqt1uVyiaJosVg2Njao40AmFHSmZDIpimJ7e7vZbKbOIreioqKZmZmJiYmVlRXqLPI5OjqqrKz8PJBeUVQqVXrWbLPZJEmijgOZUNBffHx8LC4u2my2mpoa6ixy+zzmSq/XK+oc5dvb29PT06mpqaurq5WVFaqjzkjE4/H0XaiLi4uCggLqOJAJa9BfHB4e+ny+19fX/f39srKyzs5O6kTyubm52dzcVKvVqVSqp6eHOo582tra0h9EUWxtbTUYDLR55OT3+9fX13U6nVqtHhwcpI4DmfAUBwAAo7DEAQDAKBQ0AACjUNAAAIxCQQMAMAoFDQDAKBQ0sGV6elqZr1wD/BUeswO2aDSaeDxOeD4eADswgwa5uVyugYEBjuOOj49VKtXJyQnHcf39/aurq2NjY6lUShCExsbGWCxGnRSAGGbQIDe/32+326+vr51O5+7ublNTk8PhKC8v39vbs1qtmEEDfMIMGuRWWloai8WCwaDX63U6nV6v9/7+PpFIWK1W6mgAbEFBAwGe591u9+Pjo81me3h4cLvdij2wFeAHKGggIAiC0+lMH51eX18viqIgCOk/GY3GSCRCmg6AFShoIMDzfCAQSJeyIAiBQOBzBj0yMtLQ0FBdXY2bhAC4SQgAwCjMoAEAGIWCBgBgFAoaAIBRKGgAAEahoAEAGIWCBgBgFAoaAIBRfwC7LiabqJyZPQAAAABJRU5ErkJggg==\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%R\n", "suppressMessages(library(ggplot2))\n", "\n", "data(mtcars, package=\"datasets\")\n", "\n", "p <- ggplot(mtcars) +\n", " aes_string(x='wt', y='mpg', col='factor(cyl)', size=10) +\n", " geom_point(alpha = 0.5) +\n", " ggtitle('Something about cars')\n", "\n", "p" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "After working in an R space, we can pull the data back out from it and into the Python context. For example:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "%%R -o my_r_tibble -o my_r_list\n", "\n", "library(tibble)\n", "\n", "my_r_df = iris\n", "my_r_tibble = as_tibble(iris)\n", "\n", "my_r_list = c('1', '2', '3', '4', '5')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We said we wanted the list to be output (`-o`), so here it is:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['1', '2', '3', '4', '5'], dtype='\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Sepal.LengthSepal.WidthPetal.LengthPetal.WidthSpecies
15.13.51.40.2setosa
24.93.01.40.2setosa
34.73.21.30.2setosa
44.63.11.50.2setosa
55.03.61.40.2setosa
\n", "" ], "text/plain": [ " Sepal.Length Sepal.Width Petal.Length Petal.Width Species\n", "1 5.1 3.5 1.4 0.2 setosa\n", "2 4.9 3.0 1.4 0.2 setosa\n", "3 4.7 3.2 1.3 0.2 setosa\n", "4 4.6 3.1 1.5 0.2 setosa\n", "5 5.0 3.6 1.4 0.2 setosa" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "my_r_tibble.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We did not pass the dataframe out though..." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'my_r_df' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mmy_r_df\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mNameError\u001b[0m: name 'my_r_df' is not defined" ] } ], "source": [ "#my_r_df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As well as getting data out of the R space and into the Pyhton space, we can go the other ay, and pass Python data into (`-i`) the R space:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%R -i fmri\n", "\n", "ggplot(fmri) +\n", " aes(x=timepoint, y=signal, col=region, linetype=event) +\n", " stat_summary(geom=\"line\", fun.y=mean) +\n", " theme_bw()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## And finally...\n", "\n", "There's a load of crazy Python packages out there (as there is R packages), providing a wealth of tooling to support particular applications. Here are few crazy examples I like..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Symbolic Computation\n", "\n", "Think Mathematica... write equations naturally and evaluate them numerically...\n", "\n", "Let's define some symbols..." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "from sympy import symbols\n", "x, y, z = symbols('x y z')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Suppose we have a particular expression:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\sqrt{\\frac{1}{x}}$" ], "text/plain": [ "sqrt(1/x)" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sympy import sqrt\n", "\n", "expression = sqrt(1/x)\n", "expression" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And we want to integrate it:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\int \\sqrt{\\frac{1}{x}}\\, dx$" ], "text/plain": [ "Integral(sqrt(1/x), x)" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sympy import Integral\n", "\n", "integral_indefinite = Integral(expression, x)\n", "integral_indefinite" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "How do we write that in *LaTeX*?" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\\int \\sqrt{\\frac{1}{x}}\\, dx\n" ] } ], "source": [ "from sympy import latex\n", "\n", "print(latex(integral_indefinite))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "How about we actually evaluate it?" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle 2 x \\sqrt{\\frac{1}{x}}$" ], "text/plain": [ "2*x*sqrt(1/x)" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "integral_indefinite.doit()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What about the definite form:" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\int\\limits_{0}^{\\pi} \\sqrt{\\frac{1}{x}}\\, dx$" ], "text/plain": [ "Integral(sqrt(1/x), (x, 0, pi))" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sympy import pi\n", "\n", "integral_definite = Integral(expression, (x, 0, pi))\n", "integral_definite" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And this evaluates as;" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle 2 \\sqrt{\\pi}$" ], "text/plain": [ "2*sqrt(pi)" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "integral_definite.doit()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also be more direct in evaulating an expression. For example:" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle 2 x \\sqrt{\\frac{1}{x}}$" ], "text/plain": [ "2*x*sqrt(1/x)" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sympy import integrate\n", "\n", "integrate(expression, x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can define a whole range of expressions, such as this summation:" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\sum_{i=1}^{\\infty} \\frac{1}{i^{2}}$" ], "text/plain": [ "Sum(i**(-2), (i, 1, oo))" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sympy import Sum, oo\n", "\n", "i = symbols('i')\n", "\n", "mysum = Sum(1/i**2, (i, 1, oo))\n", "\n", "mysum" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And then evaluate it symbolically:" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\frac{\\pi^{2}}{6}$" ], "text/plain": [ "pi**2/6" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mysum.doit()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or numerically:" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle 1.64493406684823$" ], "text/plain": [ "1.64493406684823" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mysum.evalf()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are tools available for simplifying expressions too. For example:" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\frac{\\sin{\\left(2 x \\right)}}{2}$" ], "text/plain": [ "sin(2*x)/2" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sympy import simplify, sin, cos\n", "\n", "x = symbols('x')\n", "expr = sin(x) * cos(x)\n", "simplify(expr)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In what is probably an abuse of the way `sympy` is supposed to be used, we can also express that as an equation:" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\sin{\\left(x \\right)} \\cos{\\left(x \\right)} = \\frac{\\sin{\\left(2 x \\right)}}{2}$" ], "text/plain": [ "Eq(sin(x)*cos(x), sin(2*x)/2)" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sympy import Eq\n", "\n", "Eq(expr, simplify(expr))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And get the *LaTeX*..." ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\\sin{\\left(x \\right)} \\cos{\\left(x \\right)} = \\frac{\\sin{\\left(2 x \\right)}}{2}\n" ] } ], "source": [ "print(latex(Eq(expr, simplify(expr))))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There's lots more you can do... a handy quickstart reference is https://pythonforundergradengineers.com/sympy-expressions-and-equations.html" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Other Examples\n", "\n", "Lots of other examples of things we can do in notebook, may of them graphically and interactively, here: https://github.com/psychemedia/showntell/blob/master/presentations/dept%20talk/Department%20Talk.ipynb\n", "\n", "Examples include, but aren't limited to:\n", "\n", "- drawing electrical circuit diagrams and modelling their behaviour;\n", "- 3d molecular visualisations;\n", "- drawing geometry diagrams;\n", "- musical score visualisation and analysis;\n", "- text analysis and visualisation." ] } ], "metadata": { "celltoolbar": "Slideshow", "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.6" } }, "nbformat": 4, "nbformat_minor": 4 }