{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"CDSW Week 2: Using APIs to Get Data From the Internet\n",
"=============================="
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Agenda\n",
"------\n",
"\n",
"**Last session** we learned some basic command in python\n",
"\n",
"* Variables\n",
"* Types\n",
"* lists\n",
"* dicts\n",
"* for loops\n",
"\n",
"**This week** we will learn how to find and retrieve data from the internet\n",
"\n",
"**Next session** we will learn to do some Data Science on our data.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Q: What's the difference between lists and dictionaries? \n",
"A: Lists are ordered, dictionaries have keys and values. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Warmup\n",
"------\n",
"\n",
"**Lists of dictionaries**"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"# create a dictionary with age, town, and state.\n",
"tommy = {'name':'Tommy', 'age': 27, 'town': 'Seattle', 'state': 'Washington'}"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# create a list of all my siblings \n",
"#You can make a list of dictionaries. That's how you order a lot of data from the internet. \n",
"\n",
"family = [\n",
" {'name':'Tommy', 'age': 27, 'town': 'Seattle', 'state': 'Washington'},\n",
" {'name':'Sue', 'age': 29, 'town': 'Marlboro', 'state': 'New York'},\n",
" {'name':'Tammy', 'age': 21, 'town': 'Newark', 'state': 'New Jersey'},\n",
" \n",
"]\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Tommy is 27 years old.\n",
"Sue is 29 years old.\n",
"Tammy is 21 years old.\n"
]
}
],
"source": [
"for person in family: \n",
" print(person['name'] + \" is \" + str(person['age']) + \" years old.\")"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"Python has a thing called \"string format\" that allows us to put Python in our string: \n",
"This can save us from making typo errors. \n",
"Note curly braces are used for dictionaries and for formatting. We ran of out parenthetical symbols! \n",
"f\" means I'm going to make a quote, but if you see someting in curly braces treat is as python. "
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Tommy is 27 years old.\n",
"Tommy is 27 years old\n",
"{person['name']} is {person['age']} years old\n",
"Sue is 29 years old.\n",
"Sue is 29 years old\n",
"{person['name']} is {person['age']} years old\n",
"Tammy is 21 years old.\n",
"Tammy is 21 years old\n",
"{person['name']} is {person['age']} years old\n"
]
}
],
"source": [
"for person in family: \n",
" print(person['name'] + \" is \" + str(person['age']) + \" years old.\")\n",
"#The following line is another way of printing the line above, but (eventually) is less error prone: \n",
" print(f\"{person['name']} is {person['age']} years old\")\n",
"#If we remove f (for formatting) see what happens: \n",
" print(\"{person['name']} is {person['age']} years old\")\n",
" "
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"# iterate through the list and print the age and state (using f'')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"*Creating strings from variables*\n",
"\n",
" print(f'Inside the curly braces is python: {1 + 1}')\n",
" \n",
"*Nesting dictionaries in lists*\n",
"\n",
"You can use lists as the values in dictionaries. \n",
"\n",
"You can use lists in lists!\n",
"\n",
"You can use dictionaries in lists!"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Getting Data from APIs\n",
"\n",
"\n",
"**API** means Application Programmer Interface\n",
"\n",
"An API is a set of instructions that describe how computers can interact with each other to request and receive information.\n",
"\n",
"Some important questions we will ask that help us discover APIs is below.\n",
"\n",
"|Question | In technical terms |\n",
"|:---------|:--------------------|\n",
"|Where is my data? | What is the domain? |\n",
"|How do I learn what data is available?| Where is the documentation? |\n",
"|How do I request specific data?| How do I formulate a URL for a specific purpose? |\n",
"|How do I interpret the data?| What is the structure and format of the output?|\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Two questions we always ask when working with an API. \n",
"1) Where is the API located? What is the URL? \n",
"2) How do I know what's there? What is available to from the API,(and how do I get it?)\n",
"This second question is best answered through the API Documentation?\n",
"This will help us figur out the data structure. \n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Let's walk through an example in the browser**\n",
"\n",
"PlaceKitten!\n",
"\n",
"In a browser, go to http://www.placekitten.com\n",
"\n",
"|In technical terms | PlaceKitten |\n",
"|:---------|:--------------------|\n",
"|What is the domain? | http://www.placekitten.com |\n",
"|Where is the documentation?| The documentation is on the home page. |\n",
"|How do I formulate a URL for a specific purpose? | You put it in the url like http://www.placekitten/width/height |\n",
"|What is the structure and format of the output?| It's an image! |"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If you are not a cat person, you can use https://www.fillmurray.com/ (It works much the same.)\n",
"\n",
"Inspecting the \"documentation\" for PlaceKitten we learn how it works:\n",
"http://placekitten.com/200/300 gives us an image of a cat 200 x 300 pixels.\n",
"http://placekitten.com/g/200/300 gives us an image of a cat 200 x 300 pixels greyscale.\n",
"\n",
"Now we understand this API! Now let's try it in Python!"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Accessing placekitten in python\n",
"\n",
"We're going to use a special library called requests
"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"from IPython.display import Image # This line lets you display images. We'll use that in a bit.\n",
"\n",
"\n",
"# This line lets you use python to download data from the web.\n",
"import requests\n",
"\n",
"#Run this line. When it's works, nothing happens."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"# Get a 200 by 300 image from placekitten.\n",
"response = requests.get(\"http://placekitten.com/500/500\")\n",
"\n",
"#Magically, Python just retreived that image and saved it to the variable 'response'.\n",
"\n",
" "
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"200"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Look at the status code\n",
"#Hint try typing response. and hitting tab. A pop up will come up that gives you options.\n",
"#any varible will work with the tab to give you a context specific menu of options of what you can do with it. \n",
"#If this comes back as '200' than it worked!\n",
"response.status_code"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"b'\\xff\\xd8\\xff\\xe0\\x00\\x10JFIF\\x00\\x01\\x01\\x01\\x00`\\x00`\\x00\\x00\\xff\\xfe\\x00;CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 65\\n\\xff\\xdb\\x00C\\x00\\x0b\\x08\\x08\\n\\x08\\x07\\x0b\\n\\t\\n\\r\\x0c\\x0b\\r\\x11\\x1c\\x12\\x11\\x0f\\x0f\\x11\"\\x19\\x1a\\x14\\x1c)$+*($\\'\\'-2@7-0=0\\'\\'8L9=CEHIH+6OUNFT@GHE\\xff\\xdb\\x00C\\x01\\x0c\\r\\r\\x11\\x0f\\x11!\\x12\\x12!E.\\'.EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\\xff\\xc0\\x00\\x11\\x08\\x01\\xf4\\x01\\xf4\\x03\\x01\"\\x00\\x02\\x11\\x01\\x03\\x11\\x01\\xff\\xc4\\x00\\x1f\\x00\\x00\\x01\\x05\\x01\\x01\\x01\\x01\\x01\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\xff\\xc4\\x00\\xb5\\x10\\x00\\x02\\x01\\x03\\x03\\x02\\x04\\x03\\x05\\x05\\x04\\x04\\x00\\x00\\x01}\\x01\\x02\\x03\\x00\\x04\\x11\\x05\\x12!1A\\x06\\x13Qa\\x07\"q\\x142\\x81\\x91\\xa1\\x08#B\\xb1\\xc1\\x15R\\xd1\\xf0$3br\\x82\\t\\n\\x16\\x17\\x18\\x19\\x1a%&\\'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\\x83\\x84\\x85\\x86\\x87\\x88\\x89\\x8a\\x92\\x93\\x94\\x95\\x96\\x97\\x98\\x99\\x9a\\xa2\\xa3\\xa4\\xa5\\xa6\\xa7\\xa8\\xa9\\xaa\\xb2\\xb3\\xb4\\xb5\\xb6\\xb7\\xb8\\xb9\\xba\\xc2\\xc3\\xc4\\xc5\\xc6\\xc7\\xc8\\xc9\\xca\\xd2\\xd3\\xd4\\xd5\\xd6\\xd7\\xd8\\xd9\\xda\\xe1\\xe2\\xe3\\xe4\\xe5\\xe6\\xe7\\xe8\\xe9\\xea\\xf1\\xf2\\xf3\\xf4\\xf5\\xf6\\xf7\\xf8\\xf9\\xfa\\xff\\xc4\\x00\\x1f\\x01\\x00\\x03\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\xff\\xc4\\x00\\xb5\\x11\\x00\\x02\\x01\\x02\\x04\\x04\\x03\\x04\\x07\\x05\\x04\\x04\\x00\\x01\\x02w\\x00\\x01\\x02\\x03\\x11\\x04\\x05!1\\x06\\x12AQ\\x07aq\\x13\"2\\x81\\x08\\x14B\\x91\\xa1\\xb1\\xc1\\t#3R\\xf0\\x15br\\xd1\\n\\x16$4\\xe1%\\xf1\\x17\\x18\\x19\\x1a&\\'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\\x82\\x83\\x84\\x85\\x86\\x87\\x88\\x89\\x8a\\x92\\x93\\x94\\x95\\x96\\x97\\x98\\x99\\x9a\\xa2\\xa3\\xa4\\xa5\\xa6\\xa7\\xa8\\xa9\\xaa\\xb2\\xb3\\xb4\\xb5\\xb6\\xb7\\xb8\\xb9\\xba\\xc2\\xc3\\xc4\\xc5\\xc6\\xc7\\xc8\\xc9\\xca\\xd2\\xd3\\xd4\\xd5\\xd6\\xd7\\xd8\\xd9\\xda\\xe2\\xe3\\xe4\\xe5\\xe6\\xe7\\xe8\\xe9\\xea\\xf2\\xf3\\xf4\\xf5\\xf6\\xf7\\xf8\\xf9\\xfa\\xff\\xda\\x00\\x0c\\x03\\x01\\x00\\x02\\x11\\x03\\x11\\x00?\\x00\\xa8)i)E\\x008R\\xd2\\nQ@\\x0bKIJ(\\x01\\xd4\\xb4\\xdau\\x00-\\x14\\x94\\xb4\\xc0ZQH)\\xd4\\x00\\xa2\\x96\\x92\\x96\\x81\\x0bKIK@\\x0bKIKL\\x05\\x14\\xa2\\x81K@\\x0bJ))h\\x01iE%-\\x02\\x1dKIKL\\x05\\xa5\\xa4\\xa5\\xa0\\x05\\xa5\\xa6\\xd3\\xa8\\x01ii)h\\x10R\\xd2R\\xd0\\x01KE\\x14\\x00\\xb4\\xb4\\x94\\xb4\\x00\\xb4QE0\\x16\\x8a(\\xa0\\x02\\x96\\x8a(\\x00\\xa5\\xa4\\xa5\\xa0\\x02\\x96\\x92\\x96\\x80\\n(\\xa2\\x80\\n(\\xa2\\x80\\n(\\xa2\\x80\\n(\\xa2\\x80\\n(\\xa2\\x80\\nZJZ\\x00)\\xb2\\x0c\\xad:\\x91\\xb9\\x14\\x01\\x8f:~\\xf4\\xd1S\\xcc\\x9f\\xbc4P\\x06%(\\xa4\\xa5\\xac\\xcb\\x1dKM\\x14\\xb4\\x00\\xe1J))h\\x01E-%-0\\x16\\x96\\x92\\x96\\x80\\x14R\\xd2R\\x8a\\x04-8R\\nQ@\\n)E%(\\xa0\\x05\\xa5\\x14\\x94\\xb4\\xc0Zu6\\x96\\x80\\x16\\x96\\x92\\x94P\\x03\\x85(\\xa4\\x14\\xa2\\x98\\x85\\xa7Sih\\x01ii)h\\x01iE%-\\x02\\x1dKM\\x06\\x96\\x80\\x16\\x96\\x92\\x96\\x80\\nZJZ\\x00ZZJ(\\x01\\xd4QE0\\nZJZ\\x00)i)h\\x00\\xa5\\xa4\\xa2\\x80\\x16\\x8a(\\xa0\\x05\\xa2\\x8a(\\x00\\xa2\\x8a(\\x00\\xa2\\x8a(\\x00\\xa2\\x8aJ\\x00Z)(\\xa0\\x05\\xa5\\xa4\\xa2\\x80\\x16\\x90\\xf4\\xa2\\x8a\\x00\\xa7*\\xfc\\xe6\\x8a\\x96A\\xf3Q@\\x1c\\xd5-%-fX\\xb4\\xa2\\x90R\\xd0\\x03\\x85- \\xa5\\xa0\\x05\\x14\\xb4\\x94\\xb4\\xc0ZQIK@\\x0bJ))E\\x00:\\x96\\x92\\x94P!ii\\x05(\\xa0\\x05\\xa5\\x14\\x94\\xb4\\xc0QKIK@\\x0bKIK@\\x0e\\xa5\\xa4\\x14\\xb4\\xc4--%-\\x00--%-\\x00--%-\\x02\\x03\\xc74\\x06\\xcd\\x07\\xd0\\xd4\\x1eaV\\xdah\\x19j\\x96\\x9a\\xa7\"\\x96\\x81\\x0bKIK@\\x0bE%-\\x00--%-0\\nZ(\\xa0\\x02\\x96\\x92\\x96\\x80\\n(\\xa2\\x80\\x16\\x8a(\\xa0\\x05\\xa2\\x8a(\\x00\\xa2\\x8a(\\x00\\xa2\\x8a(\\x01(\\xa2\\x8a\\x00(\\xa2\\x8a\\x00)i(\\xa0\\x05\\xa2\\x92\\x8a\\x00c\\x0eh\\xa7\\x11\\xcd\\x14\\x01\\xca\\x8aQM\\x14\\xea\\xcc\\xb1ii)h\\x01E:\\x9bN\\xa0\\x05\\x14\\xa2\\x92\\x96\\x80\\x16\\x96\\x92\\x96\\x98\\x0bJ))h\\x01\\xd4\\xb4\\xdau\\x02\\x16\\x96\\x92\\x94P\\x02\\xd2\\xd2R\\xd3\\x01E-%:\\x80\\nu%(\\xa0\\x05\\x14\\xb4\\x94\\xa2\\x81\\x0bKIK\\x9a`\\x04\\xe2\\x9c\\rB\\xed\\xcd=[4\\xae;\\x12\\nQM\\x14\\xeab\\x022+>\\xf5\\xf6s\\x9c\\x11Z\"\\xa5M>\\x0b\\x83\\xbae\\xcf\\xb5&\\x08\\xcd\\xb3\\xbb\\x12\\xa6s\\xcd^S\\x91Tu\\x1d0\\xd8\\x13sh\\t\\x8f9t\\xf4\\xf7\\xa9\\xad\\xa7\\x12 \\xe7\"\\x84\\xee\\r\\x16\\xa9i\\x81\\x814\\xeab\\x1dE%-0\\x16\\x96\\x90R\\xd0\\x01KIK@\\x05-%-\\x00\\x14QE\\x00-\\x14\\x94\\xb4\\x00\\xb4RR\\xd0\\x01E\\x14P\\x01E\\x14\\x94\\x00QE%\\x00\\x14\\xb4\\x94\\xb4\\x00QE\\x14\\x00QE\\x14\\x00\\x86\\x8aZ(\\x03\\x93\\xa7SE:\\xb3,ZZAJ(\\x01i\\xc2\\x9bN\\xa0\\x05\\xa5\\xa4\\x14\\xa2\\x98\\x0bKIK@\\x0bKIJ(\\x01i\\xc2\\x9a)h\\x10\\xa2\\x9c))h\\x01ii)E0\\x16\\x9dIK@\\x0bJ))h\\x01E- \\xa5\\xa0B\\xd3d`\\xab\\x93N\\xa8\\x9con~\\xea\\xf6\\xf5\\xa5\\'er\\xa2\\xae\\xca\\xb24\\xae\\xdb\\x91N\\xdfZ\\x92\\x1b\\x81\\x9d\\xad\\xc1\\xa8\\xae.\\t\\xe4\\xf0\\x07\\x00U\\x1134\\xb9=\\xbb\\xd7:\\x9b\\xb9\\xb3\\x8ah\\xdfV\\xe2\\xa4^Mg\\xda\\xdc\\xef\\x18?J\\xba\\x8d\\x91]\\t\\xdc\\xc1\\xab\\x13\\xec\\xc5X\\r\\xb1\\x14\\xd5tn8\\xa9\\x91\\x94\\xfc\\xad\\xd0\\xd3`\\x89\\x1c\\x87\\x8c\\x83\\xc8=k\\x9b@\\xd6\\x17o\\x03}\\xc2s\\x19\\xf65\\xd1\\xed\\xe0\\x83\\xd4VV\\xb7nd\\xb42\\xa0\\xfd\\xe4<\\x8czV{2\\xb7A\\x14\\xa0\\xbe3\\xc6*\\xd8\\xe4q\\\\\\xfd\\xa5\\xf2\\xc8\\x11\\xc1\\xfb\\xd5\\xb5\\x0c\\x99\\x8b\\xf9V\\xa42d9\\x1fJ}B\\xa7\\x04~U&i\\x88p\\xa7S\\x01\\xa7\\x03\\x9a\\x00ZZJ(\\x01ii(\\xcd\\x00\\x04\\xe2\\x90\\x9a\\x87\\xcc\\xdd\\'\\x1fJz\\x9c\\xc8G\\xa5\\x00KKI\\xd6\\x96\\x80\\nZJZ\\x00(\\xa2\\x8a\\x00))i(\\x00\\xa4\\xa5\\xa4\\xa0\\x02\\x8a(\\xa0\\x02\\x8a(\\xa0\\x05\\xa2\\x92\\x8a\\x00(\\xa2\\x8a\\x00\\xe5\\x05- \\xa5\\xac\\xcb\\x1c)i\\x05(\\xa0\\x05\\xa7\\nAJ(\\x01E- \\xa5\\xa6\\x02\\xd2\\xd2R\\xd0\\x02\\xd2\\x8aAK@\\x0bJ\\rB\\xf2|\\xc1E?\\xa0\\xa0\\tE-@$\\xc1\\xa9U\\x81\\xa2\\xe1a\\xf4\\xa2\\x92\\x94S\\x10\\xb4\\xeaAK@\\n)i\\x05-\\x00-(\\xa4\\xa2\\x81\\n\\xc7\\x02\\xa2\\x90\\x88\\xe2\\x00\\xf5jq;\\x98\\x0fZ\\x8a|\\xbc\\xa7\\x03\\xa7\\x02\\xb1\\xaa\\xfa\\x1bS]Jn\\x86g=\\xc0\\xa8\\xe4\\x88 \\xe6\\xb5E\\xb8\\x86\\x12\\xef\\xc5d\\xcf7\\x98\\xc7\\x1ftt\\x15)\\x17q\"fF\\x04V\\xb5\\xb4\\xa1\\xd0z\\xd6Td\\x1e\\x9dj\\xed\\xb1\\x01\\xf1\\x9c\\x1fCU\\x1d\\x193\\xd5\\x1aJ\\xe5\\x18\\x1a[\\x90H\\x13E\\xc8\\x03\\xe6\\x1e\\x95\\x13\\x921\\x9e)\\xc6B\\x92\\x00=9\\x15\\xab2D\\xd6\\xb7^r\\x85c\\xf3\\x8e\\x01\\xf5\\xa9&\\xc1F\\x0c8#\\x06\\xb3deII\\x88\\xe3<\\xe2\\xac5\\xce\\xe8\\xc6\\xee\\xb8\\xa4\\xd0\\x1cL\\x8et\\xcdVKV\\xc8\\x8f9O\\xa1\\xae\\x96\\xc6\\xe3p\\x03=+\\x0b\\xc5(&\\x8a;\\x98\\x87\\xce\\x9c1\\xaa\\xda6\\xae\\x0f\\xc8\\xe7\\r\\xfc\\xe9\\xc5\\x83Gh\\x1cr=\\x1b\\x15#J\\x01Q\\xea3X\\xa9\\xa8!\\xea\\xc3\\xa9\\xa8\\xce\\xa4&\\x99\\x95\\x08\\xc7L\\xfbU\\x13cpM\\xbb\\x85\\xe4w5\\'\\x9a\\xa0\\x01\\x91Ykz\\xa10\\x98\\xf4\\x15*\\x18\\xc7\\xcc\\xcd\\xb9\\xfb\\x9a\\x00\\xd1W\\x04d\\xb7\\xe5R\\x02\\re\\xbd\\xc6\\xc0\\x1b\\x85\\x1d\\x87zx\\xbb \\x80\\x87s\\x1e\\x80\\xd3\\x11\\xa2\\xce\\xa82\\xc7\\x02\\xa9^\\xdf\\x08\\xd7\\x19\\x0b\\x9fZ\\x96\\x0bi&\\xfd\\xe37?\\xde=\\x07\\xd2\\xac\\xad\\x95\\x84Ct\\xa9\\xe67\\xf7\\x9f\\x9a\\x87$RF\\x14Z\\xb4\\n\\xdf3V\\x8d\\xa4\\x9b\\x81r~\\xf75_P\\xb3\\xb2\\xb8B\\x04k\\x19\\xed\\x8e1T,oL\\x05\\xa1\\x90\\x92s\\xc3\\x1fJ\\x14\\xae\\r\\x1d\"\\x9c\\x8e)\\xd5\\r\\xb7\\xfa\\x84\\'\\xa9\\x19\\xa9\\xaa\\xc9\\nZJ(\\x01h\\xa2\\x8a\\x00))i(\\x00\\xa4\\xa5\\xa4\\xa0\\x02\\x8a(\\xa0\\x02\\x8a(\\xa0\\x02\\x8a(\\xa0\\x02\\x8a(\\xa0\\x0ePS\\xa9\\xa2\\x96\\xb3,p\\xa5\\x14\\x82\\x96\\x80\\x1dJ)\\xa2\\x9c(\\x01ii)i\\x80\\xb4\\xb4\\xdc\\xd1\\x9a\\x00uAux\\x96\\xeb\\xc9\\x19\\xa5b\\xf27\\x97\\x08\\xcb\\x1e\\xe7\\xa0\\xa6\\xb6\\x93\\x01R\\xd3\\xb39\\xeej\\\\\\x92\\x04\\x88lnRr\\xcd\\xbb\\'\\xb5h\\xe3r\\xf3X\\xb76\\xe9b\\xc8\\xf6\\x99\\xdaO\\xcc\\xb5\\xad\\x03\\xf9\\x91\\x02(N\\xe3\\xb5\\x88\\xbe\\xce\\xe7$\\xc8\\x07\\xb544\\xd0\\x1f\\x98e}E:]\\xca\\xf9\\x02\\xa5\\x8eN9\\x1f\\x9d`\\xee\\x99\\xb2\\xb3Z\\x8f\\x8ae\\x90pj`\\xd5Y\\xad\\xf2w\\xc0@n\\xe3\\xd6\\x91g\\xc1\\xda\\xe3k\\x0e\\xb5\\xacg}\\xcc\\xe5\\x0bl]\\x06\\x8c\\xd4+\\'B:T\\x9b\\x85]\\xc9\\xb0\\xfc\\xf3J\\rB\\x1c\\x1cS\\xf7sS\\xce\\x91\\\\\\x8d\\x92\\xe6\\x98\\xcc\\x00\\xa6\\x17\\xc0\\xa8\\x9d\\xf2j]T\\x90\\xd5&X\\x8b\\x96.z(\\xa9a\\x0b\\x9d\\xef\\xeb\\xc0\\xa8$>U\\xba\\xafs\\xcdC\\xe7\\x92\\xc3\\'\\xa5c\\xcdws^[\"[\\xf9\\x8c\\x81\\x978U\\x19\\xacf`\\xa0z\\x9a\\xbb$\\x9b\\xad\\xa4s\\x9f\\x9d\\xb0>\\x95\\x8d$\\xc5\\xa5?\\xdd\\xadQ)\\x16\\xd4\\x9e0y\\xf4\\xadks\\xe7B3\\xc4\\x8b\\xfa\\xd6\\x14s7\\x1bOJ\\xd6\\xb7\\xb8\\xdc\\x81\\xf1\\xb5\\x87\\xde__z\\xa4\\xc9\\x924c\\x99\\x83\\x04 2\\xe7\\x90jV1\\x1b\\xac\\x82T\\x95\\xfb\\xa7\\xa5UR\\xac\\xa1\\xd5\\xaaW!\\x95]\\x06q\\xd4zU\\x99\\x94.r\\x8c[\\xb55\\xee\\xb1\\x189\\xe7\\x184\\xd7\\x90\\xc7\\xb9O*N1Y\\x97w\\x1b\\x14\\x009\\xa1\\x80\\xeb\\xa7Y`\\x91\\t\\x042\\x9a\\xe4!VY\\x0e\\xdc\\x83\\x9a\\xd6\\x96\\xe5\\xf2\\xccG\\x07\\x9c{\\xd6j\\xee\\x0cH\\x18\\xcfzH\\tV\\xe2M\\xdbw\\x93W\\xa2\\x12\\xc4;\\xd3\\xb4k\\x0f\\xb4Hda\\xf2\\xadlMl\\xaa\\x84\\x91\\xf5\\xa9s\\xb3\\xb1J72\\x7f\\xb4Z\"\\xa1\\xb9#\\xb5X\\x83Z\\xf9\\xb2\\xed\\xc0\\xac\\xbb\\xfc\\t\\x08_\\xbcj\\xa2\\xab\\x1e\\x07>\\xb5i\\x92\\xd1\\xd2\\xae\\xaad%\\xc9\\xcex\\x02\\xba}\"\\xc4\\xb4\\x02\\xea\\xe8`\\xb7*\\xb5\\x83\\xe1\\xcd\\x14\\x00.\\xaf\\xd7!yH\\xcf\\xf35\\xd7G6\\xff\\x00\\x9a@\\x12>\\xd9\\xefCw\\xd1\\x08W\\x97y\\xc0\\x18\\x8dj\\x8d\\xdc\\xd2G\\x86e*\\x9d\\xb3[JPFd#\\x00\\x0e7V=\\xdb\\xa4\\xce\\xd2H\\xe7`\\xf5\\xef\\xf4\\xa6\\xa2\\x85s\"[\\x96o\\xbc:\\x9e+:\\xe1\\x19\\x9888*s\\xf8U\\xb9\\xe4\\x0c\\xe7\\x8e;\\n\\x88\\x82W\\xa6q\\xebR\\xd7R\\xd1\\xd3\\xd9I\\xbe\\xde2\\x0fj\\xb5\\x9a\\xc5\\xd1\\xe6>I\\x8f9`p>\\x95\\xb4\\x07\\x15\\xa2\\xd8\\xcd\\x8bE\\x14\\xb4\\xc4\\x14QE\\x00\\x14\\x94\\xb4P\\x02RR\\xd2P\\x01E\\x14P\\x01E\\x14P\\x01E\\x14P\\x01E\\x14P\\x07&\\r\\x19\\xa8\\x83\\xfeT\\xed\\xd5\\x99d\\xa0\\xd3\\x85D\\xad\\xcd;wZ\\x00\\x94S\\x85F\\xadN\\xdd\\xcd\\x00>\\x90\\xb6)\\xac\\xd8\\x15\\x03M\\xe9@\\x13\\xef\\xc5@\\xb25\\xc4\\xdb#\\xe9\\xdc\\xfaUk\\x89\\xf0\\xa4\\x03S[\\xb0\\xb7\\xb6\\n?\\xd6H2}\\x85\\x0c\\x0b\\x91\\xbe\\xf9D0\\x9c*\\xf5oZ\\x96_\\x9c2\\xa6v\\xaf\\x19\\xf55\\r\\x84\\x0f$\\x9f9\\x08\\xbd\\xcfz\\xbdt\\x12(\\xf6\\xc68\\xa9\\xb0\\xeed\\x88\\xc1\\x7f\\x98\\xe6\\xa5\\x88\\x98\\x9f\\xe5\\xe8zS9\\'\\xfaT\\x9bN\\xd0}9\\xa5\\xb1v\\xd0\\x9d\\xd8\\x15\\xcb\\x8aX\\xd5\\x18\\r\\xbf\\xa5 `S\\x91\\xc5Ko\\xe4\\x91\\x80\\xeb\\x9fC\\xc5\\x12BL\\x04x9\\x19\\xcd6X\\xd2^$\\xe0\\xf6\"\\xad\\x14\\x18\\xe3\\x07\\xf1\\xa8$\\x15\\x8bF\\xa9\\x95\\xfc\\x99#\\xe0r;S\\xe3f$\\x021\\x8a\\x966=*@\\x80\\xf2:\\xd49=\\x8bQD#\\x86\\xe7\\xa5J\\x140\\xa7\\xf9a\\x9b\\x1e\\x94\\xf8\\xd4q\\xf5\\xa9\\xb9eY>V\\x00\\xf7\\xa6\\x91\\x82)\\xd7\\x98\\x13\\x0cS7d\\x83P\\xca[\\x12\\xe4\\xbf-\\xd0Tf\\x1eK(\\xeb\\xd34\\xa9 \\xc1,x\\xa7\\x89\\x81\\xabR!\\xc4\\xabx\\xc6\\x1b!\\x9eH\\xf6\\xac(\\xc4\\x92\\xbf\\x19\\xe7\\xf2\\xad\\xfb\\x80n\\x8e\\xdf\\xe1\\xa7\\xc3i\\x1c`c\\x19\\xfe\\xf1\\xed]\\nZ\\x195c>\\x0bFQ\\xb8\\xf3\\x8eH\\xa6\\xdc\\xdcG\\x0cj3\\xf3g\\xb5h\\xdd]\\xc7o\\x03*`\\xb6:\\x9a\\xe6X=\\xd1\\xcep\\xd9\\xe3\\xde\\xa9jC7\\xed\\xae\\x82D\\xad\\x9d\\xc1\\x87Z\\x1a\\xff\\x00\\xc9p\\xcb\\xf7OZ\\xc6\\x85\\xa5\\x89LLq\\x9eEH\\x1b+\\x83\\xcd7\\xa1;\\x9aW7H\\xcb\\xbb\\x03-\\xc8\"\\xb0\\xae\\xeeH\\xc15\\xa5o\\x19|\\x86\\x04\\xe3\\x91Y\\x9a\\x94c%@\\xe4\\x1e\\x957\\xbb\\x1d\\x88-\\xc8\\xba\\x90\\x96\\xfb\\xabM\\xd4\\x02\\x9b\\x98\\xad\\xe1\\xc7NqW\\xf4\\xbbE\\x16\\x8e\\xe7\\xaf5Z\\xc2\\xd4\\xc9|da\\x93\\x9e\\xfd\\x85U\\xc5mM\\xad.\\xdb\\xec\\xf6\\xaa\\xa0ry4\\x9a\\xb16\\xd6\\x85\\xd9\\xbef\\xe8*\\xfd\\x88\\x05\\x87\\xa7Z\\xc0\\xf1-\\xe1\\x9fPH\\x97\\x95J\\xca:\\xb3G\\xa21\\xa4\\x8d\\xf3\\xbd\\xf3\\xf3s[\\x1a&\\x9d\\xf2\\xfd\\xae\\xeb\\x02 ~U=\\xe9G\\x96\\xd1\"\\x903R4\\xf3\\x17\\xf2\\x98\\x1d\\x83\\xb0\\x15\\xb5\\xcc\\xacl.\\xa1\\xe6\\xce#W\\xc2\\xe7\\x93[q\\xcfj\\x89\\xe7\\xca\\xc0\\xaa\\x0e\\xa7\\xb5r\\x10F\\xdea\\x90\\x8fl\\x0f\\xe5W\\xde\\x0b\\x8b\\x98\\xc2d\\xa8\\xeb\\x81M\\t\\xa1\\xfa\\xbf\\x88\\x1e\\xe8\\xec\\x8b)\\x10\\xed\\xdc\\xd6|s\\xca\\xfd\\xcbg\\xb1\\xa9\\xa5\\xb3\\x9a!\\xd26#\\xbc\\x8c\\xa3\\x1f\\x99\\xa8\\x19e^^\\xf6\\x14_D9\\xfeB\\xa8\\x11!$\\x1f\\x9c\\xe3\\xda\\xac\\xdb\\xa8p\\xc3\\xb5T\\x11\\xa8\\x1b\\xb7o\\xf4\\xe0\\x8c\\xd6\\x95\\xacdC\\xf7pZ\\x86\\x02\\xe8\\xc4\\xa5\\xec\\xc7\\x8c`u\\xae\\x85\\x1c5aZ([\\xb9\\x018=+b3\\xc6z})\\xc7be\\xb9b\\x8aA\\xd2\\x94\\xd5\\x12\\x14\\xb4\\xc0\\xff\\x006\\r
z\\xaeA<\\xd3\\x96`\\xca\\x08=k%\\x98\\xb1\\xc9&\\xadB\\xac\\xe0\\x01\\xda\\x93\\x90\\xd4K\\xeb&3\\x93J\\'\\x01\\x8eMV\\xbbF\\x82\\x1d\\xd9\\xacg\\x9a}\\xdb\\x81\\xeai\\xa7pj\\xc6\\xdd\\xc5\\xfa\\xa9\\xc6j\\x84\\xb7\\xc78OL\\xd58\\xe3yX\\xef<\\xd4W\\x11\\xc8%!\\x01\\xc7J.+\\x17\\xac\\xe63L\\xd2K\\xfe\\xad:\\xfb\\x9a\\xd1\\x86`\\xce\\xcd\\xbb\\xa9\\xe4\\xd61u\\x86\\x14\\x8dA=\\xcf\\xb9\\xab\\x16\\xb2ev\\xb1\\xe3\\xd0P\\x07Gi>~\\xe7N\\xecin\\xae7\\x06np\\x06\\x16\\xaaA0d \\x10\\xa8\\xbdMU\\xb9\\xbe\\x13H#\\x8f\\x85\\x1d(\\x1a\\'F\\xf55y\\x0e`\\xe7\\x9a\\xc7\\x12|\\xf8\\x06\\xb5\\xadNa\\xc1\\xa1\\x94>\\x0c4~\\x86\\xa2vD\\x9b\\r\\xc1=\\xc5-\\xb4\\x882\\x84\\x8c\\xe7\\xadK-\\xaf\\x9b\\x83\\x8c\\xe3\\xbd\\'\\xb1)\\xea8\\x07\\xc6Q\\xcd8\\x17\\'\\x0c3N\\x86\\x17\\x84u\\xca\\xfa\\x1a\\x9b+\\x8c\\x81X\\xcd\\xd8\\xda*\\xe2*\\xe0S\\xe3\\xe1\\xf3\\x9a\\x17\\x0c8\\xa8]X6Fs\\\\\\xe6\\xe5\\x87\\xf9\\x1b~x<\\x1ar\\x9f\\x9b\\x8e\\x95\\x00\\x970\\x1d\\xc3\\x9aP\\xe7a\\xc7Z\\x04U\\xbb}\\xd3\\xf1\\xce;\\xd3\\xc0\\xfd\\xd6q\\xd7\\x81M\\x89\\x0c\\x9b\\xd9\\xba\\xd3\\xad\\x9by*z\\x83N\\xd7\\x1bv\\xd0\\x82\\\\\\x8e\\x07jh,\\x06\\t\\xc0\\xf7\\xad\\x0b\\x9bf\\xb7\\x87!r\\xe7\\x92Oj\\xa0\\xd1q\\x96\\xc9\\xa5k\\x05\\xee\\x85\\x0f\\x81\\x9d\\xe2\\xa0\\x96\\xed\\x87\\x00\\xd4\\xc6\\x16#\\xa5G\\xf6]\\xa8\\xcc\\xc7\\xe9\\x9a\\xb4C(34\\xd2\\x1d\\xc7\\xe5\\xaa\\x802JT\\x0e3W\\x9e2\\xb99\\xfc(\\xb2\\x89g\\x98\\x829\\xcf5\\xbc\\x19\\x8c\\x88\\xd6\\t%!\\x98dU\\x85\\xb3\\xf3\\x1bj\\x92\\x08\\xe4V\\xf4\\x16\\x03\\xcb\\x03\\x1d:Q.\\x9b$c\\xcc\\x8d\\x7f\\nm\\x92\\x8a\\x89\\x02\\x98\\xc9\\x1c0\\x15\\x99&\\x9a\\xd3\\t\\xa6r8\\xad\\xbb\\xa0\\xb6\\xd6 \\xa8\\xfd\\xec\\x84\\x01\\x9fzf\\xa8\\xa6\\xdfM\\x08\\xbc9\\x1c\\xd3\\xb5\\x85s\\x98\\xb0f\\x86\\xcaC!\\xca\\x92p)\\xda{\\xf9j\\xd2?\\x01\\xb9\\xa7M\\x11\\x08\\x10/\\x1by\\xaaW2<\\xa6+x~P\\xc7n\\x07jM\\\\\\xa4\\xec_\\x8bX\\x03~\\xde\\x00\\xe8k6T3I\\xe7\\xbfs\\xf9\\xd4\\xd7\\xf6Ke\\x1a/s\\xc0\\xa7\\x85\\x0c\\x13\\x83\\xb4\\x0e\\x07\\xad$\\xac\\xc1\\xca\\xe8\\xaf\\x1b\\xb9pTaA\\xadX\\'P\\xbf;(\\'\\xb0\\xe6\\xb2g%e9\\xfb\\xbf\\xdd\\x1d\\xaa8\\xa4<\\xe7\\xf2\\xaa\\x11\\xd7Z\\xcdjFs\\x92;\\xe2\\x96\\xe29\\xae\\x97d\\x13,@\\xf5&\\xb9\\xd8\\xa4q\\x8e\\xdf\\xce\\xb5\\xed\\xaf\\x04J71\\xcd4\\xec&\\x86\\xb6\\x81!\\x8f\\rq\\x81\\xeaW\\xad1t\\xd8m~\\xe6d\\x7fR8\\xfc\\xabAu@x_\\xcd\\x8d=\\xee|\\xc5\\xc3L\\x83\\xdb\"\\xad2u(A\\x0b;\\x97\\x90\\xe5\\x17\\xaf\\x18\\xab\\xf1;d\\xb6\\xde\\x83\\xa9\\xe8)\\x8aQ\\x88U\\n@\\xfch\\xbe\\xb8X`\\x03\\xb9\\xf5\\x1d(l\\x08t\\xf9\\xc4\\xb7\\xd3\\x13\\x823\\x8d\\xc7\\xa5t\\x11\\xf285\\xc4\\xe9W\\xe0_>\\x10\\xbe\\xe3\\xd7\\xa5u\\xb1H\\x8c8,\\x87\\xf4\\xaa\\x8e\\xc4\\xb2\\xfa\\x1f\\x97\\x9auW\\x8e@\\x9c\\x16\\x18=\\xe9\\xe6e#\\xaf\\xe5TH\\xd9\\x8e\\xd3\\xcf\\xe1N\\x86`\\xc7i\\xea*\\xad\\xc5\\xda\\x05\\xdb\\'\\x03\\xb15\\x83>\\xbf\\x14\\x17@\\x16\\xe4\\x1c\\x1cP\\x07_EQ\\xb0\\xd4#\\xbc\\x85Y\\x18\\x10j\\xe89\\x14\\x00RR\\xe6\\x92\\x80\\nJ\\t\\xa4\\xcf
\\xbe\\xb5n\\x10\\x8cB\\xaeB\\x8e\\xa4\\xd56a\\x14D\\xb9\\xf9\\x88\\xebL\\x92\\xe4\\xc1\\xa7;\\xf7#\\x0b\\xebCcH\\x9a9a\\xfbd\\x88\\xbc\\x80y5\\xa3\\x1c\\xad\\x0e\\n\\xf2\\xbe\\x95\\xc8\\xe9r;\\xdc\\x169\\xces\\x9a\\xe9c\\x90\\xb0\\xc5\\x1d\\x05\\xd4\\xd3[\\xa4\\x95q\\x8c\\x1a\\xaf3`\\xf1H\\x91\\x907t\\xfaR\\x9e}Mr\\xcd\\x1d0$\\x80\\x93\\xefVDy\\x90g\\xa1\\xa8\\xad\\x88\\x0e2\\xb9\\x15\\xaab\\xf9\\x15\\x94TF%JV3\\xda\\xdf\\x9e\\x07^\\xb4\\xd7\\x84\\xaa\\x06\\x1d*\\xf1\\x8f\\xe7\\xc1\\xe8i\\xb3.\\xd4+\\x8an\"R(F\\x81\\x01n\\xa1\\xa9,\\xe0\\xf2\\xae\\xb77L\\xe6\\xae\\xc3\\x00t\\xe3\\x9fjl\\xd2E\\xa7@n\\xaeG\\x0b\\xd1{\\x93V\\xa1\\xa1.z\\x93\\xdd[\\xb4\\xc3$\\x1d\\xbd\\x80\\xefT\\x9e\\x15\\x88\\xfc\\xc3\\xfck\\x1a\\x7f\\x16_]\\xbb\\x9bX\\x95b^\\x0e?\\xc7\\xbdMk\\xa8\\xeawW1\\xdb\\x98T4\\x9d\\x1c\\x8c\\xe2\\xa9\\xd2oRy\\xd2\\xd2\\xe5\\xa6a\\xe6d\\xfc\\xa0z\\xd5[\\x89\\xd4\\xf0\\x0f\\x15\\xa5s\\xa3\\xcb\\x10/4\\xc0\\x9f\\xa6+\\x9e\\xbd\\x8c\\xabmS\\x9a\\xca\\xcd;\\x1b+5q$pO\\x07lz\\xf4\\x15\\xb4\\xaa$\\xb40\\x8d6\\xde\\xa5M_P\\xf32\\x10\\xf0;\\x91\\xc5s\\x8f\\x14\\xad\\xb9\\x98\\x83\\xf4\\xe9Z\\x17s\\x06\\x93\\x0b\\xc8\\xcfA\\xde\\xab\\xa4\\xc8\\xb2\\x12\\xa4 \\xe8T\\xf4\"\\xb97gb\\xd1Y\\x19f8\\xf7\\x80W$\\x9e\\xb5\\xd3i#\\xcb\\x8f#>\\x99\\xac;\\x94S)\\x11\\x8c\\x11\\xce\\xdfQ\\xed[\\x9a\\\\\\x80\\xd9m\\xc9\\xcf\\xbd_B:\\x9d\\x95\\x9b}\\xa2\\xcd\\xa3n\\xa5q\\\\6\\xad`\\xda}\\xe3+B^\\x0c\\xe4q\\x9f\\xc2\\xba\\xed2m\\x8a=kJ\\xec\\xda\\xb5\\xb3I:\\xa9\\n3\\xcdkN^\\xee\\xa6\\x13\\x8f\\xbcq\\xfa\\x0c\\x8f\\x1d\\xb5\\xed\\xe3\\xa1N<\\xb4\\xdc0sW\\xac-\\xcc6\\xed!\\xfb\\xcd\\xcdT\\x86\\xe1\\xaf\\x9bdq\\x94\\x8d\\x9f*\\x87\\xd3\\xd6\\xb5gR-\\xca\\xf4\\xe2\\x94\\x9f0\\xd4yNn\\xca\\xd4\\xdfj\\xf2\\xcc\\xe3*\\xad\\x81R\\xf8\\x9f\\xc40\\xe8\\xd6\\xbe\\\\Xk\\x86\\x18Q\\xe9R\\xc1y\\x06\\x97\\xa7\\\\L\\xec\\x03\\x0c\\xfeu\\xe6\\xf7\\x92\\xcd\\xa9\\xeaR\\\\O\\xb8\\xe4\\xe5~\\x95Q]\\x04\\xf7\\xb9\\xafge\\xaajH\\xd7\\xb7\\x9a\\x84\\x90\\xa0\\xe7$\\x9c\\x0fO\\xa5h\\xc1\\xabOb\\xcb\\x0e\\xa6\\xc2x\\x7f\\x86lr>\\xb4\\xd2M\\xf6\\x9a\\x90G1\\x8d\\t\\x05\\x80\\xefE\\xc5\\x9b\\xdf\\x94\\xb4\\xb5\\x8c\\xc9#``v\\x1e\\xb5\\xa3Kdd\\xa4\\xde\\xe4\\xb7\\xad\\r\\xd2\\x92\\xb81\\x9e\\x98\\xac\\xbf\\xec\\xf4c\\xd3i\\xad\\xedW\\xc3\\x06\\xc6\\xca\\x18\\xe0fY\\x00\\xcbc\\x9a\\xe6\\xb7Kg)Y7g\\xb95\\x9b5\\x89g\\xec\\x8658\\xcdR\\xb8\\x85\\x8ex\\xad\\x18n\\x95\\xc7 \\x1f\\xa9\\xa2r\\x84d\\xe2\\xa2\\xe5\\xd8\\xcb\\xb6\\xb5,\\xdf\\xd6\\xb4\\xa3Q\\x03\\x00\\x87\\x9f^\\xd5]n\\x02\\xb6\\x01\\x02\\x9cd.\\x0e\\xdc}sT\\x99\\r\\x16omR\\xe6\\x0f\\x95\\xf0\\xc4s\\x81\\\\\\xf9\\xb50\\xb9Y2@\\xadt\\xbd\\x10\\xfc\\xaf\\xb8\\xd4Wn\\xb3\\xa6Sj\\x8fz\\xa2L\\xa7dF\\x04\\x02+\\xa2\\xd0\\xee\\xd2L*1\\x07\\xdcW/;\\x1d\\xd8\\x0c\\x0f\\xd2\\xaeia\\x96P\\xd98\\xa1\\x0c\\xf4H\\xcb\\xb2m\\xca\\xb5f\\xdf\\xa4\\x9bN\\xd5\\x94\\x1f\\xf6y\\xa4\\xb4\\xb8r\\x06\\x1f\\xf3\\xabMq&\\xdc\\x10\\x0f\\xd0\\xd6\\x97$\\xe3.\\xef\\xee\\xe2b\\xa2g vu\\xac\\tX\\xbc\\xac\\xc7\\xa99\\xae\\xc7X\\x88\\\\e\\xc0\\x01\\xc0\\xe4\\x1a\\xe4eR$`F\\rK\\x19\\x0eiA\\xc1\\xc8\\xa4\\xefI\\x9a@v\\x9e\\x19\\xd6\\xc4\\x98\\x82v\\xf9\\xc7\\xdd\\'\\xbdu>z\\xb2py\\xaf$\\x8aV\\x89\\xc3)\\xc1\\x07\\x8cWEc\\xe2I\\x10$sr\\x07\\xf1U&+\\x1d\\xccw\\x00\\x81\\x9e\\xa2\\x96[\\x80\\x10\\xf3\\\\\\xd0\\xd6b\\x08J\\xbeA\\xe7\\xadA&\\xb8\\x1a\\xd5\\xcb\\xad\\xef\\x90\\xaa\\x83\\xd2\\xb5m\\xf5\\x04\\x8a\\xd41#\\'\\x9a\\xa33q\\x9f\\xe5\\x02\\xa3\\x12\\r\\xc4\\x9e\\x8a*\\x8d\\xb5\\xd1\\x9a3#p\\x08\\xe2\\x91\\xa5&&\\xc7\\xf1\\x1aab\\xc4G\\xcc!\\xcfv\\xa5\\xd4_\\x11\\xe2\\xa1\\x81\\xf6D3Q^M\\xe6\\x10\\x9dM\\x1d\\x03\\xa9\\x99$\\xc6\\xe9\\xda6\\xfc\\rT\\x02K{\\xc5.\\xdf#\\x0c\\x1a\\xb8\\xd0\\x95\\xb8\\x8d\\x87L\\xf3I\\xa9(03\\x0e\\xdc\\xd4\\x8c\\x8eDY\\x0eW\\xbdT\\x96\\xd19\\xcfz\\x8c\\xde\\x0bd\\x0e\\xcd\\xf2\\x1e\\xfe\\x95\\x9f6\\xb4\\xaf\\xc7n\\xcc(\\xb2\\x1e\\xa4\\x1a\\x85\\xbc|\\xae\\xec1\\xe4W/w\\xe6G!\\xdcs\\xefZ\\x1a\\x9c\\xb2\\xcaw#q\\xd4\\x1c\\xd6{;L\\x03\\x1e\\xb8\\xc3}h\\x02%\\x9d\\xca\\xf0\\xe4z\\x83R.\\r0BCd\\xd4\\xf1\\xc2\\t\\xe4\\xe2\\x91B\\xa8e\\xe4\\x0c\\x8a\\xbfiv\\xa9\\xc3G\\xc5Ii\\n#\\r\\xc00\\xab\\xd2\\xa5\\xb1A\\xb2?\\x9a\\xa9!61\\xe5I\\xa3\\xc2G\\xb7\\xdcV}\\xc8\\xda\\xb8\\xc05m\\x9eHFD|U\\t\\xee\\x0c\\xa0\\x82\\xbbO\\xbdY&|\\x8e\\xc0\\x90A\\x02\\xaa\\xc9\\xea\\rZ\\x9b\\x7f8\\xe6\\xa9\\xb99\\xe4b\\xa1\\x8cn\\xe3Mf&\\x828\\xe2\\x90\\xe6\\xa4cX\\xd3\\r?\\x19\\xa6\\x91\\xc5\\x00 \\xe6\\x8a;RP\\x03\\x94\\xe0\\xd4\\xc8\\xe3\\xbd@3\\x9a\\x91A4\\x01izq\\xcdK\\x1e\\xdc\\xe7\\x15Y\\x01\\xfaT\\xc8\\x18}\\xee\\x9e\\xb4\\xc0\\xb4&@0E\\x15\\x19\\x88\\xb7 f\\x8a\\x00\\xbd{p\\xa8H\\xefY\\xe2pMAt\\xd24\\x84\\x9c\\xd4qpy\\x15 ^W\\xc9\\xdcjx\\xce\\xe3\\xb8\\xf0*\\xb2n~\\x8bOwq\\xc5;\\x85\\x8d\\x08\\xef6\\xc8\\xaa\\xbc(\\xae\\x9bN\\xd4\\x97j\\x8c\\xf3\\x8c\\x9a\\xe1\\xd0\\x90\\xd9?\\x8dZ\\x8a\\xed\\xd0\\x8d\\xa7\\xa9\\xc9\\xa6#\\xd2\\xac\\xee\\x86\\xc2\\xd9\\xebV\\xe1\\x97?1\\xef]\\x95\\x1d\\xca\\xac7\\xa9$\\xd2)V\\xe1F9\\x06\\x9d9T\\xba\\x8c\"\\xabJ\\xcb\\xf3\\x01P\\xdf\\xee\\x17\\xf0\\xb6\\xcd\\xcc\\xc3\\x90\\xc3\\x81T\\xf6%nI\\xaa&\\xeb\\x9bfw\\x06/\\xefw&\\x9d\\xac;\\xa5\\xbd\\xb28\\xe1\\xcf\\xcc\\xde\\x82\\x99\\xaaa\\x1e\\xd4\\xf2P\\x0e#\\x1c\\x1c\\xfdj\\x1dj)d\\x16\\xc4\\x83\\xe5\\x8c\\x03!?w\\xf0\\xa9}J]\\x0b\\xf3\\xca\\xf6\\xf6A\\x14\\xfc\\xbfuO\\xbdWXL\\xbaA\\x12\\x15\\xdc\\x0eK\\xe7\\x8a|\\xec\\xf0i\\x1f\\xb9W\\x9bq\\x18c\\xc7\\xe2i\\x14\\x94\\xd2\\xa6I\\xf64j26\\x8c\\xd0\"}&S5\\xb9\\x12r\\x87!M\\x16\\xf2\\xe2V\\x8e$\\x1b\\x01\\xc9 T:(\\xf2\\xac\\x1d\\x9bn\\x18\\x12\\x07p*-;\\xcd\\x96\\xe2Ib\\x88\\x88\\x00\\xc7\\'\\xde\\x98w\\'\\x9c\\x04\\xbcwv\\xdf\\x9c`\\x0e\\xd55\\xecqFb\\x9b\\x04\\x82>\\xe6j\\x95\\xd4\\xc6=L\\x98P\\xb6\\xee\\x08\\xa5\\xd5\\xa61\\xc1\\x1c\\xec\\xd8#\\x80\\x98\\xa1\\x07b\\xed\\xca\\xf9\\x9ak\\x1b|!o\\xe1\\x1e\\x95\\x16\\x8f\\x14;?v\\x85\\x19s\\x97c\\xd4\\xd4R\\xcb)\\xd3[\\xc8\\x009\\x19bEC\\xa29k|H>\\xeey\\x1d\\xcd\\x1dC\\xa1n\\xd4\\x04\\xbd\\x97\\xcdffs\\xc6:b\\xac\\xdf\\xc6\\xfenK\\r\\x9b:\\x8a\\xca\\xb7\\xb9e\\xd4\\xe7I\\x0e\\xed\\xcb\\xc1\\xcf\\xdd\\xfaU\\x9dU\\x99 \\x85\\x01b\\xa7\\xef14\\xd3V\\x13N\\xe4\\xd7\\xa1\\xadt\\x80\\xaaK\\x03\\xde\\x8d\",\\xc0\\xa5\\x1fw\\x19 \\xd2\\x02\\xab\\xa6aO\\x99\\x8eB\\xfaTz=\\xe7\\x98\\x840\\xda\\xe3nc9\\xe3\\x9e\\xb5kX\\xb8\"\\xe65Q\\xf2\\x7fxR\\xd2\\xc5kr\\xcd\\xdcel\\x9b\\xc8|\\x87<\\xd2i\\xf0 H\\xc2\\xcb\\xb9\\x97\\x9alW\\x00XJ\\xff\\x00\\x96j\\xb6\\x8eK\\xdc\\xfd\\xe2O$\\xaf\\xa5\\x085\\xb0\\xd6UmQ\\xe4\\xb9r\\x0fEQ\\xde\\xaej\\x10\\xbbYG\\x108C\\xd4\\xfbV]\\xcc\\xc7\\xfb\\\\\\xef\\xca\\xe0\\xfc\\xbe\\xf5\\xa9~\\xb2\\x9b\\x05\\xc9\\xc8#\\xaf\\xa5RBoal\\xa2\\x024X\\x1f\\xccD\\x1c\\xd5\\x0cI%\\xeb\\xc9!\\xdb\\xb4\\xe1V\\xac\\xe8\\xec\\x8a\\x84D\\xe4\\xed\\x1c\\xd6|\\xf3\\xb4\\xda\\x83\\xae\\xed\\x8a\\xa6\\x90\\x17uCp\\x96q*\\x8f\\x9d\\xba\\xb7\\xa5Z\\xd2\\x8b\\xfd\\x9b;\\xc4\\x8c\\x17\\x9c\\xd5-R\\xe1\\xd3JBrI\\xef\\xedRh\\xae\\x1a$\\x117\\x1by\\xcd\\x0bp{\\x14\\xa2v7\\xf2<\\xcc\\x13\\'\\x01*\\xc6\\xb6&H\\xe1\\x05\\xf0\\x83\\x92Eg\\xdeJ\\xa3U%\\x89\\x00\\x1a\\xbf\\xae\\xcc\\xcba\\x0e\\xd1\\xbc\\x11\\xc9\\xa4>\\xc5\\xc8\\x9c\\xcb\\xa7\\xc8\\xf0\\xb7\\x0c\\xbd\\x0f\\xadd\\xe9\\xd2\\x15\\x9e$\\xdcD\\xa1\\xf9\\x1e\\xb5kDs-\\xac\\xa4\\xbe\\x02\\xaf\\x0bY\\xb1\\xc3\"j\\x03y\\xe5\\xdb\\x83\\xe9G\\x98u\\xb1w^y\\x05\\xfa\\x16\\\\)\\xc0\\xdd\\x9a\\xb8\\xb1\\x11\\xa69\\x85\\xf7\\xb1\\x1f\\x95gx\\x89g\\x1b\\x18\\x82\\xd1\\xafz\\xb5\\xa76\\xdd\\x0eWN7t\\xc9\\xa7{\\x8a\\xda\\x15\\xf4S\\x16\\xe6S!\\x12)\\xac\\x9d~I#\\xbft\\x91\\x89V\\xe9V4e\\xce\\xaa\\xb1J6\\xb19\\xdc:T\\x1a\\xfcm&\\xb0W\\xef\\x01\\xd2\\x84\\xec6\\xaeq7\\x88>\\xd0\\xd8\\xe9U\\x19r+\\x7fY\\xb0\\xf2\\x95n\\x11p\\x0f\\x04{\\xd6\\x16A\\x15\\xd9\\x16\\x9a9d\\xac\\xca\\xfbi\\xe88\"\\x82\\xb8\\xc8\\xa7\\x0c\\x01T!\\xb8\\x02\\x9a\\x01,i\\x19\\xb9\\xe2\\xa4\\x83,\\xe0\\x0e\\xb4\\x9b\\x1aE\\xc8S1\\xa9\\x1c\\x1a\\xb7\\x1af\\t\\x14\\xae@\\x1di\\x89\\xf2\\xc4\\x03\\x8c\\x12j\\xcd\\xaeBH1\\x94\\xf5\\xac\\x1b6H\\xcb\\xf2\\xf9\\xe3\\x93\\xe9M\\x04\\xa9\\xe7\\xd6\\xaeB\\xbb\\xa7\\xc0\\xeb\\xe8j)c\\xddpQF9\\xaaR%\\xc4\\x8ah\\xfc\\xc1\\x9cU?\\'\\xe65~\\xe4