{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Unit Quality Metrics\n", "\n", "## Tutorial overview\n", "\n", "This Jupyter notebook will provide a detailed explanation of the unit quality metrics included in the Allen Institute Neuropixels Visual Coding dataset. It's important to pay attention to quality metrics, because failing to apply them correctly could lead to invalid scientific conclusions, or could end up hiding potentially useful data.\n", "\n", "To help you avoid these pitfalls, this tutorial will explore how these metrics are calculated, how they can be biased, and how they should be applied to specific use cases. It's important to keep in mind that none of these metrics are perfect, and that the use of unit quality metrics for filtering ephys data is still an evolving area of research. More work is required in order to establish general-purpose best practices and standards in this domain.\n", "\n", "This tutorial assumes you've already created a data cache, or are working with the files on AWS. If you haven't reached that step yet, we recommend going through the [data access tutorial](./ecephys_data_access.ipynb) first.\n", "\n", "Functions related to data analysis will be covered in other tutorials. For a full list of available tutorials, see the [SDK documentation](https://allensdk.readthedocs.io/en/latest/visual_coding_neuropixels.html)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Why do we need quality metrics?\n", "\n", "For a long time, converting continuous voltage traces to sorted spike times was one of the \"dark arts\" of neuroscience. Spikes were typically sorted by hand-drawing boundaries around clouds of dots, using heuristics learned from other lab members. The quality of the resulting clusters could be validated by looking at metrics such as ISI violations or isolation distance, but there were no standards governing how these metrics informed which units to include for further analysis.\n", "\n", "Recent in advances in neural recording devices, such as Neuropixels, have made it practically impossible to sort spikes by hand. Fortunately, we now have access to powerful algorithms that use GPUs to sort spikes in approximately the same amount of time it took to record the data. All of the Allen Institute Neuropixels data has been sorted with [Kilosort2](https://github.com/MouseLand/Kilosort2), a template-matching algorithm developed by Marius Pachitariu at HHMI Janelia Research Campus.\n", "\n", "For Neuropixels recordings with minimal electrode drift, Kilosort2 performs well enough that further manual curation is not necessary. Unlike the original version of Kilosort, which required a manual merging step, Kilosort2 attempts to merge units automatically. Sometimes it over-merges, leading to units that clearly combine spikes from multiple cells. But in the majority of cases, Kilosort2 makes merging decisions as well as a human would, and does so in a way that is highly reproducible.\n", "\n", "Because there is no \"ground truth\" information available in these datasets, any sorting algorithm is bound to make mistakes. Quality metrics allow us to understand the types of mistakes that are occurring, and obtain an estimate of their severity. Some common errors that can be identified by quality metrics include:\n", "\n", "* Assigning spikes from multiple neurons to the same cluster\n", "* Missing spikes from neurons with waveform amplitude near the spike detection threshold\n", "* Failing to track neurons with waveforms that change as a result of electrode drift\n", "\n", "These mistakes can occur even in units that appear to be extremely well isolated. It's misleading to conceive of units as existing in two distinct categories, one with perfectly clean \"single units\" and one with impure \"multiunits.\" Instead, there's a gradient of qualities, with mostly complete, uncontaminated units at one end, and incomplete, highly contaminated units at the other.\n", "\n", "Despite the fact that there's not a clear division between single-unit and multi-unit activity, we still have to make a binary decision in every analysis we carry out: should this unit be included or not? Ideally this decision should be based on objective metrics that will not bias the end results. By default, the AllenSDK uses three quality metrics, `isi_violations`, `amplitude_cutoff`, and `presence_ratio`, to filter out units that are likely to be highly contaminated or missing lots of spikes. However, the default values of these filters may not be appropriate for your analysis, or you may want to disable them entirely. Reading through this tutorial will give you a better understanding of how these (and other) metrics should be applied, so you can apply them effectively throughout your own explorations of this dataset.\n", "\n", "Metrics covered in this tutorial:\n", "* Firing rate (`firing_rate`)\n", "* Presence ratio (`presence_ratio`)\n", "* Amplitude cutoff (`amplitude_cutoff`)\n", "* ISI violations (`isi_violations`)\n", "* SNR (`snr`)\n", "* Isolation distance (`isolation_distance`)\n", "* d-prime (`d_prime`)\n", "* Nearest-neighbors-hit-rate (`nn_hit_rate`)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## How these metrics were calculated\n", "\n", "The Python code used to calculate these metrics from the outputs of Kilosort2 is available in the [ecephys_spike_sorting](https://github.com/AllenInstitute/ecephys_spike_sorting/tree/master/ecephys_spike_sorting/modules/quality_metrics) repository. A number of the metrics are based on the waveform principal components, which are not included in the data release. To recompute these metrics on your own, you'll need access to the raw data, which is available in the [Allen Brain Observatory S3 Bucket on AWS](https://registry.opendata.aws/allen-brain-observatory/). \n", "\n", "This code was recently incorporated into the [SpikeMetrics](https://github.com/SpikeInterface/spikemetrics) repository by the SpikeInterface team. It's now available as a PyPi package (`pip install spikemetrics`) if you'd like to try them out on your own data.\n", "\n", "If you have any questions about the specific implementation of these metrics, or recommendations for new ones to include, we encourage you to submit an issue in either GitHub repository." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Accessing the metrics\n", "\n", "Because these metrics are so important to interpreting your results, they are included in every DataFrame that stores information about individual units.\n", "\n", "To take a look at the metrics for all units in the dataset, simply call `get_units()` on the `EcephysProjectCache` object." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import os\n", "\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "from allensdk.brain_observatory.ecephys.ecephys_project_cache import EcephysProjectCache" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Example cache directory path, it determines where downloaded data will be stored\n", "data_directory = '/local1/ecephys_cache_dir/'\n", "\n", "manifest_path = os.path.join(data_directory, \"manifest.json\")\n", "\n", "cache = EcephysProjectCache.from_warehouse(manifest=manifest_path)\n", "\n", "units = cache.get_units()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "40010" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(units)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "By default, the AllenSDK applies filters so only units above a set of thresholds are returned.\n", "\n", "The default filter values are as follows:\n", "\n", "- `isi_violations` < 0.5\n", "- `amplitude_cutoff` < 0.1\n", "- `presence_ratio` > 0.9\n", "\n", "Let's disable these filters so we can see all of the available units:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "99180" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "units = cache.get_units(amplitude_cutoff_maximum = np.inf,\n", " presence_ratio_minimum = -np.inf,\n", " isi_violations_maximum = np.inf)\n", "\n", "len(units)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we have a DataFrame that contains all of the units detected by Kilosort2 across 58 experiments. Importantly, this does not include units with invalid waveforms. Kilosort2 often detects \"spikes\" that are very clearly not associated with action potentials; these can result from electrical artifacts or lower-frequency voltage fluctuations that cross the spike detection threshold. The majority of these \"noise\" units are automatically filtered out via [this module](https://github.com/AllenInstitute/ecephys_spike_sorting/tree/master/ecephys_spike_sorting/modules/noise_templates), followed by a manual inspection step to identify any remaining artifactual waveforms.\n", "\n", "Let's look in more detail at the distribution of some quality metrics across 99,180 units. We'll start by creating a function for plotting each metric in an aesthetically pleasing way:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "from scipy.ndimage.filters import gaussian_filter1d\n", "plt.rcParams.update({'font.size': 14})\n", "\n", "def plot_metric(data, bins, x_axis_label, color, max_value=-1):\n", " \n", " h, b = np.histogram(data, bins=bins, density=True)\n", "\n", " x = b[:-1]\n", " y = gaussian_filter1d(h, 1)\n", "\n", " plt.plot(x, y, color=color)\n", " plt.xlabel(x_axis_label)\n", " plt.gca().get_yaxis().set_visible(False)\n", " [plt.gca().spines[loc].set_visible(False) for loc in ['right', 'top', 'left']]\n", " if max_value < np.max(y) * 1.1:\n", " max_value = np.max(y) * 1.1\n", " plt.ylim([0, max_value])\n", " \n", " return max_value" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Firing rate" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, let's take a look at firing rate, which is the most straightforward metric to compute. Firing rate is equal to the total number of spikes divided by the number of seconds in the recording. We'll create a density plot of firing rate across all units in the dataset:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "data = units['firing_rate']\n", "bins = np.linspace(0,50,100)\n", "\n", "max_value = plot_metric(data, bins, 'Firing rate (Hz)', 'red')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since there are many units with low firing rates, let's use a log scale instead:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "data = np.log10(units['firing_rate'])\n", "bins = np.linspace(-3,2,100)\n", "\n", "max_value = plot_metric(data, bins, 'log$_{10}$ firing rate (Hz)', 'red')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Based on this plot, you can clearly see the approximately lognormal distribution of firing rates, which [has been described previously](http://www.buzsakilab.com/content/PDFs/Mizuseki2014.pdf). However, there's more weight on the lower tail of the distribution, which is likely due to some units missing spikes as a result of thresholding or drift. If we filter out contaminated units using another metric, `nn_hit_rate` (more on what this means later), the distribution becomes almost perfectly lognormal:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "data = np.log10(units[units.nn_hit_rate > 0.9]['firing_rate'])\n", "bins = np.linspace(-3,2,100)\n", "\n", "max_value = plot_metric(data, bins, 'log$_{10}$ firing rate (Hz)', 'red')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Before we move on to the next metric, let's add one more feature to these plots. Displaying the metrics separately for different brain regions can be helpful for understanding the variation that results from the physiological features of the area we're recording from. The four main regions that are part of the Neuropixels Visual Coding dataset are cortex, thalamus, hippocampus, and midbrain. We'll use the Allen CCF structure acronyms to find the units that belong to each region." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "region_dict = {'cortex' : ['VISp', 'VISl', 'VISrl', 'VISam', 'VISpm', 'VIS', 'VISal','VISmma','VISmmp','VISli'],\n", " 'thalamus' : ['LGd','LD', 'LP', 'VPM', 'TH', 'MGm','MGv','MGd','PO','LGv','VL',\n", " 'VPL','POL','Eth','PoT','PP','PIL','IntG','IGL','SGN','VPL','PF','RT'],\n", " 'hippocampus' : ['CA1', 'CA2','CA3', 'DG', 'SUB', 'POST','PRE','ProS','HPF'],\n", " 'midbrain': ['MB','SCig','SCiw','SCsg','SCzo','PPT','APN','NOT','MRN','OP','LT','RPF','CP']}\n", "\n", "color_dict = {'cortex' : '#08858C',\n", " 'thalamus' : '#FC6B6F',\n", " 'hippocampus' : '#7ED04B',\n", " 'midbrain' : '#FC9DFE'}\n", "\n", "bins = np.linspace(-3,2,100)\n", "max_value = -np.inf\n", "\n", "for idx, region in enumerate(region_dict.keys()):\n", " \n", " data = np.log10(units[units.ecephys_structure_acronym.isin(region_dict[region])]['firing_rate'])\n", " \n", " max_value = plot_metric(data, bins, 'log$_{10}$ firing rate (Hz)', color_dict[region], max_value)\n", " \n", "_ = plt.legend(region_dict.keys())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can see a clear separation in the distributions across areas; the thalamus has a lot of units that fire in the 8 Hz range (remember the log scale), while the midbrain has the most units with very high rates (>20 Hz).\n", "\n", "Here's a summary of things to keep in mind when using `firing_rate` in your analysis:\n", "\n", "**How it can be biased**\n", "* If a unit is poorly isolated, the firing rate will be over-estimated, because contaminating spikes will be included in the calculation\n", "* If a unit's amplitude is close to threshold, the firing rate will be under-estimated, because some spikes will be missing\n", "* If a unit drifts out of the recording, the firing rate will be under-estimated, because spikes will not be detected for a portion of the recording\n", "* If data acquisition is interrupted (true for a small subset of experiments), the firing rate will be under-estimated, because spikes will be missing from gaps in the recording\n", "\n", "**How it should be used**\n", "* Firing rate can be used to filter out units that have too few spikes to result in meaningful analysis. In this case, it may be better to use the firing rate for the specific interval you're analyzing, because some units may drift out of the recording at other times.\n", "* High firing rate units tend to be easier to isolate, since there are more spikes available for fitting the template in Kilosort2. However, there are other metrics that measure isolation more directly and would likely to be better to use instead." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Presence ratio" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Presence ratio is not a standard metric in the field, but it's straightforward to calculate and is an easy way to identify incomplete units. It measures the fraction of time during a session in which a unit is spiking, and ranges from 0 to 0.99 (an off-by-one error in the calculation ensures that it will never reach 1.0).\n", "\n", "Let's look at the distribution of presence ratio across areas:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAV0AAAEOCAYAAAAqksTuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3dd5xU9b34/9f7TNkCLEU6qIiAdAteFIOCimJQLxHMFSmKRIMkIohw/dkRFTQWIGr4CkYkViJ6b6JJsGOnSFSqNAF1UeqlLbszp3x+f5zZdRdYtjBndpZ9Px+Pgd0553zKlPd89j3nfD5ijEEppVRqWFXdAKWUqkk06CqlVApp0FVKqRTSoKuUUimkQVcppVIoXMZ2PbVBKaUqTkrboCNdpVTa27I7ny2786u6GUlR1khXKaWq3C1zvwJg7sgeVdySo6dBVymV9kZf0Laqm5A0UsYVaZrTVUqpitOcrlKq+vpu5wG+23mgqpuRFJpeUEqlvQnzvgY0p8vevXvZtm0btm0nqz2qBohEIjRu3JicnJyqboqqJm65qF1VNyFpKp3T3bt3L1u3bqVFixZkZWUhUmoKQ6kixhjy8/PJzc2lSZMmGnjVsSr5Od1t27bRokULsrOzNeCqchMRsrOzadGiBdu2bavq5qhqYsP2/WzYvr+qm5EUlU4v2LZNVlZWMtuiapCsrCxNS6lyu+P15YDmdHWEqypNXzuqIv77klOquglJo2cvKKXSXrcTG1R1E5JGz9NVSqW9NT/tY81P+6q6GUmhI12lVNq7528rgGMjp6sj3SRp1aoVjz76aFU3Q6lj0h39OnBHvw5V3Yyk0JHuUYrH40Sj0apuhlLHtFOPr1fVTUiaGjnSNcbw2GOP0bZtWzIyMmjZsiW33347AMuXL6dPnz5kZWXRoEEDhg8fzp49e4qOHT58OJdddhkPP/wwLVu2pGXLlvTu3ZvNmzczYcIERKTEN/OfffYZvXr1Kjo3ddSoUezduxeADz/8kEgkwoIFC4r2f/rpp8nJyeHbb79NzYOhVDWwcsseVm7ZU/aO1UBSR7rj3/mAZVtTe8J71yaNefSi8yt0zB133MGMGTN4/PHHOe+889i+fTtffvkleXl59O3bl+7du7N48WJ27drFDTfcwIgRI3jttdeKjv/www+pW7cu8+fPxxhDixYtOPXUUxkxYgSjRo0q2m/58uVcfPHF3HfffTzzzDPs2rWLsWPHMmLECObNm0evXr2YMGECw4YNY9myZWzdupVx48bxpz/9idatWyftMVKqupv0xirg2Mjp1rj0wv79+5k6dSrTpk1jxIgRALRp04YePXowa9Ys8vLyeP7556lTpw4AM2fO5Pzzz2f9+vW0adMGgMzMTJ599lkyMjKKyg2FQtSpU4emTZsW3ffII49w1VVXceuttxbdN2PGDE4//XS2bdtG48aNue+++3jnnXf4zW9+w6ZNm7jsssu49tprU/FQKFVt3HN5x5TW5730CrQ/BeuM05NedlKDbkVHnFVh1apVxGIxLrzwwkO2rV69mq5duxYFXIBzzjkHy7JYtWpVUdDt3LlziYBbmqVLl7J+/Xrmzp1bdF/hXBcbNmygcePGRCIRXnrpJTp16kTjxo15//33j7aLSh1zOjWvm9L6zMLFSO06kO5B91hWPE9bq1atch3jeR7XX389t9xyyyHbWrRoUfTzwoUL8TyP3bt3s337durVO3a+NFAqGb7+fjeQmi/UjOuC50EkFEj5Ne6LtA4dOpCRkcF777132G3Lly9n376fT8L+7LPP8DyPDh2OfLpKNBrFdd0S951xxhmsXLmSNm3aHHIrnLdi48aN3HTTTTz11FNcdNFFDB06FMdxktBTpY4dk/+5msn/XJ2aygrff+FIIMXXuKBbp04dxowZw+23387s2bPZsGEDixcvZsaMGQwZMoTs7GyuueYali9fzkcffcTIkSMZMGBAUWqhNK1ateLjjz8mNzeXHTt2AHDbbbexePFibrzxRr788kvWr1/Pm2++yciRIwFwXZdhw4bRq1cvRo4cyTPPPMP333/PfffdF/jjoFR1Mql/Zyb175yaygqDbiSYRECNTC9MmTKF+vXrc//99/PDDz/QpEkTrrnmGrKzs3nrrbcYO3Ys3bt3JzMzk/79+zN9+vQyy5w0aRIjR47k5JNPJhaLYYyha9eufPTRR9x111306tUL13Vp3bo1V1xxBQCTJ09m/fr1LF/uz6B03HHHMWfOHPr160ffvn3p2bNnoI+DUtXFKU3rlL1TstjBjnQrPYn56tWry/yTW6kj0deQKq+lm3cBqZn4xuzYgTfxAWToYKyzu1e2GF2YUilVff1h/hr+MH9NaiqzNb2glKrhJg/okrrKEjldiQSTXtCgq5RKeyc3qp26ygpXNAkHEx41vaCUSnsLv93Jwm93pqayolPGNOgqpWqoqe+sZeo7a1NTWdEpY5peUErVUI9ceWrqKgs4vaBBVymV9k44LjtldZmAz17Q9IJSKu19sm4Hn6zbkZrKAr4MWEe6Sqm098T76wDo2bZh8JU5evZCoBYsWICIFM2XUFmFK0oopZJv6lWnMfWq01JTmaYXkqt3797cdNNNVd0MpVQFNK+XRfN6WampLOCzF2pc0FVKVT8L1mxjwZoULQWm6YXkGT58OB9++CFPPfVU0QKSmzZtAuDrr7/mrLPOIjs7mzPPPJN///vfRcft3LmTq6++mpYtW5KVlUWnTp2YPXv2EeuaP38+5557LvXr16dBgwb07duX1at/ng9006ZNiAivvPIKvXr1Iisri9NPP51ly5axYsUKzjnnHGrVqkXPnj3ZuHFj0XETJ06kc+eSU9w999xz1K798xU733//Pf3796dBgwZkZ2fTvn17XnnllaN56JSqUjMWbGDGgg2pqcx2wLIQK5jwmNRQ7s17HfNDbjKLLJO0bIF15YBy7Tt9+nTWrl1L+/btmTx5MgArV64E4Pbbb+fhhx+mWbNmjBkzhiFDhrBq1SpEhIKCAs444wxuu+02cnJyePfddxk5ciQnnHDCYZf9AcjLy2Ps2LF07dqV/Px8HnjgAS6//HJWrVpVYsn2e++9l6lTp9K6dWtGjRrF1VdfTePGjXnwwQdp3Lgx1157LTfffDNvvPFGuR+T3/3udxQUFPDBBx+Qk5PDmjUpmihEqYA8MTj5y+aUynECSy1ADTt7oW7dukSjUbKzs4sWkPzmm28AuP/++zn/fH+Nt3vuuYeePXuSm5tLy5YtadGiBRMmTCgq57e//S3vv/8+L7/8cqlBd+DAgSV+nz17Njk5OSxevLjEPLnjxo2jX79+ANx6661cfvnlJdpy0003VTgHvXnzZgYOHMipp/onlJ900kkVOl6pdNO4TmbqKrOdwFILkOSgW94RZzrq2rVr0c/NmzcHYNu2bbRs2RLXdXnooYeYO3cuubm5xGIx4vE4vXv3LrW8DRs2cPfdd7No0SK2b9+O53l4nsd3331Xar1NmjQBoEuXLiXuy8vL48CBA2Rnl+8E8TFjxnDjjTcyf/58LrzwQq644gq6detWrmOVSkfvrtoKQJ+OTYKvzLEDO3MBalhO90gixf6cKFyE0vM8AB599FEee+wxJkyYwHvvvcdXX33Fr371K+LxeKnlXXbZZWzfvp2nn36aRYsW8eWXXxIOhw855nD1HqktlmVx8MTzduFliwm/+c1v2LhxI9dddx1r167lnHPOYeLEieV6HJRKR7M+/pZZH3+bmsocJ7ALI6AGBt3DLSBZlk8++YTLL7+cYcOGcdppp3HyySezdm3pk2/s3LmTb775hjvuuIM+ffrQoUMH9u3bl5QFJxs1asTWrVtLBN6vvvrqkP1atmzJb3/7W/76178yadIkZs6cedR1K1VVZgztxoyhqflrzdgO6/fu46FPFgZSfo3K6YK/gOTixYvZtGkTtWvXLhpBHkm7du2YO3cun3zyCQ0bNuSJJ55g48aNnH764ZP79evXp2HDhsyaNYvjjz+e3NxcJkyYQDgJeaLevXuza9cuJk+ezKBBg1iwYAHz5s0rsc+YMWP45S9/Sbt27di7dy/z58+nY8eOR123UlWlQa1o2Tsli22zz3jEKjg4K68aN9IdP3480WiUjh070qhRo0NyrIdz11130b17d375y19y3nnnUatWLYYMGVLq/pZlMXfuXJYtW0bnzp35/e9/z/33309GRsZRt79Dhw7MmDGDmTNn0rVrV9555x3uuOOOEvt4nsfo0aPp2LEjF110EU2aNGHOnDlHXbdSVWX+ih+Zv+LHlNTl2TYFCFkBfZmmC1OqKqOvIVVeVz39OQBzR/YIvK7YY9P4NPdHVgz6L27uXumURqkLU9a49IJSqvqZde2ZKavLxG0KJLiRrgZdpVTay8kM7myCgxnHJiZCtk54o5Sqqd74egtvfL0lNZXZDjERMnWkq5SqqV5YuBmAy09tHnxljkMBkKNBVylVUz13XffUVeb4I13N6SqlaqysaChldVmOQywSJVNzukqpmup/vvyB//nyh5TUJY6jZy8opWq2VxZ/D8AVp7cMtB7jeYQ8j1iAF0do0FVKpb0Xrj8rNRUlLv0tECFTl+tJjrLWSNM11JRKP5GQRSSUgnCVmLFPv0hLoddff73E1IpKqar36hd+euHXZx4fbEWJmQA16KZQgwYNqroJSqmDzFvqf4mWqqBbIJClZy8kj+d53HHHHTRs2JDGjRszfvz4oikeD04vtGrViokTJzJ06FBq165N06ZNefTRR0uUJyI8+eSTXHrppWRnZ3PiiSfywgsvlNhn+fLl9OnTh6ysLBo0aMDw4cPZs2dPiX3mzJlDly5dyMjIoEmTJlx77bVF2x5//HG6du1KrVq1aNGiBddffz27d+8u2l64OOW//vUv2rdvT3Z2Nv/5n//Jnj17mDdvHm3btqVu3boMGzaM/Pz8ouN69+7NjTfeyJgxY6hfvz7169dnwoQJJaa8bNWq1SF9Pvhxev311+natWtR/3r16sXWrVvL/ZwodSRzR/ZIyWQ3hekFCWUQklLnrDkqSQ3l/8qdyU/5KZrdPaFpVmt+2eK3FTrmxRdfZMyYMXz22Wd89dVXDB48mG7dunH11Vcfdv/HH3+c2267jXvuuYcPPviA0aNH07p1awYM+Hl5onvvvZfJkyczdepUXn31Va655hrat2/PmWeeSV5eHn379qV79+4sXryYXbt2ccMNNzBixAhee+01AJ5++mnGjBnD5MmTufTSS9m/fz/vv/9+UfmWZTFt2jRat27N5s2bGT16NKNHj+b5558v2icWi/HYY4/x4osvEo/HGThwIAMHDiQrK4vXXnuNnTt3MmDAAP70pz9x6623lng8hg8fzueff86yZcu44YYbaNasGePGjSvX4/nTTz8xaNAgpkyZwsCBA9m/fz8LFwYzAbRSgbL9ke6048dhvgD5j+RXUSPTCx07dmTSpEmAP0H5rFmzeO+990oNumeddRZ33nln0f5Llizh8ccfLxF0BwwYwMiRIwG48847+eCDD5g2bRovvPACL730Enl5eTz//PPUqVMHgJkzZ3L++eezfv162rRpw/3338/YsWNLBLri65qNHTu26OdWrVrxhz/8gf79+zNnzhysxFLRjuPw1FNPccoppwAwePBgpk6dytatW2nYsCEA/fv354MPPigRdJs1a8Yf//hHRIT27duzdu1aHn/88XIH3S1btmDbNldeeSUnnngiwCHLxCt1NF5e7M97fXX3E4KtyHEAIcOKEJMDZFEr6VUkNehWdMRZVYovBgn+QpTbtm0rdf8ePXoc8vvrr79e5j7/+Mc/AH/e2K5duxYFXIBzzjkHy7JYtWoVOTk55ObmlrqyMMD777/PlClTWL16NXv27MF1XeLxOD/99FPRQpoZGRlFARf8RS2bNm1aFHAL71u1alWJss8+++yitdgK23733Xezd+9ecnJy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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "bins = np.linspace(0,1,100)\n", "max_value = -np.inf\n", "\n", "for idx, region in enumerate(region_dict.keys()):\n", " \n", " data = units[units.ecephys_structure_acronym.isin(region_dict[region])]['presence_ratio']\n", " \n", " max_value = plot_metric(data, bins, 'Presence ratio', color_dict[region], max_value)\n", " \n", "_ = plt.legend(region_dict.keys())\n", "\n", "plt.plot([0.9, 0.9],[0,max_value], ':')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It's clear that most units have a presence ratio of 0.9 or higher, which means they are present for at least 90% of the recording. Units with lower presence ratio are likely to have drifted out of the recording, or had waveforms that changed so dramatically they were assigend to separate clusters.\n", "\n", "Calculating the exact fraction of units with presence ratio above 0.9 is easy:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.83" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.around(np.sum(units.presence_ratio > 0.9) / len(units), 2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's a summary of things to keep in mind when using `presence_ratio` in your analysis:\n", "\n", "**How it can be biased**\n", "* Just because a unit has a high presence ratio doesn't mean it's immune to drift. If a unit's amplitude drifts closer to the spike detection threshold, it can result in dramatic changes in apparent firing rate, even if the underlying physiology remains the same.\n", "* Sometimes a low presence ratio can result from highly selective spiking patterns (e.g., firing only during running epochs)\n", "\n", "**How it should be used**\n", "* If you are analyzing changes in firing rate over the entire recording session, or are comparing responses to stimuli presented at the beginning and end of the experiment, presence ratio is a simple way to exclude units that would bias your results. However, you should also look at other quality metrics, such as amplitude cutoff, to check for more subtle effects of electrode drift.\n", "* If you are only analyzing a short segment of the experiment, it may be helpful to disable the default presence ratio filter, in order to maximize the number of units available to you.\n", "* If you're unsure whether a unit has a low presence ratio due to electrode drift or selective firing, plotting its spike amplitudes over time can be informative." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Amplitude cutoff" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Amplitude cutoff provides another way to check for units that are missing spikes. Unlike presence ratio, which detects units that drift out of the recording, amplitude cutoff provides an estimate of the false negative rate—e.g., the fraction of spikes below the spike detection threshold. Thus, amplitude cutoff is a measure of unit \"completeness\" that is complementary to presence ratio.\n", "\n", "Let's take a look at the distribution of values for amplitude cutoff across the dataset:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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7z4effRRJk6cyJtvvsmVV15J7969OeGEEygrK+Oss85i6NChzJkzhz179nDdddcxduxY3nrrLQBefPFFxo8fz6OPPsq5555LaWkpH3/8cfX+DcPg6aefpnv37mzYsIGbb76Zm2++mVdeeaV6m8rKSp588klee+01otEoF110ERdddBFZWVm89dZb7N69mwsvvJDnn3+eW2+9tdbzcfXVV/Pll1+ycOFCrrvuOjp16sQtt9xyRM/ntm3buPTSS3nssce46KKLKC0tZfbs2Q36nYjDs+NxDMDtJXSTMHrB+ZYTa0NJrGWXF5ZsddrXr3MrjyPxVt++fXnwwQcBZ4LyKVOm8NFHH9WbdE866SR++9vfVm8/d+5cnnrqqVpJ98ILL2TcuHEA/Pa3v+WTTz7h6aef5tVXX+X111+nrKyMV155hdxcp54+efJkTjvtNFavXk2PHj146KGHmDBhQq1EV3NdswkTJlT/XFRUxO9//3tGjx7NtGnTMBInVeLxOM899xzHHuuMUrnsssuYOHEi27dvp107Z7Kj0aNH88knn9RKup06deKPf/wjSil69+7NypUreeqpp4446W7dupVYLMbFF19Mt27dAA5YJl40XVXStQx36wvu13RNhU05udF8KoJr3D6cpx58ZyngXk23oT1Or9RcDBKchSh37NhR7/bDhg074P9vv/32Ybf5xz/+ATjzxg4cOLA64QIMHz4cwzBYunQpeXl5bNmypd6VhQE+/vhjHnvsMZYtW8b+/fuxLItoNMq2bduqF9IMBoPVCRecRS07duxYnXCrblu6dGmtfZ988sm1TswMGzaMe+65h+LiYvLy8uqNqcpxxx3HqFGj6N+/P2eeeSajRo3i4osvpn379od9rDhydszp49ouV13dr+kCGJXkxPKpaOEzjd17fl/uPV+Wbak7OkEpdUTL9rjhSM5Cb9iwgXPPPZc+ffrw5ptvMm/ePF5++WWAWgtd1l0OSCnVLG093GKYpmny/vvv8/777zNw4ED+9Kc/0bNnTxYsWNCg44hDs+NOTVcr9y6MgCQlXeWPkxtrg2WVJONwnunXuVXGlxYao259cvbs2QeseHCobfr06cOiRYsoKfn+9fXFF19g2zZ9+vShoKCAwsJCPvroo4Me/+uvvyYajTJx4kSGDRtGr1692Lp1a3M0DYCvvvqqVlKdPXs2nTt3ru7ltm/fnu+++676/kgkwvLly2vtQynFsGHDuO+++5g7dy6dO3dm+vTpzRajANuysLHAxfXRIFlJN2CTG22LbuFJd8GmfSzY1LJHaLhh9uzZPPbYY6xatYopU6bwl7/8hd/85je1tnn77beZMmUKq1at4rHHHuOjjz6qrsNefvnlhMNhrrzyShYtWsRnn33GuHHjuPDCC+nRowfg1IGffvppJk6cyMqVK/n222958sknAejZsye2bfP000+zbt063njjDZ5++ulma9/WrVuZMGECK1asYMaMGfzhD3+o1b4f/ehHvPbaa8yaNYslS/p/oNkAAB4iSURBVJYwduzYWisbz549m4cffpi5c+eyceNG/v73v7Np0yZZDLOZacvCUnFMs+lr7R2K+yfSALI02SWtUVYZZdEY2YGWOTj+0X8uA2ScbkPdcsstLFy4kEceeYTs7GwefPBBLr744lrb3H///bz11lv8+te/pn379kydOpUTTzwRgHA4zHvvvceECRMYOnQooVCI0aNHM2nSpOrH33jjjQQCAZ588knuuOMO8vPzOeeccwCnBj1p0iQef/xx7r77boYPH84TTzzBJZdc0iztu/zyy7Esi5NOOgmlFNdcc02tpHvnnXeyfv16Ro8eTU5ODr/97W9r9bRbtWrFf/7zH5555hn27dvHUUcdxT333MMVV7TsNQeTzbY0cSOG6cty9TiuL0wJYH+yHb2ugHs7/5KfDLiHkwo7N8duU05zXpGWKYsKFhUVcdNNN3HbbbfVu41SijfffPOARJwORo4cSf/+/Xn22WeTfuxMeQ01l71/W4VR0pYXOv2N/3fGNU3dXb0nE5JzIi3P6dkW+LNYtH1nUg7phWM75solwEKkKW1pLBXH73d3Uq7kJN3WTtLN9+eyeOempBzSC/M27GHehj1ehyGEaATL1lhGDL/f3fJCcmq6+SHAuUBifenqpBzSC7+fuQKQmm5DrF+//rDbHKYEltJmzZrldQjiCGkbbBUnGMhx9ThJSboq14cGcmP5lMQXYGuN4eIsPl559MIBXocghGgsGywVJyvYAsoLyqfAKqdVpB2tsvezfl/LvBz4mPY5HNPe3XdJIYQ7tFZYKkZ2oAUkXQB0Ge0iBRTklTJn63eH3z4NzV67m9lrd3sdhhCiEZQ2sIw4OS3iRBqAqqBNpCPtc8t4Z8WKpB02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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "bins = np.linspace(0,0.5,200)\n", "max_value = -np.inf\n", "\n", "for idx, region in enumerate(region_dict.keys()):\n", " \n", " data = units[units.ecephys_structure_acronym.isin(region_dict[region])]['amplitude_cutoff']\n", " \n", " max_value = plot_metric(data, bins, 'Amplitude cutoff', color_dict[region], max_value)\n", " \n", "_ = plt.legend(region_dict.keys())\n", "\n", "plt.plot([0.1, 0.1],[0,max_value], ':')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Amplitude cutoff is calculated from the distribution of spike amplitudes for each unit. This metric measures the degree to which this distribution is truncated, or \"cut off,\" as a proxy for the fraction of missing spikes. So an amplitude cutoff of, say, 0.1 would indicate that approximately 10% of spikes are missing from this unit.\n", "\n", "If the peak of the amplitude distribution occurs at its lowest value, it's impossible to estimate the fraction of missing spikes. In this case, the amplitude cutoff is set to 0.5. That explains why there are large peaks at both ends of the distribution, one around 0 and one at 0.5.\n", "\n", "We can check the fraction of units with the maximum amplitude cutoff using the following code:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.15" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.around(np.sum(units.amplitude_cutoff == 0.5) / len(units), 2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's a summary of things to keep in mind when using `amplitude_cutoff` in your analysis:\n", "\n", "**How it can be biased**\n", "* The calculation assumes that the amplitude histogram is symmetrical (i.e., it uses the upper tail of the distribution to estimate the fraction of spikes missing from the lower tail). If a unit's waveform amplitude changes as a result of electrode drift, this assumption is usually invalid.\n", "* Amplitude cutoff is only weakly correlated with other measures of unit quality, meaning it's possible to have well-isolated units with high amplitude cutoff.\n", "\n", "**How it should be used**\n", "* If you are performing analyses that depends on precise measurements of spike timing, setting a low amplitude cutoff threshold (0.01 or lower) is recommended. This will remove a large fraction of units, but will ensure that the unit of interest contain most of the relevant spikes." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## ISI violations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Inter-spike-interval (ISI) violations are a classic measure of unit contamination. Because all neurons have a biophysical refractory period, we can assume that any spikes occurring in rapid succession (<1.5 ms intervals) come from two different neurons. Therefore, the more a unit is contaminated by spikes from multiple neurons, the higher its `isi_violations` value will be. \n", "\n", "The calculation for ISI violations comes from [Hill et al. (2011) J Neurosci 31: 8699-8705](https://www.jneurosci.org/content/31/24/8699). Rather than reporting the fraction of spikes with ISI violations, their metric reports the relative firing rate of the hypothetical neurons that are generating these violations. You can interpret an ISI violations value of 0.5 as meaning that contamining spikes are occurring at roughly half the rate of \"true\" spikes for that unit. In cases of highly contaminated units, the ISI violations value can sometimes be even greater than 1.\n", "\n", "Let's look at the distribution of ISI violations across the different regions in this dataset:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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ypQppfYnIrzwwgv06dOHxMREzjnnHN54441S62zcuJFevXqRkJBAvXr1uOOOOzh27FipdebMmcMFF1xAXFwcDRo0YPDgwYHHpk6dSocOHahVqxbp6encddddHD16NPB4cWPKjz76iNatW5OYmMjvf/97jh07xoIFC2jZsiW1a9dm0KBB5ObmBrbr2bMn9957LyNHjqRu3brUrVuXsWPHlpruslmzZic957Kv08KFC+nQoUPg+fXo0YMDBw5U+XsSDBtHuoBoXVZVHx9lvsJPuZHtWNIwoTm/S78nqG3efPNNRo4cyddff826deu47bbb6NKlC7feeusp1586dSoPPfQQjz76KEuWLGHEiBE0b96c/v1/bU/02GOPMXHiRKZNm8Y777zD7bffTuvWrbnooovIycmhd+/edO3alVWrVnHkyBHuvvtuhgwZwrvvvgvAyy+/zMiRI5k4cSJ9+vQhOzubzz77LLB/h8PB9OnTad68OXv37mXEiBGMGDGCuXPnBtbJz8/nueee480336SgoIAbbriBG264gYSEBN59910OHz5M//79eemll3jwwQdLvR533HEHy5cvZ8OGDdx99900atSI0aNHV+n1/Omnn7jllluYNGkSN9xwA9nZ2axYsSKo70kw7E26hPYhh7dWWfOD3tq1afjiUaqGaNu2LU888QRgTU4+a9YsPv3003KT7sUXX8wjjzwSWH/16tVMnTq1VNLt378/Q4cOBeCRRx5hyZIlTJ8+nTfeeIN58+aRk5PD3LlzSU5OBuCVV17hiiuuYMeOHbRo0YInn3ySUaNGlUp0JXuajRo1KnC7WbNm/PWvf6Vfv37MmTMHh8ManBUVFfHiiy9y/vnnA3Dbbbcxbdo0Dhw4QP369QHo168fS5YsKZV0GzVqxN/+9jdEhNatW7Nt2zamTp1a5aS7f/9+CgsLufHGGznnnHMATmoRH072nkgLcaT7wQZrshtNuiqSgh1xRkvJRpBgNaHMysoqd/1u3bqddH/hwoWVrvPvf/8bsOaN7dChQyDhAlx66aU4HA4yMjJISUkhMzOz3K7CAJ999hmTJk1iy5YtHDt2DK/XS0FBAT/99FOgiWZcXFwg4YLV0LJhw4aBhFu8LCMjo9S+L7nkkkDbn+LYx48fz/Hjx0lJSSk3pmIdO3akV69etG/fnmuuuYZevXpx4403kpqaWum2obDl7//3tm5nxY8/gjgwIfRJe/OuS3jzrktsiEyp6q/s1QkiUqWWPXYomezKs3fvXvr06UObNm145513WLNmDa+99hpAqSaXZVsBiUhYnmtljTCdTicff/wxH3/8MR06dOAf//gHLVu2ZP369UEdp8rx2LFTA5zwWQ3sTFF03gxKKUvZ+uSKFStO6nhQ0Tpt2rRh48aN/PLLL4HHv/76a3w+H23atCEtLY309HQ+/fTTUx7/m2++oaCggGnTptGtWzdatWrF/v3hm7p15cqVpZLqihUraNy4cWCUm5qayo8//tr+Ky8vj++++67UPkSEbt268dhjj7F69WoaN27M/PnzwxZjSbYk3TinkwLjT7aFwfdhn7t8D3OX7wlnSEqdsVasWMGkSZPYvn07s2bN4n/+53944IEHSq2zcOFCZs2axfbt25k0aRKffvppoA47YMAAEhMTuf3229m4cSNffPEFQ4cOpX///rRo0QKw6sDTp09n2rRpbNu2jXXr1vHcc88B0LJlS3w+H9OnT2f37t289dZbTJ8+PWzPb//+/YwaNYqtW7eyYMECnn322VLP78orr+TNN99k6dKlbN68mSFDhpTqarxixQqeeuopVq9ezffff897773Hvn37bGuEaUtNN87p5OfirpQFRRBkd99Ptlj1qUHdmoU5MqXOPKNHj2bDhg08/fTT1KpViyeeeIIbb7yx1DoTJkzg3Xff5f777yc1NZXZs2fzm9/8BoDExET+85//MGrUKLp27Up8fDz9+vVjxowZge2HDRuGx+Phueee46GHHqJevXpcd911gFWDnjFjBpMnT+Yvf/kLl156KVOmTOHmm28Oy/MbMGAAXq+Xiy++GBHhzjvvLJV0H374Yfbs2UO/fv1ISkrikUceKTXSrl27Nl999RXPP/88R48e5eyzz2b8+PEMHDgwLPGVZUtjyq/2/cC+eeu5KfU6pG82jrTkyjdSKoLOlMaUzZo1Y/jw4YwZM6bcdUSEd95556REXB307NmT9u3b88ILL0T82KE2prSpvOAiH39ZobCo4pWVUuoMYkvS9Tgd5BfXdAuCr+m+tmw3ry3bHeaolFIq+myr6eYXVyZCOJH29c5DAAzpfm44w1LqjLNnz55K16mkxBjTli5dGu0QgmZP0nW5yCP0qxdeHfybMEeklFKxwZ7JEaQAb4J/Ugq9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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "bins = np.linspace(0,10,200)\n", "max_value = -np.inf\n", "\n", "for idx, region in enumerate(region_dict.keys()):\n", " \n", " data = units[units.ecephys_structure_acronym.isin(region_dict[region])]['isi_violations']\n", " \n", " max_value = plot_metric(data, bins, 'ISI violations', color_dict[region], max_value)\n", " \n", "_ = plt.legend(region_dict.keys())\n", "\n", "plt.plot([0.5, 0.5],[0,max_value], ':')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This one looks like a good candidate for plotting on a log scale:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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C1SpQVsT0dHRwTJJoaiTueuMSTQluqFLyH6POb32AoDkVAlHXdd57LHHiImJIS4ujoceeihQ4vHM8EJKSgpPPfUUt9xyC+Hh4SQkJPDyyy9XupYQgtdee43JkyfjdDrp0qULH374YaVjtmzZwvjx43E4HERHR3PbbbdRWFhY6Zj333+f/v37Y7PZiI+PZ+rUqYF9r776Kunp6YSFhZGUlMQdd9xBQUFBYH9Fc8pvv/2WPn364HQ6+cUvfkFhYSFz586lZ8+etGvXjilTpuByuQLjxowZw913382MGTOIiooiKiqKhx9+uFLJy5SUlCr3fOb7NG/ePNLT0wP3N3r0aLKzs2v5DSmqY8704arYTYjTrJ7ut5lvccx1dqveJzi6cWnSXVW2V6SMaUJDlzryNAH+6KOPmDFjBj///DMbN27kpptuYsiQIdx4443VXuPVV1/lkUce4cknn2Tx4sXcd999dOvWjauvPtWe6A9/+APPP/88M2fO5LPPPuPWW2+lT58+DB06lJKSEiZOnMiwYcNYvXo1x48f584772TatGl8/vnnALz55pvMmDGD559/nsmTJ1NcXMyiRYsC59c0jVmzZtGtWzcOHjzIfffdx3333ccHH3wQOKasrIxXXnmFjz76CI/HwzXXXMM111yDw+Hg888/Jz8/n6uvvprXX3+dBx98sNL7cdttt7FixQo2b97MnXfeSceOHXnggQfq9Ts4duwYN9xwAy+88ALXXHMNxcXFrFy5sl5jFYpzjZAOL4BEw4KOByn1QIihb9++PPPMM4BRoPztt99m4cKFNYru+eefz+OPPx44fs2aNbz66quVRPfqq69m+vTpADz++OMsXryYWbNm8eGHH/Lxxx9TUlLCBx98QEREBABvvfUWF198MXv27KFHjx48++yz3H///ZWE7vS+Zvfff3/geUpKCn/605+48soref/999E04wuL1+vlb3/7G7179wbgpptuYubMmWRnZxMTEwPAlVdeyeLFiyuJbseOHfnLX/6CEII+ffqwa9cuXn311XqLblZWFuXl5Vx77bV06dIFoEqbeEX9+GS1Ud/5xmGdW9gSRbBoVtGtzuNsKaQ0vh6bhAmvBMQpX/f0ZpBgNKLMycmp8VzDhw+v8nrevHl1HvPf//4XMOrGpqenBwQXYMSIEWiaRkZGBpGRkWRmZtbYWRhg0aJFvPDCC2zfvp3CwkJ8Ph8ej4djx44FGmnabLaA4ILR1DIhISEguBXbMjIyKp37ggsuCLT+qbD9iSeeoKioiMjIyBptqmDAgAGMHz+etLQ0LrnkEsaPH8+1115LbGxsnWMVlfl6s1HsRolu6BKyMV0ZKHZj8j+eWiBxZnaCEKJebXuCweliVxMHDx5k8uTJpKam8tlnn7Fu3TreffddgEqNLs9sBySEaJZ7rasZpslk4vvvv+f7778nPT2dv//97/Ts2ZNNmzY16DoK+OiOC/jojgta2gxFEAlh0a3wdA0hakp5xzPjkytXrqzS8aC2Y1JTU9myZQsnT54M7P/555/RdZ3U1FTi4uJISkpi4cKF1V5/7dq1eDweZs6cyfDhw+nVqxdZWc1X/m/VqlWVRHXlypUkJiYGvNzY2FiOHj3VQsbtdrNjx45K5xBCMHz4cP7whz+wZs0aEhMTmTNnTrPZqFCECiEpulLKKp6uaEJ5x5UrV/LCCy+we/du3n77bf75z3/yu9/9rtIx8+bN4+2332b37t288MILLFy4MBCHvfnmm3E6ndx6661s2bKFpUuXMn36dK6++mp69OgBGHHgWbNmMXPmTHbt2sXGjRt55ZVXAOjZsye6rjNr1iz279/PJ598wqxZsxp1L9WRlZXF/fffz86dO5k7dy5//vOfK93f2LFj+eijj1iyZAnbtm1j2rRplTobr1y5kj/+8Y+sWbOGQ4cO8eWXX3L48OE23wxTnpFdcjb4YMUBPlhx4KxfV3H2CMmJNAmBdLFTott4T/eBBx5g8+bNPPfcc4SFhfHMM89w7bXXVjrmqaee4vPPP+e3v/0tsbGxvPfee5x33nkAOJ1OvvvuO+6//36GDRuG3W7nyiuvZPbs2YHx99xzD1arlVdeeYVHHnmE6OhoLrvsMsCIQc+ePZuXXnqJ3//+94wYMYKXX36Z66+/vlH3cyY333wzPp+P888/HyEEt99+eyXRffTRRzlw4ABXXnkl4eHhPP7445U87Xbt2vHTTz/x17/+lYKCAjp16sQTTzzBLbfc0iz2tQT64iXIz/+Dds9diH5n75/HD9uNuYUpw1PO2jUVZ5eQbEzp1XV25B8lKqyUDrZE8suyOOmykRyRQLi1YS2uU1JSuPfee3nooYdqPEYIwWeffVZFiNsCY8aMIS0tjddee+2sX7u1foZkdjb6iy9DeTl07Ij26MMILSS/FCqCR42TNSH5STp9NZpG08MLinMHqevoH34CFgvi2qvg6FHk6jUtbZYihAhd0Q2EFzQEQlUaU9QLuWgJ7D+AuO5qxOiLoEtn5NffIk/LEgkm7y7fz7vL95+VaylahpCM6VYqYI4GiEbX1D1w4ECdx9S3rkNrZMmSJS1tQqtBZucgv/4G0tMQQ4cghEC78gr0v/wN+eNSxITxQbfh5715AEwb2TXo11K0DCEsuhWtegRCaMrTVdSJXL8BvF60/7kukD8tevWEfn2R3/+AHD4cER4WVBvemXpeUM+vaHlCOLxgINDQEP6YbouapWjlyCOZEBuLaN+u0nbtF5eDy41c8mMLWaYIJUJXdIX0x3KVp6uoJ0cyEclJVTaLpEQYOAC5ZCmytDSoJry1dC9vLd0b1GsoWpYQF13j9gxfV4muomZkaSnk50M1ogugTZwAbjdy6fKg2rH+YAHrDxbUfaCizRKyMV2NU3UNhNAq1V5QKKqQZSxzrs7TBRCdkiGtH3LREuTFoxE2W1DM+L8pQ+o+SNGmCVFPl0qerkoZU9SFPOxve16D6AJokyZAaSly2U9nySpFKBKiomuEFzRRIbpakxZHCCGYO3dujfvz8vIQQgTSr5YsWYIQgry8vEZdry6q6+SgaCJHMiEiHGopZSlSUqBPb+TCRUHL2319yR5eX7InKOdWtA5CNrwg4JSnK0STYrpHjx4lKiqqGS1sGmvWrCEsLLipS+caMjMTkpLqLLWpTboEfdZfkR/PgZtvRFia908oI6uoWc+naH2ErugKiRAC6ZXGRFoTwgsJCQnNbGFVdN3obGEymeo8VhUHb16k1wtHjyHGjqnzWNGjO+KKyciv/ossKEC7Y1qz5u6+dtPgZjuXonUSsuEFTYBZt0ABmL02/3adMWPGcM899/Dggw8SHR1NbGwss2fPpqysjN/85je0b9+ezp07V+o9dmZ4Yc2aNQwZMgS73c6gQYNYtWpVtXasXLmSgQMHYrfbGTJkCOvWrQvsq2gk+c0335CWlobVamX79u2sWbOGSy65hJiYGCIjIxk5ciQrVqyodN4zwwtCCN566y2uu+46wsLC6NatW5XGmIpaOHYMfD5IqjmeezraxAmI226FAwfRX5mFzA1OGEkRmjSrp6uvlMjjzXnGuhHRoF1Q+SuhLiVmIdGkcXuaNIE41U3io48+4oEHHmDVqlV8+eWX3H///cyfP59Jkyaxdu1a3n//fe644w7Gjx9Px44dK527uLiYyZMnM3r0aN5//30yMzMr9S87nYceeojZs2eTlJTE008/zeWXX87evXtxOp2AUQz82Wef5c033yQ2NpaOHTuyZs0apkyZwuzZswNdhi+77DL27NlDhw4danwfnnnmGV588UVeeOEF/v73vzNt2jQuuugiOndWbV/qQh7JBGrOXKgObehgZHQU+v+9jf7Gm2gP/Q7h/702hb8s3A3Ab8f1bPK5FK2TkPV0BUZ+LoCQhihX9E3r168fTz31FD179uSBBx4gJiYGi8XCjBkz6NGjB08++SRSSn76qeos9ccff4zH4+G9994jLS2NiRMnBppWnskTTzzBxIkTSUtL47333sPlcvHxxx8H9vt8Pl577TUuvPBCevXqRUREBGPHjmXKlCmkpqbSp08f/vrXv2K32/n2229rvecpU6Zwyy23BJpcms1mli5d2pi379zjSCZYrRDXsLCN6NYV7a7bIS8f/R8fIJuh5dO+3GL25RY3+TyK1kuzerpnepwthS4lCImQpxZHwClP9/TGlEII4uLi6N+/f2CbxWIhKiqq2maVFU0mw8PDA9vObEpZ3fbw8HD69+9fqSmk2Wxm4MCBlcbk5OTwxBNPsHjxYrKzs/H5fLhcLg4dOlTrPZ9+T2azmdjY2FqbbSpOIY9kQmLHRtXMFT26I667BjnnM+RX/0VceUWTbJl1w6AmjVe0fkJyIq3Co63i6fr7plXXrLElmlXabLYqE2dTp04lOzubmTNnkpKSgs1mY9y4cZUaUFZHa2q22ZaQUkJmJmJI4yewtFEXomdmIhcsRHbqhBg8sO5BinOW0Awv+D3aCk8X/2NzlGCsaDJZUlIS2HZmU8rqtpeUlLB169Y6OyUsX76c++67j8mTJ9OvXz8iIiIqNYVUNDP5x8HlrnVRRH0Q114NHRPQFy1u0nle/X4nr36/s0nnULRuQlJ0KzzdCtGt8HRr6T5Ub2666SbMZjPTpk1j27ZtLFiwgOeee67aY//4xz+yYMGCQDNHq9XKTTfdVOv5e/XqxYcffkhGRgZr1qzhhhtuwNrAFkOKBpBZMYmW3KTTCLPZ8JYPHmpSQ8usQjdZhe4m2aJo3YSm6PrDCMJf4DEguqLpohseHs7XX3/N7t27GTx4MA899BAvvfRStce++OKLPPjggwwePJjdu3fz9ddf17mo4d1336W4uJghQ4Zwww03MG3aNFJSUppst6J65JFMo5dTYse6D64D0T8NpERu2dboc7x83QBevm5Ak21RtF5CsjFlRt5R2jmLifemYPKYkSbJUdteikrt9IxOwqyaDLYKWsNnyPfW3yE7G9MTjzX5XFJK9Kf+CAnxmO65qxmsU7Rhzq3GlFA5vICsqDamKo0pziAzy6iX2wwIIRDpabBzF9LduBDBS/N38NL8Hc1ij6J1EpKiKwMTaVR+VJXGFKchXW6jhm5i84gugEjvD14vbG+ccBaUeigoPTtNMBUtQ8iljJ3eCbjCw0WJrqI6/FkhzeXpAtCtKzidyM1bEYManjr2wtXpdR+kaNOEnKd7eifggOhS0T1ChRcUp5CZWcaTZhRdYTIh+vdDbstA+nzNdl5F6NAk0W2NrcdP93RPT1bQpFl5uq2IVvHZycoChx2auWynSO8PpaWwZy8lnnIW7T/Ilpzceo197r8ZPPffjLoPVLRZGh1esFgsuFyuQPGW1kJlTxfj34oOGiaE8CrRbSW4XK4qq+jONjIzCxIT66yh22D69MZrMvHlnM+ZZrXj1XVMQjB70nhuH1R7+MBdrlYRhjqNFt24uDgyMzNJSkrC4XA0/we3kZzZlLKS6FKuRLeFkVLicrnIzMwkPj6+5ezQdcjKQgw7r3nPKyXPrFzLcLOZfieLuP+ykVzYKYn/W7eRe79dwIGCQp4eMxKthr+XZ3+Z1qz2KFofjRbdSH9bk6ysLMrLy5vNoKZS5vVR6CnAboKCco9xh15wWU5SKsvI14rIViu8WhSLxUJ8fHzgM9QiHD8B7rJmzVzQpeR/f1jC39as59+JifQ+dIhnLhqBMJkY3y2F3323kJdXrCa7pIS3Lp/UbNdVtC2alL0QGRnZsn841bB4/0Fey5jFJbHR3LH1JUQayK2wKPVjPvN8zUDnw/x6QOtc1KE4i2QZk2jNmbnwwPeLeHPdRu49bzCXtI9Avr8fjmVDUiJmTeMvk8YTabPx6so13DFoAMOSqq6Ce/orYzXbH67o12x2KVoXIZe94PJ6sZh8OPX2xgb/qlunjMBi8uFWM8oK/PHcZlr+C7AqM4s3123kN+cN5k/jxwQKogcyJDAWT/y/Cy+gvd3GzJVrmuW6irZHyOXpBkRXGh64CDPm05x6uCG65d6WNVDRKpCZWRDTAWGzNf1cUvL4oqXEhzl5avSFRm++uDgwm/0FdYYGjo2wWblr8ED+/PMq9hw/QY/oypkTysMNfULO0y3z+rCafYTp/rCH39O162FYzT7cPiW6CsCfudAcfLtnHz8dzuSxkcMJ988XCJMJOnYMtAI6nV8PHYTVZGL2qrXNcn1F2yLkRLfC03XoEcYGO2ACm9eJxaTjUp7uOY8sK4O8vGaJ5/p0nScWL6NHdBS/Gti/0j6RnAiZWVVykuPDw5iS3o8PNm8ju7ik0r4n/rOVJ/6ztW1Cmf8AACAASURBVMl2KVovISe6bq8Xq9mHs0J0rcaP1efAbNIp87aeTAtFC3H0GEjZLKL70ZYMMvLyeXr0SCxndAEhKRGKi6GoqMq4GecPxePz8cbaDZW22y0adkvI/VkqTiPkfrunPF1/XMFi/Fh9RuzO7XO1nHGKVoHMap7lv15d59llPzM0MYGr+lTt3isqWrpXE2LoER3Flb178ub6jZSelnL5+OS+PD65b5PsUrRuQk50y04XXTMITYAVLF5DdD26Et1zniOZYLNBdHSTTrNg3wGOFJ3koeHDql8c5Bf10zMYTmf6kIEUuMv47+69TbJD0bYIOdF1ecuxmn3YfA4jtABgAbPXeFGuq1Yo5zJSSuS27dC9W6O6/57OR1u20cFh59Ie3ardL5xOiI4KtAQ6k1Gdk+kYHs6cbdsD2x6dt5lH521ukl2K1k3Iia7bW4YQYPHaT4muFUxeY51/uSxrOeMULU/WUcjPRwxoWgnFEy43X+/ay3V9+2A9M5Z7OklJNXq6Jk3jf/r15ru9B8gvNb6BtXdaae9UKyZDmZAT3TJ/zNbisxnxXEBYwVRupCR7pfJ0z2Xkps0ghNHPrAl8vn0nZT4ft6TXnlcrkpMgOwfpqb4w+Y1pffHqOvN27ALgkUl9eGRSnybZpmjdhJzoevzhA4vXCmYd3/+9jfS50coNb8QnVVX+cxm5aTN064qIjGjSeT7cso3UmA4MTqi9aI9ISgQpjYyJakiPiyU1pgOfbt1e7X5F6BGyomvyWsDngq3boCgfzWtCSA2fCi+cs8i8fKMnWnr/ug+uhT3HT7Aq8yg39+9bd3W9pIrlwNXHdYUQ3NAvlZ+PZHKwoJCHPtvEQ59tapJ9itZNyIluxUSZqdwMFV6tP+Rg1e3oKE/3XEVuMiaoxICmie5HWzLQhODGtHqkdnWINjIlqkkbq+D6fkY4Yc62HSS2s5PYzt4k+xStm5CrveD1e7JauRl0v1dbXgqAzReGFEp0z1Xk5i2QlIiIiWn0OXQp+XhrBmNTOpMYEV7n8ULTICmxxsk0gC7t2zE8OZFPt21n3Z1TW01takVwCDlP1yvL0KQJzaeBzz9p5jGWWtp9TkCtSDsXkUUnYd/+JocWfjp0hEOFRdzUv/6FaUTHjnD0WJXlwFJKjpTuZHnO50zov5ZhfeazImtbk+xTtH5CztPVZTlWn8N44TU8XMqKQYDN5wShYrrnInLrVmPpbxNTxT7Ztp0wi4Vf9OpR/0EJcUbPtOISOM07XpL9MUuyPwGgva0j7X0uHv9iOf2jPfzlhsFNslPRegk50fVJD3affwmwP6yA+yQ4wOaNAIqRUqqvcOcYcv1G6NChSUt/3V4v87bv4srePQmz1r+/m4iPN1qlZmcHRDe/LJNlOZ/Rt92FXJZ0NxGWKG75+hXatTuKtO0ClOiGKiEXXtDxGB4tGB4uQGkBADZfBCaTTrmumv+dS8jsbNixEzH8/Cb9s52/Zz+FZWXcmNbAziPxcX47coxHKfkm803MwhoQXIDxyZfgCz9GdLcP2Vm4qtF2Klo3ISi65adE133SeCw5AYDdF6HKO56DyB+Xg9mEuHB4k87zydYM4sOcjEnp3LCBUVFgsRieLrCjaAV7Tq7n4oSbA4IL8IvePVi2sye6N45/H57FyfITTbJX0ToJOdFFlPsnzACXv6ReseHp2n3hmDUfbq8S3XMF6XIhV61GDB6MiGj8gogTLjfz9+7nur59MDewZoPQNIiLRWbn4NHdfJv5NvH2FIbFXF7puGiHgxS9F3O+nYDLV8zqvK8bba+i9RJ6oosXq9c/WVFaaDy6i0FIHHo4FpOuRPccQq5cDWVliDEXNek8/96xC4/PV7/c3GoQ8fFwLJtl2Z9RWJ7LZUl3YxJVazYMS+lAfrmbeGs6a/O/pVxXKY6hRkiJrpQShBd7Raue4hPG1zoAs9/TNSlP91xB6jryx2XGst/OnZp0rk+2bqd3h2gGJcSdOr+UyFKJ1GUtI/3Ex5HvPcZPuZ+T3n4MKeHV13748y+H4nUWcjC7F6W+IrYW/NgkuxWtj5AS3TKfD4vJhz3g6RZARSK82Yddd2I26biU6J4bbNtutOUZPapJp9l/ooDlh49wQ79U8IC+SuL7WqJ/BPqn/p9VEpkvq+TiViAT4vjuglxMmLkkcVqN12pnt3FJ9xTmbnERZ+/Cytyvajynom0SUqLr9noxm3RsejgICdILcbHGTs2H3RdmdAT2qjbs5wL6smXQrh1i4IAmnef55SuxmUxMS+6P/gXIDECA6AbifCAe5HaMfTV0Vt8VdYw9nUsZ4xtDhKXm4ul3f7AOV047sk6W0EEbyTH3Pg6VqAUToURIiW6gVY8vHCyGdyBi/Z6u8GL3OVRM9xxBlpXBzt2I84YYnXkbSUZuHp9syeCjnlfQYbExQatNBtNkgTZCoPUTmMYJtBsNEZbbQBZW9kzL9TLmuz8n9riVYce61nq9wV3aM6lPMmEWC0v3ROIwRbAy76tG269ofYTU4gh3uRezpmPTnaD5vdkKT1d6sEkHZk2FF84Jdu8Bnw+R2rTatHMW7uCnmFtIK4iFLqCNBGGrmusrbALOl8hDoK8D09hT+5blzKWgPIdbt/bBFJ5f6/Xuuqg7AJtK9jIvYw/v9R/P6vwvKPDk0N4aV+tYRdsgtETX64/p+sJAM4RVxMYaq4FkGVbdribSzhHkjp3GJGq32j1LWSCRuzBKcngBH0bxezOcyHPzZOmFFNrLECNBdKXWxRXCIRD9JXIDyByJiBPkuY+wPOcz+rcfTYopIrBAoi5uSkvlwy3bOFE4BJ1/s+nEIkbH31Df21e0YkIuvGA26ZUL20S1B7MJfG6sXpsKL5wjyB07oUd3hKXm5bqyUKJ/Y8Ro5UGQOSBPgMwCuQ9EruBl9yos12ho3US9VrOJNMAB+hrQdcnXma9jETYmJt5hpI3l5CBrWRF5x/truOP9NVzUpRNJEeF8vu0YncP6srVgWWPeBkUrJKRE1+2P6dp8jlO1dMPCwBkG3lIsPhtmzYfLqyqNhTLyRAEcy0b06V3zMSUSfb7xXLsKTDcJTNcJTNcITNcLFl5wgKRjfyNsqJWIsPr3LBMWgRgEZMOB7ZvZX7yZ8R2nGivP4uPA44GCwhrHj+gew4juMZg0jRvSUvlu7366OC4gx32QHPehetuhaL2EnOga2Qt20N2gaWC3Q5gTykvRpIYVK65yVWkslJE7dgLUKLrSLdG/AzygXQKiXWUPtrS8nBnfLaRndBR3Dm54VTLRC/RIHfuWCJIdvRnSYZKxPd7f2se/HLg6po3syrSRRkjkprS++KQkI6sDAk15uyFC6ImupmP12sHrAqfT+EoYFhYofmPzOXH7VHPKkGbHDoiMhMSO1e6WPwMnQRsPIqZqyODFn1ZyoKCQ1y6dgM3c8GkPoQm2JS0lvrQrV9kfRBP+PzO/6MpaRPd0+sbGMCghjjlbD5MSnsa2gmUqZzcECCnRdXm9WDQfFp/VqKUb5q/BEBZmLAUG7L4w3F4luqGK1HXkzl2IPr2qjcHKExJ5wIi9io5V92/LyWPmyrVMSe/HRV0at4rteNlRvrG9Trm5jOi9pwl/RDg4HFDLZNrUd1cz9d3Vgdc3pfVj/dFsOpgGk1d2hGz3/kbZpGg9hJTolnl9OIUVDc3oFhFm1NUVTie4jDiazeekTFeiG7JkZhrFwvtUnyomNwNmENU0ftCl5N75C2hns/L82MbXaliaPQef2Qe9DIGXJf6ccSEgPg55rGZPd3xqHONTT6WG/U8/o8DOz/vC0NDYWrC80XYpWgchJbql3jKc0t81oqwYnBWebmXRVZ5u6CK3V8Rze1XdVySNrITeIOxVvdxPt25n5ZEsXhw3hpiKz04DOV52jE0nFjG0wyRsfe0gQe44tb+i8E1NTBmewpThKYHXcWFOLu/ZnQ837adLWH8VYggBQkp0XV4XtoquEe4ihN/TJcwZ6JNm84VRrquJtFBF7thpNJ+MjKy6bwvG8t1q2qRJKXllxWrSYmO4uX/jKokBLMv5F5owcWHcNYhIAZ1B7gTp9QtlYkc4edLo2VZPbh+UTp7LRZm7F8c9Rznq2tto+xQtT4iJrvtULd3SosoxXX8bdrvPiUeJbkgiy8uN5pO9q/FySyRyt5FZIJxVvdwF+w6QkZfP/RcMbXR3iRNlx9h4fCFDOkwi0tIBAC0VcIP0h2JFp2TjyZEj1Z7j5ndWcvM7KyttG9u1C13aRfLVVhMaJrYWLG2UfYrWQUiJrsfnqtyq5/SYrs8QWpvPqTzdEEVuzIXu9yKtI095loD0SaMQjazeywWYvWotHcPDua5v45cNL835F0IIRsZdc2pjItDeX5NBSkhOMmzKzKz2HJenJ3J5euU+bpoQTBuYzsJ92STY+5FR+JMKMbRhQkp03XoZFt0f09Xdp8V0w8AvtFbdjleqwtChhCyS+H6QyC0dwRoFOR3QvzZWnMl8if6lf4VZOoiIql7spuwcFh04xK/PG4S1kcVxisrz2HRiEYOjJxJpiQlsF0IYq9SOA0f8DkB0FByuXnRvHNaZG4dVbQc0ZUA/TEJwOC+RE55sFWJow4SU6JZ53cZqNACf51RM1+kE6UMKHavPgVcqTzdUkGWGqJIFlK+CvLfQJgAlRqlF/UvADdoE0IZUHzaYvWot4VYLdwxqfHv2lblfokudC2OvqrJP9ADCQd9Y4e0mI2sIL9REx/BwLuvZnU83eNEwsU1lMbRZQkp0y3WjqA1geLqnx3QBhBer7kBXnm7IIA8CHhCXSNj9H0T3LohOAu2XQIJRblG7CkSn6gX3SNFJPsvYydQB/WlvtzfKBrevlLX58+nX/kKibAlV9gtNINKBXCALRKckyM0zyk+ewfVvruD6N1dUe53bB6WTWeQjTPRgW+FyFWJoo4RUlTGPXoZVnvJ0T4mu/1F4sfrs+DRVeyFUkHuBCMCTBW43dDdKI4owgemSuse/s36TkZ973uBG27Aufz5leikXxl5T4zGiJ8hNoG/wT6ZJCZlZVaqgXTskucZzjO/ahYSwMHZnx5MQt5Ojrr0kOns02m5FyxBSnq5XlmH12ZFIkOWnJtIsFrBaQZZj1R1IqUQ3FJClEo4Z3iz7jBin6NGt/uOl5F8ZOxib0pmU9u0aZYNXL2dl3hd0DU+vVQCFye/t5gCOLsb1D1cNMVw3tBPXDa1+JZxJ0/hF7x58vU0g0NhWqEIMbZEQE12PIarCL6qnJ7iHORHSg9XnQEeJbiggD2BkJHQDuXcfREchoqLqPX7t0WPsLyhsUsbC1oKlFJXn1+rlViB6Ak6Qe8INh6CaDIZyn065r+bSj1f16cXxUo1w0YOMApXF0BYJKdH1SQ9Wnx2EF8xmw7utwOkEnyHKCCW6oYDcB0QB7YE9+xD+0EJ9+de2HVhNJn7Ru3Ff0b16OctzPifenkKPiLrDE8Lsz2Q4BnQegKwmg+GWd1ZxyzurajzHyM7JdHDY2Z/bkeOeoxxTtRjaHKEnurrDCC1UVBirICwMvG6sPiW6oYA8KSHHH1rIzYOTJ6F7/UMLPl1n7vadTOzetVETaFJK/nN4FrllhxibMKXeCypET4yZlHbD4OhRpK9yk9QbhnXihmE1F9oxaxpX9OrBV1s1o9zjCbVQoq0RUqIrKcfqcyB0z6mMhQrCnOB1YdUdCKE6R7R1Aiu8uoHc2/B47k+HMzlWXMJ1fWsudF4bi7M/ZkvBj4xLuJU+7c6v9zhhE4juQHknkNYqdRiuGpTMVYNqnkwD+GWfXuSWQDtTXzac+AGvrpyItkRIia4uy42UMV/ZqYwFP8IZBp4SrD47QnhVLKyNI/cBsf7FDnv2QXhYoF5tffjXth2EWSxM7tmwkATAxuML+TH7EwZFjWdU3HUNHi9SAalBzAVV8nVdHh8uj6/6gX4uTulMO5uNfce6UuItYHvhzw22QdFyhFTKmBR+T9frrt7TLSsNNKcs1/VGrz5StCyyQMJxEH4HU+7dB9261fsrfrnPx7937uLyXt1xntZDTZc+Mkt3UeItwuU7SZnPhUkzYxHG3MDh0u3sP7mZfE8WXcPTuTz5N42q0yCiBSTo4LkQeXgpnOYo3/aeUUt3zvThNY63mkxM7tmdzzfv5eFJCazJ/5b+UaMbbIeiZQgp0QUjJYzyfET7M0rz+YveWKQVqwBXuVeJbhslEFroCjI3D/LyEKNH1nv8wv0HOe5yV8pacPtK+deBF9hbvKHGcTbNQZewNIbGXMqQ6ImYtZqbXtaF1legH4uG7Mr91265oEu9xv+yT08+3ppBe3E+B0q+IMd9kDh7/cYqWpbQEl3hNSbKPCWV08XAeK0XABAurLi9XtphawEjFU1FHgDijWph+jJDJMWAAfUe/1nGTtrbbUzolgJAoSeXj/Y/Ta77MJMS76RLWD/spnBsJgc+6aVcL0OXPqJtiZhEM/2j7gyIUvD1REoZ8JivGJBY+zg/47t2IcxiYdPheKITzKzJ+5bJyXc3j22KoBJSoiuE14jpVhNeEGFhSH+lsTBhUW3Y2yjyhIQTIC7wv16/Abp1RUTXLz/XVV7Ol7t2c21qb6wmEznuQ/xz7+/x6G5u6fYU3SMGBdH6UwhNQEw+yJ7IvbmIHka3iCK3MSkWaa/di3ZYLIzu0okFe3N5ps8oNp1YyPiOU7GZHEG3XdE0QmYiTUqJSfiw6jajoljYmeEFZ6DSWJiw4lKie9aR2RKZ17QJTHnAeBQpII8dg8wsxOD6C+X8vfsp9pTzP/7QwndZf8cnvdze409nTXArEIOMVXByc1Fg253vr+XO99fWa/y4rl3Yd6KAZOsoynQXWwp+DIqdiuYlZES3zOfDoZkQaOArO1VhrIIwJ+hGoRunP7ygOHtIr0T/AfRvQRY3XnjlfoxCNk6BXLcBhEAMalhoIT7MyUVdOpHrPsyek+s4P/YK4h0pjbapsWjJ7cCTCcdPdbn41YUp/OrC+tkyrqsRw92cZSXensLa/G+DYaaimQkZ0XWVe4nwzzKjl1WN6YaFgb/1ehg25emeZeRBoAzwgr6cRqXsyRMSCvxerpRGaKFnD0S7+tVNKCor49s9+7iqTy9MmsaK3C8wCwvndbiswbY0GxH5oMWi5xthhUlpHZmUVn3r+DPp1SGa5MgIFu0/xODoiRx17eWoa18wrVU0AyEjum6flzAqRNdTVXQdjoCn65A2yry150Iqmhe5E4gAMRzIArm9Eec4YDyKFIwKXdk5iMED6z3+v7v34vZ6+Z9+fSjxFrLpxCLSoy4mzNy4YjfNgUj1x2DXG5O8x0s8HC+pX+lRIQTjunZhycFDpLW7CLOwsD7/+2CZqmgmQkd0y72ECf/kg88NjspLO4XZDJohtHZslJarmrpnC1ngrwbW2/ghCeRao7NDg85TKbSwHjQNMbBhoYVOkRGcn5TI2vz5eKWH4bFXNuxmmhnRrwsU70NmGg7DPR+u454P19V7/NiULhS4y8jILSW13Qi2FCyhXFef7dZM6Iiu14eTigLmHsOzPROLkZZj8zko9brOonXnNnInoBl1B4QQaCON1/qPRv+yep0j58zQwkbo3QsRHl6v8cddLhbsO8C1fXujSy+r876mR8TgFs9tFTYbWI6AHok8IblzVDfuHFX/5cxju3ZGAIv2H2Rw9ARcvmJ2FFZfBF3ROggZ0XV5vTjFaeEFWzU5uDbjdq26HZcS3bOC9ErkHhBdQDiMf3oizC+8eSBX1j4eQLok+mIgDKNuwY6dkJ+PGFL/bIP/7NiNV9f5n7592FqwlGLvCYbHtKyXG6CrAKmjby9jfN94xvet/3LmGKeTgQlx/LD/ACnh6URZ41l3/LsgGqtoKiEjum6vF0dFTNciEVo1t2Y3EtutPgdunxLds0HFBJo4o66MSBGI/oYXrO+s2duVul9w3aCNA6ygf/Vfo3bukCH1s0FK3t24hZ7RUQyIj2NN/jfE2jrRvR7lGM8GWr9ucHIP7JPkFLnJOelu0PhxXVNYlXmUEo+XgdHj2V+8meNlx4JjrKLJhIzouso9OKTfu7XUsB7eYUfHKP/oKm/YB1vROOROIBKoZkJeDMGI767whw+qG78KIx48EkSMgI2b4dBhxGWTEJb6re35947drDt6jIeGDyPbfYAjpTsZ0mFSo+omBIWkRHBlgMfOff/cwH0f17wUuTrGde2CV9dZeugwg6LGI9DYcHxBkIxVNJWQWZFW6nVj0/0ZC7bq/5cIhx3d39KnTFcdgYON1P01b/tSrcAJTaCNNrr56l8DdglOwAq4/D8eEGmgdRdIXUf/+r+QEI8Ydl69bPD4fDyxZBn9YmO4uX9f5me9hVlYGBB1cTPeadMQmgYJZeArZ3pyN7TUhv0zGJ6ciMNsZuH+g0zuOZYeEYPZcHwBYxJuar5ly4pmI2Q83VKvy+gaATWKLg4HUpZh1R2U+ZSnG3SKAR2js0MNCLtAuxTEYH8qWBgggSgjfisuADHUOFauXgPZOWiTL6s+fFQN76zfxL4TBTw39iJ8eNh8YjGp7UbgNEfWPfgsIlK7QcFmRhfFMLp7bIPG2sxmLuyUxNKDhwEY2uFSTnqPs6todTBMVTSRkBFdt9eNVbej4wVHDYVsHA6kz2jT7tGV6AadQuNB1JEGKyIE2kCBNkJgmiAwTRaYxgq04QKtr0BoAlnuRX4zHzp3goHp9bu8u4znl6/g4pTOXNIthYyCn3DrJQztMKmJN9b8iL6pkL+aLFcZmRkNn28Y1bkT23LzyCstpWfkUCItMWqFWislZETX5XMZTSdlGaK6dDEw0sh8Rssej0+FF4KN9IsuzbD2QH73PRw/gXbF5fWOxb6ycjX5LjfPjb0IIQTr8r+jgy2JLmFpTTeomRGRERDl4qGj63jwm00NHn9h5yTA6IhhEiaGRE9kz8n1akKtFRIyomt4ukb4oNocXQC7HXTD0y2XSnSDTgFgN0IITUHuP4D8bgHi/GGI1Pq119mRl8/sVeu4Ka0vgxLiyXEf4lBpBkOiJ7aeCbQzEP368htRzG/Cuje4PsXQjgnYzWaWHTI6UQzuMAENjXX584NhqqIJhIzolulurD47ul51NVoApwPhM9qwq1U7wUcW0mQvV5aVof/zQ4hqj7j26nqN0aXk1998T7jVwgvjjI4Ka/K+wSTMDIwe1zSDgojol8qFhWu5MCwWuadhY21mM+cndWT5ISOuG2mJoVfkMNYf/171UGtlhI7o+j1d9Jo9XWF3ILzGRJpXebrBp7DueG5dyP98CXn5aFNuRtT0z/QM/r5hMyuOZPHiuNHEhTk5ULyVNfnfMCBqbIvWWaiTzp05ZJUc8hxC7m54UaBRnZPZnJ3LCZcxX3Feh0sp9RWpHmqtjJARXY8sM7pG1CK6hqdrpIzpUnm6wUSWSXDTJE9XbtmGXPYT4uIxiJ496jUm8+RJHl+0lItTOnNL/36UeAv5/NCfibYmMCnxjsYbcxYQmsb/c6bz/w5vgpNAVsPGj+rcCQmsOJIJQLeIQURZ41md91/ViLUVETKiW+7PSsDnqXkizW5H8xqLI3xSfeUKKvXMXKgJmZdvhBWSkxFX1L/04gPfLcKr67x26QQA/nN4FiXeQq7r8gg2k7OO0S3P/efFM6N4M9i86Bsb5u2el5iA1WQKxHU1oXFBzJUcKs1gz8n6F9FRBJeQEV2vNERXVFNhLIDTgdA9mKUFIVVpx2DSlMwF6fGgv/MeANodtyEs9WsAuSUnly937eHhEcPoFtWen3I/Z1fRGi7peDsdnQ1vtd4SXDAqnfP1fLDshGwa5O06LBbOS0wIiC4YObvR1o58l/UuPvWZbxWEjOiW68YEmfDVUGEMwO4Af6qYVQ+ZW2+dFGJ8uiIaPlR+Ng+OHEG79RZETEy9x72+Zj0Os5nbBvZi3qFXWHD0H6S2G8H5MZc33IgWYp9Lsq9TT9j/A4SBvqFh3u6ozp3YeCybk2VG+MysWZjQ8TZyyw6ppcGthJBRHp80wgbC66nZ07VZA4XMbVItjwwmsgCI9DdgbAD6TyuQK1YiJk5A9O9X73G5JaV8snU7UwdHMefw/7L5xI+Mib+R67o80mpTxKrjsXlb+L0vBQ4fQPRyQw6QWf/xozon45MyENcFSG03gk7OVBYf+4gyVeipxQkZ0dVlOVbdjuYtA0f1sTuhaWDSAbCFzq23TopocGhB7t2H/Ndc6NMbMfnSBo19d+NmIpyFRMX9B4BpPV7i4oSb21ztgf+d1JuHxxmhEOne2mBv9/ykRMyaVinEIIRgYuLtFHtP8HPuvKDYrag/IaM8Zt34UGq+WjxdAH940CFDptZPq0PqEooaNokmj59Af+ddiI5Gmza13rUVwChq8/eN67jp/J04TGHc0eNlOoelNsLylmdIl2iGDO0JEeGIHdsRA4Fc4GD9xodZLQzuGM8yf75uBZ3C+tCv3Sh+yp1HgSen2e1W1J+QEV2rXuHReGufePHvssv6Tc4oGsFJjEI39RRd6fGgv/V3KC9Hm3474sz+dnXw+fadDOi6DrvtJNd1+V/CLVENNrm1sPPYSXbllCD69EHu3AndJUSD/rNRzL0+jOqczPqj2ZSWV87QuSTxVyBhftY7wTBdUU9CRnRt0n8rZr32A63GcQ6U6AaNBqSLSV1H/+AjyMxEu+1WREJCgy4lpeQ/+z+jb1IOYxNuISW8fyMMbj08+cVWnvxiK6T2geISROYRtNGAB/Sf6hdmGNW5E+W6zurMo5W2t7fGcVH89Wwv/JndRWuDdAeKuggh0fWHC+qKGvjLPtqxqITxINGQdDH5n69gwybEL3+BSKv/xFkFX+1ZR4+kddj0noyKu67B41sbj12WymOXpQZqTMjtOxBRwij4foh6LQ8enpyIJkSVEAPAiNir6GBL4pvMN9VS+BYidEQXf3ihpq4RFfhbiKP25gAAIABJREFU9jilDY9P5S0GhULAAcJW++9C/3EZctFixOhRiLFjGnwZXUq+PPwuILgr9f+hibb/cR7QqT0DOrVHRERAp2Tk9h2AUcidBKOnnDxZu7MQabMxMD6O5Yeqpj2YNQuTk+7huOcoy3PmBuMWFHXQ9j+lfgIx2poKmFfgMFxhJzbcXiW6wUAWUKeXK7dsRc6dB+lpiGuualRa1z+2LCCpwyESzGOIsde/mWNrZltWIduyjK8KIrUP7D+AdLmMLsoXAQL0Bf5l1rVwYedkVmcdpczrrbKve8RA+rUbxfKcz8gra0A+mqJZCEHRreOP12HxH2/DVc0HUtEM1JG5ILOz0d//ADolG3HcBmQqVOAqL2fViY/xlNu4ve+dTTC2dfHMVxk881UG4BddXYddu43X4QJtLFAE+sLa29eP6pyM2+tl7dHq6+lOSroDs2bli0Oz0dVKtbNKyIhuYGLMXntepnA68OLGgb1aL0DRNKTLX+imhhY9sqwM/e33wGxBu/N2hNXaqOu8tnEuCe3z6BfxC5zm8MYb3Mp48oq+PHlFX+NF1xSw2ZAZOwL7RaJAjAKOgVxa88TaiGSjqPny0/J1TyfS0oFJiXdyqDSDVXlfN+MdKOoiJERXSomzohOwrY6sBIcDH27s0lYlpUbRDJwwHkQ1WVtSSuRHn0J2NtqvbkVE1dI8rRa25uRwyPMlZZ4Ibuh5UxOMbX30S2xHv0Tja4Iwm6F3T+SOHZXEVetuTKzJ/f4YbzXC28HpIC02pkbRBRgYNY6eEUNYePSfHC87WuNxiuYlJES3zOfDLv0eU1jtolvREdim2yn1qj5pzY30iy7Vie6SH5HrNyB+cTmid6+Gn1tK/rlpK/cueono8JNcHH8rZi20Uv82HS5g0+GCwGuR2gfyj0NObqXjRLoxuSa3g1zuX5ByBhd2TmbFkSzKa5gwFkJwRfK9aMLEF4dno8s60i0VzUJIiK6r3IsTGz48iJqaUlbgcKBLo8tESblah97snMBo0eOoHFuXmVnIL74yJs7Gj23waQ8WFHL7V9/y4A9fMrLXPpId6VzSqfU1mGwqz3+znee/2R54LfoaK+vkps2VjhNCIM4DMRCj4PmPVYV3ZKdkSsrL2Zhd8wq0dtZYJibezoGSrSzNntOMd6KoiZBYC+v2ebFLGz7KMDtrqDBWgcOBLl1YdQcurxLd5kaeoIqXK71eYwGEw4F20w31zlTw+Hx8sXM372/ayqL9BxFC8L8TjqOZBdd0ua9NFbKpL89cWblppujQAXp0R65YhZwwrtI9CyEQg0G3SOQakCWgDZeIDsYxIzsnA7Ds0BHOS+xY4zUHR1/CgZKtLP7/7Z13eFXXlbffdW5T7wUk0bswzeBCMdhJXOMYd2zsxIkT2xMneb7JZJKJx5mZOMWJS1wmGXvS3OvYjuMWqg0YGzAYMGADogshkEC9S/fes74/zhUI1StQZ7/Po+fqnrPPPuscXf3uOmvvvVbhiwyKHMH4+PO74coMjQwIT7fOHyBCnVitRHQsuhqqMlFjRLdLUVUobRnP1cVL4VA+1s03ITEdD3pVNTTw3+s3kv3EX/jG399jd0kpP7tgFku/OR3bs5O56QtI8rUtIv2ZcYNiGTfo5HyYMvM8OHYM9u5r9RhrkiBzcWY1vA32GkXrlEEx0YxJSuTjduK64Ij3VVnfJyNyDG8c/B1H6w521eUYWmFAiG6N34nR2loHHXq6JyoCG0+3i6kEApzk6eqBXHTpcqeS7+T2S5/X+P08tOYTxv7hz/zb8pWMTEzgzRuvYcfd3+FfZ01jfdlzpPqGMDs1vAKV/ZGNuSVszC05aZtMmwoREeiatW0eZ40WrOtAJoDmgP0m6BFl7tAhrD54qM24biMey8dNw+/Fa/l4ef8vqQlUdMn1GFoyIES3yl+D13YGyIjooHhhRCQadDzduqAZSOtSQuM/jZ6uBoPYL7wE8XHI9de0eVjQtnluy+dM+t+n+M+VHzFrSAarblvI0lsXcNnokYDN6wcfpLzhGF/L+t6AGzxryoOLc3hwcc5J28TrRWacjW7egta27SiIT7DOF6yrAC/Yi+Fu7zSqG/ysyet4EUS8N4UFw/+dCn8Rz+79mRHebmJAiG5NoBZv0AkbdOTpiscNoYTnRnS7Fm100BpFd806KCjEuuG6NuvWBW2bW958l7veW0JmbCzLbl3A6zdcw7mZTvhAVVmU/ydyKtZzeeadDItp31vu79x/7STuv7Zl0h6ZeT74/einmzrsQ5Id4ZWRMO5gMv+XOJ8le/aHdf6h0dncPPxnFNXn8ezee6kOlHd8kKFTDBzRtSOw7bqOPV1ACOINRlDvN6LbpZQCMSAeQevr0X8shlEjYVLrQqmq/GjZCt7K2c2vvzSXVbfdfHzwp5E1x95kffF7zEq9tl+V3TlVRqXGMCq1lbj30CGQmeF8kYWBeJw4r5wPl/lGctb+1LBtGB03nZtH/AdF9fk8u/deqvxlHR9kCJsBIro1JzzdcETXCuLCTSBosix1JU1nLugHK6CyEmv+19qcZfC7dRv448bP+OfzZvAv559zUjtbbT46+gZLjzzFxPg5XDz4m91/AX2AdfuKWbevuMV2EXG83bw89FD7A2NNj7Gyhc0phSxwTeDY5pqw7RgdezYLR/wnJfVHeHrvTylvKAr7WEP7DAjRrQvUOeXXNRDWOv7GJhIwqR27Cg0qlDvxXK2oRJevgKlTkJEjWm3/f1/s5D9WrObG7PH8+ktzT9pX5S/jxf33sezI00yIn8U1Q/9lQGQQC4dHl+3i0WW7Wt0n50wHrxf77++gdvgLGRJm+1hav5+EzRFoQfif+VGxU/n6yPuo9Jfw1J6fUGyS43QJA+KTXBeswxuMxBk67xjL5Vy2Ed0upBxQIBF00RKnCsTXvtpq05LaWn649H3Oz8rgT1deihXycGsDVawv+gdP7voBB6q28tXMu1kw7B481qnlZ+iPPHT9FB66fkqr+yQ6Grn2atiZg676MOw+Rycn8ktZw2Gpwv4AtCb8z/2wmLP45qj7abDreGrPv1FQG15s2NA2A0J0y+uq8agPscL79neHcu4GG0x2pa7i+PJfytCP1yCzZyLpaa22vf+jdZTV1fPfl30Ft0vYVbGBVw/8hoe238p7+U8Q60nijjGPcG7KFQNyAUR7DE2OYmhy2+WKZPZMmHQW+ta7aP7hsPudNSqT64vfRP2K3crqtfbIiBrN7aMfwBIXz+y9h/ya1j1xQ3gMCNEtq3JiVZYrvA+Sy+0sxPPXG9HtMkoBAV39D3C5kMsvbbVZTlExf9z4Gd+ZPowjgXd4ZPs3eXH/fRyo2sY5yVdw15jHuGvMYwyKbD0sMdD5aHcRH+1uO34qIlgLb3JWVj7zPBpm0qbLR4/g84YivhhZBEdAt3XOrtSIIdw+6gEiXNE8u/decqs+71wHhuMMCNGtra0HwAqz2rblc0TX9psEH12FlgLRftj4KXLhXCQurtV293zwIeMGlZI2+FXWHvs7mVFjuWn4vfwo+1kuz7yTjKjRZ5x325Tff7Cb33+wu902EhuDdevNcOSIk88iDOYMySLa4+GvlVuREaCbQAs7F15L9A3iW6MeINaTzPP7/os9lR1PXzO0ZECIbqDemfrltcJMJRHhtPPaNsFODEgY2qEUKD8IET7k4i+32mTZ3v2U6Aq+OnUTSd50fjD+Tywc8R9MiJ85oBc8dIZHF0zl0QVTO2wnE7ORC+eiKz9skQynNXxuN18aMYxF+/ahs4BonDBDmBWGG4n3pvCtUb8hyTeYF/fdx8biJZ063jAARFdV8RASXU+YAy6hkj3JHjhcVdVdpp0xaL1CFVCwE/nKl1stod4QCPDS/oeZN34f2fEX8O0xD5Hk61zl3zOBjIRIMhI6WMoeQuZfBUOGYL/wMlpS0mH7a8aP5VBFJSvyc7EuAmpDpX/8nRPeGE8it49+kJGxU3j70O9ZduQZkxayE/R70S2urSXRG/qD+8KML0Q5XlWi201umVnqeLpoY9FZ+why4dxW2zy25UmGpuYy2H0JNw7/CV6r4/nUZyIrc46yMqftVIxNEY8b6/bbQG3sp59DO8ivcO34MaRFRfHkp5uRVHGEtxjsFZ0bWAOIcEWxcMR/MSP5Mj46+jqvHPi1Wb0WJv1edHPLK0jzhi4jMjzRlSjHI45xu9lfZiZ9ny66sRgaymDuOMTXMp/xpmPrqXQtobRiGHdO+P4ZHbPtiCdX7uXJlXvDbi+pKcjCm5wClu/+o922Prebb0+bzKI9+9hfWoYMFWQmcAj047ZL/7SFS1xcmfk9Lsu4gz2VG/mfnO+xszy8FXNnMv1edPeVFhPnDoltZJhxwZgIVG28diS5lSaN3elg5+yHyniw8rDmzWmxv6zhKG/mPUhJVTR3jrsH6xSKUJ5J/H7hNH6/cFqnjrHOnobMmoku/wDdvafdtt8+ezIuy+KPmz5zjh0vxxOh28s6H+MVEWamzueuMY8R607k5QO/4s2Dj5pkOe3Q7/8DDlQeJC4QWnsaHaanGxmBbVcR25DE0brwllQaWqJlZegbG8FyI5eNbbEaMGD7eXr3L/DbfmL9CzgrLauNngyNpMVGkBbb+dCLXHc1pKRgP/ciWtP2ct/M2FjmjxvNs1s+p7rBmW4m03A83iNgv+WkhOws6ZHDuWPMI1yQdiNbS1fwh5zvsq10Vae95zOBfi+6BTV5pNeMIBgsw4oNcyAtKhJqD5NeO4IKf+slqg3to3V12H95GqKzISKIDGkZVlhy+GnKAgf4eOdU7pnZ+uo0w8ks317I8u2FnT5OfD6s226F8nL0tTfabfvdGdMoq6vn1S+cskAigjVBsK4E3E5KSHuzdjrO67Y8fGXwN7hr7GMkeNJ4/eBDPLvvXnaUryWopvJ2I/1edMv9BaTVDoeaI06C8nCIiMRVfYS02mHYJ5ZSGcJE9+3H/u1DcOgYxI1DRrtaxGlzyjewvvhtNh3I5IfTbyE+ooPadQYA/rx6H39e3XqFiI6Q4cOQyy9BN2zE3rCxzXazsjKZnJbKk59uPskTlWTBmu+khNTNYC/p3JLhRgZFjuQ7Yx7m8ow7Kao7xCsHfs0j27/FksNPsbviU2qDZ/aMoX5fIy1ol5BaNxSr+kOIbJmHtFV8Xqg9jFu9ZBFJwLZxm1hjh2gwiC5eii5ZBokJyA3/jOZYSLPFYxX+Yl7a9yBHq6KZk/INrp3Q+cq/ZypP3jr9tI6XSy5Gd+SgL72CxschY8e0bCPCD86dzh3vLua5rZ9z25QT/zfiEZirMBh0rRNusOYqktm5wU9LXJyfehXnpHyVPRWfsrFkCeuOvcWaY39DENIjhjMhYRaTEuaS7Ms8rWvub/Rr0VVVMjUKt3qg7gjEtxzIaQ2xLPBVAzDOGkR+RSXDEuK709R+j+YexH7pFcg/jJw7A7nhOuzVERADpJxo57cbeGL7fTTY9Uj1Tfzk0lm9ZnN/JCn69JL7iMuFdee3sR//A/b//hnre/+EjBrZot3CSdk8v/ULfrxsJRcOH8aw+BMrCEUEGQuaqtgrHI9XshWZAeLunPi6xMW4+PMYF38eDcE68mt3kVv9BfsqP2NFwYusKHiRjMjRnJtyJZMS5p0Ri2RcP//5z9vb3+7O3uZodQ2leTlMrjwfgpuw5p0T9rG6bxe2TqAq6gglcfGMSEjqRkv7L1pbi779LvrSqyAW1jduwbr0Ymhwo+tAxoEV8oKKakt5YMu/EnTlcuDwLJ689C7zBNFJFn9+hD1HqxidFttx4zYQrxeZOgXdshX96GNk9Ggk8eRqoSLCBUOz+NOmz9hcUMjNZ2W3CBFJpCBjAD/odtBckBggllOa9uey3CR60xkeM4lpSRdzdtIlxHmTOVy7h40lS9hcsgybICm+IXisfh+Ouq+tHf1adLcdLSDucCVZ1WOQlFyss7LDP7iygrpjgu32sjm6gOmDWnoDZzJaVoYuWoI++zzs2YtcMBvrjtuRrCy0RrEXAwGwZgE+eG/PFp7eey8+XxF15Zfz8LzvE+kZ+F5LV3Pvm5/zWV4ZN8wYclr9iM+HTJmEbtqCfrASPZjnrBRMTj4umAkRESRHRvLEp5tJi45iRkbLFYJiCZIlSCrofqfopeYAdYAL8IG4Tm3edYQriiHREzgn+QqGRI2nqCGfjSVL+KTobY7V5RHhiibGk4RLwlz01LdoU3SlgykdfXq+x/Ofr+K8nTFklKYQNbUI65zw42Gaf5iqN3IJJo7h8VFv81+zbu9GS/sHWlSMbt+Bbt8BO3aCbSNnT3WW9g5xpntptWIvAmrg2Owani3YxqrDSxmbtZVon59zE77H/JGX9O6F9GMq6pxpXHERXfOFpZWV6KrV6MdrobISEhKccMOIYcjo0ZCZwfxX/8bHeYd4/+s3MXVQett9BRXywN4NHOKEOiQAcSA+wAtEgcSHtsc4wh0uBbX72VSylC2lH1AXdEKAse4kErxppEUMJytqLFnR40jxDenrie3bvOh+Lbq/+eR5vptzBVZ5DrG3jEeSwg8RqG1T//C7eFK+xn8Oe4xff/mH3Whp30Xr69FPN6EfrYG80HrelGRk0lnIvLlISrLTzlY4BIF1SqDG5qfWSlYEljNnzH5S46rxaBoLR/2YkbETevFqDG2hgQD62RYnOc7+A1AWWrI7aiSlF8xh1toNVAcCLFp4A5PbyIN8Un91CkdBi0CLcXJvNAD1nFxLIDI0D3hs58TXbzewu2IDR+sPUlZfSGlDAQW1+6mzHSFO8g5mXvpNTEq8sK96wm1ebL8eSKurLiM2kESDvxSaxaw6QiwLT5xzX5Lr+n38qNNoba0zE+HjNVBXD4MHI9dejUzMhrTU44+gWqnoTgjuVqw64Zhdwz3uv5I0Zh3XRFUS5x7MJRl3MzFhDlbf/PD3K97Z4iQm/9qUjC7tV9xuZMZ0mOE8DWppKfrZVvT9FSQ+8xxbBg/i6x4fX33pdRbfciMT01La7y9CYCjI0Jb7tN4p3aRlzko3XQO6A6xzFDLDiwd7LC/ZCbPJZvbxbbbalNQf5mD1dtYXv8ebeY+yqvAV5qYvYHLiRX1VfFvQr0U3qc55BPPGt5wnGhZDYqAQhvoTutiyvovaNvrJevTtd6GqGpl+NjJ3DowYftI91GJFt4G9X1GF9wP7WRG5Au+EFQz3lJMeMZw5aXcxMeGCfvNh7w+8sC4X6HrRbY4kJiIXzUMvmI1u2Ij3H4t5paCAZ+KTuO6FV/nL9fNbVGYOu2+fQBpIGugYhVywN4C9FEgBa4o6gt3J/1lLLFIiskiJyGJa0sXsqljPysKX+XveY6w++hoXpS9kYsIFfT3s0L/DC3/7+8vML7kJhq7F9ZXOT03SnF1Ur0lmZ9xWJl89F69r4IqH+gPoxk3oipWQfxhGDMe64Tpk6IkBGy1TNNcZpaYIGqwgrwY3sST2LUaO2oHb3cCw6InMSbueMbEzTOKabqA2VEIq0tuzn0Wtq3NKAK3+iDyPh8cjo/GdO4N7Lru4Sxa2aFAdr3cbUIkTA04DEkEScOK/0Z0LQYAzbXRnxTo+KHiBo3W5JHrTGREzheHRZ5EVPZ4Eb3pvOQUDL6Zrq7L5jVWMq5xM9JeqkGGtPOd0gNbXc+yFHfij4qi+JJqxyW0PIvQ3VBUtroVdhWheGeQehYALYpMhM8uJ21qC1oNW2miVYjU4H85c3yHWRaxhZ+Y7SGQZIEyIO5/ZadcxJHp8716YoVvR3XsIvP4mVn4+fmB1dAyBUSNJGzua8ZMnE510ek+FaqszC2IPTuL7pmkiXEAsEB8aiIsHiQIigEjntS1RttXmi7LVbCtbRW71F8cH4SxcJHjTSPZlMjQ6m2HR2WREje2JYqcDT3TzKkqx3ivFXVtJ2m1nIafopR7663LSrLksnb2RK8fO7GIrux/1+9HCIjhQjh71Q6UXGmJAkqH5XEexsX3QoH4Cth9bA9S7qin3FVDqK+Ro5AF2xa+n3FOMHYhjROxZzEg9jxExk4n3pvbOBZ5hvLnZScB0zbTeTQ6k+Yc5smIVbNpMekPD8e0lLhcFkZGUxcZCYiIJg9LJyMokKTMDUlMQb+fETOsVSkErcOLA5c4rFbRUHxcnBDkRJNF5bT5v2Fabo3W5HK7ZTUlDASX1RzhWn8vROiejoFs8DI2eyKjYaYyKmUpqxNDuWJQx8ER3+b6NzF01iQJWM/RbrZeHCYf8lxczqPZSXhu3iJtmX9GFFnYPatto7kF0y1E44gZ7EESkQeMjlN2ABo/hlzJKI+rYF2OzzldBDtvw+3YwKKEQn8d5hC2piqKqNhkfqST5MhkRN5yZGWOZkDwEV7iljwxdyoI/rgXg1bv6jgNQWVRCzrZtFO3ag6ekhISKStJra0gLBGju6lRFRaHpacSMHIE1JAvJyoTU1E47RWqrE4aoBepAa4GKkCiX4cyWaMQDJIOkAAmhqWs+nMwyjccGoMFbS4FrH/t0CzsCHx8XYUGI96SS6BtElCueCFcUPlc0o2KmMDrulJdlD7zZCxUFx3CpB405vTIhCUPSYRfEFjd03LgbUNUOY6OqCgfzsNfnQF4URE8GzzDUG6TUdZBc31p2eg+yzbOPvdYhVAK4LCUuso7EqFqifH4ygGAgEq9OZqh7KlNTziY7ZeiAjmP3R174znm9bUILYlOSmHHRPLho3knbK2tq2XHgALkH8ig8mEd9QQHp1dVMOJRP9v4DeHG8tqBl0ZCSjDtjMJ7UNCQ5CUlKhOhoJ+OfLwKCQQj4nde4OIiMROIFQqvzm/+HqF+hLFQQtTg0dW0HEGzbU/QQyRAmMoSJzItZiD+9jsKE/RyJ2sdh9y6KA/kU+PdRH6ymPliLWzynI7pt0i893e1Fh8n58AOuKruFyuytJJw/5ZT7skvKaHgrgv0RX1B8djRzxnVtzFL9ofphFc4UGspCr3WAP/TjAX9skGpvHVVSQa1WUB8oQSoKia2sJbLegy9iDLGeSSg2O2M2si35Q/YnbqDBVXv8XMGgDwsvLsuFW9zEepJJj8wiM3oow6KzyYwa1+dHdg39m4PlFaw9lM/6g4co3LuPiMJCxvn9TPD7GRfwMyQYJJwH+RqXi2MREeQlJFA4aBDVw4YSnZ5ORmwMg2OiSYuOJsbrOXnGTVChmhPzhW1OxIPdOF5zteMtawFwJNQWHK843mkrXpxFHllgDT/lweKBEV4I2jbvLX+L8aXDGFU9jRqOEn1jLFZMy0KIneHQUx8wmItQbA769pI2KgO3y4OErj7oChBw+QlaQYKq2LZjS6Dexl+v2H6bYAPQAFZAiAx6iAh4iQz6iLBPjqtWWxWUugqplhL8UknAqsZHJPH2YOIDWUQHW59vXOkuYVPKUlbHraAIm2hrEFnRw5mYPJaJySNJ9KX1xOCAoZt57VNngcrpLgPuKzQEg+wvLSOnuIR9ZeUUVlZSV1SMlJZj1dVg1dbjamhALYug24VYFunBIBl+P1kN9WRXVZEQqthdZFnsdHvY4XZz2OWmxrLA58PyefH4vPh8Ebi9Xlw+L26vF4/XgxvBDbhRvIEgnmAQTyCA2w7iCdrE2/HEkkAMicRIAm58uPHiwkvl4ArSLzvlwfWeFd1P3lnEpOLWCxSeCoKFpS4stbBwUWuVU8tnJJ83FGvC6edM0JISjq1YSb7fZph/LvF+Z9AoSABBsFpErlril3rqXTXUu2qpcZdT7Smj2l1OmbeQUl8BZb5CiiPyqXc5w7VWEHwNbtx+Ny7bi4cIPFYk0SSQaA8hMZCJzxWPP8FC413ExCQwOmE4kZ7wKsUa+id9Mabbm6hto4ePULNjJ/UH85DCQiKLivE2dH84cPW4cVz4g++e6uGnJroispiTEvd1ihTAVH1sH3OP2sfcn/Yx96djeuseFanqZa3t6MjTPWVE5FNVndEtnQ8QzD1qH3N/2sfcn47pi/fIjKoYDAZDD2JE12AwGHqQ7hTdP3Vj3wMFc4/ax9yf9jH3p2P63D3qtpiuwWAwGFpiwgsGg8HQgxjRNRgMhh7EiK7BYDD0ID0muiJyrogsE5EqEakUkTUicqoLLwYk4rBIRFREru9te/oCIpIkIr8XkZ0iUisieSLypIgk97ZtvYmI3C0i+0WkTkQ2isgFvW1TX0BE7hGRDSJSISLHROQdETmrt+1qSo+IroicBywFVgLnA9OBh3HSvRhO8COcNB2GE2QAmcBPgEnArcBc4OXeNKo3EZEFwOPA/cA0YA2wSKS1imVnHBcCTwCzgC/hlMlcLiLhV63tZnpk9oKIrAFWqOq93X6yfoqInAP8DecLqRC4QVVf712r+iYicgXwLpCgqhW9bU9PIyKfAFtV9Y4m23YDr6vqPb1nWd9DRGJw0qJfrarv9LY90AOeroikATOBIyLykYgcFZHVInLqmccHGCISC7wE3KmqR3vbnn5AHE7yvpqOGg40RMSL88W8tNmupTjeneFkYnF0rrS3DWmkJ8ILjWnA7gOeAi4FVgNLROTUE+EOLP4XWKyqi3rbkL6OiCQAvwT+rKqB3ranF0jBKVxT2Gx7ITCo583p8zwOfAas7W1DGjll0RWRX4UGfNr7ubDJOf6oqk+p6mZV/XdgA/BPXXANfZJw74+IfB2YAvy4t23uSTrx+Wl6TAzwDpCPE+M1GNpERB4B5gDXqWqwt+1p5HTK9TwGvNBBm4NAYxbg7c32bQcGcuA/3PvzTSAbqGpWtudVEVmrqnO6x7xeJ9z7AxwX3H+E3l6pqnXdZVgfpwgIcuL/qpF0oKDnzembiMijwE3ARaq6r7ftacopi66qFhFGnkoROQAcBsY12zUW2Haq5+/rdOL+3Iszk6Mp24B/Bd7qBtP6BOHeHzge816Ekxj6MlWt6uCQAYuqNojIRuBi4LUmuy4G3ugdq/oWIvI4sABHcHcFJel5AAAGpklEQVT2tj3N6fbClKqqIvIQcJ+IbAU2AzfiTB37fnefv6+jqvk4j8vHCXm8eX3tG7o3CAnuUpzBs6uBaBGJDu0uUdXeqSjauzwCPC8i64GPccJ0GThjA2c0IvI/wNdxPiulItIY567qK1/WPVINWFUfExEf8DsgGfgCuFxVt/TE+Q39muk4X9AAu5rtuwhn7vcZhaq+Gloc8jNgMPA5cIWq5vauZX2Cu0Ov7zfbfh/w8541pXVMljGDwWDoQUzuBYPBYOhBjOgaDAZDD2JE12AwGHoQI7oGg8HQgxjRNRgMhh7EiK7BYDD0IEZ0DQaDoQcxomswGAw9iBHdAYCI/FZElvW2HX0BEXlGRN7trvbd3Y9h4GNEd2AwFSdnaJ+huQiJSKqIPCEiB0SkXkQKReR9Ebm4rWNOkf+HU9Kn2xCRlSLyh54+r2Fg0CO5FwzdzlTgud42ogPeAKKAbwN7gDRgHk4uji5DVcu7sr++fl5D/8N4uv2cUBaldEKerohMEJG3RaQ8VBrpDyIS2eyY6SKyKlRd93MRmSUi/uZJw7vQxgTgAuCnqvq+quaq6gZVfVhVX+lEP3eGPGRXs+0vicjbod+be9g+EXksdFydiKwTkTZzFIvIZaFyUqUiUiIiS0RkQpP9z+B8WXyvSbL14ady3pDH/ISI3C8iRaG/18MiYjVpMzd0bFXob7pe+lh1W0PnMKLb/5kK1AI5IjIZpyzJTuAc4FrgSuAXjY1FZDywAvgEOBv4KfAqzlNPd4UoqkI/V4lIxGn08xoQj5M7Fjie3Hw+bSdEfxAnt+rtOJVztwGLRWRwG+2jcRKsn4tTWbYceEec2mTghBHWAk/jZPgaDOSdxnlvwalYOwsn1ek/h45DRNw4OZU/wqkucl7Itj5TBcFwCqiq+enHPzii+Uno90+Avzbb/xMgp8n7pcAbzdo8Bxxo8v5NnEJ+rzdrdyWQA+wGvtOBXc8A7zZ5fx1QAtThiNbDwHntHdNGv38Dnm/y/lYcYYxo3geOgDYA32jS3gXsBX4VzjlDfQSBOU22rQT+0Jbt4Zy3ST9rm/WzDPhL6PckQIF5vf05Mz9d92M83f7PVOAzERmH45091mx/PeADEJEhOF7iL1pp0zS38ePAN5o2CHldjwBfwvHcfhzK6RoWqvoGTqLtr+FUgZgFrBORfw+3jxAvAFeLSFTo/S04XyKtle8ZBXhwEn032hHEEf3s1joXkVGhcMVeEanAKfho0bnSUp0579Zm7w/jxLtR1RIcMV8iIu+JyL+IyEAucXVGYES3/9M4c+EsHI9sR7P92Zwoi3Q2zqNs83/0CTQJLajqSqCyWZtzgS9UNV+dDPyLgEs6Y6iq1qnqMlX9harOAv4K/LzJo3s4vBe6hvkikgZ8hY5rrbVqThvb3wVSgbtwHuenhc7XGRs7c15/K/uP/1+q6rdCdnwIXIUTRrq0i2wx9AJGdPsxIW9vDE4JpEqcv6e3yf50HE/wxdCmIM5jblSTNtOB2Zzs6bZGBieXFcoHMk/vCtiOE0sOO86rqvU4sd1bcGKfBbRdPWIvzmP+7MYNoUG4mbQslErIcx8P3K+qy1V1BxBLy1k+DTj3sS06dd6OUNUtqvqAql6Ic623dbYPQ9/BTBnr30wOvW7FeZwtBn4bKsyXiRNqWI4zUAbwKU4o4SER+R2OYD8a2tdt83xDYvYa8FTI1kpgBk68+X1Vrehkly/glGMZAbysqnZrjVS1WkSeBB4QkSJgP/BDnNkeT7RySClOscw7RCQP5x4+hOPpNuUAcK6IDMcZICw5zfO2ioiMwPG438b5khuJ8zd/Mtw+DH0PI7r9m6nAblWtARCR+Tjx2O/gxCKfAX6j6ozKqGqBiNyGM7J+G84shmeAH2nHRTAPc7JnmwmsD9POKmAdzsj/aJwYcz7wEvCrMPtoyurQ8dnAzR20/bfQ69NAAs5TwWWqeqR5Q1W1RWQB8N84dcf2AD+iZZXdh4FncbzWSBzxP+XztkMNTtXs14AUnL/pi8ADnejD0McwNdLOYEREgMXAXlW9u9m+C4Hvq+r1ofdunHjxhTizBTYCs1S1uCdtNhj6O8bTPYMITc4fBGzCWQn2Qxxv+VvN2i3HmRcaLSKHgBtUda2I/AjHO7aAB43gGgydx3i6ZxAicj3Oo2kmcAxnUOYeVT3Um3YZDGcSRnQNBoOhBzFTxgwGg6EHMaJrMBgMPYgRXYPBYOhBjOgaDAZDD2JE12AwGHoQI7oGg8HQgxjRNRgMhh7k/wODnq1084ZHMQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "bins = np.linspace(-6,2.5,100)\n", "max_value = -np.inf\n", "\n", "for idx, region in enumerate(region_dict.keys()):\n", " \n", " data = np.log10(units[units.ecephys_structure_acronym.isin(region_dict[region])]['isi_violations'] + 1e-5) \n", " \n", " max_value = plot_metric(data, bins, '$log_{10}$ ISI violations', color_dict[region], max_value)\n", " \n", "_ = plt.legend(region_dict.keys())\n", "\n", "plt.plot([np.log10(0.5), np.log10(0.5)],[0,max_value], ':')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A few things to note about this plot:\n", "\n", "* We've added 0.00001 to the ISI violations values, because the log of 0 is undefined. This creates a peak at -5 for all the units with no ISI violations\n", "* The hippocampus has the most units with high ISI violations, likely due to the density of cells in this structure.\n", "* The default threshold of 0.5 is still quite permissive\n", "\n", "If we wanted to only include units with no ISI violations, what percentage would be available for analysis?" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.14" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.around(np.sum(units.isi_violations == 0.0) / len(units), 2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's a summary of things to keep in mind when using `isi_violations` in your analysis:\n", "\n", "**How it can be biased**\n", "* As with all metrics, ISI violations may not be stable throughout the experiment. It may be helpful to re-calculate it for the specific epochs you're analyzing.\n", "* Two neurons with similar waveforms, but firing in largely non-overlapping epochs, could end up being merged into the same cluster. In this case, the ISI violations may be low, even though the resulting unit is a highly contaminated. This situation would tricky to catch, but fortunately shouldn't happen very often.\n", "\n", "**How it should be used**\n", "* Setting your ISI violations threshold to 0 (or close to it), will help ensure that contaminated units don't make it into your analysis, but will greatly reduce the number of units available. You should think carefully about what degree of contamination your analysis can tolerate without biasing your conclusions. For example, if you are comparing firing rates of individual units across areas, you'll want to set a low ISI violations threshold to prevent contaminating spikes from affecting your estimates. On the other hand, if you're comparing overall firing rates between areas, counting spikes from contaminated clusters may be valid." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## SNR" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Signal-to-noise ratio, or SNR, is another classic metric of unit quality. It measures the ratio of the maximum amplitude of the mean spike waveform to the standard deviation of the background noise on one channel. Even though it's widely used in the literature, we don't recommend using it on Neuropixels data for two reasons:\n", "\n", "1. It only takes into account the unit's peak channel, despite the fact that waveforms are often spread across a dozen channels or more.\n", "2. If the waveform changes due to drift, peak channel SNR can change dramatically, even though overall isolation quality remains consistent.\n", "\n", "Nevertheless, it can still be helpful to look at the distribution of SNRs across areas:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "bins = np.linspace(0,10,100)\n", "max_value = -np.inf\n", "\n", "for idx, region in enumerate(region_dict.keys()):\n", " \n", " data = units[units.ecephys_structure_acronym.isin(region_dict[region])]['snr']\n", " \n", " max_value = plot_metric(data, bins, 'SNR', color_dict[region], max_value)\n", " \n", "_ = plt.legend(region_dict.keys())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can clearly see an increase in overall SNR from hippocampus to cortex to thalamus and midbrain. These changes likely result from differences in the size, density, and orientation of cell bodies in these regions. A more explicit comparison between extracellular ephys signal quality and histological features would be an interesting research topic." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's a summary of things to keep in mind when using `snr` in your analysis:\n", "\n", "**How it can be biased**\n", "* SNR only considers information contained in a single channel, and therefore cannot capture isolation quality accurately\n", "* If the peak channel moves across the probe due to electrode drift, SNR will drop.\n", "\n", "**How it should be used**\n", "* SNR can be helpful as a point of comparison to the previous literature\n", "* It should not be used to filter data in isolation\n", "\n", "That said, a modified version of the SNR metric that is tolerant to electrode drift could be highly informative. Future Allen Institute data releases may include such a metric." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Isolation distance" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Isolation distance is a metric based on the principal components (PCs) of a unit's waveforms. After the spike sorting step is complete, the waveforms for every spike are projected into a lower-dimensional principal component space. By default, Kilosort2 saves the top 3 PCs for 32 channels around each unit's peak channel—this is a huge amount of data, but it's greatly compressed compared to the original 60 samples x 350+ channels for each waveform. PC-based metrics are a useful way of validating cluster quality because, at least for Kilosort2, the original sorting process doesn't rely on the waveform's principal components.\n", "\n", "You can imagine each unit's PCs a clusters in a 32 x 3 = 96-dimensional space. Isolation distance calculates the size of the 96-dimensional sphere that includes as many \"other\" spikes as are contained in the original unit's cluster, after normalizing the clusters by their standard deviation in each dimension (Mahalanobis distance). The higher the isolation distance, the more a unit is separated from its neighbors in PC space, and therefore the lower the likelihood that it's contamined by spikes from multiple units.\n", "\n", "Let's look at the range of isolation distances across different brain regions:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "bins = np.linspace(0,170,50)\n", "max_value = -np.inf\n", "\n", "for idx, region in enumerate(region_dict.keys()):\n", " \n", " data = units[units.ecephys_structure_acronym.isin(region_dict[region])]['isolation_distance']\n", " \n", " max_value = plot_metric(data, bins, 'Isolation distance', color_dict[region], max_value)\n", " \n", "_ = plt.legend(region_dict.keys())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's a summary of things to keep in mind when using `isolation_distance` in your analysis:\n", "\n", "**How it can be biased**\n", "* Isolation distance is not immune to drift; if a unit's waveform changes as a result of electrode motion, it could reduce isolation distance without necessarily causing the unit to become more contaminated.\n", "* The exact value of isolation distance will depend on the number of PCs used in the calculation; therefore, it's difficult to compare this metric to previous reports in the literature.\n", "\n", "**How it should be used**\n", "* Isolation distance is correlated with overall cluster quality, but it's not a direct measure of contamination rate. For this reason, it should be used in conjunction with other metrics, such as `isi_violations`, that more directly measure the likelihood of contaminating spikes." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## d-prime" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Like isolation distance, d-prime is another metric calculated for the waveform PCs. It uses linear discriminant analysis to calculate the separability of one unit's PC cluster and all of the others. A higher d-prime value indicates that the unit is better isolated from its neighbors." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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FbnsMg2wefNm1q5dS2ZmJnV1ddhsNtrb2yktLXU0T/Xw8HAIMeiNTMPDwx1C3HUtI8N5I/vss892+nmYN28e999/P/X19VitVpdr6mLatGksWbKElJQULrzwQpYsWcIVV1xByCC7+JwqyjN2QWlLNgCBpgmOa7KkRK9JMYBMCimlLsYRILwHLozxftPxMQWwv2YLP5yoG81fdBUOSkmBmlooKu51riEFaAN5dMAvpxiFdG/2CbrnO5DWS6eDgfws5Ofns2zZMpKSknj//ff55ptveO211wCcmpue2NJJCDEk77W/BqhGo5EvvviCL774grS0NF599VUSEhL4/vvvT3zUaUWJsQuKm7Np7zQSa40FumVSDNQvrgLq9VoUg8EojKQEnMPh+j3EBXkQbfXj8+w8AESK3gOs1wMgAGFAiDoirXDmRP9z165dPTpU9DUmKSmJ9PR0Grrlue/cuRNN00hKSiI0NJSoqCg2bdrU6+t//fXXtLe3s27dOubNm8fkyZMpLu49oDgZdu/e7SS2u3btIjIy0hEVh4SEUFJS4rjf2trKoUOHnJ4hhGDevHk8+OCD7N27l8jISN57770hW+NAUGLsgvzGo/rmXbB98662FlpbB+4XZwMGEBP6HdqDaYGLsclOMut2cl5sDF/mF2LTNITVChNiej0aDfo3lCEFaACKBv+6irHJrl27WLt2LUePHuXll1/mz3/+M7/85S+dxnz00Ue8/PLLHD16lLVr17Jp0yaHz3v11Vfj7e3NtddeS3p6Ol9++SWrV6/m8ssvZ9IkPe3zV7/6FU8//TTr1q3jyJEj7Nu3jyeffBKAhIQENE3j6aefJjc3l7/85S88/fTTQ/b+iouLuf322zl8+DAffPABf/jDH5ze33nnncfbb7/N1q1bOXjwIKtWrXLqcr1r1y5+85vfsHfvXgoKCvj4448pLCw84w1QlRj3giY1KtryKKv3ZfK4IP1iVybFAAoESc1uUUSD8Bi8dxvplcA4jyj212xlUewEalpb+b6sQn/91BTIL0CekFbkIAawHPerFYo77riD/fv3M2PGDH7961/zyCOPcMUVVziNeeihh/jwww9JS0vjhRde4PXXX+ess84CwNvbm88//5z6+nrmzJnD8uXLmTdvnsNqALj55pt57rnnePnll0lJSeGiiy7i4EH9N7i0tDSeeeYZnnrq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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "bins = np.linspace(0,15,50)\n", "max_value = -np.inf\n", "\n", "for idx, region in enumerate(region_dict.keys()):\n", " \n", " data = units[units.ecephys_structure_acronym.isin(region_dict[region])]['d_prime']\n", " \n", " max_value = plot_metric(data, bins, 'd-prime', color_dict[region], max_value)\n", " \n", "_ = plt.legend(region_dict.keys())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's a summary of things to keep in mind when using `d_prime` in your analysis:\n", "\n", "**How it can be biased**\n", "* Like isolation distance, d-prime is not tolerant to drift. Since a single value of d-prime is computed for the entire session, the d-prime value is actually a lower bound on the true value of this metric computed at any one timepoint.\n", "\n", "**How it should be used**\n", "* d-prime, in principal, gives you an estimate of the false positive rate for each unit. However, more work is required to validate this." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Nearest-neighbors hit rate" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Nearest-neighbors hit rate is another PC-based quality metric. It's derived from the 'isolation' metric originally reported in [Chung, Magland et al. (2017)](https://www.sciencedirect.com/science/article/pii/S0896627317307456?via%3Dihub). This metric looks at the PCs for one unit and calculates the fraction of their nearest neighbors that fall within the same cluster. If a unit is highly contaminated, then many of the closest spikes will come from other units. Nearest-neighbors hit rate is nice because it always falls between 0 and 1, making it straightforward to compare across different datasets." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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x47lscce45e//GWHtO/SSy8lFosxZswYlFJcddVVrYLuHXfcwebNmznvvPNITU3l97//fauedkZGBl9//TVPPfUU9fX19OjRg7vuuovLLrusQ+onRGfQnRR0JTHlfpSUlHDjjTdy6623trmPUoq33nprj0B8JBg/fjzDhg3j6aef7vSyk+U9JI4MxiqNXgiWi0G5D3kRc0lMKYQQ+ySzF4QQohNFiPdPreYWI2O6+7F58+b97rOfIZrD2ty5c7u6CkIcHhLrLhzINM5DIT1dIYSATlnsBiToCiEE0DpVj165Cl1ZZUo5EnSFEAJaerpaa4znX0QvMGfRJgm6QggBO4cX/E0Qi8EBrDvSHhJ0hRACdgbdRm/85/S0fe3dbhJ0hRACduZH88bXSFEZGaYUI0H3ACilePvtt9vcXl1djVKqZfrV3LlzUUpRXV1tSn32lslBCHGImsd0GxI93TRzeroyT/cAlJeXk5WV1dXVaLFkyRJSUlK6uhpCHDW01juHF+qbhxfMGdOVoHsACgoKTC/DMAy01lit+78dRhYHF6KDxYivNNM8vOBwgMtpSlFJN7wwfvx4rr/+em655Rays7PJy8tj5syZhEIhbrjhBjIzM+nZs2er3GO7Dy8sWbKEUaNG4XK5OO6441i0aNFey1q4cCHHHnssLpeLUaNG8e2337Zsa04k+eGHHzJs2DAcDgerV69myZIlnHHGGeTm5pKens7JJ5/MggULWp139+EFpRTPP/88//Ef/0FKSgp9+vTZIzGmEGIfdl13weuF9DTT7kzr0J6usVCjazvyjPunssFy4sG9OK+//jo333wzixYt4r333mP69OnMmjWLM888k2+++YZXXnmFq6++mgkTJtC9e/dWx/p8PiZPnsy4ceN45ZVXKC0tbZW/bFe33norM2fOpKioiPvuu4+zzz6bDRs24PF4gPhi4A888ADPPfcceXl5dO/enSVLljBlyhRmzpzZkmX4rLPOYv369eTk5LTZpvvvv58//elPPPzww7z44otMnTqVU045hZ49ex7UayNEUmpewNwJ2us1bWgBkrCnCzB06FDuvfde+vfvz80330xubi52u51p06bRr18/7r77brTWfP3113sc+8YbbxAOh3n55ZcZNmwYkyZNaklaubu77rqLSZMmMWzYMF5++WUCgQBvvPFGy/ZYLMbTTz/NT37yEwYMGEBaWhqnnXYaU6ZMYfDgwQwaNIinnnoKl8vFRx99tM82TZkyhcsuu6wlyaXNZuOLL744tBdKiGSRCLotsxdMDLod2tM92B5nV9k1MaVSivz8fIYPH97ynN1uJysra6/JKpuTTKamprY8t3tSyr09n5qayvDhw1slhbTZbBx77LGtjqmsrOSuu+5izpw5VFRUEIvFCAQCbN269YDbZLPZyMvL22eyTSHELnZN1eP1ogb0M62opLyQtrdkjV2RrNLpdO5x4eyKK66goqKCGTNmUFJSgtPp5PTTT2+VgHJvDqdkm0IccRJ/XtoSg6YmGV44nDQnmfT7/S3P7Z6Ucm/P+/1+fvjhh/1mSvjqq6+46aabmDx5MkOHDiUtLa1VUkghRMdrSdUT9sW/StA9fFxyySXYbDamTp3KypUr+fTTT/njH/+4130ffPBBPv3005Zkjg6Hg0suuWSf5x8wYACvvfYaq1atYsmSJVx00UU4HCanJxUi2YUSX4MNACiTbgEGCboHLTU1lQ8++IB169YxcuRIbr31Vh555JG97vunP/2JW265hZEjR7Ju3To++OCD/d7U8NJLL+Hz+Rg1ahQXXXQRU6dOpaSkxISWCCFaNPd0/ebeGAGSmFJ0IXkPicOFsVCj14HqPR/9j7ewPHgfKvOQ1l6QxJRCCNGmMPGZCw1eUArSUvd3RLtJ0BVCJD3dHHS9jZCSgjqA2/HbS4KuEEIkgq5u9EKGeeO5IEFXCCHiF9KahxdMWtKx2SEF3SM59bjoWvLeEYeV8M5bgJWJMxfgEIKu3W4nEAh0ZF1EEgkEAnvcRSdElwmDdhBP1XO4Di/k5+dTWlpKU1OT9FrEAdNa09TURGlpKfn5+V1dHSHi8SsMqAhEY6blRmvW7rUX0hNd8LKyMiKRyH72FmInu91Ot27dWt5DQnSpKKBBxYLxGxPSzH1fHtKCN+np6fKHI4Q4sjX3GaPx4VJ1uA4vCCHEUaF5hbFI82I3h/HsBSGEOOI1r5oaMn+FMZCgK4RIds1BN9AAdju4XKYWJ0FXCJHUdHPQ9ddDerppCSmbSdAVQiS35qDrqzN9PBck6Aohkl3z7AVvtenjuSBBVwiR7ELEV7+tr2m5BfivG+5kcfWHphQnQVcIkdwigF0nElKmETaCbPItJxjzmVKcBF0hRHILA7ZE5uz0dBojNQBk2HNNKU6CrhAiqekwYIkB8bvRGsLVAKQ7JOgKIUTHi0DLFIaMdLyRRNCVnq4QQpggBOhEDvb0dBoiVfFvJegKIYQJIkAsmEhImYY3Uo3Hmo7d4jCluENaZUwIIY54YSDmh7Q0lMVCQ7iaDEeeacVJT1cIkbS01vGebsjXcmOEN1Jt2tACSNAVQiSzCKCBQGNLmp6GSJVp08VAgq4QIpntssKYSk8nFAsQjPmlpyuEEKZoXnfBX9dquliGSXN0QYKuECKZNfd0o4Hd5ujKhTQhhOh4zUE3FkClp9MQjs/RlTFdIYQwQcsC5rFgoqcbX3dBafPW1ZWgK4RIXrv0dEnPoCFSRYotk4HPvMSdn88zpUgJukKI5LVrTze9+W60bLyhMD1NWtBcgq4QInlFAAzwOFA2Gw3haoxYfGhhcG6OKUVK0BVCJK8w8cVuMnbejdYUimcDHmRS0JW1F4QQySsMGEFITycYayJkNNHks5PtdpGf4jGlSOnpCiGSlg4D0QAqIx1vYknHbfUwMCfbtFTsEnSFEMkrDIT98XV0Exkj1ldHTRvPBQm6QohkFjLi08Uydi5evq1BmTaeCxJ0hRDJLKTjwwvpGYkbIxS+oEN6ukIIYYrmrBEZ6XjDVVh0Koa2SE9XCCE6mjY0xKxgBBK50aqJRFNIczgoSks1rVwJukKI5NS8rGPLugvVNDQ5GZhr3swFkKArhEhWzbcAW6Jgt+ONVLOj0WLqeC5I0BVCJKtE1nWcimDMT9gIUuE1dzwXJOgKIZKVL/HVHaU+UglAQ8AlPV0hhDCD9ia+SdE0hONB1xtwMSgn29RyJegKIZKS9gKRRlSGh/pE0A1HUumZYc6Sjs0k6AohklN9DELVkJFOfaQSw7DSM60bVou5YVGCrhAiOXmJB930dBrClfiCbgblmpcbrZkEXSFE0tFRDUELhKpR3fKpCVVQ47czKNfc8VyQoCuESEY+AAXhGuheQF2oAm/AxZA86ekKIUTHa5m5ECNiiRHWPhqaXAyVoCuEEB1PNya+yXO1LOkYDKdQkplhetkSdIUQSUfXRiEagMKcluli2c4CLCauudBMgq4QIvlUhyFUjaVHUcvdaD3TijqlaAm6Qojk41MQrobCQsr9pcQMxaCckk4pWoKuECKpaENDxAmxBsjMYLuvlMagk2F5eZ1SvgRdIURy8QFYICWGUoraxHSxoRJ0hRCi4+kGHf8mxw5A0KglFE6hW4qnU8qXoCuESC47/PGvhalEjQgWqx+3xdxsEbuSoCuESCp6RwCMMKpnHg3hapTS5LgKOq18CbpCiOTiNSBUgyosYF39ZgB6pvbotOIl6AohkkvQAXhRDgc/1m0GYGB2704rXoKuECJpaK1Bp4I7CsB233YARub377Q62DqtJCGE6GK6NgQWJ2TG+5u1oQos2kmOJ7XT6iA9XSFE8thYA4DqFp8eFtK1aMPc9Dy7k6ArhEgaep0fdAyG5hOJxbBaG3FbzM3+uzsJukKIpKANA7yZoHdgyfSwprqaVFeQXGfnTRcDCbpCiCShV5WCIw+K4hfRZm36AZtVMzinT6fWQ4KuECIp6O/rAVAnxHu2C8q+B6BvhgRdIYToUNowoD4ddDWWXBdV/iYaohtBQ5FnQKfWRYKuEOKop1dvAVcxFEQAmLVhI4VZXtLtxbisnbPQTTMJukKIo55eWg3KghoVTzz5wdr1FGd76Z8+rNPrIkFXCHFU07EY1KYBjahudoLRKEsrV+GwRemZMrjT6yNBVwhxVNOr14OnD+QHUUoxb8s2stLiN0n0SBnU6fWRoCuEOKrpL7eAxY46JhuAf6/dQK+cRtzWdLIdhZ1eHwm6Qoijlt6yFYLFYA2iiqxorflg3Qb65DXRM2VQpy1cvisJukKIo5bxyULIGIwabENZFEvKdlAXqsPpqKeHp/PHc0GCrhDiKKXLy6EqC9CoofEFFR+dv4j+eU1A14zngklB1xupZkXdPMKxoBmnF0KI/TI+/hxyx0BhDJWiWFJWzgfrNnDOEDcWLBR6Om8N3V2ZEnS3+dfw9tZHqQ2XmXF6IYTYJ11VDRsiYEvDkujl3jfva3LdbrpnNVDg7oPD4uqSupkSdDMc8fzx9eEqM04vhBD7pN/7AHLHgseAIvhyyzZmb9rCzWNHURFcT48umJ/bzJSgm2nPB6A+XGnG6YUQok16xQ/oVdshrT9qkAUU3DvvawpSU/j54AzCRpAenq4ZzwWTgm6KLRObctAQkaArhOg8OhDEePNtKPkZKI0aAO+tXc/87aX8109OZHXjPKzKRu/UEV1WR1OCrlKKDEee9HSFEJ1Kv/8BNClIPQ7VX7EuUMevP5jFMd3yuHh4H5bWfsawzJ+Sas/qsjqaNmUs055PgwRdIUQn0Rs3ob/8Go6bAkrhGxzmP976fzitVv554c/5oeFzwkaAE3PP69J6mhZ0Mxx51EfkQpoQwny6qQnjldcgtzdES2Cg5srZH7KxvoE3zj+X4vQUFlW/T6+UoRR6+nVpXc3r6Try8UfriRghs4oQQgi01hivvgF1dXD8r9AWuKNqHh+t38jjE0/l5J7F/OhdRH24ost7uWDy8AJAg0wbE0KYSM+eAyt+gLMvRlek8L+WdTz1w3f8109O5JqRxwCwoOo9Mh3dGJQxpotra+rwQmLamMxgEEKYRK/fEJ+Te9yxhKPHEiDK9NLZPHXmBO4Z9xOUUpQ2rehJEX8AACAASURBVGWL/wfG5J6NRVm7usrYzDpxpkPm6gohzKO9XoyXXoHcHGqO+Tk5y23c65/HcxdM4qz+fQFoijby9pZHSbVlclz2xC6ucZxpPd00ew4WLDK8IITocNowMP76KgQCbJ58IbbvXSyJlnP+Lwa0BNyYjvHWlkdoiFTxy5Lf47amdnGt40wLulZlJc2eI8MLQogOp//9Eaxdx/rTT2f1EhtOrOROdDOmeOei5J+UvcRG3zLOLvpNl6TlaYupSztmOmSurhCiY+mVq9Aff8rSkhIeWBvlZ44+BIdH6dc7fsODoQ3mVfyDhdX/y4m55zIy54wurnFrpo3pQvxi2hbfD2YWIYRIIrqmhvDLf2Ozy80vwza+7T6RWJZB9vHxFcO8kRr+tfUJNvq+Z1jmKZxReFUX13hPpgbdTHs+P0RqiOkY1sPgqqEQ4si0rqaWt5ev5OwPP6QwFOLqHr2YM/hy0mocWE4BZVGsaVjE/26bSUSHOLf4t4zMntgl6Xj2x+Sebh4GBt5INVmObmYWJYQ4Cv1YXcMfv1rA26t+5Kn6WoYEAnx6+mn8e8QkUuY5UMdCJCPErG1/4dvaWRS4+nBhr9vIc/Xo6qq3ydyerqP5BolKCbpCiANWHwzyfz6by+srVuG22Xitez7nlW1DnTGRSWeehfEvIBNK+63lX2sfpzZczsl5F3JqwaXYLPaurv4+mT68ADJXVwhx4JaUlTPlXx9Q2ujjptEjuQNN6v++DwMHoM7+GXoBaL9mweh3mb3pFdLtuVzZ9yFKUod3ddUPiOnDCyB3pQkh9i8Si/HMN0u5e86XFKSm8Nll/8kJS76J3+Y7ZDCWqVdgbNLwo+Kb7h8yO/Y3xuSey2kFl+K0erq6+gfMlKCrGzR6E9iGOUi1ZcoNEkKINvnDEV5etoKZi79hu7eRswf05YXRo0j74EP0DytRp5xM7Bdns3r7Evp+eTw7Ujayovccft3ziS5fMaw9zOnp1oP+DlT3+LQxGV4QQuxqS30Dn2/ewpzNW/ls4xbqgkF+0qOIl0Ydy9jVq+HRJ8BmI3bBOSwdFmDRmmn854rfE7NGiI4LcVW3R7EoU28zMI05QTc+qoCuhMy0fHYENppSjBDiyBGJxXhv7Xr+7zfL+GrbdgAKUlM4q38fftu9G0O/+w5efwOcTvTp41h6PHzpfY3ANh+XbLuH3GAxljMV/QtGdnFLDo0pQVd5FKRqdBVk5OTzo3cRhjaO2P9MQoj2q25q4sWly3nu2+8p9/koyczggVN/yuR+fRkYCqLf/zd8/DG43aifTWLLmFw+qnmFiprNnBj8OadtnIIt4ECNAUvh4Tfv9mCZdiFN5SV6uiPyiOoI/mgDaV2Yl0gI0XkMrfmmbAevfL+CN35YTTAa5fTevXj6ZxOY1Lc3Fr8f/cGH6PkLwe2Gc86i7IQCFtd9Ru2PZQwIjeGS0L2kledAJlhOB5V/5AdcMOtCWmkZurQSwseQEykC4nN1JegKcfTa4fOzpKyczzZu5v21Gyj3+XDZbFwybDA3nDCSIXm56Ooa9HsfYHw1Hx0OUTNhBFV9e9NUFqDbp3bO9f8WC4m7V12gjgV1DCjr0RFwwbQLafWw/HMYdAy5jT0BqA5tpzhloCnFCSHME4nFWFK2gy+3bqOqKUAwEiUQjT+C0SiBSJQNdXVs8zYC4LHbmNinN+cN7MeZffuQ6XLCho00vP8Pyqq/pywvRNm5dgLODE7behyDFx+DQYymrEboY2DpZoUcwMNheRvvoTIn6PbrC5EdQIy0+mxsLjsVwS2mFCWE6Hhaa+Zt2cafv1nKnM1b8IUjKCDd6cRls+Ky2XDbbLjtNlw2G2OKCrlxdHeO717AcQX5uO12AhEfW1a9z/ytn7MxbQfVoyIAOGIuflZ5PcM3jMewRfGfUEfawCwyHMnxSdicC2lOJ/TuBeEKqCokr39PKgKbzChKCNGBoobBu6vX8uSiJSzdUUm+x8PFQ4dwau+ejOvVg2y3u81jQ7EAW/0r+bLqEzbXL6UstAlt0dgKLfTSvTgu/6eUWEdQML8/qtaCGgi2UQ6cLmcntrDrmRJ0v9q6nXXBMJf714GrOwVD+7DO/40ZRQkhOkBTJMLfvv+BmYu/ZXN9A/2zs3jmZxO5ZPgQXLa2w0RtqJwV9V+w3vst25t+xCCGRVsoqnRycmUuJf3OoOeon+Owu9GVGmM2EAXLRFA9jr6hgwNh2uyF55uCXB7bDMY4SiLDWRr9FH+0gRRbhllFCiEOUDAaZdmOShaVlrG4tJx5W7ZSEwgyuqg7fzp9HOcM6IeljfHU6lApPzYsYmX9l5QG1gFQ6O7PWNcEei2opufSOuwDh2C5+CJUVmY8RfqPGr0Q8IDlTFBZyRlwwaSge1JxIWUZ6fjKS0kFCn39wQIVgc30STvGjCKFEPvgD0f4cus25m3ZxsLSMr4rryAciwHQKyOdiX16c/XIEYwtLkKj8UfrqA9X4o1U44vW0xT14ovWscm3nJpQKQDd3X2Z2P1XDFUjyJi1BL14CaSmoC66FHXiaJRS6LBGfw16E1AIlvGgXMkbcMGkoGu1WJg8sD+flX/BedFGMurzIRsqghJ0hTBbfTDI2po61tbUsra2lsWl5czfVkrEMHBarYzs3o0bTjiOMUWFjCkqpCA1hZiOsalxGe9s/TtrvAuJGKE9zuuyplDkHsCY3LMZoIaSsaoM/eFS2PAV2mpBTTgNdcZElNuFNjR6m8ZYCPhBjQI14uicjXCwTBteOHdAP96dv4Cf+zZhqxhCSn6mXEwTogNprdlU38D8baUs2F7KyqpqNtTWUx0ItOxjs1gYkpvDDSeMZGKfEsb2KMJlsxGM+akKbmNT02d8WbOGzb4V+KL1uK2pHJN1Kt1cfch05JFuzyXVloVLu7Gu24Beuga9dhWUzUYDFHRDnTUJNfoEVE4OukljfK/RPwI+IBUsk4+eGxs6gmlB99SSnvxXajr4t0DTCHpah1AR3GxWcUIc9SKxGItKy1mwvZTFZeUsKS2nwt8EQKbLyYj8fM4d2I++2Vn0z85iYE42vTMzCBoNbPGvZIvvQ17dtJ7aUDlNMW/LeTPseZSkDmdoxk8ZkH5CyyLgOhaD1WvQ381Hr1iBEQiC3Q59eqPOHYUaOgQKu4M/PnxgLNDQvLZVd7CcAPSKp9IRO5kWdJ02G8MH9mf7N1spBgY0jebftj9j6BgWyZcmxD5prakJBFhXW8ea6ho+3biF2Zs24w2FAeifncXpvUs4sbiQscVFDM7LQROjLrSD6tB2KoLf8F3jBv5dsaFlPWuHxUWhuz+DM8aS7Swgx1lEkWcA6fac1mVXVKAXLEIv/ga83viaCCNGoEYeCwMGoOzxsKGbNHoR6DWAAeSAGgmqBFSmBNq2mLqI+bkD+/H+wsVcF/XTs2oI0YIwtaFycl3FZhYrxBElEInw3tr1zFq/iXKfjwqfn3Kfn4bQznHV7qmpXDB4IGf27c1PehShrXVs86+iMvgN3/v/l89ry6gNlWMQazkmx1lEccogRrvPpiR1GAXuvi0JYrXW4AdqwPBrqPWjyzbAumWwdRUQgWFDsJw4BoYMRu0ybUzXafS6RLCNgRoAajiodAm0B8LUoDupb2+ucru4vn45GY4TsOU7qAhulqArkkLUMKgLBKkLBjG0JsftJtvtIqY162vrWF1dwxdbtvHPVWtoCAUYnB+jR6aL47IcnO520T21kJKMfHpn5JLi8lIe3EB502Je3LQGf7QeAJtykO3sTp6rJ4MyTiTP2YNcVzF5zh44LG5o8MZvy/dG0U2bMOpc6DoPeFMhumsusRRgBGSPgGwgxUDlW+LjtmtBGxoioLcCNYAC1RvUcaAyJNgeDFODbrrTCQMH4P1hOem5J9Gv4Xh2BDYxNPNkM4sVotM1RSIs21HJkrJyFpWWs7i0jNJG3x77KcCiFDGtAeieEeKi4wPkZm4grL2t9vUCywPxR7McRyH90o6jZ8pQeqUMJcdZhAqGobYWqmrQlVVQtQy942OMHTVANqT1hfShkNITlAWiPvCuAN8GsAagMA16FaD6DEVZ0tENQI0FXQXsfu07G9QYUH1AuSXYtoepQRfgrMEDeGnZCqZFfRzbcDrLgp+aXaQQpglFo6yqrmFdTR0b6+pZX1fJmpoyNtbXoCwxLEpTlJbC+L659MrMJs1pJdWh0ERoDAdoDAfQykeqp4aYKqPJqMGChT5poxmW+VNSbBnYLA4sWAkZAYIxH+FYkNxYMXnV3XCUGei6EPjCEIyiIxvQ0QjxQVUFdANbEaTmwMDsxHNAahCV0wB5IciKoWyF4OoDmZl7TOPa9Scd1vFTW+IPZZNAe6hMD7rnDezPGRnpTK9fQW/HcXzmf9nsIoU4ZJFYhC3eKtbUlLG2bgebGioo823Db1SR4W4iwxMkwx2kqGeEop5w+l7OEQXqgDoj8YSNlr84m72Anu4h9HD2Y2hjH1LW1UKZF0JBiLlBp4AlDSwFYE0HS3zNA60NiDWBEQRrDFxWsNnBagebDew2sFjiyyLmxh/kgXK7gbbXTWiLckiQ7WimB91st5vTR49i2RerOTb3JHJqignFmo6o7J3iyKK1propwKb6BhpCISKxGFHDQCmF2xZfFcvQmoqmKiqC66mLbMEXrSKqarBYG7FZwzhs0Z0ndEB2XvyhtQWnyibL0ZPuKUXkOAtwW1OxWRzYlB2rsiV6jgqrsmG3OLEpB1Zlw+oLYauowVXegLu0Fl1aDtVLIDMG+aeAqxvYiT90BLSP+GTXzeAIQa5GFbpRPbpDZq7caHCEMj3oAtw0ehR3fLmAFw0fQ+p+QmVwCz1SBndG0UkrpqNs9v3AmoaFbGj8jhxnESfmnUef1GOOyD9WQ8eIGCH80QaqA7VUBWqoDzXiDQdoCPmpClRRF6oiYNQRMQJYLFFsVoNYzII/bKcp5EBrhcMexWmLkukJkpUSiH9sdoKBk0g4HRUtxGJJRVlTSXNkUJSaQ0lGPt1Sssm055PuyMOqrOhQCOrqobYO7fdDIAjBIBhhsFrRFiv4glBXBd4oNDSCvwFiIbA60bkDoOBkKOoB2h7/yD8UVDaQCjjtKJVN/KqWOJoonRjQb8M+Nx6MG97/iAfXp+PMOpYPTn6KC/vedtjO1zW0wYbG71hS8xGNkVr6pB1D/7Tj6ZEyCKtq+/+U1pqGSBU7AhspD2ykJlRKN1cJA9JPIN/Vq1OCXXnTBr6r/ZQV9XMJxHzYlZOS1GGUBTbgj9aT7+rJmNxzGZE5HofVZUodDG3gi9ZSGyqnNlSOL1pPIOYjEGvEgpUUWwap9kzsyklUR4npCIFYIzXBHZQ1bccbqSVqRIjpKBBFqRgWi7HfckMRO0YsFbvy4LZ5SHW4sVkMwtpH2PCidRR7zIE9aiU15KLIn01Pbya9fBm4bB6wZ4ItA6w2sNjAaoFIACJ+CPmgsQG89VBfB/5dLpLZM8GZA85ccBeCpzj+1WJvu7IAaaDyQQ0C8uUW2aNMm7/MTgu6a2tqWfLM+1xUfDnf5XxCw/AKTu895ZDfaE3RRmpC26kPV2JgoLWBVdkoSR1Omv3gegneSA3f137Ot7WzqAtXkGLNIMfWje2hDRjEcFrc9E49hr5px1HsGUhURwjHmmiM1rLZ9wObfMtpiFQBoFCk2XPwRqqBnXf99PAMotgzEI8tA0NHiRFDawMdi6FDIaJhH4GQl2DUS1A3EbLFCFljRK0GFmWNP7DEp+ygMLSBP1pPY6SWmlAZVaGtWJWdwWljGOoeQ3qwBzsqG/CkuQhmbWFRwyx2BDfisqRwbPYE+qWNxKKsKBQRI0hDpAZvpJrGSC1N0Qb8sQYC0UbCRoiIESKqI6BBowGFBTsKJwo7hhEiRgitQqBaB0lLzIo9Zgc0MWsMdyyDlGgGKZEMPNFMnDE3sbCVSNhCKGLgpZqgtRatfKQYVlJjTtKjbvLDxeRGC8kwumGLKayxKJZoBHsoiC3kj1+Z14DNCVYnYAGt4w+MeE/UiICygzsXPPngyAV7Llg6YF1Xu4ZsHe+5ZlpRqfHxVaxAJPGwALmgnBJkj2JdH3QBbnr9Lf57ewG2vJOIWiJUFW+guPdQCEagKRS/iBD2oYMN8T8eiw9lxIjoEH7lx6+aqFN1lNsqKXfVUOn2EnSA3XBi1TaCVj8xS6SlvCJrCQOzxtI9rT9ZjgIyHHlEjBC+cB2+QD2hQC0hfxUhfy3rIyvZ4NiG0/AwsKIXIzf2pdDbA4tyEIlWUp5dydqCrazsvomGlD0XA3HHnJREetA71o/iSAk54W7Yoy4CYT872EGltY5GWwSlHDhjbix6Zy8/aG2iwVFJvbOSekcFPnsderegZY1a8MTS8cSy8ETT0IBWBhoDa8TAETbwBDX9ynLpU1GAU2WCPQPs6fGvOgIRL5Gol5rUJrYXNFKR5cWqHaRFskmNZJESzcQdTccTTcMecxJRAcIqSFA34VdevDTgo5EoQTRhIEyKcuCxOHHhxm2k4oqm4TRSsMds2KMW7DELNu1AWVxgcaJtHpT14C/o7EEHAA3KSjyitWOkTAEeIB1UJpAJKj3xD0XHEsHaBlEVD5Yx4lfyY7ucQ8fPodKANCBFeqwCOFyC7nflFfznX/7KA1EXY/qPpGd4LIq207IbxKh3VuC11xC1hIlYQli0lfRwDunhXNyx9Hivb9djdATDaCJoqafOXUudpx6b4cAV8+CMpSR6V5nYtbOljJC1CYu24jQ8u53LIKpjOHb5mBg1AgRjO/Bbd2CNKWyGDbvhwK0zsdizwZ6639fB0DEMFWt5dW3K0Wp7VEep114COoRHO3ErFy6L66BT2Bs6RsgSRNuj6JjGFnXgVHtewDR0lKDhJRxrJBppgmgQi47hsDqwKSc2iwuLLRVlS0ft4yOzVhGwRlE2A6wKLImHzQJORdRuIeLQRBwxwvYYyqXIznJisUchGoJoBCIxiGgwPBBxocO2nXHVmgiOWXvOEdUxDSHiD4jH4ObjWhpKPGBGifc2U46uhIfisHJ4BF2A+dtK+fM337F4zSqu7VuB02WhSUdp0lEihhMdS0PH0kg3cigy8ulhdCPDSMduOLBrB1EDSmMBalQQnzWCsoHVrrDbrLix4TFsOKNWUoKQHbWTbXWhCRNVfqLWJgKGj8aon/poEz5tI4IHQ3moMSxU6jA4NNoDOkOTmu3AZrdQXxfEaNCk+B0URVPpRxYl1gwiGIR1jCAxqmmiwRogYg0StkWJOQxiDoMaYuyIhKgKNtFohAmoKBEM7DYLLpsNh9WKCytZURfZhos8w0MBKeTrFDzaTpOKxB+WCI3WCI3WEAFrFLvVgtNiw2mxkmK147HaSbHaKchJoaR7BvaUxLSh3Xpd2tAYYShr8LGxug6fESEl1U6G20mO201hWio2y96Du9YaHQEVH2qNBzAb4ADssrCJELs4fIJusx0+P/9ctYamcASPw06K3U6600GWy0Wmy0Wqw47DasVhtWK3WLAlHs5EUrwDYWhNuc9Hlb+J6qYANYEAFqVwWq04bbaW81qUItfjpiQz44DOHYnF8IbCuGw2nDZrm0FKCJG02hd0lVKzgNx2FpoLVLfz2CNZMrY7GdsMydnuZGwzHHy7q7XWZ+5tw/56uu2mlPpGa328KSc/jCVju5OxzZCc7U7GNkPHtls+FwshRCeSoCuEEJ3IzKD7vInnPpwlY7uTsc2QnO1OxjZDB7bbtDFdIYQQe5LhBSGE6EQSdIUQohNJ0BVCiE7U7qCrlPqNUmqTUiqolPpWKfXT/ew/LrFfUCm1USl1XXvL7koH026l1PlKqU+UUlVKqUal1CKl1LmdWd+OcLC/612OO1kpFVVK/WB2Hc3Qjve4Qyl1f+KYkFJqq1Lqt51V347QjjZfopRappRqUkrtUEq9ppQq6Kz6Hiql1ClKqfeUUqVKKa2UuvIAjhmulJqnlAokjrtbHcwqR1rrg34AvyS+7tI1wGDgKeJL3PdsY//exBM+P5XY/5rE8Re0p/yuerSj3TOB/wJGA/2Ae4ivWPDTrm6LWW3e5bgsYCPwMfBDV7ejM9oNvAssBiYCJcAYYHxXt8WsNgM/Sbyff5f4Gz8R+A6Y3dVtOYg2nwU8BFwINAFX7mf/dGAH8E9gWOK4RuCWAy6znRVdBLyw23PrgIfb2P8RYN1uz/0FWNDVL7qZ7W7jHIuBx7u6LWa3ORGA7gHuPUKD7sG+x88AGoDcrq57J7b5VmDLbs/9CvB1dVva2X7fAQTd64knanbv8twfgFISs8H29zjo4QWllAMYBXyy26ZPgLFtHHbSXvb/GDheKbWf5fUPD+1s996kEc9XeNhrb5uVUr8BugEPmlc787Sz3T8HlgA3K6W2K6XWKaX+Rym1/7U+DwPtbPPXQHel1DkqLhe4CPjQvJp2uZOAL7XWgV2e+xgoJP7pZr/aM6abS3yV0ordnq8A2hrLKWhjfxvtX1Cns7Wn3a0opW4AioFXO7ZqpjnoNiulhhPv4V6mtY7tbZ8jQHt+132Ak4FjgAuAG4Ezgb+aU8UOd9Bt1lovIB5kXwfCQBXx1bWuMK+aXa6tWNa8bb9k9kInUUpdADwKXKK13tLV9TGDUsoJvAncqrXe1NX16WQW4kuhXqK1XqS1/ph44L1AKdWta6tmDqXUEOLjvg8Q7yWfSTzwPNeV9TrctScbcDXxwfPd30jdiA8w782ONvaPcuQsE9eedgOglLoQ+Btwudb6fXOqZ4qDbXN34hdgXlZKvZx4zgIopVQUOEtrvfvH18NRe37X5UCp1rphl+dWJ772ZM/e0eGmPW2+A1istX408fNypZQf+FIpdafWers5Ve1SbcWy5m37ddA9Xa11GPiW+BXaXU0E5rdx2II29v9Gax3Zy/6HnXa2G6XUfxIfTrhSa/22eTXseO1ocykwHDh2l8f/BdYnvm/zdTqctPN3/TVQuNsY7oDE18P+k0072+yhdcY4dvn5aP0UvQD4qVJq11TaE4EyYPMBnaGdV/l+SXwM52riPZuZxK/89Ups/xvwt132b54y9mRi/6sTxx+JU8YOpt0XEZ+CM434x67mR3ZXt8WsNu/l+Hs5MmcvHOzvOhXYBrwFDCU+neoH4K2ubouJbb4y8f6+nviY9k+IX0z8tqvbchBtTmVnB6EJuDvxfc/E9ofZZQockEG8R/sP4lPGzic+m8HcKWOJwn9DPLKHiP+HPGWXbXOBubvtP474HL4QsAm4rqtfcLPbnfhZ7+Uxt7Pr3Vlt3suxR2TQbU+7gYHEr/Y3Ee/1PwOkdXU7TG7zTcDKRJvLiV9UK+7qdhxEe8e38Tf618T2vwKbdztmOPAFEEy0+R4OcLqY1lpWGRNCiM50tI67CCHEYUmCrhBCdCIJukII0Ykk6AohRCeSoCuEEJ1Igq4QQnQiCbqiSyml7j3YRc6VUnOVUk/vZ5/NSqlbD612HeNA6nI41VeYS4JuB1JK/TWx+vxduz0/PvH8Yb+iWnuC4CF6jPiNM8nuBODPzT8k3i8XmlVY4r36gVnnF22ToNvxgsBtSqm8zi44sSbqEUVr7dNa13R1PQ6EUsp2UGlZDoLWukpr3XSo5zkS3wPJRoJux5tD/DbKu/a1k1JqiFLq34ncaZVKqb/vmltKKXVCIr9atVLKq5T6Sil10m7n0EqpG5RS7yZWd3oo8fw5amc+uk1KqT/u+seo4rnblidyPNUm8j11S+SHugcYmjh3mzmjlFIlie0XKKU+TeTIWqWUmrjbfvtrZ6uedSKwzVBK1SUeM5RSzyql5u5WBYtS6qHE61OplHpMKbX7+zlVxXN2+VQ8f1erj+9KqZ5KqX8l6taYeB2Ld6+bUupKpdQG4rfGpqh4Xq2FifM2KKUWK6WG7e112oVLKfVc4ne5XSl12251aRleUEptTjz9VuI13kwb9vYeUEpZlVIvJn73ARVfUP3/NL8+Sql7ia95O3mX3/P4xLYipdQ/dnn9/62U6r+ftomD0dX3Ph9ND+L3aX9APO9SGOi72/3duYmfuxNfSu8R4guLjADeJ54uxZLY5zRgSmL7IOBp4hkncnYpTwOVxBco6UN8YaFJxBfg+BXQFzgV+BF4LHFMQaJutxBf6X5Y4vhugJv4x/017Fycx91GW0sS5a8BzgH6w/9v71xDrKqiOP77W/ahjDByKqI0IXwgffBRVqJFJkhQGqYoEqSJRRlYUpYPbCpSc3oQQpkUQu+QCLSXlhTB1DRpRlhNIbcHolnmlAUpufuw1ozHfe+dOfc6c8dk/+Aw5+6z79577b3Puvs1a7EO+A3oU4Gcy8jYZsB8yv2OGQIfhBldaaXYpkUrUI9Z8pqKmQmdnolT8HpY5HHmutw3+PNewDbMgtZIvz4BmqH93+OXYYaa3gOGe12d7OVb5fU7GJgBDOmgXxS8Xu7AfOXN87q7LIqzwO/7+fNbvA36dZB2qT7Q2+tmlLfTVGA/MNu/0weze7wp086nYFbDWrB+fLHLthazknZqT79fJ8rV4wU4kS7vrBv8fgvwit9fydFKt57IeR/myDEAl5RJW5hxjZmZsAA8FcX7CFgShU3CrEXJlUfALUeVyGcZOQzUcETpzs2EnedhY/LKGefnMi6M5P6WYqXbGKW7CVib+VwANkVx1gIf+/01mBnCAZnnA4HDwPhM2Q4BZ2finOnlH1dBvygAL0dh3wGLozgLoradkiPtoj5QJt5yYHOpvpoJm+XlUibsJOwHY2ot36UT+UrLC93HvcCNkkaUeDYCGOvT0wOSDmBmAcFGT0iq8+loi6RWzONoHWYQO0tzibQXRWm/BJyGjWi2A5uBryStl3SbOll/lvR0lF6WLzP3u/xvXV45o3zO8DI2tYUFe/Ob4rhRvm1510VhjSU+D/X7IcCuEEIhk9dOT2do5js/hxD2ZOLswxTWuz71vktSb7O8bgAAA11JREFU3CalyFPeaon7AJJuldQsaa/X+3yK+07MCGyk/GemvVqxH8qi9kpURzWeIxI5CCE0SVoPrMTcmWTpBWzEvKnGtL3g67Ap/3yOmNp7H5sGZvmrRNoPYHZdY/aGEP6VNAFzlz0BmA08ImlcCGF7GXGWYtPpUrQboQ8hBNk+U9uPeR45qyU2fh/ouj2KrOm9uH4JIdws6QnMPc11wMOSJgVz0VOO7izvUWWUNA2zXb0AWz75A7gdmNxJOr2ALzA70DH7jr2YCUhKt7u5H9iBvZxZtmLrbD+E8p4zxgB3hhA2Asj8bJ2bI8+twOAQwvflIvjosRFolFSP2UOdho2CD2JTymz8X7B1w0rJI2c2n1ZJu7G1yA/A/Pz451yuUCJGl/jc5kLna8zTw4C20a6kgZhX1x05yrodq68Vkt7GNqY6UrqVcoioHSpgDPBpCKH9LLOkeKRa1M5Ye00Hfg0h7K8y70QnpOWFbsQV3xrMc0SW1ZgF+lclXSppoKTxktZIOt3jtAAzffd/FGap/mCObOuBGZLqJQ2TNFjSFEkrASSNlrRYdjriAmykdj5HFE0B6C9puKSzZM4mqyWPnDFPAvdImixpENCA/dhUY/h5tKT7JF0kaQ5wE/C4P9uMTflflDRS0kjMAPdWXOGXQtKFkpZLulxSf0lXYZtOnSrqCikAV0s6R1LfCr/bAgyXNNFlX0LxWegCMEzSIG/n3pj8e4A3JY1zWcdKakgnGLqOpHS7n3psZ72dEMIuzLXJYeAdbKS5GltC+MejzcJ2mT/HFO5z5PDB5FPca7FTC01+LQR+9CitnvcGbNOkAXgwhPCCP18PvIUtZezFRj5VkVPOmFWYT7nnsdMEAG9g558r5TFMIW4DHgKWBvdT56P96zEZt/i1G5jkz8rxN3Ya4nVMua3DlNWKKsrXEXdjbfiTl78SngFew9byP8M2PRuiOM9io/1mrA6uCHZOeCywE5PvG0y+vtiJjUQXkDxHJI57JG3DTh3M6+myJBLHSlrTTRxXSOqPnTX+EDtvOgcbrc7pyXIlEl1FUrqJ443D2Nrro9jy1w5gYgih6FhUIvF/JC0vJBKJRA1JG2mJRCJRQ5LSTSQSiRqSlG4ikUjUkKR0E4lEooYkpZtIJBI15D+rlGb6wlQJnwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "bins = np.linspace(0,1,100)\n", "max_value = -np.inf\n", "\n", "for idx, region in enumerate(region_dict.keys()):\n", " \n", " data = units[units.ecephys_structure_acronym.isin(region_dict[region])]['nn_hit_rate']\n", " \n", " max_value = plot_metric(data, bins, 'Nearest-neighbors hit rate', color_dict[region], max_value)\n", " \n", "_ = plt.legend(region_dict.keys())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's a summary of things to keep in mind when using `nn_hit_rate` in your analysis:\n", "\n", "**How it can be biased**\n", "* Like the other PC-based metrics, `nn_hit_rate` can be negatively impacted by electrode drift.\n", "\n", "**How it should be used**\n", "* `nn_hit_rate` is a nice proxy for overall cluster quality, but should be used in conjunction with other metrics that measure missing spikes or contamination rate more directly." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Summary" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To summarize, let's take a look at the range of values that each of these metrics takes across the whole dataset:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAVUAAALACAYAAAAjT+FDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdeZwcVbn/8c+XsAgSQsIg4AIjgmFVMODKElBcQBERQVEhV0ExLriiqPcS3HC5ggj4E9BLQC8XvIoKyCZK2AVn1Cu7LAnITmBYAgmB8Pz+OGek0/Tsp6Z6Zr7v16tePX3q1KnnVNc8XXWqulsRgZmZlbFC3QGYmY0nTqpmZgU5qZqZFeSkamZWkJOqmVlBTqpmZgU5qdpzSNpa0qWSFkkKSb+RNOh77yTNkzSvwhDN2taKdQdg7UXSCsDppDfczwGPA9vWGlSNJG0G7A3MjYgFNYdjY4B88781kvRi4J/ApyPi6Fy2IrBiRCwZZBsrA0TE0soCHSWS9gL+F9gpIubVHI6NAT79t2YvyI+P9BZExNODSaiSVsv1l7ZrQpX0/LpjsPHNSdX+RdJcoDs/PSmPp86TNKd5TFXSAknnSXqjpKskLQEOyfOWG1OV1Jnb+pKkAyXdKulJSX+W9JyhBUnvkXS9pCWSrpW0p6S5khYMtT+5jU5JZ0p6FPhdnvcKSSflWJZIWijpNEnrNyw/i3SUCnBR7kPk8t4620o6R9IjkhZLukzSTkOJ08YXj6lao+OBW4GvAScAlwL3AW/oo/5GwC+BE4GfAncM0P4+wOp5PUFKwmdI2jAingKQtBtpTPda4MvAmsBPgLuG2acVgAuAq4EvAE/n8l2A6cApwN3Ay4CDgFdL2iIingAuAX4IfAr4FnBDXvaKHOuOwPnA30jb7Cngg8AFknbxcMEEFRGePP1rArYhJbxZDWVz0q6yXL0Fud7uLdqYB8xreN6Z6y4EpjaU757L395Q9ndSAp3cULZjrrdgiH2Zm5c7ssW81VqUvT7X/0BD2V65bGZTXQE3AheSr03k8pWB64Ar6n4tPdUz+fTfRuLOiDhzCPV/FRE9Dc8vzY8bAkh6IbAl8POIeKy3UkRcDFwzgjh/1FwQ6UiUvN7VJa0F/AN4GJgxiDZfSTrSPRVYS1KHpA5gDeD3wGt6x5htYvHpv43EbUOsv9zwQET0SAKYmos2yI+3tFj2FuBVQ1wfwDOko+rlSJoKfJt0JDqtafaUQbT78vz4037qrAU80c98G4ecVG0kFg+x/rI+yjXSQPrxVEQ83aL8F6Sx4u8DfwUeI53mn8bgLuD21vkSz17ca/bA0EK18cBJ1drJ7flxoxbzWpUNSz5KfRMwJyIObyh/Hs8eNffq60buW/PjYxFxYanYbOzzmKq1jYi4m3TV/wOSJveW56vsWxZcVe8Rc/MR8md47v/E4/mxOdl2k4YkPtsYay9Ja480SBubfKRq7ebLwG+ByyWdRLql6hOkZLt6iRVExKP5PtpD8qe/bge2I91l8GBT9b+SkvChktYkDXlcFRHzJX0YOA+4XtJ/AXcCL8ztCPD9qhOQj1StrUTEWcD7gJWAI4A9gX8DbgIG9THZQdoXOBv4KPA90pHozsCipnjuAw7M808E/oeUNImIS4DXAn8CZgPHAh8CHgK+UzBWG0P82X8bEyT9DXggInapOxaz/vhI1dqKpJXyF7g0ls0k3Rc6r46YzIbCR6rWViR1kj6l9HPSx0c3IX189BFgi4h4UNI00ieX+hQR91YbqVlrvlBl7aaHdGX9AGBt0tX33wFfiojei0hnkMc1+1Hlva9mffKRqo05kmbw3FucluN7R60uTqpmZgVVevrf0dERnZ2dVa7CzKyY7u7uhRExog9uVJpUOzs76erqqnIVZmbFSLp94Fr98y1VZmYFOamamRXkpGpmVpCTqplZQU6qZmYFOamamRXkpGpmVpCTqplZQW37hSrTpk2jp6dn4IoVicPWQIc/Wtv6qzZ16lQeeuihusMwG3faNqn29PRQ6/cSzJlS7/orln8a2swK8+m/mVlBTqpmZgU5qZqZFeSkamZWUKUXqrq7u31BpI35tbFG4/nC7GiqNKnOmDFj2N+n6n/46vmfyKw8n/6bmRXkpGpmVpCTqplZQU6qZmYFte3HVKHei1Vx2Brj+mLZ1KlT6w7BbFxq26TaDlemY07dEZjZWOPTfzOzgpxUzcwKclI1MyvISdXMrCAnVTOzgpxUzcwKclI1MyvISdXMrCBVeZO9pMeAmypbwfjSASysO4gxwttq8LythmZ6REweSQNVf6LqpojYpuJ1jAuSurytBsfbavC8rYZG0vC+ALqBT//NzApyUjUzK6jqpHpCxe2PJ95Wg+dtNXjeVkMz4u1V6YUqM7OJxqf/ZmYFOamamRVUSVKVNFvSfElLJHVL2r6K9Yx1kuZIiqbp3rrjageSdpB0pqS78naZ1TRfefvdLWmxpHmSNq8p3FoNYlvNbbGf/ammcGsl6VBJf5b0qKQHJJ0laYumOiPat4onVUn7AEcD3wK2Bq4AzpW0ful1jRM3Aes1TFvWG07bWB24FjgYWNxi/iHA54BPAtsC9wO/lzSiG7fHqIG2FcCFLL+f7To6obWdmcCPgNcDOwNPAxdKmtZQZ2T7VkQUnYCrgBObym4Gjii9rrE+AXOAa+uOo90nYBEwq+G5gHuArzSUrQo8Bny07njbaVvlsrnA2XXH1o4T6Q1pGfCO/HzE+1bRI1VJKwMzgAuaZl1Aemew59own2bMl3SapA3rDmgMeCmwLg37WUQsBi7B+1lftpN0v6R/SDpR0gvqDqhNTCadsffk5yPet0qf/ncAk4D7msrvIwVqy7sKmAW8FTiQtI2ukLRWnUGNAb37kvezwTkP2A94I+m09tXAHyWtUmtU7eFo4G/Alfn5iPettv011YkgIs5tfJ4vHtwG7A8cWUtQNu5ExGkNT6+R1A3cDuwGnFFPVPWTdCSwHbBdRCwr1W7pI9WFpPGJdZrK1wF8VXsAEbEIuA7YuO5Y2lzvvuT9bBgi4m7gTibwfibpKOB9wM4RcVvDrBHvW0WTakQsBbqBXZpm7UK6C8D6Iel5wCakgXLr23zSDv6v/Sxvu+3xfjYgSR3Ai5ig+5mko3k2od7YNHvE+1YVp/9HAj+TdDVwOXAQ8ELgxxWsa0yT9J/AWcAdwAuAfweeD5xcZ1ztQNLqwEb56QrA+pK2Ah6KiDsk/QD4sqQbgX8AXyVd+T61loBr1N+2ytMc4FekJNoJHEG6TejXox1r3SQdB3wQ2APokdQ7TrooIhZFRIx436roNoXZwALgSdKR6w513zrRjhNwGnA3sBS4i7Tjb1Z3XO0wke4njBbT3DxfpGRxD7AEuBjYou64221bkW4HOp+URJeSxlLnAi+pO+6atlWr7RTAnIY6I9q3/IUqZmYF+bP/ZmYFOamamRXkpGpmVpCTqplZQU6qZmYFOamamRXkpGpmVpCTqplZQU6qZmYFOamamRXkpGpmVpCTqplZQU6qZmYFOamamRXkpGpmVpCTqplZQU6qZmYFOamamRXkpGo2yiTNlbSg7jisGk6qZhWQtJmkOZI6647FRpd/+M+sApL2Av4X2Cki5jXNWwlYISKerCM2q5aPVCc4SavVHcNYIOn5pdqKiKecUMcvJ9VxIJ9mRj7lPFXSI5J6JB0vafWGegsknSfpjZKukrQEOCTPW0XSYZJulvSkpLskHdWcdPOyl+T2n5B0q6Rjm+oMtq2Q9GNJe0i6Nte9TtJbW/RxvdyfO3O9BZJOlDS5oc4USUdKukPSUkm3Sfp3SZOGuD3nSloiqVPSmZIeBX6X571C0km530skLZR0mqT1G5afRTpKBbgo9zNyecsxVUmTJH1F0i25f3dI+q6kVYcSu9VvxboDsKJOA+4CvgxsBXwEeAmwa0OdjYBfAicCPwXukCTg18COufx6YFNgNrC5pLdEREjajJRcrgHmAE8ALwPe0tv4YNtqiOd1wDuA/wc8BnwK+JWk9SPiwdzmusDVQAdwAnAd8ELgXcBawGM5+VwEdAI/BhYAr85xbgAcMMRtuQJwQV7vF4Cnc/kuwHTgFODu3P+DgFdL2iIingAuAX6Y+/It4Ia87BX9rO944MPAGcCRwDZ5vVtI2i08Tjd2RISnMT6REkcA55LHyXP513L5m/LzBfn57k3L7ws8A+zYVP7+XP/N+fnB+XlHP7EMqq1cFsBSYKOGslfk8k80lM0FlgGvabG+3usCXyYl+U2a5n8ltzd9CNtzbl7myBbzVmtR9vpc/wMNZXvlspl9tL+gRZ9P6uN1fXvd+5inwU8+/R9fjo3835j9MD++vaHszog4s2m5vYF/ANdJ6uidgItJ/9Q75XqP5Mc9JPW17wy2rV4XRcQtvU8i4u/Ao8CGAHk97wLOjYirmlfW0N+9gcuAhU3rvTDPn9lHvP35UYv1PdH7t6TVJa2V+/swMGMY6wDYLT8e2VR+FOnNZDdszPDp//hyc+OTiFgoqYd0StzrthbLvZx0SvtAH+2+ID+eTjpFPRH4tqQ/Ar8BfhERvafHg22r1x0t6vQAU/PfawNrANf20V5jH145hPUO5BnSkf1yJE0Fvk06Ep3WNHvKENfRawPSG84/Ggsj4hFJ97D862dtzkl14lncomwF0tjnwX0sczdARCyWtCOwA2mc9i3AfwOflbR9RCwebFsNlvVRT332oLUVgD8CR/Qxv9WbSX+eanijaPQL4A3A94G/ksaBgzSe7TM/c1IdZzam4Wgnn/5OpcURV5NbSaeuf2gaPniOiHgGmJenQyR9jHSavCcpwQ66rUF6gDQcsMUA9W4FJkfEhQPUG7Z8lPomYE5EHN5Q/jyePbLuNZS+3056E3k56SJgb7trAOsBZw83Zht9fmcdXz6Rr773+lR+/N0Ay50OrAN8rHlGvj1qcv57rRbL/iU/rjmUtgYrJ/FfA2+T9JoWbfb293RgW0m7tqgzWdIqQ1lvH3qPqpuPoj/Dc/+XHs+Pzcm2ld7X59NN5QcDk3BSHVN8pDq+vAg4R9LZpPHFA4ELIuL3Ayz3c9IY4XH59P4yUuKYTroA9B7Skem/S5pJSgILSAnjIFICOXuIbQ3FoaRbmeZJOp40vLAO6ej4XTmW75FuzfqtpJOBbmBV0hHue4AtGfiIvV8R8aikeaQj9JVJR5jbkW4fe7Cp+l9JSfhQSWuShl2uioj5Ldr9u6SfAh+WNIU0jPEq4EPAecA5I4nbRlndtx94GvnEs7febA6cSrpK/zDpgtIaDfUWAOf10caKwOdJp59LSBeLuoHDgWm5zk6k+yjvBJ4kjY/+CnjlUNvK9QL4cYtYFgBzm8peDJwE3JfXPZ90b+fqDXWeD3yDNATyJLAQuJL0AYfnDWF7zgWW9DFvPdK46oOkYYmzSff+tor530gXD5/OfZ3V0P6CprqTSLd/3Uq6zeyfwHeBVevevzwNbfJn/8cBSXOAw4D1IuLemsMxm9A8pmpmVpDHVG3CkDQNWLm/Oj7St5FyUrWJ5AzSRaX+DPX+WLPleEzVJgxJMxjgFqeo8D5XmxgqTaodHR3R2dlZWftmZiV1d3cvjIi1R9JGpaf/nZ2ddHV1VbkKM7NiJN0+0jZ89d/MrCAnVTOzgpxUzcwKclI1MyvISdXMrCAnVTOzgpxUzcwKclI1MyvISdXMipk2bRqSapuYM9zfXizHSdXMiunp6an1C6LbgZOqmVlBTqpmZgU5qZqZFeSkamZWkL/532wckfzDBXVzUjUbR+q+Au6k7tN/M7OinFTNzApyUjUzK8hJ1cysICdVMyuq1s/+twFf/TezYuq++6Ad+EjVzKwgJ1Uzs4KcVM3MCnJSNTMryEnVzKwgJ1Uzs4KcVM3MCnJSNTMrSFXerCvpMeCmylbQ3jqAhXUHUZOJ3HeY2P0f633fICLWHkkDVX+i6qaI2KbidbQlSV3u+8Q0kfs/kfvey6f/ZmYFOamamRVUdVI9oeL225n7PnFN5P5P5L4DFV+oMjObaHz6b2ZWkJOqmVlBg06qkmZLmi9piaRuSdsPUP/jkm6QtFjSTZL2a1Hn3ZKul/RkfnzXcDpRtdJ9l3SgpEsl9Uh6WNJFkrarthfDV8Vr31D3fZJC0tnlIx+5ivb7NST9UNLded+/RdLe1fVieCrq+8GSbsx17pR0nKTVq+tFDSJiwAnYB3gKOBDYFDgGWASs30f9j+X57wM2BN4LPAa8o6HO64Cnga/kNr+Sn79mMDGN1lRR3/8b+ASwNTAd+DHwOLBx3f0djf431N0QuBO4BDi77r6O0mu/EnAVcC6wHdCZH7etu7+j0Pd9gSeBD+Z+7wzMB35ad3+LbrtBbuCrgBObym4Gjuij/hXAUU1l3wcua3h+OvD7pjoXAv9T90apuu8tlhFwL/DJuvs7Wv1vSC77A3PbNKlWsd9/BLgNWLnu/tXQ92OBi5vqHA5cW3d/S04Dnv5LWhmYAVzQNOsC4PV9LLYKsKSpbDHwakkr5eeva9Hm+f20Oeoq7HuzlYHnAT3DDLUSFff/m8CCiDi5RKylVdj3PYDLgWMk3ZuHveb0s2+Mugr7fhmwlaTX5vWsD+wOnFMi7nYxmDHVDmAScF9T+X3Aun0scz7wIUnbKtkGOIB0dNKR66w7xDbrUFXfm32DdOp05shDLqqS/kt6M7A38NFKoi6jqtd+Q+A9uWw34N+Bg4AjyoY/IpX0PSJOA74MXCLpKeB24Brgi+W7UJ+qrv5/Hfgd6ZTgKeC3QO8RyTMVrbNdDKnvkg4mJZc9I+LR0QqyQv32X9LapNP9/SPi4VoirM5gXvsVgPuBAyOiOyJ+BfwH8DGpTX5jeXgG7LukHUlvIrOBVwF7AjNJQwDjxmCS6kJgGbBOU/k6pHHA54iIxRHxIWA10oD0+sAC0sD1A7navUNpsyZV9R0ASZ8mHaXuGhFXlwy8kCr6vzmwHvAHSU9LehrYD9g1P59eQT+Go6rX/h7gHxGxrGHRG/IyfZ3JjLaq+v4N0jWTn0TENRHxa9KR6yGSqv5yp1EzYFKNiKVAN7BL06xdSO9K/S37VETcmXeg95IuRvS+Y185nDZHU4V9R9JnSe/uu0XEZWUjL6Oi/v8Z2BLYqmE6E7g0/z2/aCeGqcLX/nJgI0mN/3svB56gTb4yr8K+r0ZK1o2WkS7Ujh+DvBK4D7CUNEayKXA0aQxwgzz/FOCUhvovJ902sTHwauA04EGgs6HO60m3UH0J2AQ4lHTa0I63VJXu+xdym3uTxqh6pyl193c0+t9iHXNpz6v/Vbz2LwEeJd2iNB14C+m2su/V3d9R6Puc3Pf3Ai8lJelbgF/V3d+i224IG3k26XD+SdK72A4N8+YB8xqebwr8lfTu+wjwG2B6izb3Am7ML94NpHHF2jdK1X3PbUWLaW7dfR2t176p/bZMqlX1HXgt6YhvMenI/Gu04S1WFez3KwKHkW7NWgz8E/gRMLXuvpac/IUqZmYF+bP/ZmYFOamamRXkpGpmVpCTqplZQU6qZmYFOamamRXkpGpmVpCTqplZQU6qZmYFOamamRXkpGpmVpCTqplZQU6qZmYFOamamRXkpGpmVpCTqplZQU6qZmYFOamamRXkpGpDJmmmpJA0s6FsjqRR+20eSfMkzRut9dVN0mqSfizpnrztf5DLOySdLmlhLv903bFOdOPmt7at/UiaDTwREXPrjqVOhbbDZ4GPAN8A/kH6oUyAbwPvAA4H7gK6RrAOK8A//GdDlo9QLwJ2ioh5uWxFYMWIWNJQ71pgYUTMrCCGeQBVtF1aie0g6UJgrYjYuqn8FuCaiHjXyKK0UnykakVExNPA03XHMY69AHioj/JHRjkW64fHVNucpA0kHSfpBklPSHpY0tmStmyq1zvOua+kwyTdJWmRpDMkTZW0sqQjJd2Xy0+WtGpTG5HH7faRdL2kJZL+T9JbBxHncmOqkhYAmwM75nYjlyFpVn7e2UcfZjaVf0TSrZIWS7pa0vZ9xLBK7vvNkp7M2+AoSasNFH+LttaTdLykO3NbCySdKGlyq/42LLdc3/rbDnl+h6QTJN2bt/e1kg5s3ibAlk1tzMrlk4H9e8uH2k8rz0eq7W9bYAfgl8AdwAuBjwIXS9o8Iu5pqn8IsIQ01rYR8ElgGfAEsA5p7O01wH7A7cB/NC3/BmBv4IfAY6RxvLMk7RQRlw0h7k8DxwCLgG/mskVDWB4ASR8GjgeuAI4GNgB+C/QA/2yoJ+DXwI7AicD1wKbAbGBzSW+JQY51SVoXuBroAE4AriNt93cBa5G2y2D1uR0kPY80jLIJcBxwK7AHcIKktSLi26Sx0w8CRzS18ddc/pMc6wlDiMmqFBGe2ngCVm1RtiEpcX61oWwmEKRksnJD+anAM8D55DH0XH4FcGdTu5Gn1zWUrUU67bysxbpmNpTNSbvTcu1dC8xrEf+svHxnU/ly7QIrAfeREkhjnz6U681rKNs393PHpjbfn+u+eQjbfC7pjeg1Leb1Xod4Tn/76ls/2+FTue7+DWWTgAvz67vWINpYBMytez/19Ozk0/82FxGLe//Ot9WsBTwK3ATMaLHIzyJiacPzqwABJ0X+L2wof6GkVZqW74qIKxvW/yApMb9B0tSR9WbItiGNGZ7Y1KdTgIeb6u5Nuip+XT6l7pDUAVxMSlw7DWaFklYgHZGeGxFXNc9v2oYjtRvwAPDzhvaXAT8AVgHeVHBdNkp8+t/m8ini14APAOs1zX6wxSJ3ND3vvYjxzxblAtYkHQ32urlFm//IjxuQTrtHywb5cbmYIuJpSfOb6r4cmE5KUq28YJDrXBtYg3RkWLUNgFtyIm3Ue7tU5yjEYIU5qba/Y0inu8eQTtkfJp3m/oDWFxqb/0EHKtdIAxyGvo72Jo2gzRVIQx8H9zH/7hG03UoVfbBxwEm1/b0HOCUilvukTD4VX1jB+jZuUfby/Hj7ENvqK/H0Hu2u2VS+QdPz3vVtDPy+tzDfE/tS4P8a6t5KGg75wwhP0R8gDa9sMUC9nhzLmhHROBTR3AfoezvcDmwtaVLT0eom+XHBwOFau/GYavtbRtPRpKT3ka5GV2EbSa9rWNdapItAV0TEUE/9HwdajcPemh93aFjPJNKdBo26SEnuQEkrN5Tvx3MT8umkuxs+1ryyfKvV5MEEHBHPkO4ieJuk17Roq/e1aNWH5wP7t2i2r+1wNmm4Yd+GNlYgHW0/SbpgZWOMj1Tb35nAfpIeJY3zbQXsA9xW0fquBc6WdAzP3lI1GTh0GG11AbMlHUYal10UEWdFxHWS/gQcIWka6e6C99K0P0bEU5K+Srql6iJJp5HGGf+N5/b/58BewHGSdgQuI70ZTSddxHoPMG+QcR8K7ALMk3Q8aVhhHWBP0kWsBcAFpPHrn0r6HunN70OkN4H1B7MdSLd+fSS3sXXu0x7AG4FD80VCG2vqvv3AU/8T6aLJCaSLSY+TrmZvS0oQ8xrqzSSdZr63aflZufy1TeVzcvm6DWUB/JiUtG8gHS39Hditadnedc1sbq+p3gtI95Q+kusvaJi3IemUfglwL+n+yzc1t5vrfoyUcJYAfwa2b+5/rrci8Hngmly3B+gm3Zs7bYjb/cXASXm7PwnMJyX31RvqvAr4U55/O/AZWt9S1d926CAl1971XAcc2CIe31I1RiZ/9t/+JX8i5/iIOKjuWMzGKo+pmpkV5DFVmzAkTQFWHaDaA/Hc+0bNBs1J1SaSo2l9db7RS/GtTDYCHlO1CUPSZgx8K9pl0fCdsGZDVWlS7ejoiM7OzsraNzMrqbu7e2FErD2SNio9/e/s7KSry7/uYGZjg6ShfmrwOXz138ysICdVM7OCnFTNzApyUjUzK8hJ1cysICdVM7OCnFTNzApyUjUzK2hUPvs/bdo0enpG5/fi4rA10OGPjsq6bGKaOnUqDz30UN1hWJsalaTa09PDqH3HwJwpo7cum5Ce/UUVs+fy6b+ZWUFOqmZmBTmpmpkV5KRqZlZQpRequru7Pahv45L3a+tLpUl1xowZdHV1eQe0ccd3mIxPJXKVT//NzApyUjUzK8hJ1cysICdVM7OCRuVjqjB6V0vjsDV8YcwqNXXq1LpDsDY2Kkl1tK+UxpxRXZ2Z2b/49N/MrCAnVTOzgpxUzcwKclI1MyvISdXMrCAnVTOzgpxUzcwKclI1MytIVd6YL+kx4KbKVtB+OoCFdQcxitzf8W2i9RdgekRMHkkDVX+i6qaI2KbidbQNSV3u7/jl/o5/krpG2oZP/83MCnJSNTMrqOqkekLF7bcb93d8c3/HvxH3udILVWZmE41P/83MCnJSNTMraERJVdJsSfMlLZHULWn7AervmOstkXSbpINGsv7RNpT+SlpP0qmSbpS0TNLcUQy1iCH2d09JF0h6QNJjkq6StPtoxjtSQ+zvjpKukPSgpMX5df78aMY7UkP9/21YbjtJT0u6tuoYSxri6ztTUrSYNhlwRRExrAnYB3gKOBDYFDgGWASs30f9lwKP53qb5uWeAt493BhGcxpGfzuBHwKzgCuAuXX3oeL+Hg18CXg1sBFwGLAM2L7uvlTU3xnAe4HN8779gbx/z667L1X0t2G5qcBtwPnAtXX3o8LXdyYQwGbAug3TpAHXNYIgrwJObCq7GTiij/rfAW5uKvsJcGXdG7yK/jbVO3sMJtVh97eh/tXA9+vuyyj29wzgf+ruS5X9zX08DJgzxpLqUPNVb1LtGOq6hnX6L2ll0jv1BU2zLgBe38dir2tR/3xgG0krDSeO0TLM/o5ZBfs7GegpFVdVSvRX0ta57sVloytvuP2VNBtYB/hGddGVN8LXt0vSPZL+IGmnwaxvuGOqHcAk4L6m8vtIh8itrNtH/RVze+1sOP0dy0bcX0kfB14M/KxsaJUYdn8l3SnpSaAL+FFE/LiaEIsacn8lbUk6Qv1ARCyrNrzihvP63gN8DHg3sCfpO0z+MJhx51H7iWqbOCS9G/gesE9E3F53PBXbHlgdeC3wHUnzI2IsvJEMmqRVgNOBz0fE/LrjGQ0RcRPLfxnUlZI6gS8Al/a37HCT6kLSRYh1msrXAe7tY9gZfvoAACAASURBVJl7+6j/NO3/TTjD6e9YNuz+StoLOAXYLyLOqia84obd34Ykc42kdUhjje2eVIfa3/VIF3dOknRSLlsBkKSngV0jovnUup2U+v+9inRxsl/DOv2PiKVAN7BL06xdSFe6W7myj/pdEfHUcOIYLcPs75g13P5K2puUUGZFxC+ri7Csgq/vCsAqpeKqyjD6exewJbBVw/Rj4Jb8d1v/DxR8fbciDQsMuMLhXk3bB1gKHEB6FzuadIvCBnn+KcApDfV7b6n6Qa5/QF5+LN1SNej+5rLeHfAS4Mz892Z196Wi1/e9pFtWDmb5W1Cm1d2Xivr7SeDtwMZ5+jDwKPDtuvtSRX9bLD+HsXX1f6iv76eBPfJruzlwBOlugD0HXNcIA50NLACeJL0T7NAwbx4wr6n+jsBfcv35wEF1b+yK+xstpgV196OK/ubnrfo7b7TjHqX+fhq4jnSg8Ejer2cDK9Tdjyr622LZMZVUh/H6HkK65Wox8BBpHHXXwazHX6hiZlaQP/tvZlaQk6qZWUFOqmZmBTmpmpkV5KRqZlaQk6qZWUFOqmZmBTmpmpkV5KRqZlaQk6qZWUFOqmZmBTmpmpkV5KRqZlaQk6qZWUFOqmZmBTmpmpkV5KRqZlaQk6qZWUFOqhOApFmSIv9u+WCXWSBpbkXxzJM0b5jLFo9L0sy8fWaWbNcmJidVmzAkfVnSHnXHYeObf/hvApA0CVgJeDIG+YJLWgV4JiKeqiCeleFfv8c+1GUXkH71ctYwll0E/LJ5WUkrACsDSyPimaG2a9ZoxboDsOpFxDJg2RCXebKicIaVTKuUE+mSuuOw8cGn/xNA85iqpI0k/ULSPZKelHS3pF9JWq9hmSGNXUo6VtITklZvMe8nkh6X9Pz8/DljqpJWk/Q9SXfkmG6W9KV8FNnfeleWdLikP0vqkbRY0tXNp/mSAng+sH/eFtEbQ19jqpJ2lHRxjv0RSWdL2qKpzpy87HRJcyU9nOueJGm1prpvlHRJjvMJSbdKOnaATWtjjI9UJxhJKwHnA6sCxwH3AOsBbwVemJ8Px2nAx4HdgVOb1vcu4KyIeLyPmAT8BtgF+C+gG3gjcATQCRzUz3rXAD6a138S8DxgX+DXknaNiHNzvQ8CPwGuBk7IZff11aiknYALgPnAnNzux4HLJW0bEf9o0f/bgEOBVwEHAPcDX8ztbQb8Drgmt/cE8DLgLf30zcaiiPA0zidgFhCkBPXK/PdeAyyzAJg7hHUIuAP4bVP5rnl9ezSUzSONi/Y+3z3XOaxp2ZNy+RZ9xQVMAlZpWm5l4FrgwqbyRa36BMzM65nZUPYXYCGwVkPZxsBS0rhsb9mcvOx/NbV5BrCw4fnBuV5H3fuDp2onn/5PPI/mx7f0no6XEClz/CK3O6Vh1j7AI8C5LRdMdgOeAY5uKv9+w/y+1rss8vhvHgqYRjp6vQSYMaROZHkYZGvg5Ih4sGFdNwNnAm/NF/8andj0/FJgLUlr5OeP5Mc9BhrSsLHNL+4EExHzgSNJp6cLJV0o6WBJaxVo/jRgFdLpfu8dBHsAv4n+L3xtANwXEQ83ld9ESrad/a1U0gGSriNdbHoQeAD4GDClv+UGiKd3/c1uII3NdjSV39H0vCc/Ts2PpwOXkZLv/XlMe19JHoIbZ5xUJ6CI+BywBfA10unz94Eb87jfSNrtAm4hHZ0CvI101HjaSNrtj6T3kxLVraRhjreRxmZPJQ1JjJa+7q4QQEQsBnYEdiKNG08H/hv4k6RVRyVCGxVOqhNURFwXEUdExE6kCytrAp8p0PTpwJvyke8+pHHJCwdY5nZgnaZhA4CXk/bRBf0s+x7SBaJ3RsQpEXFeRPS1vsHelH17fpzeYt4mwOOkfg1JRDwTEfMi4pCIeCUwmzREsedQ27L25aQ6wUhao8Up5w3AYlJiHanTSHeVfAB4B/CriHh6gGXOJu2Ln2oq/2x+/F0/y/YeIf7rqFTShuQhiCaP8+zpeJ8i4h7Shar98hhtb7svI11UOzfSvb+D1sfwyl/yY4ntbm3C4zkTz87AcZJ+SRozFOmIcjLpKHNEIuLaPL75ddLY42BO/c8Gfg8cLmkDUrLZGXg3cHxEXNvPsmeSjvTOlHQm8CLSEeBNwFZNdbtIR9GfB+4E7o+IP/bR7udJt1RdKelEnr2lagnwlUH0qdm/5/tgf0c68p5KulXscVL/bZxwUp14/o90JX5X4EBSkriOdMvTbwut4zRSUr2bdBW+XxERkt4FHA68F9iPdOHny8B3B1j2ZEkvIF2YehNpTPczwEY8N6l+BjiedBvU84GLgZZJNSIukrQLadz5a8DTpCv6X4rn3qM6GL8F1gf2B9YmXVC7EvhaRNze34I2tviz/2ZmBXlM1cysIJ/+24AkrU269aovyyLigdGKx6yd+fTfBpS/bm+DfqrcHhGdoxONWXvzkaoNxvtJX8DSl8WjFYhZu6v0SLWjoyM6Ozsra9/MrKTu7u6FEbH2SNqo9Ei1s7OTrq6uKldhZlaMpBHf3uar/2ZmBTmpmpkV5KRqZlaQk6qZWUFOqmZmBTmpmpkV5KRqZlaQk6qZWUGjklSnTZuGpGFNzJky7GXbfZo2bdrAG8/MxpRR+ex/T08Pw/447Jwpw1+2zUmj+bt0ZjYafPpvZlaQk6qZWUFOqmZmBTmpmpkVVOmFqu7ubl+MGYC3z9gwXi+WWnmVJtUZM2bQ1dXlxNEP/7OajS8+/TczK8hJ1cysICdVM7OCnFTNzAoatZ+oHu7FqjhsjXF7oWvq1Kl1h2BmhY1KUh3pFe6YUyYOM7Oq+fTfzKwgJ1Uzs4KcVM3MCnJSNTMryEnVzKwgJ1Uzs4KcVM3MCnJSNTMrSFV+9Zykx4CbKlvB+NIBLKw7iDHC22rwvK2GZnpETB5JA1V/ouqmiNim4nWMC5K6vK0Gx9tq8LythkZS10jb8Om/mVlBTqpmZgVVnVRPqLj98cTbavC8rQbP22poRry9Kr1QZWY20fj038ysICdVM7OCnFTNzAoaUVKVNFvSfElLJHVL2n6A+jvmeksk3SbpoJGsfywZyraSNFNStJg2Gc2Y6yBpB0lnSror93nWIJbZUtLFkhbn5f5D4/U3eBoMdVtJ6uxjv3rrKIVcG0mHSvqzpEclPSDpLElbDGK5Ie9bw06qkvYBjga+BWwNXAGcK2n9Puq/FDgn19saOAI4RtK7hxvDWDHUbdVgc2C9hunmKuNsE6sD1wIHA4sHqixpDeD3wH3Atnm5LwCfrTDGdjGkbdXgrSy/X/2xfGhtZybwI+D1wM7A08CFkqb1tcCw962IGNYEXAWc2FR2M3BEH/W/A9zcVPYT4MrhxjBWpmFsq5lAAB11x17zdlsEzBqgzseAR4FVG8q+CtxFvrtlIkyD3Fadeb/apu54655Ib0jLgHf0U2dY+9awjlQlrQzMAC5omnUB6Z2glde1qH8+sI2klYYTx1gwzG3Vq0vSPZL+IGmnSgIc+14HXBoRjUdq5wMvJCURe64zJN0v6XJJe9UdTE0mk87Ue/qpM6x9a7in/x3AJNJhcaP7gHX7WGbdPuqvmNsbr4azre4hvUu+G9iT9KU0fxhozHqC6mu/6p1nz1oEfB7YG9gV+ANwuqQP1BpVPY4G/gZc2U+dYe1bo/IT1TY0EXETy3+715WSOknjOZfWEZONfRGxEPh+Q1GXpA7gEODn9UQ1+iQdCWwHbBcRy0q3P9wj1YWk8Yh1msrXAe7tY5l7+6j/NOP7q8mGs61auQrYuFRQ40hf+1XvPOvfhNqvJB0FvA/YOSJuG6D6sPatYSXViFgKdAO7NM3ahXRlu5Ur+6jfFRFPDSeOsWCY26qVrUjDAra8K4HtJT2voWwX4G5gQS0RjS0TZr+SdDTPJtQbB7HI8PatEVw92wdYChwAbEoao1gEbJDnnwKc0lD/pcDjwA9y/QPy8u+u+0rgKFxpHOq2+jSwB+kIYnPS7WcB7Fl3X0ZhW61O+kffCngC+I/89/p5/hHAHxrqTyEdNZwGbEEag34U+FzdfWnDbbU/sG/eB6eTxleXAp+puy+jsK2Oy/vFzqTx0N5p9YY6RfatkQY6O2fsJ0lHYzs0zJsHzGuqvyPwl1x/PnBQ3Rt7FF/UQW8r0hjXzaR7Dx8ijaPuWncfRmk7zcxvIM3T3Dx/LrCgaZktgUuAJaSjrsOYALdTDXVb5aR6Peng5lGgC/hA3f0YpW3VajsFMKehTpF9y99SZWZWkD/7b2ZWkJOqmVlBTqpmZgU5qZqZFeSkamZWkJOqmVlBTqpmZgU5qZqZFeSkamZWkJOqmVlBTqpmZgU5qZqZFeSkamZWkJOqmVlBTqpmZgU5qZqZFeSkamZWkJOqmVlBTqpmZgU5qZqZFeSkauOepJUlrVh3HDYxOKlaW5C0uqT/lDRf0pOSHpA0T9IOef48STdK2kzSHyU9IekuSYc0tTNTUkh6v6Q5ku4g/dT3i+vol008fve2dvH/gL2B44DrgKnAa4BXkn53HWAKcC7wa+B/gb2A70i6JiLObWrvy8AzwNGAgEVVd8AMnFStfbwdODEiPttPnXWB/SPiFABJPwVuBz5MSraNJgObRsTjVQRr1hef/lu7eAR4jaQX9VNnMfDz3icRsRS4GtiwRd1TnFCtDk6q1i6+AGwO3CGpS9I3JE1vqnNXRDzTVNZDGipodmsVQZoNxEnV2kJE/C/piHM26ZT+U8A1kvZtqLasj8XVomxx2QjNBsdJ1dpGRNwbEcdHxLuB9YHbgMNrDstsSJxUrXaSJkma0lgWEQ8D84E164nKbHh89d/awWTgLkm/Av4PeBR4A/BW4Ng6AzMbKidVawdPkO5P3QXYHViJdJT6edJ9pmZjhiKi7hjMzMYNj6mamRXkpGpmVpCTqplZQU6qZmYFVXr1v6OjIzo7O6tchZlZMd3d3QsjYu2RtFFpUu3s7KSrq6vKVZiZFSPp9pG24dN/M7OCnFTNzApyUjUzK8hJ1cysICdVM7OCnFTNzApyUjUzK8hJ1cysICfVwqZNm4akohNzphRvs79p2rRpdW9GszHLX1JdWE9PD8W/o3bOlPJt9kNq9Tt6ZjYYPlI1MyvISdXMrCAnVTOzgpxUzcwKqvRCVXd3ty96jFF+3QbmH820VipNqjNmzJhw36c6XpKRE4bZ8Pj038ysICdVM7OCnFTNzApyUjUzK8hJtQLFP/tfQZv9TVOnTq15C5qNXf7sf2FVXTWPOZU0a2aF+UjVzKwgJ1Uzs4KcVM3MCnJSNTMryEnVzKwgJ1Uzs4KcVM3MCnJSNTMrSFV+xZukx4CbKlvB+NIBLKw7iDHC22rwvK2GZnpETB5JA1V/ouqmiNim4nWMC5K6vK0Gx9tq8LythkbSiL8A2qf/ZmYFOamamRVUdVI9oeL2xxNvq8Hztho8b6uhGfH2qvRClZnZROPTfzOzgpxUzcwKclI1MyuokqQqabak+ZKWSOqWtH0V6xnLJB0q6c+SHpX0gKSzJG1Rd1xjQd52IenYumNpV5LWk3Ry3reWSLpe0o51x9VuJE2S9PWGfDVf0jckDfse/uJJVdI+wNHAt4CtgSuAcyWtX3pdY9xM4EfA64GdgaeBCyVNqzOodifptcBHgL/XHUu7krQmcDkgYDdgU+CTwP11xtWmvgh8HPgUsAlwcH5+6HAbLH71X9JVwN8j4sCGspuBX0bEsAMd7yStDjwC7BERZ9UdTzuSNAX4C3AAcBhwbUR8ot6o2o+kbwE7RsQb6o6l3Uk6G3gwIvZvKDsZWCsi3j6cNoseqUpaGZgBXNA06wLSEZn1bTLp9eipO5A2dgLpzfmiugNpc3sAV0k6XdL9kv4m6RPq/Wlea3QZsJOkTQAkbUY6czxnuA2W/ux/BzAJuK+p/D7gTYXXNd4cDfwNuLLuQNqRpAOBjYAP1B3LGLAhMBs4Cvg2sBVwTJ7ncejlfYd0QHO9pGWknPjNiPjRcBv0T1S3AUlHAtsB20XEsrrjaTeSppPG6LeLiKfqjmcMWAHoahhu+6ukjUljhU6qy9sH2A/YF7iO9AZ0tKT5EfHT4TRYOqkuBJYB6zSVrwPcW3hd44Kko4D3AjtFxG11x9OmXkc6C7qu4Qx2ErCDpIOA50fEk3UF14buAa5vKruBdBHGlvc94D8j4rT8/BpJG5AuVA0rqRYdU42IpUA3sEvTrF1IdwFYA0lHA+8Ddo6IG+uOp439BtiSdBTRO3UBp+W/l9YXWlu6HJjeVPZy4PYaYml3q5EOBBstYwS5sYrT/yOBn0m6mvTiHgS8EPhxBesasyQdB3yQdFGhR9K6edaiiFhUX2TtJyIeBh5uLJP0OPBQRFxbT1Rt7SjgCklfAU4n3dr4KeDLtUbVns4CviRpPun0f2vgs8Apw22wki9UkTQbOARYD7gW+ExEXFJ8RWOYpL42/OERMWc0YxmLJM3Dt1T1SdJupHHo6cAdpLHUY8LfoLQcSZOBrwPvAl5AGjo5DfhaRCwZVpvexmZm5fiz/2ZmBTmpmpkV5KRqZlaQk6qZWUFOqmZmBTmpmpkV5KRqZlaQk6qZWUFOqmZmBTmpmpkV5KRqZlaQk6qZWUFOqmZmBTmpmpkV5KRqZlaQk6qZWUFOqmZmBTmpthlJsySFpM4K2p6Xf4akZJudOd5ZJdstpdX2rGI7mPVyUrVBkTS7XRPnaJC0maQ5VbzZ2fhSxa+p2sj8jPTDY+32O/azgYXA3Kby24FVgadGO6ARePMwltkMOAyYBywoGYyNL06qbSYilvHc3yFvW/nXOYf1q5N1iYildcdg45dP/9tM8xigpI0k/ULSPZKelHS3pF9JWq9hmUmSviLpllznDknflbTqINb3OUmXSVooaYmkayQd0FRnAbA5sGOOLXJZn2Oqkl4p6RxJj0p6PI9jbt9HX3eUdKSkB3LdX0taexjbbnNJf5S0WNKdkr5Ki3281ZiqpL0l/TnH+5ikGyT9e2+cwP/mqhc1bINZef72kk6XdHve/vdIOlHStKZ1zMnLTZc0V9LDkh6RdJKk1VrE+V5Jf8rb5OH8Or2zqc6bJV0saVGezpO01VC3nZXjI9U2Jmkl4HzS6fVxpN8kXw94K/DC/BzgeODDwBnAkcA2wBeALSTtNsBvvX8GOBv4BRDAO4ETJa0YET/OdT4NHAMsAr6Zyxb1E/emwKXA48D3SEeyBwIXStolIi5pWuQHwEPA4UBnXt+xwD79xN28znWBi0j79HeAx4CPMIijaElvIg25/BE4lHSmMB3YLle5BPgh8CngW8ANufyK/PgeYApwAnA/8ArgANL2f32L7X8acFte16ty3fuBLzbE9FXS79H/ibRdFgMzgLcAv8119gV+Dvw+t7VK7vOlkraNiBsH6rtVICI8tdEEzCIlt07glfnvvfqp/4pc56Sm8jm5/O0NZfOAeU31VmvR5gXALU1l1zYvm8s783pmNZSdASwFNm4o6yCNyXa16OuFgBrKjwSeBqYMYbsdldt6dUPZWqRkHUBnX9shL/sIMKmf9vfK7cxsMa/VNtw319+uxWvyX011zwAWNjx/GSmx/7Y5pt7tBDw/9625ramkBH1q3fvyRJ18+t/eHs2Pb5H0/D7q7JYfj2wqP4r0j7kb/YiIJyAdFUuaJqmDdMT3MklThhqwpEmko6mzIuLmhvX0XuSaIWmdpsV+GjkjZJcCk4ANhrDqXYE/R8TVDet8EDh1EMs+QkpSw7mA1bgNJWmNvA17j2JntFjkxKbnlwJrSVojP38Xadji65HG2BvX1buddiEl0FMldfROpO12KbDTcPpiI+ek2sYiYj4pWR4ALJR0oaSDJa3VUG0D0tHPP5qWfYQ0PNDZ3zokvVNSF+n08kHgAdIpLqRT2qFaG1gNuKnFvN7T5uaY7mh63pMfpw5hvRsAN7co/0eLsmY/IsV7jqS7JJ0saXdJGsyKJb1E0mmk5PwIaRvOz7NbbcOB+vuy/HhdP6t9eX78fV5f47Qn8ILBxG7leUy1zUXE5yT9F7A76Ujq+8BXJe0YEdePpG1J2wG/Bi4DDgLuJp2270oaax2tN92+7nYYVFIbqYi4X9LWwJuAt5HGrPcDzpa0e9NR9PIBpiPzC0hvJkeQ3jgeJ22782i9DUv0t7fdWcBdQ1jOKuakOgZExHWko5YjJL0C6CYlvQNJ94mKdORyTe8y+VRyPdJFqL7sRbqQ8+aI+NcFHUmtTh37u9jV6AHgCdKFnmab5McFg2xrKG4HNm5R/vIWZc8R6Tarc0hHqyIlyC8Crwcup+/+b0nq16yIOLm3UFKrWAbr1vy4OdA1QJ0HIuLCEazLCvPpfxvL43PNb3w3kE7V18zPf5cfP91U72DS+Fp/SXUZKVn8az+QNBX4UIu6jzOI0/E8Bnge8A5Jvaex5NuL9iddqLpvoHaG4RxgW0mvbljnWqQLRv1qGk7pHbf8a37au50fz4/N26D3qLP5KPPzg4i5L78GngH+Ix8JN8bau57zgYeBL0taubmB4dySZmX4SLW97QwcJ+mXpDE/kW4zmgycDhARf5f0U+DD+cLSH0m36XyIlNzO6af9s4DPAr+X9DNgGuno915g3aa6XcBsSYeRxikXRcRZfbT7VdJQxWWSjuPZW6rWJB0dV+G7wAeB8yQdTbrl6yPAPxn4zeAn+SLPH3L9FwGfII1J997+9VdSAj1U0pqkN7argBtJY7nfl/Ri0hX5twEvHm5HIuJWSV8j3S1wmaQzSEf/ryJty49HxKOSDgL+G/irpP8B7gPWJw1fXEcaGrDRVvftB56Wn1j+lqqXAj8h/dM+QfqHvRR4Z9Myk4CvkE4Jl5ISw3eBVZvqzeO5t1TtRzr6XQLcQkqy/8Zzb0N6AekWn0fyvAW5vJOmW6py+StJCf0x0lHexcAOffT1tU3lM+nj9qUBtt2WuY+LgTtJyf1DLfqy3HYA3g2cS3ozeZJ0IWku8NKm9v8tvxZPN/aZNNRxXt42D5HuOFgn15nTsPycXLZuX695i9em9yJiD2nse/emOtvn2HtyvVuBU4DX1b0vT9Sp9543MzMrwGOqZmYFeUzV2pqk1YHVB6j2UPhLUqxNOKlau/s86Sv3+rMTaZzUrHYeU7W2JmlDYMMBqnVHRM8AdcxGhZOqmVlBlZ7+d3R0RGdnZ5WrMDMrpru7e2FEjOiDE5Um1c7OTrq6+vqUnZlZe5F0+0jb8C1VZmYFOamamRXkpGpmVpCTqplZQU6qZmYFOamamRXkpGpmVpCTqplZQU6q49i0adOQVMvEnCm1rXs407Rp0+p+uWyc8LdUjWM9PT3U9t0Oc6bUt+5hGOSvUZsNyEeqZmYFOamamRXkpGpmVpCTqplZQW1xocoXCawdeD8c29rlwmhbJNV22RjjjZPE0Hg/tBJ8+m9mVpCTqplZQU6qZmYFOamamRXUFheqrDp1XayKw9YYUxfKpk6dWncINk44qY5jdV/Njjm1rt6sFj79NzMryEnVzKwgJ1Uzs4KcVM3MCnJSNTMryEnVzKwgJ1Uzs4KcVM3MClKVN4hLegy4qbIVVK8DWFh3ECPg+Ovl+Os31D5sEBFrj2SFVX+i6qaI2KbidVRGUpfjr4/jr9dYjx/q6YNP/83MCnJSNTMrqOqkekLF7VfN8dfL8ddrrMcPNfSh0gtVZmYTjU//zcwKclI1MyuokqQqabak+ZKWSOqWtH0V6xkpSYdK+rOkRyU9IOksSVs01ZGkOZLulrRY0jxJm9cVc39yf0LSsQ1lbR2/pPUknZy3/xJJ10vasWF+28YvaZKkrzfs6/MlfUPSig112ip+STtIOlPSXXlfmdU0f8B4JU2V9DNJj+TpZ5LWrDt+SStJ+o6kv0t6XNI9kk6VtH5TG6tIOkbSwlzvTEkvLhVj8aQqaR/gaOBbwNbAFcC5zR1rEzOBHwGvB3YGngYulDStoc4hwOeATwLbAvcDv5c0eXRD7Z+k1wIfAf7eNKtt48//iJcDAnYDNiXFeX9DtbaNH/gi8HHgU8AmwMH5+aENddot/tWBa0mxLm4xfzDxngq8Cnhrnl4F/KzCmBv1F/9qOZZv5sd3Ai8Bzmt8owN+ALwbeB+wPbAGcLakSUUijIiiE3AVcGJT2c3AEaXXVUHsqwPLgHfk5wLuAb7SUGdV4DHgo3XH2xDTFOBWYCdgHnDsWIif9MZ7eT/z2z3+s4GTm8pOBs4eI/EvAmYNZXuT3vgCeENDne1y2fQ64++jzmY5ti3z8ynAUuD9DXVeAjwDvKVEXEWPVCWtDMwALmiadQHpaLDdTSYdvffk5y8F1qWhPxGxGLiE9urPCcAvI+KipvJ2j38P4CpJp0u6X9LfJH1Cz/5iYLvHfxmwk6RNACRtRjrjOSfPb/f4mw0m3teRktkVDctdDjxOe/ZpjfzY+z89A1iJ5fv4T+AGCsVf+mOqHcAk4L6m8vuANxVeVxWOBv4GXJmfr5sfW/XnRaMVVH8kHQhsBHygxex2j39DYDZwFPBtYCvgmDzvWNo//u+Q3oivl7SM9P/0zYj4UZ7f7vE3G0y86wIPRD7EA4iIkHR/w/JtIR/kfR84KyLuzMXrks5Gm78P4D4Kxe9fU80kHUk6jdkuIpbVHc9gSJpOOoXeLiL+f3t3HyVHVeZx/PsDRcBAmDDIi2wYFYgiIK6vkZcAEuXgy7LiLpiDmHVBMSKu4iKga8Y31EWBKKKIaATEIOrxgCIE9hBAYIOJIBJeJQlIQjCBkBCSQBKf/ePWLJ1mJjPdc6urZ+b3OadOd9+6feu5/fJ01b3V3euqjqcJmwFzIqJnDPIOSXuQxiXP6/tubeNo4DhgEjCP9KEwTdKCiLio0shGuGIM9VJgO+C9rdx27omqZaRPgR3ryncElmTeVjaSziENWh8aEfNrVvXE3K79GU86Opgnab2k9cAEYEpx/YmiXrvG/xhwAjBoHAAAFNRJREFUT13ZvUDPpGa7P/5nAd+MiBkR8eeIuAQ4m+cnqto9/noDiXcJsEPNEA3F9ZfRJn0qEurPgH2Bt0fEEzWrl5COpjvr7pbtOcmaVCPiOWAuMLFu1UQ2HoNpG5Km8XxCva9u9QLSAz2xpv6WpBnDdujPr4F9SHtIPcscYEZx/QHaO/5bgHF1ZXsCDxfX2/3x35q0E1FrA8+/r9o9/noDifc20oTu+Jr7jQdeShv0SdKLgctJCfWQiKhPlHOBdWzcx11JE3B54i9hRu5o0uza8UWg00gD27u1cmZwgLF+F1hJmlzYqWYZVVPns8AK4H3A3qSEtRjYpur4++jTLIrZ/3aPn3TKzjrgc6Rx4X8pYv34EIl/OvAo6XSwLuCfgaXAt9o1flJC7PkAXg18obg+dqDxAr8D/kxKpuOL61dVHT9pOPPXwCLSKVW17+mtatr4XvG8HUY67fMG0lzK5lliLKnjU4CFwLOkT4aDqngBDSDO6GPprqkjoJt0qLoWuBHYu+rYN9Gn+qTa1vEXCelPRWwPkM751FCInzRJdS5pz3oNMJ80xr1lu8ZPOje7t9f89IHGC3SQxitXFsulwHZVx0/6YOvrPT25po2XkCZEnyAl5quAf8gVo39QxcwsI3/338wsIydVM7OMnFTNzDJyUjUzy8hJ1cwsIydVM7OMnFTNzDJyUjUzy8hJ1cwsIydVM7OMnFTNzDJyUjUzy8hJ1cwsIydVM7OMnFTNzDJyUjUzy8hJ1cwsIydVy0ZSt6SW/5WEpFmSZrV6u2a9cVI1M8voRVUHYJbBO6oOwKyH91RtyJK0NUBEPBcRz1Udjxk4qVqTJB0g6Q+S1kp6SNJHm2ijW1JI2kvSZZJWSFou6QJJo+rqLpR0jaS3S5otaS1warFuozFVSV1Fu6dJmiJpvqTVkq6XtJuSMyT9VdIaSVdK6uwlvndIulHSqmK5RtJ+jT9aNpL48N8aJmkfYCawlPQf8ZsDU4vbzZgBLALOAPYDPgL8A3BEXb3dgV8AFwIXAY/00+4xpP94P4/0X/WnAlcA1wATgf8GXgWcDJwNHNdzR0mTSP9nfx1wetHOR4CbJb0pIu5rrqs23DmpWjO+RDrKOTAiHgGQdAUwr8n2FgFHREQUbT0G/JekwyLi+pp6rwL+KSKuHGC7uwK7R8RTRbubkxLk1sDrI2JdUf4y4BhJH42INZJeSkrE0yPiwz2NSboIuB/4AjCpyb7aMOfDf2tIkZjeCVzZk1ABIuIB4Nommz2vJ6EWvl1cvruu3qMNJFSAX/Yk1MLs4vLSnoRaU/5i0t4xpL3YDuAySZ09C2mP/GbgkAZisBHGe6rWqB2ArYAHe1n3APCuJtrcqK2IWCZpOdBVV29+g+3WDw+sKC7/2kd5R3G5Z3F5XR/t/r3BOGwEcVK1oWRNg/U3NFiu4rLnCG4yaWjCbMCcVK1RS0nJbY9e1u3ZS9lA7EHaywWgONTuABY22d5gPVRcLq0b0zXrl8dUrSERsYE0dvoeSWN7yiXtSRprbcZJklRz++Ti8rdNtjdY1wJPAWdI2qJ+paQdWh+SDRXeU7VmTAUOJ51e9D3Sh/NJwD3Avk2093Lgakm/AV4HnADMjIi+xjRLFRErJZ0I/BS4Q9LPgMeBsaR+zyMNDZi9gJOqNSwi7pL0TtK5nV8EHi0ud6a5pPoB4HPAmUAAPwROyRNtcyLickmLSefOngJsCSwGbgEuqDI2a2/a+EwWs9aR1E3a6905IpZUHI5ZFh5TNTPLyIf/lp2k0aRzWTel2a+0mrU1J1UrwzTgQ/3UeUUrAjFrNY+pWnaS9gJ26afa7yNibSviMWslJ1Uzs4xKPfzv7OyMrq6uMjdhZpbN3Llzl0XEoL7cUWpS7erqYs6cOWVuwswsG0kPD7YNn1JlZpaRk6qZWUZOqmZmGTmpmpll5KRqZpaRk6qZWUZOqmZmGTmpmpll5KQ6xI0ZMwZJpS10jy61/YEsY8aMqfphNhsw/0rVELd8+XJK/f2G7tHltj8AG/99lVl7856qmVlGTqpmZhk5qZqZZeSkamaWUVtPVHmCwnr4tZBf1ROQw1VbJ1U/6f0bKcnGrwUbKnz4b2aWkZOqmVlGTqpmZhk5qZqZZdTWE1U2MGVOVsXUbSufDOvo6Kh0+2aNcFId4loxKx7dpW/CbNjw4b+ZWUZOqmZmGTmpmpll5KRqZpaRk6qZWUZOqmZmGTmpmpll5KRqZpaRyjx5XNLTwP2lbaD9dALLqg6ihdzf4W2k9RdgXERsM5gGyv5G1f0R8caSt9E2JM1xf4cv93f4kzRnsG348N/MLCMnVTOzjMpOqj8ouf124/4Ob+7v8DfoPpc6UWVmNtL48N/MLCMnVTOzjEpJqpKmSFogaa2kuZIOLGM7VZN0uqQ/SFopaamkqyTtXXVcrVL0PySdV3UsZZK0s6SfFM/xWkn3SJpQdVxlkLS5pC/XvH8XSPqKpGHxg/aSDpJ0paRFxWt3ct16SeqWtFjSGkmzJL22kW1kT6qSjgamAWcCrwduBX4naWzubbWBg4HzgbcBhwLrgesljakyqFaQ9FbgI8BdVcdSJknbAbcAAt4FvAb4BPC3KuMq0WeBjwMnA68GPlncPr3KoDIaBdxN6teaXtafCpxCeo7fRHqer5M04C8EZJ+okjQbuCsiTqgpexD4RUQMlyemV5JGASuAIyPiqqrjKYuk0cAfgeOBqcDdEXFStVGVQ9KZwISI2L/qWFpB0m+AJyLiQzVlPwG2j4h3VxdZfpJWASdFxPTitoDFwHkR8dWibCtSYv1MRFwwkHaz7qlK2gJ4AzCzbtVM0t7ccLcN6TFdXnUgJfsB6UPyhqoDaYEjgdmSLpf0N0l3SjpJVf8bYnl+Dxwi6dUAkvYiHYVdXWlUrfEKYCdq8ldErAFuooH8lXucpBPYHHi8rvxx4LDM22pH04A7gduqDqQskk4AdgeOrTqWFnklMAU4B/g6sB/wnWLdcBxL/gZp5+AeSRtIOeKrEXF+tWG1xE7FZW/56+UDbWRYDD63A0lnAwcAB0TEhqrjKYOkcaSx8gMiYl3V8bTIZsCcmqGrOyTtQRpnHI5J9WjgOGASMI/0ITJN0oKIuKjSyIaI3BNVy4ANwI515TsCSzJvq21IOgf4AHBoRMyvOp4SjScdjcyTtF7SemACMKW4/ZJqwyvFY8A9dWX3AsNx4hXgLOCbETEjIv4cEZcAZzN8Jqo2pSdHDSp/ZU2qEfEcMBeYWLdqIuksgGFH0jSeT6j3VR1PyX4N7EPae+lZ5gAziuvPVRdaaW4BxtWV7Qk8XEEsrbA1aceo1gZGxjntC0jJ8//zl6QtgQNpIH+Vcfh/NnCJpNtJL8gTgV2A75ewrUpJ+i7wQdJkxnJJPWMyqyJiVXWRlSMingKeqi2T9AzwZETcXU1UpTsHuFXS54DLSacJngycUWlU5bkKOE3SAtLh/+uBTwMXVxpVJsUZOrsXNzcDxkraj/QafkTSucAZku4DHgA+D6wCLhvwRiIi+0Ia2F8IPEvacz2ojO1UvQDRx9JddWwtfAxmkU5BqTyWEvv4LuBPwNrijXYyxemIw20hTVKdS9oTXwPMJ42jb1l1bJn6d3Af79npxXoB3aRhn7XAjcDejWzDP6hiZpbRSBgnMTNrGSdVM7OMnFTNzDJyUjUzy8hJ1cwsIydVM7OMnFTNzDJyUjUzy8hJ1cwsIydVM7OMnFTNzDJyUjUzy8hJ1cwsIydVM7OMnFTNzDJyUjUzy8hJ1cwsIydVazlJIanf/yyTNLmo21V+VGZ5OKnakCJpkqT/qHD7e0nqdqK3vjipWju7BNiKjf8OehJQWVIF9gKmAl0VxmBtzEnV2lZEbIiItVHiv1NKemlZbdvI5KQ6whWHsiFpnKTpkp6StELSjyVtXVMvJH1f0pGS7pb0rKR5kg4fxLY32Vb9mKqkWaS/i96tKA9JA064Rf/WSuqSdKWklcBvi3X7Fn1+qKizTNIMSWNr4wGuKG7eUBPD5Jo6b5J0dfEYrpH0e0mHNPP42ND0oqoDsLYxg/Qf76cD/wgcD/wN+GxNnfHAe4DvAU8DJwO/lDQ2Ip5ocHvNtPVVYDSwK/CpBrfXYzNgJnA78J/A+qJ8IjAOuBhYDLwKOBF4s6S9I2I1cBPw7SLWM4F7i/veCiBpAnAtcCfwJWAd8EFgpqSJETGryZhtKIkILyN4AbqBAH5UV/4rYFnN7QCeA3avKdu3KD+pwW0OqC1gclHWVVP2G2Bhk32dXrR3di/rtu6l7G1F/WNryt5flB1cV1fAfcD1gGrKtwDmAbdW/Vx7ac3iw3/rcWHd7ZuB7SVtW1N2Q0T8pedGRNwFrARe2cT2crbVqPPrCyLtiQIgaZSk7YEHgKeANwygzdeR9nQvIz1unZI6gW2B64C31A6n2PDlw3/r8Ujd7eXFZQcp2fVWp6deR4btDaatRvwdWFhfKKkD+DppT3RM3erRA2h3z+Lyok3U2R5YvYn1Ngw4qVqPDX2Uq8E6ObdXhnURsb6X8p8D+wPfAu4gjfMGaax5IEd0PXVOA+b2UWdpY6HaUOSkakNN9tOrir3Uw4DuiPhiTfmWvHDPua/tP1RcPh0R1+eO0YYOj6naUPMMsJ2knHu0PXvN9W1+ihe+R54pLuuT7VzgL8CnJW1TvwFJOww2SBsavKdqQ80c4GjgXEmzgb9HxIzBNBgRK4tzYE+VtAXpG1wHABOA+tO77iAl4dMlbQesAWZHxAJJ/w5cA9wj6UfAo8AuRTsCfL7qCOA9VRtqziedS3oscCnws0ztTiKdrvVR4CzSnuihwKraShHxOHBCsf7CYvsTinU3AW8F/heYApwHfBh4EvhGpjitzSmitG8AmpmNON5TNTPLyGOqloWkzYH+JmPWRMSKErY9hvTNpT5FxJLc2zXrjQ//LYviR08W9FPtJxExuYRtz6IY1+xLRJR9/qsZ4D1Vy2cJ6UdJNmVxSds+hfK/iWU2IN5TNTPLqNQ91c7Ozujq6ipzE2Zm2cydO3dZRAzqixqlJtWuri7mzJlT5ibMzLKR9HD/tTbNp1SZmWXkpGpmlpGTqplZRk6qZmYZOamamWXkpGpmlpGTqplZRk6qZmYZ+bv/ZhUbM2YMy5cv77/iMBFTt0VfXNl/xUw6Ojp48sknW7Y9J1Wzii1fvpwR9Rsc3aNb2t+8f2fWPx/+m5ll5KRqZpaRk6qZWUZOqmZmGXmiqgKtHjg3G+la+Z5zUq3AiJrptX75Q7Z8A33P5XgufPhvZpaRk6qZWUZOqmZmGTmpmpll5IkqszYwkiarYuq2Le1vR0dHy7YFTqpmlRuJZ4NEd9URlMeH/2ZmGTmpmpll5KRqZpaRk6qZWUZOqmZmGTmpmpll5KRqZpaRk6qZWUYq88RjSU8D95e2gfbTCSyrOogWcn+Ht5HWX4BxEbHNYBoo+xtV90fEG0veRtuQNMf9Hb7c3+FP0pzBtuHDfzOzjJxUzcwyKjup/qDk9tuN+zu8ub/D36D7XOpElZnZSOPDfzOzjJxUzcwyGlRSlTRF0gJJayXNlXRgP/UnFPXWSpov6cTBbL/VGumvpPdJmilpqaSnJc2W9N5WxjtYjT6/Nfc7QNJ6SXeXHWNOTbyet5D0peI+z0p6RNLJrYp3sJro7yRJd0paLWmJpEsl7dSqeAdD0kGSrpS0SFJImjyA++wj6UZJa4r7fUED+cuCiGhqAY4G1gEnAK8BvgOsAsb2Uf8VwDNFvdcU91sHHNVsDK1cmujvNOA04M3A7sBUYANwYNV9KaO/NffrAOYD1wJ3V92PMvsL/Aq4HZgIdAFvAQ6uui9l9BfYv3j9fqp4L78V+CPwP1X3ZYD9PQI4E3g/sBqY3E/9bYElwM+BvYv7PQ2c0u+2BhHkbODCurIHga/1Uf8bwIN1ZT8Ebqv6AS+jv320cTvwrar7UmZ/i0QzFegeYkm10dfzO4AVQGfVsbeov58BHq4r+zdgVdV9aaLvqwaQVD8GrAS2qin7PLCIYoK/r6Wpw39JWwBvAGbWrZoJvK2Pu43vpf61wBslvbiZOFqlyf72Zhtgea64ytJsfyVNAXYEvlJedPk12d8jgT8An5b0qKQHJX1b0qgSQ82iyf7eAuws6T1KOoFjgKvLi7RS44GbI2JNTdm1wC6ko5I+NTum2glsDjxeV/440NcYy0591H9R0V47a6a/G5H0cWBX4JK8oZWi4f5K2oe0h3psRGwoN7zsmnl+XwkcALwOOAo4CTgcmF5OiFk13N+IuI2URH8KPAcsBQR8qLwwK9VXvupZ1yfP/reApKOAs4BJEfFw1fHkJuklwOXAZyJiQdXxtMhmQJCe09kRcS0psR4lacdqQ8tP0l6kcdcvk/ZyDycllwuqjKsdNfuDKstIg9b1L54dSYO7vVnSR/31tP8v4TTTXwAkvR+4GDguIq4qJ7zsGu3vzqTJjh9L+nFRthkgSeuBIyKi/lCznTTz/D4GLIqIFTVl9xaXY3nhXk47aaa/pwO3R8RZxe27JD0D3CzpjIh4tJxQK9NXvupZ16em9lQj4jlgLmnWs9ZE4NY+7nZbH/XnRMS6ZuJolSb7i6R/JR3uT46IX5QXYV5N9HcRsA+wX83yfeAvxfU+H6N20OTzewuwS90Y6p7FZVsfjTTZ361JibhWz+3heMR7G3CgpC1ryiYCi4GFm7znIGbQjiaNrRxP2kuZRppV261YfzFwcU39nlOqzi3qH1/cfyidUtVIf48hnbLySdJhUs8ypuq+lNHfXu7fzdCa/W/0+R0F/BW4Angt6ZSju4Erqu5LSf2dXLyeP0YaT96fNFE3t+q+DLC/o3j+A3818IXi+thi/deoOT0MGE3aI51BOqXqfaSzAco7parY8BRS1n6W9Ml3UM26WcCsuvoTSOe2PQssAE6s+sEuq7/F7ehlmdXquFv1/Nbdd0gl1Wb6C4wjzZivJu2tfxfYpup+lNjfTwDziv4+Rpq02rXqfgywrwf38X6cXqyfDiysu88+wE3A2qK/U+nndKqI8A+qmJnlNBzHQszMKuOkamaWkZOqmVlGTqpmZhk5qZqZZeSkamaWkZOqmVlGTqpmZhk5qZqZZfR/UJUnkQ8BV8cAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "metrics = ['firing_rate', \n", " 'presence_ratio', \n", " 'amplitude_cutoff', \n", " 'isi_violations', \n", " 'snr', \n", " 'isolation_distance', \n", " 'd_prime', \n", " 'nn_hit_rate']\n", "\n", "ranges = [[0,20],\n", " [0.9,0.995],\n", " [0,0.5],\n", " [0,2],\n", " [0,8],\n", " [0,125],\n", " [0,10],\n", " [0,1]]\n", "\n", "_ = plt.figure(figsize=(5,10))\n", "\n", "for idx, metric in enumerate(metrics):\n", " \n", " data = units[metric].values\n", " data = data[np.invert(np.isnan(data))]\n", "\n", " _ = plt.subplot(len(metrics),1,idx+1)\n", " _ = plt.boxplot(data, showfliers=False, showcaps=False, vert=False)\n", " _ = plt.ylim([0.8,1.2])\n", " _ = plt.xlim(ranges[idx])\n", " _ = plt.yticks([])\n", " \n", " plt.title(metric)\n", " \n", "plt.tight_layout()" ] } ], "metadata": { "kernelspec": { "display_name": "Python (allensdk)", "language": "python", "name": "allensdk" }, "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.7" } }, "nbformat": 4, "nbformat_minor": 2 }