{ "metadata": { "name": "", "signature": "sha256:537dda578e1c6d152366545371dd7a44c0a6b5887c0de69fb1bc89b0b8844267" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Diving into Flickr data with python\n", "\n", "This is a work in progress" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline\n", "import flickrapi\n", "import pandas as pd\n", "import json" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 108 }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Prerequisite:**\n", "\n", "In order to understand this tutorial you need knowledge about a few things:\n", "- python and numpy basic knowledge\n", "- what is the json format\n", "- what is an api\n", "- some basic knowledge about pandas. The official doc has a '10 minutes to pandas' section that should do. \n", "\n", "Happy googling! :)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## I. Learning some basic operations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First we declare a flickrapi object with our flickr API key" ] }, { "cell_type": "code", "collapsed": false, "input": [ "api_key = ''\n", "flickr = flickrapi.FlickrAPI(api_key, format='json')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 109 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then we retrieve the faves (favorites) of a selected photo.\n", "\n", "Here we choose to use the JSON format because it is readable by pandas." ] }, { "cell_type": "code", "collapsed": false, "input": [ "fav = flickr.photos_getFavorites(photo_id='14368887810');" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "By printing the content of the string, we see that some characters have to be removed for having a valid JSON string" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print 'head of fav: ',fav[:50]\n", "print 'tail of fav: ',fav[-50:],'\\n'\n", "# to return a valid json string, just remove 14 first characters and the last one\n", "print 'head of fav (valid): ',fav[14:50]\n", "print 'tail of fav (valid): ',fav[-50:-1]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "head of fav: jsonFlickrApi({\"photo\":{\"person\":[{\"nsid\":\"1208257\n", "tailof fav: s\":12, \"perpage\":10, \"total\":\"120\"}, \"stat\":\"ok\"}) \n", "\n", "head of fav (valid): {\"photo\":{\"person\":[{\"nsid\":\"1208257\n", "tail of fav (valid): s\":12, \"perpage\":10, \"total\":\"120\"}, \"stat\":\"ok\"}\n" ] } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We parse JSON string, basically what it does is transforming the string into a dict" ] }, { "cell_type": "code", "collapsed": false, "input": [ "s_fav = json.loads(fav[14:-1])\n", "print str(s_fav)[:200] # printing only the beginning" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "{u'photo': {u'perpage': 10, u'farm': 3, u'pages': 12, u'id': u'14368887810', u'person': [{u'username': u'Lukasan2014', u'family': 0, u'realname': u'', u'nsid': u'120825773@N05', u'iconserver': u'3908'\n" ] } ], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can see that the content related to favorites is contained in the entry 'person' in the form of a list" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print str(s_fav['photo']['person'])[:200], '\\n' # display the fav list\n", "print s_fav['photo']['person'][5], '\\n' # display info about one fav\n", "print s_fav['photo']['person'][5]['favedate'], '\\n' # display fav date (UNIX timestamp)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[{u'username': u'Lukasan2014', u'family': 0, u'realname': u'', u'nsid': u'120825773@N05', u'iconserver': u'3908', u'favedate': u'1406519587', u'contact': 0, u'friend': 0, u'iconfarm': 4}, {u'username' \n", "\n", "{u'username': u'christilou1', u'family': 0, u'realname': u'', u'nsid': u'38030824@N04', u'iconserver': u'4108', u'favedate': u'1406116570', u'contact': 0, u'friend': 0, u'iconfarm': 5} \n", "\n", "1406116570 \n", "\n" ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can import the information into a pandas data frame" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# read only valid json sub string into data frame\n", "df_fav = pd.read_json(json.dumps(s_fav['photo']['person']));" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can check we have a data frame that contains only information about favorites" ] }, { "cell_type": "code", "collapsed": false, "input": [ "df_fav" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>contact</th>\n", " <th>family</th>\n", " <th>favedate</th>\n", " <th>friend</th>\n", " <th>iconfarm</th>\n", " <th>iconserver</th>\n", " <th>nsid</th>\n", " <th>realname</th>\n", " <th>username</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td> 0</td>\n", " <td> 0</td>\n", " <td> 1406519587</td>\n", " <td> 0</td>\n", " <td> 4</td>\n", " <td> 3908</td>\n", " <td> 120825773@N05</td>\n", " <td> </td>\n", " <td> Lukasan2014</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td> 0</td>\n", " <td> 0</td>\n", " <td> 1406309214</td>\n", " <td> 0</td>\n", " <td> 3</td>\n", " <td> 2927</td>\n", " <td> 91007561@N05</td>\n", " <td> </td>\n", " <td> C\u01b0\u1eddng Euro | Photography</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td> 0</td>\n", " <td> 0</td>\n", " <td> 1406293554</td>\n", " <td> 0</td>\n", " <td> 4</td>\n", " <td> 3673</td>\n", " <td> 104486340@N03</td>\n", " <td> JM Fikko</td>\n", " <td> jm.fikko</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td> 0</td>\n", " <td> 0</td>\n", " <td> 1406259611</td>\n", " <td> 0</td>\n", " <td> 3</td>\n", " <td> 2939</td>\n", " <td> 43738607@N07</td>\n", " <td> </td>\n", " <td> .brianday</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td> 0</td>\n", " <td> 0</td>\n", " <td> 1406239666</td>\n", " <td> 0</td>\n", " <td> 4</td>\n", " <td> 3679</td>\n", " <td> 60142567@N05</td>\n", " <td> </td>\n", " <td> Paxtorino</td>\n", " </tr>\n", " <tr>\n", " <th>5</th>\n", " <td> 0</td>\n", " <td> 0</td>\n", " <td> 1406116570</td>\n", " <td> 0</td>\n", " <td> 5</td>\n", " <td> 4108</td>\n", " <td> 38030824@N04</td>\n", " <td> </td>\n", " <td> christilou1</td>\n", " </tr>\n", " <tr>\n", " <th>6</th>\n", " <td> 0</td>\n", " <td> 0</td>\n", " <td> 1405960894</td>\n", " <td> 0</td>\n", " <td> 3</td>\n", " <td> 2907</td>\n", " <td> 96274428@N05</td>\n", " <td> Fabio Luzzi</td>\n", " <td> faio33</td>\n", " </tr>\n", " <tr>\n", " <th>7</th>\n", " <td> 0</td>\n", " <td> 0</td>\n", " <td> 1405825932</td>\n", " <td> 0</td>\n", " <td> 9</td>\n", " <td> 8060</td>\n", " <td> 43295905@N05</td>\n", " <td> Marvett Smith</td>\n", " <td> Marvett Smith (Savoring the Simple)</td>\n", " </tr>\n", " <tr>\n", " <th>8</th>\n", " <td> 0</td>\n", " <td> 0</td>\n", " <td> 1405535709</td>\n", " <td> 0</td>\n", " <td> 3</td>\n", " <td> 2888</td>\n", " <td> 117312075@N06</td>\n", " <td> Abhijit Roy</td>\n", " <td> c4roy</td>\n", " </tr>\n", " <tr>\n", " <th>9</th>\n", " <td> 0</td>\n", " <td> 0</td>\n", " <td> 1405488932</td>\n", " <td> 0</td>\n", " <td> 4</td>\n", " <td> 3794</td>\n", " <td> 28465812@N07</td>\n", " <td> </td>\n", " <td> Monica & Cebolinha</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "metadata": {}, "output_type": "pyout", "prompt_number": 10, "text": [ " contact family favedate friend iconfarm iconserver nsid \\\n", "0 0 0 1406519587 0 4 3908 120825773@N05 \n", "1 0 0 1406309214 0 3 2927 91007561@N05 \n", "2 0 0 1406293554 0 4 3673 104486340@N03 \n", "3 0 0 1406259611 0 3 2939 43738607@N07 \n", "4 0 0 1406239666 0 4 3679 60142567@N05 \n", "5 0 0 1406116570 0 5 4108 38030824@N04 \n", "6 0 0 1405960894 0 3 2907 96274428@N05 \n", "7 0 0 1405825932 0 9 8060 43295905@N05 \n", "8 0 0 1405535709 0 3 2888 117312075@N06 \n", "9 0 0 1405488932 0 4 3794 28465812@N07 \n", "\n", " realname username \n", "0 Lukasan2014 \n", "1 C\u01b0\u1eddng Euro | Photography \n", "2 JM Fikko jm.fikko \n", "3 .brianday \n", "4 Paxtorino \n", "5 christilou1 \n", "6 Fabio Luzzi faio33 \n", "7 Marvett Smith Marvett Smith (Savoring the Simple) \n", "8 Abhijit Roy c4roy \n", "9 Monica & Cebolinha " ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "To summarize, what we have to do to access our data of interest and put it into a data frame is the following:\n", "\n", "- Use the api to retrieve the information in a json formatted string\n", "- Remove some characters to make is a 'pure' json string readable by the python json package\n", "- Then, here is the **trick:** convert the string to a dict structure with `json.load`. Why do that? Because the information about the faves is easier to extract by using `my_json_var['field1'][field2']` type of queries (extracting directly from the string would require regular expressions and we don't want that).\n", "- Finally, pandas reads json as strings, so we convert it back with `json.dumps` and so can put it into a pandas data frame.\n", "\n", "_ **Edit:** I also tried it by using only data frames (without creating dict objects) but it required more manipulation._" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next we can view the dates as a time series" ] }, { "cell_type": "code", "collapsed": false, "input": [ "df_fav['favedate']" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 11, "text": [ "0 1406519587\n", "1 1406309214\n", "2 1406293554\n", "3 1406259611\n", "4 1406239666\n", "5 1406116570\n", "6 1405960894\n", "7 1405825932\n", "8 1405535709\n", "9 1405488932\n", "Name: favedate, dtype: int64" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then we want to convert the dates into a more readable format.\n", "\n", "For this we use the `to_datetime` function and specify that the UNIX timestamp unit is second (default is nanosecond)\n", "\n", "Additionally we may want to create a new data frame that only contains our date information." ] }, { "cell_type": "code", "collapsed": false, "input": [ "df2 = pd.DataFrame(pd.to_datetime(df_fav['favedate'], unit='s'))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we are interested in the day of the week information, we have to create a `DateTimeIndex` object from which we can extract the `weekday` and create a new column of the data frame with such information" ] }, { "cell_type": "code", "collapsed": false, "input": [ "df2['weekday'] = pd.DatetimeIndex(df2['favedate']).weekday" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [ "df2" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>favedate</th>\n", " <th>weekday</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>2014-07-28 03:53:07</td>\n", " <td> 0</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>2014-07-25 17:26:54</td>\n", " <td> 4</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>2014-07-25 13:05:54</td>\n", " <td> 4</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>2014-07-25 03:40:11</td>\n", " <td> 4</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>2014-07-24 22:07:46</td>\n", " <td> 3</td>\n", " </tr>\n", " <tr>\n", " <th>5</th>\n", " <td>2014-07-23 11:56:10</td>\n", " <td> 2</td>\n", " </tr>\n", " <tr>\n", " <th>6</th>\n", " <td>2014-07-21 16:41:34</td>\n", " <td> 0</td>\n", " </tr>\n", " <tr>\n", " <th>7</th>\n", " <td>2014-07-20 03:12:12</td>\n", " <td> 6</td>\n", " </tr>\n", " <tr>\n", " <th>8</th>\n", " <td>2014-07-16 18:35:09</td>\n", " <td> 2</td>\n", " </tr>\n", " <tr>\n", " <th>9</th>\n", " <td>2014-07-16 05:35:32</td>\n", " <td> 2</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "metadata": {}, "output_type": "pyout", "prompt_number": 14, "text": [ " favedate weekday\n", "0 2014-07-28 03:53:07 0\n", "1 2014-07-25 17:26:54 4\n", "2 2014-07-25 13:05:54 4\n", "3 2014-07-25 03:40:11 4\n", "4 2014-07-24 22:07:46 3\n", "5 2014-07-23 11:56:10 2\n", "6 2014-07-21 16:41:34 0\n", "7 2014-07-20 03:12:12 6\n", "8 2014-07-16 18:35:09 2\n", "9 2014-07-16 05:35:32 2" ] } ], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": {}, "source": [ "OK, so now we know those basic tools, we can start to visualize some stuff.\n", "\n", "Let's see if we can first visualize the number of favorites as a function of the time after posting a picture." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## II. Starting to explore the data\n", "\n", "In the following we define the number faves + comments as the activity.\n", "\n", "Things that may be interesting to look at: \n", "\n", "- Evolution of the activity with time\n", " - For one photo\n", " - For several photos (mean, variance)\n", "- Relation between this time curve and the ranking of the picture in explore.\n", "- Compare explore photos acativity evolution signatures with my average photos.\n", "- Defining attack and decay could be interesting as an attibute for the time vs activity curve.\n", "- Correlation between the week day the photo has been posted and the activity.\n", "- Relation between hour of the post and total activity.\n", "- Relation between the number of groups and activity.\n", "\n", "Here we chose the photo that has been ranked as first on the explore page and we try to see the evolution of the number of favorites with time.\n", "\n", "- First, we extract the first page of favorites, but we also need to get the number of pages which is in another field of the json dict object." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# picture that is 1st on explore page (date Jul 29th 2014)\n", "pp = 50;\n", "p_id = '14778520992' \n", "str_tmp = flickr.photos_getFavorites(photo_id=p_id, per_page=pp);\n", "json_tmp = json.loads(str_tmp[14:-1])\n", "df_tmp = pd.read_json(json.dumps(json_tmp['photo']['person']));\n", "df_fav = pd.DataFrame(pd.to_datetime(df_tmp['favedate'], unit='s'))\n", "num_p = json_tmp['photo']['pages']\n", "num_p" ], "language": "python", "metadata": { "code_folding": [] }, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 6, "text": [ "20" ] } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Because we work with relative time we need to extract the posting time and to convert it to a `pandas.Timestamp` object." ] }, { "cell_type": "code", "collapsed": false, "input": [ "str_tmp = flickr.photos_getInfo(photo_id=p_id);\n", "tt = int(json.loads(str_tmp[14:-1])['photo']['dates']['posted'])\n", "posted = pd.to_datetime(tt, unit='s')\n", "posted" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 7, "text": [ "Timestamp('2014-07-29 18:44:12')" ] } ], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Then we may continue extracting the rest of faves timestamps" ] }, { "cell_type": "code", "collapsed": false, "input": [ "for i in arange(2, num_p+1):\n", " str_tmp = \\\n", " flickr.photos_getFavorites(photo_id=p_id, page=i, per_page=pp)\n", "\n", " json_tmp = json.loads(str_tmp[14:-1]);\n", " df_tmp = pd.read_json(json.dumps(json_tmp['photo']['person']))\n", " df_fav = df_fav.append(pd.DataFrame(pd.to_datetime(df_tmp['favedate'],\\\n", " unit='s')), ignore_index=True)\n", "#print \"data frame\\n\", df_fav" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Making a colum with time difference between post time and fave time" ] }, { "cell_type": "code", "collapsed": false, "input": [ "df_fav['diff'] = df_fav['favedate'] - posted" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Variable with time difference in hours" ] }, { "cell_type": "code", "collapsed": false, "input": [ "ts=(df_fav['diff'].astype('timedelta64[s]').astype(float)/3600);" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Finally we can draw a histogram of the evolution of number of favorites as this time difference. It gives us the dynamics of the number of favorites." ] }, { "cell_type": "code", "collapsed": false, "input": [ "figsize(17,5)\n", "ts.hist(bins=50, color='slategrey', histtype='stepfilled')\n", "xlabel('hours'); ylabel('Number of favorites')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 11, "text": [ "<matplotlib.text.Text at 0x7f1551003450>" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n/wGRHwcLb6zBpQAAAABJRU5ErkJggg==\n", "text": [ "<matplotlib.figure.Figure at 0x7f15611b7850>" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Let's see if we can prettify this by importing the `seaborn` package that is built on top of `matplotlib` for statistical visualization." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import seaborn as sb" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 40 }, { "cell_type": "code", "collapsed": false, "input": [ "figsize(17,5)\n", "ts.hist(bins=50, color='slategrey', histtype='stepfilled')\n", "xlabel('hours'); ylabel('Number of favorites')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 13, "text": [ "<matplotlib.text.Text at 0x7f15462ebd10>" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAA/AAAAFICAYAAAD3WRU/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XuUpGV9J/BvD3Pj0jMgDqAsAS/npySGqCAaogLeicdo\n3GR1lRjxCFHxFs2aSFzUBKLRlSQYNRsREXXVgJBVUYLHG0pWLvHGTR8GQRIDOsIAw32G6f2japye\noWemZrpqut+ez+ecOV31VtVTv+5fVU1/+3nf500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADY\njsZGNXBVLUhyepL9kyxKclKS/0jyhSStf7cPttbOqqpjkxyXZE2Sk1pr542qLgAAAOiiUQb4lyc5\nqLX2pqraI8n3k7wzydLW2imT7rdPkguSHJxk5yTfSnJIa+2+UdUGAAAAXTN/hGOfleTs/uV5SVan\nF9IfVVXPT3JNkjcmOTTJRa211UlWV9XyJAcluWyEtQEAAECnzBvVwK21O1trd1TVeHph/s+TXJLk\nT1prhyf5cZK3JxlPctukh65KsnRUdQEAAEAXjXIGPlW1X5JzknygtfbpqlraWlsX1s9N8v4kF6YX\n4tcZT7Jyc+OuXbt2YmxsZHv/AwAAwMiMbWOgHVmAr6q90zu2/TWtta/1N59fVa9vrV2a5Bnp7SZ/\nSZKTq2pRksVJDkxyxebGHhsby4oVq0ZVOjNo2bJxvZ2D9HXu0tu5SV/nLr2du/R2btJXNjbKGfgT\n0tsV/sSqOrG/7Y1J/qaqVie5Mclx/d3sT03yzfR26T/BAnZsjYmJiaGNZc8OAABgthpZgG+tvSHJ\nG6a46clT3Pe0JKeNqhbmtmOPf03Gd99z2uPcuvLmnPS2P8+++/6XIVQFAAAwXCM9Bh62hwct2ye7\n773ftMfZaeHOWbt27RAqAgAAGL6RrUIPAAAADI8ADwAAAB0gwAMAAEAHCPAAAADQAQI8AAAAdIAA\nDwAAAB0gwAMAAEAHCPAAAADQAQI8AAAAdIAADwAAAB0gwAMAAEAHCPAAAADQAQI8AAAAdIAADwAA\nAB0gwAMAAEAHCPAAAADQAQI8AAAAdIAADwAAAB0gwAMAAEAHCPAAAADQAQI8AAAAdIAADwAAAB0g\nwAMAAEAHCPAAAADQAQI8AAAAdIAADwAAAB0gwAMAAEAHCPAAAADQAQI8AAAAdIAADwAAAB0gwAMA\nAEAHCPAAAADQAQI8AAAAdIAADwAAAB0gwAMAAEAHCPAAAADQAQI8AAAAdIAADwAAAB0gwAMAAEAH\nCPAAAADQAQI8AAAAdIAADwAAAB0gwAMAAEAHCPAAAADQAQI8AAAAdIAADwAAAB0gwAMAAEAHzB/V\nwFW1IMnpSfZPsijJSUmuTnJGkrVJrkhyfGttoqqOTXJckjVJTmqtnTequgAAAKCLRjkD/9IkK1pr\nT03ynCQfSPK+JCf0t40leX5V7ZPkdUkOS/LsJO+qqoUjrAsAAAA6Z2Qz8EnOSnJ2//K8JKuTPL61\ndmF/25eSPCvJ/Ukuaq2tTrK6qpYnOSjJZSOsDR5g0c675OOf+UwWLdp52mONTdyfN73+DUOoCgAA\noGdkAb61dmeSVNV4emH+bUn+16S7rEqyNMmSJLdNsR22q13Hey+7e4cw1p233DSEUQAAANYb5Qx8\nqmq/JOck+UBr7VNV9Z5JNy9JcmuS25OMT9o+nmTllsZetmx8S3eho7a2tzvtNPvWYlwwf57X6Eb8\nPOYuvZ2b9HXu0tu5S2/nJn1lslEuYrd3kguSvKa19rX+5u9W1eGttW8kOSrJV5JckuTkqlqUZHGS\nA9Nb4G6zVqxYNZrCmVHLlo1vdW/vv3/tiKrZdqvXrPUanWRb+ko36O3cpK9zl97OXXo7N+krGxvl\nDPwJ6e0Kf2JVndjf9oYkp/YXqbsqydn9VehPTfLN9I6VP6G1dt8I6wIAAIDOGeUx8G9IL7Bv7Igp\n7ntaktNGVQsAAAB03ew7eBgAAAB4AAEeAAAAOkCABwAAgA4Q4AEAAKADBHgAAADoAAEeAAAAOkCA\nBwAAgA4Q4AEAAKADBHgAAADoAAEeAAAAOkCABwAAgA4Q4AEAAKADBHgAAADoAAEeAAAAOkCABwAA\ngA4Q4AEAAKADBHgAAADoAAEeAAAAOkCABwAAgA4Q4AEAAKADBHgAAADoAAEeAAAAOkCABwAAgA4Q\n4AEAAKADBHgAAADoAAEeAAAAOkCABwAAgA4Q4AEAAKADBHgAAADoAAEeAAAAOkCABwAAgA4Q4AEA\nAKADtjrAV9WSURQCAAAAbNr8Ld2hqp6X5ClJ/jLJJUn2qqq3t9b+ftTFAQAAAD2DzMC/PcnpSV6U\nXoDfP8kxoywKAAAA2NBAu9C31n6Y5LlJPt9auyPJgpFWBQAAAGxgkAD/s6r6+yRPSHJ+Vb0vyQ2j\n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\n5Nrrf5JH/tpjhzLWjmqnefNy/9ohJTBmDX2du2Zrb69vV2f/ffcZyljXXnd9HvmYxw1lrNno+nZl\n9t93w/8HFy9ekHvuWb3VY1173XV55GMeP6zShmLlL1bk7ltX5CEP8YfxZPO9/fnPf5b5u+6RPffa\ne9rP85N2VX5lXz/z7Wlb37ddcsWVV+TXD33KUMZafsV384iHHTCUsUZpW/s6zJ/VtVd+Lw8/YP+h\njDUbXX7F5TnoiU8dylhLd16c//nWtw503732WjJrsvg2qar3VdXvT7r+7zNZDwAAAMwms2kV+ouS\n/HaSVNWTkgznQE8AAACYA2bTMfDnJnlmVV3Uv37MTBYDAAAAAAAAAAAAAAAAAAAAAAAAAAAAANBJ\nnTp5fFXNS/LBJAcluTfJK1tr185sVWyrqlqQ5PQk+ydZlOSkJFcnOSPJ2iRXJDm+tTYxUzWy7apq\nryT/luTp6fXzjOhr51XVW5M8L8mCJH+f3ilAz4jedlb//9bTklR6fTw2yf3R186qqicmeXdr7ciq\nemSm6GVVHZvkuCRrkpzUWjtvxgpmYBv19rFJTk3v/Xpvkpe11n6ut900ubeTtr0kyWtba4f1r+tt\nx2z0nt0ryYeT7J5eDn9Za+36re3rbDoP/CBekGRh/0X8Z0neN8P1MD0vTbKitfbUJM9J8oH0enpC\nf9tYkufPYH1so/4fZ/53kjvT6+Mp0dfOq6ojkvxm/zP4iCQPj/fsXPCsJLu21p6c5C+S/FX0tbOq\n6i3p/YK4qL/pAZ+/VbVPktclOSzJs5O8q6oWzkS9DG6K3v5teuHuyCTnJPnTqto7ets5U/Q2VfW4\nJK+YdN37tmOm6Ot7kny8tXZ4khOTPGZb+tq1AP9bSc5PktbaxUkOmdlymKaz0nvxJr3X4uokj2+t\nXdjf9qUkz5iJwpi29yb5UJIb+9f1dW54VpLLq+qfk3w+yeeSHKy3nXd3kqVVNZZkaZL7oq9dtjzJ\nC7N+L8upPn+fkOSi1trq1trt/ccctN0rZWtt3NsXt9Z+0L+8IL338qHR2y7aoLdVtWeSk5O8Mev7\nrbfds/F79rAk+1XVl9ObyPxqtqGvXQvwS5LcPun6/f1d/+ig1tqdrbU7qmo8vTD/tmz4mrwjvV8m\n6ZCqenl6e1Zc0N80lg0P19HX7lqW5OAkv5fkVUn+T/R2LrgoyeIkP0xvz5lTo6+d1Vo7J73dMNeZ\n3MtV6fVySZLbptjOLLZxb1trNyVJVR2W5PgkfxO97aTJve1nm48keVN6n7/r6G3HTPF5fECSW1pr\nz0xyQ5I/TTKerexr18Lv7el9k+vMa62tnalimL6q2i+9vz6d2Vr7VHrH6K0znuTWGSmM6TgmyTOr\n6mtJHpvkY+kFv3X0tbt+keSC1tqa1lpLck82/E9Gb7vpLen99f9R6b1nz0xvNm8dfe22yf+vLkmv\nlxv/PjWeZOX2LIrhqKoXpbfH22+31m6O3s4FByd5ZHp9/VSSX62qU9ILeXrbbTent/di0tuT8ZBs\nw3u2awH+oiS/nSRV9aQkP9j83ZnN+sdpXZDkLa21M/qbv1tVh/cvH5Xkwqkey+zVWju8tXZE/5i8\n7yV5WZLz9XVO+FZ661Wkqh6aZJckX9Hbzts16/duW5lkfnwWzyVT9fKSJE+pqkVVtTTJgektcEeH\nVNXR6c28H9Fau76/WW87rrV2aWvtMf3fo16c5KrW2puSXBq97bpvJXlu//Lh6fVvq9+z80da4vCd\nm97M3kX968fMZDFM2wnpzd6dWFXrjoV/Q5JT+4s3XJXk7JkqjqGZSPLmJB/W125rrZ1XVU+tqkvS\n+wPwa5JcH73tuvcm+WhVfTO9mfe3pncGCX3ttnVnDXjA529/FfpTk3wzvffyCa21+2aoTrbeRH83\n679L8pMk51RVkny9tfZOve20jc/2MbZuW2vtJr3trMmfx6dV1avT2xvqJa212/QVAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAGBmVNURVfW1ma4DAJi+eTNdAAAAALBl82e6AABg5JZV1XlJHpHk\nR0l+P8lLk7wpyUSSf0vy2tbanVW1trU2L0mq6uVJDm+tHVNV1yf5dpLHJnlmkn9Isnd//He21j6/\nHb8fANghmYEHgLnvV5K8JsmBSfZJ8qokJyR5amvtoCR3Jnn7FI+b6P9bd/mLrbVHJ3lakutaa4ck\nOTrJU0ZbPgCQCPAAsCP4fmvtJ621iSRXJ9k9yedaayv7t/9jkqdv4rFjky5f3P96UZIXVNW5SZ6c\n5C9HUDMAsBEBHgDmvjWTLk8kWZkNg/m8TH1Y3cKsn4FPkruTpLW2PMmjk3wyvdn3S4ZZLAAwNQEe\nAHZMv1NVe/QvH5vkq/3Lv6iqX6uqsSS/M9UDq+rV6R33fnaS45PsVVVLRl4xAOzgLGIHAHPb5OPY\n17ktybuSfKOqFiS5LL3j4pPkz5J8IclNSb6VZM8pxvxEkk9V1Q+SrE7y9tba7SOoHQAAAAAAAAAA\nAAAAAACMmuyHAAAAG0lEQVQAAAAAAAAAAAAAAAAAAAAAAAAAYJP+P0j77U2VZAIeAAAAAElFTkSu\nQmCC\n", "text": [ "<matplotlib.figure.Figure at 0x7f154633f950>" ] } ], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Nice! Now, we would like to visualize information not only for one photo, but for many others that also figure on the explore page. What we have to do is to extract the id's of these photos, repeat the fave extraction operation for each of them and stack the data in a dataframe. To do so im a more systematic way, we may want to define functions.\n", "\n", "##\u00a0III. Writing functions " ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Extracts for a photo the times and types of events (fave or comment)\n", "def getFlickrActivity(df_list):\n", " pp = 50;\n", " df = pd.DataFrame(columns=['time','event_type','photo_id'])\n", " for p_id in df_list:\n", " # parse first page (necessary to know the total number of pages)\n", " str_tmp = flickr.photos_getFavorites(photo_id=p_id, per_page=pp)\n", " json_tmp = json.loads(str_tmp[14:-1])\n", " num_p = json_tmp['photo']['pages']\n", " df_tmp = pd.read_json(json.dumps(json_tmp['photo']['person']))\n", " dt = pd.Series(pd.to_datetime(df_tmp['favedate'], unit='s'))\n", " df = df.append(pd.DataFrame({ 'time' : dt,\n", " 'event_type' : 'f', \n", " 'photo_id' : p_id}))\n", " \n", " # parse other pages\n", " for i in arange(2, num_p+1):\n", " str_tmp = \\\n", " flickr.photos_getFavorites(photo_id=p_id, page=i, per_page=pp);\n", " json_tmp = json.loads(str_tmp[14:-1])\n", " df_tmp = pd.read_json(json.dumps(json_tmp['photo']['person']));\n", " dt = pd.Series(pd.to_datetime(df_tmp['favedate'], unit='s'))\n", " df = df.append(pd.DataFrame({ 'time' : dt,\n", " 'event_type' : 'f', \n", " 'photo_id' : p_id}), ignore_index=True)\n", " \n", " # do the same with comments (no page parsing required)\n", " str_tmp = json.loads(flickr.photos_comments_getList(photo_id=p_id)[14:-1])\n", " df_tmp = pd.read_json(json.dumps(str_tmp['comments']['comment']))\n", " dt = pd.Series(pd.to_datetime(df_tmp['datecreate'], unit='s'))\n", " df = df.append(pd.DataFrame({ 'time' : dt,\n", " 'event_type' : 'c', \n", " 'photo_id' : p_id}), ignore_index=True)\n", "\n", " return df" ], "language": "python", "metadata": { "code_folding": [] }, "outputs": [], "prompt_number": 110 }, { "cell_type": "code", "collapsed": false, "input": [ "# Takes a data frame containing a list of photos and extracts infomation for each of them\n", "# time posted, views (to complete in future versions)\n", "def getFlickrInfo(df_list):\n", " pp = 50;\n", " df_out = pd.DataFrame(index = arange(df_list.size), columns = ['photo_id', 'posted', 'views'])\n", " for idx, p_id in enumerate(df_list):\n", " \n", " str_tmp = flickr.photos_getInfo(photo_id=p_id)\n", " tt = int(json.loads(str_tmp[14:-1])['photo']['dates']['posted'])\n", " posted = pd.to_datetime(tt, unit='s')\n", " views = int(json.loads(str_tmp[14:-1])['photo']['views'])\n", " \n", " df_out.posted.ix[idx] = posted;\n", " df_out.views.ix[idx] = views;\n", " df_out.photo_id.ix[idx] = p_id;\n", "\n", " return df_out" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 111 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Let's try to see if we could use this with the photos published in explore ('interesting' ones according to flickr) by defining a function that retrieves the list of these:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def getFlickrExploreList():\n", " str_tmp = flickr.interestingness_getList()\n", " json_tmp = json.loads(str_tmp[14:-1])\n", " df_tmp = pd.read_json(json.dumps(json_tmp['photos']['photo']))\n", " df = df_tmp['id']\n", " return df # list of photo ids" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 112 }, { "cell_type": "code", "collapsed": false, "input": [ "# Making a data frame with pictures from explore\n", "df_list = getFlickrExploreList()\n", "df_info = getFlickrInfo(df_list)\n", "df_event = getFlickrActivity(df_list)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 158 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we have a data frame `df_info` that contains for each picture the time posted and the number of views (which we couls also count as a part of the activity)," ] }, { "cell_type": "code", "collapsed": false, "input": [ "df_info.tail()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>photo_id</th>\n", " <th>posted</th>\n", " <th>views</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>95</th>\n", " <td> 14944614512</td>\n", " <td>2014-08-17 11:04:56</td>\n", " <td> 10970</td>\n", " </tr>\n", " <tr>\n", " <th>96</th>\n", " <td> 14924191006</td>\n", " <td>2014-08-17 15:15:35</td>\n", " <td> 9145</td>\n", " </tr>\n", " <tr>\n", " <th>97</th>\n", " <td> 14764195088</td>\n", " <td>2014-08-17 20:56:48</td>\n", " <td> 10851</td>\n", " </tr>\n", " <tr>\n", " <th>98</th>\n", " <td> 14758390478</td>\n", " <td>2014-08-17 11:10:59</td>\n", " <td> 12199</td>\n", " </tr>\n", " <tr>\n", " <th>99</th>\n", " <td> 14955273955</td>\n", " <td>2014-08-18 06:02:39</td>\n", " <td> 1665</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "metadata": {}, "output_type": "pyout", "prompt_number": 159, "text": [ " photo_id posted views\n", "95 14944614512 2014-08-17 11:04:56 10970\n", "96 14924191006 2014-08-17 15:15:35 9145\n", "97 14764195088 2014-08-17 20:56:48 10851\n", "98 14758390478 2014-08-17 11:10:59 12199\n", "99 14955273955 2014-08-18 06:02:39 1665" ] } ], "prompt_number": 159 }, { "cell_type": "markdown", "metadata": {}, "source": [ "and another one `df_event` that contains the list of events (fave and comments) for our picture list" ] }, { "cell_type": "code", "collapsed": false, "input": [ "df_event.tail()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>event_type</th>\n", " <th>photo_id</th>\n", " <th>time</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>35718</th>\n", " <td> c</td>\n", " <td> 14955273955</td>\n", " <td>2014-08-18 15:35:11</td>\n", " </tr>\n", " <tr>\n", " <th>35719</th>\n", " <td> c</td>\n", " <td> 14955273955</td>\n", " <td>2014-08-18 15:43:48</td>\n", " </tr>\n", " <tr>\n", " <th>35720</th>\n", " <td> c</td>\n", " <td> 14955273955</td>\n", " <td>2014-08-18 18:02:35</td>\n", " </tr>\n", " <tr>\n", " <th>35721</th>\n", " <td> c</td>\n", " <td> 14955273955</td>\n", " <td>2014-08-18 18:56:43</td>\n", " </tr>\n", " <tr>\n", " <th>35722</th>\n", " <td> c</td>\n", " <td> 14955273955</td>\n", " <td>2014-08-18 19:50:20</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "metadata": {}, "output_type": "pyout", "prompt_number": 160, "text": [ " event_type photo_id time\n", "35718 c 14955273955 2014-08-18 15:35:11\n", "35719 c 14955273955 2014-08-18 15:43:48\n", "35720 c 14955273955 2014-08-18 18:02:35\n", "35721 c 14955273955 2014-08-18 18:56:43\n", "35722 c 14955273955 2014-08-18 19:50:20" ] } ], "prompt_number": 160 }, { "cell_type": "code", "collapsed": false, "input": [ "figsize(8,6)\n", "tt=pd.DatetimeIndex(df_event['time']);\n", "hist(tt.hour, bins=24, histtype='stepfilled', alpha=0.7);" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "<matplotlib.figure.Figure at 0x10b026050>" ] } ], "prompt_number": 161 }, { "cell_type": "code", "collapsed": false, "input": [ "figsize(8,6)\n", "tt=pd.DatetimeIndex(df_info['posted']);\n", "hist(tt.hour, bins=24, histtype='stepfilled', alpha=0.7);" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nlDKf5JeSXJNkIcnPJfnjOJbH5iX2+JtJ/nuSun2xsx7Lo/zV9Pl47mMwt/+h3bJ9HmNUStmTJLXW\nG1rPstuUUm5K8qNJVrfPujXJzbXWO0spH0nytiSfaTXfbnCGPX5dkltrrbe2m2rXeUeS5Vrrj5VS\nLk3yh0nuiWN5nM60xz+b5JbzPZYn9X9f8jGYF8Z3JdlXSvmfpZTf3f6lh/G4P8nb8/yrRt9da71z\n+/Rnk9zYZKrd5cV7/Lokf7OU8nullI+WUg60G23X+PUk798+PZvkZBzL43amPR7qWJ5UiM/4MZgT\nuq1ptpbkg7XW70vy7iS/ap/Ho9Z6e5KN0846/W2c1SSHLuxEu88Z9viLSf55rfWNSR5I8q+aDLaL\n1FrXaq2rpZTFPBOMf5kXPu47ljs6wx6/L8ndGeJYntSD9tEki6ffzkt9FjWd1CS/miS11vuSPJnk\nZU0n2r1OP34XkzzVapBd7NO11nu2T38myWtbDrNblFKuTvK5JL9Sa/21OJbH7kV7/MkMeSxPKsQ+\nBvPCeFe2/zeUpZSX55lXIh5pOtHudU8p5Y3bp9+S5M6zXZiR/HYp5S9vn35Tki+1HGY3KKVcleSO\nJDfVWj+2fbZjeYxeYo+HOpYn9cdaPgbzwvgvSX65lPLsP6R3eeVh7J79a9KfTHJbKaWf5OtJPtVu\npF3n2T1+d5JfLKWczDO/UP54u5F2jZvzzEvP7y+lPPs+5nuT/IJjeWzOtMf/LMmHHMsAAAAAAAAA\nAAAAAAAAAAAA0MD/B9Bgigrc13RiAAAAAElFTkSuQmCC\n", "text": [ "<matplotlib.figure.Figure at 0x10ccd1110>" ] } ], "prompt_number": 162 }, { "cell_type": "code", "collapsed": false, "input": [ "grouped = df_event.groupby('photo_id')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 163 }, { "cell_type": "code", "collapsed": false, "input": [ "figsize(15,7)\n", "b=arange(0, 24)\n", "acc = zeros(len(b)-1)\n", "for k, grp in grouped:\n", " tt=pd.DatetimeIndex(grp['time'])\n", " h,hh=histogram(tt.hour, bins=b)\n", " acc += h\n", " plot(b[:-1],h, '.r', alpha=0.25, markersize=10)\n", "acc /= len(grouped)\n", "plot(b[:-1],acc)\n", "gca().invert_yaxis()\n", "gca().xaxis.tick_top()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "<matplotlib.figure.Figure at 0x10cd03cd0>" ] } ], "prompt_number": 173 }, { "cell_type": "code", "collapsed": false, "input": [ "figsize(15,7)\n", "nbin = 100\n", "b=arange(0, 48)\n", "acc = zeros(len(b)-1)\n", "for k, grp in grouped:\n", " tt=grp['time']-df_info.posted[df_info.photo_id==k].iloc[0]\n", " #print tt\n", " ttt=(tt.astype('timedelta64[s]').astype(float)/3600);\n", " h,hh=histogram(ttt, bins=b)\n", " acc += h\n", " plot(b[:-1], h, '.r', alpha=0.25, markersize=10)\n", "acc /= len(grouped)\n", "plot(b[:-1], acc)\n", "gca().invert_yaxis()\n", "gca().xaxis.tick_top()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAA28AAAGpCAYAAAAa4Q58AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvXmUJMd93/nJo+6q7qq+p7unuwczU3NgMAcHB3GQAISD\nIAnwMniKFEFK9MpL2iKXtkx5KflprbfSWrZWsinKtqQ1aFHrlUWKl2hCoEjxBgEM7gFmpgDMffZM\n30edmbl/ZHZ1ZfUcHZE5rEIzPu/1q8juyuiozMisjPjG7/sDhUKhUCgUCoVCoVAoFAqFQqFQKBQK\nhUKhUCgUCoVCoVAoFAqFQqFQKBQKhUKhUCgUCoVCoVAoFAqFQqFQKBQKhUKhUCgUCoVCoVAoFAqF\nQqFQKBQ/Q7Sf9T/M5/M68HlgJ1AGfqVQKLz6s26HQtFIPp+/Cfi9QqFwZz6f3wQ8DNjAfuDjhULB\naWX7FD+f5PP5CPD/AKNADPgd4ACqfypaTD6fN4A/BfKAA/wq7nf6w6i+qWgT8vl8H/AUcBduv3wY\n1T8VLSafzz8NzHibh4HfRaBv6le7gRfhHUC0UCjcAnwG+PctaINCUSefz/867kNIzPvVHwD/qlAo\nvBF3guPtrWqb4ueeXwTOe33xPuCPce+Zqn8qWs39gF0oFG4DPgv8n6i+qWgjvMmv/wws4PZH9d2u\naDn5fD4OUCgU7vR+fhnBvtmKwdutwCMAhULhceD6FrRBoWjkFeBdLCvRrysUCj/wyt8C7m5JqxQK\n+Gvgt7yyDlRR/VPRBhQKha8B/4u3OQZMAXtV31S0Eb8P/AlwxttW905FO7ALSObz+b/L5/Pfyefz\nr0ewb7Zi8NYBzDZsW95SSoWiJRQKhb8Bag2/alxOPA90/mxbpFC4FAqFhUKhMJ/P5zO4A7nP4r9v\nq/6paBmFQsHK5/MPA38E/CXq3qloE/L5/EO4qxYe9X6lofqnoj1YAH6/UCi8CXe5+V82/f2KfbMV\ng6ZZINPYhkKhYLegHQrFpWjsjxlgulUNUSjy+fx64LvAfysUCv8d1T8VbUShUHgI2AL8GRBv+JPq\nm4pW8hHgnnw+/w/AbuALQG/D31X/VLSKAt6ArVAovAxMAP0Nf79i32zF4O3HwFsAPKnw+Ra0QaG4\nHM/k8/nbvfKbgR9c7s0KxdUin8/3A48Cv14oFB72fq36p6Ll5PP5D+Xz+d/wNouABexTfVPRDhQK\nhdsLhcIdhULhTuBZ4JeAR1T/VLQBH8Hz+8jn84O4g7VHRfqmeVWbd3G+gjsb8mNv+yMtaINCcTGW\nnH0+DfxpPp+PAi8BX2pdkxQ/5/wr3OUTv5XP55di334N+A+qfypazJeAh/P5/PeBCG6/PIi6dyra\nEwf13a5oD/4c+K/5fH5pgPYRXPVN9U2FQqFQKBQKhUKhUCgUCoVCoVAoFAqFQqFQKBQKhUKhUCgU\nCoVCoVAoFAqFQqFQKBQKhUKhUCgUCoVCET7ald+yerxk258HdgJl4FcKhcKrYf4PhUKhUCgUCoVC\nofh5JOw8b+8AooVC4RbgM3h5DBQKhUKhUCgUCoVCEYywB2+3Ao8AFAqFx4HrQ65foVAoFAqFQqFQ\nKH4uCXvw1gHMNmxb3lJKhUKhUCgUCoVCoVAEwAy5vlkg07CtFwoF+2JvtMHRALZtg5deEvsv2kVC\n9RznZ1tHO7ShXepohza0Sx3t0IZ2qaMd2nCxOgwDarVgdSSTsLCw+v0TCf92VxecOiXWhmjUvx2P\nw+zsxd97KcymW34sJvY5gu4P7dsvROtohza0Sx3t0IZ2qeMqtmGhWOXMhQXOXFjg9MR8vXzmwgJT\nc+WV1Tg28WoZ06piWjXM9UOYho5p6EQMHdPU6tum6f2uvq1h/vmfYdo1tMbmf+ITq/8cn/vcyt+J\n7L+W6miHNoRRR4htWDd9mrc98033d6LXyBpD0y520V+asAdvPwYeAP46n8+/Hnj+Um/UAAtwXn6F\nqfNzQv+kq2nbgZ95He3Qhnapox3aEHYdBl7/FKzjanyOameWudfg8Wzev9bZyWzANhSv20UxYB0L\nd99LOWAd5W3XshDgWCy86S3SbVjqm5P/+ncg4OeY/OxvC9URdP+L1vGPPx64jtlfuJta0H6xc7fQ\nOVnxOe5+U+DPsTAyGrhvTm7dHvx49vQKHc8VfbOrO3i/6MwG/xyaFrhfTEKga2QBhM7pYqlGqX8j\np7ODnMmt40x2HSey6xj/zf/J3GJ1xfs1Dbo74lw7lqOvK0l/NkFfLsnmB95I/8w5olZ1+XOMi032\ndL3/T3zbkwB/tXorg65/9KeB9g+7jnr/bEE72u1YyNYRdhvq50PwOv15J+zB21eAe/L5/I+97Y9c\ncY/aypuRYnXYjkPJjFGOxIjWKiSqpVY3SXE12LIleB2pdPA6jIC3i4F1wduwcaPwLk46jTY/Xy+z\nc7f4/00mYXFxudw3ILS7NTSMceyoWx4dg5FR4SbUNm/BPPgSaBq1Ldvg5luF65h76JdJ/8XDAMx/\n6CH4wIfE9v/wr5D54n91yx/8iPD+AMWbbiHx+E/qZT71afE6rttF4oXn6mX+2f8mXEettxfz/Pl6\nmfe+X2j/uT17yTzzVL3Mn31BuA3FwWESp0/Wy3z614XrmBtaT+bUiXqZR74r3o5MB4m52XpZ9LNM\ndnWTm5yolzl4RLgNc/EE6VIRgPl4Ap47KFxHEYh75RLAV74p3g5g6W45D3D0rHAbEg1l/uiPV7yn\nUrUYny5ybnKRc1NFzk4u1suzCxX4Rf/DsK5BT8xkbKCDvlyCvlyC/pw7SOvpjGMaK6NTIpMnWdLq\n5yQ+B7gP1TmvPAXCg7+g+1+NOmQGsWG0ox2PxWv5c/y8E+rgrVAoOMA/CbPOVaGFE1Zn2TalikWx\nVKNYsSiWayyWa5TKNYpl/+/s+z7JYixJKRLHsC0Mu4b95ecxDB1T1zB0DcPQMHTdVzaNpb/pZF73\nNgzbAg3KZoxSLMnMd16mUrMpVywqNYty1aJStb1X96dctd1yzYZ/9lf19seqJToXZ0h9YR8dyQiZ\nVJSOZNRXziQjdKSipBORi97wAdCNQMfRaV4iJkMkEryO5iVeMhjBjoXd1S2+Uzzu29QWFsXraFLg\nKzt2iNfRxOKb3iy2Q9Ox00orl/VckaZjEXvqSfeBSIRcF05ueT48+sTjCLcklfYPgEWTrHT3YHX3\n1Df1c+dEWwCjo9RGRzFiEShXSX3uD1n4o8+L1XH/25m//+31TfPgS9ReJ+Ar9cDbmHvgbfL7A9z/\nAMX7H6hvxh79FuX3Cw4C3/M+iu95n9g+zVx/I77Fs6Krdn7r/6BxrljqWPyTj/v6c/lewWsM4HP/\nKXg7fv03xK+rRg4eYQro7c3Iz6D/9y+5gyUPqc/xb36XwFOYX/lmsHb8m9+lCNQcOG9HOL71Vs4+\necIbnLmDtMnZ8orupmnQ0xlnx4Yuhk6/wjq9Qr9RYZ1eIZdNYIlOlHzlm8H7xfis+3AtS9D9Q64j\nUP9cY8fiNd0GRejKmwQhpJpbxUO6bTtcmClyemKRsxOLTNz7CU5nB5lLZFiMJVmMJin92++t/n9u\nv2Pl716+sPr9Ae746MrfPXniom+NRnSipkEsopNJRohG4sQiBukffIdorULFjDKdzDKT7OTE+Bw1\n68pPIqm4SUcqStd7fofOhRn6Z8+xbvoM62rzJGZLZDMxdLFluC7ZrPg+zUSiV37PlYjGgtcRi1/5\nPY3E41AqLZf7+sX/Z6UCthcqquvi8Vmwcv24zPHUdX87BgQ/i20vt0PTwLpo+OsV0JY/v2ki47Gk\nLS5C2RuuxWJgWcJ1OLqBNjfjljOdwiqkk06jjY+75b4+qYkFY/8LXkHHsGys3a8TriP5u//Gt73w\nsV8FgQe62De+6tsuiQ7oAePIYd+2vXW7cB21TXmM48cAsEZGVwzyV0N1127Mg666U9u6FTIhqNOC\n1NaPEtn3uNue62+CRFK4jjDOCZUK+rg7oWBL3LMiP/6hW8gmiUwvUt2z11WoBTD3+6MsqtftEm6H\nUTiENuU+Fjq5HNW8+KqF1bajZtlMzpWZmClxYabIxEyJidkSk5U8E/MVJohhaTr83VHfftl0lC0j\nWfq7kvTnkvR3JRjoStLTmSBiuve39Gf+wt+G1HbE71oKhWKt0vrBWyR4E5yGL91K1eLs5CJnJhY5\nM7FQfz07WaTW+PC442502yJdmidZWSRbnCW6dw+JmEk8apKMmSTiBomo6f4uZri/i5kkoibrbt5J\nsrxIvFrC1nVK69Yz9eN9WLaDZdnu64qyg2Xb1Lxy4oPvxfJUrli1TMzUKH/5a8QihjtYixjEIgYR\nU7/kIKrrU3f4tq1MhulXTlIsW8wtVphdrDC7UG0oV5hdrDK34G7PLVY5M3wRVebzPyFq6vTmEvTn\nkr5lGv25hH9g16SwWCEsj7P6+0KoQ2LgpPsHB4v3v+0Sb7wEmQ73x2PhoV8Wb4Om+Y6pVpGYS246\nJ9EDBxC0lVhhkJH827+l/Ht/sPr9Nc2vAMqImIYOxnI7im9+q3gduu4zDKmNjYnXEY3gNChndnfu\nMm++CLEYzvr19c3qjTeJt6EJu7s5ukac2KOPUHv7u6T3N44dQ2JqwYc1Kr6ElHgcq+HBvCYxACSV\nprZ3eeAqpXo1INWGzk6qd91b35RSR5qQOifRKPbw+iu/b5WE8TmkiETcyRGPIP2z4mhcsCOcnbQ5\n9+yp+uDswkyJiZkS0/PlS3gsGGRjCTbENAYSMNARpXfHZu/7M0E8Kv7MY42MSX6KZaT6p0KhaEta\nP3iTXJa2GE1wtGeMU11DHB/Kc/R/PMeZiQUmZkorliPEogbDvSnWdSdZ151iXXeKrW+/nYHps0Rs\n99buZDJM/fvVu791zU/UVQXDdtA601QTYkv9ul59wrftpNJMreu4xLtXSU8fmqaRjJsk4yb9XVee\n/ezsdxW7s50DnMmt49TIVo6/84OMT7lr8E+dX/nYHzF1+rLul9Ho7R9h3fnj9M2Ok9JszO4RajNF\n4lGTWMTANDSuaKQTiUC1ulxOBTwOIL4MCvcLzjz4Ur3MLrH4KKurC92LbbJHx6BbYtmkrvuPhUys\nWSQCFa+OaERuGaquQ9V79ImYKwa2VySR8MeJxcSX09qdWfRzbqyG3T8APT1X2OMidaSS6ONubJPd\n1yuupgKOYaJPusq63dUDhtjxtDMdGIcOAGBt2eYqgKJtMA30iQnQNJyuLtDF+4U2PYXmqZBOLAZD\nYg/s0a9/BWqeBmAaVDPi16nV149x0DsWW7dJnQ/KJYxjnvImM/gDWFjwt0MQ8+l9PrWqunVbS9Qm\n/cRxf0znxk3CdYShZAamUqkvJ7ZlJt4AqlWf8ibC7EKFF49McuBMmpeMLiYjKfcP+2uw/1D9fZoG\nXZkYm4ezdHfE6e6M09PpvXbE6XtxH1F9+fvOScSobRWbjCzffieRJz1F9oaboLNTaH+A6p69/u8y\nwb6pUCjal9YP3gTiq6o1mxcOT7DvgX/Jvg3XUzMbHqAOT9CRcpcjDHS7A7VB7zWXia0YPHRNnvRt\nO6IPt00Psk40hBitgPFVALbEUkHDselamKJrYYrtpw9gTReY+cLvAeA4DrOLVXcgN1lkfNp7nSpy\nbmqRUxcWeGb3/Ssr/ZPHluvXNWIRg1jUIB511cSl16Xfdd72YeLVEqnKIp3FGZKjw0TPztGRcuP0\nLhmfd7nPNXFefJ+5WZyhYXdp2twsTE+L7e8N3JbKsf/3L8SVjWrVV651SC5DbeiTcx++snfQCsoN\nkWFli7l3v1ds/0pleXlgpULp9TcLN0GvVsGLG9SrVcxnnhaOV9MbLPn1U6fg3BnxdizM1wcZ+sI8\nlMXU0Og3v14vG6+8TDWbo3bn3WJtmJxy43t1zS0vzF95p+Y6ppYjDbTFRWojI2IVFBsio6oQ++7f\nU/7f/7VQFbGvfrleNg++RFVC8Yk9+shyHYcO4Gia8PEklcJqUN5EY++MUyd95dg3vkZZUGmP/ORH\nvu3q6Aah/QG0mRl/uVIRriOoklkfhKbjmPMlig8K3itYeTyrO64TrkO/sHzP1y6cxxq4tLFQzbJ5\n9dQM+49Msv/wJMfOebFQ8fVkS7PsnHmF3uIUuQ1DdL7prvoALZeJYVxmIiui+581pBSvDr8iK1VH\nMtka9VOhUFx1Wj94u4LbpOM4vHJqhsf2n+XJg+MslGqw+WbWXzjO3qNPMTxxkqGpU6R/+mNScYEB\nVJPSowmqCk6uG23Gm+HrzKHLfGGakeXPb0Z8D9urJhZffpCMxTEnxsXrSCaXH8oSCXRneXmppml0\npqJ0pqJsHvYPIhzHYW6xSvGtD3DGzHA+00Mx3Ukxk2X2zW+nUrUoVS3KFYtSxaJcrbFQrDIxW6JS\nbYp/2nORAeDDT9aLqbhJJhmlI7VswNKZjHpGLK4Jy/ruYTrnJklWFtEMYzleSwC7pwdtahoMDTvX\nRfS5Z8QGC7oBtlUvR194Tny5YiIJnusa8QTRs6eE6yi+4x8R/+Y3ACi99QGMwUHh5UO1HbswD77o\nlrdeS+zCeaE6rGuu8akj0bNnhAdedmcn+pw7SLEzaYxJwbhSgHjCF/MWf3qfsDmDNTiI4cWsWX19\nmOOChiOG6esXyb/9KuXf+T2hKuyebvTpadA07K5OIkcPC3+O2tZtGK++CoC1cSPm+DmxcxJPQMXb\nIxpDnxcP/ndSabRFt+VOMkHi619h7j1iTo/NRB5/THzwFjL62dPC+9i9fWhTkwA4uS4izz5F7b63\nCNVhbdqM7qlm9sgo+py4c1tQlaau3MVi1AZGMI8dpdYtppJbQ8M+JdM4e0b4ntUcx2hMTfrqOD9d\nZP/hCfYfmeTAsSlKFfeaNA2NbaM5dlzTxet//zOMnT+Ghts/7Zlu5v75B1ffhhAUL6WaKRSKy9Hy\nwVtt7OIzjWcmFnjsxXP89MWzXJhxByedqSj33rCe+/7Zg2w4f6RudWJ3ZpkWGbiBa1qwNGCzLBZ/\nQeyLX9OArLssQwNK99wn9v+XdmxQ/OZ+6SIGJqupo2GJS22DuJU65fLysSiXWbz9F1b3rzWNjlSU\nsWPP07joqPjm+yk+cPmZQtt2KFddN81yxSL67ndRMqPMR5LMxDOcv+E2pl53cz1Ob26xysxChXOT\ni5deDflhN/FjsrTAupkz9KZNen5wmP6GuL1MMnLZJZzGSW/2V9cwZueoXCvo0lhtGMRbFlbvmNj+\nAMVFX7k2KqiOANHDr2Jv214vLzTM4q4W8/RJ6Oisl6uCjpXG2XN1tco4e47KHvFZYP3ksoGPPjNF\n8Q13CtdRHwh7ZWu9uNJjnD7tK5dEBwpND9R2h/hyQ312zp0c0DX02TnKrxdPFWB6ywSXyuW9N4hV\nMLus8lAqUXzrRSZdroDxysu+7Vpvr3gdS+YtHlWJWMhm1Wv2s78ttH/0G1/z7//pfyncBvOJn/q2\nq+96ULgOfWoSMpl6uXSfxLHwUh4slUUNR8xXCm6hrGG+UpAzGwlBeTPGx90lxV55fuf17H/lAvsP\nT7L/yATnppbvBf25BLfu6GbHNV1sHckRi7orX7Ljy4Y62sI8NUFjoKDHElCqmUKhuCytHbwlEtjX\nXFPfnF2o8PgBd8B25Iw7oxuLGNx87QC37Bhg22gOXdfoOu/PIWNtuAZR7IF1vlk+s2oJzUBXXn8r\nkWf3AVDdfT3WzbcIt6Fy2xuJPO4uL6zedDPGwDrhmUZ7YADdy1Vk9/ZS/LD4ANDuH6gvN7F7ejFL\nZaFjYff1o0948UDdPatym9R1zTV/ibldML15EPN5d+lNbedOSjcOUbszv2I/y7aZL9Y84xVvYOeZ\nsJT+v//BjGMy3tHH8Z5RXjUi8JOjvv0TMYO+rOvw1eczY0mSSUZcpWd+HnQNO5OCqGDsR7oDFr3l\nbMk05XslBvVNLo/GjIS60dmJ5ilWTiZN5LlnqL39nWJ1xGJo3mDUiUTdwYPI/qkUmjdwcuIJ9AVh\nDRKnM+dzeYweeUXc5j8eh7I3qI5FpR4srcFBdE95s/v60EvBDMmdZEq+DYaO1d2DvWnl9XElmpVM\n89gxsWt93TrfcTDn5sXPR8T0xc3JpCZp7t/N5jqrobpzjy8OMbbvccqbV39Mm49l4tuPMPfRjwm1\nwUml0bxVD04i4S6HFaS6a48/dk9iYqCZVhiOWEPD/pg3iVjI2uAwpy4s8KzRw3OJdRx8SqO2z/1e\niUUN9mzuYceGLq69ppu+7MVjcO3BIV8fr94uMWHUQMvMWxQKxZqldYM37wG1bOv89KWz/PTFc+w/\nPIntOOiaxnXXdHPztf3s2dxbnxGrE4v5rb/jEpbwySROd2+9LIp17XY0Lw7L2rpV6otGN03snXvq\nZZ9qs0rKb36A2He+7ZbvugdkHMOSSZxcd70s6vRhj4y6WUQBe3jE5+y3amJx7KX4hMscS0PX68s4\nm8n+qy/VH6ZqmQxn7nwzxz/2Kc5NLcfojU8VOT2xsBzf0EA8ajB4x6cYmD5DtjxP3NSIJweIPHuK\nZDxCMmbWjWCWnEebY/EqN9/it/4eHhY/Fs3mLRK28uaPf+RbplftEA941xYX68tptURCOGWBVizW\n0yZoDlIpD7RatR4LqtWqUJNYCpvNoZ8fr5dJZ4TrMI4crhvAGAvzIBiD4nT3+JbHyTxgO9kczM2B\nabhlyThb5zJbV0KrWfX7pVazpNIuYNvL6nIqtTKtxSowXtzvG/Swa49wHbGv+WPvioKqlz49Xe/T\nulXDGpBYOm9by6Y+Mbn0KMapk2hWrV6ulsXzKQZNIdG8bPJnaXhSs2xePjnDMy+f5/mJEcaTnlGJ\nDaOxGjtet5EdG7rYONS5qtjp4vt+kdi33ZjK8j33QZ+Y2UgYJjT11AtLdciodwqFYs3SssHbs5tv\n4LubbuWxjTdR+rq7tntsIMPN1w5w4/b+iz6c1zFN/wOthKsgpomTW1aIalu3iu3fZDMtRVMbpBgc\npPyhD4fajto2weDoZBI7v3z8qje8XrwNiQR2Q8C8lMWzaWJ7n0MHeuwSqbEuto3532Y7DtNzZc41\nDOjOTS4yPl3kZLGXwx2D/h0eOcSliEWM5cFc3KRj4/0kr7mPTrvMqD3HYPcYfZYtZrjS1L+l7PE1\nfAY40eefFU/CaxiQbsh9JeoZY5pN+0vkDNR1N87KQ2YJKakUdkrcCMKHpvscIiOHDogdz0QCJzFU\n31wUTbgLkExibdmK6SXplmLFtS7osmgYOA3Jym1BRz+3DrO+HBcQdzFdakdD34rue0JcAWzCPHBA\nrA5N8y17r41JuF5Goj5reymXxUgEp7fBHv/40cDpG4RTSCwZnmSTML0oZ7ARjWKvcklzsVzjhcMT\nPPvKBV54dcKNhQcSkSS3nD/A3slX2D19hPRgHwuf+i9i7ejto/yBX6pvtoPFvlLvFApFIy0bvP3m\nW38DgN7iNHe/Mc/rtw8w2COwlKjkfc3GY24uKFFKJbTJCQCcrm5/PqpVEPnB93zLdmRcwuxsDv34\ncbc8MiKXSDkEe2W7pw/jsGdicM1GdzZcZP90BuOQGyRubdkqZYMeefQR3xK9ape4xb49sM5/PC+h\nAOqaRldHnK6OONtG/Q+f6fe8g9nzU5TiaaYGRpjeezOzd9zLYrnGQqnKYqnGYrlG0Xt1t6tMz5c5\nPbGAE2k6B/vBPPB9hnrSjPSnGenPMNqfYbgvdcl8P5WbbyP6+E/c8k23wObNwscCy25Kbi2OnUr7\n7fEFl5Da6Qy65/hpd/eKL0EF7GTStyxYRtXVz4+DZ5BBMgFl4WEszM/7E5aXxVQWR9P8SZAllvnZ\n2RzGieNQMrAHhqTq0I8eXVb4I1G4MCG0fz1dAWB3d8uloKjVYNFbQpuUU96wLL/yJjOBV6u5S6QB\nO50GxL4DapvzGAU31svK5yEnnnfPGtvgTyGRFk8Ubjz3rO9YVNeLT3Dop0+heaZbTjQKgrk662kT\nElHMTE4qbcKV0hVMzpZ49pULPPvyBQ4cm8Ky3ZPe1RHjpu397N7cw40ffx9Rr285iQQ1xPOFBjZv\n2Zz3p7GQUCHDUO8UCsXapWWDt3fsf4Qbjz7F6J7NlN8oaKVuRiC9/NAgE/xPPI4zuDwTbh54SWzW\ntWkGO/LkT4VdwkgksLcsq01S+YoEZisvSSaNtSvAl0Mmg3X9svGB1MyvpuE0pDmQmklvOp4yiZD1\nRILsSIJYLMJAeZpybIHyjkvbTTdiOw7mb3yGRc1kUo9z1Ojg1e5RjnQOcfL80lJN16ZeA/q7koz0\npxntzzDSn2GkP00mGYWRESoNFu5SCVqbkltXdorlqwMgHsNuuEZq2wTV6Vg02P7gntNGO3uZh3Td\nryCa3oOVWB2aPzZLVERMJrEbzJkSX/mSuMNiIuGqG4koFCsB+sXyw2TiW98Uc72MxX3nVHbVAxLL\neH00KW8VmaTnpomdbVQhBftnZyfWDcv3PakVB+k0VoNpjNw59R+Lpck8ITTNzfvnIayoLiX5Tsdh\nviScdgFYka6gumUbJ87N8ezLF3jm5Qu+pe4j/Wl2b+phz+ZeRvrTdROqiK75joVU4vWgZiGxEBLI\nKxQKxWVo2eDtlx/7SypDw1Sy4stu7GwO/YIXw9LTBwnx4P/moGTR2THt/LjP7hoJ5Y1i0Z1JByyJ\n2VIIJ7lqddduTE85q23ZKjz7azz/rO9YVIfFP4sTi/kNCCRy3tnpDoyCN4udl0uErJ09U08VoHV0\nCuVM0jWNzPP76FgsMgBsSyYovfVtlB96BzXL5uzEIsfOzXH83DzHz81xfHyeJw6M88SB5fQOuUyM\nDblbuWbyGGPlKYaGu8lJKCzW0HqM40fd8sgY9IrPQFMqoXvqtC2hhK5QtyVw4nG/siyjIs7N+VXI\niviSQyeXc/sFuJM2goYj+unTvhhES+J4WL39rkoTj2CNbpLq3xSLy0qXpoElGMc4M+NPCG1JHEtD\nR5t13Tedjg6pc2p3dGKc9O6dwyPC5wPc3J665yJqDw4Kr3xYeb8Rv06NZ57y96ubxR1EtalJNM9M\nyOnISOWy862MAAAgAElEQVR50+bn/WqoYL+oO29GDKJVi5LEUm/z6X1Y58Y5YOTYlxll3zMwMe/F\nmeoa147l2L25l92beujuvPj3XOX1txD54fcBqL7hdpBwMg0abxaGzX8Y6p1CoVi7tM6wZOdOqFrL\nJhUiJOLYDYMd4bgNgFjMp1gtfOKTYvvr/tlOqSWLSzPpHlJxXgGTqwJu/F7DTKPwbGXTsdBFc2DB\nCiWz+M53i9eR8c9iSx3PpRiUiAFVS3wWu/lYePubhs5wX5rhvjS3eg7YjuNwYabE8XNzHFsa0J2b\n42kny9NLx6IG0R9XGXrlSYZ60wz3phnuTTHcm6bjcnGh2SxWdlltk+qfcb/KIhwTtELdPiiupkZj\nvmtd6n7RpEJKyUWxOE7D/xaOWdM0N9bLw86Im6aQ9pJKe+qGFJrmWyJu9QsO6k0Tp0GtknFHJBLF\nacgBZndJxM2lUu4yw6V2SCReJ5HE3rhpuY6zZ8X2D/N+4yEcawau8tYYOy0TW9qkhkqp0w2s5r7p\nOA7np4scPj3L4dOzHC3lOZq+jho61CC5UOam7es8h8hukvFVPK709kqlW7gcwvFmYdj8K/VOoVBc\nhtYN3g4dQuvsXHbVE6C2fQfmC8+65et2Q1Y81mD2s79N6nN/CHgDNwGLaIDKG27H3PeE24brb4Qu\n8TYYzzUpVhLqWyjJPOcX/HEXgjjpNJqnYjp9fVIz6eU77ybquWZW7rpHyqVxpdW0+Ey4k067iqyp\n43T1uLbmgvuv9lhomkZvNkFvNsHeLcsPcNa/+BccLekci3VxLD3Asa5hTozP19NnLNGRitYHckPe\n62BPiljEwBod88chSsTSOMlk/eHc7soJn1dtdtYfl1QTv9at0Q1+dSMl/jnsnl5fKgyZY2Gn0hgn\nvJnw9aP1vFqrplxaVkSiUakE8onf/z0vP6VGQtOp/vPPwC23iVWSSrlKJLifISW25Fw7f96vYi6K\np3+ws9l63jxrcBDi4vcsbXLCZ9Mv8z2iTU741X5BN1T9xHG/CnnNpivscZE2TE+hee6QTiwGQxJL\n4KtV9GnvOpVYyQJu6IGvDkG1v34+DA0tmbrotb5QqnLEG6gdPuO+zheX32c4MUZLE2wtnuP6uWNs\n3LMJ621i+RQjP/w+mte/nUyG6uiY0P7QHvFmKkm3QqG4HK0bvA0MQM0SjzUDyGapveGO+qZUrNjm\nPAt/9Hnx/RrbcPdy4mOptfWG4T40eAjP/EI4s3xLM/oewvEKsRhOg4opE2vG4CCVoK6ZTfF/Uudk\nSZH1HP2qNwh+lhCORadhsytls4txKI1T7ayx8MGPcG6qyKnz85w8P8/J8QVOnp/npaNTvHR0Wf3Q\ngL5cgtH+2xnpfR19dpFOu0yie4zkbImOVHT1zpdmxF1S7CGcs64pFsfullg62aRuSF3riYRPvSu+\nU2JmvqMD69rlpMHCColh+MxWjLMSSpGmuQMmXQPbIf3n/4XpX/24WB2xuC8VR21sTGz/JhXTkImv\nSiSxGhQvu09CFW5wlgWEDaeW6gjk9tukQgrHQQLoujux4SHsegwQiWA3LouWiUNsqkP4GvHOh2Ea\nULOoOXDEG6AdPj3D4TNznJtc9O3S0xln+1iOa9Z1cM1gJ9d+9uPEnOXUE2U2IZyIwjB85yTy5OPU\nJJKWtxyVpFuhUFyG1g3ejh9Hj0ThGnGDZ6uv35+UVCLHWlCKD76X2KPfArxBQsMyoNVSV3nw4u4k\nnNvCyAdjHDns27YFl2hUt+0g8pSrQlb33ihlRrDSvXNMuA7jpRf9bpNFCVfBYhH9xDH3YXtwGOEn\nsmIRw2uDNTIivj8XmdHfuAnT0BnqSTHUk+LGbcsPu8VyjVMX3IHcKW9Ad/L8PE9E1/EEDY5x+4H9\nroNlKm6SSUbpSHk/yUhDefn30bJF+tQR97MMNJhUrBLHjPjdJg3x2030a1/x5XQs5beCYM5cu6sL\n03MFrOXzUv3TOPzqchyQYVITvd4ty5+7T+ZJf3HBVeyWlj5K5Kuz+vowTpxwy+vXC6uQTrrDlzRd\nKq504jy6F+dl57JS+S3106f8jsPe9SJUx/nx5XtEIuGqoyKUy36VXYKgcXfgKnZBv0dq+a1EntkH\nQHXP9VeMFXMch2LZYmahzOxCherIXqbLDhcyPRzs38SRjkGqX9hXf38iZrgDtcEOrlnXyYbBjhXp\ngBKFA/773p69wp/D7u3z51OUORYB48jD+E5Of+bTvu35T3xSLoerQqFYk7Ru8JZIgC0zRYgb7xA0\nx1pQunvE3bSaaYq7k1KsmggjH4ywupHLUm1QIaVodu98QmLGtMltMvHFhyl+5jfF68hvrStvwi6i\niQRWQxukXEibZ/Qv9+9iJpuGOtk0tDwgcRwH61d+heOxLibMJDNmgsnuQaau28vsQsX9WaxwbnLx\n8pP0d/3vRK0qSatM3KoQf84mOv808ajh/ZiXLff2jhHvGiRbnidVk4zR0nWfYpV6+M+Z+ejHxOro\nzFK74cb6ptQ50TTX5bbeLsHBl2H4THgsybQejTnRqpvEl+mRSrsTXh52v5glPNGIL15NKl9dJOpT\ndM2DErGQmr9fRA6+JJ7HUDd8y3DNY0fF9m9S2aUUr+a4O5l44Zg/BlwqvrWnh+o991FDY1qLceGV\nM1wYvsD0QpnZ+QozC0s/ZWbm3XtIpdaw9HfHslKnOzYjRpmxXZs8Va2Dge4k+pXU0ab7ntSqHNP0\n5bwrfvAh0RrCiSNvbFII38lS32UKhWLN0rrBm21j9a8TzikGYBQOoU25S8WcXI5qXmKpSRsQhjti\nGFh9fZgHPbfJrVvFlcxQcs31+s4pUYn8USFg9/SiTU+BYWD3ZIVnbuv7A042J5cHK+CMvqZpZLMp\nclPuMlwnl8MyqhTf9ku+91m2zfxildnFqm9Qt1Re/O73mTUTLEbiFCNxpswE5RPTq2/Ibf8UAMOu\ncfuJp7lfLyK8SK1c9rk0ysSKheEMaw2swzhzyi2vGxJ2N3SSKX+/kHDIRdOh4j3ORmP+weRqq5i4\ngO5dZ3YuJ6x6WYNDGN69wtq6FXrEVxxQq/nj1WTQNb/ypkm403Zk0Kc9BTCbFY/zOnsmsIK4Mu5O\nInav+ZxewW2yWK5xbmqRc5PF+utEdC9nIx3MRjyFaAL48vMr9jV0jY5UlHU9KTpTUbLpKB2pGOv+\n0x+QmzhLb3GaYXsW+8H3UH6T2OTbyhhZ4UWTzH/ikyS++LD7OT/4kJRaFTTerB1i5hQKxdqmdYO3\nfB6qlngcDUAk4nuolcor1g6E4VbWhLTbZBAlM4xcc03nVGrGtAmpOiIRd+bWy6UlXMfS/kHaEMaM\n/iqOp6HrdKZjdKYvPmmQ/bcf8W0X3/Vuir/2acoVi1LFolSpea9uefn37rbzxS9SNKIc6Brju6M3\n8g+Oww1f28/9N48x3LfKh/Yml8bSPRIKb1jOsA2GFML3rXgcpyHxsd0tYSwRMd0fTQPHwZBRaSL+\nOEZhdaOrC+uWW5ark4kpaopXk4rzasr1Wb79dvE6ItFgcV5NCqJUzHJz3J1svFqTkjlTqTE+VeTc\nVJFzk4vuIG2qyPjkIrOLKweIRqKPvsocIwunyNaKZPq7SN98A52pKJ2pGJ3pKJ2pKKlE5KIKWvaz\nT7pNMQ2qNY2qjGq2IkZW4hoZXh9coWrDeLMwvg8VCsXaoXWDt/370bq6l+NZBNBPnvA5SrFRYvlQ\nQMJYkx6GO2IorlQBlbMwctKUb7qF2N8/4pbvvg8k8mCFUYeVyxHZ9yRETayde3xLs1a1f7YL04v/\nq+29UXh/IJRYmjDaUb73PqI/cnMmVW67Hfr70TWNRMwkETOByyvFHf/hKfQTJ7DReOy6O/jShjfy\nxAGNJw6Ms2dzD/ffMsaGdZd3O7QGBjC85WzW6Bh0i+dtchIJdC+for1+RFhhAXCiMYwjr7jt2CCe\nY83uzGKc8RwW1w1CTKJfVKq+uDsccWWCWg3diyuyJVw3sSz/vVdisLEizksmj2FPD7oXl2SPjEKH\nuPFILb8V82k3Lqv2uuvFcyFWK37lTQK7f8Afg5gUvN/YNoeNTl7KjnI8N8Tp7DrOdA0x9Qc/WPFe\nTXNNQnYMZOjPJenPJejvcl+H//xzRI8sOw7b/QnKNwksn1/qV7omlXMPLnKNSLiQhhFvFrQOo3DI\np7JXG5ZgrpYwFESFQrF2ad3gbf16qFkkvvIl5t7zfrF9mxylpGYrQ0ZqTXoY7ohhzBIGVc7CyEnT\n10f5A8vL+qTiBMKoI5ujeve9xLxcWsLOmzm/C6nw/rBSeZNxsQujHb19VBry7Qn3z2SyHoN4c+U0\nO/eYPL15J3/7k6M88/IFnnn5Ajs2dHH/LWPk11/i4bczi7VzOV+dVExQMom9JeDS6kza1w5hxSnZ\n5LAYQr46R+LhFtN0lwh61LYJXqtN916pON3mOC8Zx8pMB3aD+6dUv+jpodagoAqv4GhS3qTOaTLp\ni5G9krtttWZx5MwchRPTFE5M88qpGUpv+kz975pj022X2D6Wqw/Q+rwBWm82cUmnWSPjjyMXvta9\nflV3m5TJvdp8jcjGhTY2K4R4M+E6mlZfSK2oCUNBVCgUa5bWDd4mJtAME2riMSzVXbv9MVqycRMt\nJgzHyjBmGoO6a1Eu+ZU3CcKIEwijjrrzZiKKUawIO29GfvIj33b5tjcKt8HO5vyOlRIOdGG0I2j/\nrG6/1lUxger1N6B1drJrUw87N3Zz8NgU3/jJUfYfmWT/kUny67M8cMsY28dyaA3Lslbk85KICdJf\nLvjrkHCx08bH/fE4I2Ni+4fgsIhh+N0RJfpFbfu1mC8855av2wU5saVpdibjzx8o4zbZHOd1hRit\ni2G8+orPhZS8WJ5OAPNHP/DlWKv2iw2+wlB0q9t3EPHyhVavX+nUWyzXePXUDIWT0xSOT3P4zBw1\na/k7c6AryXVPfYftx55j04Wj9EZsnDvvpPi+3xdryMK8/ztVkOV+5VDbvkMq96o1OoZZ8NqQ3yqV\n07EdCGNFTRjf6wqFYu3SusFbLAaWTeXGG6783maaYrSkFKuQkVqTHoZjZRNSM41B3bWalLcwZjvb\nBdnBaCCaHCtb0gYI3j89FbMZTdPYNtbFtrEuXjk5w98+dpTnX53g3//Vs2xY18H9t4yye1OPO4hr\nzucl41DbVIeUi11zPI6oytLssHjggISTXgQykXqeN7tTLME2ANmcP0em4CCUdCZ4nG5znJeocyes\ncCE1vckj0Toac6wJu142K7oyK0CyfqfeuarDS4fO8/LJaQ6dmOb4uTkcr14NWN+fJr8+S344y+b1\nWdc05I2/5rVHAwzKjkRDmr5ThZV6r19FvFhhqXtWJkMtaE7HJoI6RUrVEcaKmibW0neqQqEITusG\nb45DdffroFd8aUQYilVQwliTHsbsWhhqU1u4a4XgWBlG7B3FopsrLmqARG6z6q49/hyEEnFFZlPO\nOyS+tKu7dmN6Cklty1apdnTe7x94zfzuv4Prdq56/5WusCtjPzYNd/LJd+/i2Nk5/vaxozx16Dz/\n8csvMNyb5v5bRrnjut1EDi3F4myFrHiONm12Fq3kqWbxBNQkbIHKJX8uLZk2NCp3lni8mp3Nop8/\nD5rrairjWLkyb942obx50a9/1Rd3V82Inw/9+DE3fg9cV9mpqcvvcBHsjoxfyZRQvVa6XgoOespl\n6T7hOA6zi1WOH5ngdFnjSLybA6lBTk5VgRcA19lx41An+eEs+fVZNg11koyv/Mq2B9b5lfpWKDRL\n+S0l75sA+tEj/lhfiXj42Fe+5MvzVh0dEz4eQb8P2+H5RKFQrG1aN3i7/375GbqroFgJcxXWpLds\ndq0d3LXCcKwMI/ZuKVecN4MsrCykAsaOwAplQiouNJX2ndMwZn8z/9fvMPfF/7H6HZpdYS9zLEcH\nMnz8nddx6sIC//Oxo/z0pXP8p6+9yNcH38o7urZwW/U0Jo6cwm0YOKlGFztxI5vmXFrCcVrNyp3g\nckXA7ZsjI8txRTIujSvy5v0pMx/9ldXv35TvLvbD71Hmt8TaoGm+pWTR558Vz9HWpGQKO0XCStdL\n0TitpjydF4tNrdYszk0VOTuxyJnJRc5OLHJ20v0plmuQvW25OqfGjmiRTTdtZ8v6LBvWdRCNrCIF\nQpNSf6W4udUgfL9YaoPsfRNWxPpK5fpsyvMmFYse9PvwKjyfhKEgKhSKtUNLY96ssY3iOcVCYq2s\nKQ9FbQrahqAxc4TzOUJx3qxWXbUoZkIyI2wWEsasq37hgk/dsERd8MJqh+f8toQtqvQsHUu83H2r\nYKgnxcceuJa33baBb/30GD9+7jSfT+3mz+wd9Ceg97EL9PeU6csl6PMMGbKZ2GUTANvZZqdH8b6l\nnzzhV862Cz5MVSp+l8YrJSy+COV77yP6wx9AxKD8+ltBxiCjXF5W/QxDfBlquQRVTzWLRMASj1le\n4ZopsRTW7urGLBwCoJbfAh3iS0jt3j6Mw56D6DWbhGOslvK8OcCF/vUcXYhw4umT7iDNG6hNzJRW\n6HmGrtGXS7B1JMvIcz9haPYcI5UpRhIOznU7Kd8qNmCpbttBxHOWre5dGTe3GiL/8B2f6lX8hXvE\n7hkB75vgxZX68jGOCdfRfM+yJPLIdnzYP1E2+9nfhs3iMZWBCCGOXKFQrF1aN3i76SaYL7Xs3zfT\nDmvKpWbXwlCbghI0Zg7C+RxhKIhLatFS7IZoTFAYs65N6kZtpD3U6coNgvGpTcqbyENIfy7JQ2/e\nxrti5/nWSZuDMybnSnDi1Sl41b/MLmrq9OYS9GVd6/O+XKLutJfNxCCR9OVok3N69Ctn+sSk2P7R\nKE6D4qdPToi3obePyrseJOo5oUqpqV4c4RLCefM03U0Q7lHdJqH+Nblm1kZGLvlWx3Go1GwWilUW\nSzUWSlXmizXskRuY33AbtqYTsS30fSdw1p0mYuqYho5p6kQMHdPQiJiG9+r9zdCJmDrRTBZz5x4q\nuklRjzJdizJ7aoZipUapbFEs1yhWLErlGovlGqVKjWLZqv+9cuOvsmjEmI8kKBlRKAGPFupt70xF\nya/PMtCdZKDL++lO0tMZx9Bd18f0k1+AOBB3FbaSzIN6LnvR2FIhmlSv1Of+kIU/+vzq9w963wT3\nGss05mNcd5k3r44wVEjhYxEGaziOXKFQBKd1g7djxyAjsXRoDRGGUhSK2hSQdvkcYaip5dvvJPLk\n45CMUb7xVugUm8VO/Oc/9m0XH3yvsOplJ5NubBNg9/ZKqZBhHIvS/W8j9p2/B6B8191ueg+hCkr+\nXFwS9L/8Ag8BRMGJwOTWnZzadJ2XgHjRfZ10y6fOL6zYP2LqDOz+KOumz5CqFtFiUSgN4jx6CEPT\n0HX3x9A1dM171Zdfl8qp6+4hPjXBdecOkcvEhM+Jdc1G9JOeM+HwiJSTXm1k1O2bczFq1+6GhPg1\nUstvwXzpRbe8/VoYFIxPqlbBix8kLpGrDqiNbuDkXI1j3SPMrhtlbv0Gpv7+ZRZLVRZKNeZL3kCt\nWGWhVKVmXUSZG7xIUu5vHRRryFZ/EnpmgL94alW76ppG0kyRrCyybmGagcUJ+nvS9Lz77Qx0pRjo\nSl40Pm1FPSHEeYWxakGbaJpMSGeE9g963wSwxjZgHFrONYeEanYl906FQqFYC7Ru8DY62lbKW0sU\nqzCUonaIV2vTzyE1W9nRSfWueyGbhOnFwP1CKr+aF9tUR2KJXTNSx2JwiPKHPlzfFFZ64nHshtlj\nqTiYBjQNOqIayeEsm4f9eeEcx2FusVof1J2bKjLuvZ4vdXBiuGHpaRV4+pTYP9/6gNsGx2H77Alu\n2NLD7sUKHclVGmUkk9j5ZZVq4ROfFPv/sKJvSp3Tnh5qb7zIwGe1RCLuz9LmgQNXjFdzHIfzMyUO\nHJ3kwLEpDt3zWWaiTQ/m+07Ui5oGyZhJKhGhqyNOKu6WU3GTZDxCOm7S+3//LqlqEcOxqeoGxa07\nWHzPB6haNtWaTc2yqdVsqpbTUG54tRycF1+khk4Ui4RTIzo8SOyaURJRNwl9PGq4CemjBnEvMf3S\ndsTU6br+Ot9HqOx+HQs7flXseIYR53UVVl+UG/LfrYow7pvptM/JVGq5YDYEFbIJqWs1ZFTMm0Kh\naOQ1qbyFoSq0g2IVBu0QuxdGG9rhcyz9X/PgS5BMUt2wTbgN9TxxHqJ54gBqO3f7Z6Al4nkS/8W/\nzGfx/R8Ub8eS0oO3/EhU6ZGIeVvBKl1INU2jIxWlIxVl07B/tj31a/8rC6fHKesRqkPDVPv6Wfzl\nX8WyHWzHwbIdHBss28a2HSzHcV9t99V2wPjyX7Nw+DiP927lxewoL54F/T/+mG1jOW7c1sfefC/J\neOQSrYPiWx4g/tUvAVB6x4MwNCx8KGLf+KpbSESJFSuU3vQW4TqCOCQCK3PN6RdP+jw9X+bAsSn3\n5+gUE7PLE3XZRJw3nD/I5sVzJPfsIjkySPy67aTi7gAtHjMvG8MIkO6yMA6515q1ZStWapHidWLL\n7LL/7iGf2+T8p/4FtTvuWvX+TiSCPu05XmazvuWoq8V44Xk0L8+dE41SlXDaNZ/e57tGqlvF71tO\nLOaP/xPM3xf0vglg9fX5c81JxKaGEX89+9nfJvW5PwS8gZtgvFu7PJ+0y3eqQqEInzWhvEnNQLeD\nYnUVaIe18WG0IYw6AsXN9Wbg/Fyg/w+Ss8dNM9BSDotNSM3oL82mewifkwAxb3VCcCHVEgnSG0dx\nFyrazH/wveR6xZYtJnqAnhHuZZEJ+2V+0r2Vx4opXjwyyYtHJvmLvzvEjg3d3Li9j92beohHm26t\nw+spfeJT9c0w+rdx/KiUo1+g42kYvrQT5dvvAGChVOXQ8WkOHJ3iwPEpTl9YXsKaipvszfeydTTH\n9rEc6w88haZdB7jKVXXPTvGHykwG6/qA10iT22Tib/6auXe/b/X7R/2Ol7VtEvcbTcNpGCjpk+Jp\nE5qvESm1P53G2rm7vhl5UvB+EcZ9synXnBRhxF9vzoca49Yuzyft8GygUCjCoaVJumvrRlrijghq\nVmotEupsZTZJZHpRuF+EMXscRg7Blc5tG4TrCIrV1+/PeSfjLFupoI97qkKfXP4//dVXME64y/Ks\n9euXlSMBjMIhtGn3wbovm+O+rRu5+87rGZ8u8uSBczxxYJxnX7nAs69cIGrq7NzUw03b+rjumm6i\nEWNZNfMQUc0cx6FYrjH38gmmnCgRQ6PDKpIalhgMB8ynWLtmI+bBA5SNKC/ccBfPJrez/+EnOdaQ\nTDoa0dmxoYttYzm2j3axvi+N3pCIO/7VLwfOxWXluvyxTQnx+Dttbs7vnFkTc85c6VYpHqOFVfPn\ndJQg9pf/zbddfNe7heuwe/t856RxaexqCHrfhHBUM7WiRqFQ/DzQusHbtm2hxBRBOOvB18qsVDus\njW/ZOW2H2cowZo/DyCHY7NwmOfBpRPicNOW8kyIaxZYYvPpIJn15sKTc4yIRX/6opfi9vmyCt948\nxltvHuP0hQWe8AZy+w66P/GowZ7NPdxu9rGzdh7TM443jh+l6jgslGpMz5eZma8wPV9eLi9UvHKZ\n6fkK1ZoNNzTFU81D+o9+SC4TI5eJ0eW95jJxch3L2z4V8DJKpu04zC9WmV2oMLtYcV8XKszUy1UW\nXvdRpm9MMG0msTUdSmCMz7N5qJNtY11sG81xzWAHpnHx5ZRAOLm4mmKbpNQmXfctD6zcKOim2qRW\nieb4BsAwcbLL6p/dFdzEyzzwEsK2J03nJKjaL/V9GoZq1oYratrl+aQdng0UCkU4tG7wFmBtfBhr\n/M39z/u2q9ftEm5HO9AOM41ryW0yKGHMHofxOZxEAv2E5264fgSiqzTWaCD2N3/ti1kTVkgCqjwA\nkR9+35cfrSqR+ymokx6AfuK4XyHZuGnFewZ7UrzjDdfw9ts2cGJ8nicOjPPEgXM89uI5HkvfQMqp\nssWaZi6aZHo8xtS/+z61y+RJ0zTXbn6wJ0U2FaX/775Gbm4CdI3zmV7OD2/kQvcY49NFTozPX7Ke\nRMysD+T6Ru+ma/IcZcNkurOXqbk+pv/8CWYXK8wtVurq2aWIxrJky/Nsnj/J1uoFtm7sZexjHyQW\nXUUyaQ9j/wu+bet1e1e9b72OEGJLS/e/neh3vg1A5a57xBXu5vhBCV8hO5tDP+Oa59jrhiAufr+y\nB4f87ZC45wRV+1fGY4qnsQjjez0Mt9+g998wPkcYtMOzgUKhuDq0bvB2443ya+PDWOO/VmiHmca1\n5DbZhPBsZRizx03IxkzYWxpycMkYVjbFrAkrJCHEq2EYPmVCKnavCan8aKaJ0xAfdTmVRdM0Rvoz\njPRn+Ee3X8PhM7M8/VeP8tNKB09rvRi2Q0cqyvqOBNl0lM50jGw6SjYdozPlvmbTUTLJqG+5Ye73\nftFtiqFTs2wq9l4WfusLABTLNSbnykzNltzXuTJTcw3l2TKnLixAcoP7s0QFYjNFOpNR+gY766Yv\nHckInUvl+u+i9P3jD/m6UnnbGykLDNwuht0vkXevCal4ysFBKkHcVIPGD4LrLNuYg1BmkqOpHVLu\niGGo/Q1IOctehe/1MOoQvv9ehc+xVlRIhUIRDq0bvH3ve9Jr48MgjNw4irVHYNe0csnfr1qEnc2h\nH/eUtxE55U0/c9q3bSXFYnpCucZqTTFBEoPQyutvJvqj77vl226H3l7hOlYcz9jqjqemaWwc7GSH\nc4QPv3qABT1KfPNGyh/4qLAi4EQj6FPToGs4nZ2ueYhHImYyFDMZ6rn0OSpValQ/9o+ZWqgSs6p0\nZGJE3/cejLesfjDs5LrQGnP3RcT7FeUS+nlPKeqVcLykIa8YnhNqZ/YKe1yEhXnMQ1586hbxZOPG\ns89AyTPdisfh2usuv8NFcBIJDE8ht9aPSB3P4lseIP4Vz8n0nXJOpkHVproyHTXQY4mLKtNXbMNP\nflz43a4AACAASURBVOTbLt/2RuE61gpKNVMoFJejdYO3pQaEoI5IzaRfhdw4ivaiJW6TTf2qZbEK\niQR2Q5yXNTIWqA0A1RtvEtshjGusSfGq3iDYBoDePirvFDdx8BH0eKZSOHuvZ+kRTGo2PuK6Gxqm\nATWL2rZtQrvHoyZ9FBlKgTsKrlDd9zhFgcFbc+4+qQmKWNxNVO6xtMRMiCYnVKm+lUr7rk3hc2Ka\nPufN6JNPiseaJZNYQRXy4fWU/mm4TqbCdSxdp7EIlKuB/ncdmRjCJqSeDZoI+mwg1QalmikUisvQ\n8sGbDIHzTxF8Zqsd4qsUftrBbTIMwvgcVm+/P1ecYN4mgOr2a4nse9ItX38DdHReYQ8/YcR+FN/5\nILFvPwJA+Z77QMJ4JYw4RP3oEX9cUTmcNCci2L29GIdfBV3HHtsASQl3woBKptXX51erJBxEnUwG\nzesXTn+/VH60wPGYBI+bs3t60KamvTZ4AxdBqrv2+B1Z03KOk0EJGgNe3bXb7RexCNWt10p9Djub\nw/DUbUtA3W6k+OB7iT36LcAbNAmq2wCUSv77RSvaoFAoFJeh5YM3qVmtoPmnIPSZrbXiVvmapg3j\n5loWq5AOwekxm/M5+gkTRuxHbx/lD/xSfVPqeIYRh9gUVyScB6sJqdn4dAZr527MJXVDRqUJqmQ2\nqVVSRKM4DcdSWNGF4PGYF0FYRYxEfW2Y+5efFf+nTY6s7aAUSbHUL9JxmC/JfY5EwucKK7VaoLsn\nePx7PODqiTDaoFAoFJfhNek2qVh7rBUls11iFcKIN2vMbeZkc1QbHmhWQxgxLIk/+Y9+t8l//Tuw\nOS9URxgKoP7qK2hld1GcE4sJxxWFsVqgrkxEDeyBIbn4qKBKZggOonY6g+Gpd9aWrVKqcOTbf+fb\ntu66W7iOlWqq2KLHyt7riX3Xdass/8I9MDgo3Iba+lEi+7x+cb1cvwglzjZo/r+l/j0Xo3btbqnP\nsTKOUUzph3C+R4KqkGvlu0yhULQvr023ySbaIV6tHdqwlmgXJVP4vLZLrEIY8WaXyG0mjVQeLL/b\npFSOtjAUQF3HaUwELfpZwlgtsKRMJKJQrMg9qAdVMsNwEM1ksK5fzqkWuF8B+uSk+E5B1dTBIcoN\n+dCk+lVnCP0ijDjboOd1qX9nkzC9KNeGMOIYm2iH75F2aINCoVhbtHzZpAztkBOsXRQWRbgEdZts\nl1nXUOLmhob9s/GiMSgh5MHSm+KSrG3XCtcRhgJYu24XZsGL9cpvhc4Oof3DyCtZVyaSMco33irl\nsGg+vQ993DunfeIqpFE45I81y4u7NAbuV4C1cRP6Cc/1cv0opMRjrFaoqYNDQvtHv/E133bpzeLL\naOv50ZbqeNNbhOsIo29Fv/o3aItFAJxkgurAOuE6AtMmTr1BVy2slRyyCoWifXlNDt7aIrapXRSW\nNUrLlMygbpNNtGzWNYz+2TQbHzgPVgjucaIOixdFph2ZDLW9y2pRsUFx+ZnRpG5IXSPRKPZwABWy\nKdbMOH40cD4v2fgou2HgKJXbrFlN1XTxOhqrk3HNbELqeIaBYbgGNh6xRx+h9vZ3SVcnF1faJk69\nyolaoVC0Oa/NwZtizRGGUpT4z3/s2y4++N6fudPXypl08QfTdlHvgrqmyeZGa6R875uJ/tDL0faG\n20EioXMYOe/mP/FJEl98GPAGbsOCS8xCiBULnIMwDGo1tCl3iaKT65IaCIfiFrx5i79fdHWJt2Pn\nbr8ja0dGaH8nnfYryxGJr9MQjmcYfcvJZn2xpaIOoPW40mQUM5OTiisNgzC+R4LWEYa7rUKhUFwO\nNXjzULNrLeYqKJlSMSghE0Y8T6vUu8jBA9ie41vk4AHxQWQYueZ6e6m868H6prRKsyVYbrLIsaPU\n3nBHvVzt6hZbbnjqpK9c3SGe0DkMVbjZHr8oqliZpi8OUmp5Wxjxf039QupaT6exAqip2vw8jtcH\ntPl5qjt3i/1/qCcrB9DOj2MNiE9OrOxbO4Xr0KanfeUFQefM6N+5kzxEDKJVC1vXKX/814TqaJ74\nmpdQUyPPPOUrS018Bf0uCsPdVqFQKC5DsHUir2Gqe/biJBI4iYRyg1KEhjU0jGNGcMwI1tCwlNrU\nrizNRq+W8u13YieT2Mkk5dvvlHKPKz74XuyODuyODmkldWU7xGPFmhE9FtbQME4kghNx+4Vx9kzg\nNsjQfCzMcbGlflfjWLaK+U98Eiubxcpm3YGCoJpaecPt9e+Qyhtux1hcEG5DdddunFgcJxanums3\nxpS48UrzPcc4e1q4jsUPPYSdSWNn0ix+6CHMakW4jkaij/1YeJ/mzxH74fcCtQHEr9MwUM8WCoXi\navPzq7ypmLU1j4xKEzhJdwjxPM0B78UH3ytcRzsQ+/4/+MoyM+mh5Ey6Ci52wjTFmlmjG4SrqC8L\nTsdJzJekBrPN50R4WW8Ix/Jq9G+Z6yzxza9DrqteFj6e2awvD6LMOTXGx3G8JZ/G+Lh7vxEksu+J\n5fpOHGPx/R8UrsOcnqJ2x131crUkloRem53xKjLQahY1GZOOMJxM24BQ1D+FQqG4DD+3ypti7RGG\nStOM6MxtGG2obc7jRGM40Ri1zXnMY0eF67gaiD6oX42ZdBmuxky46LGobWo4p5vy1Ha/LnAbluIR\ng7DkqrdawjiWzcdCpn9fjWtd9Hg2X6cy53SlUi8eH2X39uGYJo5pYvf2YZw9K1xHUOzBITAjYJrY\ng0NUb78jcJ2v2YTlTbRC/VMoFGubn1/lTREa7WAUAoSj0rRBG8yXC76yjNV0GKYngYP/Q5hJD+Nz\nhDETHtRi33xpf31/bX6O6u49wm2ox6slohjFCvY28QfToDb9oagKTTFBUoRwnTXH/9lt8KAvgzU6\nhh53XTNlUy8ENdmwe3rRJi6ArmP39EolXg9qkAQqhY9Cofj5QA3eFKHTDkYhYdEOM7dhIGUKEfLS\n4jBm0sMwb5FOYhzEYj/o/hdBygAmDJv+Blpm534VEDZfaYfk2BepQ+qcBjXZWDJ/8RLISxk1hTH5\n1obhEO3SvxUKxdqhdYO3731PLqZIsSZpF3v8drBjXytW02HMpK+VhLdhJAq3+voxDh6AeARrbJOU\nulFbP0pkn2fTf72cTX9g2iQZM8WiP4WEIGGkBTEKh9CmvaTnWbmk52Gc07rVP656J6os1xXdSASr\nq69lRk3t8D2i1D+FQnG1abny1rIkxoqrRrsoLFKEnKRbiqtgNd2S2d92WMZ6EcI4FmH0cWFSKay9\n10M6DvNihhJ1OkOw6W+gXZIxS9GUQiJoWg+p/SMRX+oFqSTdYZzTJvVOSllev77eN1tyfVyElvSt\nNlT/FArF2qLlgzfFa58wFJZ2IbDbZAi0Q6JZaJNYxjCTWxNgJnxhHvPgQa8OcXWkumuPq5oB1tZt\nkE4L1xH54ffdRMoRg0g8SXV0TLiOoEpm0Ni/sAilb1araFOe6pXLCbchaPwggPH8s2iLRbcNyQTV\nYXEFsB3U6fp3QCZB8b63S90nwlDNwlBD20G9UygUisvR8sGbWg++BrgKCku79IvX7MztWkl6HkZM\nUBjHIpWmtne5DuFjsaSaeUgpE4aBk81CLALlKpEnH6d231vF6wnCVYjdC+Nal2pHJILTFyDheBix\nZrqB0zCQ1wXz7l0thD/L0ndAiCsWwrj3BlVTw2qHQqFQhEnrBm8HDkBObiZdsfZolziB+ix2Oo45\nX2rJLHYoDotrZPa4tjnvj49qUfzfCmdCQafH2sgokSe9uKQb5OKS7N4+tKlJ1469IweRiHAdQY9n\n0OMAhBLztiKG8FbxGMLyG+/0x4oJJhwPY8WBtXGTP+4umRCug0rFp4bKEPSztMOKBWClmqqJVxFU\nyVwr916FQtG+tG7wtm0bTC+qWS2Fi4oTuCQtc1hsoiVxLLHw4//CQNjpsSOEuCTTdOOjPEe/4gcf\nEtsfQj+eUo6XVyPmTeIhvTlWTPhYhLHioCnuTuqcNqmhUoS8eqJlLqTNaqpM/wwZ9YyjUCjCpuXL\nJhWvfdbSTGNdmYjFqK0bEVYm2uVYhBEH0w6xjO2iyNadHvFi1gSdHsM4H/Of+CSJLz4MyRjzv/x+\nkHhgD3o8y7ff6VcQOzuF2xDGsQgjhjDosUh/5tO+7flPfFL4nNTPKd7ATWYQFkJcaDvEt4ZxrYfR\nP8M4ngqFQnE1afngrV1m0hXh8ZqeaVxSBbJJmF4M3D9f03mw2sEtsl0U2aaYtZYwvJ7iZ36TdJC4\noqDHsyOgWhUWYcQQhty3El98mOJnflNsJ++cBiKMuNAmgsYySvWLMM5HGP0z5OOpnnEUCkXYtG7w\n1sI8WgrFpWiHPG9hzEC3Q6xYu6iQobQj4Gy8UTjki8WRyecVRlxR0GMRihIahrIR0P0Tgh8L/cxp\n37aVSkm1Iygrc8VtucIe4RPGfTOM67Qd7p3tslpAoVCsXVo3eLvxxtbl0VJcVV7TM40h53lr2Qx0\nG8aKtYsiG0YeLGGaYnGk8nk10ZJYyDD6ZhjKRlD3z4sQ9HhWb7gp0P+XpjlXXAgOi8JK5lXIjyl1\nPtrh3tkuqwUUCsWapeXLJhWvfdRM4zLtcizapR1BaRf1LuhsvDU07HcEjIrnBKvnsEpEiRUrUjms\ngubBCuN8hKEKr3C9lJicCBp7V3zng8S+/QgA5XvuA0mnx6CEkW+OhQV/DGELaId8dbB27p0KhWLt\nogZviuComcZl2uVYtEs7GghD/WtZDGHQ2fgmR8AwnDvDUFiC1iF1Pq6CKiybciAQvX2UP/BL9c2W\nqdth5JtriiFsSU7HdqEN750KhULRiBq8KRSKi9IO8VFBlSIglLxiQT9LGHne9BPH0ebnIWKgxxKw\ncZNwHaGoNAExn97na0N1q3iMlNXbj3HIU4q2bIOYuHq3VmKbautH/fnqJPpWO9AOcboKhULxWkAN\n3hQKxapoSXxUE1JKURh5xUJ2aZTO85bNQiwC5So4Eu0IQ6VpIAw3PymVJx2C++daiW3qDKFvNaFy\nOioU/397dxtr2XXWB/w/73MuvuNxkhknjV9qKdm2pyF0ZtyJhCAhKjW4X6IiVxFtqEBqokqBFokK\nobRVvwSB+oIoVagooo3UqpVKBFUrZGqECDGulNQNErVcdxMBdqlosGgm2PHM+N6Z0w/3Ze69Hs/M\nOWed2Wvt+/t9mXvuzNl37b3XPnOf/eznWVAvwRsUVEuNVgk11KDUkClK6lgH69rJe3Lw5ZeTo4dy\n7Z3vnutYLLp2Xy3Zpjd375yjw+Llyzn08mam54EBHrusyWvf2J3JHEAtcwugdoI3WKJaOiw2q3Cm\nKClzR3+QdbAmk1x7+OFkcjS59EauPvBnZ9/Gomv3LSHbNNc53du9c56M7PECGdkKzTW37qqg5q2W\nTCZA5QRvwA2tv6fbnZmYsQalSGfCEvU8BTIsR/7rb+16feXbPjjT+4tkFS5d2s685Z3vnv39Se76\nsR/Z9fq1H/zh5L7bb9tf4pwumv1LkoN/+L9z4NWNlvTT1dW56v/eXE/5l2feRhUK1HS+qXvno/v3\nkcVF53iJa2RMT3AA5R0cegAwZk3XbWxmJq52DyfHjy+8L1vBy0w263nW/uLjyd13z7eNPfsx1zb2\nmrXebDOrsH7usfl/CdvKvJ05k0wmOfTyH8y3nZ2b/LefXej9cx3Lzezfle/9vvkfPT10KNOTJzdq\nAA8dmq/+b+8mCxzPQRzbMb+PlZnfc2V1R2rR41nifBT5zAJGQ+YNChpV3UaBO/o1mPzLn931+vXv\n/djM29iuN0ty7YEHZl6nbdGMV7JjrbgjR3L1bafnWivu0PP/Y/c2z52f6f0lslUl6gcXPR9JmbX3\nFlVLhuXKhz68uxvq3Xff8TEAcHtk3qCkEhmWWhS+o18iC1liG1u/pM5kM+u1UXM2WTiYnSvjtbVW\n3IMPJkePFqn/u3bvuxZ6f4ls1dYjlDMpcT42j+e1++4vdjwXVSLDMtc1cmJHhvvE3W0/MVDYosei\nls89YDxk3qAg9Q7XFclClsj+Xb26uz5qjkfsrnzww7tr7+4+Od9YFrC9Vtyrx7L+5/78XPV/b3z7\nh3LkuS8lSdYeu5C87Z7ZNrC2lgMXN7s8npzxvQVdPX1vDr242R3xkfnWeVu09q7EdVqko2uBms5F\nr9XtbOpdxzN57fJc2dRaPjsXPRYlPvdG9QQHUJzgDZaoRAe7WrrgDbIOVok12jbro7asXfjA7OPY\ns5bWonfCL33s+2d/09ZacSdXkouvz3csTp7M2nde34+Zs01HjmR66nqXxxK1UXNlvL6pwDpvi3be\n3GOw67RE18zCnR5LdKsc7LNz0WNR4ljqvAnchOANuKGx3P299FeezLFf+9UkyZW/9N3J6Xtn38iC\n2Y3XfvCHtx+VvPSx75+53q2URbNNJWqjtjOIW9uYI4O4aCfUWqy/t9udWZ5jP2pYj7GEsewHwLIJ\n3mCJmq53qPDu71zH4tTpXPlrf2OxbSya3bjv/lz6sX8w+8+9ibn2Y9Fs04kCGcg925grO7LnfNRQ\nEzTXGI7Vtx8l1FA/mIzneALsNFzw9vnP58jF15ut54EbqabOayTUj+ywlf1bPZ7cM0f2MAVqggrM\nzVrqvBY+FhXUmiVlsneLHosS9ZiHfrfPga/9vyTJ9J63ZW1HUHu7Dn/5uRz86mYH0Xvvzdojj7Z7\nvQO8hcEzb7XU80ARtdR5jUWl9SOD3NHfyjYtUvO2x8zbqGVulqjz2mPmbdRSa7aE7N3M+1KiHvPw\n4V31lIdeeinrs21ho4Po/dcfSS5RewdQm8GDNyhlLF0aqdCCGSdz87oSmaIalMgglljzbiyZ5avv\nvm9X1izH7vy6ewAtGHydN8+ksywl1kyqgWukAoXXvBtsPa/C21ikzmvrWNawH6W2sai51rxbwtqS\ng8yLzazZtfvLrbtXS+0dQEnDZd5WVrL2kOfRYa+x3EkvQcbquu15scBn58Jzq0DNWzV1jAvuy1g6\nXiYFjmeBesxFO6EmZTqZAtTuwFA/eDqdTl955dWhfjwjVPIX/VOnVmN+Dm/vOZ1OJoPUWC06t8Yy\nN2s5HyUsui8lzmmJxyZrsHUsTp5cycWLr1dznbY8PynP/+vU6vTpEzPFY2reGA0ZK26kxC/Zi84t\nc/O6EgFLFRnZAlnIEtmmGmzX/911PIdfu2yNNoAlErwxHhWuS0ZZg3TSSxafWyOdmyXOR4mOgCW6\nTc68LyU6by667h43VUMdI0Bp1nmDHbbv6J9cmWt+VpERGJES6zaV6Ao4lvO66H6MKYO46L6YVzu8\n8UYO/vFXk8nRZPWewYYxpvkJ8FYG7zY5lo6AjFMNXQX3tT0d6ObqxrcEYzmvM+/HEjoblugIOFeG\nZQn7sqhm59XRo7l23/3Jgw8mRwds8V/hOQUozWOTwKiNZV2xRbPCtShR51VFhuWNN3avSzaQGrJ3\n29fYsWNZf9cDzV5jAC0YPHjzTDpJHb+A3MgQ6x2VOBY1HM9ljGGuLM2e2qSxrAk2SJ1XCSXqvArU\nEC46Pw/9nz/c9fXa+7555jHsffTy0pMfnXkbb9pmgXkxs61r7ORKcvH1Kq6PedXw2QlwM8M9Nrmy\n4kORtzTU40NrZ89nOpnMPT+33j+dTIrN7xLHoobHseYZw6UnP5prJ07k2okTc7dRL3FOlnFehzCW\n/ViGWefn1Xffl+mRI5keOZKr774vh/7vH838M9ff22V69FimR49l/b1dDr/0BzNvowaLfm7WrIbP\nToCdhsu8XbiQWG+DgorcMd26o39qda75eeS3//uur4f6RaZEM4UqxlAgS1PinCy6jWXczV+kzmte\nshLXlci87c0KlzBI1mvBz81SzE9gPxi8YQncSKmW8EMrMYaWH0GqUQ2ZzHneX2N2o4ZrrJRZr7Or\n774v08NHMj28kXnLscXrvOa51mVT35rPX2CM5s68dV335SRf33z5e0l+Islnk1xL8nyST/Z9P110\ngOwPVTQgqESRY7HVujvJtdPzNVNY+C52gYYOY7mTXiQLWSC7UcPxrKWmc9HrbP3M+3LortUkydUH\n5muEU+JaryXbPxb+LwJqN1fw1nXd8STp+/7DO773n5J8qu/7L3Rd9y+SfCTJfywySsZvCYsY13DH\ndIhH25Jcb91d0MyNEDbb/A86hhsYS8OSEhY9noMtml5iG4teZ8cLNMJZwufeIA1LKlXLOQEoad7M\n27ckWem67r9sbuPvJTnX9/0XNv/+qSSPR/DGHVTkLvaC7dhruWu7/p4uh17ebI8/Z1aghjGUyFiV\nOCcLZ2lGslxBLfO7hBoWLJ/83Gd2vZ63KQ8bxjQ/Ad7KvMHbN5L8477vf6Hruvcm+dU9f/9akrsX\nGhnMqoa72LXctS2RFdhj5m0sYQxzKXFOFt3GEpYrKGHmcVSaIR8kA7iEY3Hs6acWbtBTy9waRC2f\nvwBLNG/w1if5SpL0ff+7Xdf9SZKzO/5+NcnFW23k1KnVOX88LMnJ63dqT55c2bhze6fn6ec/v/v1\nhQuz30Hun0/+aLN1+bvelXzbheQdM+7H49+RPP/8xtfve9/sY1j0/Uly9ODu/bjnm+78+UgWPycl\nzsdP//T2l6eS5GMfS94xY5amxDlZVIkxlNjGyT3vGeJav2tPBnZ1MvsYjh9Mfv/3N75+6KGN9896\nPEp85mzy/zo1Mz8Zg3mDtx9I8v4kn+y67s9kI1h7uuu6D/V9/5tJnkjy67fayCuWCqAyRy6+nmQj\ncLt48fWsPfToHW99vTWGLdNnvjjz3eTJG9eSt282CXnjWq79u/8w3x39hx7d+PMbV5NvzHEcFnz/\n3v1Y+9o3sj7A58ai56TE+Zi8djlJctddx/Paa5eHO6cllBjDgtvYe06HuNa3zumWS9/9kZnHcOTy\nteRdD268uHxtrs+LEp85ycYvxv5fp1bmJ2Mxb/D2C0n+ddd1WzVuP5DkT5L8fNd1R5O8kORzBcYH\nd9R2zcTKysYvc2omBjWWWrFaqLG6rob6qEtPfjTHnn4qSXLl8Sf27bkA4PbNFbz1fb+e5Ea3fL9j\nodHA0CpZbHanEjUsVx5/osBIBjCWWrE9SpyPEtsoUWPVrBrqowosQr9XLTWEACzH3Ou8Lezzn5+r\nmx+MXYmMQA139GtYi6uWcazf/2COPPfFjW099oFkssA5XZ1sPF7X6Dkd0ziqcPny7q6uc6ghCwnA\n7Tkw1A+e/sZvTC9efD3TyWT4u5+wh2fjF7f3F+yhrvUaxlFyDIvMzUUfm6zhWNY0jhrUdCx8blIz\n85NanT59YqZ4bLjMG8AdUGKtuLFYNCNby7EsMQ71fwC0aPDgzbP1sD+41q8b7FgsocZqLMZS/+c6\nAxi34YI33fxg1Gqpo6miY+WVy7vH0Ko33sjBr341SXLt3nsHG0YV57QStVxnANwZwwVvFy5U080P\nWIIauvkldXSs3DOGwy++UMexmdXRo7l2//1Dj2Ip57TZjqy1XGcA3BGDPzYJsEw1ZCZK1GhtN6Y4\nuTJYp95aMl41dGQt0fFS10wAZiV4A8ZtpJmJQbJ3NWQxkzLntHD9X4nz0WxGFoA7RvAGsGyV1Iot\nmumpZd29EmoZRw0cC4B2HBx6AACjt1krdu3++5OjR4tsskTWaysQu22bGa/1c48V++V+5jEsyaLj\nKHE+aukUWcs5AeDNZN5ghxrqiqjPopmJErVi21mvATv1jilDs2gdYoksZA31mAC0RfAGN6EGhRuZ\neV6UqBXbqvM6tVqsU++imZ4S10ct2aaZlai7q7Qes9lzArAPCN4AlqyWDMvhLz+Xg3+8WXt3+t6s\nPTJABu/y5Rx6eTML+cB8a96VyACuv6fbPQ5rxSWRAQSoneANbsIdaG5k5nlRS4bl6NFcu+/6Om3H\nnn5qoY6Lc10fx8uveTfXNo5X0jmzBrXMTwBuSfAGO9RQV1RCDbVJNYyhFJmJTQWyZrU4/OXndnUA\nHSQLORJqhQHuHN0mYaetO9AXLozql48ausfVMIa5LaHLYg2uPP7EbG/YzFZd7R5Ojh8vck4H69K4\npwPo1oLdLK7pax2gcjJvQLXGlL2rwaUnP7odpFx5/Ink7e+442PQpbEs1wjA/iJ4g32ghnqeUuuS\nqc1ZwNvfsVCN214Ldc1cxBJqtGbOQlaqhmukhs8bgLESvMEIlchMLHpHX3ZkfGqYV6XUkIWs5Vgs\naiy1wgAtELzBGC0hMzHzHf0ljMEd/YHVMK9KKZyFLKHZdfOWsAYhADcmeAOqJXvHjYwlY1XCWK4R\n5xTg9gjegNsy6B19Rkst5HWD1RBWaCznFKA0wRtwQ2O5o09dSsyrw8//zu5tfvO3FBnbHTeSdfOs\n8wZw5wjegBsb6R19BmZeXbe5bt6WsWSbmq3dA2iA4A2oVok6GLU047P+3i6HXtrMWD34YHL8+MAj\nalsN14hMP8DtOTj0AABu19Yvd0Nvg4Ed28hYXe0eTo4dH02Wppb9WPQaWaR2b/3cYwI3gJuQeQNo\nQA11RTVkaLZ+7hiyNKPbD+u8ASyd4A1oRonMRC3ZjUXVUB812BjGUjdX6X7MfI1Y5w3gjhG8AdUq\nkZkosY1aMk7UY0xzYiwZQID9QPAG1KtEZmIJ2Y0asl41ZBBrGEMtapgTc6s0AwjAm2lYAtCAtbPn\nM51MNuqKBqw1m04mmU4mTWeaAKBVMm9AtWpdKmCQjFMNdUUyNG9JFhKAO0HmDWjGUEsFyDixlzkB\nwBBk3hhV4T0sxYIZp7FcY2PZjyJkIQEYgMwbb2IRY2o1lqUCxnKNjWU/AKAVgjegWiUeTfN4GwAw\nFh6b5E1qyExAkmqXCljUWK6xsewHALRC8IYFWhm1Guq0xnKNjWU/AKBVgjeqzEzAsgyymPJYrrGx\n7AcANErNGwAAQAMEb8C+ok4LAGiVxyaBUVOnBcu1XVd6ciVHLr6uqyvAEgnegHFTpwV31CB1nZBR\nawAADkVJREFUpQD7hOAN4BZq6FhZA8ehPs4JwP6i5g1gRluPYe53jkN9ajgn6koBlkfmDWCfkKUp\nZ/Jzn9n1+tKTH03e/o6BRjOs7brSlZWsPfToXHPK3AS4PTJvADMaS2Zh0SzNWI5DCceefmroISQZ\n6Jxs1ZVeuFAs4KohgwhQI8EbwC2snT2f6WSS6WSyrzMCjkN9nBOA/cVjkwC3MtKOlTNnaUZ6HEq4\n8vgTw/zgkZ4TWV2AGxO8ATSgxFpaNax5N5ZasUtPfnT7Uckrjz/R5D7UpIa5CdACwRtAg+ZaS6vC\nLM2xp5/Kle/9vqGHMbu3v6PNcdeqwrkJUCM1bwAAAA0QvAE0aCw1QYPVigFAgzw2CdCCy5dz6OWX\nktXjyT33zrWJGtbSUisGAPMTvAG04PjxXO0eTk6uJBdfn6/mbY8S25iZWjEAmJvgDWCfOPz87+x6\nvfbN3zLQSACAeah5A2jQWGreAIDbJ/MG0IDtdbBWVrL20KNz1aqtv7fLoZdeSpJcffDB5Pjx0sO8\npRrq7gCgVYI3gBZsrYN1ajV55dX5tnFss25uUw3Zu0Hq7gCgUYI3gH1iO3uXzcBNxovIhgK0RPAG\nsF9sZe8qUkP2j91kQwHqJXhjYe7aArdL9g8A5id4ozh3bYG3VGH2j91kQwHqJXgDRk1mGG5ONhSg\nHYI3inPXlprJDMMesqEAzbBINwtbO3s+08kk08lEVgMAAJZE5o3FuWtLQ2SGAYBWybwBoyYzDACM\nhcwbMG4ywwDASAjeYIftzoQnV3Lk4usyNTBSupAC0CKPTcJNbLXPBsbNtQ5AC2TeqIK74AAAcHOC\nN6pUy1pcOhPC/jDEte6mFQCz8tgk7LDVmTArK36RghGrsQupRzcBuBWZN6o0WMZrqzPhqdXklVdn\nfrs76dAIXUgBaJDMG1Wo8S54Ce6kA7fLY9oA3IrMG3VwFxyqJ7Nc1trZ89s3eNYfOeNYAnBLgjdY\nInfSGbNaGgs1y00rAGbksUkoaKyPfwIAMDyZNyjJnXT2EZllALizZN4AuC0yywAwLJk3AG6PzDIA\nDErwBtyQzoLlOJYAQAkemwRuizXrynEsAYB5CN4AAAAaIHgDbovOguU4lgDAPNS8ATe0dvb89uN9\n64+cUaO1iMuXc+jll5IkVx94cODBzE/tHgAMS/AG3JjOguUcP56r3cPbLw+/+MIoju1Y9gMAWuGx\nSQAAgAYI3gDusLHUvI1lPwCgFbf12GTXdR9I8pN933+467r3JPlskmtJnk/yyb7vp13XfTzJJ5Ks\nJ/l03/e/sqQxAzRlLPWDY9kPAGjVLTNvXdf9aJKfT3Js81s/leRTfd9/MMmBJB/puu6dSX4oybcm\n+a4kP9F13dHlDBmgMZv1g+vnHms74BnLfgBAo27nscmvJPmebARqSXKu7/svbH79VJLvTPIXkjzb\n9/1a3/d/uvme95ceLAAAwH51y+Ct7/tfysajkFsO7Pj61SR3JzmR5Os3+D4AAAAFzLNUwLUdX59I\ncjHJnyZZ3fH91SRfu9WGTp1avdU/gcGYn9TK3KRW5iY1Mz8Zg3mCt9/uuu5Dfd//ZpInkvx6ki8l\n+fGu644lOZ7k0Ww0M7mpV155dY4fD8t36tSq+UmVzE1qZW5SM/OTsZgleJtu/vkjSX5+syHJC0k+\nt9lt8meSPJONRzE/1ff9G2WHCgAAsH8duPU/WY7pdDp1B4RauUNHrcxNamVuUjPzk1qdPn1ipnjM\nIt0AAAANELwBAAA0QPAGAADQAMEbAABAAwRvAAAADRC8AQAANEDwBgAA0ADBGwAAQAMEbwAAAA0Q\nvAEAADRA8AYAANAAwRsAAEADBG8AAAANELwBAAA0QPAGAADQgMNDDwBKOfLsM7ter509n6ysDDQa\nAAAoS+aN0Tr84gtDDwEAAIoRvAEAADRA8MZorT9yZughAABAMWreGI21s+e3H5Vcf+RMs/VuavcA\nALgRwRvjsbKS9XOPDT2K4g6/+MIo9wsAgNl4bBIAAKABgjeonNo9AAASwRtUZ+3s+Uwnk0wnE/Vu\nAABsU/MGtRlp7R4AAIuReQMAAGiA4A0AAKABgjcAAIAGCN4AAAAaIHgDAABogOANAACgAYI3AACA\nBgjeAAAAGiB4AwAAaIDgDQAAoAGCNwAAgAYI3gAAABogeAMAAGiA4A0AAKABgjcAAIAGCN4AAAAa\nIHgDAABogOANAACgAYI3AACABgjeAAAAGiB4AwAAaIDgDQAAoAGCNwAAgAYI3gAAABogeAMAAGiA\n4A0AAKABgjcAAIAGCN4AAAAacHjoAQDU7sizz+x6vXb2fLKyMtBoAID9SuYNYEaHX3xh6CEAAPuQ\n4A0AAKABgjeAGa0/cmboIQAA+5DgDeAW1s6ez3QyyXQyUe8GAAxGwxKAW1lZyfq5x4YeBQCwz8m8\nAQAANEDwBgAA0ADBGwAAQAMEbwAAAA0QvAEAADRA8AYAANAAwRsAAEADBG8AAAANELwBAAA0QPAG\nAADQAMEbAABAAwRvAAAADRC8AQAANEDwBgAA0ADBGwAAQAMEbwAAAA0QvAEAADRA8AYAANAAwRsA\nAEADBG8AAAANELwBAAA0QPAGAADQAMEbAABAAw4PPQCAZTry7DO7Xq+dPZ+srAw0GgCA+cm8AfvK\n4RdfGHoIAABzEbwBAAA0QPAG7Cvrj5wZeggAAHMRvAGjtnb2fKaTSaaTiXo3AKBpGpYA47aykvVz\njw09CgCAhcm8AQAANEDwBgAA0IDbemyy67oPJPnJvu8/3HXd2ST/Ocnvbv71z/Z9/4td1308ySeS\nrCf5dN/3v7KUEQMAAOxDtwzeuq770SQfS/La5rfOJ/mpvu9/ase/eWeSH9r8u0mS3+q67tf6vn+j\n/JABAAD2n9vJvH0lyfck+Tebr88n6bqu+0g2sm8/nORCkmf7vl9LstZ13VeSvD/Jc+WHDAAAsP/c\nsuat7/tfysajkFu+mOTv9n3/oSS/l+QfJllN8vUd/+bVJHcXHCcAAMC+Ns9SAb/c9/1WoPbLSf55\nki9kI4Dbsprka7fa0KlTq7f6JzAY85NamZvUytykZuYnYzBP8ParXdf97b7v/1uS78zGo5FfSvLj\nXdcdS3I8yaNJnr/Vhl555dU5fjws36lTq+YnVTI3qZW5Sc3MT8ZiluBtuvnn30ryma7r1pL8UZJP\n9H3/Wtd1P5PkmWw8ivkpzUoAAADKOTDUD55Op1N3QKiVO3TUytykVuYmNTM/qdXp0ydmiscs0g0A\nANAAwRsAAEADBG8AAAANmKfbJMAtHXn2mV2v186eT1ZWBhoNAED7ZN6AO+Lwiy8MPQQAgKYJ3gAA\nABogeAPuiPVHzgw9BACApql5A5Zi7ez57Ucl1x85s6/r3dT/AQAlCN6A5VhZyfq5x4YeRZUOv/iC\nYwMAzMxjkwAAAA0QvAHcYer/AIB5CN4Almzt7PlMJ5NMJxP1bgDA3NS8ASyb+j8AoACZNwAAgAYI\n3gAAABrgsUkYIeuKAQCMj8wb7ANbi2UDANAuwRsAAEADBG+wD1hXDACgfYI3GCHrigEAjI+GJTBG\n1hUDABgdmTcAAIAGCN4AAAAa4LFJ4IasFVeX7fNxciVHLr7ufADAPiTzBtwWa8XVxfkAgP1H8AYA\nANAAwRtwW6wVVxfnAwD2H8EbcEPWiqvL1vnIyorzAQD7lIYlwI1ZK64uW+fj1GryyqtDjwYAGIDM\nGwAAQAMEbwAAAA0QvAEAADRA8AYAANAAwRsAAEADBG8AAAANELwBAAA0QPAGAADQAIt0A9U68uwz\nu16vnT2frKwMNBoAgGHJvAHNOPziC0MPAQBgMII3AACABgjegGasP3Jm6CEAAAxG8AZUa+3s+Uwn\nk0wnE/VuAMC+p2EJUK+Vlayfe2zoUQAAVEHmDQAAoAGCNwAAgAYI3gAAABogeAMAAGiA4A0AAKAB\ngjcAAIAGCN4AAAAaIHgDAABogOANAACgAYI3AACABgjeAAAAGiB4AwAAaIDgDQAAoAGCNwAAgAYI\n3gAAABogeAMAAGiA4A0AAKABgjcAAIAGCN4AAAAaIHgDAABogOANAACgAYI3AACABgjeAAAAGnB4\n6AEAcGccefaZXa/Xzp5PVlYGGg0AMCuZN4B96vCLLww9BABgBoI3AACABgjeAPap9UfODD0EAGAG\ngjeAfWLt7PlMJ5NMJxP1bgDQIA1LAPaLlZWsn3ts6FEAAHOSeQMAAGiA4A0AAKABgjcAAIAGCN4A\nAAAaIHgDAABogOANAACgAYI3AACABgjeAAAAGiB4AwAAaIDgDQAAoAGCNwAAgAYI3gAAABogeAMA\nAGiA4A0AAKABgjcAAIAGCN4AAAAaIHgDAABowOGb/WXXdUeS/KskDyY5luTTSf5nks8muZbk+SSf\n7Pt+2nXdx5N8Isl6kk/3ff8rSxw3AADAvnKrzNtfT/JK3/cfTPLdST6T5J8m+dTm9w4k+UjXde9M\n8kNJvjXJdyX5ia7rji5v2AAAAPvLTTNvSX4xyec2vz6YZC3Jub7vv7D5vaeSPJ7kapJn+75fS7LW\ndd1Xkrw/yXPlhwwAALD/3DR46/v+G0nSdd1qNgK5v5/kn+z4J68muTvJiSRfv8H3AQAAKOBWmbd0\nXXd/kl9K8pm+7/9913X/aMdfn0hyMcmfJlnd8f3VJF+72XYPHDhwYPbhAgAA7E83rXnruu7eJE8n\n+dG+7z+7+e3f7rruQ5tfP5HkC0m+lOTbu6471nXd3UkezUYzEwAAAAq4afar67p/luSvJvlfO779\nd5L8TJKjSV5I8vHNbpN/MxvdJg8m+fG+7395OUMGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAqvf/AerqFaqzMwIcAAAAAElFTkSuQmCC\n", "text": [ "<matplotlib.figure.Figure at 0x10cda0ad0>" ] } ], "prompt_number": 172 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }