{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Ball and stick 2: Build a ring network of ball-and-stick cells" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This page is the second in a series where we build a multicompartment cell and evolve it into a network of cells running on a parallel machine. In this page, we build a ring network of ball-and-stick cells created in the previous page. In this case, we make N cells where cell n makes an excitatory synapse onto cell n + 1 and the last, Nth cell in the network projects to the first cell. We will drive the first cell and visualize the spikes of the network.\n", "\n", "In practice, you will likely want to separate the specification of the cell type and the use of that cell type into separate files, but we'll ignore that here." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Generic cell class\n", "
We'll begin by splitting the BallAndStick class into two parts: a generic Cell class and that which is specific to the BallAndStick model. This will allow us to focus our attention on the parts that we're working on and to make code that we can reuse later.
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, we load the NEURON library, of course; we'll load NEURON's built-in graphics library as well to allow visual inspection of the sizes of the diameters." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2025-08-18T03:35:24.979327Z", "iopub.status.busy": "2025-08-18T03:35:24.979047Z", "iopub.status.idle": "2025-08-18T03:35:25.320201Z", "shell.execute_reply": "2025-08-18T03:35:25.319792Z" } }, "outputs": [], "source": [ "from neuron import n, gui\n", "from neuron.units import ms, mV" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will also want to use NEURON's standard run library, so let's go ahead and load that too:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2025-08-18T03:35:25.322471Z", "iopub.status.busy": "2025-08-18T03:35:25.322262Z", "iopub.status.idle": "2025-08-18T03:35:25.328661Z", "shell.execute_reply": "2025-08-18T03:35:25.328300Z" } }, "outputs": [ { "data": { "text/plain": [ "1.0" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "n.load_file(\"stdrun.hoc\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The generic Cell class (we'll expand this later):" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2025-08-18T03:35:25.359723Z", "iopub.status.busy": "2025-08-18T03:35:25.359372Z", "iopub.status.idle": "2025-08-18T03:35:25.362819Z", "shell.execute_reply": "2025-08-18T03:35:25.362489Z" } }, "outputs": [], "source": [ "class Cell:\n", " def __init__(self, gid):\n", " self._gid = gid\n", " self._setup_morphology()\n", " self.all = self.soma.wholetree()\n", " self._setup_biophysics()\n", "\n", " def __repr__(self):\n", " return \"{}[{}]\".format(self.name, self._gid)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And the BallAndStick class:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2025-08-18T03:35:25.364587Z", "iopub.status.busy": "2025-08-18T03:35:25.364445Z", "iopub.status.idle": "2025-08-18T03:35:25.368560Z", "shell.execute_reply": "2025-08-18T03:35:25.368219Z" } }, "outputs": [], "source": [ "class BallAndStick(Cell):\n", " name = \"BallAndStick\"\n", "\n", " def _setup_morphology(self):\n", " self.soma = n.Section(\"soma\", self)\n", " self.dend = n.Section(\"dend\", self)\n", " self.dend.connect(self.soma)\n", " self.soma.L = self.soma.diam = 12.6157\n", " self.dend.L = 200\n", " self.dend.diam = 1\n", "\n", " def _setup_biophysics(self):\n", " for sec in self.all:\n", " sec.Ra = 100 # Axial resistance in Ohm * cm\n", " sec.cm = 1 # Membrane capacitance in micro Farads / cm^2\n", " self.soma.insert(n.hh)\n", " for seg in self.soma:\n", " seg.hh.gnabar = 0.12 # Sodium conductance in S/cm2\n", " seg.hh.gkbar = 0.036 # Potassium conductance in S/cm2\n", " seg.hh.gl = 0.0003 # Leak conductance in S/cm2\n", " seg.hh.el = -54.3 # Reversal potential in mV\n", " # Insert passive current in the dendrite\n", " self.dend.insert(n.pas)\n", " for seg in self.dend:\n", " seg.pas.g = 0.001 # Passive conductance in S/cm2\n", " seg.pas.e = -65 # Leak reversal potential mV" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The only changes to the BallAndStick definition are the removal of the `__init__` and `__repr__` methods, the specification of the name of the class, the removal of the definition of self.all (now handled by the Cell class), and the change to the class declaration (the very first line) to indicate that BallAndStick is a type of Cell." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Adjusting position and orientation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When we have more than one cell, we'd like to be able to position them so that we can see them clearly. We'll introduce new methods `_set_position` and `_rotate_z` to the Cell class to allow us to do this:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2025-08-18T03:35:25.370812Z", "iopub.status.busy": "2025-08-18T03:35:25.370203Z", "iopub.status.idle": "2025-08-18T03:35:25.375139Z", "shell.execute_reply": "2025-08-18T03:35:25.374819Z" } }, "outputs": [], "source": [ "class Cell:\n", " def __init__(self, gid, x, y, z, theta):\n", " self._gid = gid\n", " self._setup_morphology()\n", " self.all = self.soma.wholetree()\n", " self._setup_biophysics()\n", " self.x = self.y = self.z = 0 # <-- NEW\n", " n.define_shape()\n", " self._rotate_z(theta) # <-- NEW\n", " self._set_position(x, y, z) # <-- NEW\n", "\n", " def __repr__(self):\n", " return \"{}[{}]\".format(self.name, self._gid)\n", "\n", " # everything below here is NEW\n", "\n", " def _set_position(self, x, y, z):\n", " for sec in self.all:\n", " for i in range(sec.n3d()):\n", " sec.pt3dchange(\n", " i,\n", " x - self.x + sec.x3d(i),\n", " y - self.y + sec.y3d(i),\n", " z - self.z + sec.z3d(i),\n", " sec.diam3d(i),\n", " )\n", " self.x, self.y, self.z = x, y, z\n", "\n", " def _rotate_z(self, theta):\n", " \"\"\"Rotate the cell about the Z axis.\"\"\"\n", " for sec in self.all:\n", " for i in range(sec.n3d()):\n", " x = sec.x3d(i)\n", " y = sec.y3d(i)\n", " c = n.cos(theta)\n", " s = n.sin(theta)\n", " xprime = x * c - y * s\n", " yprime = x * s + y * c\n", " sec.pt3dchange(i, xprime, yprime, sec.z3d(i), sec.diam3d(i))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you are writing a script to do this, and revising the classes as we make changes, everything should be good. If you are following along in a Jupyter notebook, you will need to rerun the definition of BallAndStick above for the changes to take effect:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2025-08-18T03:35:25.376792Z", "iopub.status.busy": "2025-08-18T03:35:25.376652Z", "iopub.status.idle": "2025-08-18T03:35:25.380725Z", "shell.execute_reply": "2025-08-18T03:35:25.380405Z" } }, "outputs": [], "source": [ "## Run only for jupyter\n", "class BallAndStick(Cell):\n", " name = \"BallAndStick\"\n", "\n", " def _setup_morphology(self):\n", " self.soma = n.Section(\"soma\", self)\n", " self.dend = n.Section(\"dend\", self)\n", " self.dend.connect(self.soma)\n", " self.soma.L = self.soma.diam = 12.6157\n", " self.dend.L = 200\n", " self.dend.diam = 1\n", "\n", " def _setup_biophysics(self):\n", " for sec in self.all:\n", " sec.Ra = 100 # Axial resistance in Ohm * cm\n", " sec.cm = 1 # Membrane capacitance in micro Farads / cm^2\n", " self.soma.insert(n.hh)\n", " for seg in self.soma:\n", " seg.hh.gnabar = 0.12 # Sodium conductance in S/cm2\n", " seg.hh.gkbar = 0.036 # Potassium conductance in S/cm2\n", " seg.hh.gl = 0.0003 # Leak conductance in S/cm2\n", " seg.hh.el = -54.3 # Reversal potential in mV\n", " # Insert passive current in the dendrite\n", " self.dend.insert(n.pas)\n", " for seg in self.dend:\n", " seg.pas.g = 0.001 # Passive conductance in S/cm2\n", " seg.pas.e = -65 # Leak reversal potential mV" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's create a test cell. Note that we now have to specify `x`, `y`, `z`, and `theta` in addition to the `gid`." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2025-08-18T03:35:25.382824Z", "iopub.status.busy": "2025-08-18T03:35:25.382233Z", "iopub.status.idle": "2025-08-18T03:35:25.409779Z", "shell.execute_reply": "2025-08-18T03:35:25.409364Z" } }, "outputs": [], "source": [ "mycell = BallAndStick(0, 0, 0, 0, 0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you got a `TypeError`, that means you did not rerun the definition of BallAndStick. Go back and do that and then the above should work." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We no longer need the test cell, so let's delete it:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "execution": { "iopub.execute_input": "2025-08-18T03:35:25.412465Z", "iopub.status.busy": "2025-08-18T03:35:25.411884Z", "iopub.status.idle": "2025-08-18T03:35:25.414727Z", "shell.execute_reply": "2025-08-18T03:35:25.414367Z" } }, "outputs": [], "source": [ "del mycell" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Construct and position our cells" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We want to construct an arbitrary number of cells and position them in a circle. For the sake of reusability, we'll make a function that takes two parameters: `N`, the number of cells, and `r` the radius of the circle (in microns). This function will return a list of `N` cells centered around the origin on the XY plane:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "execution": { "iopub.execute_input": "2025-08-18T03:35:25.416847Z", "iopub.status.busy": "2025-08-18T03:35:25.416189Z", "iopub.status.idle": "2025-08-18T03:35:25.419465Z", "shell.execute_reply": "2025-08-18T03:35:25.419121Z" } }, "outputs": [], "source": [ "def create_n_BallAndStick(num, r):\n", " \"\"\"num = number of cells; r = radius of circle\"\"\"\n", " cells = []\n", " for i in range(num):\n", " theta = i * 2 * n.PI / num\n", " cells.append(BallAndStick(i, n.cos(theta) * r, n.sin(theta) * r, 0, theta))\n", " return cells" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's create 7 cells with r = 50 microns:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "execution": { "iopub.execute_input": "2025-08-18T03:35:25.421139Z", "iopub.status.busy": "2025-08-18T03:35:25.421003Z", "iopub.status.idle": "2025-08-18T03:35:25.424168Z", "shell.execute_reply": "2025-08-18T03:35:25.423809Z" } }, "outputs": [], "source": [ "my_cells = create_n_BallAndStick(7, 50)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's plot them using NEURON's built-in graphics:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "execution": { "iopub.execute_input": "2025-08-18T03:35:25.426278Z", "iopub.status.busy": "2025-08-18T03:35:25.425701Z", "iopub.status.idle": "2025-08-18T03:35:25.429861Z", "shell.execute_reply": "2025-08-18T03:35:25.429554Z" } }, "outputs": [ { "data": { "text/plain": [ "1" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ps = n.PlotShape(True)\n", "ps.show(0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using functions like this is extremely flexible. We can switch to 5 cells like this:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "execution": { "iopub.execute_input": "2025-08-18T03:35:25.431399Z", "iopub.status.busy": "2025-08-18T03:35:25.431248Z", "iopub.status.idle": "2025-08-18T03:35:25.434874Z", "shell.execute_reply": "2025-08-18T03:35:25.434559Z" } }, "outputs": [], "source": [ "my_cells = create_n_BallAndStick(5, 50)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The old cells disappear (they get garbage collected, as there are no longer any references to them), and the new cells appear in the existing graph." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## A first synapse, and input via a NetStim" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Okay, we have our ball-and-stick cells arranged in a ring. Let’s now stimulate a cell and see that it responds appropriately. Instead of stimulating with a current electrode as we did before, let’s assign a virtual synapse so that we get acquainted with driving the cells through synaptic events.\n", "\n", "Event-based communication between objects in NEURON takes place via network connection objects called NetCons. Each NetCon has a source and target, where the source is typically a spike threshold detector. When a spike is detected, the NetCon sends a message to a target, usually a synapse on a postsynaptic cell.\n", "\n", "A NetStim is a spike generator that can be used as the source in a NetCon, behaving as external input onto the synapse of a target cell. The following code makes a NetStim object that generates one spike at time t=9. The NetCon then adds another ms delay to deliver a synaptic event at time t=10 onto the first cell.\n", "\n", "The code below makes a stimulator and attaches it to a synapse object (ExpSyn) that behaves much like an AMPA synapse – it conducts current as a decaying exponential function." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "execution": { "iopub.execute_input": "2025-08-18T03:35:25.437061Z", "iopub.status.busy": "2025-08-18T03:35:25.436482Z", "iopub.status.idle": "2025-08-18T03:35:25.439831Z", "shell.execute_reply": "2025-08-18T03:35:25.439514Z" } }, "outputs": [], "source": [ "stim = n.NetStim() # Make a new stimulator\n", "\n", "## Attach it to a synapse in the middle of the dendrite\n", "## of the first cell in the network. (Named 'syn_' to avoid\n", "## being overwritten with the 'syn' var assigned later.)\n", "syn_ = n.ExpSyn(my_cells[0].dend(0.5))\n", "\n", "stim.number = 1\n", "stim.start = 9\n", "ncstim = n.NetCon(stim, syn_)\n", "ncstim.delay = 1 * ms\n", "ncstim.weight[0] = 0.04 # NetCon weight is a vector." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exponentially decaying currents, such as that generated by the synapse `syn_` have dynamics that depend on `tau`, the time constant. Let's specify a time constant of 2 ms:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "execution": { "iopub.execute_input": "2025-08-18T03:35:25.441962Z", "iopub.status.busy": "2025-08-18T03:35:25.441365Z", "iopub.status.idle": "2025-08-18T03:35:25.444044Z", "shell.execute_reply": "2025-08-18T03:35:25.443724Z" } }, "outputs": [], "source": [ "syn_.tau = 2 * ms" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The parameter `tau` specifies how quickly the currents decay. The exact value of the current depends on the cell's membrane potential, and the synapse's reversal potential, `syn_.e`." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "execution": { "iopub.execute_input": "2025-08-18T03:35:25.446083Z", "iopub.status.busy": "2025-08-18T03:35:25.445446Z", "iopub.status.idle": "2025-08-18T03:35:25.449480Z", "shell.execute_reply": "2025-08-18T03:35:25.448709Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reversal potential = 0.0 mV\n" ] } ], "source": [ "print(\"Reversal potential = {} mV\".format(syn_.e))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Running and plotting a simulation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Right now, there are no synapses between cells, but let's confirm that the first cell works correctly:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Recording" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "execution": { "iopub.execute_input": "2025-08-18T03:35:25.451339Z", "iopub.status.busy": "2025-08-18T03:35:25.451204Z", "iopub.status.idle": "2025-08-18T03:35:25.454324Z", "shell.execute_reply": "2025-08-18T03:35:25.454016Z" } }, "outputs": [], "source": [ "recording_cell = my_cells[0]\n", "soma_v = n.Vector().record(recording_cell.soma(0.5)._ref_v)\n", "dend_v = n.Vector().record(recording_cell.dend(0.5)._ref_v)\n", "t = n.Vector().record(n._ref_t)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Simulating" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "execution": { "iopub.execute_input": "2025-08-18T03:35:25.456463Z", "iopub.status.busy": "2025-08-18T03:35:25.455661Z", "iopub.status.idle": "2025-08-18T03:35:25.463286Z", "shell.execute_reply": "2025-08-18T03:35:25.462971Z" } }, "outputs": [ { "data": { "text/plain": [ "0.0" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "n.finitialize(-65 * mV)\n", "n.continuerun(25 * ms)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plotting" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As before, if you're running in a Jupyter notebook, you'll need to tell it to display plots inline. Skip this step if you are running from a script:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "execution": { "iopub.execute_input": "2025-08-18T03:35:25.464814Z", "iopub.status.busy": "2025-08-18T03:35:25.464683Z", "iopub.status.idle": "2025-08-18T03:35:40.667650Z", "shell.execute_reply": "2025-08-18T03:35:40.665612Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Matplotlib is building the font cache; this may take a moment.\n" ] } ], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "execution": { "iopub.execute_input": "2025-08-18T03:35:40.671831Z", "iopub.status.busy": "2025-08-18T03:35:40.671590Z", "iopub.status.idle": "2025-08-18T03:35:40.942453Z", "shell.execute_reply": "2025-08-18T03:35:40.942050Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAGdCAYAAAA8F1jjAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAVcNJREFUeJzt3Xl4VOX9///nzGRmsu8kIRBWWURAEBTRalUowbrUqm2t1kJLtVpoVRAratXaVvp1t5ZW24+iP6tFrVurrUpRqQtuKCogqMieBQhkT2bL+f1xZiYZyDIhmSWZ1+O6zjUnZ07O3BlC8sp9v+/7WAzDMBARERGJQ9ZYN0BERESkIwoqIiIiErcUVERERCRuKaiIiIhI3FJQERERkbiloCIiIiJxS0FFRERE4paCioiIiMStpFg3oKdaWlooKysjIyMDi8US6+aIiIhIGAzDoK6ujuLiYqzWjvtN+nxQKSsro6SkJNbNEBERkcOwc+dOBg8e3OHzfT6oZGRkAOYXmpmZGePWiIiISDhqa2spKSkJ/h7vSJ8PKoHhnszMTAUVERGRPqarsg0V04qIiEjcUlARERGRuKWgIiIiInGrz9eoiIhI3+fz+fB4PLFuhvQim81GUlJSj5cOUVAREZGYqq+vZ9euXRiGEeumSC9LTU1l4MCBOByOw75G1ILK73//e5YsWcIVV1zBPffcA0BzczOLFi1ixYoVuFwuSktL+dOf/kRhYWG0miUiIjHk8/nYtWsXqampDBgwQAt39hOGYeB2u9m7dy9bt25l1KhRnS7q1pmoBJX333+fBx54gIkTJ4Ycv+qqq3jxxRd56qmnyMrKYsGCBZx77rm89dZb0WiWiIjEmMfjwTAMBgwYQEpKSqybI70oJSUFu93O9u3bcbvdJCcnH9Z1Il5MW19fz0UXXcRf//pXcnJygsdramp48MEHueuuuzjttNOYMmUKy5cv5+233+add96JdLNERCSOqCelfzrcXpSQa/RCOzo1f/58zjjjDGbOnBlyfO3atXg8npDjY8eOZciQIaxZs6bD67lcLmpra0M2ERER6Z8iOvSzYsUKPvzwQ95///1DnquoqMDhcJCdnR1yvLCwkIqKig6vuXTpUn7961/3dlNFREQkDkWsR2Xnzp1cccUVPPbYY4c9LtWeJUuWUFNTE9x27tzZa9cWERHp61atWsWRRx6Jz+eL6Otce+21/PznP4/oa0AEg8ratWvZs2cPxxxzDElJSSQlJbF69Wr+8Ic/kJSURGFhIW63m+rq6pDPq6yspKioqMPrOp3O4H19dH8fERGRUNdccw033HADNpsteOz111/nmGOOwel0csQRR/Dwww93eo1t27ZhsVgO2drWkF599dU88sgjfPXVV5H6UoAIBpUZM2bw6aefsm7duuA2depULrroouC+3W5n1apVwc/ZvHkzO3bsYPr06ZFqloj0krpmD8te+5L3t+2PdVNExO/NN99ky5YtnHfeecFjW7du5YwzzuDUU09l3bp1XHnllfzkJz/h5Zdf7vJ6//3vfykvLw9uU6ZMCT6Xn59PaWkpf/7znyPytQRELKhkZGQwfvz4kC0tLY28vDzGjx9PVlYW8+bNY+HChbz22musXbuWH/3oR0yfPp3jjz8+Us0SkV7yq+fWc/vLm7ngL++woawm1s2RfsIwDBrd3phs3V1w7h//+AcTJkwgJSWFvLw8Zs6cSUNDAy0tLdxyyy0MHjwYp9PJpEmTeOmll4KfF+itePLJJznppJNISUnh2GOP5fPPP+f9999n6tSppKenc/rpp7N3797g573//vt84xvfID8/n6ysLL7+9a/z4YcfhrRpxYoVfOMb3wgpubj//vsZPnw4d955J0ceeSQLFizg/PPP5+677+7ya8zLy6OoqCi42e32kOfPOussVqxY0a33rbtiujLt3XffjdVq5bzzzgtZ8E1E4luzx8e/15tF774Wg7/+7yvuuWByjFsl/UGTx8e4G7v+Sz8SNt5SSqojvF+L5eXlfP/73+e2227j29/+NnV1dbzxxhsYhsG9997LnXfeyQMPPMDkyZN56KGHOPvss9mwYQOjRo0KXuOmm27innvuYciQIfz4xz/mwgsvJCMjg3vvvZfU1FS++93vcuONNwZ7LOrq6pgzZw733XcfhmFw55138s1vfpMvvviCjIwMAN544w0uvPDCkLauWbPmkJm3paWlXHnllV1+nWeffTbNzc2MHj2aa665hrPPPjvk+eOOO45du3axbds2hg0bFtZ7111RDSqvv/56yMfJycksW7aMZcuWRbMZItJD63ZW4/a2BD9+eUMlzR4fyXZbJ58l0n+Ul5fj9Xo599xzGTp0KAATJkwA4I477uCXv/wlF1xwAQD/7//9P157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fchfOFu3bmXdunXk5uYyZMgQrrzySn77298yatQohg8fzq9+9SuKi4s555xzYtfoPqiz9zk3N5df//rXnHfeeRQVFbFlyxauueYajjjiCEpLS2PY6r5l/vz5PP744zz//PNkZGQE606ysrJISUkhKyuLefPmsXDhQnJzc8nMzOTnP/8506dP5/jjj49x6/uWrt7rLVu28Pjjj/PNb36TvLw8PvnkE6666ipOPvlkJk6cGNnGRX2eUR9x3333GUOGDDEcDodx3HHHGe+8806sm9SvfO973zMGDhxoOBwOY9CgQcb3vvc948svv4x1s/qF1157zQAO2ebMmWMYhjlF+Ve/+pVRWFhoOJ1OY8aMGcbmzZtj2+g+qLP3ubGx0Zg1a5YxYMAAw263G0OHDjUuueQSo6KiItbN7lPae38BY/ny5cFzmpqajJ/97GdGTk6OkZqaanz72982ysvLY9foPqqr93rHjh3GySefbOTm5hpOp9M44ogjjMWLFxs1NTURb5vF30ARERGRuKMaFREREYlbCioiIiIStxRUREREJG4pqIiIiEjcUlARERGRuKWgIiIiInFLQUVERETiloKKiIiIxC0FFREREYlbCioiIiIStxRUREREJG4pqIiIiEjc+v8BxRtLEJ6ZKzEAAAAASUVORK5CYII=", "text/plain": [ "