Skip to content

Instantly share code, notes, and snippets.

@jwirfs-brock
Last active August 29, 2015 14:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jwirfs-brock/ce59704a2f0eac608981 to your computer and use it in GitHub Desktop.
Save jwirfs-brock/ce59704a2f0eac608981 to your computer and use it in GitHub Desktop.
Data Analysis for State-level SAIDI 2013
{
"metadata": {
"name": "",
"signature": "sha256:39d92c04b29270cb0fa877f1fb49706c599ee8ec1c9a651afd7b2729540a8ec5"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This notebook outlines the data-crunching I did to take the 2013 grid reliability from the EIA for [this Inside Energy story](http://insideenergy.org/2015/03/20/ie-questions-how-long-is-your-blackout/). (This is my first time using IPython Notebook and pandas, and I'm a newbie to programming in general, so please forgive my ugly code!) \n",
"\n",
"If you have any questions about the methods or the data, email me at jordanwb@insideenergy.org.\n",
"\n",
"A few notes:\n",
"* You can download the raw data from the EIA [here](http://www.eia.gov/electricity/data/eia861/).\n",
"* Some utilities report SAIDI and SAIFI using IEEE definitions, and some don't. For this analysis, they were compared together. For a discussion on how use of the IEEE standard may bias reporting, see [this paper](http://certs.lbl.gov/pdf/lbnl-5268e.pdf).\n",
"* Most utilities reported SAIDI and SAIFI both with and without major event days (MED). However, utilities that only reported SAIFI with MEDs were excluded from the SAIFI without MEDs calculations, and vice versa.\n",
"* Null values were removed, but zeros weren't. In some cases, there is a chance that a utility reported a 0 instead of a null value, but because there was no way to determine if this was an error, 0 values were included."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%matplotlib inline\n",
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib\n",
"matplotlib.use('svg')\n",
"import matplotlib.pylab as plt\n",
"from IPython.display import Image, SVG"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Import original data file for 2013 grid reliability data [downloaded from EIA](http://www.eia.gov/electricity/data/eia861/)\n",
"df1 = pd.io.excel.read_excel('../DataOriginals/f8612013/Reliability_2013.xls', 'RELIABILITY_States', skiprows=1, na_values=\".\")"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 55
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#Select non-null values for SAIDI With MED (from both IEEE and non-IEEE utilities)\n",
"df_SAIDI_wm_1 = df1[np.isfinite(df1['SAIDI With MED'])]\n",
"df_SAIDI_wm_2 = df1[np.isfinite(df1['SAIDI With MED.1'])]\n",
"#Create a single data frame\n",
"df_SAIDI_With_Med = df_SAIDI_wm_1.append(df_SAIDI_wm_2)\n",
"#Change null values to 0 and turn SAIDI With MED, Customers into a single column\n",
"df_SAIDI_With_Med = df_SAIDI_With_Med.fillna(0)\n",
"df_SAIDI_With_Med['SAIDI_WM'] = df_SAIDI_With_Med['SAIDI With MED'] + df_SAIDI_With_Med['SAIDI With MED.1']\n",
"df_SAIDI_With_Med['Customers'] = df_SAIDI_With_Med['Number of Customers'] + df_SAIDI_With_Med['Number of Customers.1']\n",
"#Create a dataframe that only has the columns we need\n",
"SAIDI_With_Med = df_SAIDI_With_Med[['Utility Name', 'State', 'SAIDI_WM', 'Customers']]\n",
"\n",
"#Select non-null values for SAIDI Without MED (from both IEEE and non-IEEE utilities)\n",
"df_SAIDI_wom_1 = df1[np.isfinite(df1['SAIDI Without MED'])]\n",
"df_SAIDI_wom_2 = df1[np.isfinite(df1['SAIDI Without MED.1'])]\n",
"#Create a single data frame\n",
"df_SAIDI_Without_Med = df_SAIDI_wom_1.append(df_SAIDI_wom_2)\n",
"#Change null values to 0 and turn SAIDI With MED, Customers into a single column\n",
"df_SAIDI_Without_Med = df_SAIDI_Without_Med.fillna(0)\n",
"df_SAIDI_Without_Med['SAIDI_WOM'] = df_SAIDI_Without_Med['SAIDI Without MED'] + df_SAIDI_Without_Med['SAIDI Without MED.1']\n",
"df_SAIDI_Without_Med['Customers'] = df_SAIDI_Without_Med['Number of Customers'] + df_SAIDI_Without_Med['Number of Customers.1']\n",
"#Create a dataframe that only has the columns we need\n",
"SAIDI_Without_Med = df_SAIDI_Without_Med[['Utility Name', 'State', 'SAIDI_WOM', 'Customers']]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 144
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#Export as utility-level SAIDI data as Excel files\n",
"SAIDI_Without_Med.to_excel(\"SAIDI_Without_Med.xlsx\")\n",
"SAIDI_With_Med.to_excel(\"SAIDI_With_Med.xlsx\")"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 153
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#Calculated total interruption time so can compute summary SAIDI values\n",
"SAIDI_With_Med['TotalInterruption'] = df_SAIDI_With_Med['SAIDI_WM'] * df_SAIDI_With_Med['Customers']\n",
"SAIDI_Without_Med['TotalInterruption'] = df_SAIDI_Without_Med['SAIDI_WOM'] * df_SAIDI_Without_Med['Customers']"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 169
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"TotalInterruption_With_Med = SAIDI_With_Med['TotalInterruption'].sum\n",
"TotalInterruption_Without_Med = SAIDI_Without_Med['TotalInterruption'].sum"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 160
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#This was some code to add a numeric index that I could use to make a plot -- don't need it anymore!\n",
"#State_Codes = df2['State'].unique()\n",
"#State_Codes.sort()\n",
"#s = pd.Series(range(0,52), index=State_Codes)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 173
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#Aggregate SAIDI with and without major event days by state\n",
"grouped_SAIDI_With_Med = SAIDI_With_Med.groupby('State').aggregate(np.sum)\n",
"grouped_SAIDI_With_Med['StateSAIDIWithMED'] = grouped_SAIDI_With_Med['TotalInterruption'] / grouped_SAIDI_With_Med['Customers']\n",
"\n",
"grouped_SAIDI_Without_Med = SAIDI_Without_Med.groupby('State').aggregate(np.sum)\n",
"grouped_SAIDI_Without_Med['StateSAIDIWithoutMED'] = grouped_SAIDI_Without_Med['TotalInterruption'] / grouped_SAIDI_Without_Med['Customers']"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 174
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#Export data frames as Excel files (note -- need Excel files to do visualization in Tableau)\n",
"SAIDI_With_Med.to_excel(\"utils_2013_SAIDI_with_med.xlsx\")\n",
"grouped_SAIDI_With_Med.to_excel(\"states_2013_SAIDI_with_med.xlsx\")\n",
"SAIDI_Without_Med.to_excel(\"utils_2013_SAIDI_without_med.xlsx\")\n",
"grouped_SAIDI_Without_Med.to_excel(\"states_2013_SAIDI_without_med.xlsx\")\n",
"\n",
"#Export data frames as CSV files\n",
"SAIDI_With_Med.to_csv(\"utils_2013_SAIDI_with_med.csv\")\n",
"grouped_SAIDI_With_Med.to_csv(\"states_2013_SAIDI_with_med.csv\")\n",
"SAIDI_Without_Med.to_csv(\"utils_2013_SAIDI_without_med.csv\")\n",
"grouped_SAIDI_Without_Med.to_csv(\"states_2013_SAIDI_without_med.csv\")"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 180
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#Playing with plotting a little bit\n",
"bp = SAIDI_With_Med.boxplot(column='SAIDI_WM', by='State', grid=False)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAY4AAAEaCAYAAAAG87ApAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnXmYXVWVt9/FKJMkEQ0Q0ERIWsLUzNKKFGrTaNuArQJx\nCsrn0FEBZ+huTdI+zae2A4OCDyqQ+AlNWlFB00jAFDJHMYRAGIUACRDmeUrI+v5Y61AnN/feqnNT\nt+pW1e99nlt17h7X3mefvfawzr7m7gghhBB9Zb3BFkAIIcTQQopDCCFEJaQ4hBBCVEKKQwghRCWk\nOIQQQlRCikMIIUQlpDhEWzGzl81soZndYGbXm9n+/Zx+l5ld1EuYA/s734HAzJaa2Zg67s+sQ5pv\nNrNr854sMbPp6d6nOhqqdSn6lw0GWwAx7HnO3fcAMLODgf8LdA2wDAcBTwPXtBLZzAzAB/6lp0b5\nrYscs4D3u/viLNeb0r2vdbROdSmGB5pxiIFkS+AxiM7YzP7LzBab2Y1mdkS6n2xmX8vrfzCzyzPs\nOWb2IzP7k5ndZmb/WJu4mY0xs1+b2SIzu8bMdjWz8cCngM/nKPutNXFea2bzzOwmM/txMco3s/GZ\nzyxgMbB9A3nXmPGY2Q/MbGpeLzWzb2X468xsh1KevzCzBfn5u3R/jZldUsgCWKOKNLPvZbhLzWwr\nM9vBzK4v+U8sfy/xWuBBCEXo7rfUqyMze0/OTP6S9fO6OuHe0qgsYpjj7vro07YPsApYCNwCPAHs\nke7vAy4hOsfXAfcAY4FNgJuIke2twIQMfw4wN693BO4DNiZmLxel+2nA1/L6IGBhXk8HvtBAvh8A\nX83rfwBWA2OA8cDLwL5N5N26nH9Jho/m9d3AiXn9kZKc5wJvyevXA0vy+lTg3/P63YUsdWReDUzJ\n668Bp+X1H4Dd8/ok4DN14n6NUN4XAJ8ENq5XR8Co0vX/Ab7TIFzdsugzvD9aqhLt5nnvWap6M/Az\nYBfgrcC5Hj3OQ2Z2OdFJX2RmnwCuAI5z97szHQfmALj7nWZ2Fz3LLAVvAf45w8zPEfwW6ddo9P4W\n4PCM83sze7zkd4+7LyiFq5V3H+CpXsp/Xv7/b+D7ef1OYKdcAQPYwsw2Aw4A3puyzK2Rpcxq4Py8\n/n+EEgD4CfAxM/sCcETKtwbu/g0z+zlwMPBBYAqhZGHNOtrezOYQynEj4K6SXzlcvbJs6u7PNZBd\nDAOkOMSA4e7X5rLKawlFUO6AjJ61+92Ah4FxvSS5uo5bw+WdJjSK82wv4ZyYUZWXfDdpkk9RPgP2\nc/eX1kg8Ot+q8pfr7QJiRvAH4M/uXlfxuPtdwI9yOezhehvwxMzpO+7+WzM7EJjRJP+1yiKGN9rj\nEAOGmb2JaHOPEDOKI81svVQkBwALzOwNwBeAPYB3mdm+RXTgA7nfsQPwRuC2miyuAD6UeXUBD7v7\n08Rm7hbU5ypidF5s3o9uEK5W3rcBC4B7gclmtpGZjQLeXhPvyNL/q/P6EuDYUr3snpd/JGYBmNm7\nmsiyHvCBvP5gyoa7vwD8HjgDOLtexJq9oUmE4nuCtevo1cD9eX10yb02XG1Z/raBzGIYIcUh2s0m\nuZG6kFiumerBr4AbgUXAZcCX3f0hYrnli+7+IHAM8BMz25gYVd9LdNZzgU/lKNfpGXHPAPYys0XE\nGv/UdL8IeG+xoVsj30zgYDNbDLyf2Dh+Ov1esV5qJK+730csod1ELB/9pSb90SnP54DPp9uxwN65\niX8zseFcyPI2M7uJWLK6p0GdPgvsmzJ3Af9R8juXmIld0iDuh3PTfyEwG/iQu6+uqaO3EnX5P2b2\nZ2L2V9RFbV3WluWTDfIVwwiLJVshOhszO5vYXL6g18DV0t0IeNndX7Z4P+GH7r5nP6V9N7CXuz/W\nH+n1Mc8vAVu4+/SBylOMPLTHIUY6rwfmmNl6wEvAJ/ox7QEdlZnZr4AJrL1cJkS/oqUqMSRw94+t\ny2wj30242syeMLNHzexKM9vb3e/MGcZbgcnAN+rEXWpmb8/roy3ehn86P3eZ2VlmNrEUfryZrQZ2\nbDTbMLP9zewpK5kjWbxHUs/tjLzuNrPVZrZbTVq/yvy+7+5/O5AzHDEykeIQwx4zezXwW+AUYsN5\nHLGf8GIp2PuIPZQuMxtbk0TtzOEqd9+C2EB+J/A8cL2Z7VxBrD8Tz99eJbcDiPdTat0uL32/Dfho\nqWyvAfYHHqqQtxDrhBSHGAlMIl6UPj835l9w93nuvrgUZiqxMX8V8OFe0nvlCBJ3v8vdP0N07jP6\nKpC7rwSuJayzMLPXARsSG+1lt0mEtRWEAjuXsO4qZiVTCDPclX3NW4h1RYpDjARuA162OLbkEDNb\nw8w1TYDfRnTacyiN6CtwATE7qMIfM1/y/5WE4iq73e3u95fi3A8sId5yh3gjfXYL8grRMlIcYtiT\n73K8lRix/5h48/s3OaKH6HwXuPsyQgFMbuF9hAeIo0qq8MeUC0Lp/JE4PPDNJbfuOvFmAx/N92JG\nufu1FfMVYp2Q4hAjAne/NTfYtyeOPNkWODm9Pwr8T4Z7lOisp9ZLpwnjyAMcK3AtsLmZ7UIoiSvc\n/VngvpLbH2viOKHc3g58Bs02xCAgxSFGHO5+G3G8+C757saOwL+b2QNm9gCx2fzBNNHtK+9l7U6+\nNzleAP4EHAps4+63p9cV6bZbvTTd/Xngf4FPE2d/CTGgSHGIYY+Z/Y2ZfcHMxuX37YlN5WuI4zQu\nAXYCds/PLsSZU+/uJd31zWyCmZ1G7EfMbEG8PwLHEXsbBVem2/2lQx5r+VfgQHe/t4U8hVgnmiqO\ntE9fkUcb1Pp9MW3Kx5TcTjSzO8zs1jz3p3Dfy+J3DO4ws1NK7hub2fnpfm1uUgrR3zwN7AdcZ/Hr\nedcQx4d8iTjz6bQ8PqT4LCVG8vU2yR3Y38yeBp4E5gObA/u4+8014frC5cBWhLIouIr43YwrGkVy\n9wfc/epG/kK0k6ZHjpjZAcAzwGx337Xkvj2xyfg35JEKZjaZMBXch1jvvRSY6O5uZguAz7r7AjOb\nC5zq7heb2TRgF3efZmZHAu9196PaVFYhhBD9QNMZh7tfAdQ7mvl7wFdq3A4DznP3lTliuxPYz8y2\nIc7OKX7XYDb5+wfEOu6svP4l8I7KJRBCCDGgVN7jMLPDgGXufmON17bAstL3ZcTMo9Z9OT2/szCO\neFMWd18FPGn1fxtAiCGJmd1cOp6k/Jky2LIJ0SqVDjk0s02JTbm/Lzv3q0RCDCPcvcoxJEIMCaqe\njrsD8VvMi/LEg+2IM3r2I2YS25fCbkfMNJbnda076fd64H4z2wDYst4BbWams9+FEKLNuHufJgKV\nlqrcfbG7j3X3Ce4+gVAAe7r7CuBC4CiLX0KbAEwk3sZ9EHjKzPbL83U+Avwmk7yQnhet3k/8QE6j\nvF/5TJ8+ve4PqDdyb4ffQObVKXKozCNDDpV5ZMhR616F3sxxzyN+7nKSmd1nZh+r7c9LHfsS4pyf\nJcTLSdO8R5ppxAFydwB3uvvF6f5T4DVmdgdwPHBCJemFEEIMOE2Xqty96Qaeu7+x5vtJxE921oa7\nHti1jvuL5O89CyGEGBqsP2PGjMGWoVdmzpw5o1bO8ePH1w3byL0dfgOZV6fIoTKPDDlU5pEhR9l9\n5syZzJgxo0+nHwyJ3xw3Mx8KcgohxFDFzPB2bI4LIYQQUhxCCCEqIcUhhBCiElIcQgghKiHFIYQQ\nohJSHEIIISohxSGEEKISUhxCCCEqIcUhhBCiElIcQgghKlH19ziE6DfyN10AKh/rLIQYPDTjEING\nKIvqvwUghBhcpDiEEEJUQopDCCFEJaQ4hBBCVEKKQwwq06cPtgRCiKroh5yEEELoh5yEEEK0DykO\nIYQQlZDiEEIIUYmmisPMzjKzFWa2uOT2X2Z2i5ktMrMLzGzLkt+JZnaHmd1qZgeX3Pcys8Xpd0rJ\nfWMzOz/drzWzN/R3AYUQQvQvvc04zgYOqXG7BNjZ3XcHbgdOBDCzycCRwOSMc7r1nClxBnCMu08E\nJppZkeYxwKPp/n3gW+tYHjHEmDFjsCUQQlSlqeJw9yuAx2vc5rn76vx6HbBdXh8GnOfuK919KXAn\nsJ+ZbQNs4e4LMtxs4PC8PhSYlde/BN6xDmURQ5CZMwdbAiFEVdZ1j+PjwNy83hZYVvJbBoyr4748\n3cn/9wG4+yrgSTMbs44yCSGEaCMtKw4z+zfgJXc/tx/lEUII0eG0dKy6mR0NvJs1l5aWA9uXvm9H\nzDSW07OcVXYv4rweuN/MNgC2dPfH6uU5o7QY3tXVRVdXVyuiCyGEALq7u+nu7m4pbq9vjpvZeOAi\nd981vx8CfBc40N0fKYWbDJwL7EssQV0K7OjubmbXAccCC4DfAae6+8VmNg3Y1d3/xcyOAg5396Pq\nyKA3x4cpZqBbK8TgU+XN8aYzDjM7DzgQ2MrM7gOmE1ZUGwHz0mjqGnef5u5LzGwOsARYBUwr9fbT\ngHOATYC57n5xuv8U+JmZ3QE8CqylNMTwRmdVCTH00FlVQgghdFaVEEKI9iHFIYQQohJSHEIIISoh\nxSGEEKISUhxiUNFZVUIMPWRVJQYVvcchRGcgqyohhBBtQ4pDCCFEJaQ4hBBCVEKKQwghRCWkOMSg\norOqhBh6yKpKCCGErKqEEEK0DykOIYQQlZDiEEIIUQkpDiHEiMfMyB+mE31AikMMKjqrSnQC06c7\nMsDpO7KqEoOKzqoSojOQVZUQQoi2IcUhhBCiElIcQgghKiHFIYQQohJNFYeZnWVmK8xsccltjJnN\nM7PbzewSMxtV8jvRzO4ws1vN7OCS+15mtjj9Tim5b2xm56f7tWb2hv4uoOhsdFaV6ARk3VeNplZV\nZnYA8Aww2913TbdvA4+4+7fN7KvAaHc/wcwmA+cC+wDjgEuBie7uZrYA+Ky7LzCzucCp7n6xmU0D\ndnH3aWZ2JPBedz+qjhyyqhJCtA1Z9/WjVZW7XwE8XuN8KDArr2cBh+f1YcB57r7S3ZcCdwL7mdk2\nwBbuviDDzS7FKaf1S+AdfRFaCCHE4NHKHsdYd1+R1yuAsXm9LbCsFG4ZMfOodV+e7uT/+wDcfRXw\npJmNaUEmIYQQA8Q6bY7n+tEIn+AJIcTIYoMW4qwws63d/cFchnoo3ZcD25fCbUfMNJbnda17Eef1\nwP1mtgGwpbs/Vi/TGaXdq66uLrq6uloQXQghBEB3dzfd3d0txe31yBEzGw9cVLM5/qi7f8vMTgBG\n1WyO70vP5viOuTl+HXAssAD4HWtuju/q7v9iZkcBh2tzfGQxY4YsWsTgo3ZYbXO8N6uq84ADga2I\n/YyvA78B5hAzhaXAEe7+RIb/V+DjwCrgOHf/fbrvBZwDbALMdfdj031j4GfAHsCjwFG5sV4rhxTH\nMEXWLEJ0Bv2mODoFKY7hixSHEJ2BDjkUQgjRNqQ4hBBCVEKKQwghRCWkOMSgorOqRCcw0i2qqqLN\ncSHEiEdGGtocF0II0UakOIQQQlRCikMIIUQlpDiEEEJUQopDDCqyZhGdgKz7qiGrKjGoyJpFiM5A\nVlVCCCHahhSHEEKISkhxCCGEqIQUhxBCiEpIcYhBRdYsohOQdV81ZFUlhBjxyLpPVlVCCCHaiBSH\nEEKISkhxCCGEqIQUhxBCiEpIcYhBRdYsohOQdV81WraqMrMTgQ8Dq4HFwMeAzYDzgTcAS4Ej3P2J\nUviPAy8Dx7r7Jem+F3AO8CpgrrsfVycvWVUNU2TNIkRn0HarKjMbD3wC2NPddwXWB44CTgDmufsk\n4LL8jplNBo4EJgOHAKebWSHgGcAx7j4RmGhmh7QikxBCiIGh1aWqp4CVwKZmtgGwKXA/cCgwK8PM\nAg7P68OA89x9pbsvBe4E9jOzbYAt3H1BhptdiiOEEKIDaUlxuPtjwHeBewmF8YS7zwPGuvuKDLYC\nGJvX2wLLSkksA8bVcV+e7kIIITqUDVqJZGY7AMcD44Engf8xsw+Xw7i7m1m/rV7PKO2idnV10dXV\n1V9JCyHEiKO7u5vu7u6W4rakOIC9gavd/VEAM7sA2B940My2dvcHcxnqoQy/HNi+FH87YqaxPK/L\n7svrZThD5jfDElmziE5gxoyRZ+FXOwCfOXNmn+O2ZFVlZrsDPwf2AV4grKIWENZUj7r7t8zsBGCU\nu5+Qm+PnAvsSS1GXAjvmrOQ64NiM/zvgVHe/uCY/WVUJIdqGrPuqWVW1NONw90VmNhv4M2GO+xfg\nTGALYI6ZHUOa42b4JWY2B1gCrAKmlTTBNELxbEKY466hNIQQQnQWOh1XCDHi0YxDp+MKIYRoI1Ic\nQgghKiHFIQaVkWbJIjoTWfdVQ3scYlDR2rIQnYH2OIQQQrQNKQ4hhBCVkOIQQghRCSkOIYQQlZDi\nEIOKrFlEJyDrvmrIqkoIMeKRdZ+sqoQQQrQRKQ4hhBCVkOIQQghRCSkOIYQQlZDiEIOKrFlEJyDr\nvmrIqkoMKrJmEaIzkFWVEEKItiHFIYQQohJSHEIIISohxSGEEKISUhxiUJE1i+gEZN1XDVlVCSFG\nPLLuGyCrKjMbZWa/MLNbzGyJme1nZmPMbJ6Z3W5ml5jZqFL4E83sDjO71cwOLrnvZWaL0++UVuUR\nQggxMKzLUtUpwFx33wnYDbgVOAGY5+6TgMvyO2Y2GTgSmAwcApxuZoVmOwM4xt0nAhPN7JB1kEkI\nIUSbaUlxmNmWwAHufhaAu69y9yeBQ4FZGWwWcHheHwac5+4r3X0pcCewn5ltA2zh7gsy3OxSHCGE\nEB1IqzOOCcDDZna2mf3FzH5sZpsBY919RYZZAYzN622BZaX4y4BxddyXp7sQQogOZYN1iLcn8Fl3\n/5OZnUwuSxW4u5tZv203zSiZPXR1ddHV1dVfSXc8xarecDQQmDFDFi1i8BmJ1n3d3d10d3e3FLcl\nqyoz2xq4xt0n5Pe3AicCbwQOcvcHcxlqvru/ycxOAHD3b2b4i4HpwD0ZZqd0nwIc6O6frslvxFtV\nDdcOVtYsQnQGbbeqcvcHgfvMbFI6vRO4GbgImJpuU4Ff5/WFwFFmtpGZTQAmAgsynafSIsuAj5Ti\niBIzZw62BEIIEbS6VAXwOeDnZrYR8FfgY8D6wBwzOwZYChwB4O5LzGwOsARYBUwrTSGmAecAmxBW\nWhevg0xCCCHajF4AHCIM1yWd4VouIYYaOlZdCCFE25DiEIPKSLRmEZ3HcDQ8aSdaqhoiDFerKiE6\nAS2ZVluqkuIQQox4pDi0xyGEEKKNSHEIIYSohBSHEEKISkhxiEFFG/6iE5B1XzW0OT5EGK5WVdqU\nFKIzkFXVMGS4drDDtVxCDDVkVSWEEKJtSHEIIYSohBSHEEKISkhxiEFF1iyiExiOhiftRJvjQ4Th\nalUlRCcgIw1ZVQkhRCWkOGRVJYQQoo1IcQghhKiEFIcQQohKSHGIQUUb/qITkHVfNbQ5PkQYrlZV\n2pQUojOQVdUwZLh2sMO1XEIMNQbMqsrM1jezhWZ2UX4fY2bzzOx2M7vEzEaVwp5oZneY2a1mdnDJ\nfS8zW5x+p6yLPEIIIdrPuu5xHAcsAYox4wnAPHefBFyW3zGzycCRwGTgEOB0Mys02xnAMe4+EZho\nZoeso0xCCCHaSMuKw8y2A94N/AQolMChwKy8ngUcnteHAee5+0p3XwrcCexnZtsAW7j7ggw3uxRH\nCCFEB7IuM47vA18GVpfcxrr7irxeAYzN622BZaVwy4BxddyXp7sYIciaRXQCw9HwpJ1s0EokM3sP\n8JC7LzSzrnph3N3NrN+2PWeU7mxXVxddXXWzHbYM1w5WD6zoBGbOHHltsbu7m+7u7pbitmRVZWYn\nAR8BVgGvAl4NXADsA3S5+4O5DDXf3d9kZicAuPs3M/7FwHTgngyzU7pPAQ5090/X5DfiraqEEO1D\n1n0DYFXl7v/q7tu7+wTgKOAP7v4R4EJgagabCvw6ry8EjjKzjcxsAjARWODuDwJPmdl+uVn+kVIc\nIYQQHUhLS1V1KHT1N4E5ZnYMsBQ4AsDdl5jZHMICaxUwrTSFmAacA2wCzHX3i/tJJiGEEG1ALwAK\nIUY8WqrSsepiCDHSNiRFZzJcjU/ahWYcQwSdVSWEaCc6q2oYMlw72OFaLiGGGlqqEkII0TakOIQQ\nQlRCikMIIUQlpDjEoNLp1ixmRs9BzmK4MhwNT9qJNseHCMPVqkqITkBGGrKqEr1QHkGrXoWQ4oBq\niqO/jhwRQwgpCyHEuqA9DiGEEJWQ4hBCCFEJKY4RSqdstHeKHI3odPlE/9Dp1n2dhjbHhwj9bVXV\nKZuBnSJHIxrJJwMDMdyQVdUwpL872E7psDtFjkY0k6/TZReiCjqrSgghRNuQ4hCiRbQuLkYqWqoa\nImipanDodPmE6C+0VCV6pVNGy50iRyM6XT7RP8h6rhqacQwRdFaVEO1DM0tZVQkhRCWkOAZgqcrM\ntjez+WZ2s5ndZGbHpvsYM5tnZreb2SVmNqoU50Qzu8PMbjWzg0vue5nZ4vQ7pRV5hBBCDByt7nGs\nBD7v7jsDbwY+Y2Y7AScA89x9EnBZfsfMJgNHApOBQ4DTrecNqjOAY9x9IjDRzA5puTRCDCBaOhQj\nlZYUh7s/6O435PUzwC3AOOBQYFYGmwUcnteHAee5+0p3XwrcCexnZtsAW7j7ggw3uxRHiI5m5szB\nlkCIwWGdrarMbDywB3AdMNbdV6TXCmBsXm8LLCtFW0Yomlr35eku2kynjJY7RY5GdLp8on+Q9Vw1\n1klxmNnmwC+B49z96bJf7maP8O2m/qO/O7BOGS13ihyN6HT5RP+gAUI1Wv4hJzPbkFAaP3P3X6fz\nCjPb2t0fzGWoh9J9ObB9Kfp2xExjeV6X3ZfXy29G6c52dXXR1dXVquhDkpkz1biFEP1Hd3c33d3d\nLcVtyRw3N7ZnAY+6++dL7t9Ot2+Z2QnAKHc/ITfHzwX2JZaiLgV2dHc3s+uAY4EFwO+AU9394pr8\nRrw5rt4cHxx0yKEYKQzET8e+BfgwcKOZLUy3E4FvAnPM7BhgKXAEgLsvMbM5wBJgFTCtpAmmAecA\nmwBza5WGEJ2K1sXFSEUvAA4RNOMYHDpdPiH6C51VJXqlU0bLnSJHIzpdPtE/aP+wGppxDBF0VpUQ\n7UMzS51VNSB0d8MIM+wSYtgixaGlqgGhRSs2IYQY8khxCNEiWjoUIxUtVVWgu7tnpjFzZs/GaVeX\nlq1GIlreGD7oXg7MexwjkloFMZRHnJ2y2d4pcjSi0+UT/cNAWs8VB4N3wmC4VTTjaJGB7lD6O79O\nGWF1ihyN0Jvjoh10YtsZsZvjA7lhPdBLUzpsr32Y2SsfIUTvSHG0iPY0hg/u/spHiIFgqL9YOqwU\nRzNkPiv6m6H+8A8UmtGtzVDfNxvym+O1lk4FtRvZemFP9DdD/eEfKDSTG34MecUxnCydBpJOGS13\nihyNjA86Rb5GlEfxQ7GD7hQLI1nPVWNYWVXV3vzh9N6FGnZ76UQrl5HMQCvEVu7/UFfatYzY9zhG\njVrz+3CajQyU7K08DMPtARIDS71B0VBoR0NBxmasy2xvWG2OP/HEYEsw9Cl+Kr5KY5JVklgX+s3U\n3GztT4fSv+9ktWZ8sC7P7JBTHK1aZwy1pam+0inWKv09I+qUcjVjKM9gB5oBqSv3tT8dSn++l9Vs\n4Nau52hI7nGU1yOH0z5Gp9BovbfZ1Hag9gjatSzW2hp383qCob+c0V90+hv4rd7LVvceq5a5lTY1\nZgw8/nhcjx4Njz22pn+t7FX2ONbQVp36CTHdR4/uGUqMHu1rMX362m7ryve/X999/vz+z6sVWi1z\nvXi91W/ehro08gNe+fRVjoFkXdpUK/XRDga7DvtCK3U1UOVqVxtoRivxqtZHOY96+dW65TPatz65\nrwEH81N0Or1VRKsNrZkSOPDA+u5Tp7aWV6s0Klt/NtyqDa3dfo3ozw5lMMrc3wxkXq3S2qCjPbI0\ny6c/20Bf8+yPOHWfidqFu17Sq6I4htweRzMaLU31tnnUylvlS5dWj7MuDMRZVU7PpqIz+PsLjZYA\ndG5Xexmo/aUxY3r2r8eMaXt2w5p6z0Q8xfEZM7p/1wKHlTnuQQfVX4N390priiefDL/+dVxffnmP\nQtplF9hqqx73omMbLm+pG/5KHZnF+lJB8WCb1V8vbQczZ46sDehOeRmOUjtoJ48/zhrtbSRQ3ncY\nM6a9z1G5bvs7n45QHGZ2CHAysD7wE3f/Vmsprd3gyzeq3Ok1O6rk+OPjU3wvwpXjNGOoKo5mNHvI\nGymVRnXfLlrZQIxZVnHd87c3Wi1zMxmLAc5QpFG52tFRDgXjg0YyDhtl2dc1rXZ9CGVxJzAe2BC4\nAdipJswaa3Lz589fa30uNrjmr73Blet78xus9QEOUxtu3u6++/xK7u7uU6c29pvfZEOlmR/U92vk\n3kp6zeoXetLrq185vXrxGsnRm18rccpyrBm+x6+KfK2UuWcTdv5am7DN/OjFwKCejJFeT7x6m771\n6qPhc9QkTjM5emtTjfwapdcXv8rPWJP+oVFe5fvV2Jhk7Xi9lbmVPqAVv3r3mSG2x7EvcKe7L3X3\nlcB/A4fVC1iswXcfdNBaa/CPPw7Tp3fj3jPCgVh+wZ3u6dPBY71vjTTdgfF1Ry5mxqJFJ9Rd7120\n6OQ13Lu7e8zbZs3qfuW6dobS3WDKYmYcdNBBTdaW144Xo95uzGrWiK2nnmpfhOpZV64TL6MedFA3\no0ev6e70pFdv/6Neucr3qzZeWY7G69trp9nIvbdyNZKxmV/D+m0Sp1mZi9Hm9Onda7TR3vxGj3Zg\nOuBryNGszI89Hi09YsX3V6htHzVy1HuOmpW55LuWS7Nntplfo7pfl/tcPGNrudO4f2gkR/l+1dZV\nX9p2IxkbtcPeytzoWYn+ZO0y93afe6WvGqZdH+D9wI9L3z8MnFYTJjVi8Zm+toYHn15n1FCOUzsy\n6Bk1NPerl9dU3lB3hAI4HLj2KC/D1pNxLb8SvcnRuMz1R5tFsOlphlF/pDe9jlv9eupNjoZ5NSlz\nMzmiPuqvrrz7AAATD0lEQVTI0ax+fU05astV+NUbETespxbaW9My9+LXp3bTRzlq20ef8vKeeqql\n2XPUW/028+tTu+mjjM3qt5X73FvdNypXb+2+T7KX4jWr+97SrE0v20Lf+u2+BmzXB3hfXxVHUbi1\nGrv3cvPd63ZCTRthLw2tWSd6IAdWatS9PcgtydEgr748eHXrqql7/bpv2ok2SbN1ZVk/r2bLNq12\noq2Uqyzj2stRzfyayV5djoK67aOUX70CtNKJtlLm5uk1X4Jr/Iw1k6N+ei217V6f2QZl7oPsveZV\nqc9ZM70qimPQ3xw3szcDM9z9kPx+IrDaSxvkZja4QgohxAjA+/jmeCcojg2A24B3APcDC4Ap7n7L\noAomhBCiLoNujuvuq8zss8DvCQurn0ppCCFE5zLoMw4hhBBDjL5uhgzWBzgcWA38TX4fDyyu8VsM\nbFn4NYjzPLAQuIfYCHtT+n0m3RcDjwMvpn83MDHDfA1YBfwV+DPwO2AisDNwJfAU8BKwHPhDxn8u\n47wILAMuKZXpZeCZ9HsOuAbYpOT3cro/B9wEfJ6YkZ1bkuFq4PBSmidnma3kdjRpaJDyfbHkd3zW\nyTM1dfQXYAlwHTC1xn9xKX7ZfTXw2ZLbD4DvEkuQ2wN/k2VamGnPTb8/AJ8uxdsPWETMPFcDP8ty\nLSNmxw8DFxV+GefXWX9lv6vy+1+A27PsV5bqxIHHUp6FGecF4KIM8/Gsi3J6LwO7luR4qiTj4Sn3\nkrznC9Lvf4DfEu8m3Zz3u0hzReb9ErFE+wBwUvrNJdrjjVn2i1MuB57OeLen/2kZ5+oMu5Bohw8Q\nz8QM4IsZ5juZztKiXPl9BnAhsZNefHfWNFr5TcY5Jv2+U/L7CtGeP0C0zd+kfHcCDwFvAbqAeTV+\nS4AjMt6DJffrgIuBdwJPZn7PZ1pz6HlWinuxOst9I3ABsHn6/1fe10Xpv2/GuZyeZ+8Z4Fjieb89\n83kBeDbrsdxGinv2APBE/l+a93B05jma6EeezXu1NPMp0jkLOB24gmgrnyrV49VZDwuBRzPeI2Tf\nQTxT3UR/8DDwfzP9q0tpLCWeh6KPvD5ln5Tffw/8mHiuvpJpvgjsUkrjy8CPmvXLnfAeR29MIR6+\nKXX8TiBuzlx3f7KXOHe6+x7AtcTNmAng7j8E9iQa0FeJivwZ0ZjGWhhCf4V48L/h7ntnvlsTD8EY\n4EvEQ7qIuPnPufummc6ngFvSHTMbS7yr/A533xh4A7Ap8B8p54vA79x90/zsQjSkfYBud98hZTgK\n2C7TXA84lGggB5bK7A2uizqaR3TS5Tra090nZ/rH1/iXKaf3UNZX4TYO+BBwiLvfB5wKvJj1/zlC\n4R6SeXy5VIbTgH9x95eJB29n4p2eJcAXiI7RC7+sy12ArVKGwm8cMMfd9wSOIwYLe5vZmzLMSuIB\n2z9leiHrrtgYnEy0h3J6y4B/A/4+ryEe7L2B7xD1/0VCIU4mOqAu4DJ3/1uijdyVab6U6b+T6JxO\nJx7UfyU6k3cAR7j7bkXdZX7FQOSd7j6JUEhHZ3pvyjT2AL6X10WnW+T5XjN7TX5/Gdip9L0WB/45\n/QF2yzpemN8/UPLbkehUfwFMAB5J+X5IdICHZXp7Axek3ySiE59CtP0H0n0W0a5vzvv0x6yr0ZnW\n5sRgg7wX1wO4+x5ZX08BnzKz/YG3A3e4++5Zp/cRHfdOwKh8RvfMe+XAUe6+CbBF1u3zme4eNffs\nR4Ty+RFxjx8FvpkyfRP4EzHY/AKhBP9aSmcnYgB4DzFgKPdRrwFuznAXpv9t7n5w+u8P/C8xULme\nsEhdRQxii2doK6I/Kdg879tR6f8aon2+Dzgv0/wa0QYxs3FEn/VVmtDRisPMNidGoZ8Fjqzx+whx\n07uIh7ZgvSZxivTmZLyCg4iGcSsx+pnm7je6+5XABzPMp8ib7O6LiYZ/J/Cwu5/p7s9nnh8lOqGC\np4FPph/EDGelu1+XaT1MNISPlUWtqYo9CUuzMwsHd7/X3X+QX7sIpbWSNRtiXQsJM9uBeEv/pPy/\nFu5+N9HwN6rnX8PDwGXAhmb2NuKB/V6mAaFkPf3OBP7e3e9294eITndjojNY5O5Xl9K9mWj0ZwH/\nh2joRZnmAl8nRvBPA/eW/G4kOjCI+vgx8aB+sib+P+b1hsQobWx+358YfZbTW0Iosk+mHAUrgf91\n93syr1lEu9iImNVsU5Lj7ExzZdbD5+vU5XrAOYTihejg/5LXq4mBTxFvETEDhRjplwcNZerluTrj\n1JOhUK7PAZ/P9vJ8foq0bi7F3YOYIb2dUJwHmtnOwDSic/84Uaer3X0WgLuvJjrVgzO9ZWb2xfy+\nBzHbfaUDdPcXiM58GaGoIOr0DGB1KgqI+7gD0eYeK8V/jJi9HA78KZ9X3P12d/9xqZ7weBF5HjDa\nzHZLv9r6Kz9bjwBvNrPjgb8jBokG/DLrJCKYjQe2zX5lArAZ8DozG5d+m5FKgFCU9wFPm9koM9uY\nUDrnAXtluR8iBkCbm9ko4G+JtvwksF7GGUvczyOJ9ntThlmW8XcCvg88YGZT83p6zUB8LTpacRAj\nlYvd/V7gYTPbM93HE8sh/+3uC2v8tmgQp0hvHtEwHyr57UJU6NnAR939mVKcKcAN7n4tsKOZvS7d\ni1Hp9UVAd7+L0PBrkB3o+hl3Z6IzqOf/WqITfZeZPWdmT5jZQmK01+xGTgHOJxrEx8xsYcabSf3R\n5FHEiPxaooG9rk4YiNFlX9vIt1P2XxGzvRUlv+8TncClxPJN2e9HmceXiJldmU1S/t8T9/xPJb/z\niVHTBZnvpJLfAmBiPji7Eh3Uk8SoHGKk+z7gJ1lP6xGzw3EZZztiyaDgOqKz+h7wtvxesD4wqU5e\n6xGz1+PNbD4xUr2jFO90QjkUHZCX0psBfMjMXs3aXF3jd3/m9WfgIDNbRCj8qelvRGe3KTEI+jKw\nbfr9KWXYuE4+TrTto4nB0A0l95WZxofMbCuiXm8h2va1xDLI1cQMfRmh1PcGNivaZtb7uwll9Ajw\nVmJw9q4cUNxLj4LAzMYQS007Ajea2auIAd//pjxTzGx9QvHcBFySMk4ysx/moGVHYta3rZndVnIv\nl7l8fT89bQZ67lm9+voK0T6OL9JJZbWI6JMgnrvzzWx7YqXiamJQcmT6nQusSv/XEkp4AaF0986w\nK4BXEYr6TuLevwD8U6ZzD/HcbppxFmUdr0+8bH1Nxrk+/Renojwe+E/gNe7+8zrlW4NOVxxTiI6G\n/D+FuCkPESOmp+v4jWoQZwfixk8h1ibPpGd07sRUdra7X1Mjw57E6BNiPf0D/VO0hrxIjGA3dfdR\nOW1dQ2mY2Q/M7AYzW2BmGwLvIkbezxNT3H/PeF+n/qzjKHrqaBWNy9TnY9hS+a0iGu7ONX7npGw3\nZ17XmtlG6Vcso8x199rDD95MKMPDiJH1viW/h4h7vQOhrFbSo7SXAa8m7u/v6pRllbvvRDx4p6Tc\ndxMP2xTiYSuzPNODaCtbl/xeIJayynkV5T6T6MRuJTrHn5AzOHd/GphdSrcs3zPpdyxr82KNn5Xc\nLyPu6/eImU8h7/eI5dPdiaWUZ9PvpUxrvzr5APyc6GiPyXIUrCbq6rdE/d2T9VB0vKcD67v77HJ1\nAMuLJZvSckxBoVQPZk0OIO7rw/l/MTEDfQ+xdPsS0UY+TTzX2xPLdM9mmOUZ93xiRraaGLF/snDP\nkTbUb++vKJPSPduvjv+7CEWza437hUQ7hejYz8v/v8jrLYi2U/hdTcxaXkf0O9fk9/3T758IpboP\n0ZZ2IhTF4cTs5nJihrpZxrkq4y0E3ksMbN5ItJfCH3d/gGg/Z9Spg7XoWMWRI4yDgJ+a2d3ESOkD\nxM19kai0T5rZQyW/UUTjqhdnKTHSfIyo/H8jNuYgHvxtgG/UyLArsWb4wUzvKHqUzRLipu9VCv9G\n4qGvLcsbgZdzJHUzNfsGJf+HG1THUmIPBQB3/yyh6F4L/EOW+yaisRxQknGtByHLNBG4NMu0AfX3\njyBmZqsb+NWjuC9jiYe2zMtEQ11BTMN3rvGvnRmtT5TrjcBPibK+s+R/RMb5KTEq3oa4jwV3E8tg\nxfLWlsQ9K3NhhlmVYR7M79eydt3dTWy2nkbPMhKZ5u118irq7VdEG5xCjCDLJw2dTLShzUpuLxMj\nwZOJDrvsV45X+G1TyuuKBnHKZSnyLH/fk/pLkr8lZnqjWdt0/zxi4FbsQZH/98plKAfImdHriRHu\nqJo0NiRmlVsR7eIfgZPN7N0Z584s0zPEAOE5YlO+WJL9+2zD6xFK8GhCgRVn3TnwrLvPIJaKDyUU\ny2bufnnJ/X2l8AVG1G3tqwG19fUo0cm/k2jfn888imf5UmKmtQewaa6QTCGWpk8i9vp2A7ZMv6sI\nY4LRhEK+llAcxRLYFGKf4syUewui/RWzsd/QM+Mo4lxFPJuTiGdzIbGs9XfpV/DKfeuNjlUcxLRq\ntruPd/cJ7v56ogN9PTFKm010gM8R699LieNKHm8WJ92OIKZ9d+dU9cP0jKwAyLXNU4mNo0XASe4+\njpjmHkx0AjsCrzWzT5jZJhn+Z6ypGF5NLMeclt9/QOwF7Jv5vJZYbjmrSV0sJJayPl1yKzqHKcAx\n7j6BGElOIB6oTRqkNYVYw5xQirMtPcsXRfnHEx3lS03kqsUJxbgK2N/MPp5pHQKvrFN/jGj4b2uU\nSLIhcT92ITa4X08o6aLNTiE65OPcfTtimaOsOJYQJxLcDOye8X/MmpxFLAsVHe99+f3+OvIsSb+T\nUo6i4/gO8RCeknltTbSLl8zsIGL5YQYxStyWmHmR9VFY33yYngf2JaLeNyL24o4hFDg18eYQhgZv\nJGZblmkXcYr0rE7cZ4n69fx+M9HxrBEn9wG+XCdNCMVRzFTfnGldBmya+4/k0tF3iSXga4g2XPbb\nh1g63ggY5+53EM/9HEJpPVeSeykxu/laKqO3AtuX2nChAI4F/tPMJhFKr2APQgn8Cjg7Z+oQnXSh\nFC1l25BQBE+4e3mmRZ36epZ4Fs9KQ5AfZr1cmVGeyzBnA+emXJu5+3buPp6YIT5ODEwgOvr3kAYR\nmd8oQindkOV+O6GwLs9yjyWU16YZ/ymiDypmKVcTz9sLxIxzdinN8p5i3/EOMLmt9yFMNQ+ucfsc\nsan5TOFHaOtlxBr7I8RDdF/p85PaOBnvBuKhPytvQtkc93l6TDAnESOP84kR0CNEJ7ID0aldRY85\n7gpiyWgV0dkXDeILrGkmu4oec9wXMo3CxPBZwtRvYenz7/Q0wMKy5s/E2vMj9JgfPpX/f0k03qnA\nqen2QsrxV9I0r4hDPNwnZR5lc9yPltIcn2Us6nU18aCOB24spbVb1ttxhDL+p0z/5azzG4jGfhfw\nnoxXLDsWaZ+YbpvX3P/LiXX5p4H7avwOzHp7JstdWADdRozarshwU+kx3yw+z2b8C0thfknMSJ4q\n12P6n0Kaxub39xIDkVuyfhdkvC8Rncwion39oEizlNbSzP/rpTo8OsPfkrLOLd3DwuT2r9kWTs04\n09Nvcdb1A4SynJ73vTZPL+VZmGQW36cDL5TCvy5lvIsYbRdtYmHWU1n+7bKML9OzFLhh1u8l6VeY\n3RZLl+9nTXPcC4jR9pHl+iLW9u8l2ta5NW14DPH8bZhxTiCekcIc9xcZZt+sp+I5fxT4Z2A+saS4\nKP9fB5xYzqN0/e2ivoglr98R/VXRnu4CDig9N0vp6Uu+TgxCi7QOS7878vv6xNL0DcA/p9vZ2RY+\nSgxEijD/USr3S4ShTpHnY8AtNWleTDzjWxRp1jxDZxd59vbRC4BCjHDM7ALgTHe/eLBlEUODTl6q\nEkK0GTO7kRjxXjLYsoihg2YcQgghKqEZhxBCiEpIcQghhKiEFIcQQohKSHEIIYSohBSHEH3AzP7N\nzG4ys0V51tK+ZnZckxcty3GP70s4IYYKsqoSohfy5NXvAge6+8o8DudVxIube7v7o73Ev7sv4YQY\nKmjGIUTvbE38xsRKeOXU0/cTR4jMN7PLAMzsDDP7U85MZqTbsXXCHWxmV5vZ9WY2x8zqnUclRMei\nGYcQvZAd+5X0HA1/vrv/MWcSe6UiwcxGu/vjeQ7TpcDn3P2mcrg8hvyXxI9cPW9mXwU2cvdv1M1c\niA6k9sRLIUQN7v6sme1FnDx8EHEU94npXT5E8Egz+wTxXG1D/GbLGofkEQcCTgauNjOIA/5aO2hO\niEFCikOIPuBxVPjlwOVmtpg4iBB6jg+fQPx07N7u/qSZnU3sg9Rjnrt/sIGfEB2P9jiE6AUzm2Rm\nE0tOexAnnj5Nzw8xvZo4JfYpi99Cf1cpfDncdcBbLH6OFTPbrCZtIToezTiE6J3NgdMsftd5FfFr\ndZ8kfor1YjNb7u7vyJ9DvZU4Gv7KUvwza8IdDZyXPzcL8aNi5Z+VFaKj0ea4EEKISmipSgghRCWk\nOIQQQlRCikMIIUQlpDiEEEJUQopDCCFEJaQ4hBBCVEKKQwghRCWkOIQQQlTi/wM6eBx9hkMWjAAA\nAABJRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x10a69d690>"
]
}
],
"prompt_number": 181
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#Plot state values -- TODO add state ID back in!\n",
"#plt.plot(s[df2['State']], df2['SAIDI'], 'r.', alpha=0.2)\n",
"#plt.plot(s[grouped.index], grouped['StateSAIDIWithMED'], 'b.')\n",
"#plt.yscale('log')\n",
"\n",
"#plt.savefig(\"test.svg\")\n",
"#SVG(filename=\"test.svg\")"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 177
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment