From 5d64e298c3a04176607cdade1940b9408eada5fd Mon Sep 17 00:00:00 2001 From: Laurence Withers Date: Mon, 7 Jul 2014 16:45:33 +0000 Subject: [PATCH] Add an iPython notebook for filter analysis --- python/filter_analysis.ipynb | 176 +++++++++++++++++++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 python/filter_analysis.ipynb diff --git a/python/filter_analysis.ipynb b/python/filter_analysis.ipynb new file mode 100644 index 0000000..58adf04 --- /dev/null +++ b/python/filter_analysis.ipynb @@ -0,0 +1,176 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:5b0dafe7d37bc894511c97dd35f5e879105d8ec76b5947ed751b794510920348" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Filter analysis test" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "First configure the filter as desired. The filter is independent of sample rate, but is specified as a ratio to it. We use a specific value here simply to aid comprehension and label all the graph axes as desired. Setting it to 1 would be the same as specifying everything as a ratio." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import iir\n", + "\n", + "# change this to alter the sample rate we are displaying at\n", + "sample_rate = 100 # Hz\n", + "nyquist_freq = sample_rate / 2\n", + "\n", + "# build the filter object, fi, here\n", + "corner_freq = 10 # Hz\n", + "order = 4\n", + "fi = iir.Filter(\"butterworth_lowpass(%d, 1.0, %f)\" % (order, corner_freq / nyquist_freq))" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 69 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here we set up the plotting library and helper functions." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "import pylab\n", + "\n", + "# number of points to plot on graphs (arbitrary)\n", + "num_points = 1000\n", + "\n", + "# helper function: calls the Filter.response() method on each member of the array\n", + "respfunc = pylab.vectorize(lambda f: fi.response(f/sample_rate))" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 70 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Linear Bode plot" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "freq = pylab.linspace(0, nyquist_freq, num_points)\n", + "resp = respfunc(freq)\n", + "\n", + "fig, axes = plt.subplots(nrows=2, ncols=1, figsize=(10, 10), dpi=100)\n", + "\n", + "axes[0].plot(freq, abs(resp), 'r')\n", + "axes[0].set_xlabel('Frequency (Hz)')\n", + "axes[0].set_ylabel('Magnitude')\n", + "\n", + "axes[1].plot(freq, angle(resp), 'r')\n", + "axes[1].set_xlabel('Frequency (Hz)')\n", + "axes[1].set_ylabel('Phase (radians)')\n", + "axes[1].set_ylim([-pi, pi])\n", + "axes[1].set_yticks(linspace(-pi, pi, 9))\n", + "axes[1].set_yticklabels([\"-\u03c0\", \"-\u00be\u03c0\", \"-\u00bd\u03c0\", \"-\u00bc\u03c0\", \"0\", \"\u00bc\u03c0\", \"\u00bd\u03c0\", \"\u00be\u03c0\", \"\u03c0\"])\n", + "\n", + "None" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "iVBORw0KGgoAAAANSUhEUgAAAmcAAAJeCAYAAADxx6J0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XecVNX9//HX0kERVIoNBalWxAKoGNeCgkbR2GLvLZqi\niVGjxtU0TfJVEzX2KBoNit2fBevaFRDBSlsBBQXBgigd5vfHmc0Oyy47u+zMvXfm9Xw87mNm7k75\n4Ij79nPuOQckSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkNcC/gTnA+2t4zj+BKcAEoF8+ipIkSSpW\nexACV23h7ADgqfT9AcBb+ShKkiSpmHWl9nB2M3BUxuOJQOdcFyRJkhQXTaIuoJpNgc8yHs8ENouo\nFkmSpLyLWzgDKKn2OBVJFZIkSRFoFnUB1cwCumQ83ix9bhXdO3dOVcyZk7eiJEmS1kIF0CPbJ8ct\nnD0OnAuMAAYC3xJmd66iYs4cUqk8NNSWLIEZM2DqVKiogClTYMIEePdd2GADGDgQ9tknHFtumft6\nCkRZWRllZWVRl6EG8LtLNr+/5PK7S7aSkpLu9Xl+vsPZf4E9gQ6Ea8suB5qnf3YLYabmAcBU4Afg\n5DzXt6qWLaFXr3BkWrkyBLbXXoMXXoDLLoN114XDDoMjj4Qdd4SS6qOzkiRJdct3ODs6i+ecm/Mq\n1laTJlWh7ZRTIJWC8eNh5Ej46U/Dz888E046KXTYJEmSshTHCQHJU1IC/frBn/8MkyfDv/8dhj67\nd4ezzgpDo/qf0tLSqEtQA/ndJZvfX3L53RWXpI69pfJyzdnamjsXrr0WbrklDHlefjlsumnUVUmS\npDwqCZc6ZZ257JzlUseOoZs2ZQp06AB9+8JVV4WJBpIkSTWwc5ZPn3wC550HH30Ed94JgwZFXZEk\nScqx+nbODGdReOyxcC3aSSfBFVdAixZRVyRJknLEYc0kGDYsrJf28cdhrbTp06OuSJIkxYThLCqd\nOsEjj8AJJ4SA9uKLUVckSZJiwGHNOHjhBTj22LCY7TnnRF2NJElqRF5zllTTpsH++8Mxx4QlN9xh\nQJKkgmA4S7I5c2DIkDCL8x//CDsNSJKkRDOcJd38+XDQQWFrqFtvNaBJkpRwztZMunbt4Kmnwlpo\n558f9u2UJElFw3AWR+uuGwLayy/D738fdTWSJCmPDGdx1b49PPssPPgg3HBD1NVIkqQ8aRZ1AVqD\njh3hySdh992hR48wWUCSJBU0JwQkwWuvwU9+AuXlsPXWUVcjSZLqwQkBhWjQIPi//4Mf/xi+/jrq\naiRJUg7ZOUuS886DioqwcbqL1EqSlAh2zgrZ1VeHhWr/7/+irkSSJOVIUtsvxdk5A5gxA/r3h4cf\nDhMFJElSrNk5K3RbbAF33BH24Jw/P+pqJElSI7NzllRnnQWLF8Ndd0VdiSRJWgP31iwW338PffvC\nNdfAsGFRVyNJkmphOCsmr70GRxwB770XFqyVJEmxYzgrNr/9bZgkcP/9UVciSZJqYDgrNosWwXbb\nwfXXw9ChUVcjSZKqMZwVo2efDRMEPvgA2rSJuhpJkpTBcFasjjkGNt8crroq6kokSVIGw1mxmj0b\ntt8enn8+3EqSpFgwnBWzf/0LRo6EF190701JkmLCHQKK2RlnwLx58MgjUVciSZIaKKntFTtntXnh\nBTj9dPjoI2jVKupqJEkqenbOit0++4Rrzq67LupKJElSA9g5K0RTp8KAAfDhh7DRRlFXI0lSUXNC\ngILzz4elS+GGG6KuRJKkomY4UzB3Lmy1FYweDVtuGXU1kiQVLa85U9CxI/ziF/D730ddiSRJqgc7\nZ4VswQLo2RNGjYK+faOuRpKkomTnTFXatoXf/Q4uuSTqSiRJUpbsnBW6JUugd2+45x7YY4+oq5Ek\nqeg4IUCru/POEM5efDHqSiRJKjoOa2p1xx0H06fDq69GXYkkSapDvsPZEGAiMAW4sIafdwCeAcYD\nHwAn5a2yQta8ebj27A9/iLoSSZJUh3wOazYFJgH7ArOAMcDRwMcZzykDWgIXE4LaJKAzsLzaezms\nWV9Ll4aZmyNGwK67Rl2NJElFI87Dmv2BqcB0YBkwAhhW7TlfAOul768HfMXqwUwN0aIFXHyx3TNJ\nkmIun+FsU+CzjMcz0+cy3QZsA3wOTAB+mZ/SisTJJ8P778OYMVFXIkmSapHPcJbNOOTvCNebbQLs\nANwItM1lUUWlZUu48EK7Z5IkxVizPH7WLKBLxuMuhO5Zpt2AP6XvVwDTgN7A2OpvVlZW9r/7paWl\nlJaWNl6lhezUU+GPf4QPP4Rttom6GkmSCk55eTnl5eUNfn0+JwQ0I1zgvw9h2HI0q08IuAaYD1xB\nmAjwDrA98HW193JCwNr4059g6tSw/pkkScqpuC9COxS4jjBz8w7gL8CZ6Z/dQpiheSewOWHI9S/A\nfTW8j+FsbXz9NfToAe+9B5ttFnU1kiQVtLiHs8ZiOFtbv/pVWP/sb3+LuhJJkgqa4UzZmTEDdtwR\nPvkE2rWLuhpJkgpWnNc5U5xssQUMGQK33BJ1JZIkKYOds2I2fjwceGDonrVsGXU1kiQVJDtnyt4O\nO8C228J9Nc25kCRJUbBzVuyefz5MDnj/fShJ6r8OkiTFl50z1c8++4TbF1+Mtg5JkgQYzlRSAr/4\nBfzjH1FXIkmScFhTAAsXhtmbb70F3btHXY0kSQXFYU3VX5s2cMopcMMNUVciSVLRs3Om4NNPoV8/\nmD4d2raNuhpJkgqGnTM1zOabw157wd13R12JJElFzc6Zqrz6Kpx2Gnz8MTQxt0uS1BjsnKnhBg0K\n1589+2zUlUiSVLQMZ6pSUgK//KXLakiSFCGHNbWqxYvDshqvvAK9e0ddjSRJieewptZOq1Zw6qlw\n881RVyJJUlGyc6bVTZ8OO+8cltdo0ybqaiRJSjQ7Z1p7XbvCwIFw//1RVyJJUtExnKlmZ58NN90U\ndRWSJBUdw5lqNmQIfPklvPNO1JVIklRUDGeqWdOmcOaZds8kScozJwSodl9+GZbTmDYN2rePuhpJ\nkhLJCQFqPJ06heFN99uUJClvDGdas7PPDmue2amUJCkvDGdasz32CJugv/xy1JVIklQUDGdas5IS\nOOssJwZIkpQnTghQ3ebPDwvTfvwxbLRR1NVIkpQoTghQ42vXDo44Au68M+pKJEkqeHbOlJ0xY+Cn\nP4UpU8I1aJIkKSt2zpQbO+8M660HL74YdSWSJBU0w5myU1ICp58Ot90WdSWSJBU0hzWVvcqJAZMm\nhQVqJUlSnRzWVO60aweHHALDh0ddiSRJBcvOmernzTfhxBND96wkqf/6SJKUP3bOlFsDB0KLFu4Y\nIElSjhjOVD8lJXDGGU4MkCQpR5I6LuWwZpS+/hq23BIqKmDDDaOuRpKkWHNYU7m3wQZw0EFwzz1R\nVyJJUsExnKlhzjgDbr0V7GBKktSoDGdqmEGDQjB7442oK5EkqaAYztQwlTsG3Hpr1JVIklRQnBCg\nhps3D3r2hE8+gfXXj7oaSZJiKe4TAoYAE4EpwIW1PKcUeBf4ACjPS1VqmA4dYMgQuPfeqCuRJKlg\n5LNz1hSYBOwLzALGAEcDH2c8pz3wOrA/MBPoAMyr4b3snMXFiy/Cr34FEya4Y4AkSTWIc+esPzAV\nmA4sA0YAw6o95xjgIUIwg5qDmeKktBQWLYLRo6OuRJKkgpDPcLYp8FnG45npc5l6AhsALwFjgePz\nU5oarEkTOO00JwZIktRImuXxs7IZh2wO7AjsA7QB3gTeIlyjtoqysrL/3S8tLaW0tLQxalRDnHQS\n9OkD114L660XdTWSJEWqvLyc8vLyBr++IRcJNQGOBboBVwKbAxsBdY1rDQTKCJMCAC4GVgJXZzzn\nQqB1+nkAtwPPAA9Wey+vOYubww+HffeFs86KuhJJkmIlH9ec/QvYlXB9GMD36XN1GUsYtuwKtACO\nAh6v9pzHgEGEyQNtgAHARw2oUflWuWOAJElaKw0JZwOAnwGL0o+/JgxH1mU5cC4wihC47ifM1Dwz\nfUBYZuMZ4D3gbeA2DGfJsO++8O23MHZs1JVIkpRoDRnWfBvYjdAJ6wd0BJ5N388XhzXj6C9/gWnT\n7KBJkpShvsOaDQlnxwFHAjsBw4HDgUuBBxrwXg1lOIuj2bNhq61gxgwnBkiSlJaPcAawFWFGJcAL\nrLqQbD4YzuLqsMNgv/3gzDPrfq4kSUUgl+Fsg1peW5mSvq7He60tw1lcPfssXHwxvPNO1JVIkhQL\nuQxn0wlBrISwfMY36fPrAzMIS2vki+EsrlauhO7dYeRI2HnnqKuRJClyuVxKoyshgD0H/BjYMH0c\nmD4nhR0DTj/dSQGSJDVQQ645+wDYNotzuWTnLM4qJwZ8+im0bRt1NZIkRSofi9B+Tpid2ZXQSbsE\nmNWA91Gh2mgj2HtvuO++qCuRJClxGhLOjgY6AY8AD6fvH92YRakAuGOAJEkN0tClNKLmsGbcOTFA\nkiSg/sOazRrwGS/VcC4F7N2A91KhypwYYDiTJClrDemcZf6mbQUcRtg384JGqSg7ds6S4IsvYOut\nnRggSSpq+dohoLoxwC6N9F7ZMJwlhTsGSJKKXD5ma26QcXQAhgBupKiaOTFAkqR6aUjnbDpVWzYt\nTz++AnitcUrKip2zpKicGPDgg7DTTlFXI0lS3uVjWLMVsDiLc7lkOEuSP/8Zpk+3gyZJKkr5CGfj\ngB2zOJdLhrMkcWKAJKmI5fKas42BnYA2hCC2U/q2NH1OqtnGG8Nee7ljgCRJWahP5+wk4ETCUhpj\nM84vAO4i7BaQL3bOkmbUKLj4Yhg3LupKJEnKq3wMax4GPNSA1zUmw1nSrFwJPXrAiBHQv3/U1UiS\nlDe5DGfHA/cAv6Zqtmble6SAa+rxXmvLcJZEf/sbfPABDB8edSWSJOVNLrdvqryurC01hzNpzU45\nJXTP5s2DDh2irkaSpFhy43Pl18knQ58+cOGFUVciSVJe5OOas07A6UBXqjpvKeCUBrxXQxnOkmrs\nWDj8cKiogKZNo65GkqScy+WwZqXHgFeA54CV6XMmJWVn552hc2d46ik46KCoq5EkKXYa0jkbD+zQ\n2IXUk52zJLv77rDm2TPPRF2JJEk5l4+Nz/8fcGADXicFRx4Z1jubMiXqSiRJip2GdM6+J8zcXAos\nS59LAes1VlFZsHOWdBddBEuXwjX5XIFFkqT8y8eEgDgwnCXd9Onh+rNPP4U27v4lSSpc+QhnNW1w\nPh+YASxvwPs1hOGsEBx8cDhOOy3qSiRJypl8hLO3CJuev5d+vB3wIdAOOBsY1YD3rC/DWSEYNSoM\nb44bByVJbeJKkrRm+ZgQ8DlhtuZO6WMH4BNgMPDXBryfitXgwfD99/Dmm1FXIklSbDQknPUmdMoq\nfQT0ASpwvTPVR5MmcM45cP31UVciSVJsNGQs6QHgK2BE+vVHAh2B44DXgF0arbraOaxZKObPh27d\n4L33YLPNoq5GkqRGl49rztoAPwN2Tz9+HfgXsBhYB1jQgPesL8NZIfnlL6F1a7jqqqgrkSSp0bmU\nhpKnogIGDgzLa6yzTtTVSJLUqPIxIaAX8CDhWrNp6eOTBryPFHTvDoMGhW2dJEkqcg0JZ3cCNxPW\nNNsLGA7c25hFqQiddx5cdx2sXBl1JZIkRaoh4aw18DyhPTcdKMO9NrW29tgjDGk+/XTUlUiSFKmG\nhLPFQFNgKnAu8BPCRACp4UpKqrpnkiQVsYZMCOgPfAy0B/5A2PD8r4SdA/LFCQGFaOlS6No17Byw\n3XZRVyNJUqNwtqaS7Y9/hGnT4I47oq5EkqRGkctw9gRhB4CaXpMCDs7iPYYA1xGGRW8Hrq7lebsA\nbxIWuH24ps8znBWoefOgZ0+YOBE6d466GkmS1louw9lcYCbwX+Dtaq9PAS/X8fqmwCRgX2AWMAY4\nmjBEWv15zwELCTNDH6rhvQxnhexnP4P114c//SnqSiRJWmu5XOdsY+B3wLaE7tdgQmArp+5gBuFa\ntamEGZ7LCNs/DavheT8nrKM2tx61qZD85jdwyy3w3XdRVyJJUt7VJ5wtB54GTgAGEoLWy4QZm9nY\nFPgs4/HM9LnqzxkG3JR+bHusGG25JQweDLfeGnUlkiTlXX2X0mgFHAb8BzgH+AfwSJavzSZoXQdc\nRNW1bUmdsKC19dvfhmU1liyJuhJJkvKqWT2eew+wDfAUcCXwfj0/axbQJeNxF0L3LNNOhOFOgA7A\nUMIQ6OPV36ysrOx/90tLSyktLa1nOYq1fv1gm23g3nvhlFOirkaSpKyVl5dTXl7e4NfXpzO1Evih\nlp+lCOudrUkzwoSAfYDPgdHUPCGg0p2EGaLO1ixWL70EZ58NH30ETRqyXrIkSdHL5YSAJkDbWo66\nghmEa9bOBUYRNk2/nxDMzkwf0qpKS2G99eCxx6KuRJKkvEnqNV12zorFQw/BX/8Kb70VtniSJClh\nctk5k/LvkEPg22/h5WxWa5EkKfkMZ4q3pk3DzE0XpJUkFQnDmeLv+ONhyhR4442oK5EkKecMZ4q/\nFi3gd7+DK66IuhJJknIuqVdYOyGg2CxdGjZEv/9+GDgw6mokScqaEwJUmFq0gIsvtnsmSSp4ds6U\nHEuWhO7Zgw9C//5RVyNJUlbsnKlwtWwJF11k90ySVNDsnClZliyBHj3g4Ydhl12irkaSpDrZOVNh\na9kyXHt22WVRVyJJUk4YzpQ8p50W1j0rL4+6EkmSGp3hTMnTogVceWXooDm8LUkqMIYzJdPRR8PC\nhfD441FXIklSo3JCgJLr//0/uPBCeO+9sAenJEkx5IQAFY8DD4T114d77426EkmSGo2dMyXba6/B\nccfBpElhJqckSTFj50zFZdAg2HZbuOmmqCuRJKlR2DlT8n30Eey5J0ycCBtuGHU1kiStor6dM8OZ\nCsO550JJCVx/fdSVSJK0CsOZitO8ebDVVvDKK+FWkqSY8JozFacOHeB3v4Nf/zrqSiRJWiuGMxWO\nc86BqVPhmWeirkSSpAYznKlwtGgBf/976J4tXx51NZIkNYjhTIXloINgk03gxhujrkSSpAZxQoAK\nz8SJsMceMGFCCGqSJEXI2ZoSwCWXQEUFjBgRdSWSpCJnOJMAFi4MOwfccgsMHhx1NZKkIuZSGhJA\nmzZhQdqf/QwWL466GkmSsmY4U+E68EDYbju4+uqoK5EkKWsOa6qwffYZ9OsHb7wBvXpFXY0kqQg5\nrCll6tIFLrsMTj0VVq6MuhpJkupkOFPh+/nPIZWCG26IuhJJkurksKaKw+TJsNtu8Pbb0L171NVI\nkoqIw5pSTXr1gosugtNPd3hTkhRrhjMVj/POgx9+gJtvjroSSZJq5bCmisvEiTBoELz2GvTpE3U1\nkqQi4LCmtCZ9+sAf/gDHHgtLl0ZdjSRJq7FzpuKTSsHBB4ftnf7yl6irkSQVOPfWlLLx5Zewww7w\n3//CnntGXY0kqYA5rCllo1MnuP12OOEE+OqrqKuRJOl/7JypuF1wAXz0ETzxBDTx/1UkSY3PzplU\nH3/+M8yf7+bokqTYiCKcDQEmAlOAC2v4+bHABOA94HVg+/yVpqLTvDmMGAH//CeUl0ddjSRJeR/W\nbApMAvYFZgFjgKOBjzOesyvwETCfEOTKgIHV3sdhTTWuZ5+Fk0+GsWNh442jrkaSVEDiPqzZH5gK\nTAeWASOAYdWe8yYhmAG8DWyWr+JUxPbbD846Cw49FBYvjroaSVIRy3c42xT4LOPxzPS52pwKPJXT\niqRKl14Km28eQpqdWUlSRPIdzurzG28v4BRqvi5NanwlJXDnnTBhAlx7bdTVSJKKVLM8f94soEvG\n4y6E7ll12wO3Ea45+6amNyorK/vf/dLSUkpLSxurRhWzddaBxx6DgQNhq61g6NCoK5IkJUx5eTnl\nazHJLN8TApoRJgTsA3wOjGb1CQGbAy8CxwFv1fI+TghQbr3+erj+bNQo6Ncv6mokSQkW9wkBy4Fz\ngVGEGZn3E4LZmekD4PfA+sBNwLuEACfl1+67w003wY9/DNOnR12NJKmIuEOAtCb//GcIaa+/Dhts\nEHU1kqQEcuNzqbFdcAG8+WZYC61Nm6irkSQljOFMamwrV4YFaj//POzB2apV1BVJkhLEcCblwvLl\ncOyx8MMP8PDD0KJF1BVJkhLCcCblyrJlcPjhVftxNsv3SjSSpCSK+2xNKbmaN4cHHoAFC+DEE0M3\nTZKkRmY4k+qjZUt45BGYNw+OOgqWLIm6IklSgTGcSfXVpg08/njYf/OQQ2DhwqgrkiQVEMOZ1BAt\nW4Yhzo4dwxZP330XdUWSpAJhOJMaqlkzuOsu2GYb2HtvmD076ookSQXAcCatjSZN4MYbw/DmwIHw\nwQdRVyRJSjiX0pAay733wnnnhdvBg6OuRpIUEy6lIUXl2GPhwQfh+OPh1lujrkaSlFB2zqTGNnky\nDBsGgwbB9de73ZMkFTk7Z1LUevWC0aPhm29gjz3g00+jrkiSlCCGMykX2raFkSPDQrUDBsBzz0Vd\nkSQpIRzWlHLtpZfCdWhHHw1//GNYI02SVDQc1pTiZq+9YPx4mDIFdt0VJk6MuiJJUowZzqR86NAh\n7Ml51lnhOrQbb4SVK6OuSpIUQw5rSvk2aRKcckpYwPb226F376grkiTlkMOaUtz17g2vvhomCwwa\nBFddBcuWRV2VJCkmDGdSFJo0gXPPhbFjobwc+vWDF1+MuipJUgw4rClFLZWCRx+F88+HnXaCv/8d\nunaNuipJUiNxWFNKmpISOPRQ+Ogj6Ns3BLTLL4cFC6KuTJIUAcOZFBetW8Nll8G778Inn0CPHnDN\nNbBoUdSVSZLyyHAmxc3mm8M998ALL4SJA716wW23OWlAkoqE15xJcff223DppWFD9d/8Bk49Fdq0\niboqSVKWvOZMKjSVe3M+8EDYCqpbt7AN1DffRF2ZJCkHDGdSUgwYAA8/HJbeqKiALbcMOw68/37U\nlUmSGpHhTEqarbaCO+8Mszs32QSGDIEf/Sh01rwuTZISz2vOpKRbtiysk3bjjWFrqGOPhRNPhO22\ni7oySRL1v+bMcCYVkkmTYPjwMNuzQ4cQ0o45Bjp1iroySSpahjNJsGJFuDZt+HB47DHYeWc47LCw\n2O3GG0ddnSQVFcOZpFUtXAijRsGDD8JTT8G224agdsghbhMlSXlgOJNUuyVL4Pnnq4La+uvD0KHh\n+NGPoFWrqCuUpIJjOJOUnZUrYdw4ePrpcHzwQQhoe+0FpaWwww7QtGnUVUpS4hnOJDXM11+Hrlp5\nObz8MsyaBYMGwZ57hqNfP2jePOoqJSlxDGeSGseXX8Irr4Sg9vLLYeHbvn3DYrj9+4fbbt2gJKn/\nGZGk/DCcScqNBQvgnXdg9Oiw3+fo0bBoEeyySwhtffvC9tuHjdrtsEnS/xjOJOXP55/DmDHw3ntV\nx2efQe/eIahtvz306RMed+0KzZpFXbEk5Z3hTFK0Fi6EDz+ECRNCWJs0KRyzZ4f9QHv1CmGtd+9w\nv1u3sPZaE3eTk1SYDGeS4mnRIpgyBSZPrgpskyfD9Onw7bfQpUvorlU/ttgCNtrIrpukxDKcSUqe\nhQvh009DUKs8Zsyouj9vXtiOapNNaj86dw7PadEi0j+KJFUX93A2BLgOaArcDlxdw3P+CQwFFgIn\nAe/W8BzDWYKVl5dTWloadRlqgMi+u+XLYc4c+OKLcJ1b9WPWrDC7dN48aNMmhLSOHcNR0/0NN4T2\n7aFdu3DbunVRzDr1715y+d0lW33DWT7HCZoCNwD7ArOAMcDjwMcZzzkA6AH0BAYANwED81ij8sD/\nyCRXZN9ds2aw6abhWJNUCubPh7lzQ1CbO7fq/pw54Vq4uXPhq6/C8779NhwrVoSQVv2oDG/t2kHb\ntrDOOrDuujUflT+L8UxV/+4ll99dcclnOOsPTAWmpx+PAIaxajg7GBievv820B7oDMzJT4mSEq2k\npCpY9eyZ/euWLFk1rGUelefnzYPvv6/7aNp01dDWunU4WrUKR+X9ms7V9vNWrcJwbfPmq97WdK55\n86LoAkqFLJ/hbFPgs4zHMwndsbqesxmGM0m51LIldOoUjrWRSoWg98MPIagtWBAmQixevPpt9fvf\nfLP6+cyfL1sGS5euflv93LJlodNYU4j77ruwr2rl42bNQphs2nTV+3U9bsjPSkrCjNwmTRrn/tq+\nR2WArel2TT+L6rnffQczZzbsfRuL75c3+fzkwwjXnJ2efnwcIZz9POM5TwBXAa+nHz8P/BYYV+29\npgLdc1apJElS46kgXLaVlXx2zmYBXTIedyF0xtb0nM3S56rL+g8oSZKkmjUjJMeuQAtgPLBVtecc\nADyVvj8QeCtfxUmSJBWjocAkwrDkxelzZ6aPSjekfz4B2DGv1UmSJEmSJElJNQSYCEwBLoy4FtXt\n34SZtu9nnNsAeA6YDDxLWC5F8dQFeAn4EPgA+EX6vN9h/LUiLEc0HvgI+Ev6vN9dsjQlLMT+RPqx\n318yTAfeI3x3o9PnCva7a0oY7uwKNKfma9YUL3sA/Vg1nP2VMAMXQsC+Kt9FKWsbATuk769LuCRh\nK/wOk6JN+rYZ4frdQfjdJc35wL2EBdvB7y8pphHCWKaC/e52BZ7JeHxR+lC8dWXVcDaRsLAwhF/+\nE/NdkBrsUcIOH36HydKGsCPLNvjdJclmhOWk9qKqc+b3lwzTgA2rnavXd9ckB0XlSk0L1Naxl4ti\nKHPHhzlU/cuqeOtK6IK+jd9hUjQhjDDMoWp42u8uOa4FLgBWZpzz+0uGFCFYj6Vqbdd6fXf5XOds\nbbnTeeFJ4feaBOsCDwG/BBZU+5nfYXytJAxLtwNGETowmfzu4uvHwJeEa5ZKa3mO31987Q58AXQk\nXGdWvUtW53eXpM5ZNovYKv7mEFq6ABsT/gOk+GpOCGb3EIY1we8waeYDTwI74XeXFLsR9pqeBvwX\n2Jvwd9DvLxm+SN/OBR4h7C1er+8uSeFsLNCTqkVsj6LqIkklx+PAien7J1L1C1/xUwLcQZjtd13G\neb/D+OthVROPAAAgAElEQVRA1Wyw1sBgQhfG7y4ZfkdoQHQDfgq8CByP318StAHapu+vA+xHuO66\noL+7mhaxVXz9F/gcWEq4XvBkwgyW5ynA6cQFaBBhaGw84Rf7u4TlbPwO4287wp7E4wlT+i9In/e7\nS549qWpE+P3FXzfC37vxhCWIKrOK350kSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSfm1gqo11N4F\nNo+2nEa1HfDv9P2TgOur/bycsGp/bR4grJkkqcgkaW9NSYVnIWFD9ZqUpG+Tun/gBVQFspr+DHXt\nr3cbcB7wi0auS1LMJWn7JkmFrythF5DhhC1PuhBCzmhgAlCW8dxL0s99FbgP+HX6fDlVHakOhP0J\nAZoCf8t4rzPS50vTrxkJfAz8J+MzdgFeJ6z2/RZhE/iXgb4Zz3mN0CXL1BIYCIyp489bAhxEVedw\nEvBJxp/jgDpeL0mS1KiWUxVMHgK2IAx19k//fD/glvT9JsATwB6E8PUe0Iqwj90U4Pz0814Cdkzf\nzwxnZxACHYTwNIYQBkuBb4FNCGHpDcLG0y2ACqqC3rqEgHcCcG36XC9qDmAD07VWOomw0XHmEO6C\njDor3Q+cnfH4ZWCrGt5fUgFzWFNSlBax6rBmV2AGobsFIZztRwgzEDYS7kkIZA8Di9PH49RtP0KH\n6/D04/WAHsCy9Od9nj4/nnCt1wLgC+Cd9Pnv07cPApcROnqnAHfW8FlbpF9bKQWMYNUhypeqvea3\nhGHemzLOfU74Z/JxHX82SQXEcCYpbn6o9vgvwK3Vzv2SqmvSqHZ/OVWXbLSq9rpzgeeqnSsFlmQ8\nXkH4b2Nt14MtTL/HIcARrN79Iv3akmrnqj/OtC9wGPCjGl6zcg2vk1SAvOZMUpyNInSn1kk/3hTo\nCLxCCEeVw5o/znjNdGDn9P3DM86PAn5G1f+U9gLa1PK5KcL1XxtnvFdbwrAmwO3APwkdt/k1vH4G\nsFHG4zUFsy2AG4EjWTUkkv78GWt4raQCZOdMUpRqm8VY6TnCNVdvph8vAI4jDHPeT7iw/0vCdV+V\nAejvhGUozgCezHi/2wlDhOPSz/0SOJTaZ00uA44izLhsTeiYDSZ09sYRQllNQ5qk6+pd7c9U02eU\nACcCGwCPps/NIoTN5sBmwMRaPkOSJCm2LqdqtmY+bELorK3JXcCAtfiM/YB/rMXrJSWUw5qSCkW+\n1kM7gbCsxu/qeN7fgbPW4nNOo2pWqCRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ\nkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkpLrQWAOUAF8ACwAbou0IkmSpDxpGnUB\n1bQG1gNaAmcBTwPtgJOjLEqSJClfSqIuoBaTgG2BU4F1gb9n/rB79+6pioqKKOqSJEmqrwqgR7ZP\nbpbDQhqqHbAYWEYIaI9Uf0JFRQWpVCrfdakx9OhB2ezZlF16KVx0UdTVqJ7KysooKyuLugw1kN9f\ncvndJVtJSUn3+jy/Sa4KWQvbA++n73cHZkVYixpbKgVHHAG33QY33RR1NZIkxU4cO2fbAxPS98cA\njwLbETppSrpUCtq2heefhx/9CNZbD449NuqqJEmKjTiGsxsz7v8+faiAlA4YAN26wahRsPfeIaAd\ndFDUZSkLpaWlUZegteD3l1x+d8UlrhMC6pLymrOE6tYtdM26p4ffx46FAw6A+++HvfaKtjZJknKg\npKQE6pG54njNmQpdSca/nzvvDCNHwlFHwVtvRVeTJEkxYThTfqVSq4YzgD33hOHDYdgwGD06mrok\nSYoJw5niYehQ+Pe/w7VnY8dGXY0kSZExnCm/auqcVTrwQLj99nD7zjv5rUuSpJgwnCm/6prIcdBB\ncOutYZLAuHH5qUmSpBiJ41IaKnS1dc4qDRsGK1eGgPbMM7DDDvmpS5KkGDCcKb+yXQLl0ENDQBsy\nJKyH1rdvbuuSJCkmDGfKv7o6Z5UOOyzc7r8/PP449O+fu5okSYoJw5nya00TAmpy2GHQqhX8+Mfw\n4INhyydJkgqYEwIUfwceCCNGwOGHhyFOSZIKmOFM+VXfzlmlvfeGRx+F448Pt5IkFSiHNZUcu+0W\nZm8ecAAsWgRHHx11RZIkNTrDmfKroZ2zSjvuGDZOHzIEvvoKzj238WqTJCkGDGfKr2yX0liTbbeF\nV18Nszhnz4Y//GHtAp8kSTHiNWfKv8YIUt26weuvw7PPwmmnwfLla/+ekiTFgOFM+bW2w5qZOnaE\nF1+Ezz8Pi9YuXNg47ytJUoQMZ0q2ddcNC9RusAHsu2+4Dk2SpAQznCm/GrNzVql5c7jrLthjjzCj\nc+rUxn1/SZLyyHCmwlBSAldfDeefD4MGhQkDkiQlkOFM+ZWLzlmmM8+Ee+4JuwncfXfuPkeSpBxx\nKQ3lV2MspVGXwYPhpZfgoINg8mS48kpo4v+HSJKSIZ+/sQ4ARgPvA10zzl8LDMhjHYpaPtYk23pr\neOutENKOPjrsKCBJUgLkM5w9RQhhDwDbps/1BtoDb+exDkUp18OamTp2hBdegBYtYPfdYcaM/Hyu\nJElrId9jPbcARxA6aABXApem73cAxgA/ABOA6cAXwJn5LVEFpVWrcO3Z8cfDgAFhXTRJkmIsn+Gs\nP3A28DfgeGAw8DEwK31+EnAxMAfoC9wMXEYIdCoU+eycVSopgfPOg/vug2OOgWuvzc+1b5IkNUA+\nw1lvYBxwMvAY8GvgakLH7FRCt2wy8Gn6+X2Bd/NYnwrd3nvD22+H2ZzHH++OApKkWMrnbM170gfA\nWcC9wCLgj8AJwI2EQPZe+jlbEyYP1KisrOx/90tLSyktLW3sepULUXTOMm2xBbz2GpxxRliwduRI\n6NkzunokSQWnvLyc8vLyBr8+it+S7YD7gAMJnbsHgRnA4cBthGHOOwjXnHWt5T1SKYelkmn99cMK\n/htuGG0dqRTcdBNcfjnccAMcdVS09UiSClZJaEpknbmiCGd/JQxrvl7t/EvAXMI1aWPSjz8jdNWq\nM5wl1frrQ0VF2AszDsaNgyOPhP32g2uuCRMIJElqREkIZ43BcJZU7dvDtGkhpMXF/Plw2mmhozdy\nJPToEXVFkqQCUt9w5rLpUrt28MADIaDtumuY1SlJUkTsnCm/2rULi8G2bx91JTUbNw6OPRb69YN/\n/Su+dUqSEsPOmbQ2dtwR3nknXBPXty+sxWwbSZIawnCm/Ip6KY1stGkTZnDefHPoov32t7BkSdRV\nSZKKhOFMqs3QoTB+PEyeHLZ++uCDqCuSJBUBw5nyKwmds0wdO8Ijj8DPfw577QV/+AMsWxZ1VZKk\nAmY4U34lcSJHSQmcemqYLPDmm7DLLvCuO4tJknLDcKb8S1LnLFOXLvDkk3D++bD//nDppV6LJklq\ndIYz5VfShjWrKymBE06A996Djz4KS268+WbUVUmSCojhTGqIjTaChx6CsjI47DA480z4+uuoq5Ik\nFQDDmfIr6Z2zTCUlYV/Ojz6C5s1h663hrruSeV2dJCk2kvpb0h0CkqpNG5g7F9ZZJ+pKGt/YsXDW\nWeHPeNNNsM02UVckSYoBdwhQvBVS56y6nXeGt9+Go46C0lK44AL47ruoq5IkJYzhTPlV6B3Ppk3h\nnHPg/fdDh7B3b7j9dlixIurKJEkJkdQWhsOaSdWqFXzzDbRuHXUl+TF2LPzqV7BwIVx3HfzoR1FX\nJEnKs/oOaxrOlF8tW8L8+SGkFYtUCh54IOzR2b8//PWv0K1b1FVJkvLEa86kuCkpCdehTZwIffuG\na9POOw/mzYu6MklSDBnOlF+FPCGgLq1bh10FPvww7M/Zp0/Yq/P776OuTJIUI4YzKd822ghuuCHM\n7Jw4EXr2DI+XLo26MklSDBjOlF/F3Dmrrnt3uPdeePppeOqp0Em75x5YvjzqyiRJEUrqb0knBCRV\n8+bwww/QokXUlcTPyy/DZZfB7Nlh+POYY6BZs6irkiStJWdrKt6aNYNFi0JI0+pSKSgvhyuugFmz\n4JJL4LjjDGmSlGCGM8Vb06awZIlhIxuVIe3TT0Mn7bjjDLWSlEBxXkqjHzASuLza+X8CO+exDikZ\nSkvhpZfg3/+G//wHevSAf/zD2Z2SVODyGc7eBW6odq4PsA4wNo91KEpOCKi/PfeEF16AkSPh1VfD\nAra//z18+WXUlUmSciDq2ZpXAL9P3+8DTAAWE4Lc58AM4KBoSpNipn9/ePBBeOONEMz69An7eFZU\nRF2ZJKkR5TucZbZM9gEmAn2Bm4A9gPOBDwlDoI8DpwJP5LlG5ZKds7XXsyfcfDN8/DG0bw8DBsAR\nR8BrrxX+xvKSVATyGc66A8cD2wD7A78Brga+A84GTgKWAe+nn9+X0EGTVJPOneFPf4Jp08LQ5ymn\nwE47wV13weLFUVcnSWqgqFoYpwErgX+nHx8A7AbMAZoB1wKTgN61vD51+eVV8wpKS0spLS3NVa1q\nTCUlsHKl3bNcWLkSRo2Cf/4Txo2D00+Hs8+GTTeNujJJKirl5eWUl5f/7/EVV1wBMV9KY13CrM2h\n6ce7EbpmZwG3AfcRhjYfBQbW8h4upZFEqRQ0aeLQWz5MmhS2hLr3Xhg8GM46K8z+NBRLUt4lYZ2z\nK4Fy4MX040mESQArgRWE0LaAMIPzMeCSGt7DcJZEhrP8mz8f7r4bbrkl7N15xhlw4onQsWPUlUlS\n0UhCOGsMhrMkWrkyLELrd5d/qRS8+Sbceis8+igMGQJnnmk3TZLywHCm+DKcxcM334ThzltuCbs1\nnHZa2H1gk02irkySCpLhTPG1YkXYfmjlyqgrEYSQ/NZbcMcd8PDDYR21E0+EYcOgTZuoq5OkgmE4\nU3wZzuJr4cIw3Dl8OIwZAz/5SQhqgwY57ClJa8lwpvhavhxatgwhTfE1a1bYy3P48DDsecIJcPTR\n0KtX1JVJUiIZzhRfy5ZB69YhpCn+UikYOzbM9hw5MqyX9tOfwpFHwhZbRF2dJCWG4UzxZThLrhUr\n4OWXYcSIcH1a794hqB1xBGy0UdTVSVKsGc4UX0uXwjrrhJCm5Fq6FJ5/PgS1J56Afv1CUDvkEOjU\nKerqJCl2DGeKL8NZ4Vm0CJ5+Gu6/P2wdtf32cOih4ejaNerqJCkWDGeKryVLoG3bENJUeBYvhhde\ngEcegccfD9eoHXpomPm5zTbO+pRUtAxnii/DWfFYvhxefz0EtUcegRYtQlAbNgwGDgyLEUtSkTCc\nKb4WL4Z27UJIU/FIpeDdd8NEgieeCEt17L8/HHhg2EZqgw2irlCScspwpvgynAngs8/gqafgySeh\nvDxcp3bggeHYbjuHPyUVHMOZ4mvRIlh//RDSJAj/LpSXh6D25JNhOPSAA8JRWgrrrRd1hZK01gxn\niq+FC2HDDUNIk6pLpWDixBDSRo0K+37usAMMHhyOXXaBZs2irlKS6s1wpvgynKk+Fi6E116DZ5+F\n556DTz+FvfYKQW2//aB796grlKSsGM4UXz/8AB07hl+6Un3Nnh0Wv33uuRDYWrcOQW3vvWHPPd2p\nQFJsGc4UX4YzNZZUCj78MAS18nJ45RXYeONwnVppaQhrnTtHXKQkBYYzxdf334dfmD/8EHUlKjQr\nVsCECSGolZfDq68a1iTFhuFM8WU4U77UFtZ+9CPYffdwdOvmsh2S8sJwpvhasCD8gvz++6grUbFZ\nsQLGjw8TDF5/PdymUiGkDRoUbnfYAZo3j7pSSQXIcKb4+u67sN/iggVRV6Jil0rB9OkhqFWGtenT\nYeedq8LarruGRZMlaS3lKpytA3QBUsBMIOpxKcNZEhnOFGfffgtvvlkV2MaMCUOfAwZA//7hdptt\nXGtNUr01ZjhrC5wO/BToAMxJP78z8BVwL3AbEMUYleEsiebPhy5dQkiT4m7ZsnDd2ujR8Pbb4Zg1\nC3bcsSqsDRgAm23mtWuS1qgxw9kLwAjgcUIwy7QRcDBwFLBPlp+1HXABUAFckXH+b8BDwFtZvg8Y\nzpLJcKak++YbGDu2Kqy9/XbopGWGtZ13dtspSauI+zVnewKlVIWz7sBlwEn1fB/DWRJ9+y1ssUUI\naVIhSKVgxoxVw9qECbDJJqHDttNO4XbHHcO+spKKUn3DWTYXTwwCxhOGL48HdgSuA2Y0oL7qrgQu\nTt/vADwNbA1MBdoBLYEy4JZG+CxJalwlJdC1aziOOiqcW74cJk2Cd94Jx+OPh5minTqtGth22ils\nZyZJ1WST4t4Htk8fdwG3A0cSumD1VZp+3RXp2/2AS4BzCEHtKOBWYEvgImBe+vOqs3OWRN98Ey6w\n/vbbqCuR8mvFCpgypSqwjRsH774L7duHkLbTTmEpj759w6QZr2GTCkouOmfLCbM0DwFuJISlUxtQ\nW3dC560tMBT4BXAEsDEhnE0AJgOfpp/fF/h7bW9WVlb2v/ulpaWUlpY2oCTlnb90VIyaNoU+fcJx\n7LHh3MqVUFFRFdiuuy4Mia5YEUJa376w/fbhduutoVWraP8MkrJWXl5OeXl5g1+fzW/KV4BngJOB\nPYC5hGHO7Rr8qeG9mhO6ZNcTQt9NwDXAYEJwmwDsAiyt4fV2zpLo66+he/fQQZO0ulQK5swJIS3z\nqKgIf3eqh7aNNvJ/eKQEyMWEgI2BY4DRwKvA5sBewPAG1AdhzbSHgSGEjtwUwvVsPYCrgS+AO4Dp\nQNda3sNwlkRffQU9e4aQJil7S5bARx+tHtqaNg0hbbvtYNttwzpsW28NbdtGXbGkDHGfrQnh2rLX\ngGernX+J0JX7GzAm/fgz4IQa3sNwlkSGM6nxpFLw+echpL3/Pnz4YTg+/jhMPthmm6pj221hq62g\nTZuoq5aKUi7C2WHAVYTFZyufnwKiXMjHcJZE8+ZB794hpEnKjRUrYNq0ENQ++KAqtE2eHJb4qOyw\nVR59+ng9m5RjuQhnFcCPgY8bWFMuGM6SyHAmRWf5cpg6tSqsVQa3Tz6BzTcPnbWttqqauNC7d5hN\nKmmt5SKcvQ7s3tCCcsRwlkRz54b/+M+bF3UlkiotXRq6ahMnrn60bVsV1jKPLl2gSZOoK5cSIxfh\n7B+E7ZoepWrmZIpwUX9UDGdJNHduuFh57tyoK5FUl1Qq7CVaU2j75hvo1Wv10NarF7RuHXXlUuzk\nIpzdlb6tnoZOzvZDcsBwlkRffhmucTGcScn23Xc1d9sqKqBz5zDxp1evcFt5dOsGzZtHXbkUiSTM\n1mwMhrMkmjMnTPn/8suoK5GUC8uXw/TpYTeE6sesWbDZZqsGtsoQt/nmYQN5qUDlIpy1JuwIsHX6\nfmUqOqW+xTUiw1kSGc6k4rV0aZhFOmVK6LplBrc5c8L+pNWDW8+eXt+mgpCL7ZvuIczUHELYE/M4\n4jVzU0mRSrmauVSsWrQIM0B79179Z4sXhyHRyrD27rvwwAPh/ldfheC25ZZhl4TM2y239Bo3FaRs\nflOOB3YA3iNsft6csIjsgBzWVRc7Z0k0e3ZYzXzOnKgrkZQUCxeGjltFRVj2I/N2+nTYYIPVQ1vl\nbadO/g+hYiEXnbPKGZrzCftpzgY61rsyyc6ZpPpq06ZqwdzqVq4M17JlhrYnn6x6vHhxVYetenDr\n2jV086QYyuY35enAQ4RgdhewLnAZcHPuyqqTnbMk+uIL2HHHcCtJuTZ/fghq1Ttun3wCM2eGmaVd\nu656dOsWbjfbzNmlajTO1lR8ff457LST4UxS9JYtC1236dOrjmnTqu7Png0bbbR6aKs8NtvMGabK\nWmMOax5PmAzw64xzqfSbp4BrGlCfipnDmpLionnzqqBVk2XLQnctM7C9+GLV/Tlzwl6ltXXeNt0U\nmjbNwx9EhWhN4axN+rYtqy5AW8LqC9JKklQ4mjcPQatbt5p/vnQpfPbZqp23556ruj93bghoW2wR\n1nGrPCofd+kC66yTtz+OkiWpbQyHNZNo5kwYMCAMJUhSIVuyBD79tOZjxowQ7NZZZ9XAVv3o3Nk1\n3gpEYw5rXp9xv3I4s/I+wC/qVZkkScWiZcuqhXRrkkqF7lr10PbGG1WP588P17ZVD22Z3bc2bWp+\nfyXamsLZO+nb3Qi7A9xPCGhHAB/muC4VIq85k6SgpCSsw9apE+y8c83PWbQojDjMmFEV2N54A0aM\nCPc/+wzWXXf14NalSwh1XbqESQ1OXEicbH5Tvg0MApalH7sIrRrms89gt93CrSRp7axcWXP3bebM\n8N/ZmTPDzzt3DmGtMrBVvzXA5VwuFqFtD6wHfJV+3DZ9TqofA7UkNZ4mTULw6twZdtml5ucsWxaW\nL6oMa599FkLc669XPZ43zwAXM9n8k74KGAeUpx/vCZTlqB4VOoc1JSl/mjevGvKszbJlYR3KmTMN\ncDGR7W/KjQnDmCnCMOfsnFWUHYc1k2jGDNhjj/CXXpKUHJkBLrMLl3lbW4DbdNOqY5NNwmSJIpOL\nYU2AxcAXQCugV/p4pb7Fqcg5IUCSkql58zDZYIstan/O0qVhCLUysFV24N54IyyhNGtW2HmhfftV\nA9umm64e4tq3L+rfF9mEs9MJy2ZsBowHBgJvAnvnsC5JkpQkLVrUHeBWroQvvwxBbebMqtD2yiur\nnluxYvUAVz3EFfAwajax9ANgF0Ig2wHoA/wFODSHdQ0BrgOaArcDV1f7ucOaSTRtGuy1V1g9W5Kk\n2ixYUBXcqge5ymPuXOjYcfWuW/UQt+66Uf9pcjKsuRhYlL7fCpgI9K53ZdlrCtwA7AvMAsYAjwMf\n5/AzJUlSXLRtC336hKM2y5aFYdLqoe2DD1Z93Lx5zUOnmec6dozVbgzZhLOZwPrAo8BzwDfA9BzW\n1B+YmvEZI4BhGM6Sz2vOJEmNpXnzMOmgS5fan5NKwbffrt59Gz8ennyy6tx334Vh0tpCXOVkhtat\n8/JHyyacHZK+LSMsp7Ee8EyO6gHYFMhcpXQm0S54q8ZkOJMk5UtJCay/fji23bb25y1ZEmajVh9G\nHTOm6twXX4T9UDfZZNXAVj3Adeq01l24usJZM8I1Z5V9xfK1+rTseDFZofI6QUlSHLVsCd26haM2\nqRR89dWqQ6affw7jxsETT1Sdmz8/dOEyg1s91RXOlgOTgC2AGfV+94aZBWT2KLsQumerKDvttNB6\nBEpLSyktLc1LcVoLDmtKkpKqpAQ6dAhH3761P2/JEsofeYTyZ58NExsmTar/R2XxnFeBfsBo4If0\nuRRwcL0/LTvNCIFwH+Dz9OcezarXnKVSHTvCY4/BrrvmqAw1uqlTYf/9oaIi6kokScqbXMzWvKyG\nc7kcn1oOnAuMIszcvIOaJgMMHw7DhsGjj4bNtBV/ds4kSarTmn5TllB3CMvmObkQ1jl75hk44QQD\nWlJMmQJDh4YOmiRJRaK+nbM1TScoBy4gbNVUXW/gQuDletTW+IYMgbvvhkMOCdtDKN7snEmSVKc1\nhbP9gK+AGwn7ak4GpqTv3wDMISwUG60hQ+CeewxoSWE4kyRpjbL9TdkU6JC+Pw9YkZtysrb69k2j\nRsHxx8Mjj8Duu0dTldZs0iQ46CCYPDnqSiRJypvGHNbMtILQKZtD9MGsZvvvHzpohx4Kr78edTWq\njZ0zSZLWKD4bSTWG/feH//wnBLTXXou6GlXnIrSSJNWpsMIZwH77hYD2k58Y0OLGCQGSJNUp23DW\nlaqL/9sQ9teMLwOaJElKqGzC2RnASOCW9OPNgEdyVlFj2W8/uPdeA1qc2DmTJKlO2YSzc4BBwHfp\nx5OBTjmrqDENHgz33RcC2quvRl2NwHAmSVIdsglnS9JHpWZEsytAw+y7b1VAe+WVqKspbk4IkCSp\nTtmEs5eBSwjXmg0mDHE+kcuiGt2++8J//wuHH25Ai5qdM0mS1iibcHYRMBd4HzgTeAq4NJdF5URl\nQDvsMANaVOycSZJUp2zC2QrgVuBwwuSA0SRpWDPTPvvAiBF20KLihABJkuqU7bDmesAGwDvAbcC1\nuSwqp/bZxw6aJEmKrWzCWTvCTM2fAHcD/YnDhudrI7OD9tZbUVdTPOycSZJUp2zCWVNgY+BI4Mn0\nuWQOa2baZx8YPhwOPhjeeSfqaoqH4UySpDXKJpxdCYwCKgjXm3UHpuSyqLwZOhRuuw0OPBAmTIi6\nmsLnhABJkurULIvnjEwflSqAw3JTTgSGDYOlS2HIEHjhBdh666grKmx2ziRJWqNswllr4FRg6/R9\nCMOap+SqqLw74ghYsiRs+fTSS9CzZ9QVFSY7Z5Ik1SmbYc17gM7AEKCcsLfm9zmsKRrHHQdXXBGu\nRZs2LepqCpMTAiRJqlM2nbMehDXOhgHDgfuAwtxJ/NRTQwdtn33g5ZehS5eoK5IkSUUmm3C2NH07\nH9gOmA10zFlFUfvZz0JA23vvsA7axhtHXVHhsHMmSVKdsglntxEWoL0UeBxYF7gsl0VF7rzzYPHi\n0EErL4dOnaKuqHAYziRJWqNsrjm7DfiasFNAN0LX7OZ6fs5JwHhgi4xzrQn7dGZTQ/5dfHGYKLDv\nvvDVV1FXUxicECBJUp2y6Zy1Iiyd0ZWwIG0JYbbmlfX4nLuAPaud+w1wHbCyHu+TX2VloYM2dGhY\nZqNt26grSj47Z5IkrVE2XavHgIOBZcAPGUdDVLZONga2B57N+NlPgU+Ab4B3gQXAB+nnRqOkBK66\nCnbcMayHtnhxZKUUBDtnkiTVKZvO2abA/o30eZVtkz8AvyeEwzeBf6VrKQN2AM4nBLOdgCWN9NkN\nU1ICN94Ylto46ih48EFo3jzSkhLNzpkkSWuUTefsDUKXa20cA2wI/Jawafoi4GPgLMK6aSngDsI1\nbROANoThzmiDWaWmTeHuu2H5cjjlFFgZ35HYWLNzJklSndbUOXs/fdsUOBmYRlVYSlF3YPsZcHr6\nuQcQ1keD/9/enUdJVd0JHP+2CLIJiguIyjIjInpsIE7ABbF1BKKACrK4Kzo4Rj3quJsx2jO4xnjI\nKLzcrsQAABIGSURBVHFwRkFH44qIuCCaCaWDmmBEYTRCjEZ0RBGPUYkbgj1/3NdW0XbXa7qr69Wr\n/n7O6VPvvX7Lr3OP1C+/++69oZv0NKAH8ENCBa22nFJJGBG6F7A8382rq6u/266qqqKqqiomnGZq\n2xYefDC8f3bOOXDzzVaBNpdTaUiSWoFMJkMmk2ny9fm+KfuQfUesvvPebsLzxhMmtf0ZMJGQmHWJ\nntOPkBBWRucNAi5t4D41NUlVYT77DA4+OCRpV12VTAxptWQJnHUWvPhi0pFIklQ0FaEw0ejqRL7K\n2RpCt+NuhCrW7cCGZsTWDvgxMDrar11Q/WRCcrYVYdDBemAFIYF7gVBpKx1dusCTT8Lw4bDNNnDh\nhUlHlB5WziRJipUvObuTkCgtJnRL7gmc24xnrQdGNPCcWntHn68AvZrxrJa1ww7w9NNw4IHQtStM\nnZp0ROlhciZJUl75krMBZJOl2wD7onLtsgs89RQcdFBI0CZNSjqi0ueAAEmSYuVLzjY0sK1a/frB\nggUwYgR06xZWE1B+Vs4kScor31QalYSJYGt/9s7Z/qzlQ0uJgQPD3GfHHQdLlyYdTWmzciZJUqx8\nyVkbYOucny1ztru0fGgpMnw4zJwJY8bAm28mHU3pckCAJEmxGrNCgBpj/Hj48EMYNQqeew66d086\nIkmSlEImZ4V0xhnw/vswejQsWuRC6XVZOZMkKVZjlm/S5qiuhn32gaOPhvXrk46m9JicSZKUl8lZ\nodUulN6xI0yZ4jqcuRwQIElSLJOzlrDllnDvvfDOO3DRRUlHU1qsnEmSlJfJWUvp0AHmz4eFC+HG\nG5OOpjRYOZMkKZYDAlrSttuGdTj32w969YKJE5OOKHlWziRJysvkrKXtsgs8+iiMHAk9e8IBByQd\nUXKsnEmSFMtuzWIYNAjuuiuM4HzjjaSjSY5TaUiSFMvkrFhGjYJp0+Cww2Dt2qSjSY7JmSRJeZmc\nFdPUqTBpEhxxBHz5ZdLRFJ/dmpIkxTI5K7arroK+feHEE1vnHGhWziRJysvkrNi22AJmzw5dm61t\nDjQrZ5IkxTI5S8JWW8HDD8Pjj8OMGUlHU1xWziRJysupNJLSrRssWBCm1ujdG8aOTTqilmflTJKk\nWFbOktS3b6ignXoqLFuWdDQtz6k0JEmKZXKWtKFD4eabwwjODz5IOpqWZ3ImSVJeJmel4JhjYMoU\nOOqo8p5iw25NSZJimZyViiuvDN2cp51W3kmMlTNJkvIqVnJ2BvAq0DvnWGdgQZGeX/oqKmDWLHjr\nrbCSQDkq56RTkqQCKdZozZnA0DrHLgFuKNLz06FDB5g3L7yH1r8/TJ6cdESFZ+VMkqS8it2tWVs6\n2RXYHfhNzu8uAN4B1gAvA18DS2ht03306AHz58PZZ8OSJUlHU1hWziRJilXs5Ky2bPIvwFXAxcB/\nAQOAjcB04GrgB8AqYAiwocgxJm/gwNDFOW4cvPtu0tEUjlNpSJIUq1hVqeOA7QjJ2DxgXfTzK6AH\n8I/AecBs4A6gP/DHfDesrq7+bruqqoqqqqqCB52osWNh5crwuXgxdO6cdESFYXImSSpzmUyGTCbT\n5Otb8pvyTGAqoSvzcKB2Eq/5wCnAx9H+LOAXwHLgJeDQ6KcS+GkD966paQ1dZDU1MHUqfPQRzJ0b\n1uVMsyefhOnTYeHCpCORJKloKkJhotE5V0t+298CDCZ0UdYmZhOADNnE7DpCJW05oYrXFfgL8DfA\ney0YWzpUVMAtt8DHH4epNsqBlTNJkvIq5sv27QiVtNHR/v6EKTZGAfsBdwMro98tB24FlhIGBbRe\n7drBnDkwZAhUVsLEiUlH1HStodopSVIzFTM5W09IxGo9D2xT55zaxG0B0KsYQaXCjjuGNThHjoR+\n/WDQoKQjajorZ5Ik5ZXyl5hakcGDYcaMMIJz7dqko2kaK2eSJMUyOUuTyZPhuONgwgRYvz7paJrG\nypkkSXmZnKXNtGnQtSucd17SkWw+5zmTJCmWyVnabLEF3H03ZDJw661JR7N57NaUJClW61oaqVx0\n6QKPPALDhsGAATB8eNIRNZ6VM0mS8rJyllb9+sFdd4X30FatSjqaxrFyJklSLJOzNBs5Ei6+GI46\nCj7/POloGsfKmSRJeZmcpd1554WF0qdMKf3KVKnHJ0lSCTA5S7uKCpg5E955B665Julo4lk5kyQp\nLwcElIP27cPC6EOHhiramDFJR1Q/K2eSJMWyclYuevYMa3CeeiqsWJF0NPVznjNJkmKZnJWToUPh\n+uvhyCPhk0+SjqZ+JmeSJOVlclZupkyBUaPCMk8bNyYdzabs1pQkKZbJWTm68Ub46iu4/PKkI/k+\nK2eSJOVlclaO2raFBx6A++6D++9POposK2eSJMVytGa52n57mDcPRoyA/v1h0KCkIwqsnEmSlJeV\ns3I2cCDMmAHjxsHatUlHY+VMkqRGMDkrd5MmwbHHhs9vvkk6GitnkiTFMDlrDaZNg44d4YILko3D\nec4kSYplctYatGkD99wDCxfCrFnJxWG3piRJsRwQ0Fp07QqPPALDh8Oee8K++yYTh5UzSZLysnLW\nmuyxR6icTZgAq1cX//lWziRJilWs5OyXwKvAHTnHOgFPApZSimnMGDjzTBg/PkxUW2xWziRJyqtY\nydlZwL5An5xjlwA3AJZTiu2yy6BXr5CkFbOaZeVMkqRYxUrOdgSWAK9H+7sC/YH/zjnnGOAt4C/A\ny8A6QrVtpyLF2HpUVMDs2fDSS2EetGI/W5IkNahYydluwJ5AP2A74F+Bywldmi8AJxO6OauB2cBg\nYBWwD/B+kWJsXTp1CisIXH01LFpUnGc6lYYkSbGKlZydDywDXiMkaB8DbwCnAt0JXZu3A32j8zoC\n3wJfFym+1qlv3zDFxrHHwttvt/zz7NaUJClWS06lcSYwlZB4HQ58EB1/DDgB2BY4CLiK7KCASmA+\nsBewPN/Nq6urv9uuqqqiqqqqYIG3KoccEt5BO/JIeP75UFFrSVbOJEllLpPJkMlkmnx9sb8pjwO6\nATMICds4oBchgRtNqKxVAuOBQcClDdynpsYqTOHU1MCUKfDFF3D//S2XQN1zDzz6KNx7b8vcX5Kk\nElQRvlcb/eVazHnOOgAnAbdE+08QKmv3RD8dgG+A9cAKQiJ3ZBHja70qKmDmTFi1Cq67ruWfJUmS\nGlTMFQK+BH5Uz/E7c7b3jj5fIVTUVCzt28PcuTBkCFRWwujRhX+G1U5JkmK5QoCydt4Z5swJXZwr\nV7bMM6ycSZKUl8mZNrXffnDttWGAwKefFvbeTqUhSVIskzN932mnwaGHwgknwLffFu6+dmtKkhTL\n5Ez1mz4d1q2DK64o7H2tnEmSlJfJmerXti08+CDcfXf4LAQrZ5IkxTI5U8N22AEefjgskL5sWWHu\naeVMkqS8TM6U3+DBcNNNMG4cfPRR8+5l5UySpFgmZ4p37LEwcSJMngwbNjTvXlbOJEnKy+RMjXPN\nNdCuHVx4YdPv4VQakiTFMjlT47RpE9bGfOIJuPPO+PMlSVKTFHP5JqXdttvCI4/AQQfBHnvA0KGb\nd72VM0mSYlk50+YZMABuuw2OPhpWr968ax0QIElSLCtn2nxHHAGvvQZjx8Kzz0KnTo2/1sqZJEl5\nWTlT01x6KVRWwvHHw8aNjbvGypkkSbFMztQ0FRVw661hcfRLLtm86yRJUoNMztR07drBQw/BY4+F\nRC2OAwIkSYrlO2dqnm7dQnI2bBj06QOjRiUdkSRJqWblTM23224wZw6ceCK8+mrD51k5kyQplsmZ\nCmPYMJg+PYzgXLOm/nMcECBJUiyTMxXO8cfDKaeEqTa++KL+c6ycSZKUl8mZCuuKK2D33eGEE74/\nxYaVM0mSYpmcqbAqKsIKAp9+Cuec8/2EzMqZJEl5mZyp8LbaCubOhcWL4frrs8etnEmSFMupNNQy\nunaFBQtg//2hZ0846aRw3MqZJEl5WTlTy+nZMyRoF10ETz313VQamUwm6cjURLZdutl+6WXbtS6l\nlJztASwDvgJeBlYDq4CxSQalZhowIKwicPzxsHQp4D8yaWbbpZvtl162XetSSslZd+B84DVgMDAf\nOA14NMmgVADDhoXlnW6/3W5NSZJilFJy9gywAVge7Q8kVNBUDsaPD8nZkCFJRyJJUkkrhTLGmcDU\naHsu8FdgOrAS6N/ANX8C/rblQ5MkSWq2N4Hdkg6iqW4H/h7oAfw24VgkSZKKrpS6NQEqCd2anwCd\ngauTDUeSJEmSJElKiR8BK4A3gEsSjkXxZgFrgP/NOdYNeBr4I/AUsE0CcalxdgUWEUZQvwqcEx23\nDUtfe+B3wCvAH4Bro+O2Xbq0IQyMq521wPZLh7cJvYAvA0uiY2Xbdm0IAwH6AG0J/+gMSDIgxTqQ\nMC1KbnL2M+DiaPsS4LpiB6VG6wEMirY7EwbpDMA2TIuO0eeWhHd4h2Hbpc35wK8IU0uB7ZcWfyYk\nY7nKtu32A57M2b80+lFp68OmydkKwpx2EL78VxQ7IDXZPOBQbMO06Qi8COyFbZcmuwC/Bg4mWzmz\n/dLhz8B2dY5tVtuV2oCAfHYG3s3Z/7/omNKlO6Grk+ize55zVTr6EKqgv8M2TIstCD0Ma8h2T9t2\n6TEduAj4NueY7ZcONYTE+vdkpwrbrLZL08LnNUkHoIKrwXZNg87AQ8C5wLo6v7MNS9e3hG7prsBC\nQgUml21XusYAHxLeWapq4Bzbr3QdALwP7EB4z6xulSy27dJUOXuP8IJyrV0J1TOlyxpCSRdgJ8I/\nQCpdbQmJ2V2Ebk2wDdPmU+BxYB9su7TYHziC0D12L3AI4b9B2y8d3o8+1wIPA0PYzLZLU3L2e6Af\noXulHTCZ7EuSSo/5wMnR9slkv/BVeioIE0P/AfhFznHbsPRtT3Y0WAdgBKEKY9ulw08IBYi+wDHA\nb4ATsf3SoCOwdbTdCRhJeO+6rNvuMMKIsT8BlyUci+LdC6wG1hPeF5xCGMHya8pwOHEZGkboGnuF\n8MX+MmE6G9uw9O0NLCW03XLCu0tg26XRQWQLEbZf6etL+O/uFcIURLW5im0nSZIkSZIkSZIkSZIk\nSZIkSZIkSZIkSZIkSVJxbSQ7h9rLQK9kwymovYFZ0fYpwM11fp8hzNrfkAcIcyZJamXStLampPLz\nBWFB9fpURJ9pXT/wIrIJWX1/Q9z6ev8J/BNwToHjklTi0rR8k6Ty14ewCsidhCVPdiUkOUuAZUB1\nzrn/HJ37P8A9wAXR8QzZitT2hPUJAdoAN+Tc6/ToeFV0zYPA68DdOc/4IfAcYbbv3xIWgX8GGJhz\nzmJClSzXVsC+wIsxf28FMJZs5XAl8FbO33F4zPWSJEkFtYFsYvIQ0JvQ1Tkk+v1I4NZoewvgUeBA\nQvK1HGhPWMfuDeD86LxFwA+i7dzk7HRCQgcheXqRkAxWAZ8APQnJ0vOEhafbAW+STfQ6ExK8k4Dp\n0bHdqT8B2zeKtdYphIWOc7tw1+XEWet+4Mc5+88AA+q5v6QyZrempCR9yabdmn2AVYTqFoTkbCQh\nmYGwkHA/QkI2F/gq+plPvJGECteEaL8LsBvwTfS81dHxVwjveq0D3gdeio7/NfqcA/yUUNE7FZhd\nz7N6R9fWqgHuY9MuykV1rrmY0M377znHVhP+N3k95m+TVEZMziSVms/r7F8L/EedY+eSfSeNOtsb\nyL6y0b7OdWcDT9c5VgV8nbO/kfBvY0Pvg30R3eMoYCLfr34RXVtR51jd/VyHAkcDw+u55ts810kq\nQ75zJqmULSRUpzpF+zsDOwDPEpKj2m7NMTnXvA38XbQ9Ief4QuBMsv+ndHegYwPPrSG8/7VTzr22\nJnRrAtwG3ESouH1az/WrgB45+/kSs97AL4FJbJokEj1/VZ5rJZUhK2eSktTQKMZaTxPeuXoh2l8H\nnEDo5ryf8GL/h4T3vmoToJ8TpqE4HXg85363EboIl0bnfgiMo+FRk98AkwkjLjsQKmYjCJW9pYSk\nrL4uTaK4+tf5m+p7RgVwMtANmBcde4+QbLYFdgFWNPAMSZKkknUl2dGaxdCTUFnL5w5gaDOeMRL4\nt2ZcLyml7NaUVC6KNR/aSYRpNX4Sc97PgTOa8Zx/IDsqVJIkSZIkSZIkSZIkSZIkSZIkSZIkSZIk\nSZKktPl/h3fA+OvbGmoAAAAASUVORK5CYII=\n", + "text": [ + "" + ] + } + ], + "prompt_number": 71 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Logarithmic Bode plot" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "freq = pylab.logspace(-3, log10(nyquist_freq), num_points)\n", + "resp = respfunc(freq)\n", + "\n", + "fig, axes = plt.subplots(nrows=2, ncols=1, figsize=(10, 10), dpi=100)\n", + "\n", + "axes[0].plot(freq, 10 * log10(abs(resp)), 'r')\n", + "axes[0].set_xlabel('Frequency (Hz)')\n", + "axes[0].set_xscale('log')\n", + "axes[0].set_ylabel('Magnitude (dB)')\n", + "axes[0].axhline(y=-3)\n", + "\n", + "axes[1].plot(freq, angle(resp), 'r')\n", + "axes[1].set_xlabel('Frequency (Hz)')\n", + "axes[1].set_xscale('log')\n", + "axes[1].set_ylabel('Phase (radians)')\n", + "axes[1].set_ylim([-pi, pi])\n", + "axes[1].set_yticks(linspace(-pi, pi, 9))\n", + "axes[1].set_yticklabels([\"-\u03c0\", \"-\u00be\u03c0\", \"-\u00bd\u03c0\", \"-\u00bc\u03c0\", \"0\", \"\u00bc\u03c0\", \"\u00bd\u03c0\", \"\u00be\u03c0\", \"\u03c0\"])\n", + "\n", + "None" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nykROkiQlgxU5SZKkmLKPnCRJUkxZkZMkSYopEzlJkqSY6twZFiwIW40wkZMkSclQVxf6ydXQyFUT\nOUmSlBw11rxqIidJkpLDRE6SJCmmbFqVJEmKqS5d4Kuvoo6iZEzkJElScnTuDHPnRh1FyZjISZKk\n5OjSxUROkiQpljp3tmlVkiQplqzISZIkxZSDHSRJkmLKwQ6SJEkxZUVOkiQppqzISZIkxZSDHSRJ\nkmLKplVJkqSYsmlVkiQppqzISZIkxZQVOUmSpJhysIMkSVJM2bRadsOBccBLwHPAFjmfnQVMASYB\nIyofmiRJirUaa1qtjzqAFpwPnAM8CHw7834HYChwQOa1P/BPYAiwKJowJUlS7HTqBPPnRx1FyVRj\nRe49oHdmvw8wM7O/B3AzMB+YDkwlVO8kSZLyU19fU4lcNVbkfgw8AVxISDS3zhzvBzyTc94MQmVO\nkiQpP8stBwsWRB1FyUSVyD0MrNrC8bOBkzLbWGA/4Bpg51auky5LdJIkqTZZkSuJ1hIzgBuAb2X2\n/wZcldmfCQzMOW8Azc2ui2lsbPx6P5VKkUqlCgxTkiTVlIgrck1NTTQ1NZXsenUlu1LpvAicCjwK\n7AScRxi5OhS4idAvLjvYYW2Wrsql02kLdZIkqQXjxsHxx8Nzz0UdCQB1dXVQRD5WjX3kjgYuAzoD\nczLvAV4Dbsu8LgBGY9OqJElqjxrrI1eNFbliWZGTJEktmzgRDjoIXnkl6kiA4ity1Tj9iCRJUnnU\n19dURc5ETpIkJUeNNa2ayEmSpOSoselHTOQkSVJyWJGTJEmKKStykiRJMWVFTpIkKaasyEmSJMWU\nFTlJkqSYsiInSZIUU/X1sHAh1MgqUCZykiQpOerqoGPHkMzVABM5SZKULDXUvGoiJ0mSkqWGBjyY\nyEmSpGSxIidJkhRTVuQkSZJiyoqcJElSTFmRkyRJiikrcpIkSTFlRU6SJCmm6utN5CRJkmLJplVJ\nkqSYsmlVkiQpprbZBnr0iDqKkqiLOoAySKfT6ahjkCRJWqa6ujooIh+zIidJkhRTJnKSJEkxZSIn\nSZIUUyZykiRJMWUiJ0mSFFMmcpIkSTFlIidJkhRTJnKSJEkxZSInSZIUUyZykiRJMWUiJ0mSFFMm\ncpIkSTFlIidJkhRTJnKSJEkxZSInSZIUUyZykiRJMWUiJ0mSFFMmcpIkSTEVVSK3H/AqsBDYdInP\n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\n", + "text": [ + "" + ] + } + ], + "prompt_number": 72 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 34 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file