{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Basic example cytometry workflow\n", "\n", "Welcome to `cytoflow`! I'm glad you're here. The following is a heavily commented workflow for importing a few tubes of cytometry data and doing some (very) basic analysis. The goal is to give you not only a taste of using the library for interactive work, but also some insight into the rationale for the way it's designed the way it is and the way it differs from existing projects.\n", "\n", "`cytoflow`'s goal is to enable *quantitative, reproducible* cytometry analysis. Reproducibility between cytometry experiments is poor, due in part to differences in analysis between operators; but if all your analysis is in a `Jupyter` notebook (like this one!), then sharing and reuse of workflows is much easier.\n", "\n", "Let's look at a very basic experiment, containing only two tubes. These two tubes contain cells that are expressing fluorescent proteins as the read-out of some cell state. We'll assume that these two tubes are identical, except that one has been induced with 1 µM of the small molecule inducer doxycycline (aka 'Dox') and the other tube has been induced with 10 µM Dox.\n", "\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Start by importing the `cytoflow` module." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import cytoflow as flow\n", "\n", "# if your figures are too big or too small, one way to scale them is by changing matplotlib's DPI\n", "import matplotlib\n", "matplotlib.rc('figure', dpi = 160)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The central data structure in `cytoflow` is the `Experiment`, which is basically a `pandas.DataFrame` containing the events; its associated metadata (experimental conditions and the like); and some methods to manipulate them. \n", "\n", "You usually create an `Experiment` using an instance of the `ImportOp` class. Start by defining two tubes, including their experimental conditions (ie, how much Dox is in each); then give those tubes, and a `dict` specifying the experimental conditions' names and types, to `ImportOp`. Call the `apply()` function to get back the `Experiment` with all the data in it." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "tube1 = flow.Tube(file = 'data/RFP_Well_A3.fcs',\n", " conditions = {'Dox' : 10.0})\n", "tube2 = flow.Tube(file='data/CFP_Well_A4.fcs',\n", " conditions = {'Dox' : 1.0})\n", "\n", "import_op = flow.ImportOp(conditions = {'Dox' : 'float'},\n", " tubes = [tube1, tube2])\n", "\n", "ex = import_op.apply()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Once you have an `Experiment` instance, this is the last time you should ever think about tubes or wells. Rather, think of your experiment as a very large set of single-cell measurements, each of which has some metadata associated with it; in this case, how much Dox the cell was exposed to. `cytoflow` helps you focus your analysis on how those measurements change as the experimental conditions change, without worrying about what cells were in what tube.\n", "\n", "---\n", "Let's have a quick look at one of the fluorescence channels, `Y2-A`. We plot data from `Experiment`s by instantiating view classes, parameterizing them, then calling `plot()`. So lets instantiate a `HistogramView` and tell it which channel we're looking at, then call `plot` and pass it the experiment containing the data. Remember, this is not a single tube, but rather all the data in the `Experiment`." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "hist = flow.HistogramView()\n", "hist.channel = 'Y2-A'\n", "hist.plot(ex)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hmmm. This plot is hard to interpret because most of the data is clustered around 0, in the linear range of the detector's response. Let's re-plot using a different scale. My favorite is `logicle`, a type of **biexponential** scale which has a linear response around 0 and a log range elsewhere. We specify the plot scale by setting the `scale` attribute of `HistogramView` to `logicle`; other options at the moment are `log` and `linear`.\n", "\n", "The cell below also demonstrates a different way to parameterize the `HistogramView` instance, by passing parameters to the constructor instead of setting the values of the instance's attributes after we make it. Either way is correct." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAs8AAAHUCAYAAADFi8VyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAABibAAAYmwFJdYOUAAA6z0lEQVR4nO3de1RU573/8c8IYjRgvSTgiYpgNIoaWpWLuqysJNYo9nhrUiCtbbSY2hoj6eXExDRoa6KnbRqq5sSQczRq6uVYg6ZdXs6xEThogyJYVLw0iajYSNWYqFWZAfbvD39MnQDyAMMMw7xfa2WFtfezn/3MzJPJhy/P3ttmWZYlAAAAAA1q5+0BAAAAAL6C8AwAAAAYIjwDAAAAhgjPAAAAgCHCMwAAAGCI8AwAAAAYIjwDAAAAhgjPAAAAgCHCMwAAAGCI8AwAAAAYIjwDAAAAhgjPAAAAgKFAbw8ATVddXa0bN25IkgIDA2Wz2bw8IgAAgNbJsixVVlZKkjp27Kh27ZpWQyY8+7AbN27o+PHj3h4GAACATxk4cKDuvvvuJh3Lsg0AAADAEJVnHxYY+M+Pb+DAgWrfvr3xsceOHZMkRUVFuX1cvoL3gPcArQdzEZ7GnPM/DofD+Rf72zNUYxGefdjta5zbt2+voKCgRh/bmGPaGt4D3gO0HsxFeBpzzr815zoxlm0AAAAAhgjPAAAAgCHCMwAAAGCI8AwAAAAYIjwDAAAAhgjPAAAAgCHCMwAAAGCI8AwAAAAYIjwDAAAAhgjPAAAAgCHCMwAAAGCI8AwAAAAYIjwDAAAAhgjPAAAAgCHCMwAAAGAo0NsDAPzJ+l3H69z+xKMDPTwSAADQFFSeAQAAAEOEZwAAAMAQ4RkAAAAwRHgGAAAADPn0BYPbtm3TwYMHdeTIEZ08eVIOh0NLlizRtGnT6mzvcDi0atUqbd26VWVlZQoJCdHIkSOVlpam3r1713lMSUmJli1bpsLCQlVUVCgyMlLJyclKSkqSzWZzyzkAAADgG3w6PP/2t7/VuXPn1LVrV4WGhurcuXP1tq2urtbcuXO1Z88e9evXT9OnT9fFixe1Y8cO5eXlacOGDerbt6/LMQUFBZoxY4Ysy9L48eMVFham3Nxcpaen68SJE0pPT2/2OQAAAOA7fDo8L168WH369FHPnj2VmZmpV199td6227Zt0549exQTE6PVq1crKChIkjRp0iSlpqZq0aJFWrNmjbN9ZWWlFixYILvdrszMTCUkJEiS5s2bp9TUVK1fv16JiYmKjY1t8jkAAADgW3x6zfOoUaPUs2dPo7abNm2SJKWlpTlDrSSNHj1ao0aN0gcffKDS0lLn9vz8fJWWlio+Pt4ZnCUpKChIaWlpLn029RwAAADwLT5deTZVUVGh4uJiderUScOGDau1f8yYMdq7d68OHDigiIgISdL+/fsl3Qq+XzR06FCFhIQ42zT1HHdy/vz5BttUVVU12AYAAADu4xfh+cyZM6qqqlKvXr0UEBBQa3+fPn0kyaUqfOrUKZd9t7PZbAoPD9fRo0d148YNdezYsUnnuJPbq9316datm1asWCFJOnbsWJ0XMNbH4XBIkoqLi42PaWu88R6Ul1+uc3txsd1jY7gd8wCtBXMRnsac8z+WZbmlH59etmHq6tWrkqTg4OA694eEhLi0k6Rr16657GvomKacAwAAAL7FLyrPDWnKbyI1x5hWext7jpycnAbbVFVVOZd3REVFuayzbkjNb9rR0dGNGldb4o334Mgnx+vcHh090GNjuB3zAK0FcxGexpzzP3a7XYcPH252P34RnmuqvjXV5C+qq8pcU0Gur1Jcc0xNu6ac40569OjRYBu73W60NhoAAADu4RfLNsLDwxUQEKCysrI6L7I7ffq0JLlcyBcZGemy73aWZens2bMKCwtTx44dm3wOAAAA+Ba/CM8dOnRQdHS0rl+/rsLCwlr7c3NzJcnlns1xcXGSpLy8vFrti4qKdOXKFWebpp4DAAAAvsUvwrMkJSUlSZIyMjJkt//zzgZ5eXnat2+fRowY4VIVjo+PV0REhPLz813WHzscDmVkZLj02dRzAAAAwLf49JrnzZs36+DBg5KkkydPOrfV3H95+PDhevzxxyVJkydP1s6dO5Wdna2pU6cqISFBly5d0vbt29W5c2e99NJLLn0HBgZq8eLFmjlzpubMmaMJEyYoNDRUubm5OnnypFJSUmpVkRt7DgAAAPgWnw7PBw8eVFZWlsu2wsJCl2UTNeG5Xbt2Wr58uVatWqWsrCytXbtWwcHBGjdunNLS0tS7d+9a/cfGxmrjxo1avny5srOzVVFRoYiICC1cuFDJycm12jflHAAAAPAdNstdd4yGx91+y5UHH3yQW9U1kjfeg/W76r5V3ROPcqs6+DfmIjyNOed/mpObbuc3a54BAACA5iI8AwAAAIZ8es0z0FrVtzwDAAD4NirPAAAAgCHCMwAAAGCI8AwAAAAYIjwDAAAAhgjPAAAAgCHCMwAAAGCI8AwAAAAY4j7PQCvQ2h7bDQAA6kblGQAAADBEeAYAAAAMEZ4BAAAAQ4RnAAAAwBDhGQAAADBEeAYAAAAMEZ4BAAAAQ4RnAAAAwBDhGQAAADDEEwYBQzwFEAAAUHkGAAAADBGeAQAAAEOEZwAAAMAQ4RkAAAAwRHgGAAAADBGeAQAAAEOEZwAAAMAQ4RkAAAAwRHgGAAAADBGeAQAAAEOEZwAAAMBQoLcHAPi69buOe3sIAADAQ6g8AwAAAIYIzwAAAIAhwjMAAABgiPAMAAAAGCI8AwAAAIYIzwAAAIAhblUHtGL13QbviUcHengkAABAIjzDj/3p0GVJ0pFPXAMqwRQAANSHZRsAAACAIcIzAAAAYIjwDAAAABhizTPgg7iQEAAA76DyDAAAABgiPAMAAACGCM8AAACAIcIzAAAAYIjwDAAAABgiPAMAAACGCM8AAACAIe7zDHxBffdQBgAA8LvwbFmWdu3apXfeeUenTp3SP/7xD4WFhWnEiBFKTU1V7969Xdo7HA6tWrVKW7duVVlZmUJCQjRy5EilpaXValujpKREy5YtU2FhoSoqKhQZGank5GQlJSXJZrN54mUCAACgBfhdeH755Ze1bt063XvvvRo7dqzuvvtuHTt2TBs3btQf//hHbdy4Uf3795ckVVdXa+7cudqzZ4/69eun6dOn6+LFi9qxY4fy8vK0YcMG9e3b16X/goICzZgxQ5Zlafz48QoLC1Nubq7S09N14sQJpaene+NlAwAAwA38KjxfuHBB77zzjv7lX/5F7733njp37uzcl5mZqVdffVVr1qzR4sWLJUnbtm3Tnj17FBMTo9WrVysoKEiSNGnSJKWmpmrRokVas2aNs4/KykotWLBAdrtdmZmZSkhIkCTNmzdPqampWr9+vRITExUbG+vBVw0AAAB38asLBs+dOyfLsvSVr3zFJThLcgbdy5cvO7dt2rRJkpSWluYMzpI0evRojRo1Sh988IFKS0ud2/Pz81VaWqr4+Hhnf5IUFBSktLQ0lz4BAADge/yq8tynTx+1b99ehw4d0pUrV1wCdHZ2tiRp5MiRkqSKigoVFxerU6dOGjZsWK2+xowZo7179+rAgQOKiIiQJO3fv1/SrXD9RUOHDlVISIizTUPOnz/fYJuqqiqjvgAAAOAefhWeu3btqp/85CdaunSpEhMT9cgjjyg4OFglJSU6cOCAvvWtbyklJUWSdObMGVVVValXr14KCAio1VefPn0kyaXyfOrUKZd9t7PZbAoPD9fRo0d148YNdezY8Y5jvb1yXZ9u3bppxYoVkqRjx4416mJEh8MhSSouLjY+pq2p+eWjvLzcyyNxn+Jie6PaMw/QWjAX4WnMOf9jWZZb+vGr8CxJTz75pEJDQ/Xiiy9q48aNzu0xMTGaOHGiMyhfvXpVkhQcHFxnPyEhIS7tJOnatWsu++50TEPhGQAAAK2P34XnN954Q8uWLdOTTz6pb3/72+ratatOnDihV155Rd/5zne0bNkyPfLIIw3205TfXmqOMakQ5+TkNNimqqrKubwjKirKZV12Q2p+046OjjY+pq3506Fb73FYWJiXR+I+0dEDG9WeeYDWgrkIT2PO+R+73a7Dhw83ux+/Cs9//vOflZGRoXHjxum5555zbh86dKjeeOMNPfLII1qyZIkeeeQRZ5W4ppr8RXVVmWuq1LdXo+s6pr5q9u169OjRYBu73W60Ntrf8dATAADgLn51t42aam5cXFytfffcc4/uv/9+nT17VleuXFF4eLgCAgJUVlZW54V5p0+fliTnxYKSFBkZ6bLvdpZl6ezZswoLC2PJBgAAgI/yq/Bcc3HA7beju92nn34qm82m9u3bq0OHDoqOjtb169dVWFhYq21ubq4kudyzuSaU5+Xl1WpfVFSkK1eu1BncAQAA4Bv8KjzX3HLuv//7v/X3v//dZd/mzZv1ySefKDo62lkZTkpKkiRlZGTIbv/nXQzy8vK0b98+jRgxwqXyHB8fr4iICOXn57usWXY4HMrIyHDpEwAAAL7Hr9Y8jx8/Xhs2bNCBAweUmJior33ta+ratauOHz+uvXv3qkOHDnr++eed7SdPnqydO3cqOztbU6dOVUJCgi5duqTt27erc+fOeumll1z6DwwM1OLFizVz5kzNmTNHEyZMUGhoqHJzc3Xy5EmlpKTwdEEAAAAf5lfhOSAgQKtWrdLbb7+tHTt2aMeOHXI4HOrevbsmTZqk73//++rXr5+zfbt27bR8+XKtWrVKWVlZWrt2rYKDgzVu3DilpaWpd+/etc4RGxurjRs3avny5crOzlZFRYUiIiK0cOFCJScne/LlAgAAwM38KjxLtx6V/dRTT+mpp54ybj979mzNnj3b+ByDBw/WypUrmzpEAAAAtFJ+teYZAAAAaA7CMwAAAGCI8AwAAAAYIjwDAAAAhgjPAAAAgCHCMwAAAGCI8AwAAAAYIjwDAAAAhgjPAAAAgCHCMwAAAGCI8AwAAAAYIjwDAAAAhgjPAAAAgCHCMwAAAGCI8AwAAAAYIjwDAAAAhgjPAAAAgCHCMwAAAGCI8AwAAAAYIjwDAAAAhgjPAAAAgCHCMwAAAGCI8AwAAAAYIjwDAAAAhgjPAAAAgCHCMwAAAGCI8AwAAAAYCvT2AAB3Wb/ruLeHAAAA2jgqzwAAAIAhwjMAAABgiGUbQBtS39KVJx4d6OGRAADQNlF5BgAAAAwRngEAAABDhGcAAADAEOEZAAAAMER4BgAAAAwRngEAAABDhGcAAADAEOEZAAAAMER4BgAAAAwRngEAAABDhGcAAADAEOEZAAAAMER4BgAAAAwRngEAAABDhGcAAADAEOEZAAAAMER4BgAAAAwRngEAAABDhGcAAADAkNvD8/PPP6/f//73DbZ799139fzzz7v79AAAAECLcXt4zsrK0sGDBxtsV1hYqK1bt7r79AAAAECLCfTWiSsrK9WuHatG0Hjrdx339hAAAICf8lp4/utf/6ouXbp46/TavXu3NmzYoCNHjuj69eu69957NWTIED377LOKjIx0tnM4HFq1apW2bt2qsrIyhYSEaOTIkUpLS1Pv3r3r7LukpETLli1TYWGhKioqFBkZqeTkZCUlJclms3nqJQIAAMDN3BKev7h2ubCwsN71zFVVVfroo49UUlKicePGueP0jWJZltLT07Vp0yb17t1biYmJCg4O1oULF1RQUKDS0lJneK6urtbcuXO1Z88e9evXT9OnT9fFixe1Y8cO5eXlacOGDerbt69L/wUFBZoxY4Ysy9L48eMVFham3Nxcpaen68SJE0pPT/f4awYAAIB7uCU8Z2VlOX+22Ww6ffq0Tp8+fcdjBg4cqJ/+9KfuOH2jrF27Vps2bVJSUpJeeuklBQa6vgWVlZXOn7dt26Y9e/YoJiZGq1evVlBQkCRp0qRJSk1N1aJFi7RmzRqXYxcsWCC73a7MzEwlJCRIkubNm6fU1FStX79eiYmJio2N9cArBQAAgLu5JTyvXbtW0q2q7ne/+1199atf1axZs+ps2759e4WGhqpnz57uOHWj3Lx5U6+//rp69uypn/3sZ7WCsySXbZs2bZIkpaWlOYOzJI0ePVqjRo3S3r17VVpaqoiICElSfn6+SktLFR8f7wzOkhQUFKS0tDSlpKRo06ZNRuH5/PnzDbapqqpqsA0AAADcxy3hOS4uzvnz1KlTNXz4cJdtrUVeXp4+//xzTZ06VZZlaffu3fr444919913Ky4uTv3793e2raioUHFxsTp16qRhw4bV6mvMmDHau3evDhw44AzP+/fvl3QrXH/R0KFDFRIS4mzTkNvDd326deumFStWSJKOHTvWqPXUDodDklRcXGx8TGtRXn7ZLf3U/PJRXl7ulv5as+Jie53bfXkeoG1hLsLTmHP+x7Ist/Tj9gsGlyxZ4u4u3ebo0aOSblW/p0yZoo8++shl/9SpU/WLX/xC7du315kzZ1RVVaVevXopICCgVl99+vSRJJWWljq3nTp1ymXf7Ww2m8LDw3X06FHduHFDHTt2dNfLAgAAgId47W4b3nDp0iVJ0qpVqzRo0CBt3rxZ999/v44dO6af/exnysrK0j333KOf/OQnunr1qiQpODi4zr5CQkIkydlOkq5du+ay707HNBSec3JyGnw9VVVVzuUdUVFRLktLGlLzm3Z0dLTxMa3FkU/cc6u6mopzWFiYW/przaKjB9a53ZfnAdoW5iI8jTnnf+x2uw4fPtzsflokPJ86dUpvvfWW8vPzdeHCBeefRr7IZrOppKSkJYZQp5pyffv27fX66687Q1NMTIyWLVumSZMm6Z133tEzzzxj3FdTzm+yvKJHjx4NtrHb7UZrowEAAOAebg/PR44c0fTp03Xz5k1ZlqUvfelLuueee9x9miapqfwOGTKkVrWxf//+6t27t06fPq2PPvrI2bammvxFdVWZa6rUt1ej6zqmvmo2AAAAWje3h+fXXntNN27cUHJysp555hl169bN3adospr7Nze0rOLmzZsaNGiQAgICVFZWpqqqqlrrnmtuxVdzseDt/dd1mz7LsnT27FmFhYWx3hkAAMBHuT08Hzp0SP3799fChQvd3XWzjRgxQpL08ccf19rncDh05swZSVLPnj3VoUMHRUdHq6ioSIWFhbVuL5ebmytJLtvj4uK0cuVK5eXl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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "hist = flow.HistogramView(channel = 'Y2-A',\n", " scale = 'logicle')\n", "hist.plot(ex)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ah, much better. There is clearly a population of cells around 0 and a population of cells around about 5000. But! This is the entire `Experiment` -- is is one of the populations from the low-Dox tube and the other population from the high-Dox tube?\n", "\n", "Let's see if the histogram is different for the two different concentrations of inducer. `cytoflow`'s plotting takes inspiration from Trellis plots (eg the lattice package in R): to split the data into subsets, you tell the plotting module which metadata \"facet\" you want to plot in the X, Y and color (hue) axes.\n", "\n", "This time, we tell `HistogramView` to make a separate plot for each different value of Dox and stack them on top of eachother by saying `yfacet = 'Dox'`; if we wanted the plots side-by-side, we would have said `xfacet = 'Dox'`. \n", "\n", "Also note that this time, we don't keep around the `HistogramView` object; if we don't need to re-use it, we can just call `plot` right after the constructor." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAs8AAAO0CAYAAABa4NsBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAABibAAAYmwFJdYOUAACJuUlEQVR4nOzdf1zV9cH//+cBxCAwtQI/IQhmKWk0lR9KJq3LmdouDa+8ge2y0rHGpubp2rVlcxPt8rqybRWJLUeF022mlxXa1Uyvy8WPgYkiNFRU+iEqLsycpiZxDofz/cPvOXEE5I0cOBx43G+3bsP368f79T69R8/z8vV+vU12u90uAAAAAG3y8fQAAAAAAG9BeAYAAAAMIjwDAAAABhGeAQAAAIMIzwAAAIBBhGcAAADAIMIzAAAAYBDhGQAAADCI8AwAAAAYRHgGAAAADCI8AwAAAAYRngEAAACDCM8AAACAQYRnAAAAwCDCMwAAAGCQn6cHAAC90X333aeTJ086/+zj46Prr79eN9xwg26//XaNHTtWDz74oG666SYPjtKz9u7dqz179mj//v06cOCATp8+LUk6cuRIh/p97733tH79emc/I0aM0KOPPqr777+/w2MG0POZ7Ha73dODAIDexhGeJ0yYoJtvvlmSdOnSJX3++eeqrKxUfX29+vTpo/T0dP3oRz+Sr6+vh0fc9WbMmKHDhw83O96R8JyZmalXXnlF/v7+uvvuuyVJxcXFslgsWrhwoRYsWHDNfQPoHZh5BgAPevzxx5WQkOBy7NKlS/rv//5vvfjii8rKytLnn3+uZ555xkMj9JzExERNnjxZo0aNUnR0tO65554O9bdv3z698sor6tevnzZu3Khbb71VkvTJJ58oNTVVWVlZuueee3TXXXe5Y/gAeijWPANANxMYGKjHHntMa9aska+vrzZt2qSioiJPD6vLPfXUU5o/f76SkpI0cODADvf32muvSZLS09OdwVmSbr31Vv3whz+UJL366qsdPg+Ano3wDADd1Pjx4zVt2jRJ0u9///tm5RaLRa+//rqSk5M1evRofetb31JycrJycnJksVic9RobGzVnzhwNHz5cq1evbtbPZ599pvj4eN1xxx3at29fp12PJ1ksFhUXF0uSpk6d2qzc8Tn/9a9/dfnsAOBKhGcA6Ma++93vSpJKS0tltVqdx+vq6vTII4/oV7/6lU6cOKHExETdfffdOnHihJ577jk99thj+vrrryVdfhjx17/+tfr376/f/va3LgHZZrPp3//93/Xll1/qxz/+scaOHdu1F9hFPv30U9XX12vAgAG65ZZbmpXfcsst6t+/v77++mtVV1d3/QABeA3WPANANxYdHS3pclg+efKkIiMjJUkvvviiysvLdeedd+rVV1/VgAEDJEn/+Mc/lJaWpn379umll17SU089JUkaNGiQVqxYoQULFuinP/2ptm7dquDgYL3yyisqLS1VbGysfvSjHxkeV1ZWVouz2FcTFham999/v11t3OXvf/+7pMufQ2sGDRqkc+fO6eTJk7r99tu7amgAvAzhGQC6MUcolqQvv/xS0uUgvXnzZknSsmXLXOoMHDhQy5Yt06xZs7Rx40YtWrRI1113nSTpO9/5jlJTU7Vx40ZlZGToe9/7nn7729/qhhtu0K9//et27egRHR2t5OTka76WrvbVV19JkgICAlqtExgY6FIXAFpCeAaAbqzpbqImk0mSdPDgQV26dEm33XabRo0a1axNTEyMbr31Vn3yySc6cOCAYmNjnWVPP/209u3bpz//+c8qKCiQzWbTM8880+JShquZNGmSJk2adI1X1fUcn6PjM7xaHQC4GtY8A0A3dvbsWefPN9xwgyTp1KlTkqTBgwe32i48PFyS9Pnnn7scv+6667Ry5UpJ0sWLFzVz5kxNmTLFrWPujq6//npJl7cBbI1jjbijLgC0hJlnAOjGKisrJV1eUhAWFuaWPv/85z87fz58+LAsFov8/f3b1cfOnTu1c+fOdrUZMGCAcw12V3N8drW1ta3WcZS1dxYeQO9CeAaAbswRdOPi4uTnd/lXdmhoqCSppqam1XaOspCQEJfjRUVFWrt2rW6++WbdfvvtKi4u1gsvvKDFixe3a1yHDh1Sbm5uu9qEhYV5LDxHRUWpb9++Onv2rD777DP9v//3/1zKP/vsM509e1bXXXedoqKiPDJGAN6B8AwA3dQHH3ygbdu2SZLmzp3rPD5y5EgFBAToo48+UmVlpe644w6Xdvv379fHH3+swMBAlzXR//jHP5wh+bnnnlN0dLSmT5+u3//+97r77rvb9Qa/hQsXauHChR25vC7Vt29fJSYmKi8vT9u3b3f5PCXpvffekyRNmDCh3bPwAHoX1jwDQDdTV1en3//+90pPT1djY6MefvhhjR8/3lkeEBCgWbNmSZKWL1/u3IVDurxGevny5ZKk1NRU504bkrR48WKdPn1ac+fO1d13362BAwfqueeec5adOXOmKy6vU1VUVGjKlCktruP+/ve/L0l65ZVX9MknnziPf/LJJ1qzZo0kKS0trWsGCsBrmew8XgwAXe6+++7TyZMnNWHCBN18882SLj/M9vnnn6uyslL19fXq06ePfvSjHyk9Pb3ZNnJ1dXWaO3euysvL1a9fP40bN052u10lJSU6f/68xo4dq5ycHGd4Xrdunf7rv/5LI0eO1MaNG11mV5977jnl5OQoKSlJv/vd7666I0VX2rx5s3NLPkn629/+Jkm66667nMdmzZrl/CIhSSUlJXrkkUckSUeOHGnW5wsvvKDf/e53zploSdq1a5fq6+v14x//WIsWLeqUawHQc7BsAwA8qKioSNLlLdSuv/563XDDDUpMTFRcXJxmzJihm266qcV2AQEBWrdunf7whz/o3XffVWFhoUwmkyIjI5Wenq45c+Y4A/Lhw4f1m9/8RoGBgXr++eebLUt48sknVVJSooKCAq1fv16PPvpo5160QbW1tc7A3FTTY+1ZaiJJ//Zv/6YRI0Zo/fr1KikpkSTdcccdevTRR1t8bTcAXImZZwAAAMAg1jwDAAAABhGeAQAAAIMIzwAAAIBBhGcAAADAIMIzAAAAYBDhGQAAADCI8AwAAAAYRHgGAAAADCI8AwAAAAYRngEAAACD/Dw9AHyjsbFRdXV1kiQ/Pz+ZTCYPjwgAAKBnsNvtamhokCQFBATIx+fa5pC9Ojy//fbbevrpp69aZ9y4cVq3bp3zz1arVTk5OdqyZYtqamoUHBys8ePHy2w2Kzw8vMU+KisrtWrVKpWVlam+vl5RUVFKTU1VSkqKWwNuXV2dDh8+7Lb+AAAA0NyIESN0/fXXX1Nbrw7P0dHRWrBgQYtlO3bs0EcffaQJEyY4jzU2NmrhwoXKy8vTsGHDNGfOHH3xxRd67733VFRUpDfeeENDhw516ae0tFRz586V3W7XlClTFBoaqsLCQmVkZOjIkSPKyMjo1GsEAABA92Gy2+12Tw/C3SwWi+655x5dvHhRBQUFuummmyRJubm5Wrx4sWJjY7V27Vr5+/tLkoqKipSWlqaEhASXWeqGhgY98MADqq6uVnZ2tpKSkpz9p6WlqaSkRH/84x8VFxfnlnHX19frwIEDki5/I+rTp4/htocOHZJ0+QtFb8bn8A0+C3RH3JfwJO6/3s1qtTr/hn/UqFHq27fvNfXj1TPPrdm5c6fOnTunSZMmOYOzJG3atEmSZDabncFZkiZMmKDExEQVFxerurpakZGRkqSSkhJVV1crISHBGZwlyd/fX2azWbNnz9amTZvcFp6bLgHp06ePyxiNtm1Pm56Iz+EbfBbojrgv4Uncf3DoyLLbHhme33zzTUnSrFmznMfq6+tVUVGhwMBAjRkzplmbiRMnqri4WHv37nWG5z179kiSy9IPh9GjRys4ONhZpy21tbVt1rHZbIb6AgAAgGf0uPB88uRJffDBBwoNDdU999zjPH78+HHZbDYNHjxYvr6+zdoNGTJEklRdXe08dvToUZeypkwmkyIiInTw4EHV1dUpICDgquNqOnPdmoEDB2r16tWSLv/VUnu+FVmtVklSRUWF4TY9EZ/DN/gs0B1xX8KTuP96N3etVO5x+zy//fbbamxs1MyZM11C8oULFyRJQUFBLbYLDg52qSdJFy9edCkz0gYAAAA9V4+aeW5sbNTbb78tk8mkf/mXf2lX22v5NuJoY2SGuKCgoM06NpvNubwjOjq6XWuyHN+iY2JiDLfpifgcvsFnge6I+xKexP3Xu1ksFu3fv7/D/fSo8FxcXKy///3vGj9+fLM9mx2zxI7Z5Cu1NMvsmKVubWbZ0aa12eymBg0a1GYdi8ViaG00AAAAPKNHLdto6UFBh4iICPn6+qqmpqbFB/OOHTsmSc6HBSUpKirKpawpu92uEydOKDQ0tM31zgAAAOgZekx4Pnv2rP7yl7+of//++s53vtOsvG/fvoqJidGlS5dUVlbWrLywsFCSXLadi4+Pl3R5H+grlZeX6/z58846AAAA6Pl6THjeunWrrFar/vmf/7nVtcIpKSmSpMzMTFksFufxoqIi7dq1S+PGjXOZeU5ISFBkZKRKSkpc1ixbrVZlZma69AkAAICer8eseX7rrbcktbxkw2HGjBnavn278vPzlZycrKSkJJ05c0bbtm1Tv379tHTpUpf6fn5+WrFihebNm6f58+dr6tSpCgkJUWFhoaqqqjR79my3vSAFAAAA3V+PCM8VFRWqqqpSTEyMhg8f3mo9Hx8fZWVlKScnR7m5uVq/fr2CgoI0efJkmc3mZg8ZSpeXcWzcuFFZWVnKz89XfX29IiMjtWzZMqWmpnbmZQEAAKCb6RHhOSYmRkeOHDFU19/fX+np6UpPTzfc/8iRI7VmzZprHR4AAAB6iB6z5hkAAADobIRnAAAAwCDCMwAAAGBQj1jzDHjahh2HWzz+8P0jungkAACgMzHzDAAAABhEeAYAAAAMIjwDAAAABhGeAQAAAIMIzwAAAIBBhGcAAADAIMIzAAAAYBDhGQAAADCI8AwAAAAYRHgGAAAADCI8AwAAAAYRngEAAACDCM8AAACAQYRnAAAAwCDCMwAAAGAQ4RkAAAAwiPAMAAAAGER4BgAAAAwiPAMAAAAGEZ4BAAAAgwjPAAAAgEGEZwAAAMAgwjMAAABgEOEZAAAAMIjwDAAAABhEeAYAAAAMIjwDAAAABvl5egBAT7Zhx+EWjz98/4guHgkAAHAHZp4BAAAAgwjPAAAAgEGEZwAAAMAgwjMAAABgEOEZAAAAMIjwDAAAABjUI7aq27lzp9544w0dOHBAly5d0s0336xRo0bpySefVFRUlLOe1WpVTk6OtmzZopqaGgUHB2v8+PEym80KDw9vse/KykqtWrVKZWVlqq+vV1RUlFJTU5WSkiKTydRVl4huorWt5wAAQO/g1eHZbrcrIyNDmzZtUnh4uKZNm6agoCCdPn1apaWlqq6udobnxsZGLVy4UHl5eRo2bJjmzJmjL774Qu+9956Kior0xhtvaOjQoS79l5aWau7cubLb7ZoyZYpCQ0NVWFiojIwMHTlyRBkZGZ64bAAAAHiIV4fn9evXa9OmTUpJSdHSpUvl5+d6OQ0NDc6ft27dqry8PMXGxmrt2rXy9/eXJE2fPl1paWlavny51q1b59J2yZIlslgsys7OVlJSkiRp0aJFSktL04YNGzRt2jTFxcV1wZUCAACgO/DaNc9ff/21Xn75ZYWFhemXv/xls+AsyeXYpk2bJElms9kZnCVpwoQJSkxM1O7du1VdXe08XlJSourqaiUkJDiDsyT5+/vLbDa79AkAAIDewWtnnouKivTll18qOTlZdrtdO3fu1Keffqrrr79e8fHxuu2225x16+vrVVFRocDAQI0ZM6ZZXxMnTlRxcbH27t2ryMhISdKePXskXQ7XVxo9erSCg4OddYyora1ts47NZjPcHwAAALqe14bngwcPSpL69OmjBx98UJ988olLeXJysv7jP/5Dffr00fHjx2Wz2TR48GD5+vo262vIkCGS5DLzfPToUZeypkwmkyIiInTw4EHV1dUpICCgzfE2nb1uzcCBA7V69WpJ0qFDh9r1QKLVapUkVVRUGG7TE3X253Dq1Fm39FNRYXFLP1fDPYHuiPsSnsT917vZ7Xa39OO1yzbOnDkjScrJyVFgYKA2b96ssrIy/elPf9LQoUOVm5url156SZJ04cIFSVJQUFCLfQUHB7vUk6SLFy+6lBlpAwAAgJ7Na2eeHd8e+vTpo5dfflmhoaGSpNjYWK1atUrTp0/XH//4Rz3xxBOG+7qW8xudHS4oKGizjs1mcy7viI6Odlmb3RbHt+iYmBjDbXqizv4cDnzmnq3qYmJGuKWfq+GeQHfEfQlP4v7r3SwWi/bv39/hfrw2PDtmfkeNGuUMzg633XabwsPDdezYMX3yySfOuo7Z5Cu1NMvsmKVubWbZ0aa12ewrDRo0qM06FovF0NpoAAAAeIbXLttw7N/c1rKKr7/+WhEREfL19VVNTU2LD+UdO3ZMkpwPCzbt31HWlN1u14kTJxQaGmpovTMAAAB6Bq8Nz+PGjZMkffrpp83KrFarjh8/LkkKCwtT3759FRMTo0uXLqmsrKxZ/cLCQkly2bM5Pj5e0uVdPa5UXl6u8+fPO+sAAACgd/Da8BweHq6JEyfq2LFj2rx5s0tZdna2zp8/r9jYWIWEhEiSUlJSJEmZmZmyWL7Z6aCoqEi7du3SuHHjXGaeExISFBkZqZKSEpf1ylarVZmZmS59Au21YcfhFv8BAADdm9eueZakjIwMpaam6he/+IV27typoUOHqrKyUrt371b//v31zDPPOOvOmDFD27dvV35+vpKTk5WUlKQzZ85o27Zt6tevn5YuXerSt5+fn1asWKF58+Zp/vz5mjp1qkJCQlRYWKiqqirNnj2btwv2AK0F1ofv7/wH+gAAgPfx6vA8ePBgvfXWW8rKylJBQYGKi4vVv39/zZw5UwsWLFBYWJizro+Pj7KyspSTk6Pc3FytX79eQUFBmjx5ssxms8LDw5v1HxcXp40bNyorK0v5+fmqr69XZGSkli1bptTU1K68VAAAAHQDXh2eJSk0NFQrVqwwVNff31/p6elKT0833P/IkSO1Zs2aax0eAAAAehCvXfMMAAAAdDXCMwAAAGAQ4RkAAAAwiPAMAAAAGER4BgAAAAwiPAMAAAAGEZ4BAAAAgwjPAAAAgEGEZwAAAMAgwjMAAABgEOEZAAAAMIjwDAAAABjk5+kBAPjGhh2HWy17+P4RXTgSAADQEmaeAQAAAIMIzwAAAIBBhGcAAADAIMIzAAAAYBDhGQAAADCI3TbQo/zlw7OSpAOfue5awU4VAADAHZh5BgAAAAwiPAMAAAAGEZ4BAAAAgwjPAAAAgEGEZwAAAMAgwjMAAABgEOEZAAAAMIjwDAAAABhEeAYAAAAMIjwDAAAABhGeAQAAAIMIzwAAAIBBhGcAAADAIMIzAAAAYBDhGQAAADDIz9MDALrChh2HPT0EAADQAxCegRYQtgEAQEtYtgEAAAAYRHgGAAAADPLqZRv33XefTp482WLZhAkT9Prrr7scs1qtysnJ0ZYtW1RTU6Pg4GCNHz9eZrNZ4eHhLfZTWVmpVatWqaysTPX19YqKilJqaqpSUlJkMpncfk0AAADovrw6PEtScHCwHn300WbHIyIiXP7c2NiohQsXKi8vT8OGDdOcOXP0xRdf6L333lNRUZHeeOMNDR061KVNaWmp5s6dK7vdrilTpig0NFSFhYXKyMjQkSNHlJGR0anXBgAAgO7F68Nzv379tHDhwjbrbd26VXl5eYqNjdXatWvl7+8vSZo+fbrS0tK0fPlyrVu3zlm/oaFBS5YskcViUXZ2tpKSkiRJixYtUlpamjZs2KBp06YpLi6ucy4MAAAA3U6vWfO8adMmSZLZbHYGZ+ny8o7ExETt3r1b1dXVzuMlJSWqrq5WQkKCMzhLkr+/v8xms0ufAAAA6B28fubZYrFoy5Ytqq2tVVBQkGJiYhQTE+NSp76+XhUVFQoMDNSYMWOa9TFx4kQVFxdr7969ioyMlCTt2bNH0uVwfaXRo0crODjYWceI2traNuvYbDbD/QEAAKDreX14Pn36tJ566imXY9/61rf0m9/8xvkQ4PHjx2Wz2TR48GD5+vo262PIkCGS5DLzfPToUZeypkwmkyIiInTw4EHV1dUpICCgzXE2nb1uzcCBA7V69WpJ0qFDh9r1QKLVapUkVVRUGG7TEzm+gJw6dcrDI3G/igpLu+pzT6A74r6EJ3H/9W52u90t/Xh1eJ45c6bi4uI0bNgwBQQEqLq6Wq+//rreffddPfbYY/qf//kfBQYG6sKFC5KkoKCgFvsJDg6WJGc9Sbp48aJL2dXaGAnPAAAA8H5eHZ4XLFjg8uc77rhDzz//vCTp3Xff1ZtvvqlHHnmkzX6u5ZuIo43R2eGCgoI269hsNufyjujoaJe12W1xfIu+cslKb/OXDy9/zqGhoR4eifvFxIxoV33uCXRH3JfwJO6/3s1isWj//v0d7serw3NrHnroIb377rsqKyvTI4884pwldswmX6mlWWbHLHXT2eiW2rQ2m32lQYMGtVnHYrEYWhsNXp8NAAA8o0futjFgwABJUl1dnaTLez77+vqqpqamxYfyjh07JknOhwUlKSoqyqWsKbvdrhMnTig0NJQlGwAAAL1IjwzPf/vb3yRJYWFhkqS+ffsqJiZGly5dUllZWbP6hYWFkuSyZ3N8fLwkqaioqFn98vJynT9/3lkHAAAAvYPXhuePPvpI586da3a8qqpKL774oiTpu9/9rvN4SkqKJCkzM1MWyze7FhQVFWnXrl0aN26cy8xzQkKCIiMjVVJS4rJe2Wq1KjMz06VPAAAA9A5eu+Z5+/btys7OVnx8vMLDwxUQEKCjR4/qr3/9qxoaGvTjH//YZU/nGTNmaPv27crPz1dycrKSkpJ05swZbdu2Tf369dPSpUtd+vfz89OKFSs0b948zZ8/X1OnTlVISIgKCwtVVVWl2bNn83ZBAACAXsZrw3NCQoI++eQTHTp0SOXl5aqvr9eAAQN077336nvf+54SExNd6vv4+CgrK0s5OTnKzc3V+vXrFRQUpMmTJ8tsNjv3hG4qLi5OGzduVFZWlvLz81VfX6/IyEgtW7ZMqampXXWpAAAA6Ca8NjzHx8e3e82xv7+/0tPTlZ6ebrjNyJEjtWbNmvYODwAAAD2Q14ZnoLdpbXu+h+9v3/7PAADg2nntA4MAAABAVyM8AwAAAAYRngEAAACDCM8AAACAQYRnAAAAwCDCMwAAAGAQ4RkAAAAwiPAMAAAAGER4BgAAAAwiPAMAAAAGEZ4BAAAAgwjPAAAAgEGEZwAAAMAgwjMAAABgEOEZAAAAMIjwDAAAABhEeAYAAAAMIjwDAAAABhGeAQAAAIMIzwAAAIBBhGcAAADAIMIzAAAAYBDhGQAAADCI8AwAAAAYRHgGAAAADCI8AwAAAAYRngEAAACDCM8AAACAQYRnAAAAwCDCMwAAAGCQn6cHAFzNhh2HPT0EAAAAJ2aeAQAAAIMIzwAAAIBBhGcAAADAIMIzAAAAYBDhGQAAADCI8AwAAAAY1OPCc3Z2toYPH67hw4ertLS0WbnVatXvfvc7TZ06VXfeeacSExP1k5/8RCdOnGi1z8rKSqWnpys+Pl533XWXHnzwQW3cuFF2u70zLwUAAADdTI8Kzx999JGysrIUGBjYYnljY6MWLlyoF154QT4+PpozZ44mTJig//3f/9VDDz2kTz/9tFmb0tJSpaSkqKioSBMnTtS//uu/ymazKSMjQ88880xnXxIAAAC6EbeH56efflpvvvlmm/XefvttPf300247b0NDg5566ilFR0dr0qRJLdbZunWr8vLyFBsbq9zcXP3sZz/Tr371K73yyiv68ssvtXz58mZ9LlmyRBaLRS+//LJ+85vf6Kc//aneeustJSQkaMOGDdq7d6/brgEAAADdm9vDc25urvbt29dmvbKyMm3ZssVt533llVf00Ucf6b/+67/k6+vbYp1NmzZJksxms/z9/Z3HJ0yYoMTERO3evVvV1dXO4yUlJaqurlZCQoKSkpKcx/39/WU2m136BAAAQM/nsddzNzQ0yMfHPdn94MGDWrNmjZ544gkNGzasxTr19fWqqKhQYGCgxowZ06x84sSJKi4u1t69exUZGSlJ2rNnj6TL4fpKo0ePVnBwsLNOW2pra9usY7PZDPUFAAAAz/BYeP7oo4/Uv3//DvdjsVj01FNPafjw4UpLS2u13vHjx2Wz2TR48OAWZ6aHDBkiSS4zz0ePHnUpa8pkMikiIkIHDx5UXV2dAgICrjrOpjPXrRk4cKBWr14tSTp06JBMJlObbRysVqskqaKiwnAbb3Dq1Nl21Xd8ATl16lRnDKdbqqiwtHi8p94T8G7cl/Ak7r/ezV0bPbglPF+5drmsrKzV9cw2m02ffPKJKisrNXny5A6fOzMzU9XV1XrrrbdaXa4hSRcuXJAkBQUFtVgeHBzsUk+SLl686FJ2tTZthWegs/zlw5a/YEwc2fK9DgAArp1bwnNubq7zZ5PJpGPHjunYsWNXbTNixAj99Kc/7dB5y8vLtXbtWi1YsEDDhw/vUF/X8m3E0cbIDHFBQUGbdWw2m3N5R3R0tMu67LY4vkXHxMQYbuMNDnx2uF31HTPOoaGhnTEcr9Knz+UZ6Z52T8C79dTfVfAO3H+9m8Vi0f79+zvcj1vC8/r16yVdDpOPPvqo7rnnHv3gBz9osW6fPn0UEhKisLCwDp2zoaFBixcv1vDhw/X444+3Wd8xS+yYTb5SS7PMjlnqprPRLbVpbTa7qUGDBrVZx2KxGFobDQAAAM9wS3iOj493/pycnKyxY8e6HOsMly5dcq5PHjVqVIt1vve970mSXn75Zd1zzz3y9fVVTU2NbDZbsyUejplyx8OCkhQVFeVS1pTdbteJEycUGhrKkg032LCjfTPMAAAAnuD2BwafffZZd3fZIn9/fz300EMtlpWWlqq6ulrf/va3deONNyosLEx9+/ZVTEyMysvLVVZWpri4OJc2hYWFkuRyPD4+XmvWrFFRUVGz2e3y8nKdP3/e0IOAAAAA6Bk8tttGR1133XX6z//8zxbLFi9erOrqaqWlpSk2NtZ5PCUlReXl5crMzNTatWuda4qLioq0a9cujRs3zmXmOSEhQZGRkSopKVFBQYEzKFutVmVmZjr7BAAAQO/QKeH56NGjevXVV1VSUqLTp087t4a5kslkUmVlZWcMoUUzZszQ9u3blZ+fr+TkZCUlJenMmTPatm2b+vXrp6VLl7rU9/Pz04oVKzRv3jzNnz9fU6dOVUhIiAoLC1VVVaXZs2c3m8EGAABAz+X28HzgwAHNmTNHX3/9tex2u2644QbddNNN7j7NNfHx8VFWVpZycnKUm5ur9evXKygoSJMnT5bZbFZ4eHizNnFxcdq4caOysrKUn5+v+vp6RUZGatmyZUpNTfXAVQAAAMBT3B6eX3zxRdXV1Sk1NVVPPPGEBg4c6O5TtGnlypVauXJli2X+/v5KT09Xenq64f5GjhypNWvWuGt4AAAA8FJuD88ffvihbrvtNi1btszdXQMAAAAe5ePuDu12u2699VZ3dwsAAAB4nNvD84gRI3T8+HF3dwsAAAB4nNvD8w9/+EMdOnTI0OuoAQAAAG/i9jXPt912m37wgx9o0aJFzld1Dxo0SD4+Lef0W265xd1DAAAAADqF28PzfffdJ5PJJLvdruzsbGVnZ7dat6v3eQYAAAA6wu3hmZeGAAAAoKdye3j+wx/+4O4uAQAAgG7B7Q8MAgAAAD0V4RkAAAAwyO3LNlavXm24rslk0vz58909BAAAAKBTdEp4duy20RKTySTp8psICc8AAADwJm4Pz88++2yLxxsbG/XZZ5+pqKhIH374oebMmaM77rjD3acHAAAAOo3bw3NycvJVyxcsWKDVq1crJydHqamp7j49AAAA0Gk88sDg/PnzNXDgQGVmZnri9AAAAMA18Uh4NplMio6O1p49ezxxegAAAOCaeGyrurNnz+rrr7/21OkBAACAdnP7mmcjtm3bpn379vHAYC+zYcdhTw8BAACgQ9wenp9++ulWy7766isdPXpUH3/8sSTpBz/4gbtPDwAAAHQat4fn3NzcNuuEhYXJbDZrypQp7j49AAAA0GncHp7Xr1/falmfPn0UEhKisLAwd58WAAAA6HRuD8/x8fHu7hIAAADoFjy22wYAAADgbTptt40vvvhCmzdv1t69e3Xq1CmZTCaFhIQoPj5eDz30kG666abOOjUAAADQKTolPO/cuVOLFy/WV199Jbvd7jz+8ccf64MPPtBrr72mlStXatKkSZ1xegAAAKBTuD08Hz58WE8++aSsVqsmTpyo5ORkhYeHS5JqamqUm5urgoICPfnkk9q8ebNGjBjh7iEAAAAAncLt4Tk7O1sNDQ169tlnlZyc7FI2atQoTZkyRVu2bNHixYv16quv6vnnn3f3EAAAAIBO4fYHBvfs2aORI0c2C85NPfjggxo1apRKSkrcfXoAAACg07g9PJ87d06RkZFt1hsyZIjOnTvn7tMDAAAAncbtyzb69++vY8eOtVnv+PHj6t+/v7tPj25gw47Dnh4CAABAp3B7eI6NjdWOHTv0zjvvaPr06S3Weffdd7V//35NnTrV3acH8P/7y4dnJUkHPnP9MvPw/TykCwDAtXJ7eP7hD3+onTt36qmnntL27dv14IMPavDgwZIu77bxzjvv6P3331efPn30+OOPu/v0AAAAQKdxe3iOjo7Wr3/9a/385z/X+++/r7y8PJdyu92ugIAAPfvss4qOjnb36QEAAIBO0ykvSZk6darGjBmjzZs3q7S0VKdOnZIkhYaGKjY2VrNmzVJoaGhnnBoAAADoNJ32eu7Q0FAtWLCgs7oHAAAAupxbtqozm82aOXOmysrK2qxbVlammTNn6ic/+Yk7Tg0AAAB0mQ6H5127dmn79u26/fbbNWbMmDbrjxkzRrfddpu2bdum3bt3d/T0AAAAQJfpcHh+9913ZTKZ2rVE44knnpAkvfPOOx09PQAAANBlOhyey8vLNXz4cOd2dEaEhYVpxIgRKi8v7+jpAQAAgC7T4QcGa2trNXHixHa3i4iIUGFh4TWf12Kx6IUXXtD+/ft17Ngxffnll+rXr5/Cw8M1a9YsTZ8+XX369HFpY7ValZOToy1btqimpkbBwcEaP368zGazwsPDWzxPZWWlVq1apbKyMtXX1ysqKkqpqalKSUmRyWS65vEDAADA+3R45tlms11TiPTx8VFjY+M1n/frr7/Whg0bZDKZdO+992ru3LmaNGmSPv/8c/385z/XD3/4Q5f+GxsbtXDhQr3wwgvy8fHRnDlzNGHCBP3v//6vHnroIX366afNzlFaWqqUlBQVFRVp4sSJ+td//VfZbDZlZGTomWeeueaxAwAAwDt1eOb5xhtv1PHjx9vd7vjx4xo4cOA1nzc4OFilpaXy9/d3Od7Q0KB58+apuLhY77//viZNmiRJ2rp1q/Ly8hQbG6u1a9c6202fPl1paWlavny51q1b59LPkiVLZLFYlJ2draSkJEnSokWLlJaWpg0bNmjatGmKi4u75msAAACAd+nwzPOoUaN0+PBh1dTUGG5TU1OjQ4cOadSoUdd8XpPJ1Cw4S5Kfn58zMDcN9Zs2bZJ0eVu9pu0mTJigxMRE7d69W9XV1c7jJSUlqq6uVkJCgjM4S5K/v7/MZrNLn0bU1ta2+c/p06cN9wcAAICu1+GZ5ylTpuj//u//tGzZMmVnZ8vH5+p53G63a/ny5bLb7ZoyZUpHT99MY2Oj/vrXv0qSRowYIUmqr69XRUWFAgMDW9xOb+LEiSouLtbevXsVGRkpSdqzZ4+ky+H6SqNHj1ZwcLCzjhFNA3hrBg4cqNWrV0uSDh061K7lMFarVZJUUVFhuE1nOXXqrMfObbPZ/v8xnPLYGLqL1j6LigqLJ4YDSOpev6vQ+3D/9W52u90t/XQ4PE+bNk2vv/66iouL9f3vf1+//OUvNXTo0BbrHj16VCtWrNCuXbs0YsQIPfDAAx09vRoaGvTKK6/Ibrfr3Llz+uCDD/Tpp59q1qxZSkxMlHR5Btpms2nw4MHy9fVt1seQIUMkyWXm+ejRoy5lTZlMJkVEROjgwYOqq6tTQEBAh68DAAAA3V+Hw7PJZNLq1as1e/ZsffDBB3rggQcUHR2tkSNHOtc0nz17VgcOHNChQ4dkt9sVEhLinGHtKJvN5tKXyWTSvHnz9G//9m/OYxcuXJAkBQUFtdhHcHCwSz1JunjxokvZ1doYCc8FBQVt1rHZbKqtrZUkRUdHt7gspTWOb9ExMTGG23SWA58d9ti5HbOsoaGhHhtDd9HaZxETM8ITwwEkda/fVeh9uP96N4vFov3793e4nw6HZ0m65ZZblJubq4yMDO3cuVOVlZU6dOiQSx273S6TyaRJkyZp+fLluvHGG91xavXt21dHjhxRY2OjPv/8c73//vt68cUXVVZWptdee63V8Hvl2NrL0cbo0opBgwa1WcdisTjDMwAAALoft4Rn6fJ63aysLFVXVys/P1+VlZU6e/by2tcBAwbojjvuUFJSkqKiotx1Shc+Pj4aNGiQHn74YQ0YMEBms1kvv/yyFi9e7AzQjtnkK7U0y+yYpW46G91Sm9ZmswEAANDzuC08O0RGRuqxxx5zd7ft4njIz/FAX0REhHx9fVVTUyObzdZs3fOxY8ckyfmwoCRnyHeUNWW323XixAmFhoay3hkAAKAX6fBWdd2RY62nn9/l7wZ9+/ZVTEyMLl26pLKysmb1HW86bLpnc3x8vCSpqKioWf3y8nKdP3/eWQcAAAC9g9eG56qqKueykKbq6uq0cuVKSXJ5bXhKSookKTMzUxbLN1t1FRUVadeuXRo3bpzLzHNCQoIiIyNVUlLi8rCf1WpVZmamS58AAADoHdy+bKOr7NixQ6+++qri4+M1ePBgBQUF6dSpUyosLNS5c+c0ZswYff/733fWnzFjhrZv3678/HwlJycrKSlJZ86c0bZt29SvXz8tXbrUpX8/Pz+tWLFC8+bN0/z58zV16lSFhISosLBQVVVVmj17Nm8XBAAA6GW8Njzfe++9+vzzz1VeXq6//e1vunTpkoKCgnT77bfrgQce0EMPPeRctiFdfqAwKytLOTk5ys3N1fr16xUUFKTJkyfLbDYrPDy82Tni4uK0ceNGZWVlKT8/X/X19YqMjNSyZcuUmpralZfbLW3Y4bkt6QAAADzBa8PznXfeqTvvvLNdbfz9/ZWenq709HTDbUaOHKk1a9a0d3gAAADogbx2zTMAAADQ1QjPAAAAgEGEZwAAAMAgwjMAAABgEOEZAAAAMIjwDAAAABhEeAYAAAAMIjwDAAAABhGeAQAAAIMIzwAAAIBBhGcAAADAIMIzAAAAYBDhGQAAADCI8AwAAAAYRHgGAAAADCI8AwAAAAYRngEAAACDCM8AAACAQYRnAAAAwCDCMwAAAGAQ4RkAAAAwiPAMAAAAGER4BgAAAAwiPAMAAAAGEZ4BAAAAgwjPAAAAgEF+nh4Aur8NOw57eggAAADdAjPPAAAAgEGEZwAAAMAgwjMAAABgEOEZAAAAMIjwDAAAABhEeAYAAAAMIjwDAAAABhGeAQAAAIMIzwAAAIBBhGcAAADAIF7PDfQyrb1u/eH7R3TxSAAA8D5eG55PnTqlHTt2qKCgQJ9++qlOnz6toKAgxcTE6LHHHlNiYmKzNlarVTk5OdqyZYtqamoUHBys8ePHy2w2Kzw8vMXzVFZWatWqVSorK1N9fb2ioqKUmpqqlJQUmUymzr5MAAAAdCNeG57/8Ic/6NVXX1VERITGjx+vG2+8UceOHdPOnTtVUFCgxYsXa+7cuc76jY2NWrhwofLy8jRs2DDNmTNHX3zxhd577z0VFRXpjTfe0NChQ13OUVpaqrlz58put2vKlCkKDQ1VYWGhMjIydOTIEWVkZHT1ZQMAAMCDvDY8x8TE6E9/+pNiY2NdjpeWluqxxx7T888/r2nTpik0NFSStHXrVuXl5Sk2NlZr166Vv7+/JGn69OlKS0vT8uXLtW7dOmc/DQ0NWrJkiSwWi7Kzs5WUlCRJWrRokdLS0rRhwwZNmzZNcXFxXXTFAAAA8DSvfWBw8uTJzYKzJMXGxiohIUFWq1Xl5eXO45s2bZIkmc1mZ3CWpAkTJigxMVG7d+9WdXW183hJSYmqq6uVkJDgDM6S5O/vL7PZ7NKnEbW1tW3+c/r0acP9AQAAoOt57czz1fj5+bn8b319vSoqKhQYGKgxY8Y0qz9x4kQVFxdr7969ioyMlCTt2bNH0uVwfaXRo0crODjYWceIpgG8NQMHDtTq1aslSYcOHWrXmmqr1SpJqqioMNzGqFOnzrq9z85is9kkXV4T39u197OoqLB05nAASZ37uwpoC/df72a3293Sj9fOPLfm73//u3bt2qW+fftq7NixkqTjx4/LZrNp8ODB8vX1bdZmyJAhkuQy83z06FGXsqZMJpMiIiJ06tQp1dXVdcJVAAAAoDvqUTPPVqtVP/vZz2SxWLRo0SINGDBAknThwgVJUlBQUIvtgoODXepJ0sWLF13KrtYmICCgzbEVFBS0Wcdms6m2tlaSFB0d7bK8pC2Ob9ExMTGG2xh14LOWtzbrjhyzrI617r1Zez+LmBi2qkPn68zfVUBbuP96N4vFov3793e4nx4TnhsbG/Xzn/9ce/fu1aRJk5Senm647bVM4zvaGF1aMWjQoDbrWCwWZ3gGAABA99MjwrPdbtcvfvELvfPOO7rvvvv04osvysfnmxUpjllix2zylVqaZXbMUjedjW6pTWuz2d6otZdnAAAA4DKvX/PsmHF+6623dN999+mll15qttwhIiJCvr6+qqmpcT5E1dSxY8ckyfmwoCRFRUW5lDVlt9t14sQJhYaGGlqyAQAAgJ7Bq8NzY2OjlixZorfffluTJk3SqlWrWlwn3LdvX8XExOjSpUsqKytrVl5YWChJLns2x8fHS5KKioqa1S8vL9f58+eddQAAANA7eG14bhqcJ0+erMzMTPXp06fV+ikpKZKkzMxMWSzfbMlVVFSkXbt2ady4cS4zzwkJCYqMjFRJSYnLw35Wq1WZmZkufQIAAKB38No1zy+//LLefvttBQYGaujQoVqzZk2zOpMmTVJ0dLQkacaMGdq+fbvy8/OVnJyspKQknTlzRtu2bVO/fv20dOlSl7Z+fn5asWKF5s2bp/nz52vq1KkKCQlRYWGhqqqqNHv2bN4uCAAA0Mt4bXg+efKkJOnSpUstBmdJCgsLc4ZnHx8fZWVlKScnR7m5uVq/fr2CgoI0efJkmc1mhYeHN2sfFxenjRs3KisrS/n5+aqvr1dkZKSWLVum1NTUzrs4AAAAdEteG55XrlyplStXtquNv7+/0tPT27WN3ciRI1sN5wAAAOhdvHbNMwAAANDVCM8AAACAQYRnAAAAwCDCMwAAAGAQ4RkAAAAwiPAMAAAAGER4BgAAAAwiPAMAAAAGEZ4BAAAAgwjPAAAAgEGEZwAAAMAgwjMAAABgEOEZAAAAMIjwDAAAABhEeAYAAAAMIjwDAAAABhGeAQAAAIMIzwAAAIBBhGcAAADAIMIzAAAAYBDhGQAAADCI8AwAAAAYRHgGAAAADCI8AwAAAAb5eXoA6Hobdhz29BAAAAC8EjPPAAAAgEGEZwAAAMAgwjMAAABgEOEZAAAAMIgHBgFIav1B0ofvH9HFIwEAoPti5hkAAAAwiPAMAAAAGER4BgAAAAwiPAMAAAAGEZ4BAAAAgwjPAAAAgEGEZwAAAMAgwjMAAABgkFe/JGXr1q3at2+fDhw4oKqqKlmtVj377LOaOXNmi/WtVqtycnK0ZcsW1dTUKDg4WOPHj5fZbFZ4eHiLbSorK7Vq1SqVlZWpvr5eUVFRSk1NVUpKikwmU2deHgAAALoZrw7PL730kk6ePKkBAwYoJCREJ0+ebLVuY2OjFi5cqLy8PA0bNkxz5szRF198offee09FRUV64403NHToUJc2paWlmjt3rux2u6ZMmaLQ0FAVFhYqIyNDR44cUUZGRmdfIgAAALoRrw7PK1as0JAhQxQWFqbs7Gw9//zzrdbdunWr8vLyFBsbq7Vr18rf31+SNH36dKWlpWn58uVat26ds35DQ4OWLFkii8Wi7OxsJSUlSZIWLVqktLQ0bdiwQdOmTVNcXFznXiQAAAC6Da9e85yYmKiwsDBDdTdt2iRJMpvNzuAsSRMmTFBiYqJ2796t6upq5/GSkhJVV1crISHBGZwlyd/fX2az2aVPAAAA9A5ePfNsVH19vSoqKhQYGKgxY8Y0K584caKKi4u1d+9eRUZGSpL27Nkj6XK4vtLo0aMVHBzsrGNEbW1tm3VsNpvh/gAAAND1ekV4Pn78uGw2mwYPHixfX99m5UOGDJEkl5nno0ePupQ1ZTKZFBERoYMHD6qurk4BAQFtjqHp7HVrBg4cqNWrV0uSDh061K4HEq1WqySpoqKizbqnTp013K+3cXwBOXXqlIdH4nnu+iwqKizuGA4gqX2/qwB34/7r3ex2u1v68eplG0ZduHBBkhQUFNRieXBwsEs9Sbp48aJLmZE2AAAA6Nl6xcxzW67lm4ijjdHZ4YKCgjbr2Gw25/KO6Ohol7XZbXF8i46JiWmz7oHPDhvu19s4ZllDQ0M9PBLPc9dnERMzwh3DASS173cV4G7cf72bxWLR/v37O9xPrwjPjllix2zylVqaZXbMUrc2s+xo09ps9pUGDRrUZh2LxWJobTQAAAA8o1cs24iIiJCvr69qampafCjv2LFjkuR8WFCSoqKiXMqastvtOnHihEJDQw2tdwYAAEDP0CvCc9++fRUTE6NLly6prKysWXlhYaEkuezZHB8fL0kqKipqVr+8vFznz5931gEAAEDv0CuWbUhSSkqKysvLlZmZ6fKSlKKiIu3atUvjxo1zmXlOSEhQZGSkSkpKVFBQ4Nwtw2q1KjMz09lnd7ZhR89d2wwAAOAJXh2eN2/erH379kmSqqqqnMcc+y+PHTtWs2bNkiTNmDFD27dvV35+vpKTk5WUlKQzZ85o27Zt6tevn5YuXerSt5+fn1asWKF58+Zp/vz5mjp1qkJCQlRYWKiqqirNnj2btwsCAAD0Ml4dnvft26fc3FyXY2VlZS5LMxzh2cfHR1lZWcrJyVFubq7Wr1+voKAgTZ48WWazWeHh4c36j4uL08aNG5WVlaX8/HzV19crMjJSy5YtU2pqaudeHAAAALodrw7PK1eu1MqVKw3X9/f3V3p6utLT0w23GTlypNasWXMtwwMAAEAP0yseGAQAAADcgfAMAAAAGER4BgAAAAwiPAMAAAAGEZ4BAAAAgwjPAAAAgEGEZwAAAMAgwjMAAABgEOEZAAAAMMir3zAIoPNt2HG4xeMP3z+ii0cCAIDnMfMMAAAAGER4BgAAAAxi2UYPsGHHYZ06dVaSdOCzlv+KHQAAAB3HzDMAAABgEOEZAAAAMIjwDAAAABhEeAYAAAAMIjwDAAAABhGeAQAAAIMIzwAAAIBBhGcAAADAIF6S4kU27OAFKAAAAJ7EzDMAAABgEOEZAAAAMIjwDAAAABhEeAYAAAAMIjwDAAAABhGeAQAAAIMIzwAAAIBBhGcAAADAIMIzAAAAYBDhGQAAADCI13N3U1sKPlZDI99t0H219rr4h+8f0cUjAQCg65DOAAAAAIMIzwAAAIBBhGcAAADAIMIzAAAAYBDhGQAAADCI8GxAZWWl0tPTFR8fr7vuuksPPvigNm7cKLvd7umhAQAAoAuxVV0bSktLNXfuXNntdk2ZMkWhoaEqLCxURkaGjhw5ooyMDE8PEehW2MIOANCTEZ6voqGhQUuWLJHFYlF2draSkpIkSYsWLVJaWpo2bNigadOmKS4uzsMjBQAAQFcgPF9FSUmJqqurlZCQ4AzOkuTv7y+z2azZs2dr06ZNhGcAAK6itb+Rag1/U4XujPB8FXv27JEkTZgwoVnZ6NGjFRwc7KzTltra2jbrNDQ0OH/2Ndkln0aDI5X8/UySJL92tOmJ+By+0d0+C4vF4ukhoBtwPCvC/dDcloKPWzz+YNKwLh7JtWvtGvza+YRVa/dHRz+jtu6/nvDvAK2zWq3Onzvy3JrJzlNvrXriiSe0Y8cOrVq1Svfff3+z8pkzZ+rgwYP68MMPFRAQcNW+hg8f3ub5hg4dqhUrVlzzeAEAANC2ESNG6Prrr7+mtuy2cRUXL16UJAUHB7dY7jh+4cKFLhsTAAAAPIdlGx3gmLQ3mUxt1i0oKGizTmNjoxoaGnTjjTfKz8/PUL+SdPr0aT300EOSpDfffFM333yzJOlf/uVfJElvvfVWszatlbX3eHcqa+1z6Oj5rrWtu6+vPcfb+iy6s7b+XXjbed3R77X20Z52RusaqXet/x/1Jl19n7r7fB3pr71t3X0fXuvva2+//7rynnPnubrTvWa3251LZNtaMXA1hOerCAoKktT6zLJjZtpR72oGDRrkvoFdwdfXV//4xz+cP/v7+0uSvvzyS0ly/rmp1srae7w7lbX2OXT0fNfa1t3X157jbX0W3Vlb/y687bzu6Pda+2hPO6N1jdS71v+PepOuvk/dfb6O9Nfetu6+D6/197W3339dec+581zd7V7r27dvu8dxJZZtXEVUVJQk6dixY83K7Ha7Tpw4odDQ0A59ewEAAID3IDxfRXx8vCSpqKioWVl5ebnOnz/vrAMAAICej/B8FQkJCYqMjFRJSYnLmmWr1arMzExJUkpKiodGBwAAgK7Gmuer8PPz04oVKzRv3jzNnz9fU6dOVUhIiAoLC1VVVaXZs2fzghQAAIBehH2eDTh48KCysrK0b98+1dfXKzIyUrNnz1ZqaqrhHTE6U21trfMNiAUFBZ36cGJ3xufwDT4LdEfcl/Ak7j+4CzPPBowcOVJr1qzx9DAAAADgYax5BgAAAAwiPAMAAAAGseYZAAAAMIiZZwAAAMAgwjMAAABgEOEZAAAAMIjwDAAAABhEeAYAAAAMIjwDAAAABhGeAQAAAIMIzwAAAIBBhGcAAADAIMIzAAAAYBDhGQAAADCI8AwAAAAYRHgGAAAADCI8AwAAAAYRngEAAACDCM8AAACAQYRnAAAAwCDCMwAAAGAQ4RkAAAAwiPAMAAAAGER4BgAAAAwiPAMAAAAGEZ4BAAAAg/w8PQAA6Knuu+8+nTx50vlnHx8fXX/99brhhht0++23a+zYsXrwwQd10003eXCUnrV3717t2bNH+/fv14EDB3T69GlJ0pEjR9pse/DgQf32t7/Vvn37dOnSJYWHh2vGjBmaO3eu+vTp0+6xfPXVV1qzZo22b9+u2tpa3XDDDUpMTNTChQsVHh7e7v4A9Ewmu91u9/QgAKAncoTnCRMm6Oabb5YkXbp0SZ9//rkqKytVX1+vPn36KD09XT/60Y/k6+vr4RF3vRkzZujw4cPNjrcVngsKCjR//nxZrVaNHTtWN998s/bu3aszZ87o7rvvVnZ2tvz8jM8PXbhwQQ8//LCqqqoUFhammJgYHT9+XAcPHlRQUJD+9Kc/acSIEe2+PgA9DzPPANDJHn/8cSUkJLgcu3Tpkv77v/9bL774orKysvT555/rmWee8dAIPScxMVGTJ0/WqFGjFB0drXvuuafNNhcvXtTPfvYzWa1WPf/88/rud7/rPP7YY4+puLhYOTk5evzxxw2P47nnnlNVVZW+/e1va9WqVfL395ck/e53v9MLL7ygf//3f9c777wjHx9WOwK9Hb8FAMADAgMD9dhjj2nNmjXy9fXVpk2bVFRU5OlhdbmnnnpK8+fPV1JSkgYOHGiozZtvvqlz587p3nvvdQZnSQoKCtLSpUslSWvXrpXNZjPU3z/+8Q/l5ubKz89PzzzzjDM4S5e/+Nx+++366KOPlJeX144rA9BTEZ4BwIPGjx+vadOmSZJ+//vfNyu3WCx6/fXXlZycrNGjR+tb3/qWkpOTlZOTI4vF4qzX2NioOXPmaPjw4Vq9enWzfj777DPFx8frjjvu0L59+zrterrCX/7yF0nS1KlTm5XFxMRo8ODB+sc//qHy8nJD/RUUFKihoUFjx45VSEiIS5nJZNL999/vcl4AvRvhGQA8zDF7WlpaKqvV6jxeV1enRx55RL/61a904sQJJSYm6u6779aJEyf03HPP6bHHHtPXX38t6fLDiL/+9a/Vv39/50N0DjabTf/+7/+uL7/8Uj/+8Y81duzYrr1AN3Oshx45cmSL5Y7jLa2lbomjnrv6A9CzseYZADwsOjpa0uWwfPLkSUVGRkqSXnzxRZWXl+vOO+/Uq6++qgEDBki6vMwgLS1N+/bt00svvaSnnnpKkjRo0CCtWLFCCxYs0E9/+lNt3bpVwcHBeuWVV1RaWqrY2Fj96Ec/MjyurKysFmexryYsLEzvv/9+u9q0x8WLF/Xll19Kuny9LQkNDZUkl51Orubvf//7VftzHDfaH4CejfAMAB7mCMWSnMGwrq5OmzdvliQtW7bMpc7AgQO1bNkyzZo1Sxs3btSiRYt03XXXSZK+853vKDU1VRs3blRGRoa+973v6be//a1uuOEG/frXv27Xjh7R0dFKTk6+5mvpDF999ZXz54CAgBbrBAYGNqtrpE9Hu472B6BnIzwDgIc13THUZDJJuryH8aVLl3Tbbbdp1KhRzdrExMTo1ltv1SeffKIDBw4oNjbWWfb0009r3759+vOf/6yCggLZbDY988wzuuWWW9o1rkmTJmnSpEnXeFXeo60dW9nRFUBTrHkGAA87e/as8+cbbrhBknTq1ClJ0uDBg1tt53hxx+eff+5y/LrrrtPKlSslXV7mMHPmTE2ZMsWtY/aU66+/3vlzXV1di3Ucx5vWNdLnpUuXWix3rCs32h+Ano2ZZwDwsMrKSkmXlweEhYW5pc8///nPzp8PHz4si8XisgWbETt37tTOnTvb1WbAgAHONdidISgoSP369dP58+dVW1ur4ODgZnVqa2slyfBMu6Oeo11r/bnr3w0A70Z4BgAPcwTduLg451vxHA+91dTUtNrOUXbl9mpFRUVau3atbr75Zt1+++0qLi7WCy+8oMWLF7drXIcOHVJubm672oSFhXVqeJakESNGaM+ePTp48KBuu+22ZuWOLyNG3wjoeGDT0e5KBw8elCQNHz78WoYLoIchPAOAB33wwQfatm2bJGnu3LnO4yNHjlRAQIA++ugjVVZW6o477nBpt3//fn388ccKDAx0WRP9j3/8wxmSn3vuOUVHR2v69On6/e9/r7vvvtvQG/wcFi5cqIULF3bk8jrFfffdpz179mj79u168MEHXcoOHDigEydOaMCAARozZoyh/iZOnChfX1/t27dPp0+fdr5KXbq83nn79u2SpH/6p39y2zUA8F6seQYAD6irq9Pvf/97paenq7GxUQ8//LDGjx/vLA8ICNCsWbMkScuXL3fuwiFdXiO9fPlySVJqaqpzpw1JWrx4sU6fPq25c+fq7rvv1sCBA/Xcc885y86cOdMVl9epHnroIfXv3195eXnOLx7S5fXdjs9l7ty5zXYWef755zVlyhQ9//zzLsdvvPFGPfjgg7JarcrIyHDZa/vVV19VVVWVbr31Vn3729/uxKsC4C1Mdh4jBoBOcd999+nkyZOaMGGCczbz0qVL+vzzz1VZWan6+nr16dNHP/rRj5Sent4s7NXV1Wnu3LkqLy9Xv379NG7cONntdpWUlOj8+fMaO3ascnJynOF53bp1+q//+i+NHDlSGzdudFnj/NxzzyknJ0dJSUn63e9+59zVw9M2b97s3JJPkv72t79Jku666y7nsVmzZjm/SDjk5+dr/vz5amhoUGxsrG666Sbt3btXZ86c0bhx4/Taa6+pT58+Lm0WL16s3NxcJScnOx+odDh//rxmz56tjz/+WGFhYbrrrrt0/PhxHThwQNdff73+9Kc/OZd3AOjdWLYBAJ2sqKhI0uVt6K6//nrdcMMNSkxMVFxcnGbMmKGbbrqpxXYBAQFat26d/vCHP+jdd99VYWGhTCaTIiMjlZ6erjlz5jgD8uHDh/Wb3/xGgYGBev7555s9HPjkk0+qpKREBQUFWr9+vR599NHOvWiDamtrnYG5qabHWlpqcu+992rTpk16+eWXVVZWpoqKCoWHh+vRRx/VvHnzmgXntvTr10+bNm3SK6+8oh07duj//u//dMMNN+if//mf9cQTTygiIqL9FwegR2LmGQAAADCINc8AAACAQYRnAAAAwCDCMwAAAGAQ4RkAAAAwiPAMAAAAGER4BgAAAAwiPAMAAAAGEZ4BAAAAgwjPAAAAgEGEZwAAAMAgP08PAN9obGxUXV2dJMnPz08mk8nDIwIAAOgZ7Ha7GhoaJEkBAQHy8bm2OWSvDs9vv/22nn766avWGTdunNatW+f8s9VqVU5OjrZs2aKamhoFBwdr/PjxMpvNCg8Pb7GPyspKrVq1SmVlZaqvr1dUVJRSU1OVkpLi1oBbV1enw4cPu60/AAAANDdixAhdf/3119TWq8NzdHS0FixY0GLZjh079NFHH2nChAnOY42NjVq4cKHy8vI0bNgwzZkzR1988YXee+89FRUV6Y033tDQoUNd+iktLdXcuXNlt9s1ZcoUhYaGqrCwUBkZGTpy5IgyMjI69RoBAADQfZjsdrvd04NwN4vFonvuuUcXL15UQUGBbrrpJklSbm6uFi9erNjYWK1du1b+/v6SpKKiIqWlpSkhIcFllrqhoUEPPPCAqqurlZ2draSkJGf/aWlpKikp0R//+EfFxcW5Zdz19fU6cOCApMvfiPr06WO47aFDhyRd/kLRm/E5fIPPAt0R9yU8ifuvd7Narc6/4R81apT69u17Tf149cxza3bu3Klz585p0qRJzuAsSZs2bZIkmc1mZ3CWpAkTJigxMVHFxcWqrq5WZGSkJKmkpETV1dVKSEhwBmdJ8vf3l9ls1uzZs7Vp0ya3heemS0D69OnjMkajbdvTpific/gGnwW6I+5LeBL3Hxw6suy2R4bnN998U5I0a9Ys57H6+npVVFQoMDBQY8aMadZm4sSJKi4u1t69e53hec+ePZLksvTDYfTo0QoODnbWaUttbW2bdWw2m6G+AAAA4Bk9LjyfPHlSH3zwgUJDQ3XPPfc4jx8/flw2m02DBw+Wr69vs3ZDhgyRJFVXVzuPHT161KWsKZPJpIiICB08eFB1dXUKCAi46riazly3ZuDAgVq9erWky3+11J5vRVarVZJUUVFhuE1PxOfwDT4LdEfcl/Ak7r/ezV0rlXvcPs9vv/22GhsbNXPmTJeQfOHCBUlSUFBQi+2Cg4Nd6knSxYsXXcqMtAEAAEDP1aNmnhsbG/X222/LZDLpX/7lX9rV9lq+jTjaGJkhLigoaLOOzWZzLu+Ijo5u15osx7fomJgYw216Ij6Hb/BZoDvivoQncf/1bhaLRfv37+9wPz0qPBcXF+vvf/+7xo8f32zPZscssWM2+UotzTI7Zqlbm1l2tGltNrupQYMGtVnHYrEYWhsNAAAAz+hRyzZaelDQISIiQr6+vqqpqWnxwbxjx45JkvNhQUmKiopyKWvKbrfrxIkTCg0NbXO9MwAAAHqGHhOez549q7/85S/q37+/vvOd7zQr79u3r2JiYnTp0iWVlZU1Ky8sLJQkl23n4uPjJV3eB/pK5eXlOn/+vLMOAAAAer4eE563bt0qq9Wqf/7nf251rXBKSookKTMzUxaLxXm8qKhIu3bt0rhx41xmnhMSEhQZGamSkhKXNctWq1WZmZkufQIAAKDn6zFrnt966y1JLS/ZcJgxY4a2b9+u/Px8JScnKykpSWfOnNG2bdvUr18/LV261KW+n5+fVqxYoXnz5mn+/PmaOnWqQkJCVFhYqKqqKs2ePdttL0gBAABA99cjwnNFRYWqqqoUExOj4cOHt1rPx8dHWVlZysnJUW5urtavX6+goCBNnjxZZrO52UOG0uVlHBs3blRWVpby8/NVX1+vyMhILVu2TKmpqZ15WQAAAOhmekR4jomJ0ZEjRwzV9ff3V3p6utLT0w33P3LkSK1Zs+ZahwcAAIAeoseseQYAAAA6G+EZAAAAMIjwDAAAABhEeAYAAAAMIjwDAAAABhGeAQAAAIMIzwAAAIBBhGcAAADAIMIzAAAAYBDhGQAAADCI8AwAAAAYRHgGAAAADCI8AwAAAAYRngEAAACDCM8AAACAQYRnAAAAwCDCMwAAAGAQ4RkAAAAwiPAMAAAAGER4BgAAAAwiPAMAAAAGEZ4BAAAAgwjPAAAAgEGEZwAAAMAgwjMAAABgEOEZAAAAMIjwDAAAABhEeAYAAAAMIjwDAAAABhGeAQAAAIMIzwAAAIBBhGcAAADAIMIzAAAAYBDhGQAAADCI8AwAAAAYRHgGAAAADCI8AwAAAAYRngEAAACD/Dw9AHfYuXOn3njjDR04cECXLl3SzTffrFGjRunJJ59UVFSUs57ValVOTo62bNmimpoaBQcHa/z48TKbzQoPD2+x78rKSq1atUplZWWqr69XVFSUUlNTlZKSIpPJ1FWXCAAAgG7Aq8Oz3W5XRkaGNm3apPDwcE2bNk1BQUE6ffq0SktLVV1d7QzPjY2NWrhwofLy8jRs2DDNmTNHX3zxhd577z0VFRXpjTfe0NChQ136Ly0t1dy5c2W32zVlyhSFhoaqsLBQGRkZOnLkiDIyMjxx2QAAAPAQrw7P69ev16ZNm5SSkqKlS5fKz8/1choaGpw/b926VXl5eYqNjdXatWvl7+8vSZo+fbrS0tK0fPlyrVu3zqXtkiVLZLFYlJ2draSkJEnSokWLlJaWpg0bNmjatGmKi4vrgisFAABAd+C1a56//vprvfzyywoLC9Mvf/nLZsFZksuxTZs2SZLMZrMzOEvShAkTlJiYqN27d6u6utp5vKSkRNXV1UpISHAGZ0ny9/eX2Wx26RMAAAC9g9fOPBcVFenLL79UcnKy7Ha7du7cqU8//VTXX3+94uPjddtttznr1tfXq6KiQoGBgRozZkyzviZOnKji4mLt3btXkZGRkqQ9e/ZIuhyurzR69GgFBwc76xhRW1vbZh2bzWa4PwAAAHQ9rw3PBw8elCT16dNHDz74oD755BOX8uTkZP3Hf/yH+vTpo+PHj8tms2nw4MHy9fVt1teQIUMkyWXm+ejRoy5lTZlMJkVEROjgwYOqq6tTQEBAm+NtOnvdmoEDB2r16tWSpEOHDrXrgUSr1SpJqqioMNymJ+Jz+AafBboj7kt4Evdf72a3293Sj9cu2zhz5owkKScnR4GBgdq8ebPKysr0pz/9SUOHDlVubq5eeuklSdKFCxckSUFBQS32FRwc7FJPki5evOhSZqQNAAAAejavnXl2fHvo06ePXn75ZYWGhkqSYmNjtWrVKk2fPl1//OMf9cQTTxju61rOb3R2uKCgoM06NpvNubwjOjraZW12WxzfomNiYgy36Yn4HL7BZ4HuiPsSnsT917tZLBbt37+/w/14bXh2zPyOGjXKGZwdbrvtNoWHh+vYsWP65JNPnHUds8lXammW2TFL3drMsqNNa7PZVxo0aFCbdSwWi6G10QAAAPAMr1224di/ua1lFV9//bUiIiLk6+urmpqaFh/KO3bsmCQ5HxZs2r+jrCm73a4TJ04oNDTU0HpnAAAA9AxeG57HjRsnSfr000+blVmtVh0/flySFBYWpr59+yomJkaXLl1SWVlZs/qFhYWS5LJnc3x8vKTLu3pcqby8XOfPn3fWAQAAQO/gteE5PDxcEydO1LFjx7R582aXsuzsbJ0/f16xsbEKCQmRJKWkpEiSMjMzZbFYnHWLioq0a9cujRs3zmXmOSEhQZGRkSopKXFZr2y1WpWZmenSJwAAAHoHr13zLEkZGRlKTU3VL37xC+3cuVNDhw5VZWWldu/erf79++uZZ55x1p0xY4a2b9+u/Px8JScnKykpSWfOnNG2bdvUr18/LV261KVvPz8/rVixQvPmzdP8+fM1depUhYSEqLCwUFVVVZo9ezZvFwQAAOhlvDo8Dx48WG+99ZaysrJUUFCg4uJi9e/fXzNnztSCBQsUFhbmrOvj46OsrCzl5OQoNzdX69evV1BQkCZPniyz2azw8PBm/cfFxWnjxo3KyspSfn6+6uvrFRkZqWXLlik1NbUrLxUAAADdgFeHZ0kKDQ3VihUrDNX19/dXenq60tPTDfc/cuRIrVmz5lqHBwAAgB7Ea9c8AwAAAF2N8AwAAAAYRHgGAAAADCI8AwAAAAYRngEAAACDCM8AAACAQYRnAAAAwCDCMwAAAGAQ4RkAAAAwiPAMAAAAGER4BgAAAAwiPAMAAAAGEZ4BAAAAgwjPAAAAgEGEZwAAAMAgwjMAAABgEOEZAAAAMIjwDAAAABhEeAYAAAAMIjwDAAAABhGeAQAAAIMIzwAAAIBBhGcAAADAIMIzAAAAYBDhGQAAADCI8AwAAAAYRHgGAAAADCI8AwAAAAYRngEAAACDCM8AAACAQYRnAAAAwCDCMwAAAGAQ4RkAAAAwiPAMAAAAGER4BgAAAAwiPAMAAAAGEZ4BAAAAgwjPAAAAgEF+nh5AR9x33306efJki2UTJkzQ66+/7nLMarUqJydHW7ZsUU1NjYKDgzV+/HiZzWaFh4e32E9lZaVWrVqlsrIy1dfXKyoqSqmpqUpJSZHJZHL7NQEAAKD78urwLEnBwcF69NFHmx2PiIhw+XNjY6MWLlyovLw8DRs2THPmzNEXX3yh9957T0VFRXrjjTc0dOhQlzalpaWaO3eu7Ha7pkyZotDQUBUWFiojI0NHjhxRRkZGp14bAAAAuhevD8/9+vXTwoUL26y3detW5eXlKTY2VmvXrpW/v78kafr06UpLS9Py5cu1bt06Z/2GhgYtWbJEFotF2dnZSkpKkiQtWrRIaWlp2rBhg6ZNm6a4uLjOuTAAAAB0O71mzfOmTZskSWaz2RmcpcvLOxITE7V7925VV1c7j5eUlKi6uloJCQnO4CxJ/v7+MpvNLn0CAACgd/D6mWeLxaItW7aotrZWQUFBiomJUUxMjEud+vp6VVRUKDAwUGPGjGnWx8SJE1VcXKy9e/cqMjJSkrRnzx5Jl8P1lUaPHq3g4GBnHSNqa2vbrGOz2Qz3BwAAgK7n9eH59OnTeuqpp1yOfetb39JvfvMb50OAx48fl81m0+DBg+Xr69usjyFDhkiSy8zz0aNHXcqaMplMioiI0MGDB1VXV6eAgIA2x9l09ro1AwcO1OrVqyVJhw4datcDiVarVZJUUVFhuE1PxOfwDT4LdEfcl/Ak7r/ezW63u6Ufrw7PM2fOVFxcnIYNG6aAgABVV1fr9ddf17vvvqvHHntM//M//6PAwEBduHBBkhQUFNRiP8HBwZLkrCdJFy9edCm7Whsj4RkAAADez6vD84IFC1z+fMcdd+j555+XJL377rt688039cgjj7TZz7V8E3G0MTo7XFBQ0GYdm83mXN4RHR3tsja7LY5v0VcuWelt+By+wWeB7oj7Ep7E/de7WSwW7d+/v8P9eHV4bs1DDz2kd999V2VlZXrkkUecs8SO2eQrtTTL7Jilbjob3VKb1mazrzRo0KA261gsFkNrowEAAOAZPXK3jQEDBkiS6urqJF3e89nX11c1NTUtPpR37NgxSXI+LChJUVFRLmVN2e12nThxQqGhoSzZAAAA6EV6ZHj+29/+JkkKCwuTJPXt21cxMTG6dOmSysrKmtUvLCyUJJc9m+Pj4yVJRUVFzeqXl5fr/PnzzjoAAADoHbw2PH/00Uc6d+5cs+NVVVV68cUXJUnf/e53ncdTUlIkSZmZmbJYLM7jRUVF2rVrl8aNG+cy85yQkKDIyEiVlJS4rFe2Wq3KzMx06RMAAAC9g9eued6+fbuys7MVHx+v8PBwBQQE6OjRo/rrX/+qhoYG/fjHP3bZ03nGjBnavn278vPzlZycrKSkJJ05c0bbtm1Tv379tHTpUpf+/fz8tGLFCs2bN0/z58/X1KlTFRISosLCQlVVVWn27Nm8XRAAAKCX8drwnJCQoE8++USHDh1SeXm56uvrNWDAAN1777363ve+p8TERJf6Pj4+ysrKUk5OjnJzc7V+/XoFBQVp8uTJMpvNzj2hm4qLi9PGjRuVlZWl/Px81dfXKzIyUsuWLVNqampXXSoAAAC6Ca8Nz/Hx8e1ec+zv76/09HSlp6cbbjNy5EitWbOmvcMDAABAD+S1a54BAACArkZ4BgAAAAwiPAMAAAAGEZ4BAAAAgwjPAAAAgEGEZwAAAMAgwjMAAABgEOEZAAAAMIjwDAAAABhEeAYAAAAM8trXcwMAAM/YsONwi8cfvn9EF48E6HrMPAMAAAAGEZ4BAAAAgwjPAAAAgEGEZwAAAMAgwjMAAABgEOEZAAAAMIjwDAAAABhEeAYAAAAMIjwDAAAABhGeAQAAAIMIzwAAAIBBhGcAAADAIMIzAAAAYBDhGQAAADCI8AwAAAAYRHgGAAAADCI8AwAAAAYRngEAAACDCM8AAACAQYRnAAAAwCDCMwAAAGAQ4RkAAAAwyM/TAwAAAD3Dhh2HWzz+8P0jungkQOdh5hkAAAAwiPAMAAAAGER4BgAAAAwiPAMAAAAGEZ4BAAAAg3pceM7Oztbw4cM1fPhwlZaWNiu3Wq363e9+p6lTp+rOO+9UYmKifvKTn+jEiROt9llZWan09HTFx8frrrvu0oMPPqiNGzfKbrd35qUAAACgm+lR4fmjjz5SVlaWAgMDWyxvbGzUwoUL9cILL8jHx0dz5szRhAkT9L//+7966KGH9OmnnzZrU1paqpSUFBUVFWnixIn613/9V9lsNmVkZOiZZ57p7EsCAABAN+L28Pz000/rzTffbLPe22+/raefftpt521oaNBTTz2l6OhoTZo0qcU6W7duVV5enmJjY5Wbm6uf/exn+tWvfqVXXnlFX375pZYvX96szyVLlshisejll1/Wb37zG/30pz/VW2+9pYSEBG3YsEF79+512zUAAACge3P7S1Jyc3MlSQ899NBV65WVlWnLli169tln3XLeV155RR999JFyc3P12muvtVhn06ZNkiSz2Sx/f3/n8QkTJigxMVHFxcWqrq5WZGSkJKmkpETV1dVKSEhQUlKSs76/v7/MZrNmz56tTZs2KS4urs3x1dbWtlnHZrO1WQcAAG/Dy1PQk3jsDYMNDQ3y8XHPxPfBgwe1Zs0aPfHEExo2bFiLderr61VRUaHAwECNGTOmWfnEiRNVXFysvXv3OsPznj17JF0O11caPXq0goODnXXa0jR8t2bgwIFavXq1JOnQoUMymUyG+pYur+WWpIqKCsNteiI+h2/wWaA74r7sGU6dOuuWfioqLG7pxyjuv97NXc+qeWzN80cffaT+/ft3uB+LxaKnnnpKw4cPV1paWqv1jh8/LpvNpsGDB8vX17dZ+ZAhQyRJ1dXVzmNHjx51KWvKZDIpIiJCp06dUl1dXQevAgAAAN7ALTPPV65dLisra3U9s81m0yeffKLKykpNnjy5w+fOzMxUdXW13nrrrRZDscOFCxckSUFBQS2WBwcHu9STpIsXL7qUXa1NQEDAVcdZUFBw1XLp8mfjWN4RHR3tsrSkLY5v0TExMYbb9ER8Dt/gs0B3xH3ZMxz4rOVlGO0VE9O1yza4/3o3i8Wi/fv3d7gft4Rnxzpn6fKM7LFjx3Ts2LGrthkxYoR++tOfdui85eXlWrt2rRYsWKDhw4d3qK9rmcp3tDGyvGLQoEFt1rFYLIbWRgMAAMAz3BKe169fL+lymHz00Ud1zz336Ac/+EGLdfv06aOQkBCFhYV16JwNDQ1avHixhg8frscff7zN+o5ZYsds8pVammV2zFI3nY1uqU1rs9kAAADoWdwSnuPj450/Jycna+zYsS7HOsOlS5ec65NHjRrVYp3vfe97kqSXX35Z99xzj3x9fVVTUyObzdZsiYdjptzxsKAkRUVFuZQ1ZbfbdeLECYWGhra5ZAMAAAA9g9t323DX1nNt8ff3b3U7vNLSUlVXV+vb3/62brzxRoWFhalv376KiYlReXm5ysrKmm0vV1hYKEkux+Pj47VmzRoVFRU1m90uLy/X+fPnDe2iAQAAgJ7BY1vVddR1112n//zP/2yxbPHixaqurlZaWppiY2Odx1NSUlReXq7MzEytXbvW+UBeUVGRdu3apXHjxrnMPCckJCgyMlIlJSUqKChwBmWr1arMzExnnwAAAOgdOiU8Hz16VK+++qpKSkp0+vRp576KVzKZTKqsrOyMIbRoxowZ2r59u/Lz85WcnKykpCSdOXNG27ZtU79+/bR06VKX+n5+flqxYoXmzZun+fPna+rUqQoJCVFhYaGqqqo0e/ZsQy9IAQAAQM/g9vB84MABzZkzR19//bXsdrtuuOEG3XTTTe4+zTXx8fFRVlaWcnJylJubq/Xr1ysoKEiTJ0+W2WxWeHh4szZxcXHauHGjsrKylJ+fr/r6ekVGRmrZsmVKTU31wFUAAADAU9wenl988UXV1dUpNTVVTzzxhAYOHOjuU7Rp5cqVWrlyZYtl/v7+Sk9PV3p6uuH+Ro4cqTVr1rhreAAAAPBSbg/PH374oW677TYtW7bM3V0DAAAAHuX213Pb7Xbdeuut7u4WAAAA8Di3h+cRI0bo+PHj7u4WAAAA8Di3h+cf/vCHOnTokAoKCtzdNQAAAOBRbl/zfNttt+kHP/iBFi1a5HxV96BBg+Tj03JOv+WWW9w9BAAAAKBTuD0833fffTKZTLLb7crOzlZ2dnardbt6n2cAAACgI9wennlpCAAAAHoqt4fnP/zhD+7uEgAAAOgWOuX13AAAwPtt2HHY00MAuh2377YBAAAA9FRun3levXq14bomk0nz58939xCADmtttuXh+0d08UgAAEB30inh2bHbRktMJpOky28iJDwDAADAm7g9PD/77LMtHm9sbNRnn32moqIiffjhh5ozZ47uuOMOd58eAAAA6DRuD8/JyclXLV+wYIFWr16tnJwcpaamuvv0gEewzAMAgN7BI7ttzJ8/X1u2bFFmZqaysrI8MQTgmvDkOQAAvZtHdtswmUyKjo7Wnj17PHF6AAAA4Jp4bKu6s2fP6uuvv/bU6QEAAIB280h43rZtm/bt26dhw4Z54vQAAADANXH7muenn3661bKvvvpKR48e1ccffyxJ+sEPfuDu0wMAAACdxu3hOTc3t806YWFhMpvNmjJlirtPDwAAAHQat4fn9evXt1rWp08fhYSEKCwszN2nBQAAXoZtPuGN3B6e4+Pj3d0lAAAA0C14bLcNAAAAwNt02ktSvvjiC23evFl79+7VqVOnZDKZFBISovj4eD300EO66aabOuvUAAAAQKfolPC8c+dOLV68WF999ZXsdrvz+Mcff6wPPvhAr732mlauXKlJkyZ1xukBAACATuH28Hz48GE9+eSTslqtmjhxopKTkxUeHi5JqqmpUW5urgoKCvTkk09q8+bNGjGChwIAAADgHdwenrOzs9XQ0KBnn31WycnJLmWjRo3SlClTtGXLFi1evFivvvqqnn/+eXcPAQAAGNTajhcAWub2Bwb37NmjkSNHNgvOTT344IMaNWqUSkpK3H16AAAAoNO4PTyfO3dOkZGRbdYbMmSIzp075+7TAwAAAJ3G7eG5f//+OnbsWJv1jh8/rv79+7v79AAAAECncfua59jYWO3YsUPvvPOOpk+f3mKdd999V/v379fUqVPdfXqgXVjrBwAA2sPt4fmHP/yhdu7cqaeeekrbt2/Xgw8+qMGDB0u6vNvGO++8o/fff199+vTR448/7u7TAwAAAJ3G7eE5Ojpav/71r/Xzn/9c77//vvLy8lzK7Xa7AgIC9Oyzzyo6OtrdpwcAAAA6Tae8JGXq1KkaM2aMNm/erNLSUp06dUqSFBoaqtjYWM2aNUuhoaGdcWqgW2ltWcjD97O/OQAA3qjTXs8dGhqqBQsWdFb3AAAAQJdzy24bZrNZM2fOVFlZWZt1y8rKNHPmTP3kJz9xx6kBAACALtPh8Lxr1y5t375dt99+u8aMGdNm/TFjxui2227Ttm3btHv37o6eHgAAAOgyHQ7P7777rkwmU7uWaDzxxBOSpHfeeaejpwcAAAC6TIfXPJeXl2v48OHO7eiMCAsL04gRI1ReXn7N57VYLHrhhRe0f/9+HTt2TF9++aX69eun8PBwzZo1S9OnT1efPn1c2litVuXk5GjLli2qqalRcHCwxo8fL7PZrPDw8BbPU1lZqVWrVqmsrEz19fWKiopSamqqUlJSZDKZrnn8AAAA8D4dDs+1tbWaOHFiu9tFRESosLDwms/79ddfa8OGDYqJidG9996rgQMH6ssvv9Rf//pX/fznP9ef//xnvfbaa/LxuTy53tjYqIULFyovL0/Dhg3TnDlz9MUXX+i9995TUVGR3njjDQ0dOtTlHKWlpZo7d67sdrumTJmi0NBQFRYWKiMjQ0eOHFFGRsY1jx+d4y8fnpUkHfjMdZcLdrcAAADu0OHwbLPZrmkG1sfHR42Njdd83uDgYJWWlsrf39/leENDg+bNm6fi4mK9//77mjRpkiRp69atysvLU2xsrNauXetsN336dKWlpWn58uVat26dSz9LliyRxWJRdna2kpKSJEmLFi1SWlqaNmzYoGnTpikuLu6arwEAAADepcNrnm+88UYdP3683e2OHz+ugQMHXvN5TSZTs+AsSX5+fs7A3HRcmzZtknR5Z5Cm7SZMmKDExETt3r1b1dXVzuMlJSWqrq5WQkKCMzhLkr+/v8xms0ufRtTW1rb5z+nTpw33BwAAgK7X4ZnnUaNG6S9/+YtqamoMr3uuqanRoUOH9E//9E8dPX0zjY2N+utf/ypJGjHi8l/V19fXq6KiQoGBgS3uCDJx4kQVFxdr7969ioyMlCTt2bNH0uVwfaXRo0crODjYWceIpgG8NQMHDtTq1aslSYcOHWrXjL7VapUkVVRUGG7TE9lsNklyvpjHoaLC0mL9U6fOdvqYWtLaeNyJewLdEfdl9+Op34NX01m/I7n/eje73e6WfjocnqdMmaL/+7//07Jly5Sdne1cY9wau92u5cuXO9cRd1RDQ4NeeeUV2e12nTt3Th988IE+/fRTzZo1S4mJiZIuz0DbbDYNHjxYvr6+zfoYMmSIJLnMPB89etSlrCmTyaSIiAgdPHhQdXV1CggI6PB1oHM51kIDAAB0RIfD87Rp0/T666+ruLhY3//+9/XLX/6y2YN3DkePHtWKFSu0a9cujRgxQg888EBHTy+bzeacrZUuB9t58+bp3/7t35zHLly4IEkKCgpqsY/g4GCXepJ08eJFl7KrtTESngsKCtqsY7PZVFtbK0mKjo5ucVlKaxzfomNiYgy36Yn+8uHlz7m7v/49JqbzH2DknkB3xH3Z/Vz5gHV30Fm/I7n/ejeLxaL9+/d3uJ8Oh2eTyaTVq1dr9uzZ+uCDD/TAAw8oOjpaI0eOdK5pPnv2rA4cOKBDhw7JbrcrJCTEJfB2RN++fXXkyBE1Njbq888/1/vvv68XX3xRZWVleu2111oNv01dyzS+o43RpRWDBg1qs47FYnGGZ1zdhh3d75c9AADo+TocniXplltuUW5urjIyMrRz505VVlbq0KFDLnXsdrtMJpMmTZqk5cuX68Ybb3THqZ18fHw0aNAgPfzwwxowYIDMZrNefvllLV682BmgHbPJV2ppltkxS910NrqlNq3NZgMAAKDncUt4li4/7JaVlaXq6mrl5+ersrJSZ89eXmc6YMAA3XHHHUpKSlJUVJS7Ttkqx0N+jgf6IiIi5Ovrq5qaGtlstmbrno8dOyZJzocFJTnH6Shrym6368SJEwoNDWW9MwAAQC/itvDsEBkZqccee8zd3baLY6cFP7/Ll9e3b1/FxMSovLxcZWVlzfZmdryspenx+Ph4rVmzRkVFRXr88cdd6peXl+v8+fOGdtAAAABAz9HhfZ49paqqyjmz3VRdXZ1WrlwpSS5vPkxJSZEkZWZmymL5ZgucoqIi7dq1S+PGjXOZeU5ISFBkZKRKSkpcHvazWq3KzMx06RMAAAC9g9tnnrvKjh079Oqrryo+Pl6DBw9WUFCQTp06pcLCQp07d05jxozR97//fWf9GTNmaPv27crPz1dycrKSkpJ05swZbdu2Tf369dPSpUtd+vfz89OKFSs0b948zZ8/X1OnTlVISIgKCwtVVVWl2bNn83ZBAACAXsZrw/O9996rzz//XOXl5frb3/6mS5cuKSgoSLfffrseeOABPfTQQ85lG9LlBwqzsrKUk5Oj3NxcrV+/XkFBQZo8ebLMZrPCw8ObnSMuLk4bN25UVlaW8vPzVV9fr8jISC1btkypqaldebkAAADoBrw2PN955526884729XG399f6enpSk9PN9xm5MiRWrNmTXuHBwAAgB7Ia8Mz0BNdbf/qh+/v/BerAACAq/PaBwYBAACArkZ4BgAAAAwiPAMAAAAGseYZAAB0K609/8GzH+gOmHkGAAAADCI8AwAAAAaxbAPd2tW2bvNmPfW6AADo6Zh5BgAAAAwiPAMAAAAGEZ4BAAAAgwjPAAAAgEGEZwAAAMAgwjMAAABgEOEZAAAAMIjwDAAAABhEeAYAAAAMIjwDAAAABhGeAQAAAIMIzwAAAIBBhGcAAADAIMIzAAAAYBDhGQAAADCI8AwAAAAY5OfpAQAAgM63YcdhTw8B6BEIz+gyV/vF/fD9I7pwJAAAANeGZRsAAACAQYRnAAAAwCDCMwAAAGAQ4RkAAAAwiPAMAAAAGMRuG+gW2EIJAAB4A2aeAQAAAIMIzwAAAIBBLNuA27EEAwAA9FTMPAMAAAAGEZ4BAAAAgwjPAAAAgEFeu+b51KlT2rFjhwoKCvTpp5/q9OnTCgoKUkxMjB577DElJiY2a2O1WpWTk6MtW7aopqZGwcHBGj9+vMxms8LDw1s8T2VlpVatWqWysjLV19crKipKqampSklJkclk6uzLBAAAQDfiteH5D3/4g1599VVFRERo/PjxuvHGG3Xs2DHt3LlTBQUFWrx4sebOneus39jYqIULFyovL0/Dhg3TnDlz9MUXX+i9995TUVGR3njjDQ0dOtTlHKWlpZo7d67sdrumTJmi0NBQFRYWKiMjQ0eOHFFGRkZXXzYAAAA8yGvDc0xMjP70pz8pNjbW5Xhpaakee+wxPf/885o2bZpCQ0MlSVu3blVeXp5iY2O1du1a+fv7S5KmT5+utLQ0LV++XOvWrXP209DQoCVLlshisSg7O1tJSUmSpEWLFiktLU0bNmzQtGnTFBcX10VXDAAAAE/z2jXPkydPbhacJSk2NlYJCQmyWq0qLy93Ht+0aZMkyWw2O4OzJE2YMEGJiYnavXu3qqurncdLSkpUXV2thIQEZ3CWJH9/f5nNZpc+jaitrW3zn9OnTxvuDwAAAF3Pa2eer8bPz8/lf+vr61VRUaHAwECNGTOmWf2JEyequLhYe/fuVWRkpCRpz549ki6H6yuNHj1awcHBzjpGNA3grRk4cKBWr14tSTp06FC71lRbrVZJUkVFheE2neXUqbMeO7fNZvv/x3DKY2PoLBUVlnbV7073BODAfek5nvzd7C7t/T14Je6/3s1ut7ulnx4Xnv/+979r165d6tu3r8aOHStJOn78uGw2mwYPHixfX99mbYYMGSJJLjPPR48edSlrymQyKSIiQgcPHlRdXZ0CAgI64UoAV3/5sOX/8P3TtwZ08UgAAOi9elR4tlqt+tnPfiaLxaJFixZpwIDLoeLChQuSpKCgoBbbBQcHu9STpIsXL7qUXa2NkfBcUFDQZh2bzaba2lpJUnR0tMvykrY4vkXHxMQYbtNZDnzmuTcMOmacHWvde4OYmBEtHu9O9wTgwH3pOZ783ewurf2+M4r7r3ezWCzav39/h/vpMeG5sbFRP//5z7V3715NmjRJ6enphtteyzS+o43RpRWDBg1qs47FYnGGZwAAAHQ/XvvAYFN2u12/+MUv9M477+i+++7Tiy++KB+fby7NMUvsmE2+UkuzzI5Z6qaz0S21aW02GwAAAD2P1888NzY2asmSJXr77bd133336aWXXmq23CEiIkK+vr6qqamRzWZrtu752LFjkuR8WFCSoqKiXMqastvtOnHihEJDQ1nvDABAF9mwo+WlJw/f37HlHEB7ePXMc9PgPGnSJK1atarFdcJ9+/ZVTEyMLl26pLKysmblhYWFkuSyZ3N8fLwkqaioqFn98vJynT9/3lkHAAAAvYPXhuemwXny5MnKzMxUnz59Wq2fkpIiScrMzJTF8s1WN0VFRdq1a5fGjRvnMvOckJCgyMhIlZSUuDzsZ7ValZmZ6dInAAAAegevXbbx8ssv6+2331ZgYKCGDh2qNWvWNKszadIkRUdHS5JmzJih7du3Kz8/X8nJyUpKStKZM2e0bds29evXT0uXLnVp6+fnpxUrVmjevHmaP3++pk6dqpCQEBUWFqqqqkqzZ8/m7YIAAAC9jNeG55MnT0qSLl261GJwlqSwsDBnePbx8VFWVpZycnKUm5ur9evXKygoSJMnT5bZbFZ4eHiz9nFxcdq4caOysrKUn5+v+vp6RUZGatmyZUpNTe28i/MSra09AwCgK7EWGl3Ja8PzypUrtXLlyna18ff3V3p6eru2sRs5cmSr4RwAAAC9i9eueQYAAAC6mtfOPKPrsDyje2vt38+o/9fFAwHQLfA7G+hczDwDAAAABhGeAQAAAIMIzwAAAIBBhGcAAADAIMIzAAAAYBDhGQAAADCI8AwAAAAYRHgGAAAADCI8AwAAAAYRngEAAACDCM8AAACAQYRnAAAAwCDCMwAAAGAQ4RkAAAAwiPAMAAAAGER4BgAAAAwiPAMAAAAG+Xl6AAAAAJ1hw47DLn8+deqsJCkmxhOjQU/BzDMAAABgEOEZAAAAMIjwDAAAABhEeAYAAAAMIjwDAAAABhGeAQAAAIMIzwAAAIBBhGcAAADAIMIzAAAAYBDhGQAAADCI8AwAAAAY5OfpAaD72LDjsKeHADf6y4dnJUkHPnP99/rw/SM8MRwAAHoEZp4BAAAAgwjPAAAAgEGEZwAAAMAgwjMAAABgEOEZAAAAMIjwDAAAABjk1VvVbd26Vfv27dOBAwdUVVUlq9WqZ599VjNnzmyxvtVqVU5OjrZs2aKamhoFBwdr/PjxMpvNCg8Pb7FNZWWlVq1apbKyMtXX1ysqKkqpqalKSUmRyWTqzMsDAABAN+PV4fmll17SyZMnNWDAAIWEhOjkyZOt1m1sbNTChQuVl5enYcOGac6cOfriiy/03nvvqaioSG+88YaGDh3q0qa0tFRz586V3W7XlClTFBoaqsLCQmVkZOjIkSPKyMjo7EsEAKBF7M0PeIZXh+cVK1ZoyJAhCgsLU3Z2tp5//vlW627dulV5eXmKjY3V2rVr5e/vL0maPn260tLStHz5cq1bt85Zv6GhQUuWLJHFYlF2draSkpIkSYsWLVJaWpo2bNigadOmKS4urnMvEgAAuFVrXzx4iRSM8Oo1z4mJiQoLCzNUd9OmTZIks9nsDM6SNGHCBCUmJmr37t2qrq52Hi8pKVF1dbUSEhKcwVmS/P39ZTabXfoEAABA7+DVM89G1dfXq6KiQoGBgRozZkyz8okTJ6q4uFh79+5VZGSkJGnPnj2SLofrK40ePVrBwcHOOkbU1ta2WcdmsxnuDwAAAF2vV4Tn48ePy2azafDgwfL19W1WPmTIEElymXk+evSoS1lTJpNJEREROnjwoOrq6hQQENDmGJrOXrdm4MCBWr16tSTp0KFD7Xog0Wq1SpIqKioMt7nSqVNnr7ltd+H4AnLq1CkPj8TzWvssKiosnhgOIMk9v6twWU/4nd3V2vpvBL8feza73e6Wfrx62YZRFy5ckCQFBQW1WB4cHOxST5IuXrzoUmakDQAAAHq2XjHz3JZr+SbiaGN0drigoKDNOjabzbm8Izo62mVtdlscszgxMTGG21zpwGfe/+S2YzYhNDTUwyPxvNY+i5gYHoiB57jjdxUu6wm/s7taW/+N4Pdjz2axWLR///4O99MrwrNjltgxm3yllmaZHbPUrc0sO9q0Npt9pUGDBrVZx2KxGFobDQAAAM/oFcs2IiIi5Ovrq5qamhYfyjt27JgkOR8WlKSoqCiXsqbsdrtOnDih0NBQQ+udAQAA0DP0ipnnvn37KiYmRuXl5SorK2u2N3NhYaEkuRyPj4/XmjVrVFRUpMcff9ylfnl5uc6fP2/oIUAAADqCl6EA3UuvmHmWpJSUFElSZmamLJZvnqYtKirSrl27NG7cOJeZ54SEBEVGRqqkpMRlvbLValVmZqZLnwAAAOgdvHrmefPmzdq3b58kqaqqynnMsf/y2LFjNWvWLEnSjBkztH37duXn5ys5OVlJSUk6c+aMtm3bpn79+mnp0qUuffv5+WnFihWaN2+e5s+fr6lTpyokJESFhYWqqqrS7NmzebsgAABAL+PV4Xnfvn3Kzc11OVZWVqaysjLnnx3h2cfHR1lZWcrJyVFubq7Wr1+voKAgTZ48WWazWeHh4c36j4uL08aNG5WVlaX8/HzV19crMjJSy5YtU2pqaudeHAAAALodrw7PK1eu1MqVKw3X9/f3V3p6utLT0w23GTlypNasWXMtw/M41skBAAC4V69Z8wwAAAB0FOEZAAAAMMirl20AaL/WlvM8fD9v1gIAoC3MPAMAAAAGEZ4BAAAAgwjPAAAAgEGEZwAAAMAgwjMAAABgEOEZAAAAMIit6nqADTsO69Sps5KkA5/xVkEAAIDOQngGAKAbaG0PdgDdC8s2AAAAAIMIzwAAAIBBhGcAAADAIMIzAAAAYBDhGQAAADCI8AwAAAAYxFZ1ACS1vk3Ww/eP6OKRAIBn8HsQRhCeAQDoQuznDHg3lm0AAAAABhGeAQAAAIMIzwAAAIBBhGcAAADAIB4YBACgA9ihAehdCM8AABjQ3l0y2FUD6JlYtgEAAAAYxMyzF2EWAwA6H79rAVwN4RkAAOAqrvaFirXtvQ/LNgAAAACDCM8AAACAQYRnAAAAwCDCMwAAAGAQ4RkAAAAwiPAMAAAAGMRWdQCAHostxtDZeD1770N47qa2FHyshkb+YgAAAKA7ITwDADzGk7N2vEkQwLUgPAMA2h0k+StpAL0V4dmAyspKrVq1SmVlZaqvr1dUVJRSU1OVkpIik8nk6eEBnYr1fGiPtkL4qVNnJUkHPrt6PWaF4e343dlzEZ7bUFpaqrlz58put2vKlCkKDQ1VYWGhMjIydOTIEWVkZHh6iAA8jP9IAkDvQXi+ioaGBi1ZskQWi0XZ2dlKSkqSJC1atEhpaWnasGGDpk2bpri4OA+PFIA3aW/Ydmc4d9eMLjPDAHorwvNVlJSUqLq6WgkJCc7gLEn+/v4ym82aPXu2Nm3aRHhGr9STZ1s9dW3tDaQEWADoeoTnq9izZ48kacKECc3KRo8ereDgYGedttTW1rZZp6Ghwfmzr8ku+TQaHKnk73d57bVfO9r0RHwO3/DUZ/Hf/1fZ4vEHk4Z16TiM2FLwcYvH/VrZJdJisbRSv+XPuLXPorX+ewP+PwpP6g73X2u/R1r7fdQdf3d6K6vV6vzZbrdfcz+E56s4evSoJGnIkCHNykwmkyIiInTw4EHV1dUpICDgqn01nbluzdChQ7VixQpJUuSAr9s11v+vvXuP6ar+4zj+QlHJxMgLOC3FaZCmKaGQzHIUeS8Ub1BRE6OlZpabk6yGlpmpS8tZXpbZMMOpCXPTLkZi6AZBaKYNVokBpaGmwkQucn5/9IMibuf79XuF52Nz4jmf8znv8/28/e7tx885Z0C3W///U7lFx7U2fA7/cLXP4uTJk84OoYEB3Sxr39Q1WNpPW+ZqeYm2xRXyz9LvEVf87mwNqqur1alTJ6uObcPzHy0rKyuTJHl7eze6v3Z7aWmpw2ICAACA8zDzfBNqp/zNPK4uPT29xTY1NTWqrq5W9+7d5enpafoxeCUlJZo+fbokac+ePerZs6ckadq0aZKkvXv3NjimqX2WbnelfU19Djd7PmuPtfX1WbK9pc/ClbU0Fu52Xlv0a20flhxntq2Zdtb+HXUnjs5TW5/vZvqz9Fhb56G139funn+OzDlbnsuVcs0wjLolsi2tGGgOxXMzunTpIqnpmeXamenads3p1auX7QL7j/bt2+vSpUt1P3fs2FGSdOXKFUmq+/O/NbXP0u2utK+pz+Fmz2ftsba+Pku2t/RZuLKWxsLdzmuLfq3tw5LjzLY1087av6PuxNF5auvz3Ux/lh5r6zy09vva3fPPkTlny3O5Wq5Zu1Tj31i20Yz+/ftLks6ePdtgn2EYKiwslJ+f30396wUAAADug+K5GSEhIZKkjIyMBvtyc3N19erVujYAAABo/SiemxEaGip/f39lZmbWW7NcVVWl9evXS5JmzZrlpOgAAADgaKx5boanp6dWrFihuLg4zZ8/XxMmTJCvr6+OHDmi/Px8xcTE8IIUAACANsTDuJmnRLcRp06d0oYNG5STk6OKigr5+/srJiZG0dHRpp+IYU/nzp2re450enq6XW9OdGV8Dv/gs4ArIi/hTOQfbIWZZxPuuecebdq0ydlhAAAAwMlY8wwAAACYRPEMAAAAmMSaZwAAAMAkZp4BAAAAkyieAQAAAJMongEAAACTKJ4BAAAAkyieAQAAAJMongEAAACTKJ4BAAAAkyieUc/mzZsVFRWloKAghYWFaeHChSoqKnJ2WLAjxhyuavv27Zo0aZKCgoI0YsQIPfXUUzpx4oSzw0Ibk5iYqMDAQO3YscPZocBFUDyjnqysLMXGxmr37t3aunWrrly5ovj4eFVXVzs7tBadPn1azz33nEJCQjRs2DBNmTJFycnJ4j1AzXPnMUfr1rt3byUkJCg1NVXJycnq27ev5syZo8uXLzs7NLQR33zzjY4fPy5fX19nhwIXwhsG0azCwkJFREQoNTVVd999t7PDaVJ2drZmz54twzA0fvx4+fn56ciRI8rPz9fjjz+uxMREZ4foNtxlzNH2lJWVKTg4WElJSQoJCXF2OGjlLly4oGnTpmnLli2aO3eu4uLi9OSTTzo7LLgAT2cHAMukpqYqJydHP/74o/Lz81VVVaW33npLUVFRTR5z+vRpvffee/r+++9VUVGh/v37Kzo6WrNmzZKHh0ez5ysrK5Mk+fj42PIybKq6ulqvvPKKKisrtWXLFo0ZM0aStHDhQj3zzDPauXOnJk6cqJEjRzo5Uusw5nBVjszNyspK7dq1S7fddpsCAgLscTlwI47IvZdfflmxsbEKDAy056XADVE8u5l3331XxcXFuv322+Xr66vi4uJm2zc1I5uYmKi8vLxmZ2Rv3LihVatW6cEHH1SvXr1sfSk2k5mZqYKCAoWGhtYVzpLUsWNHvfjii4qJidGuXbvctnhmzOGqHJGb2dnZio+P1/Xr19WjRw9t27aNf9jB7rm3Y8cOXbt2TXFxcfa8DLgrA27l6NGjRlFRkWEYhrF582YjICDA2Lt3b6Ntq6qqjLFjxxoBAQHG4cOH67ZXVFQYsbGxRkBAgJGVldXosTU1NUZCQoIRERFhXLhwwfYXYkPvvPOOERAQYGzevLnBvpqaGiM4ONh44IEHnBCZbTDmcFWOyM3y8nKjoKDAyM3NNRISEoyHH37YuHjxon0uCG7Dnrn3888/G6NGjTIKCwvrtoWHhxtJSUl2uhq4G24YdDNhYWHq06ePqbYtzchK0q5duxocZxiGEhMTlZmZqe3bt6t79+42id1ezpw5I0nq169fg30eHh7q27evzp8/r/LyckeHZhOMOVyVI3LTy8tL/fr10/Dhw7Vy5Uq1a9dOn332mU3ih/uyZ+6dOHFCly5d0tixYzV48GANHjxYxcXFevPNNzV58mSbXgfcE8s2WrGsrCxJ0ujRoxvsCwoKkre3d12bWoZhaPny5UpPT9eOHTtMfzk5U+0aXW9v70b3124vLS3VLbfc4rC4nKGtjDncjzW5+V8eHh4yDEOVlZV2iRGtk6W5FxERoSFDhtRrN2fOHEVFRWnq1Kn2DRZugeK5FTMzI3vq1CmVl5fXFZXLli3TgQMH9MEHH8jLy0slJSWS/i5Avby8HBe8DRn/f6BMSzfKtQaMOVyVNbm5du1ahYeHq1evXrpy5Yp27typc+fOady4cQ6NHe7N0tzr2rWrunbtWq9dhw4d1LNnT/n7+zsiZLg4iudWzJoZ2eTkZEnSE088Ua9tS3cxO1OXLl0k/X0djan9HGrbtWZtZczhfqzJzfPnz2vRokW6ePGifHx8NGTIEH3yyScaMGCAY4JGq8D/TsLWKJ4d7KGHHmrxruB/W716tSIjI+0SS2Mzsnl5eXY5lz31799fknT27NkG+wzDUGFhofz8/PhSVOsZc7Q+jeXmmjVrnBUO2hAz/zuZlpbmqHDgBiieHWzcuHH666+/TLfv27ev1edqKzOyISEh2rRpkzIyMvTss8/W25ebm6urV6/Wu0mkNWsrYw73Q27CWcg92BrFs4MtWbLEYedqKzOyoaGh8vf3V2ZmptLT0+sK5aqqKq1fv16SNGvWLCdG6DhtZczhfshNOAu5B1vjUXWtWO3razMyMhrsq52RbQ2vuPX09NSKFSvUsWNHzZ8/X4sXL9aaNWsUFRWlzMxMxcTEuO0LUizVVsYc7ofchLOQe7A1iudW7L8zsrVa44zsyJEjlZycrNGjR+vw4cNKSkqSh4eHli1b1uwb9VqbtjTmcC/kJpyF3IOteRi1K+XhFnbv3q2cnBxJUn5+vk6dOqX77ruv7hE8wcHBmjFjRl377777TnFxcTIMQxMmTJCvr6+OHDmi/Px8xcTEaNmyZc64DFiAMYerIjfhLOQenIni2c0kJCRo3759Te6fOnWqVq1aVW/bqVOntGHDBuXk5KiiokL+/v6KiYlRdHR0m3j2sbtjzOGqyE04C7kHZ6J4BgAAAExizTMAAABgEsUzAAAAYBLFMwAAAGASxTMAAABgEsUzAAAAYBLFMwAAAGASxTMAAABgEsUzAAAAYBLFMwAAAGASxTMAAABgEsUzAAAAYBLFMwAAAGASxTMAAABgEsUzALRyL7zwggIDA5WYmNhsuy1btigwMFAzZ85UTU2NqqqqlJGRoRUrVigqKkqhoaEaOnSoxo4dq9dff11//PHHTcd2/PhxBQYGKjAwUKtXr77p/gDA3jwMwzCcHQQAwH4uXLigSZMm6cqVK/r4448VGhraoM2ZM2cUGRmpmpoapaSkaODAgTp27Jhmz54tSerTp48GDRokSfrhhx/0559/ytvbWx9++KGGDRtmdWzLli3Tp59+Kknq2bOn0tPT1b59e6v7AwB7Y+YZAFq5Hj16aOnSpTIMQ6+++qrKy8vr7a/dXlFRofnz52vgwIGSJA8PD02cOFG7d+9WWlqaNm7cqI0bN+rQoUOKiopSaWmpFi1apOrqaqviqqys1MGDByX9XTiXlJTo6NGjN3exAGBnFM8A0AZERkYqPDxcv/32m9atW1dv386dO5Wdna3BgwcrPj6+bvuoUaO0bt063XvvvfXad+rUSYmJifL29lZRUZFyc3OtiiktLU2XL1/W8OHD9fTTT0uSUlJSrOoLAByF4hkA2ojly5fL29tbSUlJdQXv77//rrVr18rT01MrV66Up6enqb68vLzk7+8vSTp//rxV8dQWypGRkXrsscfUrl07ff311yotLbWqPwBwBIpnAGgj/Pz8tGTJEtXU1Gjp0qWqrKzUa6+9pmvXrik+Pr5uTbMZN27cUHFxsSSpe/fuFsdy8eJFffvtt+rQoYMmTpwoPz8/hYWF6fr16/r8888t7g8AHIXiGQDakBkzZigsLEy//vqrYmNjlZGRobvuukvz5s2zqJ/U1FRdunRJ3bp1U3BwsMVx7N+/X9XV1QoPD5ePj48kacqUKZKkffv2WdwfADgKxTMAtDFvvPGGOnfurOPHj6t9+/ZauXKlOnbsaPr4oqIivf3225Kkl156yaJja/17yUatRx55RF26dFFOTo4KCwst7hMAHIHiGQDamDvuuEPR0dGSpIiIiAY3BDanrKxM8+bN0+XLlzVu3DjNnDnT4vPn5eXpp59+ko+Pj8aMGVO33cvLS+PHj5fEjYMAXJe5O0MAAK1K586d6/1uRkVFhebOnau8vDzdf//9Wrt2bYM2v/zyi7Zu3dpg+/Tp0zVixAhJ/xTGkyZNUocOHeq1mzJlivbs2aOUlBQ9//zz8vDwMB0fADgCxTMAoEVVVVVasGCBsrKyFBQUpPfff7/R5RoXLlxodM1ySEiIRowYoRs3bmj//v2SpKNHjyomJqZeu9r3dhUVFSk7O1sjR460w9UAgPUongEAzaqpqdHixYuVnp6uQYMGacuWLbr11lsbbRsaGqq8vLwm+8rIyFBJSYkkqaCgQAUFBU223bdvH8UzAJfDmmcAQJNq3z548OBBDRgwQNu2bVPXrl2t7q92VnrBggXKy8tr9NeXX34pSfriiy90/fp1m1wHANgKxTMAoEmrVq3S3r17deedd+qjjz5St27drO6rtLRUaWlpkqTJkyc32a5fv34aOnSoysrK9NVXX1l9PgCwB5ZtAAAadejQIW3fvl2S1Lt37wav9a4VERGhiIiIFvs7cOCAKioqNHTo0Lq3EzZl8uTJOnnypFJSUvToo49aGjoA2A3FMwCgUVevXq37OTMzs8l2ffr0MVU81y7ZaG7WudakSZO0evVqHTt2TOfPn5efn5+JiAHA/jyM2lubAQAAADSLNc8AAACASRTPAAAAgEkUzwAAAIBJFM8AAACASRTPAAAAgEkUzwAAAIBJFM8AAACASRTPAAAAgEkUzwAAAIBJFM8AAACASRTPAAAAgEkUzwAAAIBJFM8AAACASRTPAAAAgEkUzwAAAIBJFM8AAACASRTPAAAAgEkUzwAAAIBJ/wOLie7QVievzAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "flow.HistogramView(channel = 'Y2-A',\n", " scale = 'logicle',\n", " yfacet = 'Dox').plot(ex)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Indeed, the two tubes have dramatically different histograms. We could also plot them on top of eachother with different colors, by using `huefacet` instead of `yfacet` -- this is one of my favorite ways to compare a few distributions at once." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAs8AAAHVCAYAAAAO1xbXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAABibAAAYmwFJdYOUAABRdUlEQVR4nO3de1xVVcL/8e8BBCXASwVOCKJZXmPyAiiZTo1jaj2aTg7YjE0aNZSZNPP0ZNNMaI/P5HSTvExGE6Y1Jo8V2vSYzpgKoYkiFN6SLqJCiXmXQM7hcH5/+OPkkdsGDhwOfN6vl69w7bXWXvuc7el7FmvvbbLZbDYBAAAAqJeHqwcAAAAAuAvCMwAAAGAQ4RkAAAAwiPAMAAAAGER4BgAAAAwiPAMAAAAGEZ4BAAAAgwjPAAAAgEGEZwAAAMAgwjMAAABgEOEZAAAAMIjwDAAAABhEeAYAAAAMIjwDAAAABhGeAQAAAIO8XD0A/KiyslJlZWWSJC8vL5lMJhePCAAAoG2w2WyqqKiQJHXq1EkeHo2bQ3br8Pz+++/rqaeeqrPO8OHDtXLlSvvfLRaLUlJStG7dOhUWFsrf318jRoxQQkKCQkJCauzjwIEDWrx4sXJyclReXq5evXopNjZWMTExTg24ZWVl+uKLL5zWHwAAAKrr16+frrrqqka1devw3L9/fz366KM1btu0aZO+/PJLjRw50l5WWVmp2bNna+vWrerTp4+mT5+ukydP6qOPPlJmZqbeeecd9e7d26Gf7OxszZgxQzabTePGjVNQUJAyMjKUmJioQ4cOKTExsVmPEQAAAK2HyWaz2Vw9CGczm8269dZbVVJSovT0dF1zzTWSpLS0NM2dO1fDhg3TihUr5O3tLUnKzMxUXFycoqKiHGapKyoqdOedd6qgoEDJyckaPXq0vf+4uDhlZWXp7bffVkREhFPGXV5ern379km69I2oQ4cOhtsePHhQ0qUvFO0Zr8OPeC3QGnFewpU4/9o3i8Vi/w3/oEGD5OPj06h+3HrmuTabN2/W2bNnNWbMGHtwlqTU1FRJUkJCgj04S9LIkSMVHR2t7du3q6CgQGFhYZKkrKwsFRQUKCoqyh6cJcnb21sJCQmaNm2aUlNTnRaeL18C0qFDB4cxGm3bkDZtEa/Dj3gt0BpxXsKVOP9QpSnLbttkeH733XclSVOnTrWXlZeXKy8vT76+vhoyZEi1NqNGjdL27du1e/due3jetWuXJDks/agyePBg+fv72+vU5/jx4/XWsVqthvoCAACAa7S58FxUVKRPP/1UQUFBuvXWW+3lR48eldVqVY8ePeTp6VmtXc+ePSVJBQUF9rLDhw87bLucyWRSaGio9u/fr7KyMnXq1KnOcV0+c12bbt26aenSpZIu/WqpId+KLBaLJCkvL89wm7aI1+FHvBZojTgv4Uqcf+2bs1Yqt7n7PL///vuqrKzUlClTHELyhQsXJEl+fn41tvP393eoJ0klJSUO24y0AQAAQNvVpmaeKysr9f7778tkMumXv/xlg9o25ttIVRsjM8Tp6en11rFarfblHf3792/Qmqyqb9Hh4eGG27RFvA4/4rVAa8R5CVfi/GvfzGaz9u7d2+R+2lR43r59u7799luNGDGi2j2bq2aJq2aTr1TTLHPVLHVtM8tVbWqbzb5c9+7d661jNpsNrY0GAACAa7SpZRs1XShYJTQ0VJ6eniosLKzxwrwjR45Ikv1iQUnq1auXw7bL2Ww2HTt2TEFBQfWudwYAAEDb0GZmns+cOaOPP/5YXbp00S9+8Ytq2318fBQeHq7c3Fzl5ORUu71cRkaGJDmUR0ZGavny5crMzNRDDz3kUD83N1fnz583dCEgAABovWw2m86fP6/z58+rvLzcaReWoXmZTCb5+PgoICBAAQEBTn3qc13azMzz+vXrZbFY9B//8R+1rhWOiYmRJCUlJclsNtvLMzMztWPHDg0fPtxh5jkqKkphYWHKyspyWLNssViUlJTk0CcAAHA/NptN3333nb799luVlJRw21g3YrVaVVJSom+//Vbfffddi33paTMzz++9956kmpdsVJk0aZI2btyobdu2afLkyRo9erROnTqlDRs2KCAgQM8884xDfS8vLy1YsEAzZ87UrFmzNH78eAUGBiojI0P5+fmaNm2a0x6QAgAAWt758+d17tw5+fj46LrrrpOPj0+LzWCiaWw2m8rLy/Xtt9/q3Llzuuqqq9S5c+dm32+bmHnOy8tTfn6+wsPD1bdv31rreXh4aMmSJXr88cdVUVGhVatWKT09XWPHjtV7772n66+/vlqbiIgIrVmzRiNHjtS2bdv01ltvyWQyad68eUpMTGzOwwIAAM3s/PnzkqTrrrtOHTt2JDi7EZPJpI4dO+q6666T9ON72dzaxMxzeHi4Dh06ZKiut7e34uPjFR8fb7j/gQMHavny5Y0dHgAAaKXKy8vl4eEhHx8fVw8FjeTj4yMPDw+Vl5e3yP7axMwzAABAY9hsNnl4eDDj7MZMJpM8PDxabM0z4RkAAAAwiPAMAAAAGER4BgAAAAxqExcMAq62etMXNZbfe0e/Fh4JAKAtuf3221VUVGT/u4eHh/2WbDfeeKOGDh2qu+++W9dcc40LR9m+EJ4BAABauZEjR+raa6+VJJWWlurEiRPavn27tmzZoqSkJMXHx+vhhx+Wp6eni0fa9hGeAQAAWrmHHnpIUVFRDmWlpaX63//9Xy1atEhLlizRiRMn9Oyzz7pohO0Ha54BAADckK+vr+6//34tX75cnp6eSk1NVWZmpquH1eYRngEAANzYiBEjNGHCBEnSm2++6bDNbDbrjTfe0OTJkzV48GDdfPPNmjx5slJSUmQ2m+31KisrNX36dPXt21dLly6tto/vvvtOkZGRGjBggPbs2dOsx9PaEZ4BAADc3F133SVJys7OlsVikSSVlZXpvvvu0/PPP69jx44pOjpat9xyi44dO6a//vWvuv/++3Xx4kVJly5EfOGFF9SlSxf97W9/cwjIVqtV//mf/6lz587pkUce0dChQ1v+AFsRwjMAAICb69+/v6RLgbnq7hyLFi1Sbm6ubrrpJv373//WsmXLtGzZMv3rX//SwIEDtWfPHr3yyiv2Prp3764FCxbIarXqiSee0IULFyRJr776qrKzszVs2DA9/PDDLX9wrQzhGQAAwM117drV/vO5c+dUVlamtWvXSpLmzZvnsL1bt26aN2+eJGnNmjX22WdJ+sUvfqHY2FgVFRUpMTFRe/bs0d/+9jd17txZL7zwAnfzEOEZAADA7dlsNvvPJpNJ+/fvV2lpqW644QYNGjSoWv3w8HBdf/31Ki0t1b59+xy2PfXUU7rhhhv0f//3f3rooYdktVr17LPP6rrrrmv243AHhGcAAAA3d+bMGfvPnTt3VnFxsSSpR48etbYJCQmRJJ04ccKhvGPHjlq4cKEkqaSkRFOmTNG4ceOcPWS3RXgGAABwcwcOHJB06fZ1wcHBTe7v//7v/+w/f/HFFw535mjvCM8AAABurirsRkREyMvLS0FBQZKkwsLCWttUbQsMDHQoz8zM1IoVK3Tttdfqlltu0YEDB/Tyyy8308jdD+EZAADAjX366afasGGDJGnGjBmSpIEDB6pTp0768ssv7bPSl9u7d6+++uor+fr6OqyJPn36tObOnStJ+utf/6oXX3xR1157rd5880198sknLXA0rR/hGQAAwA2VlZXpzTffVHx8vCorK3XvvfdqxIgRkqROnTpp6tSpkqT58+fr3Llz9nZnzpzR/PnzJUmxsbHq2LGjfdvcuXP1/fffa8aMGbrlllvUrVs3/fWvf7VvO3XqVEsdXqvl5eoBAAAAoG7JyclKS0uTJJWWlurEiRM6cOCAysvL1aFDBz322GOKj493aPP73/9ee/fuVW5ursaMGaPhw4fLZrMpKytL58+f19ChQzVnzhx7/ZUrVyo9PV0DBw7U448/bi+/5ZZbNGPGDKWkpOipp57Sa6+9JpPJ1DIH3goRngEAAFq5zMxMSZduQ3fVVVepc+fOio6OVkREhCZNmqRrrrmmWptOnTpp5cqVeuutt/Thhx8qIyNDJpNJYWFhio+P1/Tp0+Xt7S3p0kWBL774onx9ffXSSy/Zy6s8/vjjysrKUnp6ulatWqXf/va3zX/QrRThGQAAoJXasmVLk9r7+PgoLi5OcXFxddbr16+f9u7dW+t2b29vvf/++00aS1vBmmcAAADAIMIzAAAAYBDhGQAAADCI8AwAAAAYRHgGAAAADCI8AwAAAAYRngEAAACDCM8AAACAQYRnAAAAwCCeMAg0o9Wbvqix/N47+rXwSAAAgDMw8wwAAAAYRHgGAAAADCI8AwAAAAYRngEAAACDuGAQAACgDrVd/N0aOOsC9PXr12vPnj3at2+f8vPzZbFY9Nxzz2nKlCkN7uujjz7SypUrdejQIXl4eGjQoEGKj4/XiBEjnDJWV2sT4Xnz5s165513tG/fPpWWluraa6/VoEGD9Pjjj6tXr172ehaLRSkpKVq3bp0KCwvl7++vESNGKCEhQSEhITX2feDAAS1evFg5OTkqLy9Xr169FBsbq5iYGJlMppY6RAAAgGbzyiuvqKioSF27dlVgYKCKiooa1c/rr7+uF198UV27dtWUKVNkMpm0YcMGzZgxQy+//LImTJjg5JG3PLcOzzabTYmJiUpNTVVISIgmTJggPz8/ff/998rOzlZBQYE9PFdWVmr27NnaunWr+vTpo+nTp+vkyZP66KOPlJmZqXfeeUe9e/d26D87O1szZsyQzWbTuHHjFBQUpIyMDCUmJurQoUNKTEx0xWHDhVrz7AMAAI21YMEC9ezZU8HBwUpOTtZLL73U4D6OHDmiV155RV27dlVaWpp+8pOfSJIefPBBTZ48WfPnz9fIkSMVEBDg7OG3KLcOz6tWrVJqaqpiYmL0zDPPyMvL8XAqKirsP69fv15bt27VsGHDtGLFCnl7e0uSJk6cqLi4OM2fP18rV650aPv000/LbDYrOTlZo0ePliTNmTNHcXFxWr16tSZMmKCIiIgWOFIAAIDmEx0d3eQ+3n//fVksFv3mN7+xB2dJCgoK0n333adFixZp06ZNmjp1apP35Upue8HgxYsXtWzZMgUHB+vPf/5zteAsyaEsNTVVkpSQkGAPzpI0cuRIRUdHa+fOnSooKLCXZ2VlqaCgQFFRUfbgLEne3t5KSEhw6BMAAKC9y8rKknQpW11p1KhRDnXcmduG58zMTJ07d06/+MUvZLPZtHnzZiUnJ+sf//iHvvzyS4e65eXlysvLk6+vr4YMGVKtr6o3dPfu3fayXbt2Sar5BBg8eLD8/f3tdQAAANq7qknInj17VttWVXbkyJGWHFKzcNtlG/v375ckdejQQXfffbe+/vprh+2TJ0/Wf//3f6tDhw46evSorFarevToIU9Pz2p9Vb2hl888Hz582GHb5Uwmk0JDQ7V//36VlZWpU6dO9Y73+PHj9daxWq311gEAAGiNSkpKJEn+/v7Vtl111VXy9PTU+fPnW3pYTue24fnUqVOSpJSUFA0YMEBr167V9ddfr4MHD+rPf/6z0tLSdM011+g///M/deHCBUmSn59fjX1VvclV9aS6T4Ar2xgJz5cv/ahNt27dtHTpUknSwYMHG3Q3D4vFIknKy8sz3KYtau7Xobj4jFP6ycszO6WfunBOoDXivIQr1XT+VVRUyNfXV6WlpfW2a43qGndjmc1m+38b0r/NZrOPqabltJdvdzar1arS0tI6P1uq9t9Ubrtso+oF6NChg5YtW6bw8HBdddVVGjZsmBYvXiwPDw+9/fbb9hPASF+N2T+3qwMAAPhxkrJqAvJypaWlqqysrHUi05247cxz1czvoEGDFBQU5LDthhtuUEhIiI4cOaKvv/7aXremN/Py8stnmave3Mtno2tqY/QkSE9Pr7eO1Wq1L+/o37+/w4WN9an6phUeHm64TVvU3K/Dvu+cc6u68HDn3NS+LpwTaI04L+FKNZ1/VddJ+fr61tquQ4cOzTuwJqhr3I1VlT+8vb0b1H+vXr2Um5urEydO6LrrrnPYVrU0tlevXs0yZk9PT/n7++uGG26otY7ZbNbevXubvC+3Dc9V92+ub1nFxYsXNWDAAHl6eqqwsFBWq7XauueqxethYWHV+q9pYbvNZtOxY8cUFBRkaMmGJHXv3r3eOmaz2dDaaAAAgNYmKipKubm5yszM1M033+ywLSMjw17H3bntso3hw4dLkr755ptq2ywWi44ePSpJCg4Olo+Pj8LDw1VaWqqcnJxq9ave0Mvv2RwZGSnp0l09rpSbm6vz58/b6wAAALQXFy5c0Ndff60TJ044lE+ZMkUdOnTQ22+/re+++85eXlxcrFWrVqlz58664447Wnq4Tue24TkkJESjRo3SkSNHtHbtWodtycnJOn/+vIYNG6bAwEBJUkxMjCQpKSnJYR10ZmamduzYoeHDhzvMPEdFRSksLExZWVkOSy4sFouSkpIc+gQAAHBna9eu1dy5czV37lxt3LixWtnlWevf//63JkyYoJdfftmhj549e2rOnDk6c+aM/a5nCxYs0OTJk3X69GnNmzfP7Z8uKLnxsg1JSkxMVGxsrP70pz9p8+bN6t27tw4cOKCdO3eqS5cuevbZZ+11J02apI0bN2rbtm2aPHmyRo8erVOnTmnDhg0KCAjQM88849C3l5eXFixYoJkzZ2rWrFkaP368AgMDlZGRofz8fE2bNo2nC6LRanvM9713NP9aaAAArrRnzx6lpaU5lOXk5Dj8xt7IkwEffPBBBQcH680339R7770nDw8PDRo0SA8//LBGjBjh9HG7gsnmrPt2uEhxcbGWLFmi9PR0nTlzRl26dNGtt96qRx99VMHBwQ51zWazUlJSlJaWpqKiIvn5+emWW25RQkKCQkJCaux///79WrJkifbs2aPy8nKFhYVp2rRpio2NdfqdNi5fyH7TTTdxwWAjNPR1aGiIra2+szgzPHNOoDXivIQr1XXBYF0XmqH1M/I+NiVnXc6tZ56lS89LX7BggaG63t7eio+PV3x8vOH+Bw4cqOXLlzd2eAAAAGhD3HbNMwAAANDSCM8AAACAQYRnAAAAwCDCMwAAAGAQ4RkAAAAwiPAMAAAAGER4BgAAAAwiPAMAAAAGEZ4BAAAAgwjPAAAAgEGEZwAAAMAgwjMAAABgkJerBwDgR6s3fVHrtnvv6NeCIwEAADUhPAMAANThdEaqq4dQq26jYpzSz/r167Vnzx7t27dP+fn5slgseu655zRlypQa61ssFqWkpGjdunUqLCyUv7+/RowYoYSEBIWEhDRo36dOndIrr7yibdu26fTp0woKCtK4ceP0yCOP6KqrrnLG4TkV4RkAAKCde+WVV1RUVKSuXbsqMDBQRUVFtdatrKzU7NmztXXrVvXp00fTp0/XyZMn9dFHHykzM1PvvPOOevfubWi/p06d0q9+9SsVFhbqlltu0YABA/TFF1/o73//u3bu3Km3335bnTp1ctZhOgXhGQAAoJ1bsGCBevbsqeDgYCUnJ+ull16qte769eu1detWDRs2TCtWrJC3t7ckaeLEiYqLi9P8+fO1cuVKQ/t98cUXVVhYqLi4OD3xxBP28kWLFmn58uVKSUnRrFmzmnZwTsYFgwAAAO1cdHS0goODDdVNTb20jCUhIcEenCVp5MiRio6O1s6dO1VQUFBvPyUlJfrwww/l6+tbLSA//PDD8vf31//+7//KZrMZP5AWQHgGAACAIeXl5crLy5Ovr6+GDBlSbfuoUaMkSbt37663r88//1xms1lDhgyRr6+vw7aOHTsqIiJCx48f19GjR50zeCchPAMAAMCQo0ePymq1qkePHvL09Ky2vWfPnpJkaOa5qk5YWFiN26vKjfTVkljzjDbl48/OSJL2fed4yzdu8wYAQNNduHBBkuTn51fjdn9/f4d6TemrqtxIXy2JmWcAAAA4hTPXJ1f1ZTKZnNanMxCeAQAAYEjVzHJJSUmN26vKq+o1pa8ffvhBUu0z065CeAYAAIAhoaGh8vT0VGFhoaxWa7XtR44ckVT7OubL1bemub410a5CeAYAAIAhPj4+Cg8PV2lpqXJycqptz8jIkCRFRETU29dPf/pTeXt7KycnR6WlpQ7bLl68qN27d6t79+4KDQ11zuCdhPAMAAAAw2JiLj0SPCkpSWaz2V6emZmpHTt2aPjw4dVmi48ePaqvv/5aFovFXubn56e77rpLpaWlWrZsmUP9V199VRcuXNCvfvWrVrfmmbttAAAAtHNr167Vnj17JEn5+fn2sl27dkmShg4dqqlTp0qSJk2apI0bN2rbtm2aPHmyRo8erVOnTmnDhg0KCAjQM888U63/+++/X0VFRfr444/Vo0cPe/kf/vAHZWVl6e9//7sOHjyogQMH6uDBg/rkk080aNAgzZw5s7kPvcEIzwAAAHXoNirG1UNodnv27FFaWppDWU5OjsPSjKrw7OHhoSVLliglJUVpaWlatWqV/Pz8NHbsWCUkJCgkJMTwfq+55hqtXbtWr7zyirZs2aJdu3YpMDBQDzzwgGbNmqVOnTo55wCdiPAMAADQzi1cuFALFy40XN/b21vx8fGKj483VH/Lli21brv66qv17LPP6tlnnzW8f1dizTMAAABgEOEZAAAAMIjwDAAAABhEeAYAAAAMIjwDAAAABhGeAQAAAIO4VR3ahdWbvnD1EAAArZDJZJLVapXNZmt1T7KDMTabTZWVlfL09GyR/RGegRoQtgGgffDx8VFJSYnKy8vVsWNHVw8HjVBeXq7Kykr5+vq2yP5YtgEAANqtgIAASdK3336rixcvymazuXhEMMpms+nixYv69ttvJf34XjY3t555vv3221VUVFTjtpEjR+qNN95wKLNYLEpJSdG6detUWFgof39/jRgxos5HSR44cECLFy9WTk6OysvL1atXL8XGxiomJoZf7wAA4OYCAgL0ww8/6Ny5czp8+LA8PDzk4cHcojuorKxUZWWlJKlz586EZ6P8/f3129/+tlp5aGiow98rKys1e/Zsbd26VX369NH06dN18uRJffTRR8rMzNQ777yj3r17O7TJzs7WjBkzZLPZNG7cOAUFBSkjI0OJiYk6dOiQEhMTm/XYAABA8zKZTPrJT36iq666SufPn1d5eTmzz27C09NTvr6+CggIUEBAQItNarp9eA4ICNDs2bPrrbd+/Xpt3bpVw4YN04oVK+Tt7S1JmjhxouLi4jR//nytXLnSXr+iokJPP/20zGazkpOTNXr0aEnSnDlzFBcXp9WrV2vChAmKiIhongMDAAAtwmQyqXPnzurcubOrhwI30G5+L5GamipJSkhIsAdn6dLyjujoaO3cuVMFBQX28qysLBUUFCgqKsoenCXJ29tbCQkJDn0CAACgfXD7mWez2ax169bp+PHj8vPzU3h4uMLDwx3qlJeXKy8vT76+vhoyZEi1PkaNGqXt27dr9+7dCgsLkyTt2rVL0qVwfaXBgwfL39/fXseI48eP11vHarUa7g8AAAAtz+3D8/fff68nn3zSoezm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H35YM2fO1G9+8xtXDwutgJerB4CGWb9+vfbs2aN9+/YpPz9fFotFzz33nKZMmVJrmwMHDmjx4sXKyclReXm5evXqpdjYWMXExMhkMtW5v5KSEklSly5dnHkYTlVRUaGnn35aZrNZycnJGj16tCRpzpw5iouL0+rVqzVhwgRFRES4eKSNw3uO1qolz02z2azU1FR17txZN954Y3McDtxIS5x7Tz31lKZPn66+ffs256HADRGe3cwrr7yioqIide3aVYGBgSoqKqqzfm0zsomJiTp06FCdM7JWq1ULFy7UqFGj1L17d2cfitNkZWWpoKBAUVFR9uAsSd7e3kpISNC0adOUmprqtuGZ9xytVUucm9nZ2XrwwQd18eJFXXPNNUpJSeGLHZr93Hv77bdVWlqqmTNnNudhwF3Z4Fa2b99uKywstNlsNttrr71mu/HGG23vvfdejXUtFott7NixthtvvNG2bds2e3l5eblt+vTpthtvvNG2a9euGttWVlba5s6daxszZozt5MmTzj8QJ3r55ZdtN954o+21116rtq2ystI2dOhQ26233uqCkTkH7zlaq5Y4N8vKymwFBQW23Nxc29y5c20///nPbadOnWqeA4LbaM5z76uvvrKNGDHCduzYMXvZbbfdZnvrrbea6Wjgbrhg0M1ER0crODjYUN36ZmQlKTU1tVo7m82mxMREZWVl6c0339TVV1/tlLE3l8OHD0uSevbsWW2byWRSaGioiouLVVZW1tJDcwrec7RWLXFuduzYUT179tTNN9+sv/zlL/Lw8ND777/vlPHDfTXnuff555/r9OnTGjt2rAYMGKABAwaoqKhI//M//6O77rrLqccB98SyjTZs165dkqSRI0dW2zZ48GD5+/vb61Sx2WyaP3++0tPT9fbbbxv+cHKlqjW6/v7+NW6vKr9w4YI6derUYuNyhfbynsP9NObcvJLJZJLNZpPZbG6WMaJtaui5N2bMGA0aNMih3gMPPKApU6Zo8uTJzTtYuAXCcxtmZEZ2//79Kisrs4fKefPmacOGDXr11VfVsWNHff/995IuBdCOHTu23OCdyPb/byhT34VybQHvOVqrxpybL774om677TZ1795d586d0+rVq3X8+HHdcccdLTp2uLeGnnsBAQEKCAhwqNehQwdde+21CgsLa4kho5UjPLdhjZmRXbNmjSTp17/+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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "flow.HistogramView(channel = \"Y2-A\",\n", " scale = \"logicle\",\n", " huefacet = 'Dox').plot(ex)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So, there's a clear difference between these tubes: one has a substantial population above about ~200 in the Y2-A, and the other doesn't. What's the proportion of \"high\" cells? Let's gate out the \"high\" population using a `ThresholdOp`." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "thresh = flow.ThresholdOp(name = \"T\",\n", " channel = \"Y2-A\",\n", " threshold = 200)\n", "\n", "ex2 = thresh.apply(ex)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Two important things to note here: first, an `Operation` (such as `ThresholdOp`) *does not operate in place*; instead, you create a `ThresholdOp` object, then call `apply()` to run it on an `Experiment`. The `apply()` function returns a new `Experiment`.\n", "\n", "Second, a gate *does not remove events*; it simply *adds additional metadata* to the events already there. You can see this if we look at the underlying `pandas.DataFrame` for `ex` and `ex2`:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " B1-A B1-H B1-W Dox FSC-A FSC-H \\\n", "0 -127.094002 257.718353 -63040.300781 10.0 459.962982 437.354553 \n", "1 -70.234840 255.798340 -34034.042969 10.0 -267.174652 365.354553 \n", "2 -96.471756 313.398346 -41931.687500 10.0 -201.582336 501.354553 \n", "3 18.831570 277.669250 8514.489258 10.0 291.259888 447.029755 \n", "4 100.882095 255.756256 51291.074219 10.0 -397.168579 354.565308 \n", "\n", " FSC-W HDR-T SSC-A SSC-H SSC-W \\\n", "0 137847.578125 2.018511 840.091370 747.917847 147225.328125 \n", "1 -95849.679688 27.451754 3476.902344 3163.917969 144038.046875 \n", "2 -52700.828125 32.043865 480.270691 507.917877 123937.437500 \n", "3 85399.273438 79.327492 8026.275879 6741.838867 156043.484375 \n", "4 -146821.125000 79.731194 7453.750488 609.884277 262143.968750 \n", "\n", " V2-A V2-H V2-W Y2-A Y2-H \\\n", "0 41.593452 240.153854 22701.017578 109.946274 153.630051 \n", "1 103.437637 336.153870 40332.058594 5554.108398 4273.629883 \n", "2 -271.375580 256.153870 -138860.828125 81.835281 121.630051 \n", "3 -26.212378 207.677841 -16543.453125 -54.120304 98.122017 \n", "4 44.559933 216.036865 27035.013672 -10.542595 127.326027 \n", "\n", " Y2-W \n", "0 93802.468750 \n", "1 170344.203125 \n", "2 88188.023438 \n", "3 -72294.242188 \n", "4 -10852.761719 \n", "----\n", " B1-A B1-H B1-W Dox FSC-A FSC-H \\\n", "0 -127.094002 257.718353 -63040.300781 10.0 459.962982 437.354553 \n", "1 -70.234840 255.798340 -34034.042969 10.0 -267.174652 365.354553 \n", "2 -96.471756 313.398346 -41931.687500 10.0 -201.582336 501.354553 \n", "3 18.831570 277.669250 8514.489258 10.0 291.259888 447.029755 \n", "4 100.882095 255.756256 51291.074219 10.0 -397.168579 354.565308 \n", "\n", " FSC-W HDR-T SSC-A SSC-H SSC-W \\\n", "0 137847.578125 2.018511 840.091370 747.917847 147225.328125 \n", "1 -95849.679688 27.451754 3476.902344 3163.917969 144038.046875 \n", "2 -52700.828125 32.043865 480.270691 507.917877 123937.437500 \n", "3 85399.273438 79.327492 8026.275879 6741.838867 156043.484375 \n", "4 -146821.125000 79.731194 7453.750488 609.884277 262143.968750 \n", "\n", " V2-A V2-H V2-W Y2-A Y2-H \\\n", "0 41.593452 240.153854 22701.017578 109.946274 153.630051 \n", "1 103.437637 336.153870 40332.058594 5554.108398 4273.629883 \n", "2 -271.375580 256.153870 -138860.828125 81.835281 121.630051 \n", "3 -26.212378 207.677841 -16543.453125 -54.120304 98.122017 \n", "4 44.559933 216.036865 27035.013672 -10.542595 127.326027 \n", "\n", " Y2-W T \n", "0 93802.468750 False \n", "1 170344.203125 True \n", "2 88188.023438 False \n", "3 -72294.242188 False \n", "4 -10852.761719 False \n" ] } ], "source": [ "print(ex.data.head())\n", "print(\"----\")\n", "print(ex2.data.head())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In `ex2`, the `ThresholdOp` added a new column, named `T`, which has the same name as the `ThresholdOp`'s `name` attribute. It is `True` if the `Y2-A` value is greater than 200, and `False` otherwise. The `T` column is now a piece metadata *just like the Dox concentration* that we can use to facet the plots. For example, the following plots different `Dox` concentrations in separate plots stacked on top of eachother (`yfacet = \"Dox\"`), and on each of these plots uses separate colors for the \"low\" and \"high\" populations (`huefacet = 'T'`):" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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a5Z69OjRUpd6Tdp1eLbZbEpJSdGaNWsUFBSkCRMmyNfXV6dOnVJ+fr5KSkrs4bm6ulqzZ8/Wli1b1L9/f02bNk1fffWVPvjgA+Xk5OjNN99Uv379HPrPz8/X9OnTZbPZNG7cOAUEBCg7O1spKSk6cOCAUlJSXHHZAAAALeaf//yntmzZosjISI0aNUqXLl3Sjh079MILL2j37t1KS0trtI8XXnhBr7/+uoKDg3Xvvfeqa9euOnHihAoKCpSbm+sQnj/88EMlJyfLzc1N3//+99W7d28dOnRIf//735WTk6N//vOfuv7661vykpukXYfnlStXas2aNYqPj9f8+fPl4eF4OVVVVfaf169fry1btigiIkLLly+Xl5eXJGnixIlKTEzUwoULtWLFCoe28+bNk9lsVnp6umJjYyVJc+bMUWJiolatWqUJEyYoMjKyFa4UAADAeY4fP15vCL7rrrv005/+VCkpKXJ3d7cft9lsmjdvnt5++23t2rVLw4YNu2r/b731lgICAvTuu+/K29vboezs2bMOP//6179Wjx499OabbyowMNBe9t577+kXv/iFlixZot/97nfXeqlO1273eb506ZJefvllBQYG6ne/+12d4CzJ4diaNWskScnJyfbgLEkjR45UTEyMtm/frpKSEvvxvLw8lZSUKDo62h6cJcnLy0vJyckOfQIAALQnx48f19KlS+v8+eSTTxQYGOgQnCXJZDLpxz/+sSTp448/NnQODw+POv1IcliGsX79el28eFFPPvmkQ3CWpPvuu0+DBg3S+++/39TLa1HtduY5JydHX3/9teLi4mSz2bR582Z9/vnn6tq1q6KionTLLbfY61ZWVqqoqEg+Pj4aOnRonb5GjRql3Nxc7dy5UyEhIZKkHTt2SLocrq80ZMgQ+fn52esYUVZW1mgdq9VquD8AAIBrFRUVpb/97W/1lpnNZv3jH//Q+++/r88//1zl5eWy2Wz28pMnTzba/7hx47R69Wrdd999Gj9+vKKiojRkyBD5+Pg41Pvkk08kSf/9739VWlpap5/KykqdPXtWZ86ckb+/fxOusOW02/C8d+9eSZKnp6fuv/9+HTp0yKE8Li5O//u//ytPT08dPXpUVqtVffr0qfcbUN++fSXJYeb58OHDDmW1mUwmBQcHa+/evaqoqKjzzxH1qT173RB/f38tXbpUkrRv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1f55AAAAAG1Duw7PkuTn56eHH364zvHg4GCHv1dXV2v27NnasmWL+vfvr2nTpumrr77SBx98oJycHL355pvq16+fQ5v8/HxNnz5dNptN48aNU0BAgLKzs5WSkqIDBw4oJSWlRa8NAAAAbUu7D8/dunXT7NmzG623fv16bdmyRREREVq+fLm8vLwkSRMnTlRiYqIWLlyoFStW2OtXVVVp3rx5MpvNSk9PV2xsrCRpzpw5SkxM1KpVqzRhwgRFRka2zIUBAACgzek0a57XrFkjSUpOTrYHZ+ny8o6YmBht375dJSUl9uN5eXkqKSlRdHS0PThLkpeXl5KTkx36BAAAQOfQ7meezWaz1q1bp7KyMvn6+io8PFzh4eEOdSorK1VUVCQfHx8NHTq0Th+jRo1Sbm6udu7cqZCQEEnSjh07JF0O11caMmSI/Pz87HWMKCsra7SO1Wo13B8AAABaX7sPz6dOndJTTz3lcOy73/2unn/+eftDgEePHpXValWfPn3k7u5ep4++fftKksPM8+HDhx3KajOZTAoODtbevXtVUVEhb2/vRsdZe/a6If7+/lq6dKkkad++fU16INFisUiSioqKDLfpiGq+gJw4ccLFI3G+oiJzk+pzT6At4r6EK3H/dW7OeqNkuw7PkydPVmRkpPr37y9vb2+VlJTojTfe0HvvvadHHnlE//d//ycfHx9duHBBkhp8baOfn58k2etJ0sWLFx3KrtbGSHgGAABA+9euw/OsWbMc/n7bbbfphRdekCS99957euutt/TQQw812s+1fBOpaWN0djgrK6vROlar1b68IywszGFtdmNqvkVfuWSls/nwk8ufc0BAgItH4nzh4QObVJ97Am0R9yVcifuvczObzdq9e3ez+2nX4bkhDzzwgN577z0VFBTooYcess8S18wmX6m+WeaaWeras9H1tWloNvtKvXv3brSO2Ww2tDYavD4bAAC4RofcbaPmlZsVFRWSLu/57O7urtLS0nofyjty5Igk2R8WlKTQ0FCHstpsNpuOHTumgIAAlmwAAAB0Ih0yPP/3v/+VJAUGBkqSunTpovDwcJWXl6ugoKBO/ezsbEly2LM5KipKkpSTk1OnfmFhoc6fP2+vAwAAgM6h3YbnTz/9VOfOnatz/ODBg3rppZckSffdd5/9eHx8vCQpNTVVZvO3uxbk5ORo27ZtGj58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tWPHDu3du1e33HJLnfKaLyNG3whY88BmTbsr7d27V5I0YMCAaxkugA6G8AwALvTxxx9rw4YNkqTp06fbjw8aNEje3t769NNPVVxcrNtuu82h3e7du/XZZ5/Jx8fHYU30mTNn7CH5ueeeU1hYmCZOnKi//vWvuvPOOw29wa/G7NmzNXv27OZcXosYPXq0duzYoY0bN+r+++93KNuzZ4+OHTumHj16aOjQoYb6GzVqlNzd3bVr1y6dOnXK/ip16fJ6540bN0qSvv/97zvtGgC0X6x5BgAXqKio0F//+lclJSWpurpaDz74oEaMGGEv9/b21pQpUyRJCxcutO/CIV1eI71w4UJJUkJCgn2nDUmaO3euTp06penTp+vOO++Uv7+/nnvuOXvZ6dOnW+PyWtQDDzyg7t27a8uWLfYvHtLl9d01n8v06dPr7CzywgsvaNy4cXrhhRccjt9www26//77ZbFYlJKS4rDX9muvvaaDBw/q5ptv1ve+970WvCoA7YXJxmPEANAiRo8erePHj2vkyJH22czy8nKdPHlSxcXFqqyslKenpx5//HElJSXVCXsVFRWaPn26CgsL1a1bNw0fPlw2m015eXk6f/68hg0bpoyMDHt4XrFihf7whz9o0KBBWr16tcMa5+eee04ZGRmKjY3Vq6++at/Vw9XWrl1r35JPkv773/9Kku644w77sSlTpti/SNTYunWrZs6cqaqqKkVERKhnz57auXOnTp8+reHDh+v111+Xp6enQ5u5c+cqMzNTcXFx9gcqa5w/f15Tp07VZ599psDAQN1xxx06evSo9uzZo65du+of//iHfXkHgM6NZRsA0MJycnIkXd6GrmvXrrr++usVExOjyMhITZo0ST179qy3nbe3t1asWKG//e1veu+995SdnS2TyaSQkBAlJSVp2rRp9oC8f/9+Pf/88/Lx8dELL7xQ5+HAJ598Unl5ecrKytLKlSv18MMPt+xFG1RWVmYPzLXVPlbfUpO7775ba9as0csvv6yCggIVFRUpKChIDz/8sGbMmFEnODemW7duWrNmjV555RVt2rRJ//73v3X99dfrhz/8oZ544gkFBwc3/eIAdEjMPAMAAAAGseYZAAAAMIjwDAAAABhEeAYAAAAMIjwDAAAABhGeAQAAAIMIzwAAAIBBhGcAAADAIMIzAAAAYBDhGQAAADCI8AwA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376KiYmRJNXV1blUjz0oz5kzR4888oh69eql999/X/X19S71BwDeQHgGgCARGRmp5557Tq2trXr++efV1NSkX/ziF7p+/bqWLFnStqbZjJaWFtXW1kqShgwZ4nQtly5d0gcffKDevXtr5syZioyMVHJysm7cuKG3337b6f4AwFsIzwAQRObPn6/k5GT95z//0YIFC1RUVKRvfOMbevrpp53qJz8/X5cvX9bgwYM1fvx4p+t466231NzcrClTpmjQoEGSpLlz50qS9u7d63R/AOAthGcACDK//vWv1b9/f504cUIhISFau3atwsLCTB9fU1Oj3/72t5Kkn/70p04da/flJRt23/nOdzRgwACVlZWpurra6T4BwBsIzwAQZO68806lp6dLklJSUjp8IbArDQ0Nevrpp3XlyhVNmzZNjz/+uNOvX1FRoY8//liDBg3S5MmT27b37dtX06dPl8QXBwH4L3PfDAEA9Cj9+/dv928zrFarnnrqKVVUVOihhx7Shg0bOrT597//rVdffbXD9scee0wTJkyQ9EUwnjVrlnr37t2u3dy5c/Xmm29q3759+vGPfyyLxWK6PgDwBsIzAKBbNptNy5cvV0lJieLj4/XHP/6x0+UaFy9e7HTNcmJioiZMmKCWlha99dZbkqQjR44oIyOjXTv7c7tqampUWlqqhIQED5wNALiO8AwA6FJra6ueffZZFRQUaPTo0crJydHXvva1TtsmJSWpoqLCYV9FRUW6cOGCJKmqqkpVVVUO2+7du5fwDMDvsOYZAOCQ/emDBw4c0N13361t27Zp4MCBLvdnn5Vevny5KioqOv3n73//uyTpnXfe0Y0bN9xyHgDgLoRnAIBD69at0549ezRixAi99tprGjx4sMt91dfX6+DBg5Kk2bNnO2wXHR2tsWPHqqGhQe+++67LrwcAnsCyDQBAp9577z1t375dknTHHXd0eKy3XUpKilJSUrrtb//+/bJarRo7dmzb0wkdmT17tk6dOqV9+/bpu9/9rrOlA4DHEJ4BAJ26du1a28/FxcUO2w0fPtxUeLYv2ehq1tlu1qxZWr9+vY4ePaq6ujpFRkaaqBgAPM9i2L/aDAAAAKBLrHkGAAAATCI8AwAAACYRngEAAACTCM8AAACASYRnAAAAwCTCMwAAAGAS4RkAAAAwifAMAAAAmER4BgAAAEwiPAMAAAAmEZ4BAAAAkwjPAAAAgEmEZwAAAMAkwjMAAABgEuEZAAAAMInwDAAAAJhEeAYAAABMIjwDAAAAJv0fcWZBFhfFSkUAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "flow.HistogramView(channel = \"Y2-A\",\n", " scale = \"logicle\",\n", " yfacet = \"Dox\",\n", " huefacet = 'T').plot(ex2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It's also important to note that we can still access the underlying `pandas.Dataframe`: either by looking at the `Experiment.data` attribute, or by referencing a column directly:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 False\n", "1 True\n", "2 False\n", "3 False\n", "4 False\n", "5 False\n", "6 True\n", "7 False\n", "8 True\n", "9 False\n", "Name: T, dtype: bool" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ex2[\"T\"].head(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Because the data is all stored in a single `pandas.Dataframe`, we can use the `pandas` API, and indeed the rest of the SciPy stack, to ask sophisticated questions of the underlying data. For example, \"how many events of each Dox concentration were above the threshold?\"" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Dox T \n", "1.0 False 9946\n", " True 54\n", "10.0 False 5561\n", " True 4439\n", "dtype: int64" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ex2.data.groupby(['Dox', 'T']).size()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`cytoflow` can answer the same question for us using one of its statistics views. In `cytoflow`, a *statistic* is a piece of data that summarizes a population; one of the key features of `cytoflow` is that it makes it easy to create theses statistics and see how these summary statistics change as your experimental conditions change.\n", "\n", "Several operations add statistics to an experiment; one of the most straightforward ones is `ChannelStatisticOp`. It groups the experiment's data by the conditions specified in `by`, then applies `function` to `channel` for each group.\n", "\n", "In this case, we'll divide up the data into the subgroups `T == True & Dox == 1`; `T == True & Dox == 10`; `T == False & Dox == 1`; and `T == False & Dox == 10`. Then, we'll apply the function `len` to the `Y2-A` channel. You can use any Python function in `function` that takes a `pandas.Series` and returns either a single `float` or a `pandas.Series` of `float`s. See the documentation for details." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "ex3 = flow.ChannelStatisticOp(name = \"ByDox\",\n", " channel = \"Y2-A\",\n", " by = ['T', 'Dox'],\n", " function = len).apply(ex2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can look at the new statistic: `Experiment.statistics` is a dictionary whose keys are tuples and whose values are the computed statistics (stored as `MultiIndex`ed `pandas.Series`). The first element in the tuple is the name of the operation that added it, and the second is defined by that operation. In this case, it's `len`, the name of the function." ] }, { "cell_type": "code", "execution_count": 13, "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", "
Y2-A
TDox
False1.09946.0
10.05561.0
True1.054.0
10.04439.0
\n", "
" ], "text/plain": [ " Y2-A\n", "T Dox \n", "False 1.0 9946.0\n", " 10.0 5561.0\n", "True 1.0 54.0\n", " 10.0 4439.0" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ex3.statistics[\"ByDox\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also plot statistics using one of the various statistics views, such as `BarChartView`." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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vf/++4qKilKvXr100003KSoqSgkJCbLb7c55JSUlGjt2rLp06aJ58+aVqXH06FGFh4frd7/7nXbs2FGrrweAORGCAQBVduedd0qSUlNTVVRUJEkqLCzUuHHj9Le//U2HDx/WgAEDNHDgQB0+fFivvfaaxo8fr/Pnz0u68IG7v//977r22mv1zjvvuARdh8Ohp556SmfPntVjjz2mPn361P0LBNDgEYIBAFXWtWtXSReCb+nTJN566y2lp6erR48e+ve//6358+dr/vz5+uqrr9StWzft2LFDb7/9tnONVq1aadasWXI4HPp//+//6dy5c5Kkd999V6mpqerbt68mT55c9y8OgCkQggEAVdakSRPnr8+ePavCwkKtWrVKkjRjxgyX8aZNm2rGjBmSpBUrVjh3gyXp9ttvV0xMjHJzcxUXF6cdO3bonXfeUePGjfX3v/+dp08AqDWEYABAlV38dE2LxaKMjAwVFBSoU6dO6t69e5n5oaGhuuGGG1RQUKAff/zRZey5555Tp06d9Pnnn+vRRx+Vw+HQyy+/rOuvv77WXwcA8yIEAwCq7MyZM85fN27cWD///LMkqU2bNpe8p23btpKk48ePu1y/5pprNHv2bElSfn6+Ro8erWHDhtV0ywDgghAMAKiyzMxMSRcem9a6dWu31/v888+dv96zZ4/LkyQAoDYQggEAVVYaWsPCwuTl5aWgoCBJUk5OziXvKR1r2bKly/WkpCQtXrxYLVq00MCBA5WZmak333yzljoHgAsIwQCAKvn++++1fv16SdKECRMkSd26dZOvr6/279/v3CW+2K5du/S///u/8vPzczkzfPr0aT377LOSpNdee02vv/66WrRooQ8++EDfffddHbwaAGZFCAYAVEphYaE++OADTZo0SSUlJbr//vvVv39/SZKvr6/uvfdeSdLMmTN19uxZ531nzpzRzJkzJUkxMTG65pprnGPPPvusTpw4oQkTJmjgwIFq2rSpXnvtNefYqVOn6urlATAZi3HxR3wBAKY2ZMgQ5ebmatCgQWrRooUkqaCgQMePH1dmZqZsNpu8vb01efJkTZo0yeURZoWFhZowYYLS09MVGBiofv36yTAMJScnKy8vT3369FFCQoIzBC9ZskSvvvqqunXrphUrVshqtTrXeu2115SQkKDIyEgtXLhQFoulbv9FAGjwCMEAAKfSEFzKYrGoUaNGaty4sTp37qywsDDdfffdat68ebn322w2ffjhh/rXv/6lgwcPymKxKCQkRHfddZfGjh3rDLp79uzRvffeKy8vL3366adq3769yzp2u10xMTHKyMjQ888/r4ceeqj2XjQAUyIEAwAAwHQ4EwwAAADTIQQDAADAdAjBAAAAMB1CMAAAAEyHEAwAAADTIQQDAADAdAjBAAAAMB1CMAAAAEyHEAwAAADTIQQDAADAdAjBAAAAMB1CMAAAAEyHEAwAAADTIQQDAADAdAjBAAAAMB1CMAAAAEyHEAwAAADTIQQDAADAdP4/bAIQ4b9+sycAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "flow.BarChartView(statistic = \"ByDox\",\n", " feature = \"Y2-A\",\n", " variable = \"Dox\",\n", " huefacet = 'T').plot(ex3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Statistics are important enough that they get an entire notebook of examples; please see `Statistics.ipynb` for a more in-depth exploration.\n", "\n", "I hope this makes the semantics of the `cytoflow` package clear. This was a pretty simplistic toy analysis; for more sophisticated examples, see the other accompanying Jupyter notebooks." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.11.11" } }, "nbformat": 4, "nbformat_minor": 4 }