diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..0734e2b2 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +ven/* diff --git a/01_api_calls/.ipynb_checkpoints/assignment_notebook-checkpoint.ipynb b/01_api_calls/.ipynb_checkpoints/assignment_notebook-checkpoint.ipynb new file mode 100644 index 00000000..3aaa8524 --- /dev/null +++ b/01_api_calls/.ipynb_checkpoints/assignment_notebook-checkpoint.ipynb @@ -0,0 +1,653 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "Yi7xzykjgGP9" + }, + "source": [ + "## Lab 1: Getting data from API's\n", + "\n", + "A great source of data and Pandas practice is getting data from the Internet. It is not going to come in a .csv file, though: It will be a stream of records, typically in XML (eXtensible Mark-up Language) or JSON (JavaScript Object Notation) format.\n", + "\n", + "We'll look at a very simple API and some useful code chunks for getting and analyzing data, and then you'll take a look at the APIs available from the Federal government as the main work for your lab.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Ko09F0g3gGP-" + }, + "source": [ + "## API Queries\n", + "\n", + "The core programming skill of the activity is to learn to query an online Application Programmer Interface (API). It is a similar experience to browsing the Internet, and initial results can be displayed the web browser. When visiting a web page, the address bar typically contains something like\n", + "$$\n", + "\\texttt{https://} \\underbrace{\\texttt{www.}}_{\\text{World Wide Web subdomain}} \\texttt{domain}. \\underbrace{\\texttt{tld}}_{\\text{Top level domain}},\n", + "$$\n", + "where the https:// specifies the protocol, www. specifies the world-wide-web subdomain, the domain is the entity, and the top-level domain .tld is typically something like .com or .gov, but is increasingly varied as ICANN releases more TLD's into circulation.\n", + "\n", + "With an online API, the user instead enters a url that goes directly to an API subdomain\n", + "$$\n", + "\\texttt{https://} \\underbrace{\\texttt{api.}}_{\\text{Application programmer interface}} \\texttt{domain.tld}/ \\texttt{(the query)}\n", + "$$\n", + "or accesses REST services as\n", + "$$\n", + "\\texttt{https://www.domain.tld} \\underbrace{\\texttt{/REST}}_{\\text{Accesses REST services}}/ \\texttt{(the query)}\n", + "$$\n", + "This accesses data on the domain's servers and returns the result directly to the user.\n", + "\n", + "The query itself is typically a string beginning with a question mark ?, followed by a series of expressions joined by ampersands &. For example,\n", + "\n", + "`?ProductType=Phone\\&Manufacturer=Apple`\n", + "\n", + "passes a query requesting all records for which the product type is recorded as phone and the manufacturer is recorded as Apple. Some API's include date ranges and other, more complex requests.\n", + "\n", + "To get started, a simple warm-up is to use the API from saferproducts.gov, which has a simple and intuitive structure for queries, and the results are simple enough to look at in the browser. Typing this in the address bar in a browser should yield about thirty records:\n", + "\n", + " https://www.saferproducts.gov/RestWebServices/Recall?format=json&ProductType=Phone \n", + "\n", + "with the first being, on this occasion:\n", + "\n", + " \"RecallID\": 7856,\n", + " \"RecallNumber\": \"16266\",\n", + " \"RecallDate\": \"2016-09-15T00:00:00\",\n", + " \"Description\": \"This recall involves the Samsung Galaxy Note7 smartphone sold before\n", + " September 15, 2016. The recalled devices have a 5.7 inch screen and were sold in the\n", + " following colors: black onyx, blue coral, gold platinum and silver titanium with a\n", + " matching stylus. Samsung is printed on the top front of the phone and Galaxy Note7\n", + " is printed on the back of the phone. To determine if your phone has been recalled,\n", + " locate the IMEI number on the back of the phone or the packaging, and enter the IMEI\n", + " number into the online registration site www.samsung.com or call Samsung toll-free\n", + " at 844-365-6197.\",\n", + " \"URL\": \"https://www.cpsc.gov/Recalls/2016/Samsung-Recalls-Galaxy-Note7-Smartphones\",\n", + " \"Title\": \"Samsung Recalls Galaxy Note7 Smartphones Due to Serious Fire and Burn Hazards\",\n", + " \"ConsumerContact\": \"Contact your wireless carrier or place of purchase, call Samsung\n", + " toll-free at 844-365-6197 anytime, or go online at www.samsung.com.\",\n", + " \"LastPublishDate\": \"2016-10-27T00:00:00\"\n", + "\n", + "The query itself in this case is:\n", + "\n", + " ?format=json&ProductType=Phone \n", + "\n", + "The quert requests all of the recalls in JavaScript Object Notation (json) format, where the `ProductType` variable is equal to `Phone`. In addition to `ProductType`, other options include:\n", + "\n", + " RecallID,\n", + " RecallNumber,\n", + " RecallDateStart,\n", + " RecallDateEnd,\n", + " RecallURL,\n", + " LastPublishDateStart,\n", + " LastPublishDateEnd,\n", + " RecallTitle,\n", + " ConsumerContact,\n", + " RecallDescription,\n", + " ProductName,\n", + " ProductDescription,\n", + " ProductModel,\n", + " ProductType,\n", + " InconjunctionURL,\n", + " ImageURL,\n", + " Injury,\n", + " Manufacturer,\n", + " Retailer,\n", + " Importer,\n", + " Distributor,\n", + " ManufacturerCountry,\n", + " UPC,\n", + " Hazard,\n", + " Remedy,\n", + " RemedyOption\n", + "\n", + "**1. Practice writing queries using the saferproducts.gov API and your web browser.**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Query 1\n", + "https://www.saferproducts.gov/RestWebServices/Recall?format=json&ProductType=Laptop\n", + "# Query 2\n", + "https://www.saferproducts.gov/RestWebServices/Recall?format=json&ProductType=Computer\n", + "# Query 3\n", + "https://www.saferproducts.gov/RestWebServices/Recall?format=json&ProductType=Mouse" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "8Zwfi6ndgGP-" + }, + "source": [ + "## Accessing API's with Python\n", + "\n", + "Anytime you use a computer to access resources on the Internet, you will likely run into problems. There are many options, but two with low coding overhead: The `requests` and `urrlib.requests` packages.\n", + "\n", + "The following code chunk uses the `requests` package to get the same kind of data that was being displayed in the browser, but in an interactive Python session:\n", + "\n", + " import requests\n", + " url = 'https://www.saferproducts.gov/RestWebServices/' # Location of the API\n", + " query = 'Recall?format=json&ProductType=Exercise' # The query\n", + " header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0)\n", + " Gecko/20100101 Firefox/124.0'} # The user-agent to avoid being blocked\n", + " raw = requests.get(url+query,headers=header) # Query the database\n", + " data = raw.json() # Convert data from json to dictionary\n", + "\n", + "To make the code easier to read, it separates the url and the query into two different strings, then concatenates them in the GET request. This makes it easier to edit the query, as well as suggests a simple way to loop over a number of queries that might be sent to the same API.\n", + "\n", + "Many resources are designed to block access from particular kinds of users. In order to circumvent these obstacles, you can specify a `header` dictionary that presents the query to the server as coming from a hypothetical and common user. In this case, the header presents the query as coming from a Firefox browser from a Windows computer, rather than something like `python-requests/3.12.1`. This problem appears generally in scraping data from the web, and can grind the process to a halt. For whatever reason, I have been blocked and gotten 403 errors with the `requests` package, which motivated me to prepare a second alternative that seems more robust:\n", + "\n", + " import urllib.request\n", + " import json\n", + " url = 'https://www.saferproducts.gov/RestWebServices/' # Location of the API\n", + " query = 'Recall?format=json&ProductType=Exercise' # The query\n", + " response = urllib.request.urlopen(url+query)\n", + " response_bytes = response.read()\n", + " data = json.loads(response_bytes) # Convert response to json\n", + " response.close()\n", + "\n", + "This is a bit more code and some steps are a bit less human-friendly, but seems to work a bit more reliably than `requests`.\n", + "\n", + "**2. Practice with the saferproducts.gov API and the above code in a notebook to see how API's work, in general.**" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'RecallID': 7832, 'RecallNumber': '16247', 'RecallDate': '2016-08-23T00:00:00', 'Description': 'This recall involves \"Step-iT\" activity wristbands, which come in two styles-\"Activity Counter\" and a motion-activated \"Light-up Band.\" The Activity Counter comes in translucent plastic orange, blue or green and features a digital screen that tracks a child\\'s steps or other movement. The Light-up Band comes in translucent plastic red, purple, or orange and blinks light with the child\\'s movement. Both styles of activity wristbands have a square face with the words \"STEP-iT\" printed on them and a button to depress and activate the wristband. The back of the square face contains the etched words \"Made for McDonald\\'s.\"', 'URL': 'https://www.cpsc.gov/Recalls/2016/McDonalds-Recalls-Step-iT-Activity-Wristbands', 'Title': 'McDonald’s Recalls “Step-iT” Activity Wristbands Due to Risk of Skin Irritation or Burns', 'ConsumerContact': 'McDonald\\'s at 800-244-6227 from 7 a.m. to 7 p.m. CT daily, or online at www.mcdonalds.com and click on \"Safety Recall\" for more information.', 'LastPublishDate': '2016-08-23T00:00:00', 'Products': [{'Name': 'Step-iT Activity Wristbands', 'Description': '', 'Model': '', 'Type': 'Exercise', 'CategoryID': '68363', 'NumberOfUnits': 'About 29 million units in the U.S. (in addition, about 3.6 million units in Canada)'}], 'Inconjunctions': [{'URL': 'http://healthycanadians.gc.ca/recall-alert-rappel-avis/hc-sc/2016/59920r-eng.php'}], 'Images': [{'URL': 'https://www.cpsc.gov/s3fs-public/CR003106_b03_CMYK_Simp800.jpg', 'Caption': 'Activity wristband'}, {'URL': 'https://www.cpsc.gov/s3fs-public/CR003106_g06_CMYK_Simp800.jpg', 'Caption': 'Activity wristband'}, {'URL': 'https://www.cpsc.gov/s3fs-public/CR003106_e08_CMYK_Simp800.jpg', 'Caption': 'Activity wristband'}, {'URL': 'https://www.cpsc.gov/s3fs-public/CR003106_f06_CMYK_Simp800.jpg', 'Caption': 'Activity wristband'}, {'URL': 'https://www.cpsc.gov/s3fs-public/CR003106_d05_CMYK_Simp800.jpg', 'Caption': 'Activity wristband'}, {'URL': 'https://www.cpsc.gov/s3fs-public/CR003106_c04_CMYK_Simp800.jpg', 'Caption': 'Activity wristband'}], 'Injuries': [{'Name': \"McDonald's has received more than 70 reports of incidents, including seven reports of blisters, after wearing the wristbands.\"}], 'Manufacturers': [], 'Retailers': [{'Name': \"Distributed exclusively by McDonald's restaurants nationwide from August 9, 2016 to August 17, 2016 with Happy Meals and Mighty Kids Meals.\", 'CompanyID': ''}], 'Importers': [], 'Distributors': [{'Name': \"McDonald's Corp., of Oakbrook, Ill.\", 'CompanyID': ''}], 'SoldAtLabel': None, 'ManufacturerCountries': [{'Country': 'China'}], 'ProductUPCs': [], 'Hazards': [{'Name': 'The recalled wristbands can cause skin irritation or burns to children.', 'HazardType': '', 'HazardTypeID': ''}], 'Remedies': [{'Name': \"Consumers should immediately take the recalled wristbands from children and return them to any McDonald's for a free replacement toy and either a yogurt tube or bag of apple slices.\"}], 'RemedyOptions': [{'Option': 'Replace'}]}\n" + ] + } + ], + "source": [ + "import urllib.request\n", + "import json\n", + "url = 'https://www.saferproducts.gov/RestWebServices/' # Location of the API\n", + "query = 'Recall?format=json&ProductType=Exercise' # The query\n", + "response = urllib.request.urlopen(url+query)\n", + "response_bytes = response.read()\n", + "data = json.loads(response_bytes) # Convert response to json\n", + "\n", + "# Prints the first data point collected from the API\n", + "print(data[0])\n", + "response.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "CWk9ceyRgGP_" + }, + "source": [ + "## Wrangling the Data\n", + "\n", + "Piping the data to Pandas is easy, because the preceding code chunk put the JSON data into a native Python dictionary, and the following converts it to a dataframe:\n", + "\n", + " df = pd.DataFrame.from_dict(data)\n", + "\n", + "If the data is in raw XML or JSON format --- which might especially be true with other API's --- it would instead be \\texttt{pd.read\\_xml(data)} or \\texttt{pd.read\\_json(data)}. Ironing out these details in advance for other applications is a key part of the presentation for students, but having students resolve these issues as a component of group work or an assignment is a great way to help them mature as coding problem solvers by struggling with documentation and a well-defined problem.\n", + "\n", + "Unfortunately, there aren't many non-text fields in the \\texttt{www.saferproducts.gov} data. However, there are a few fields of interest that can be tabulated and discussed, such as RemedyOptions and ManufacturerCountries:\n", + "\n", + " df['RemedyOptions'].value_counts()\n", + "\n", + "with output\n", + "\n", + " RemedyOptions\n", + " [] 139\n", + " [{'Option': 'Repair'}] 49\n", + " [{'Option': 'Replace'}] 12\n", + " [{'Option': 'Refund'}] 7\n", + " [{'Option': 'Replace'}, {'Option': 'Repair'}] 4\n", + " [{'Option': 'Refund'}, {'Option': 'Replace'}, {'Option': 'Repair'}] 1\n", + " [{'Option': 'Replace'}, {'Option': 'Refund'}] 1\n", + " [{'Option': 'Refund'}, {'Option': 'Repair'}] 1\n", + " [{'Option': 'Label'}] 1\n", + " [{'Option': 'New Instructions'}, {'Option': 'Replace'}, {'Option': 'Refund'}] 1\n", + " Name: count, dtype: int64\n", + "\n", + "It's appropriate at this point to do some data cleaning, particularly by flattening dictionary entries. With response data that get converted from json to a dictionary, there are often values in the data frame that need to be flattened or unpacked. For example, some values are recorded as \\texttt{ [$\\{$'Country':'Canada'$\\}$]}, or, worse, a dictionary with multiple entries: \\texttt{[ $\\{$ 'Option': 'Replace'$\\}$, $\\{$'Option': 'Repair'$\\}$] ] }. This can lead to problems when another package refuses to work with a lists of lists or doesn't know how to simplify a dictionary to data, and presents some conceptual questions when cleaning.\n", + "\n", + "A simple script to recursively collapse the dictionary entries into a single string is:\n", + "\n", + " temp = df['RemedyOptions']\n", + " clean_values = []\n", + " for i in range(len(temp)):\n", + " if len(temp[i])>0:\n", + " values = []\n", + " for j in range(len(temp[i])):\n", + " values.append(temp[i][j]['Option'] )\n", + " clean_values.append(values)\n", + " else:\n", + " clean_values.append('')\n", + " df['remedy'] = clean_values\n", + "\n", + "**3. Convert this code chunk into a function you can reuse to flatten dictionaries, or explain clearly the problems you run into while attempting to do so. Make some tables or plots.**\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 [Replace]\n", + "1 [Replace]\n", + "2 [Repair]\n", + "3 [Refund]\n", + "4 [Repair]\n", + " ... \n", + "86 \n", + "87 \n", + "88 \n", + "89 \n", + "90 \n", + "Name: remedy, Length: 91, dtype: object" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "def clean(dataframe):\n", + " temp = dataframe['RemedyOptions']\n", + " clean_values = []\n", + " for i in range(len(temp)):\n", + " if len(temp[i])>0:\n", + " values = []\n", + " for j in range(len(temp[i])):\n", + " values.append(temp[i][j]['Option'] )\n", + " clean_values.append(values)\n", + " else:\n", + " clean_values.append('')\n", + " dataframe['remedy'] = clean_values\n", + "\n", + "df = pd.DataFrame.from_dict(data)\n", + "df['RemedyOptions'].value_counts()\n", + "clean(df)\n", + "df['remedy']" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "glTQ8P7ggGP_" + }, + "source": [ + "## Dashboarding the Results (Optional)\n", + "\n", + "To complete the pipeline from data to product, we can use \\texttt{streamlit} to quickly convert Python code into a web page that can be accessed locally. This can be done with essentially three lines of code: An import statement, a $.title()$ method call to set the page title, and an $.write()$ call to push the results to the page. Although relatively static, completing this step serves a pedogogical and psychological purpose: It pivots the students to thinking about how to communicate results to an audience, and how the project could become an ongoing endeavor rather than a single analytical exercise.\n", + "\n", + "The entire .py file to create the dashboard is\n", + "\n", + " import pandas as pd\n", + " import requests\n", + " import streamlit as st\n", + " # Conduct analysis:\n", + " url = 'https://www.saferproducts.gov/RestWebServices/Recall'\n", + " query = '?format=json&RecallTitle=Gas'\n", + " header = {'User-Agent':\n", + " 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0'}\n", + " raw = requests.get(url+query,headers=header)\n", + " data = raw.json()\n", + " df = pd.DataFrame.from_dict(data)\n", + " temp = df['RemedyOptions']\n", + " clean_values = []\n", + " for i in range(len(temp)):\n", + " if len(temp[i])>0:\n", + " values = []\n", + " for j in range(len(temp[i])):\n", + " values.append(temp[i][j]['Option'] )\n", + " clean_values.append(values)\n", + " else:\n", + " clean_values.append('')\n", + " df['remedy'] = clean_values\n", + " remedy_counts = df['remedy'].value_counts()\n", + " # Create streamlit output:\n", + " st.title('Remedy Statistics')\n", + " st.write(remedy_counts)\n", + "\n", + "To create the web page, run the following at the command line:\n", + "\n", + " streamlit run remedy.py\n", + "\n", + "This should convert the above analysis into a web page available from localhost.\n", + "\n", + "**4. Produce your own table or plot, and output it to streamlit.**" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-09-20 23:40:07.572 WARNING streamlit.runtime.scriptrunner_utils.script_run_context: Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-20 23:40:07.789 \n", + " \u001b[33m\u001b[1mWarning:\u001b[0m to view this Streamlit app on a browser, run it with the following\n", + " command:\n", + "\n", + " streamlit run C:\\Users\\fletc\\dev\\uva\\ds3001\\labs\\ven\\Lib\\site-packages\\ipykernel_launcher.py [ARGUMENTS]\n", + "2024-09-20 23:40:07.789 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-20 23:40:07.809 Serialization of dataframe to Arrow table was unsuccessful due to: (\"Expected bytes, got a 'list' object\", 'Conversion failed for column remedy with type object'). Applying automatic fixes for column types to make the dataframe Arrow-compatible.\n", + "2024-09-20 23:40:07.826 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-20 23:40:07.827 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "Usage: streamlit run [OPTIONS] TARGET [ARGS]...\n", + "Try 'streamlit run --help' for help.\n", + "\n", + "Error: Invalid value: File does not exist: remedy.py\n" + ] + } + ], + "source": [ + "\"\"\"\n", + "This code can be run successfully via \"streamlit run remedy.py\" located in the same folder\n", + "\"\"\"\n", + "\n", + "import pandas as pd\n", + "import requests\n", + "import streamlit as st\n", + "import urllib.request\n", + "import json\n", + "\n", + "url = 'https://www.saferproducts.gov/RestWebServices/' # Location of the API\n", + "query = 'Recall?format=json&ProductType=Exercise' # The query\n", + "response = urllib.request.urlopen(url+query)\n", + "response_bytes = response.read()\n", + "data = json.loads(response_bytes) # Convert response to json\n", + "\n", + "# Conduct analysis:\n", + "df = pd.DataFrame.from_dict(data)\n", + "temp = df['RemedyOptions']\n", + "clean_values = []\n", + "for i in range(len(temp)):\n", + " if len(temp[i])>0:\n", + " values = []\n", + " for j in range(len(temp[i])):\n", + " values.append(temp[i][j]['Option'] )\n", + " clean_values.append(values)\n", + " else:\n", + " clean_values.append('')\n", + "df['remedy'] = clean_values\n", + "remedy_counts = df['remedy'].value_counts()\n", + "# Create streamlit output:\n", + "st.title('Remedy Statistics')\n", + "# Create bar chart displaying data\n", + "st.bar_chart(remedy_counts)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!streamlit run remedy.py" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "1ogbrOZYgGP_" + }, + "source": [ + "## Other API Sources\n", + "\n", + "Valuable and interesting Federal API resources are listed at:\n", + "\n", + " https://catalog.data.gov/dataset/?_res_format_limit=0&res_format=API\n", + "\n", + "and in the future will likely easily be found at \\texttt{data.gov}. Some highlights include:\n", + "\n", + "- CDC WONDER API for Data Query Web Service: Includes death certificates with causes since approximately the 1990's.\n", + "- Comprehensive Housing Affordability Strategy (CHAS): Housing and Urban Development (HUD) maintains an API that provides Census data on housing problems and needs unavailable through other sources, including IPUMS.\n", + "- Federal Election Commission API: Provides historical and up to the minute campaign finance data.\n", + "- Toxic Release Inventory: Provided by the Environmental Protection Agency, this API documents the release and management of over 800 toxic substances, reported annually by privately owned facilities and the government.\n", + "- Petroleum Data, Prices: Provides prices of petroleum products and crude oil at weekly, monthly, and yearly time scales.\n", + "- Fair Market Rents Lookup tool: Fair Market Rents (FMRs) determine the value of housing vouchers for Section 8 renters. This API provides the FMR values and other measures of housing affordability.\n", + "- Annual Economic Surveys, Business Patterns: Surveys of businesses at the zip code level, tracking economic sentiment and activity.\n", + "- Food Access Research Atlas: Provides spatial data on food access and the availability of supermarkets within census tracts. Can be merged with census data to look at under-served populations and food deserts.\n", + "- National Oceanographic and Atmospheric Administration: Provides API access to data on real time weather and climate change projections.\n", + "\n", + "Each of these API resources could either be the cornerstone of a project or a source of additional data. These data sources have a number of advantages: They're free, most of them can be accessed using the same API key, and most have similar documentation for how to write a query. This is ideal for students to iterate, experiment, and take risks, with little cost to failure.\n", + "\n", + "In addition to government data, many commerical apps provide API access to developers and researchers. AirBnB, Amazon, Reddit, eBay, X, and many others maintain API access to develop third-party apps. These opportunities present many advantages: The data are larger, have more variety, and there are vastly many more cases. Building a third-party app that includes analytics could easily consume an entire semester and open a variety of applications in predictive analytics, natural language processing, and generative AI (e.g. predict which reviews are fake or real for Amazon for a product group like ``women's watches', and then make recommendations for different price points). While an exciting possibility, this can also raise a lot of problems: Some API's cost money or are rate-limited depending on a subscription, and others impose significant constraints on how the data can be used. In some cases, a more useful approach might be explicit web scraping using a package like BeautifulSoup or Selenium. For example, Craigslist has no API, but can easily and productively be scraped using BeautifulSoup.\n", + "\n", + "**5. Pick an API, download some data, wrangle them, and produce some EDA results, as we did in the previous steps with the saferproducts.gov API; or, if you can't get it to work, document why. If you have the time and it's low cost, push the results to a streamlit page. If you have had enough, I recommend https://www.eia.gov/opendata/browser/electricity, since there is a friendly query builder that you can use to learn.**" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-09-21 01:12:16.963 WARNING streamlit.runtime.scriptrunner_utils.script_run_context: Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:16.964 WARNING streamlit.runtime.scriptrunner_utils.script_run_context: Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.218 \n", + " \u001b[33m\u001b[1mWarning:\u001b[0m to view this Streamlit app on a browser, run it with the following\n", + " command:\n", + "\n", + " streamlit run C:\\Users\\fletc\\dev\\uva\\ds3001\\labs\\ven\\Lib\\site-packages\\ipykernel_launcher.py [ARGUMENTS]\n", + "2024-09-21 01:12:17.219 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.220 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.221 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.221 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.222 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.223 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.224 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.224 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.225 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.225 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.226 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.227 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.227 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.228 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.229 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.230 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.230 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.231 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.232 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.232 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.233 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.233 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.234 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.235 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.236 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.236 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.237 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.237 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.238 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.239 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.239 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.240 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.240 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.241 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.242 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.242 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.243 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.244 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.245 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.246 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.247 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.247 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.247 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.249 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.250 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.250 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.251 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.252 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.252 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.253 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.254 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.255 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.255 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.256 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.256 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.257 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.258 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.258 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.259 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.260 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.261 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.261 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.263 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.263 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.264 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.265 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.265 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.266 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.267 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.268 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.269 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.270 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.271 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.272 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.272 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.273 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.274 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.275 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.275 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.276 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.277 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.278 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.278 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.279 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.280 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.281 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.282 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.283 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.283 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.284 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.285 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.286 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.286 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.287 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.288 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.288 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.290 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.291 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.292 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.292 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.293 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.294 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.294 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.295 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.298 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.300 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.301 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.302 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.302 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.303 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.304 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.304 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.306 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.306 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.307 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.307 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.308 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.309 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.310 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.311 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.312 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n" + ] + } + ], + "source": [ + "\"\"\"\n", + "This code can be run successfully via \"streamlit run api_eda.py\" located in the same folder\n", + "\"\"\"\n", + "\n", + "import pandas as pd\n", + "import requests\n", + "import streamlit as st\n", + "import urllib.request\n", + "import json\n", + "\n", + "url = 'https://wizard-world-api.herokuapp.com/' # Location of the API\n", + "query = 'Houses' # The query\n", + "response = urllib.request.urlopen(url+query)\n", + "response_bytes = response.read()\n", + "\n", + "data = json.loads(response_bytes) # Convert response to json\n", + "df = pd.DataFrame.from_dict(data)\n", + "\n", + "houses = {}\n", + "\n", + "for field in data:\n", + " traits = []\n", + " for trait in field['traits']:\n", + " traits.append(trait['name'])\n", + " houses[field['name']] = traits\n", + "\n", + "\"\"\"\n", + "for house in houses:\n", + " print(houses[house])\n", + "\"\"\"\n", + "\n", + "st.set_page_config(page_title=\"Hogwarts Houses and Traits\")\n", + "st.markdown(\"

Hogwarts Houses and Their Traits

\", unsafe_allow_html=True)\n", + "\n", + "for house in houses:\n", + " st.subheader(f\"{house} Traits\")\n", + " for trait in houses[house]:\n", + " st.write(f\"- {trait}\")\n", + " st.write(\"---\")\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!streamlit run api_eda.py" + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.1" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/01_api_calls/.ipynb_checkpoints/example_dashboard_saferproducts-checkpoint.py b/01_api_calls/.ipynb_checkpoints/example_dashboard_saferproducts-checkpoint.py new file mode 100644 index 00000000..0a1b48fb --- /dev/null +++ b/01_api_calls/.ipynb_checkpoints/example_dashboard_saferproducts-checkpoint.py @@ -0,0 +1,67 @@ +import pandas as pd +import streamlit as st +import urllib.request +import json + + +""" +## Dashboard Template + +This simple dashboard provides tables from the saferproducts.gov API. + +- `remedy` is how consumers were compensated for the recall +- `mnf_country` is the place where the product originated + +We focus on products in which the word "gas" appeared in the Recall Title. +""" + +url = 'https://www.saferproducts.gov/RestWebServices/Recall' +#query = '?format=json&ProductType=Phone' #29 +#query = '?format=json&ProductType=Grill' #70 +#query = '?format=json&ProductType=Exercise' # 91 +query = '?format=json&RecallTitle=Gas' # 216 + +response = urllib.request.urlopen(url+query) +response_bytes = response.read() +data = json.loads(response_bytes) +response.close() + +df = pd.DataFrame.from_dict(data) +print(df.shape) + +df.head() + +temp = df['ManufacturerCountries'] +clean_values = [] +for i in range(len(temp)): + if len(temp[i])==1 : + clean_values.append( str(temp[i][0]['Country']) ) + elif len(temp[i])>1: + countries = [] + for j in range(len(temp[i])): + countries.append( temp[i][j]['Country'] ) + clean_values.append( str(countries) ) + else: + clean_values.append('') +df['mnf_country'] = clean_values +st.write(df['mnf_country'].value_counts()) + +temp = df['RemedyOptions'] +clean_values = [] +for i in range(len(temp)): + if len(temp[i])>0: + values = [] + for j in range(len(temp[i])): + values.append(temp[i][j]['Option'] ) + clean_values.append(values[0]) + else: + clean_values.append('') +df['remedy'] = clean_values +st.write(df['remedy'].value_counts()) + +pd.set_option('display.max_rows', None) +pd.set_option('display.max_columns', None) +xtab = pd.crosstab( df['remedy'],df['mnf_country'] ) + +# Create streamlit output: +st.write(xtab) \ No newline at end of file diff --git a/01_api_calls/api_eda.py b/01_api_calls/api_eda.py new file mode 100644 index 00000000..fe9d640c --- /dev/null +++ b/01_api_calls/api_eda.py @@ -0,0 +1,35 @@ +import pandas as pd +import requests +import streamlit as st +import urllib.request +import json + +url = 'https://wizard-world-api.herokuapp.com/' # Location of the API +query = 'Houses' # The query +response = urllib.request.urlopen(url+query) +response_bytes = response.read() + +data = json.loads(response_bytes) # Convert response to json +df = pd.DataFrame.from_dict(data) + +houses = {} + +for field in data: + traits = [] + for trait in field['traits']: + traits.append(trait['name']) + houses[field['name']] = traits + + +for house in houses: + print(houses[house]) + + +st.set_page_config(page_title="Hogwarts Houses and Traits") +st.markdown("

Hogwarts Houses and Their Traits

", unsafe_allow_html=True) + +for house in houses: + st.subheader(f"{house} Traits") + for trait in houses[house]: + st.write(f"- {trait}") + st.write("---") diff --git a/01_api_calls/assignment_notebook.ipynb b/01_api_calls/assignment_notebook.ipynb index b1e37301..3aaa8524 100644 --- a/01_api_calls/assignment_notebook.ipynb +++ b/01_api_calls/assignment_notebook.ipynb @@ -1,285 +1,653 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "Yi7xzykjgGP9" - }, - "source": [ - "## Lab 1: Getting data from API's\n", - "\n", - "A great source of data and Pandas practice is getting data from the Internet. It is not going to come in a .csv file, though: It will be a stream of records, typically in XML (eXtensible Mark-up Language) or JSON (JavaScript Object Notation) format.\n", - "\n", - "We'll look at a very simple API and some useful code chunks for getting and analyzing data, and then you'll take a look at the APIs available from the Federal government as the main work for your lab.\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "Ko09F0g3gGP-" - }, - "source": [ - "## API Queries\n", - "\n", - "The core programming skill of the activity is to learn to query an online Application Programmer Interface (API). It is a similar experience to browsing the Internet, and initial results can be displayed the web browser. When visiting a web page, the address bar typically contains something like\n", - "$$\n", - "\\texttt{https://} \\underbrace{\\texttt{www.}}_{\\text{World Wide Web subdomain}} \\texttt{domain}. \\underbrace{\\texttt{tld}}_{\\text{Top level domain}},\n", - "$$\n", - "where the https:// specifies the protocol, www. specifies the world-wide-web subdomain, the domain is the entity, and the top-level domain .tld is typically something like .com or .gov, but is increasingly varied as ICANN releases more TLD's into circulation.\n", - "\n", - "With an online API, the user instead enters a url that goes directly to an API subdomain\n", - "$$\n", - "\\texttt{https://} \\underbrace{\\texttt{api.}}_{\\text{Application programmer interface}} \\texttt{domain.tld}/ \\texttt{(the query)}\n", - "$$\n", - "or accesses REST services as\n", - "$$\n", - "\\texttt{https://www.domain.tld} \\underbrace{\\texttt{/REST}}_{\\text{Accesses REST services}}/ \\texttt{(the query)}\n", - "$$\n", - "This accesses data on the domain's servers and returns the result directly to the user.\n", - "\n", - "The query itself is typically a string beginning with a question mark ?, followed by a series of expressions joined by ampersands &. For example,\n", - "\n", - "`?ProductType=Phone\\&Manufacturer=Apple`\n", - "\n", - "passes a query requesting all records for which the product type is recorded as phone and the manufacturer is recorded as Apple. Some API's include date ranges and other, more complex requests.\n", - "\n", - "To get started, a simple warm-up is to use the API from saferproducts.gov, which has a simple and intuitive structure for queries, and the results are simple enough to look at in the browser. Typing this in the address bar in a browser should yield about thirty records:\n", - "\n", - " https://www.saferproducts.gov/RestWebServices/Recall?format=json&ProductType=Phone \n", - "\n", - "with the first being, on this occasion:\n", - "\n", - " \"RecallID\": 7856,\n", - " \"RecallNumber\": \"16266\",\n", - " \"RecallDate\": \"2016-09-15T00:00:00\",\n", - " \"Description\": \"This recall involves the Samsung Galaxy Note7 smartphone sold before\n", - " September 15, 2016. The recalled devices have a 5.7 inch screen and were sold in the\n", - " following colors: black onyx, blue coral, gold platinum and silver titanium with a\n", - " matching stylus. Samsung is printed on the top front of the phone and Galaxy Note7\n", - " is printed on the back of the phone. To determine if your phone has been recalled,\n", - " locate the IMEI number on the back of the phone or the packaging, and enter the IMEI\n", - " number into the online registration site www.samsung.com or call Samsung toll-free\n", - " at 844-365-6197.\",\n", - " \"URL\": \"https://www.cpsc.gov/Recalls/2016/Samsung-Recalls-Galaxy-Note7-Smartphones\",\n", - " \"Title\": \"Samsung Recalls Galaxy Note7 Smartphones Due to Serious Fire and Burn Hazards\",\n", - " \"ConsumerContact\": \"Contact your wireless carrier or place of purchase, call Samsung\n", - " toll-free at 844-365-6197 anytime, or go online at www.samsung.com.\",\n", - " \"LastPublishDate\": \"2016-10-27T00:00:00\"\n", - "\n", - "The query itself in this case is:\n", - "\n", - " ?format=json&ProductType=Phone \n", - "\n", - "The quert requests all of the recalls in JavaScript Object Notation (json) format, where the `ProductType` variable is equal to `Phone`. In addition to `ProductType`, other options include:\n", - "\n", - " RecallID,\n", - " RecallNumber,\n", - " RecallDateStart,\n", - " RecallDateEnd,\n", - " RecallURL,\n", - " LastPublishDateStart,\n", - " LastPublishDateEnd,\n", - " RecallTitle,\n", - " ConsumerContact,\n", - " RecallDescription,\n", - " ProductName,\n", - " ProductDescription,\n", - " ProductModel,\n", - " ProductType,\n", - " InconjunctionURL,\n", - " ImageURL,\n", - " Injury,\n", - " Manufacturer,\n", - " Retailer,\n", - " Importer,\n", - " Distributor,\n", - " ManufacturerCountry,\n", - " UPC,\n", - " Hazard,\n", - " Remedy,\n", - " RemedyOption\n", - "\n", - "**1. Practice writing queries using the saferproducts.gov API and your web browser.**" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "8Zwfi6ndgGP-" - }, - "source": [ - "## Accessing API's with Python\n", - "\n", - "Anytime you use a computer to access resources on the Internet, you will likely run into problems. There are many options, but two with low coding overhead: The `requests` and `urrlib.requests` packages.\n", - "\n", - "The following code chunk uses the `requests` package to get the same kind of data that was being displayed in the browser, but in an interactive Python session:\n", - "\n", - " import requests\n", - " url = 'https://www.saferproducts.gov/RestWebServices/' # Location of the API\n", - " query = 'Recall?format=json&ProductType=Exercise' # The query\n", - " header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0)\n", - " Gecko/20100101 Firefox/124.0'} # The user-agent to avoid being blocked\n", - " raw = requests.get(url+query,headers=header) # Query the database\n", - " data = raw.json() # Convert data from json to dictionary\n", - "\n", - "To make the code easier to read, it separates the url and the query into two different strings, then concatenates them in the GET request. This makes it easier to edit the query, as well as suggests a simple way to loop over a number of queries that might be sent to the same API.\n", - "\n", - "Many resources are designed to block access from particular kinds of users. In order to circumvent these obstacles, you can specify a `header` dictionary that presents the query to the server as coming from a hypothetical and common user. In this case, the header presents the query as coming from a Firefox browser from a Windows computer, rather than something like `python-requests/3.12.1`. This problem appears generally in scraping data from the web, and can grind the process to a halt. For whatever reason, I have been blocked and gotten 403 errors with the `requests` package, which motivated me to prepare a second alternative that seems more robust:\n", - "\n", - " import urllib.request\n", - " import json\n", - " url = 'https://www.saferproducts.gov/RestWebServices/' # Location of the API\n", - " query = 'Recall?format=json&ProductType=Exercise' # The query\n", - " response = urllib.request.urlopen(url+query)\n", - " response_bytes = response.read()\n", - " data = json.loads(response_bytes) # Convert response to json\n", - " response.close()\n", - "\n", - "This is a bit more code and some steps are a bit less human-friendly, but seems to work a bit more reliably than `requests`.\n", - "\n", - "**2. Practice with the saferproducts.gov API and the above code in a notebook to see how API's work, in general.**" - ] - }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "Yi7xzykjgGP9" + }, + "source": [ + "## Lab 1: Getting data from API's\n", + "\n", + "A great source of data and Pandas practice is getting data from the Internet. It is not going to come in a .csv file, though: It will be a stream of records, typically in XML (eXtensible Mark-up Language) or JSON (JavaScript Object Notation) format.\n", + "\n", + "We'll look at a very simple API and some useful code chunks for getting and analyzing data, and then you'll take a look at the APIs available from the Federal government as the main work for your lab.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Ko09F0g3gGP-" + }, + "source": [ + "## API Queries\n", + "\n", + "The core programming skill of the activity is to learn to query an online Application Programmer Interface (API). It is a similar experience to browsing the Internet, and initial results can be displayed the web browser. When visiting a web page, the address bar typically contains something like\n", + "$$\n", + "\\texttt{https://} \\underbrace{\\texttt{www.}}_{\\text{World Wide Web subdomain}} \\texttt{domain}. \\underbrace{\\texttt{tld}}_{\\text{Top level domain}},\n", + "$$\n", + "where the https:// specifies the protocol, www. specifies the world-wide-web subdomain, the domain is the entity, and the top-level domain .tld is typically something like .com or .gov, but is increasingly varied as ICANN releases more TLD's into circulation.\n", + "\n", + "With an online API, the user instead enters a url that goes directly to an API subdomain\n", + "$$\n", + "\\texttt{https://} \\underbrace{\\texttt{api.}}_{\\text{Application programmer interface}} \\texttt{domain.tld}/ \\texttt{(the query)}\n", + "$$\n", + "or accesses REST services as\n", + "$$\n", + "\\texttt{https://www.domain.tld} \\underbrace{\\texttt{/REST}}_{\\text{Accesses REST services}}/ \\texttt{(the query)}\n", + "$$\n", + "This accesses data on the domain's servers and returns the result directly to the user.\n", + "\n", + "The query itself is typically a string beginning with a question mark ?, followed by a series of expressions joined by ampersands &. For example,\n", + "\n", + "`?ProductType=Phone\\&Manufacturer=Apple`\n", + "\n", + "passes a query requesting all records for which the product type is recorded as phone and the manufacturer is recorded as Apple. Some API's include date ranges and other, more complex requests.\n", + "\n", + "To get started, a simple warm-up is to use the API from saferproducts.gov, which has a simple and intuitive structure for queries, and the results are simple enough to look at in the browser. Typing this in the address bar in a browser should yield about thirty records:\n", + "\n", + " https://www.saferproducts.gov/RestWebServices/Recall?format=json&ProductType=Phone \n", + "\n", + "with the first being, on this occasion:\n", + "\n", + " \"RecallID\": 7856,\n", + " \"RecallNumber\": \"16266\",\n", + " \"RecallDate\": \"2016-09-15T00:00:00\",\n", + " \"Description\": \"This recall involves the Samsung Galaxy Note7 smartphone sold before\n", + " September 15, 2016. The recalled devices have a 5.7 inch screen and were sold in the\n", + " following colors: black onyx, blue coral, gold platinum and silver titanium with a\n", + " matching stylus. Samsung is printed on the top front of the phone and Galaxy Note7\n", + " is printed on the back of the phone. To determine if your phone has been recalled,\n", + " locate the IMEI number on the back of the phone or the packaging, and enter the IMEI\n", + " number into the online registration site www.samsung.com or call Samsung toll-free\n", + " at 844-365-6197.\",\n", + " \"URL\": \"https://www.cpsc.gov/Recalls/2016/Samsung-Recalls-Galaxy-Note7-Smartphones\",\n", + " \"Title\": \"Samsung Recalls Galaxy Note7 Smartphones Due to Serious Fire and Burn Hazards\",\n", + " \"ConsumerContact\": \"Contact your wireless carrier or place of purchase, call Samsung\n", + " toll-free at 844-365-6197 anytime, or go online at www.samsung.com.\",\n", + " \"LastPublishDate\": \"2016-10-27T00:00:00\"\n", + "\n", + "The query itself in this case is:\n", + "\n", + " ?format=json&ProductType=Phone \n", + "\n", + "The quert requests all of the recalls in JavaScript Object Notation (json) format, where the `ProductType` variable is equal to `Phone`. In addition to `ProductType`, other options include:\n", + "\n", + " RecallID,\n", + " RecallNumber,\n", + " RecallDateStart,\n", + " RecallDateEnd,\n", + " RecallURL,\n", + " LastPublishDateStart,\n", + " LastPublishDateEnd,\n", + " RecallTitle,\n", + " ConsumerContact,\n", + " RecallDescription,\n", + " ProductName,\n", + " ProductDescription,\n", + " ProductModel,\n", + " ProductType,\n", + " InconjunctionURL,\n", + " ImageURL,\n", + " Injury,\n", + " Manufacturer,\n", + " Retailer,\n", + " Importer,\n", + " Distributor,\n", + " ManufacturerCountry,\n", + " UPC,\n", + " Hazard,\n", + " Remedy,\n", + " RemedyOption\n", + "\n", + "**1. Practice writing queries using the saferproducts.gov API and your web browser.**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Query 1\n", + "https://www.saferproducts.gov/RestWebServices/Recall?format=json&ProductType=Laptop\n", + "# Query 2\n", + "https://www.saferproducts.gov/RestWebServices/Recall?format=json&ProductType=Computer\n", + "# Query 3\n", + "https://www.saferproducts.gov/RestWebServices/Recall?format=json&ProductType=Mouse" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "8Zwfi6ndgGP-" + }, + "source": [ + "## Accessing API's with Python\n", + "\n", + "Anytime you use a computer to access resources on the Internet, you will likely run into problems. There are many options, but two with low coding overhead: The `requests` and `urrlib.requests` packages.\n", + "\n", + "The following code chunk uses the `requests` package to get the same kind of data that was being displayed in the browser, but in an interactive Python session:\n", + "\n", + " import requests\n", + " url = 'https://www.saferproducts.gov/RestWebServices/' # Location of the API\n", + " query = 'Recall?format=json&ProductType=Exercise' # The query\n", + " header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0)\n", + " Gecko/20100101 Firefox/124.0'} # The user-agent to avoid being blocked\n", + " raw = requests.get(url+query,headers=header) # Query the database\n", + " data = raw.json() # Convert data from json to dictionary\n", + "\n", + "To make the code easier to read, it separates the url and the query into two different strings, then concatenates them in the GET request. This makes it easier to edit the query, as well as suggests a simple way to loop over a number of queries that might be sent to the same API.\n", + "\n", + "Many resources are designed to block access from particular kinds of users. In order to circumvent these obstacles, you can specify a `header` dictionary that presents the query to the server as coming from a hypothetical and common user. In this case, the header presents the query as coming from a Firefox browser from a Windows computer, rather than something like `python-requests/3.12.1`. This problem appears generally in scraping data from the web, and can grind the process to a halt. For whatever reason, I have been blocked and gotten 403 errors with the `requests` package, which motivated me to prepare a second alternative that seems more robust:\n", + "\n", + " import urllib.request\n", + " import json\n", + " url = 'https://www.saferproducts.gov/RestWebServices/' # Location of the API\n", + " query = 'Recall?format=json&ProductType=Exercise' # The query\n", + " response = urllib.request.urlopen(url+query)\n", + " response_bytes = response.read()\n", + " data = json.loads(response_bytes) # Convert response to json\n", + " response.close()\n", + "\n", + "This is a bit more code and some steps are a bit less human-friendly, but seems to work a bit more reliably than `requests`.\n", + "\n", + "**2. Practice with the saferproducts.gov API and the above code in a notebook to see how API's work, in general.**" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ { - "cell_type": "markdown", - "metadata": { - "id": "CWk9ceyRgGP_" - }, - "source": [ - "## Wrangling the Data\n", - "\n", - "Piping the data to Pandas is easy, because the preceding code chunk put the JSON data into a native Python dictionary, and the following converts it to a dataframe:\n", - "\n", - " df = pd.DataFrame.from_dict(data)\n", - "\n", - "If the data is in raw XML or JSON format --- which might especially be true with other API's --- it would instead be \\texttt{pd.read\\_xml(data)} or \\texttt{pd.read\\_json(data)}. Ironing out these details in advance for other applications is a key part of the presentation for students, but having students resolve these issues as a component of group work or an assignment is a great way to help them mature as coding problem solvers by struggling with documentation and a well-defined problem.\n", - "\n", - "Unfortunately, there aren't many non-text fields in the \\texttt{www.saferproducts.gov} data. However, there are a few fields of interest that can be tabulated and discussed, such as RemedyOptions and ManufacturerCountries:\n", - "\n", - " df['RemedyOptions'].value_counts()\n", - "\n", - "with output\n", - "\n", - " RemedyOptions\n", - " [] 139\n", - " [{'Option': 'Repair'}] 49\n", - " [{'Option': 'Replace'}] 12\n", - " [{'Option': 'Refund'}] 7\n", - " [{'Option': 'Replace'}, {'Option': 'Repair'}] 4\n", - " [{'Option': 'Refund'}, {'Option': 'Replace'}, {'Option': 'Repair'}] 1\n", - " [{'Option': 'Replace'}, {'Option': 'Refund'}] 1\n", - " [{'Option': 'Refund'}, {'Option': 'Repair'}] 1\n", - " [{'Option': 'Label'}] 1\n", - " [{'Option': 'New Instructions'}, {'Option': 'Replace'}, {'Option': 'Refund'}] 1\n", - " Name: count, dtype: int64\n", - "\n", - "It's appropriate at this point to do some data cleaning, particularly by flattening dictionary entries. With response data that get converted from json to a dictionary, there are often values in the data frame that need to be flattened or unpacked. For example, some values are recorded as \\texttt{ [$\\{$'Country':'Canada'$\\}$]}, or, worse, a dictionary with multiple entries: \\texttt{[ $\\{$ 'Option': 'Replace'$\\}$, $\\{$'Option': 'Repair'$\\}$] ] }. This can lead to problems when another package refuses to work with a lists of lists or doesn't know how to simplify a dictionary to data, and presents some conceptual questions when cleaning.\n", - "\n", - "A simple script to recursively collapse the dictionary entries into a single string is:\n", - "\n", - " temp = df['RemedyOptions']\n", - " clean_values = []\n", - " for i in range(len(temp)):\n", - " if len(temp[i])>0:\n", - " values = []\n", - " for j in range(len(temp[i])):\n", - " values.append(temp[i][j]['Option'] )\n", - " clean_values.append(values)\n", - " else:\n", - " clean_values.append('')\n", - " df['remedy'] = clean_values\n", - "\n", - "**3. Convert this code chunk into a function you can reuse to flatten dictionaries, or explain clearly the problems you run into while attempting to do so. Make some tables or plots.**\n" - ] - }, + "name": "stdout", + "output_type": "stream", + "text": [ + "{'RecallID': 7832, 'RecallNumber': '16247', 'RecallDate': '2016-08-23T00:00:00', 'Description': 'This recall involves \"Step-iT\" activity wristbands, which come in two styles-\"Activity Counter\" and a motion-activated \"Light-up Band.\" The Activity Counter comes in translucent plastic orange, blue or green and features a digital screen that tracks a child\\'s steps or other movement. The Light-up Band comes in translucent plastic red, purple, or orange and blinks light with the child\\'s movement. Both styles of activity wristbands have a square face with the words \"STEP-iT\" printed on them and a button to depress and activate the wristband. The back of the square face contains the etched words \"Made for McDonald\\'s.\"', 'URL': 'https://www.cpsc.gov/Recalls/2016/McDonalds-Recalls-Step-iT-Activity-Wristbands', 'Title': 'McDonald’s Recalls “Step-iT” Activity Wristbands Due to Risk of Skin Irritation or Burns', 'ConsumerContact': 'McDonald\\'s at 800-244-6227 from 7 a.m. to 7 p.m. CT daily, or online at www.mcdonalds.com and click on \"Safety Recall\" for more information.', 'LastPublishDate': '2016-08-23T00:00:00', 'Products': [{'Name': 'Step-iT Activity Wristbands', 'Description': '', 'Model': '', 'Type': 'Exercise', 'CategoryID': '68363', 'NumberOfUnits': 'About 29 million units in the U.S. (in addition, about 3.6 million units in Canada)'}], 'Inconjunctions': [{'URL': 'http://healthycanadians.gc.ca/recall-alert-rappel-avis/hc-sc/2016/59920r-eng.php'}], 'Images': [{'URL': 'https://www.cpsc.gov/s3fs-public/CR003106_b03_CMYK_Simp800.jpg', 'Caption': 'Activity wristband'}, {'URL': 'https://www.cpsc.gov/s3fs-public/CR003106_g06_CMYK_Simp800.jpg', 'Caption': 'Activity wristband'}, {'URL': 'https://www.cpsc.gov/s3fs-public/CR003106_e08_CMYK_Simp800.jpg', 'Caption': 'Activity wristband'}, {'URL': 'https://www.cpsc.gov/s3fs-public/CR003106_f06_CMYK_Simp800.jpg', 'Caption': 'Activity wristband'}, {'URL': 'https://www.cpsc.gov/s3fs-public/CR003106_d05_CMYK_Simp800.jpg', 'Caption': 'Activity wristband'}, {'URL': 'https://www.cpsc.gov/s3fs-public/CR003106_c04_CMYK_Simp800.jpg', 'Caption': 'Activity wristband'}], 'Injuries': [{'Name': \"McDonald's has received more than 70 reports of incidents, including seven reports of blisters, after wearing the wristbands.\"}], 'Manufacturers': [], 'Retailers': [{'Name': \"Distributed exclusively by McDonald's restaurants nationwide from August 9, 2016 to August 17, 2016 with Happy Meals and Mighty Kids Meals.\", 'CompanyID': ''}], 'Importers': [], 'Distributors': [{'Name': \"McDonald's Corp., of Oakbrook, Ill.\", 'CompanyID': ''}], 'SoldAtLabel': None, 'ManufacturerCountries': [{'Country': 'China'}], 'ProductUPCs': [], 'Hazards': [{'Name': 'The recalled wristbands can cause skin irritation or burns to children.', 'HazardType': '', 'HazardTypeID': ''}], 'Remedies': [{'Name': \"Consumers should immediately take the recalled wristbands from children and return them to any McDonald's for a free replacement toy and either a yogurt tube or bag of apple slices.\"}], 'RemedyOptions': [{'Option': 'Replace'}]}\n" + ] + } + ], + "source": [ + "import urllib.request\n", + "import json\n", + "url = 'https://www.saferproducts.gov/RestWebServices/' # Location of the API\n", + "query = 'Recall?format=json&ProductType=Exercise' # The query\n", + "response = urllib.request.urlopen(url+query)\n", + "response_bytes = response.read()\n", + "data = json.loads(response_bytes) # Convert response to json\n", + "\n", + "# Prints the first data point collected from the API\n", + "print(data[0])\n", + "response.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "CWk9ceyRgGP_" + }, + "source": [ + "## Wrangling the Data\n", + "\n", + "Piping the data to Pandas is easy, because the preceding code chunk put the JSON data into a native Python dictionary, and the following converts it to a dataframe:\n", + "\n", + " df = pd.DataFrame.from_dict(data)\n", + "\n", + "If the data is in raw XML or JSON format --- which might especially be true with other API's --- it would instead be \\texttt{pd.read\\_xml(data)} or \\texttt{pd.read\\_json(data)}. Ironing out these details in advance for other applications is a key part of the presentation for students, but having students resolve these issues as a component of group work or an assignment is a great way to help them mature as coding problem solvers by struggling with documentation and a well-defined problem.\n", + "\n", + "Unfortunately, there aren't many non-text fields in the \\texttt{www.saferproducts.gov} data. However, there are a few fields of interest that can be tabulated and discussed, such as RemedyOptions and ManufacturerCountries:\n", + "\n", + " df['RemedyOptions'].value_counts()\n", + "\n", + "with output\n", + "\n", + " RemedyOptions\n", + " [] 139\n", + " [{'Option': 'Repair'}] 49\n", + " [{'Option': 'Replace'}] 12\n", + " [{'Option': 'Refund'}] 7\n", + " [{'Option': 'Replace'}, {'Option': 'Repair'}] 4\n", + " [{'Option': 'Refund'}, {'Option': 'Replace'}, {'Option': 'Repair'}] 1\n", + " [{'Option': 'Replace'}, {'Option': 'Refund'}] 1\n", + " [{'Option': 'Refund'}, {'Option': 'Repair'}] 1\n", + " [{'Option': 'Label'}] 1\n", + " [{'Option': 'New Instructions'}, {'Option': 'Replace'}, {'Option': 'Refund'}] 1\n", + " Name: count, dtype: int64\n", + "\n", + "It's appropriate at this point to do some data cleaning, particularly by flattening dictionary entries. With response data that get converted from json to a dictionary, there are often values in the data frame that need to be flattened or unpacked. For example, some values are recorded as \\texttt{ [$\\{$'Country':'Canada'$\\}$]}, or, worse, a dictionary with multiple entries: \\texttt{[ $\\{$ 'Option': 'Replace'$\\}$, $\\{$'Option': 'Repair'$\\}$] ] }. This can lead to problems when another package refuses to work with a lists of lists or doesn't know how to simplify a dictionary to data, and presents some conceptual questions when cleaning.\n", + "\n", + "A simple script to recursively collapse the dictionary entries into a single string is:\n", + "\n", + " temp = df['RemedyOptions']\n", + " clean_values = []\n", + " for i in range(len(temp)):\n", + " if len(temp[i])>0:\n", + " values = []\n", + " for j in range(len(temp[i])):\n", + " values.append(temp[i][j]['Option'] )\n", + " clean_values.append(values)\n", + " else:\n", + " clean_values.append('')\n", + " df['remedy'] = clean_values\n", + "\n", + "**3. Convert this code chunk into a function you can reuse to flatten dictionaries, or explain clearly the problems you run into while attempting to do so. Make some tables or plots.**\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ { - "cell_type": "markdown", - "metadata": { - "id": "glTQ8P7ggGP_" - }, - "source": [ - "## Dashboarding the Results (Optional)\n", - "\n", - "To complete the pipeline from data to product, we can use \\texttt{streamlit} to quickly convert Python code into a web page that can be accessed locally. This can be done with essentially three lines of code: An import statement, a $.title()$ method call to set the page title, and an $.write()$ call to push the results to the page. Although relatively static, completing this step serves a pedogogical and psychological purpose: It pivots the students to thinking about how to communicate results to an audience, and how the project could become an ongoing endeavor rather than a single analytical exercise.\n", - "\n", - "The entire .py file to create the dashboard is\n", - "\n", - " import pandas as pd\n", - " import requests\n", - " import streamlit as st\n", - " # Conduct analysis:\n", - " url = 'https://www.saferproducts.gov/RestWebServices/Recall'\n", - " query = '?format=json&RecallTitle=Gas'\n", - " header = {'User-Agent':\n", - " 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0'}\n", - " raw = requests.get(url+query,headers=header)\n", - " data = raw.json()\n", - " df = pd.DataFrame.from_dict(data)\n", - " temp = df['RemedyOptions']\n", - " clean_values = []\n", - " for i in range(len(temp)):\n", - " if len(temp[i])>0:\n", - " values = []\n", - " for j in range(len(temp[i])):\n", - " values.append(temp[i][j]['Option'] )\n", - " clean_values.append(values)\n", - " else:\n", - " clean_values.append('')\n", - " df['remedy'] = clean_values\n", - " remedy_counts = df['remedy'].value_counts()\n", - " # Create streamlit output:\n", - " st.title('Remedy Statistics')\n", - " st.write(remedy_counts)\n", - "\n", - "To create the web page, run the following at the command line:\n", - "\n", - " streamlit run remedy.py\n", - "\n", - "This should convert the above analysis into a web page available from localhost.\n", - "\n", - "**4. Produce your own table or plot, and output it to streamlit.**" + "data": { + "text/plain": [ + "0 [Replace]\n", + "1 [Replace]\n", + "2 [Repair]\n", + "3 [Refund]\n", + "4 [Repair]\n", + " ... \n", + "86 \n", + "87 \n", + "88 \n", + "89 \n", + "90 \n", + "Name: remedy, Length: 91, dtype: object" ] - }, + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "def clean(dataframe):\n", + " temp = dataframe['RemedyOptions']\n", + " clean_values = []\n", + " for i in range(len(temp)):\n", + " if len(temp[i])>0:\n", + " values = []\n", + " for j in range(len(temp[i])):\n", + " values.append(temp[i][j]['Option'] )\n", + " clean_values.append(values)\n", + " else:\n", + " clean_values.append('')\n", + " dataframe['remedy'] = clean_values\n", + "\n", + "df = pd.DataFrame.from_dict(data)\n", + "df['RemedyOptions'].value_counts()\n", + "clean(df)\n", + "df['remedy']" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "glTQ8P7ggGP_" + }, + "source": [ + "## Dashboarding the Results (Optional)\n", + "\n", + "To complete the pipeline from data to product, we can use \\texttt{streamlit} to quickly convert Python code into a web page that can be accessed locally. This can be done with essentially three lines of code: An import statement, a $.title()$ method call to set the page title, and an $.write()$ call to push the results to the page. Although relatively static, completing this step serves a pedogogical and psychological purpose: It pivots the students to thinking about how to communicate results to an audience, and how the project could become an ongoing endeavor rather than a single analytical exercise.\n", + "\n", + "The entire .py file to create the dashboard is\n", + "\n", + " import pandas as pd\n", + " import requests\n", + " import streamlit as st\n", + " # Conduct analysis:\n", + " url = 'https://www.saferproducts.gov/RestWebServices/Recall'\n", + " query = '?format=json&RecallTitle=Gas'\n", + " header = {'User-Agent':\n", + " 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0'}\n", + " raw = requests.get(url+query,headers=header)\n", + " data = raw.json()\n", + " df = pd.DataFrame.from_dict(data)\n", + " temp = df['RemedyOptions']\n", + " clean_values = []\n", + " for i in range(len(temp)):\n", + " if len(temp[i])>0:\n", + " values = []\n", + " for j in range(len(temp[i])):\n", + " values.append(temp[i][j]['Option'] )\n", + " clean_values.append(values)\n", + " else:\n", + " clean_values.append('')\n", + " df['remedy'] = clean_values\n", + " remedy_counts = df['remedy'].value_counts()\n", + " # Create streamlit output:\n", + " st.title('Remedy Statistics')\n", + " st.write(remedy_counts)\n", + "\n", + "To create the web page, run the following at the command line:\n", + "\n", + " streamlit run remedy.py\n", + "\n", + "This should convert the above analysis into a web page available from localhost.\n", + "\n", + "**4. Produce your own table or plot, and output it to streamlit.**" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ { - "cell_type": "markdown", - "metadata": { - "id": "1ogbrOZYgGP_" - }, - "source": [ - "## Other API Sources\n", - "\n", - "Valuable and interesting Federal API resources are listed at:\n", - "\n", - " https://catalog.data.gov/dataset/?_res_format_limit=0&res_format=API\n", - "\n", - "and in the future will likely easily be found at \\texttt{data.gov}. Some highlights include:\n", - "\n", - "- CDC WONDER API for Data Query Web Service: Includes death certificates with causes since approximately the 1990's.\n", - "- Comprehensive Housing Affordability Strategy (CHAS): Housing and Urban Development (HUD) maintains an API that provides Census data on housing problems and needs unavailable through other sources, including IPUMS.\n", - "- Federal Election Commission API: Provides historical and up to the minute campaign finance data.\n", - "- Toxic Release Inventory: Provided by the Environmental Protection Agency, this API documents the release and management of over 800 toxic substances, reported annually by privately owned facilities and the government.\n", - "- Petroleum Data, Prices: Provides prices of petroleum products and crude oil at weekly, monthly, and yearly time scales.\n", - "- Fair Market Rents Lookup tool: Fair Market Rents (FMRs) determine the value of housing vouchers for Section 8 renters. This API provides the FMR values and other measures of housing affordability.\n", - "- Annual Economic Surveys, Business Patterns: Surveys of businesses at the zip code level, tracking economic sentiment and activity.\n", - "- Food Access Research Atlas: Provides spatial data on food access and the availability of supermarkets within census tracts. Can be merged with census data to look at under-served populations and food deserts.\n", - "- National Oceanographic and Atmospheric Administration: Provides API access to data on real time weather and climate change projections.\n", - "\n", - "Each of these API resources could either be the cornerstone of a project or a source of additional data. These data sources have a number of advantages: They're free, most of them can be accessed using the same API key, and most have similar documentation for how to write a query. This is ideal for students to iterate, experiment, and take risks, with little cost to failure.\n", - "\n", - "In addition to government data, many commerical apps provide API access to developers and researchers. AirBnB, Amazon, Reddit, eBay, X, and many others maintain API access to develop third-party apps. These opportunities present many advantages: The data are larger, have more variety, and there are vastly many more cases. Building a third-party app that includes analytics could easily consume an entire semester and open a variety of applications in predictive analytics, natural language processing, and generative AI (e.g. predict which reviews are fake or real for Amazon for a product group like ``women's watches', and then make recommendations for different price points). While an exciting possibility, this can also raise a lot of problems: Some API's cost money or are rate-limited depending on a subscription, and others impose significant constraints on how the data can be used. In some cases, a more useful approach might be explicit web scraping using a package like BeautifulSoup or Selenium. For example, Craigslist has no API, but can easily and productively be scraped using BeautifulSoup.\n", - "\n", - "**5. Pick an API, download some data, wrangle them, and produce some EDA results, as we did in the previous steps with the saferproducts.gov API; or, if you can't get it to work, document why. If you have the time and it's low cost, push the results to a streamlit page. If you have had enough, I recommend https://www.eia.gov/opendata/browser/electricity, since there is a friendly query builder that you can use to learn.**" - ] + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-09-20 23:40:07.572 WARNING streamlit.runtime.scriptrunner_utils.script_run_context: Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-20 23:40:07.789 \n", + " \u001b[33m\u001b[1mWarning:\u001b[0m to view this Streamlit app on a browser, run it with the following\n", + " command:\n", + "\n", + " streamlit run C:\\Users\\fletc\\dev\\uva\\ds3001\\labs\\ven\\Lib\\site-packages\\ipykernel_launcher.py [ARGUMENTS]\n", + "2024-09-20 23:40:07.789 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-20 23:40:07.809 Serialization of dataframe to Arrow table was unsuccessful due to: (\"Expected bytes, got a 'list' object\", 'Conversion failed for column remedy with type object'). Applying automatic fixes for column types to make the dataframe Arrow-compatible.\n", + "2024-09-20 23:40:07.826 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-20 23:40:07.827 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "Usage: streamlit run [OPTIONS] TARGET [ARGS]...\n", + "Try 'streamlit run --help' for help.\n", + "\n", + "Error: Invalid value: File does not exist: remedy.py\n" + ] } - ], - "metadata": { - "language_info": { - "name": "python" - }, - "colab": { - "provenance": [] + ], + "source": [ + "\"\"\"\n", + "This code can be run successfully via \"streamlit run remedy.py\" located in the same folder\n", + "\"\"\"\n", + "\n", + "import pandas as pd\n", + "import requests\n", + "import streamlit as st\n", + "import urllib.request\n", + "import json\n", + "\n", + "url = 'https://www.saferproducts.gov/RestWebServices/' # Location of the API\n", + "query = 'Recall?format=json&ProductType=Exercise' # The query\n", + "response = urllib.request.urlopen(url+query)\n", + "response_bytes = response.read()\n", + "data = json.loads(response_bytes) # Convert response to json\n", + "\n", + "# Conduct analysis:\n", + "df = pd.DataFrame.from_dict(data)\n", + "temp = df['RemedyOptions']\n", + "clean_values = []\n", + "for i in range(len(temp)):\n", + " if len(temp[i])>0:\n", + " values = []\n", + " for j in range(len(temp[i])):\n", + " values.append(temp[i][j]['Option'] )\n", + " clean_values.append(values)\n", + " else:\n", + " clean_values.append('')\n", + "df['remedy'] = clean_values\n", + "remedy_counts = df['remedy'].value_counts()\n", + "# Create streamlit output:\n", + "st.title('Remedy Statistics')\n", + "# Create bar chart displaying data\n", + "st.bar_chart(remedy_counts)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!streamlit run remedy.py" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "1ogbrOZYgGP_" + }, + "source": [ + "## Other API Sources\n", + "\n", + "Valuable and interesting Federal API resources are listed at:\n", + "\n", + " https://catalog.data.gov/dataset/?_res_format_limit=0&res_format=API\n", + "\n", + "and in the future will likely easily be found at \\texttt{data.gov}. Some highlights include:\n", + "\n", + "- CDC WONDER API for Data Query Web Service: Includes death certificates with causes since approximately the 1990's.\n", + "- Comprehensive Housing Affordability Strategy (CHAS): Housing and Urban Development (HUD) maintains an API that provides Census data on housing problems and needs unavailable through other sources, including IPUMS.\n", + "- Federal Election Commission API: Provides historical and up to the minute campaign finance data.\n", + "- Toxic Release Inventory: Provided by the Environmental Protection Agency, this API documents the release and management of over 800 toxic substances, reported annually by privately owned facilities and the government.\n", + "- Petroleum Data, Prices: Provides prices of petroleum products and crude oil at weekly, monthly, and yearly time scales.\n", + "- Fair Market Rents Lookup tool: Fair Market Rents (FMRs) determine the value of housing vouchers for Section 8 renters. This API provides the FMR values and other measures of housing affordability.\n", + "- Annual Economic Surveys, Business Patterns: Surveys of businesses at the zip code level, tracking economic sentiment and activity.\n", + "- Food Access Research Atlas: Provides spatial data on food access and the availability of supermarkets within census tracts. Can be merged with census data to look at under-served populations and food deserts.\n", + "- National Oceanographic and Atmospheric Administration: Provides API access to data on real time weather and climate change projections.\n", + "\n", + "Each of these API resources could either be the cornerstone of a project or a source of additional data. These data sources have a number of advantages: They're free, most of them can be accessed using the same API key, and most have similar documentation for how to write a query. This is ideal for students to iterate, experiment, and take risks, with little cost to failure.\n", + "\n", + "In addition to government data, many commerical apps provide API access to developers and researchers. AirBnB, Amazon, Reddit, eBay, X, and many others maintain API access to develop third-party apps. These opportunities present many advantages: The data are larger, have more variety, and there are vastly many more cases. Building a third-party app that includes analytics could easily consume an entire semester and open a variety of applications in predictive analytics, natural language processing, and generative AI (e.g. predict which reviews are fake or real for Amazon for a product group like ``women's watches', and then make recommendations for different price points). While an exciting possibility, this can also raise a lot of problems: Some API's cost money or are rate-limited depending on a subscription, and others impose significant constraints on how the data can be used. In some cases, a more useful approach might be explicit web scraping using a package like BeautifulSoup or Selenium. For example, Craigslist has no API, but can easily and productively be scraped using BeautifulSoup.\n", + "\n", + "**5. Pick an API, download some data, wrangle them, and produce some EDA results, as we did in the previous steps with the saferproducts.gov API; or, if you can't get it to work, document why. If you have the time and it's low cost, push the results to a streamlit page. If you have had enough, I recommend https://www.eia.gov/opendata/browser/electricity, since there is a friendly query builder that you can use to learn.**" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-09-21 01:12:16.963 WARNING streamlit.runtime.scriptrunner_utils.script_run_context: Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:16.964 WARNING streamlit.runtime.scriptrunner_utils.script_run_context: Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.218 \n", + " \u001b[33m\u001b[1mWarning:\u001b[0m to view this Streamlit app on a browser, run it with the following\n", + " command:\n", + "\n", + " streamlit run C:\\Users\\fletc\\dev\\uva\\ds3001\\labs\\ven\\Lib\\site-packages\\ipykernel_launcher.py [ARGUMENTS]\n", + "2024-09-21 01:12:17.219 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.220 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.221 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.221 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.222 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.223 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.224 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.224 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.225 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.225 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.226 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.227 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.227 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.228 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.229 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.230 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.230 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.231 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.232 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.232 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.233 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.233 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.234 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.235 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.236 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.236 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.237 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.237 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.238 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.239 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.239 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.240 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.240 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.241 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.242 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.242 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.243 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.244 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.245 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.246 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.247 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.247 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.247 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.249 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.250 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.250 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.251 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.252 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.252 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.253 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.254 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.255 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.255 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.256 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.256 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.257 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.258 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.258 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.259 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.260 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.261 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.261 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.263 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.263 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.264 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.265 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.265 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.266 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.267 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.268 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.269 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.270 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.271 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.272 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.272 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.273 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.274 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.275 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.275 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.276 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.277 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.278 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.278 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.279 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.280 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.281 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.282 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.283 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.283 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.284 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.285 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.286 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.286 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.287 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.288 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.288 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.290 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.291 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.292 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.292 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.293 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.294 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.294 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.295 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.298 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.300 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.301 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.302 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.302 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.303 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.304 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.304 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.306 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.306 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.307 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.307 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.308 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.309 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.310 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.311 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n", + "2024-09-21 01:12:17.312 Thread 'MainThread': missing ScriptRunContext! This warning can be ignored when running in bare mode.\n" + ] } + ], + "source": [ + "\"\"\"\n", + "This code can be run successfully via \"streamlit run api_eda.py\" located in the same folder\n", + "\"\"\"\n", + "\n", + "import pandas as pd\n", + "import requests\n", + "import streamlit as st\n", + "import urllib.request\n", + "import json\n", + "\n", + "url = 'https://wizard-world-api.herokuapp.com/' # Location of the API\n", + "query = 'Houses' # The query\n", + "response = urllib.request.urlopen(url+query)\n", + "response_bytes = response.read()\n", + "\n", + "data = json.loads(response_bytes) # Convert response to json\n", + "df = pd.DataFrame.from_dict(data)\n", + "\n", + "houses = {}\n", + "\n", + "for field in data:\n", + " traits = []\n", + " for trait in field['traits']:\n", + " traits.append(trait['name'])\n", + " houses[field['name']] = traits\n", + "\n", + "\"\"\"\n", + "for house in houses:\n", + " print(houses[house])\n", + "\"\"\"\n", + "\n", + "st.set_page_config(page_title=\"Hogwarts Houses and Traits\")\n", + "st.markdown(\"

Hogwarts Houses and Their Traits

\", unsafe_allow_html=True)\n", + "\n", + "for house in houses:\n", + " st.subheader(f\"{house} Traits\")\n", + " for trait in houses[house]:\n", + " st.write(f\"- {trait}\")\n", + " st.write(\"---\")\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!streamlit run api_eda.py" + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" }, - "nbformat": 4, - "nbformat_minor": 0 -} \ No newline at end of file + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.1" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/01_api_calls/remedy.py b/01_api_calls/remedy.py new file mode 100644 index 00000000..19189105 --- /dev/null +++ b/01_api_calls/remedy.py @@ -0,0 +1,30 @@ +import pandas as pd +import requests +import streamlit as st +import urllib.request +import json + +url = 'https://www.saferproducts.gov/RestWebServices/' # Location of the API +query = 'Recall?format=json&ProductType=Exercise' # The query +response = urllib.request.urlopen(url+query) +response_bytes = response.read() +data = json.loads(response_bytes) # Convert response to json + +# Conduct analysis: +df = pd.DataFrame.from_dict(data) +temp = df['RemedyOptions'] +clean_values = [] +for i in range(len(temp)): + if len(temp[i])>0: + values = [] + for j in range(len(temp[i])): + values.append(temp[i][j]['Option'] ) + clean_values.append(values) + else: + clean_values.append('') +df['remedy'] = clean_values +remedy_counts = df['remedy'].value_counts() +# Create streamlit output: +st.title('Remedy Statistics') +# Create bar chart displaying data +st.bar_chart(remedy_counts) diff --git a/02_scraping/.ipynb_checkpoints/craigslist_cville_cars-checkpoint.csv b/02_scraping/.ipynb_checkpoints/craigslist_cville_cars-checkpoint.csv new file mode 100644 index 00000000..d91ed1ac --- /dev/null +++ b/02_scraping/.ipynb_checkpoints/craigslist_cville_cars-checkpoint.csv @@ -0,0 +1,8 @@ +,title,price,year,link,style,age +0,> nokia - comes w/ all accessories needed incl. extra battery <,0,,https://charlottesville.craigslist.org/mob/d/charlottesville-nokia-comes-all/7788090327.html,missing, +1,samsung galaxy a11 - t-mobile,75,,https://charlottesville.craigslist.org/mob/d/charlottesville-samsung-galaxy-a11/7783598361.html,missing, +2,iphone 15 pro max 512gb unlocked with sim slot applecare+ included!,1200,,https://charlottesville.craigslist.org/mob/d/charlottesville-iphone-15-pro-max-512gb/7777373194.html,missing, +3,series 9 apple watch,308,,https://charlottesville.craigslist.org/mob/d/orange-series-apple-watch/7783251866.html,missing, +4,samsung galaxy z fold 3 (silver) - gently used,600,,https://charlottesville.craigslist.org/mob/d/charlottesville-samsung-galaxy-fold/7782645934.html,missing, +5,iphone 15 pro max 512gb unlocked with sim slot applecare+ included!,1200,,https://charlottesville.craigslist.org/mob/d/charlottesville-iphone-15-pro-max-512gb/7779847344.html,missing, +6,esr halolock magnetic wireless car charger,10,,https://charlottesville.craigslist.org/mob/d/free-union-esr-halolock-magnetic/7779928622.html,missing, diff --git a/02_scraping/.ipynb_checkpoints/just_code-checkpoint.ipynb b/02_scraping/.ipynb_checkpoints/just_code-checkpoint.ipynb new file mode 100644 index 00000000..53411fcd --- /dev/null +++ b/02_scraping/.ipynb_checkpoints/just_code-checkpoint.ipynb @@ -0,0 +1,1751 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import seaborn as sns\n", + "\n", + "from bs4 import BeautifulSoup as soup # HTML parser\n", + "import requests # Page requests\n", + "import re # Regular expressions\n", + "import time # Time delays\n", + "import random # Random numbers\n", + "\n", + "header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0'} \n", + "url = 'https://charlottesville.craigslist.org/search/cta?purveyor=owner#search=1~gallery~0~0' \n", + "raw = requests.get(url,headers=header) # Get page\n", + "\n", + "\n", + "brands = ['honda', 'dodge','toyota','ford','tesla','gmc','jeep','bmw','mitsubishi','mazda',\n", + " 'volvo','audi','volkswagen','chevy','chevrolet','acura','kia','subaru','lexus',\n", + " 'cadillac','buick','porsche','infiniti']\n", + "\n", + "\n", + "bsObj = soup(raw.content,'html.parser') # Parse the html\n", + "listings = bsObj.find_all(class_=\"cl-static-search-result\") # Find all listings" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "data = [] # We'll save our listings in this object\n", + "for k in range( len(listings) ):\n", + " title = listings[k].find('div',class_='title').get_text().lower()\n", + " price = listings[k].find('div',class_='price').get_text()\n", + " link = listings[k].find(href=True)['href']\n", + " # Get brand from the title string:\n", + " words = title.split()\n", + " hits = [word for word in words if word in brands] # Find brands in the title\n", + " if len(hits) == 0:\n", + " brand = 'missing'\n", + " else:\n", + " brand = hits[0]\n", + " # Get years from title string:\n", + " regex_search = re.search(r'20[0-9][0-9]|19[0-9][0-9]', title ) # Find year references\n", + " if regex_search is None: # If no hits, record year as missing value\n", + " year = np.nan \n", + " else: # If hits, record year as first match\n", + " year = regex_search.group(0)\n", + " #\n", + " data.append({'title':title,'price':price,'year':year,'link':link,'brand':brand})\n", + " \n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(92, 6)\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
titlepriceyearlinkbrandage
02005 hyundai elantra12002005.0https://charlottesville.craigslist.org/cto/d/a...missing20.0
12007 f250 king ranch175002007.0https://charlottesville.craigslist.org/cto/d/w...missing18.0
21997 dodge 2500 4x4 cummins95001997.0https://charlottesville.craigslist.org/cto/d/l...dodge28.0
31999 honda civic 4 cyl manual transmission10001999.0https://charlottesville.craigslist.org/cto/d/c...honda26.0
41998 gmc sierra 1500 sl truck auto rwd <103,00...62501998.0https://charlottesville.craigslist.org/cto/d/l...gmc27.0
\n", + "
" + ], + "text/plain": [ + " title price year \\\n", + "0 2005 hyundai elantra 1200 2005.0 \n", + "1 2007 f250 king ranch 17500 2007.0 \n", + "2 1997 dodge 2500 4x4 cummins 9500 1997.0 \n", + "3 1999 honda civic 4 cyl manual transmission 1000 1999.0 \n", + "4 1998 gmc sierra 1500 sl truck auto rwd <103,00... 6250 1998.0 \n", + "\n", + " link brand age \n", + "0 https://charlottesville.craigslist.org/cto/d/a... missing 20.0 \n", + "1 https://charlottesville.craigslist.org/cto/d/w... missing 18.0 \n", + "2 https://charlottesville.craigslist.org/cto/d/l... dodge 28.0 \n", + "3 https://charlottesville.craigslist.org/cto/d/c... honda 26.0 \n", + "4 https://charlottesville.craigslist.org/cto/d/l... gmc 27.0 " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "## Wrangle the data\n", + "df = pd.DataFrame.from_dict(data)\n", + "df['price'] = df['price'].str.replace('$','')\n", + "df['price'] = df['price'].str.replace(',','')\n", + "df['price'] = pd.to_numeric(df['price'],errors='coerce')\n", + "df['year'] = pd.to_numeric(df['year'],errors='coerce')\n", + "df['age'] = 2025-df['year']\n", + "print(df.shape)\n", + "df.to_csv('craigslist_cville_cars.csv')\n", + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "count 92.000000\n", + "mean 8589.706522\n", + "std 8170.544206\n", + "min 1000.000000\n", + "25% 3187.500000\n", + "50% 5650.000000\n", + "75% 10625.000000\n", + "max 38000.000000\n", + "Name: price, dtype: float64\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "count 78.000000\n", + "mean 20.858974\n", + "std 13.437420\n", + "min 4.000000\n", + "25% 12.000000\n", + "50% 18.000000\n", + "75% 23.750000\n", + "max 67.000000\n", + "Name: age, dtype: float64\n" + ] + }, + { + "data": { + "image/png": "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uwMAOpEOiZO77747rr322rjqqqvihBNOiJkzZ0a3bt3il7/8ZUfcHQDQieT9s3V27NgRy5cvj6lTp+b2HXDAATFq1KhYvHjxLue3tLRES0tL7nZjY2NERDQ1NeV7tIiIaG15t0OuC3ReHfV81NE837EnHfGY/vCaWZbt87XyHif/+te/4v3334/Kyso2+ysrK+Ovf/3rLufX19fHnXfeucv+mpqafI8GsFcq7in0BJBfHfmY3rZtW1RUVOzTNQr+qcRTp06NyZMn5263trbGv//97+jVq1eUlJQUcLLCampqipqamli/fn2Ul5cXepykWJtPZn0+mfXZM2vzyazPnn24Nq+99lpUV1fv8/XyHie9e/eOAw88MDZv3txm/+bNm6OqqmqX88vKyqKsrKzNvh49euR7rM+s8vJy/wn2wNp8MuvzyazPnlmbT2Z99uyII46IAw7Y97ez5v0NsV26dIlTTjklFixYkNvX2toaCxYsiNra2nzfHQDQyXTIt3UmT54c48aNi1NPPTW+8IUvxD333BPNzc1x1VVXdcTdAQCdSIfEyWWXXRb//Oc/47bbbotNmzbF5z73uZg3b94ub5Jlz8rKyuL222/f5VteWJtPY30+mfXZM2vzyazPnuV7bUqyfPzMDwBAnvhsHQAgKeIEAEiKOAEAkiJOAICkiJMCW7RoUVxwwQVRXV0dJSUlMXfu3DbHsyyL2267Lfr27Rtdu3aNUaNGxerVqwsz7H5WX18fp512WnTv3j369OkTF110UaxatarNOdu3b4+6urro1atXHHrooTF27NhdfgFgZzRjxowYOnRo7pdB1dbWxlNPPZU7XqzrsjvTpk2LkpKSmDRpUm5fMa/PHXfcESUlJW22wYMH544X89p86B//+Ed85StfiV69ekXXrl3jpJNOimXLluWOF/Pz8sCBA3d5/JSUlERdXV1E5O/xI04KrLm5OYYNGxbTp0/f7fG77ror7r333pg5c2YsXbo0DjnkkBg9enRs3759P0+6/zU0NERdXV0sWbIk5s+fHzt37oxzzz03mpubc+fceOON8fjjj8ejjz4aDQ0NsWHDhrjkkksKOPX+0a9fv5g2bVosX748li1bFuecc05ceOGF8ec//zkiinddPu7FF1+Mn/70pzF06NA2+4t9fU488cTYuHFjbnv++edzx4p9bf7zn//EiBEj4qCDDoqnnnoqXnvttfjhD38Yhx12WO6cYn5efvHFF9s8dubPnx8REZdeemlE5PHxk5GMiMjmzJmTu93a2ppVVVVlP/jBD3L7tm7dmpWVlWUPP/xwASYsrC1btmQRkTU0NGRZ9sFaHHTQQdmjjz6aO+cvf/lLFhHZ4sWLCzVmwRx22GHZL37xC+vyf7Zt25Ydc8wx2fz587P/+Z//yW644YYsyzxubr/99mzYsGG7PVbsa5NlWXbzzTdnp59++h6Pe15u64YbbsiOOuqorLW1Na+PH6+cJGzdunWxadOmGDVqVG5fRUVFDB8+PBYvXlzAyQqjsbExIiJ69uwZERHLly+PnTt3tlmfwYMHR//+/Ytqfd5///145JFHorm5OWpra63L/6mrq4vzzz+/zTpEeNxERKxevTqqq6vjyCOPjCuvvDLefPPNiLA2ERG///3v49RTT41LL700+vTpEyeffHL8/Oc/zx33vPz/duzYEQ888EBcffXVUVJSktfHjzhJ2KZNmyIidvnNupWVlbljxaK1tTUmTZoUI0aMiCFDhkTEB+vTpUuXXT4osljW55VXXolDDz00ysrK4rrrros5c+bECSecUPTrEhHxyCOPxEsvvRT19fW7HCv29Rk+fHjMnj075s2bFzNmzIh169bFGWecEdu2bSv6tYmI+Pvf/x4zZsyIY445Jp5++umYMGFCfOMb34j7778/Ijwvf9TcuXNj69atMX78+IjI7/+tDvn19ZBvdXV18eqrr7b53nixO+6442LFihXR2NgYv/3tb2PcuHHR0NBQ6LEKbv369XHDDTfE/Pnz4+CDDy70OMkZM2ZM7s9Dhw6N4cOHx4ABA+I3v/lNdO3atYCTpaG1tTVOPfXU+P73vx8RESeffHK8+uqrMXPmzBg3blyBp0vLfffdF2PGjInq6uq8X9srJwmrqqqKiNjlnc6bN2/OHSsGEydOjCeeeCKee+656NevX25/VVVV7NixI7Zu3drm/GJZny5dusTRRx8dp5xyStTX18ewYcPixz/+cdGvy/Lly2PLli3x+c9/PkpLS6O0tDQaGhri3nvvjdLS0qisrCzq9fm4Hj16xLHHHhtr1qwp+sdORETfvn3jhBNOaLPv+OOPz33ry/PyB95444145pln4qtf/WpuXz4fP+IkYYMGDYqqqqpYsGBBbl9TU1MsXbo0amtrCzjZ/pFlWUycODHmzJkTzz77bAwaNKjN8VNOOSUOOuigNuuzatWqePPNN4tifT6utbU1Wlpain5dRo4cGa+88kqsWLEit5166qlx5ZVX5v5czOvzce+8806sXbs2+vbtW/SPnYiIESNG7PIrC/72t7/FgAEDIsLz8odmzZoVffr0ifPPPz+3L6+Pnzy/cZd22rZtW/byyy9nL7/8chYR2d133529/PLL2RtvvJFlWZZNmzYt69GjR/bYY49lK1euzC688MJs0KBB2XvvvVfgyTvehAkTsoqKimzhwoXZxo0bc9u7776bO+e6667L+vfvnz377LPZsmXLstra2qy2traAU+8fU6ZMyRoaGrJ169ZlK1euzKZMmZKVlJRkf/jDH7IsK9512ZOP/rROlhX3+nzzm9/MFi5cmK1bty774x//mI0aNSrr3bt3tmXLlizLinttsizLXnjhhay0tDT73ve+l61evTp78MEHs27dumUPPPBA7pxifl7Osix7//33s/79+2c333zzLsfy9fgRJwX23HPPZRGxyzZu3Lgsyz74sbVbb701q6yszMrKyrKRI0dmq1atKuzQ+8nu1iUislmzZuXOee+997Kvf/3r2WGHHZZ169Ytu/jii7ONGzcWbuj95Oqrr84GDBiQdenSJTv88MOzkSNH5sIky4p3Xfbk43FSzOtz2WWXZX379s26dOmSHXHEEdlll12WrVmzJne8mNfmQ48//ng2ZMiQrKysLBs8eHD2s5/9rM3xYn5ezrIse/rpp7OI2O2/OV+Pn5Isy7J9eGUHACCvvOcEAEiKOAEAkiJOAICkiBMAICniBABIijgBAJIiTgCApIgTACAp4gQASIo4AQCSIk4AgKSIEwAgKf8LrfHPx4jPb3oAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# EDA for price and age:\n", + "print(df['price'].describe())\n", + "df['price'].hist(grid=False)\n", + "plt.show()\n", + "print(df['age'].describe())\n", + "df['age'].hist(grid=False)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
price
countmeanstdmin25%50%75%max
brand
acura1.03500.000000NaN3500.03500.03500.03500.003500.0
audi1.011665.000000NaN11665.011665.011665.011665.0011665.0
bmw5.05860.0000003492.5635281800.03000.06000.08500.0010000.0
buick1.04500.000000NaN4500.04500.04500.04500.004500.0
chevrolet2.05750.0000001060.6601725000.05375.05750.06125.006500.0
chevy2.04000.0000000.0000004000.04000.04000.04000.004000.0
dodge6.07500.0000003224.9030992000.06250.08250.09875.0010500.0
ford10.07404.5000006914.1266221000.01625.05375.010700.0018995.0
gmc4.05787.5000002365.8596043500.04250.05375.06912.508900.0
honda9.06011.0000004392.2532941000.02899.05300.08700.0013000.0
jeep6.08465.8333337193.2332211500.02975.06997.511998.7520000.0
kia2.06500.0000004242.6406873500.05000.06500.08000.009500.0
missing25.010821.96000010061.3659711200.03000.06500.015000.0035000.0
mitsubishi1.03500.000000NaN3500.03500.03500.03500.003500.0
subaru4.08925.0000009810.3261922500.03550.04850.010225.0023500.0
tesla2.021450.0000006434.67170916900.019175.021450.023725.0026000.0
toyota7.014107.14285714253.4331703300.04100.07500.020875.0038000.0
volkswagen2.03100.0000002616.2950901250.02175.03100.04025.004950.0
volvo2.02050.00000070.7106782000.02025.02050.02075.002100.0
\n", + "
" + ], + "text/plain": [ + " price \\\n", + " count mean std min 25% 50% \n", + "brand \n", + "acura 1.0 3500.000000 NaN 3500.0 3500.0 3500.0 \n", + "audi 1.0 11665.000000 NaN 11665.0 11665.0 11665.0 \n", + "bmw 5.0 5860.000000 3492.563528 1800.0 3000.0 6000.0 \n", + "buick 1.0 4500.000000 NaN 4500.0 4500.0 4500.0 \n", + "chevrolet 2.0 5750.000000 1060.660172 5000.0 5375.0 5750.0 \n", + "chevy 2.0 4000.000000 0.000000 4000.0 4000.0 4000.0 \n", + "dodge 6.0 7500.000000 3224.903099 2000.0 6250.0 8250.0 \n", + "ford 10.0 7404.500000 6914.126622 1000.0 1625.0 5375.0 \n", + "gmc 4.0 5787.500000 2365.859604 3500.0 4250.0 5375.0 \n", + "honda 9.0 6011.000000 4392.253294 1000.0 2899.0 5300.0 \n", + "jeep 6.0 8465.833333 7193.233221 1500.0 2975.0 6997.5 \n", + "kia 2.0 6500.000000 4242.640687 3500.0 5000.0 6500.0 \n", + "missing 25.0 10821.960000 10061.365971 1200.0 3000.0 6500.0 \n", + "mitsubishi 1.0 3500.000000 NaN 3500.0 3500.0 3500.0 \n", + "subaru 4.0 8925.000000 9810.326192 2500.0 3550.0 4850.0 \n", + "tesla 2.0 21450.000000 6434.671709 16900.0 19175.0 21450.0 \n", + "toyota 7.0 14107.142857 14253.433170 3300.0 4100.0 7500.0 \n", + "volkswagen 2.0 3100.000000 2616.295090 1250.0 2175.0 3100.0 \n", + "volvo 2.0 2050.000000 70.710678 2000.0 2025.0 2050.0 \n", + "\n", + " \n", + " 75% max \n", + "brand \n", + "acura 3500.00 3500.0 \n", + "audi 11665.00 11665.0 \n", + "bmw 8500.00 10000.0 \n", + "buick 4500.00 4500.0 \n", + "chevrolet 6125.00 6500.0 \n", + "chevy 4000.00 4000.0 \n", + "dodge 9875.00 10500.0 \n", + "ford 10700.00 18995.0 \n", + "gmc 6912.50 8900.0 \n", + "honda 8700.00 13000.0 \n", + "jeep 11998.75 20000.0 \n", + "kia 8000.00 9500.0 \n", + "missing 15000.00 35000.0 \n", + "mitsubishi 3500.00 3500.0 \n", + "subaru 10225.00 23500.0 \n", + "tesla 23725.00 26000.0 \n", + "toyota 20875.00 38000.0 \n", + "volkswagen 4025.00 4950.0 \n", + "volvo 2075.00 2100.0 " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Price by brand:\n", + "df.loc[:,['price','brand']].groupby('brand').describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
age
countmeanstdmin25%50%75%max
brand
acura1.017.000000NaN17.017.0017.017.0017.0
audi0.0NaNNaNNaNNaNNaNNaNNaN
bmw3.014.3333333.51188511.012.5014.016.0018.0
buick0.0NaNNaNNaNNaNNaNNaNNaN
chevrolet2.032.5000004.94974729.030.7532.534.2536.0
chevy2.027.0000005.65685423.025.0027.029.0031.0
dodge3.033.33333315.69501021.024.5028.039.5051.0
ford9.023.44444418.5547248.013.0018.020.0067.0
gmc4.019.5000007.32575410.016.0020.524.0027.0
honda9.019.1111117.40682911.012.0019.022.0033.0
jeep5.029.00000020.2113839.022.0024.027.0063.0
kia2.012.5000004.9497479.010.7512.514.2516.0
missing21.021.66666716.3442146.012.0018.024.0062.0
mitsubishi1.019.000000NaN19.019.0019.019.0019.0
subaru4.015.0000005.3541267.014.5017.518.0018.0
tesla2.08.0000001.4142147.07.508.08.509.0
toyota6.012.5000007.3959454.07.0012.017.7522.0
volkswagen2.019.0000005.65685415.017.0019.021.0023.0
volvo2.027.0000008.48528121.024.0027.030.0033.0
\n", + "
" + ], + "text/plain": [ + " age \n", + " count mean std min 25% 50% 75% max\n", + "brand \n", + "acura 1.0 17.000000 NaN 17.0 17.00 17.0 17.00 17.0\n", + "audi 0.0 NaN NaN NaN NaN NaN NaN NaN\n", + "bmw 3.0 14.333333 3.511885 11.0 12.50 14.0 16.00 18.0\n", + "buick 0.0 NaN NaN NaN NaN NaN NaN NaN\n", + "chevrolet 2.0 32.500000 4.949747 29.0 30.75 32.5 34.25 36.0\n", + "chevy 2.0 27.000000 5.656854 23.0 25.00 27.0 29.00 31.0\n", + "dodge 3.0 33.333333 15.695010 21.0 24.50 28.0 39.50 51.0\n", + "ford 9.0 23.444444 18.554724 8.0 13.00 18.0 20.00 67.0\n", + "gmc 4.0 19.500000 7.325754 10.0 16.00 20.5 24.00 27.0\n", + "honda 9.0 19.111111 7.406829 11.0 12.00 19.0 22.00 33.0\n", + "jeep 5.0 29.000000 20.211383 9.0 22.00 24.0 27.00 63.0\n", + "kia 2.0 12.500000 4.949747 9.0 10.75 12.5 14.25 16.0\n", + "missing 21.0 21.666667 16.344214 6.0 12.00 18.0 24.00 62.0\n", + "mitsubishi 1.0 19.000000 NaN 19.0 19.00 19.0 19.00 19.0\n", + "subaru 4.0 15.000000 5.354126 7.0 14.50 17.5 18.00 18.0\n", + "tesla 2.0 8.000000 1.414214 7.0 7.50 8.0 8.50 9.0\n", + "toyota 6.0 12.500000 7.395945 4.0 7.00 12.0 17.75 22.0\n", + "volkswagen 2.0 19.000000 5.656854 15.0 17.00 19.0 21.00 23.0\n", + "volvo 2.0 27.000000 8.485281 21.0 24.00 27.0 30.00 33.0" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Age by brand:\n", + "df.loc[:,['age','brand']].groupby('brand').describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
titlepriceyearlinkbrandage
55audi allroad11665NaNhttps://charlottesville.craigslist.org/cto/d/c...audiNaN
\n", + "
" + ], + "text/plain": [ + " title price year \\\n", + "55 audi allroad 11665 NaN \n", + "\n", + " link brand age \n", + "55 https://charlottesville.craigslist.org/cto/d/c... audi NaN " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.loc[ df['brand']=='audi',:]" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlQAAAGwCAYAAABvpfsgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABH8ElEQVR4nO3de3hUVZrv8V8RkkDASoDciISbQRC5yiVm0LRKHtIYPY063Ro9goDyYAcUo4iMDrZOa2y7tVFk4HTrATmtoM4MdLe0IBNuI0QukTQXNcMlgDYkJGCqSIJJSNb5w04NBblXJbsq9f08Tz0PtdeqXWsvy6o3a7/73TZjjBEAAABarZPVAwAAAPB3BFQAAAAeIqACAADwEAEVAACAhwioAAAAPERABQAA4CECKgAAAA91tnoAHUVtba1OnTqlq666SjabzerhAACAZjDG6Pz584qLi1OnTq1fZyKg8pJTp04pPj7e6mEAAIBW+Oabb9SnT59Wv56AykuuuuoqST/8B7Hb7RaPBgAANIfT6VR8fLzrd7y1CKi8pO40n91uJ6ACAMDPeJquQ1I6AACAhwioAAAAPERABQAA4CECKgAAAA8RUAEAAHiIgAoAAMBDBFQAAAAeIqACAADwEAEVAACAhwioAAAAPMStZ/zAseIynThXof69umlAZDerhwMAAC5DQOXDSiuq9NjqPG0/XOzaljwoSkvSRys8LNjCkQEAgEtxys+HPbY6TzuOlLht23GkRHNX77NoRAAAoD4EVD7qWHGZth8uVo0xbttrjNH2w8UqKCm3aGQAAOByBFQ+6sS5ikbbj58loAIAwFcQUPmofj3DGm3v34vkdAAAfAUBlY8aGNVdyYOiFGSzuW0PstmUPCiKq/0AAPAhBFQ+bEn6aE1IiHTbNiEhUkvSR1s0IgAAUB/KJviw8LBgrZo5XgUl5Tp+tpw6VAAA+CgCKj8wIJJACgAAX8YpPwAAAA8RUAEAAHiIgAoAAMBDBFQAAAAeIqACAADwEAEVAACAhwioAAAAPERABQAA4CECKgAAAA8RUAEAAHiIgAoAAMBDBFQAAAAeIqACAADwEAEVAACAhwioAAAAPERABQAA4CECKgAAAA91tnoA8D3Hist04lyF+vfqpgGR3aweDgAAPs/SFaply5ZpxIgRstvtstvtSkpK0ieffOJqv+WWW2Sz2dwes2fPdtvHyZMnlZaWprCwMEVHR2v+/Pm6ePGiW5+tW7fqhhtuUGhoqBISErRy5corxrJ06VL1799fXbp0UWJionbv3t0mx+zLSiuqNPWd3brttW2avmKPbv3NVk19Z7ccFdVWDw0AAJ9maUDVp08fvfLKK8rNzdXevXt122236Sc/+YkOHTrk6vPII4/o9OnTrserr77qaqupqVFaWpqqqqq0c+dOvfvuu1q5cqUWLVrk6lNQUKC0tDTdeuutysvL07x58/Twww9r48aNrj4ffPCBMjMz9fzzz+uLL77QyJEjlZqaqjNnzrTPRPiIx1bnaceRErdtO46UaO7qfRaNCAAA/2AzxhirB3Gpnj176te//rVmzpypW265RaNGjdLixYvr7fvJJ5/ojjvu0KlTpxQTEyNJWr58uRYsWKDi4mKFhIRowYIFWr9+vQ4ePOh63X333afS0lJt2LBBkpSYmKhx48bprbfekiTV1tYqPj5ec+fO1TPPPFPve1dWVqqystL13Ol0Kj4+Xg6HQ3a73RtT0a6OFZfptte2Ndi+5albOP0HAOhwnE6nwsPDPf799pmk9JqaGq1Zs0bl5eVKSkpybX/vvfcUGRmpYcOGaeHChaqoqHC15eTkaPjw4a5gSpJSU1PldDpdq1w5OTlKSUlxe6/U1FTl5ORIkqqqqpSbm+vWp1OnTkpJSXH1qU9WVpbCw8Ndj/j4eM8mwGInzlU02n78bHk7jQQAAP9jeVL6gQMHlJSUpO+//17du3fX2rVrNXToUEnS/fffr379+ikuLk779+/XggULlJ+fr//4j/+QJBUWFroFU5JczwsLCxvt43Q6deHCBX333Xeqqampt8/XX3/d4LgXLlyozMxM1/O6FSp/1a9nWKPt/XuxOgUAQEMsD6gGDx6svLw8ORwO/du//ZumTZumbdu2aejQoZo1a5ar3/Dhw9W7d29NnDhRR48e1TXXXGPhqKXQ0FCFhoZaOgZvGhjVXcmDorTjSIlqLjkLHGSzaUJCJKf7AABohOWn/EJCQpSQkKAxY8YoKytLI0eO1BtvvFFv38TEREnSkSNHJEmxsbEqKipy61P3PDY2ttE+drtdXbt2VWRkpIKCgurtU7ePQLEkfbQmJES6bZuQEKkl6aMtGhEAAP7B8hWqy9XW1role18qLy9PktS7d29JUlJSkl566SWdOXNG0dHRkqRNmzbJbre7ThsmJSXpL3/5i9t+Nm3a5MrTCgkJ0ZgxY5Sdna0pU6a4xpCdna05c+Z4+/B8WnhYsFbNHK+CknIdP1tOHSoAAJrJ0oBq4cKFmjx5svr27avz58/r/fff19atW7Vx40YdPXpU77//vm6//Xb16tVL+/fv1xNPPKHk5GSNGDFCkjRp0iQNHTpUDz74oF599VUVFhbqueeeU0ZGhut03OzZs/XWW2/p6aef1owZM7R582Z9+OGHWr9+vWscmZmZmjZtmsaOHavx48dr8eLFKi8v1/Tp0y2ZF6sNiCSQAgCgRYyFZsyYYfr162dCQkJMVFSUmThxovn000+NMcacPHnSJCcnm549e5rQ0FCTkJBg5s+fbxwOh9s+jh8/biZPnmy6du1qIiMjzZNPPmmqq6vd+mzZssWMGjXKhISEmIEDB5oVK1ZcMZYlS5aYvn37mpCQEDN+/Hjz+eeft+hYHA6HkXTF+AAAgO/y1u+3z9Wh8lfeqmMBAADaT4erQwUAAOCvCKgAAAA8REAFAADgIQIqAAAADxFQAQAAeIiACgAAwEMEVAAAAB4ioAIAAPAQARUAAICHCKgAAAA8REAFAADgIQIqAAAADxFQAQAAeIiACgAAwEMEVAAAAB4ioAIAAPBQZ6sHgLZzrLhMJ85VqH+vbhoQ2c3q4QAA0GERUHVApRVVemx1nrYfLnZtSx4UpSXpoxUeFmzhyAAA6Jg45dcBPbY6TzuOlLht23GkRHNX77NoRAAAdGwEVB3MseIybT9crBpj3LbXGKPth4tVUFJu0cgAAOi4CKg6mBPnKhptP36WgAoAAG8joOpg+vUMa7S9fy+S0wEA8DYCqg5mYFR3JQ+KUpDN5rY9yGZT8qAorvYDAKANEFB1QEvSR2tCQqTbtgkJkVqSPtqiEQEA0LFRNqEDCg8L1qqZ41VQUq7jZ8upQwUAQBsjoOrABkQSSAEA0B445QcAAOAhVqgCFLelAQDAewioAgy3pQEAwPs45RdguC0NAADeR0AVQLgtDQAAbYOAKoBwWxoAANoGAVUA4bY0AAC0DQKqAMJtaQAAaBuWBlTLli3TiBEjZLfbZbfblZSUpE8++cTV/v333ysjI0O9evVS9+7ddc8996ioqMhtHydPnlRaWprCwsIUHR2t+fPn6+LFi259tm7dqhtuuEGhoaFKSEjQypUrrxjL0qVL1b9/f3Xp0kWJiYnavXt3mxyz1bgtDQAA3mdp2YQ+ffrolVde0aBBg2SM0bvvvquf/OQn2rdvn66//no98cQTWr9+vT766COFh4drzpw5uvvuu7Vjxw5JUk1NjdLS0hQbG6udO3fq9OnTmjp1qoKDg/Xyyy9LkgoKCpSWlqbZs2frvffeU3Z2th5++GH17t1bqampkqQPPvhAmZmZWr58uRITE7V48WKlpqYqPz9f0dHRls1PW+C2NAAAtAHjY3r06GHefvttU1paaoKDg81HH33kavvqq6+MJJOTk2OMMeYvf/mL6dSpkyksLHT1WbZsmbHb7aaystIYY8zTTz9trr/+erf3uPfee01qaqrr+fjx401GRobreU1NjYmLizNZWVnNHrfD4TCSjMPhaNkBAwAAy3jr99tncqhqamq0Zs0alZeXKykpSbm5uaqurlZKSoqrz5AhQ9S3b1/l5ORIknJycjR8+HDFxMS4+qSmpsrpdOrQoUOuPpfuo65P3T6qqqqUm5vr1qdTp05KSUlx9alPZWWlnE6n2wMAAAQmywOqAwcOqHv37goNDdXs2bO1du1aDR06VIWFhQoJCVFERIRb/5iYGBUWFkqSCgsL3YKpuva6tsb6OJ1OXbhwQSUlJaqpqam3T90+6pOVlaXw8HDXIz4+vlXHDwAA/J/lAdXgwYOVl5enXbt26dFHH9W0adP05ZdfWj2sJi1cuFAOh8P1+Oabb6weEgAAsIjl9/ILCQlRQkKCJGnMmDHas2eP3njjDd17772qqqpSaWmp2ypVUVGRYmNjJUmxsbFXXI1XdxXgpX0uvzKwqKhIdrtdXbt2VVBQkIKCgurtU7eP+oSGhio0NLR1Bw0AADoUy1eoLldbW6vKykqNGTNGwcHBys7OdrXl5+fr5MmTSkpKkiQlJSXpwIEDOnPmjKvPpk2bZLfbNXToUFefS/dR16duHyEhIRozZoxbn9raWmVnZ7v6AAAANMbSFaqFCxdq8uTJ6tu3r86fP6/3339fW7du1caNGxUeHq6ZM2cqMzNTPXv2lN1u19y5c5WUlKQbb7xRkjRp0iQNHTpUDz74oF599VUVFhbqueeeU0ZGhmv1aPbs2Xrrrbf09NNPa8aMGdq8ebM+/PBDrV+/3jWOzMxMTZs2TWPHjtX48eO1ePFilZeXa/r06ZbMCwAA8DNeuuqwVWbMmGH69etnQkJCTFRUlJk4caL59NNPXe0XLlwwP//5z02PHj1MWFiYueuuu8zp06fd9nH8+HEzefJk07VrVxMZGWmefPJJU11d7dZny5YtZtSoUSYkJMQMHDjQrFix4oqxLFmyxPTt29eEhISY8ePHm88//7xFx0LZBAAA/I+3fr9txhhjdVDXETidToWHh8vhcMhut1s9HAAA0Aze+v32uRwqAAAAf0NABQAA4CHLyyYAABAojhWX6cS5Cu6j2gERUAEA0MZKK6r02Oo8bT9c7NqWPChKS9JHKzws2MKRwVs45QcAQBt7bHWedhwpcdu240iJ5q7eZ9GI4G0EVAAAtKFjxWXafrhYNZddVF9jjLYfLlZBSblFI4M3EVABANCGTpyraLT9+FkCqo6AgAoAgDbUr2dYo+39e5Gc3hEQUAEA0IYGRnVX8qAoBdlsbtuDbDYlD4riar8OgoAKAIA2tiR9tCYkRLptm5AQqSXpoy0aEbyNsgkAALSx8LBgrZo5XgUl5Tp+tpw6VB0QARUAAO1kQCSBVEfFKT8AAAAPEVABAAB4iIAKAADAQwRUAAAAHiKgAgAA8BABFQAAgIcIqAAAADxEQAUAAOAhAioAAAAPEVABAAB4iIAKAADAQwRUAAAAHiKgAgAA8FBnqwcA/3KsuEwnzlWofy/umA4AQB0CKjRLaUWVHludp+2Hi13bkgdFaUn6aIWHBVs4MgAArMcpPzTLY6vztONIidu2HUdKNHf1PotGBACA7yCgQpOOFZdp++Fi1Rjjtr3GGG0/XKyCknKLRgYAgG8goEKTTpyraLT9+FkCKgBAYCOgQpP69QxrtL1/L5LTAQCBjYAKTRoY1V3Jg6IUZLO5bQ+y2ZQ8KIqr/QAAAY+ACs2yJH20JiREum2bkBCpJemjLRoRAAC+g7IJaJbwsGCtmjleBSXlOn62nDpUAABcwtIVqqysLI0bN05XXXWVoqOjNWXKFOXn57v1ueWWW2Sz2dwes2fPdutz8uRJpaWlKSwsTNHR0Zo/f74uXrzo1mfr1q264YYbFBoaqoSEBK1cufKK8SxdulT9+/dXly5dlJiYqN27d3v9mP3dgMhuunVwNMEUgIB2rLhMW/LPcJUzXCxdodq2bZsyMjI0btw4Xbx4Uf/0T/+kSZMm6csvv1S3bv/zg/3II4/oxRdfdD0PC/ufJOmamhqlpaUpNjZWO3fu1OnTpzV16lQFBwfr5ZdfliQVFBQoLS1Ns2fP1nvvvafs7Gw9/PDD6t27t1JTUyVJH3zwgTIzM7V8+XIlJiZq8eLFSk1NVX5+vqKjo9tpRgAAvowix2iIzZjLigtZqLi4WNHR0dq2bZuSk5Ml/bBCNWrUKC1evLje13zyySe64447dOrUKcXExEiSli9frgULFqi4uFghISFasGCB1q9fr4MHD7ped99996m0tFQbNmyQJCUmJmrcuHF66623JEm1tbWKj4/X3Llz9cwzzzQ5dqfTqfDwcDkcDtntdk+mAQDgo6a+s1s7jpS41eULstk0ISFSq2aOt3BkaC1v/X77VFK6w+GQJPXs2dNt+3vvvafIyEgNGzZMCxcuVEXF/9RFysnJ0fDhw13BlCSlpqbK6XTq0KFDrj4pKSlu+0xNTVVOTo4kqaqqSrm5uW59OnXqpJSUFFefy1VWVsrpdLo9AAAdF0WO0RifSUqvra3VvHnzNGHCBA0bNsy1/f7771e/fv0UFxen/fv3a8GCBcrPz9d//Md/SJIKCwvdgilJrueFhYWN9nE6nbpw4YK+++471dTU1Nvn66+/rne8WVlZeuGFFzw7aACA32hOkWPySwOXzwRUGRkZOnjwoD777DO37bNmzXL9e/jw4erdu7cmTpyoo0eP6pprrmnvYbosXLhQmZmZrudOp1Px8fGWjQcA0LYocozG+MQpvzlz5ujjjz/Wli1b1KdPn0b7JiYmSpKOHDkiSYqNjVVRUZFbn7rnsbGxjfax2+3q2rWrIiMjFRQUVG+fun1cLjQ0VHa73e0BAOi4KHKMxlgaUBljNGfOHK1du1abN2/WgAEDmnxNXl6eJKl3796SpKSkJB04cEBnzpxx9dm0aZPsdruGDh3q6pOdne22n02bNikpKUmSFBISojFjxrj1qa2tVXZ2tqsPAAAUOUaDjIUeffRREx4ebrZu3WpOnz7telRUVBhjjDly5Ih58cUXzd69e01BQYH54x//aAYOHGiSk5Nd+7h48aIZNmyYmTRpksnLyzMbNmwwUVFRZuHCha4+x44dM2FhYWb+/Pnmq6++MkuXLjVBQUFmw4YNrj5r1qwxoaGhZuXKlebLL780s2bNMhEREaawsLBZx+JwOIwk43A4vDQ7AABfday4zGz+usgcKy6zeijwkLd+vy0NqCTV+1ixYoUxxpiTJ0+a5ORk07NnTxMaGmoSEhLM/Pnzrzjo48ePm8mTJ5uuXbuayMhI8+STT5rq6mq3Plu2bDGjRo0yISEhZuDAga73uNSSJUtM3759TUhIiBk/frz5/PPPm30sBFQAAPgfb/1++1QdKn9GHSoAAPxPh6xDBQAA4I8IqAAAADxEQAUAAOAhnynsifZ1rLhMJ85VqH+vbtROAQDAQwRUAYY7pQMA4H2c8gswj63O044jJW7bdhwp0dzV+ywaEQAA/o+AKoBwp3QAANoGAVUAac6d0gEAQMsRUAUQ7pQOAEDbIKAKINwpHQCAtkFAFWC4UzoAAN5H2YQAEx4WrFUzx6ugpFzHz5ZThwoAAC8goApQAyIJpAAA8BZO+QEAAHiIgAoAAMBDBFQAAAAeIqACAADwEAEVAACAhwioAAAAPERABQAA4CECKgAAAA8RUAEAAHiIgAoAAMBDBFQAAAAeIqACAADwEAEVAACAhwioAAAAPERABQAA4CECKgAAAA8RUAEAAHio1QHV//t//08TJkxQXFycTpw4IUlavHix/vjHP3ptcAAAAP6gVQHVsmXLlJmZqdtvv12lpaWqqamRJEVERGjx4sXeHB8AAIDPa1VAtWTJEv3+97/Xs88+q6CgINf2sWPH6sCBA14bHAAAgD9oVUBVUFCg0aNHX7E9NDRU5eXlHg8KAADAn7QqoBowYIDy8vKu2L5hwwZdd911no4JwGWOFZdpS/4ZFZTwBwsA+KJWBVSZmZnKyMjQBx98IGOMdu/erZdeekkLFy7U008/3ez9ZGVlady4cbrqqqsUHR2tKVOmKD8/363P999/r4yMDPXq1Uvdu3fXPffco6KiIrc+J0+eVFpamsLCwhQdHa358+fr4sWLbn22bt2qG264QaGhoUpISNDKlSuvGM/SpUvVv39/denSRYmJidq9e3fzJwVoA6UVVZr6zm7d9to2TV+xR7f+ZqumvrNbjopqq4cGALhEqwKqhx9+WL/61a/03HPPqaKiQvfff7+WLVumN954Q/fdd1+z97Nt2zZlZGTo888/16ZNm1RdXa1Jkya5nTZ84okn9Oc//1kfffSRtm3bplOnTunuu+92tdfU1CgtLU1VVVXauXOn3n33Xa1cuVKLFi1y9SkoKFBaWppuvfVW5eXlad68eXr44Ye1ceNGV58PPvhAmZmZev755/XFF19o5MiRSk1N1ZkzZ1ozRYBXPLY6TzuOlLht23GkRHNX77NoRACA+tiMMcaTHVRUVKisrEzR0dEeD6a4uFjR0dHatm2bkpOT5XA4FBUVpffff1//+I//KEn6+uuvdd111yknJ0c33nijPvnkE91xxx06deqUYmJiJEnLly/XggULVFxcrJCQEC1YsEDr16/XwYMHXe913333qbS0VBs2bJAkJSYmaty4cXrrrbckSbW1tYqPj9fcuXP1zDPPXDHWyspKVVZWup47nU7Fx8fL4XDIbrd7PBfAseIy3fbatgbbtzx1iwZEdmvHEQFAx+N0OhUeHu7x73erk9IPHz4sSa7TbJJ0+PBhHT9+vNWDcTgckqSePXtKknJzc1VdXa2UlBRXnyFDhqhv377KycmRJOXk5Gj48OGuYEqSUlNT5XQ6dejQIVefS/dR16duH1VVVcrNzXXr06lTJ6WkpLj6XC4rK0vh4eGuR3x8fKuPG6jPiXMVjbYfP0s+FQD4ilYFVA899JB27tx5xfZdu3bpoYceatVAamtrNW/ePE2YMEHDhg2TJBUWFiokJEQRERFufWNiYlRYWOjqc2kwVdde19ZYH6fTqQsXLqikpEQ1NTX19qnbx+UWLlwoh8PhenzzzTetOm6gIf16hjXa3r8Xq1MA4CtaFVDt27dPEyZMuGL7jTfeWO/Vf82RkZGhgwcPas2aNa16fXsLDQ2V3W53ewDeNDCqu5IHRSnIZnPbHmSzKXlQFKf7AMCHtCqgstlsOn/+/BXbHQ6Hq2p6S8yZM0cff/yxtmzZoj59+ri2x8bGqqqqSqWlpW79i4qKFBsb6+pz+VV/dc+b6mO329W1a1dFRkYqKCio3j51+wCssCR9tCYkRLptm5AQqSXpV9aBAwBYp1UBVXJysrKystyCp5qaGmVlZemmm25q9n6MMZozZ47Wrl2rzZs3a8CAAW7tY8aMUXBwsLKzs13b8vPzdfLkSSUlJUmSkpKSdODAAber8TZt2iS73a6hQ4e6+ly6j7o+dfsICQnRmDFj3PrU1tYqOzvb1QewQnhYsFbNHK8tT92iFdPHactTt2jVzPEKDwu2emgAgEuZVjh06JDp1auXueaaa8xDDz1kHnroIXPNNdeYqKgoc+DAgWbv59FHHzXh4eFm69at5vTp065HRUWFq8/s2bNN3759zebNm83evXtNUlKSSUpKcrVfvHjRDBs2zEyaNMnk5eWZDRs2mKioKLNw4UJXn2PHjpmwsDAzf/5889VXX5mlS5eaoKAgs2HDBlefNWvWmNDQULNy5Urz5ZdfmlmzZpmIiAhTWFjYrGNxOBxGknE4HM0+fgAAYC1v/X63KqAyxpi//e1vZuHCheb2228399xzj3nhhRfM2bNnW/bmUr2PFStWuPpcuHDB/PznPzc9evQwYWFh5q677jKnT59228/x48fN5MmTTdeuXU1kZKR58sknTXV1tVufLVu2mFGjRpmQkBAzcOBAt/eos2TJEtO3b18TEhJixo8fbz7//PNmH0tHCqiOnjlvNn9dZI4Vl1k9FAAA2pS3fr89rkOFH3irjoWVSiuq9NjqPG0/XOzaljwoSkvSR3OKCQDQIXnr97tzczvu379fw4YNU6dOnbR///5G+44YMaLVA4J1GqvKvWrmeItGBQCA72t2QDVq1CgVFhYqOjpao0aNks1mU32LWzabrVVX+sFax4rL3Fam6tQYo+2Hi1VQUs5l+gAANKDZAVVBQYGioqJc/4bvO1ZcphPnKtS/V7cmg6HmVOUmoAIAWKUlv2lWaHZA1a9fP0lSdXW1XnjhBf3zP//zFWUO4BtakwtFVW4AgC/yl/zeFtehCg4O1r//+7+3xVjgJY3lQjWEqtwAAF/Umt80K7SqsOeUKVO0bt06Lw8F3lCXC1VzWX7bpblQDaEqNwDAl3jym9bemn3K71KDBg3Siy++qB07dmjMmDHq1s199eKxxx7zyuDQcp7kQtVV5S4oKdfxs+U+e54aABAY/Cm/t1UB1TvvvKOIiAjl5uYqNzfXrc1msxFQWcgbuVADIgmkAADW86f83lYFVJde5VdXOsF2We4NrFGXC7XjSInbEmmQzaYJCZEESgAAv+FPv2mtyqGSflilGjZsmLp06aIuXbpo2LBhevvtt705NrQSuVAAgI7CX37TWrVCtWjRIr3++uuaO3eukpKSJEk5OTl64okndPLkSb344oteHSRahlwoAEBH4S+/aa26l19UVJTefPNNpaenu21fvXq15s6dq5KSkgZe2XF1hHv5oXl8vbgcAKD52v1efpeqrq7W2LFjr9g+ZswYXbx4sdWDAXyZvxSXAwC0v1blUD344INatmzZFdt/97vf6YEHHvB4UIAv8pficgCA9teqFSrph6T0Tz/9VDfeeKMkadeuXTp58qSmTp2qzMxMV7/XX3/d81ECFuPm0QCAxrQqoDp48KBuuOEGSdLRo0clSZGRkYqMjNTBgwdd/SilgI7Cn4rLAQDaX6sCqi1btnh7HIBP86ficgCA9tfqOlTwb8eKy7Ql/4xP3QfJl3HzaABAY1qdQwX/xJVqrbckfbTmrt7nNne+WFwOAND+WlWHClfylzpUU9/Z3WAJ/1Uzx1s4Mv/h68XlAADNZ2kdKvgnrlTzDm4eDQC4HDlUAaQ5V6oBAICWI6AKIFypBgBA2yCgCiBcqQYAQNsgoAowS9JHa0JCpNs2rlQDAMAzJKUHmPCwYK2aOZ4r1QAA8CICqgDFlWoAAHgPp/wAAAA8REAFAADgIQIqAAAADxFQAQAAeIiACgAAwEMEVAAAAB4ioAIAAPCQpQHV9u3bdeeddyouLk42m03r1q1za3/ooYdks9ncHj/+8Y/d+pw7d04PPPCA7Ha7IiIiNHPmTJWVlbn12b9/v26++WZ16dJF8fHxevXVV68Yy0cffaQhQ4aoS5cuGj58uP7yl794/Xjb27HiMm3JP6OCEm56DABAW7K0sGd5eblGjhypGTNm6O677663z49//GOtWLHC9Tw0NNSt/YEHHtDp06e1adMmVVdXa/r06Zo1a5bef/99SZLT6dSkSZOUkpKi5cuX68CBA5oxY4YiIiI0a9YsSdLOnTuVnp6urKws3XHHHXr//fc1ZcoUffHFFxo2bFgbHX3bKa2o0mOr87T9cLFrW/KgKC1JH63wsGALRwYAQMdkM8YYqwchSTabTWvXrtWUKVNc2x566CGVlpZesXJV56uvvtLQoUO1Z88ejR07VpK0YcMG3X777fr2228VFxenZcuW6dlnn1VhYaFCQkIkSc8884zWrVunr7/+WpJ07733qry8XB9//LFr3zfeeKNGjRql5cuXN2v8TqdT4eHhcjgcstvtrZgB75n6zm7tOFKimkv+0wbZbJqQEKlVM8dbODIAAHyLt36/fT6HauvWrYqOjtbgwYP16KOP6uzZs662nJwcRUREuIIpSUpJSVGnTp20a9cuV5/k5GRXMCVJqampys/P13fffefqk5KS4va+qampysnJaXBclZWVcjqdbg9fcKy4TNsPF7sFU5JUY4y2Hy7m9B8AAG3ApwOqH//4x1q1apWys7P1q1/9Stu2bdPkyZNVU1MjSSosLFR0dLTbazp37qyePXuqsLDQ1ScmJsatT93zpvrUtdcnKytL4eHhrkd8fLxnB+slJ85VNNp+/CwBFQAA3ubTN0e+7777XP8ePny4RowYoWuuuUZbt27VxIkTLRyZtHDhQmVmZrqeO51Onwiq+vUMa7S9fy9uiAwAgLf59ArV5QYOHKjIyEgdOXJEkhQbG6szZ8649bl48aLOnTun2NhYV5+ioiK3PnXPm+pT116f0NBQ2e12t4cvGBjVXcmDohRks7ltD7LZlDwoSgMiCagAAPA2vwqovv32W509e1a9e/eWJCUlJam0tFS5ubmuPps3b1Ztba0SExNdfbZv367q6mpXn02bNmnw4MHq0aOHq092drbbe23atElJSUltfUhtYkn6aE1IiHTbNiEhUkvSR1s0IgAAOjZLr/IrKytzrTaNHj1ar7/+um699Vb17NlTPXv21AsvvKB77rlHsbGxOnr0qJ5++mmdP39eBw4ccJVPmDx5soqKirR8+XJX2YSxY8e6yiY4HA4NHjxYkyZN0oIFC3Tw4EHNmDFDv/3tb93KJvzoRz/SK6+8orS0NK1Zs0Yvv/xyi8om+NJVfnUKSsp1/Gy5+vfqxsoUAAD18Nrvt7HQli1bjKQrHtOmTTMVFRVm0qRJJioqygQHB5t+/fqZRx55xBQWFrrt4+zZsyY9Pd10797d2O12M336dHP+/Hm3Pn/961/NTTfdZEJDQ83VV19tXnnllSvG8uGHH5prr73WhISEmOuvv96sX7++RcficDiMJONwOFo+EQAAwBLe+v32mTpU/s4XV6gAAEDjAqYOFQAAgK8joAIAAPAQARUAAICHCKgAAAA8REAFAADgIQIqAAAADxFQAQAAeMinb46MjuVYcZlOnKugcjsAoMMhoEKbK62o0mOr87T9cLFrW/KgKC1JH63wsGALRwYAgHdwyg9t7rHVedpxpMRt244jJZq7ep9FIwIAwLsIqNCmjhWXafvhYtVcdoejGmO0/XCxCkrKLRoZAADeQ0CFFjlWXKYt+WeaHQidOFfRaPvxswRUAAD/Rw4VmqW1eVD9eoY1ut/+vUhOBwD4P1ao0CytzYMaGNVdyYOiFGSzuW0PstmUPCiKq/0AAB0CARWa5Gke1JL00ZqQEOm2bUJCpJakj/b6WAEAsAKn/NCk5uRBNbbSFB4WrFUzx6ugpFzHz5ZThwoA0OGwQoUmeSsPyly2wgUAQEfBChWaVJcHteNIidtpvyCbTRMSIptcbaKwJwCgo2OFCs3iSR4UhT0BAB0dK1RoltbmQdUltF/u0oR28qkAAP6OgAotMiCyZQnlnia0AwDgDwio0KYo7Ak0z7HiMp04V8FVsICfIqBCm/I0oR3o6LhoA+gYSEpHm6OwJ9AwLtoAOgZWqNDmKOwJ1I+LNoCOg4AqQFmRr9HShHago+OiDaDjIKAKMORrAL6DizaAjoMcqgBDvgbgO+ou2giy2dy2B9lsSh4UxeoU4EcIqAJIXb5GzWX31Ls0XwNA++KiDaBj4JRfACFfA/A9XLQBdAwEVAHEG/kaFB8E2gYXbbQNvrPQXgioAognRTZJZgfgT/jOQnsjhyrAtDZfg2R2AP6E7yy0N1aoAkxr8jUoPgjAn/CdBSuwQhWgBkR2062Do5v1pdKcZHYA8BV8Z8EKlgZU27dv15133qm4uDjZbDatW7fOrd0Yo0WLFql3797q2rWrUlJSdPjwYbc+586d0wMPPCC73a6IiAjNnDlTZWVlbn3279+vm2++WV26dFF8fLxeffXVK8by0UcfaciQIerSpYuGDx+uv/zlL14/Xn9F8UEA/oTvLFjB0oCqvLxcI0eO1NKlS+ttf/XVV/Xmm29q+fLl2rVrl7p166bU1FR9//33rj4PPPCADh06pE2bNunjjz/W9u3bNWvWLFe70+nUpEmT1K9fP+Xm5urXv/61fvGLX+h3v/udq8/OnTuVnp6umTNnat++fZoyZYqmTJmigwcPtt3B+xGKDwLwJ3xnwQo2Yy6r8mgRm82mtWvXasqUKZJ+WJ2Ki4vTk08+qaeeekqS5HA4FBMTo5UrV+q+++7TV199paFDh2rPnj0aO3asJGnDhg26/fbb9e233youLk7Lli3Ts88+q8LCQoWEhEiSnnnmGa1bt05ff/21JOnee+9VeXm5Pv74Y9d4brzxRo0aNUrLly+vd7yVlZWqrKx0PXc6nYqPj5fD4ZDdbvf6/FjNUVGtuav3ccUMAL/Adxaay+l0Kjw83OPfb59NSi8oKFBhYaFSUlJc28LDw5WYmKicnBzdd999ysnJUUREhCuYkqSUlBR16tRJu3bt0l133aWcnBwlJye7gilJSk1N1a9+9St999136tGjh3JycpSZmen2/qmpqVecgrxUVlaWXnjhBe8dsI+j+CAAf8J3FtqbzyalFxYWSpJiYmLctsfExLjaCgsLFR0d7dbeuXNn9ezZ061Pffu49D0a6lPXXp+FCxfK4XC4Ht98801LD9Ev+ciCJnzUseIybck/w22M4DNacgEO4AmfXaHydaGhoQoNDbV6GO2GInloDJ8PAIHOZ1eoYmNjJUlFRUVu24uKilxtsbGxOnPmjFv7xYsXde7cObc+9e3j0vdoqE9dOyiSh8bx+QAQ6Hw2oBowYIBiY2OVnZ3t2uZ0OrVr1y4lJSVJkpKSklRaWqrc3FxXn82bN6u2tlaJiYmuPtu3b1d1dbWrz6ZNmzR48GD16NHD1efS96nrU/c+ga6uSF7NZaf7Li2Sh8DF5wMALA6oysrKlJeXp7y8PEk/JKLn5eXp5MmTstlsmjdvnn75y1/qT3/6kw4cOKCpU6cqLi7OdSXgddddpx//+Md65JFHtHv3bu3YsUNz5szRfffdp7i4OEnS/fffr5CQEM2cOVOHDh3SBx98oDfeeMMtCf3xxx/Xhg0b9Nprr+nrr7/WL37xC+3du1dz5sxp7ynxSRTJQ2P4fACAxTlUe/fu1a233up6XhfkTJs2TStXrtTTTz+t8vJyzZo1S6Wlpbrpppu0YcMGdenSxfWa9957T3PmzNHEiRPVqVMn3XPPPXrzzTdd7eHh4fr000+VkZGhMWPGKDIyUosWLXKrVfUP//APev/99/Xcc8/pn/7pnzRo0CCtW7dOw4YNa4dZ8H0UyfNtx4rLdOJchWVXMfH5AAAfqkPl77xVx8JXTX1nt3YcKXE7rRNks2lCQqRWzRxv4cgCly8lgvP5AOCvvPX77bM5VPAtS9JHa0JCpNu2CQmRWpI+2iv753L7lvOlRPC2/nwAgK9jhcpLOvoKVR1vF8nzpVUWf3KsuEy3vbatwfYtT91iyek/iigC8DesUMES3i6S50urLP7EVxPBKaIIIFARUMEyXG7feiSCA4BvIaCCZXx1laUpvpDvNTCqu5IHRSnIZnPbHmSzKXlQFCtEANDOuPUMLONvqyy+lu+1JH205q7e5zYeEsEBwBoEVLBM3SpLQ5fb+9oqS2P5XlaUBggPC9aqmeNJBAcAH8ApP1jql1OGyd7VPa63d+2sl6b4VlFVX873IhEcAKxHQAVLPbfuoJwXLrptc164qGfXHbRoRPXz13wvAED7IKCCZXx51edy/pbvBQBoXwRUsIw/rfpwVR0AoDEEVLCML6/61FcagdurtC1fKEcBAK3FVX6wjC9e5ddUaQSuqvM+XytHAQCtwQoVLOVrqz7NuRUOV9V5F7cfAtARsEIFS/nSqk9dkvzlLk2SJ4jyLuYcQEfBChV8gi+s+vhTknxHwZwD6CgIqIC/8+Uk+Y6KOQfQURBQAX9HaYT2x5wD6CgIqIBL+FqSfCBgzgF0BDZjLitTjVZxOp0KDw+Xw+GQ3W63ejjwkC8kyQca5hyAFbz1+81VfkA9BkQG9o/6seIynThX4fXgprH9BvqcA/BvBFQAXNqqyCbFOwF0dORQAXBpTpHN1twihuKdADo6VqgASGq6yOZfv/lOr316uMWrTBTvBBAIWKECIKnpIpvPrj3YqlUmincCCAQEVPBrrTn9hPo1VWTz4Cmn202sJfdVptbul+KdADoCTvnBL7V1knNbXeXmy+qKbO44UuIWOAXZbLou7iod/JuzwdceP9vwabvG9jshITJg5hdAx8YKFfxSWyU5l1ZUaeo7u3Xba9s0fcUe3fqbrZr6zm45Kqo92q+/aKjI5ktThjX6uqZWmSjeCaCjY4UKfqctk5wbC9RWzRzfqn36k/CwYK2aOb7eIpuerDI1tl8A6AhYoYLfaW6Sc0vzq+oCtdbkCXnK13LBBkR2062Do92CHm+sMtW3XwDoCFihgt9pKsm5Z1iwpr6zu8X5Vc0J1LwdCPhTwUtWmQCgYaxQwe/UJTkH2Wxu24NsNiUPitJrnx5uVX6VFVej+WPBS1aZAOBKBFTwSw2dfnpy0qBWn7YbGNVdSQN71duWNLCX1wMIK08xAgC8i1N+8EsNnX7akn+m0dc1ddruskWvJrd7wopTjACAtuHTK1S/+MUvZLPZ3B5DhgxxtX///ffKyMhQr1691L17d91zzz0qKipy28fJkyeVlpamsLAwRUdHa/78+bp48aJbn61bt+qGG25QaGioEhIStHLlyvY4PHjB5aefPDltd6y4TDuPnq23befRs64VI28lkFPw0n/52kUEAKzn8ytU119/vf7zP//T9bxz5/8Z8hNPPKH169fro48+Unh4uObMmaO7775bO3bskCTV1NQoLS1NsbGx2rlzp06fPq2pU6cqODhYL7/8siSpoKBAaWlpmj17tt577z1lZ2fr4YcfVu/evZWamtq+BwuP1Z22yzl2ZWDU1Gm7plaMDp5y6Pk/HvJaAjkFL/2PP11EAKB9+fQKlfRDABUbG+t6REb+kDfjcDj0zjvv6PXXX9dtt92mMWPGaMWKFdq5c6c+//xzSdKnn36qL7/8Un/4wx80atQoTZ48Wf/yL/+ipUuXqqqqSpK0fPlyDRgwQK+99pquu+46zZkzR//4j/+o3/72t5YdMzzT2tN2Ta0Yrdp5vMkE8pauXFDw0r/440UEANqHz69QHT58WHFxcerSpYuSkpKUlZWlvn37Kjc3V9XV1UpJSXH1HTJkiPr27aucnBzdeOONysnJ0fDhwxUTE+Pqk5qaqkcffVSHDh3S6NGjlZOT47aPuj7z5s1rdFyVlZWqrKx0PXc6G74tB9pPc07bteYWKaP7RmjP8e+ueE1dAvlfv/lOr316uMUrF5Qi8B9tWVAWgP/z6RWqxMRErVy5Uhs2bNCyZctUUFCgm2++WefPn1dhYaFCQkIUERHh9pqYmBgVFhZKkgoLC92Cqbr2urbG+jidTl24cKHBsWVlZSk8PNz1iI+P9/Rw4QXNLfrZkIZWjKb/Q/9GX/fs2oMerVxQisD3efrZAtCx+fQK1eTJk13/HjFihBITE9WvXz99+OGH6tq1q4UjkxYuXKjMzEzXc6fTSVDlAzxN9G5oxWhbE1cPHjx15QolKxcdCxcRAGiMT69QXS4iIkLXXnutjhw5otjYWFVVVam0tNStT1FRkWJjYyVJsbGxV1z1V/e8qT52u73RoC00NFR2u93tAes1VfSzuYHN5StGtR6MiZWLjsFbny0AHZNfBVRlZWU6evSoevfurTFjxig4OFjZ2dmu9vz8fJ08eVJJSUmSpKSkJB04cEBnzvzP6sKmTZtkt9s1dOhQV59L91HXp24f8D9tkejtyf8orFx0HFxEAKAhPn3K76mnntKdd96pfv366dSpU3r++ecVFBSk9PR0hYeHa+bMmcrMzFTPnj1lt9s1d+5cJSUl6cYbb5QkTZo0SUOHDtWDDz6oV199VYWFhXruueeUkZGh0NBQSdLs2bP11ltv6emnn9aMGTO0efNmffjhh1q/fr2Vhw4PtEWid1MrVMPi7Prq9HnKH3RwXEQAoCE+HVB9++23Sk9P19mzZxUVFaWbbrpJn3/+uaKioiRJv/3tb9WpUyfdc889qqysVGpqqv71X//V9fqgoCB9/PHHevTRR5WUlKRu3bpp2rRpevHFF119BgwYoPXr1+uJJ57QG2+8oT59+ujtt9+mBlUHMCDSez92TeXPvHzXcP3m0/92uwqsvVYujhWX6cS5ig794+5rx+jNzxaAjsFmzGU3EkOrOJ1OhYeHy+FwkE/VQU19Z3eDRThXzRwvSe26chEIRSYD4RgBWMtbv99+lUMFWOmXU66Xvav7oq69a2e9NGWY63l7lj8IhCKTgXCMADoGAir4tfa8p9pz6w7JecH9PpDOCxf17LqDbf7el6srMllz2QLzpaUa/F0gHCOAjsOnc6jgf9oi16W+fXrjVFBjY728rblVstsr16c5RSbb6v0D4RgBoKUIqOAVbZHr0tg+GzsVVJfP1Jr9Gpl62+4d26fRfR76m3dvnNwUK4pMtnc+E4U0AfgTTvnBK9oi16Whfc58d49Hp4IaG2tDbSt2Hm90n+8248bJnrj81KYVRSbbO5+JQpoA/AkBFTzWFrkuje1z74krb1J8qcYqkzc11sbec1z/HvX+uI/r30N7TnzXJrk+pRVVmvrObt322jZNX7FHt/5mq6a+s1uOiup2LTJpVT4ThTQB+AtO+cFjbZHr0tQ+G9PYqSBP9jvtH/qra/C3V9Sa+tm4PtpzvOEgz5Ncn6ZObbZXkUmr8pkopAnAXxBQwWPNzXVpSTJzU/sc17+HvjhR2uLK5E3ttzHXx4Vr1cy4Ft84uXMnW6PtUv1z09xE+MaKTHorgdzqfCYKaQLwdQRU8FhdrktDRS97hAVr6ju7W5TM3NQ+l6SP1tzV+1pcmbyp/UpqsK3uB/3yH/embktzsbbh2rmNJXp7sirk7QTypubNV4MdX6uwDqDjIocKXtFYrktrk5kb22fdqaAtT92iFdPHactTt2jVzPHNChYa229rcnY8Wb1pbG7aar+t5U/5TI3lngFAW+DWM17CrWd+cPnpsGPFZbrttW0N9t/y1C1Nrhy0Vf5MY/tt6Xs257Y0l2vO3Dz/x0Ntsl9P5tEf8pla898DQGDi1jPwSZffeqU5p61aus9LeVIpvbH9tvQ9W7N605y5aav9eqI9b6/TGlRYB2AFcqjQptoqmdmKm+Y29Z4tvRqtOXPTmv029VdSc5Lk/RkV1gFYgRUqtKm2Ks5oxU1zm/OeLVm9acnctGS/niTJdwRWX5EIIDARUKHNeTuZ2YpTOm31nm2R6B3oAQUV1gHvaM+bz3cEnPJDm/N2cUYrTum01Xu2ReFKfy1x4E2tLasBwJqUio6AFSq0G28lM1uxAtPW73nybLn2f1uqb79rfSX3S/lTiYO2YNSxT2sCbcmKlIqOgBUq+B0rVmAGRnVX0sBeyjl29oq2pIG9Wv2eJ86Wa8rSHfrukvpIPcKC9aeMmxTfq/VV3QP9li1N3bIHQP2ae4cGXIkVKvglK1ZgbA1cHNfQ9ua4PJiSpO8qqvW/ln7W+p1ewtdLHLQFyiYArdfWZVc6Mlao4JfaewXmWHGZdh69cnVKknYePduqv9q25Z+5Ipiq811Ftf7rcLFuHhTV4rEGOsomAK0X6Be1eIIVKrSbtrhipK1WYC4fa1v81Zb3bWmj7V+c/K7F+wQ/CIAnmnuVLFcAXokVKrQ5f7pipKGx3jc+vtHXtaZY5qg+EY2239C3R4v3Ca5yBDzV2FWy/vR93t4IqNDm/ClBuKGxniuvbPR1rSmW+aPB0eoRFlzvab8eYcGc7vMAZROA1msspaLuPpmX8tXv8/ZGQIU25U9XjDQ21oOnnI2+tjmnkY4Vl+nEuQq3L6c/Zdyk/7X0s3qv8mvJuC/fb6AL9KscAW8YEOn+/40/fZ9bgYAKbcqfEoSbGuuwq+366tT5Fp9GamyJPL5XmPYtmqT/OlysL05+pxv69mj2yhRL7027/AcBQOv50/e5FUhKR5vypwThpv5nmHNrQqtKNTSnSN7Ng6L0+MRrGwym6ksAbcvieyScAricP32fW4EVKrQpf0oQbuqmwqHBQS0+jeTpEnlDq1BPTrq2TZbeWfUC0BB/+j63AitUaHP+chuU5v711ZJSDZ6WW2hoFerZtQc82m9L349bTgCQ/Of73AqsUKHN+UuCcFv89dXUXyyNlVto6yT5lrwfCacAJP/5PrcCK1RoN/5wGxRv//XV1GnExsotNCdJvqniey3BLScANJc/fJ+3N1aogEt4+68vT5I4m3rty3cN1282/rfXai2RcAoArUdABdTDW5fbe3IasanXjugT4dXgj4RTAGg9TvkBbcyT04jNea03l95JOAWA1rEZY1p+zwxcwel0Kjw8XA6HQ3a73erhwAd5spLU3gmgJJwCCBTe+v1mheoyS5cuVf/+/dWlSxclJiZq9+7dVg8JHYQnK0ntnQBKwikAtAwB1SU++OADZWZm6vnnn9cXX3yhkSNHKjU1VWfOnLF6aAAAwIcRUF3i9ddf1yOPPKLp06dr6NChWr58ucLCwvR//+//tXpoAADAhxFQ/V1VVZVyc3OVkpLi2tapUyelpKQoJyfniv6VlZVyOp1uDwAAEJgIqP6upKRENTU1iomJcdseExOjwsLCK/pnZWUpPDzc9YiPj2+voQIAAB9DQNVKCxculMPhcD2++eYbq4cEAAAsQmHPv4uMjFRQUJCKiorcthcVFSk2NvaK/qGhoQoNDW2v4QEAAB/GCtXfhYSEaMyYMcrOznZtq62tVXZ2tpKSkiwcGQAA8HWsUF0iMzNT06ZN09ixYzV+/HgtXrxY5eXlmj59utVDAwAAPoyA6hL33nuviouLtWjRIhUWFmrUqFHasGHDFYnqAAAAl+LWM17CrWcAAPA/3vr9ZoXKS+riUupRAQDgP+p+tz1dXyKg8pLz589LEvWoAADwQ+fPn1d4eHirX88pPy+pra3VqVOndNVVV8lms1k9HMs4nU7Fx8frm2++4dTnZZibxjE/DWNuGsf8NI75aVjd3Hz55ZcaPHiwOnVqffEDVqi8pFOnTurTp4/Vw/AZdrud/3EbwNw0jvlpGHPTOOanccxPw66++mqPgimJOlQAAAAeI6ACAADwEAEVvCo0NFTPP/88t+WpB3PTOOanYcxN45ifxjE/DfPm3JCUDgAA4CFWqAAAADxEQAUAAOAhAioAAAAPEVABAAB4iIAKLbZ9+3bdeeediouLk81m07p169zajTFatGiRevfura5duyolJUWHDx+2ZrDtLCsrS+PGjdNVV12l6OhoTZkyRfn5+W59vv/+e2VkZKhXr17q3r277rnnHhUVFVk04va1bNkyjRgxwlVgMCkpSZ988omrPZDn5nKvvPKKbDab5s2b59oWyPPzi1/8Qjabze0xZMgQV3sgz02dv/3tb/rf//t/q1evXuratauGDx+uvXv3utoD9bu5f//+V3x2bDabMjIyJHnvs0NAhRYrLy/XyJEjtXTp0nrbX331Vb355ptavny5du3apW7duik1NVXff/99O4+0/W3btk0ZGRn6/PPPtWnTJlVXV2vSpEkqLy939XniiSf05z//WR999JG2bdumU6dO6e6777Zw1O2nT58+euWVV5Sbm6u9e/fqtttu009+8hMdOnRIUmDPzaX27Nmj//N//o9GjBjhtj3Q5+f666/X6dOnXY/PPvvM1Rboc/Pdd99pwoQJCg4O1ieffKIvv/xSr732mnr06OHqE6jfzXv27HH73GzatEmS9NOf/lSSFz87BvCAJLN27VrX89raWhMbG2t+/etfu7aVlpaa0NBQs3r1agtGaK0zZ84YSWbbtm3GmB/mIjg42Hz00UeuPl999ZWRZHJycqwapqV69Ohh3n77bebm786fP28GDRpkNm3aZH70ox+Zxx9/3BjDZ+f55583I0eOrLct0OfGGGMWLFhgbrrppgbb+W7+H48//ri55pprTG1trVc/O6xQwasKCgpUWFiolJQU17bw8HAlJiYqJyfHwpFZw+FwSJJ69uwpScrNzVV1dbXb/AwZMkR9+/YNuPmpqanRmjVrVF5erqSkJObm7zIyMpSWluY2DxKfHUk6fPiw4uLiNHDgQD3wwAM6efKkJOZGkv70pz9p7Nix+ulPf6ro6GiNHj1av//9713tfDf/oKqqSn/4wx80Y8YM2Ww2r352CKjgVYWFhZKkmJgYt+0xMTGutkBRW1urefPmacKECRo2bJikH+YnJCREERERbn0DaX4OHDig7t27KzQ0VLNnz9batWs1dOhQ5kbSmjVr9MUXXygrK+uKtkCfn8TERK1cuVIbNmzQsmXLVFBQoJtvvlnnz58P+LmRpGPHjmnZsmUaNGiQNm7cqEcffVSPPfaY3n33XUl8N9dZt26dSktL9dBDD0ny7v9Xnb00RgCXycjI0MGDB93yPCANHjxYeXl5cjgc+rd/+zdNmzZN27Zts3pYlvvmm2/0+OOPa9OmTerSpYvVw/E5kydPdv17xIgRSkxMVL9+/fThhx+qa9euFo7MN9TW1mrs2LF6+eWXJUmjR4/WwYMHtXz5ck2bNs3i0fmOd955R5MnT1ZcXJzX980KFbwqNjZWkq64QqKoqMjVFgjmzJmjjz/+WFu2bFGfPn1c22NjY1VVVaXS0lK3/oE0PyEhIUpISNCYMWOUlZWlkSNH6o033gj4ucnNzdWZM2d0ww03qHPnzurcubO2bdumN998U507d1ZMTExAz8/lIiIidO211+rIkSMB/9mRpN69e2vo0KFu26677jrXaVG+m6UTJ07oP//zP/Xwww+7tnnzs0NABa8aMGCAYmNjlZ2d7drmdDq1a9cuJSUlWTiy9mGM0Zw5c7R27Vpt3rxZAwYMcGsfM2aMgoOD3eYnPz9fJ0+eDIj5qU9tba0qKysDfm4mTpyoAwcOKC8vz/UYO3asHnjgAde/A3l+LldWVqajR4+qd+/eAf/ZkaQJEyZcUaLlv//7v9WvXz9JfDdL0ooVKxQdHa20tDTXNq9+drycPI8AcP78ebNv3z6zb98+I8m8/vrrZt++febEiRPGGGNeeeUVExERYf74xz+a/fv3m5/85CdmwIAB5sKFCxaPvO09+uijJjw83GzdutWcPn3a9aioqHD1mT17tunbt6/ZvHmz2bt3r0lKSjJJSUkWjrr9PPPMM2bbtm2moKDA7N+/3zzzzDPGZrOZTz/91BgT2HNTn0uv8jMmsOfnySefNFu3bjUFBQVmx44dJiUlxURGRpozZ84YYwJ7bowxZvfu3aZz587mpZdeMocPHzbvvfeeCQsLM3/4wx9cfQL5u7mmpsb07dvXLFiw4Io2b312CKjQYlu2bDGSrnhMmzbNGPPD5bn//M//bGJiYkxoaKiZOHGiyc/Pt3bQ7aS+eZFkVqxY4epz4cIF8/Of/9z06NHDhIWFmbvuusucPn3aukG3oxkzZph+/fqZkJAQExUVZSZOnOgKpowJ7Lmpz+UBVSDPz7333mt69+5tQkJCzNVXX23uvfdec+TIEVd7IM9NnT//+c9m2LBhJjQ01AwZMsT87ne/c2sP5O/mjRs3Gkn1Hq+3Pjs2Y4zxYAUNAAAg4JFDBQAA4CECKgAAAA8RUAEAAHiIgAoAAMBDBFQAAAAeIqACAADwEAEVAACAhwioAAAAPERABQAA4CECKgAAAA8RUAEAAHiIgApAwNqwYYNuuukmRUREqFevXrrjjjt09OhRV/vOnTs1atQodenSRWPHjtW6detks9mUl5fn6nPw4EFNnjxZ3bt3V0xMjB588EGVlJRYcDQArERABSBglZeXKzMzU3v37lV2drY6deqku+66S7W1tXI6nbrzzjs1fPhwffHFF/qXf/kXLViwwO31paWluu222zR69Gjt3btXGzZsUFFRkX72s59ZdEQArGIzxhirBwEAvqCkpERRUVE6cOCAPvvsMz333HP69ttv1aVLF0nS22+/rUceeUT79u3TqFGj9Mtf/lL/9V//pY0bN7r28e233yo+Pl75+fm69tprrToUAO2MFSoAAevw4cNKT0/XwIEDZbfb1b9/f0nSyZMnlZ+frxEjRriCKUkaP3682+v/+te/asuWLerevbvrMWTIEElyO3UIoOPrbPUAAMAqd955p/r166ff//73iouLU21trYYNG6aqqqpmvb6srEx33nmnfvWrX13R1rt3b28PF4API6ACEJDOnj2r/Px8/f73v9fNN98sSfrss89c7YMHD9Yf/vAHVVZWKjQ0VJK0Z88et33ccMMN+vd//3f1799fnTvzdQoEMk75AQhIPXr0UK9evfS73/1OR44c0ebNm5WZmelqv//++1VbW6tZs2bpq6++0saNG/Wb3/xGkmSz2SRJGRkZOnfunNLT07Vnzx4dPXpUGzdu1PTp01VTU2PJcQGwBgEVgIDUqVMnrVmzRrm5uRo2bJieeOIJ/frXv3a12+12/fnPf1ZeXp5GjRqlZ599VosWLZIkV15VXFycduzYoZqaGk2aNEnDhw/XvHnzFBERoU6d+HoFAglX+QFAM7333nuaPn26HA6HunbtavVwAPgQTvoDQANWrVqlgQMH6uqrr9Zf//pXLViwQD/72c8IpgBcgYAKABpQWFioRYsWqbCwUL1799ZPf/pTvfTSS1YPC4AP4pQfAACAh8iaBAAA8BABFQAAgIcIqAAAADxEQAUAAOAhAioAAAAPEVABAAB4iIAKAADAQwRUAAAAHvr/LZUI+vhmZZ8AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df.plot.scatter('age','price')" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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K1ZQt25dPD09+ec//8nFixdLnOeFF14gODgYHx8fxowZw1NPPUXr1q0d2ixfvpwmTZrg7u7OLbfcwptvvlnu11vZSIIthBBCCOFEauYFile/gmXeOCxLpmCZ9xDFq+eiZl5w2jmnTp3K1q1b+eqrr9i4cSPx8fHs3bvXXj9y5Eh2797N119/TUJCAqqqcuedd1JUVARAYmIio0ePZuLEiezfv59bb72VF154weEcq1at4sUXX+SVV15hz5491K1bl6VLl5ZoM2vWLF588UWOHj3KSy+9xMyZM1m5cqXTrr0ykI1myolsNCOEEEJUPc7eaMaWl03x6lewndxXok7TqC1u9z+JxtPnhvouS05ODgEBAXz44YcMGjQIgPT0dOrUqcODDz7IhAkTaNy4Mdu2baNz584AXLx4kfDwcFauXMmgQYO4//77ycrKYv369fZ+Bw8ezIYNG8jMzASgU6dOtG/fnjfeeMPepmvXruTk5LB//34AGjZsyOzZsxkyZIi9zQsvvMA333zD9u3by/W6nU02mhFCCCGEqAxyMktNrgFsJ/dCTma5n/LUqVNYLBaio6PtZf7+/kRFRQFw9OhR3NzcHOoDAgKIiori6NGj9jZ/rQeIiYlxeH78+HE6duzoUPbX57m5uZw6dYrRo0fj7e1tf7zwwgucOnWqfC62knJzdQBCCCGEENVWQd7N1VdhOTk5ALz99tslknWtVuuKkCqMjGALIYQQQjiLu+fN1d+ABg0aoNPpSExMtJdlZGRw4sQJAJo0aUJxcbFD/cWLFzl+/DhNmza1t/lrPcCOHTscnkdFRbFr1y6Hsr8+DwkJoVatWvz66680bNjQ4REZGVk+F1tJyQi2EEIIIYSzePuiadT20nSQv9E0agvevuV/Sm9vRo8ezdSpUwkICCA4OJhnnnkGjebSuGqjRo3o378/Y8eO5d///jc+Pj489dRT1K5dm/79+wPw6KOP0qVLF1577TX69+/Pd999x4YNGxzO88gjjzB27Fjat29P586d+fjjjzlw4AD169e3t3nuued49NFHMZlM3HHHHRQWFrJ7924yMjKYMmVKuV97ZSEj2EIIIYQQTqLx9EF3z6OXkum/ljdqe6m8nG9wvOzVV1+lW7du9OvXj169etG1a1fatWtnr3/vvfdo164dd911FzExMaiqyjfffINOpwMu3cD49ttv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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ax = sns.scatterplot(data=df, x='age', y='price',hue='brand')\n", + "sns.move_legend(ax, \"upper left\", bbox_to_anchor=(1, 1))" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " log_price log_age\n", + "log_price 0.813266 -0.203894\n", + "log_age -0.203894 0.351473\n", + " log_price log_age\n", + "log_price 1.000000 -0.360961\n", + "log_age -0.360961 1.000000\n" + ] + }, + { + "data": { + "image/png": "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ISMjgx9//JFXXnmlyO06derE999/79O2dOnSEpN4o9GI0ShlloT4OyXUghJlRT2bVbgvIQYltGrM18115pPpyMapugnVmYkxRRTaxqAzEa0rXIFHXB5PXgHk5YOqophNVeY5JKqPs3kn+HDTZHalX7gXqklcJ+5qM9EvddeHDRvGvHnzgHODk3Xq1GH37t2MGzeOTz75BJvNRrt27Zg5cyZXXnklcK6Ebq9evfj+++959tln2bZtG0uWLOHKK6/kgQce4IsvviAsLIyxY8eWe7xVUamGRbp27cqWLVtwuVw0b96cJUuWEBcXx5o1a2jbtm25Bvjjjz+yePFiUlNTWbp0Kb169aJx48YMHz4cODcqPGTIEO/2o0aN4sCBA4wfP54///yTt956i88++4zHH3+8XOMSojpQrGHo77kJLL432RJqQT/0RpSwkOAEVo6O5Z3iuS3vMnD5eG7++SlGrJ7K6vQ/yHVW/SkmgaSqKp6TZ3C+/yWOf76LY9ocHG9/hufQcVSXO9jhCXFJch22QokywK70NXy4aTK5jvK/5+m1117jxRdfpFatWqSlpbFhwwbGjx/PwoULmTdvHps2baJ+/fr07duXs2fP+uz71FNP8dJLL7Fr1y5atGjBuHHjWLlyJV9//TVLlixhxYoVbNpU9H0p4oJSj8fXq1ePd999tzxjKVJWVhYTJkzg6NGjREVFcfPNNzN16lT0+nNzB9PS0ryl6wBSUlJYtGgRjz/+OK+99hq1atVizpw5UmNZiFJSEmMxPjEMz9ETeE6cRlMjDqVGHJpI/33lGCgn888y6reXOJ5/Yenqo3npPLpuOv/XaQJtYxoHMbqqRT2bheP1DyHffqHteDqONz/G8MQwlARZmltUfNn2s4US5fN2pa8h23623KdjWK1WwsLC0Gq1JCQkkJuby+zZs5k7dy79+vUD4N1332Xp0qW89957jBs3zrvviy++yNVXXw1ATk4O7733Hh9++CG9e/cGYN68edSqVatc462KSpUsf//992i12kIJ6I8//ojH4/H+zysPt912G7fddlux/UWtztezZ082b95cbjEIUZ0pigKR4Wgjw9E2bxjscMrVn1mHfBLlv5qxcwFvdhhLpDEswFFVPapHxb11t0+i7OX24PppDfrbrkUx6AMfnBCXIb+YBYou9OeU2F8e9u/fj9PppEuXLt42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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df['log_price'] = np.log(df['price'])\n", + "df['log_age'] = np.log(df['age'])\n", + "\n", + "ax = sns.scatterplot(data=df, x='log_age', y='log_price',hue='brand')\n", + "sns.move_legend(ax, \"upper left\", bbox_to_anchor=(1, 1))\n", + "\n", + "print(df.loc[:,['log_price','log_age']].cov())\n", + "print(df.loc[:,['log_price','log_age']].corr())" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlYAAAJOCAYAAAB1IEnpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB8x0lEQVR4nO3deXhU5d0+8Puc2SeZmWxkg2yyJSCIqCCooBWllCravlatuNalrbairX3l99Zaay3VWrXWVq2+atW21r4utW4IKCCKsiNqwp6NLBDILJl9eX5/TCYSspBMziwnuT/Xlesikzkz3xlmzrnne57nGUkIIUBEREREQyanugAiIiKi4YLBioiIiEghDFZERERECmGwIiIiIlIIgxURERGRQhisiIiIiBTCYEVERESkEAYrIiIiIoUwWBEREREphMGKiIiISCEMVkREREQKYbAiIiIiUog21QUQUXqqr69HW1tbqssYsLy8PJSWlqa6DCIa4RisiKiH+vp6VFZWwev1pLqUATOZzKipqWa4IqKUYrAioh7a2trg9Xow87q7YS0qT3U5x+VsrsWnz9yDtrY2BisiSikGKyLqk7WoHDmlE1NdBhGRanDwOhEREZFCGKyIiIiIFMJgRURERKQQBisiIiIihTBYERERESmEwYqIiIhIIQxWRERERAphsCIiIiJSCIMVERERkUIYrIiIiIgUwmBFREREpBAGKyIiIiKFMFgRERERKYTBioiIiEghDFZERERECmGwIiIiIlIIgxURERGRQhisiIiIiBTCYEVERESkEG2qCyAiUkp1dXWqSxiQvLw8lJaWproMIkoABisiUj2v4zAACYsXL051KQNiMplRU1PNcEU0DDFYEZHqBT0uAALTvvvfGFVRmepy+uVsrsWnz9yDtrY2BiuiYYjBioiGjcz8UuSUTkx1GUQ0gnHwOhEREZFCGKyIiIiIFMJgRURERKQQBisiIiIihTBYERERESmEwYqIiIhIIQxWRERERAphsCIiIiJSCIMVERERkUIYrIiIiIgUwmBFREREpBAGKyIiIiKFMFgRERERKYTBioiIiEghDFZERERECmGwIiIiIlIIgxURERGRQhisiIiIiBTCYEVERESkEAYrIiIiIoVoU10AEdFIVF1dneoSBiwvLw+lpaWpLoNIFRisiIiSyOs4DEDC4sWLU13KgJlM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sHK73TjppJPwpz/9qde/P/DAA3j00UfxxBNP4NNPP0VGRgbmz58Pn8/X523+85//xO233467774bW7ZswUknnYT58+fj4MGDiXoYRERERABSHKwWLFiAX//617j44ot7/E0IgUceeQQ///nPsWjRIkydOhXPP/88mpqaenS2jvbQQw/hhhtuwLXXXotJkybhiSeegNlsxjPPPJPAR0JERESUxmOs9u/fj5aWFsybN6/rMpvNhpkzZ2L9+vW9bhMIBLB58+Zu28iyjHnz5vW5DREREZFS0na5hZaWFgBAQUFBt8sLCgq6/nastrY2hMPhXrepqanp8778fn+3RcqcTme8ZRMREaU1HvMSK207Vsm0bNky2Gy2rp+SkpJUl0RERJQQPOYlVtoGq8LCQgBAa2trt8tbW1u7/nasvLw8aDSaQW0DAEuXLoXD4ej6aWhoGGL1RERE6YnHvMRK22BVUVGBwsJCrFq1qusyp9OJTz/9FLNmzep1G71ej1NOOaXbNpFIBKtWrepzGwAwGAywWq3dfoiIiIYjHvMSK6VjrDo6OrBnz56u3/fv349t27YhJycHpaWlWLJkCX79619j/PjxqKiowF133YXi4mJcdNFFXduce+65uPjii3HLLbcAAG6//XZcffXVOPXUUzFjxgw88sgjcLvduPbaa5P98IiIiGiESWmw2rRpE84555yu32+//XYAwNVXX43nnnsOP/vZz+B2u3HjjTfCbrfjzDPPxLvvvguj0di1zd69e9HW1tb1+6WXXopDhw7hF7/4BVpaWjBt2jS8++67PQa0ExERESktpcHq7LPPhhCiz79LkoRf/epX+NWvftXndWpra3tcdsstt3R1sIiGEynVBRCRoiJCQJb4zh5O0naMFaUPk1aCTuWvFF8wAiEEIv0E+XTnDYYhSZJqH4MQAkat+g8gns7XEqVOpk6GVlb/Bw2DRsLuwwF4g5FUl0IKUvnhkhIpdvCw+8LQqvSVEnsMB1wh/KfGCbs3rLqDohACQgjsbAvivT0d8IXUFxCFEBAAAmF11X0srQzIUrSbTqlj1Mm4qMqKgsy0XYrxuHJMMibk6eEPAzsPB9DaEVLdvol6p95XJSVURAhEBLCp0YOatkCqy4mLEAJhAdS1++H0Rz8RvlHjwklFRkwrNEIAad+CF0LAHxaoswfhDUZ3uq996cSMMSaM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/gSbzaZokURERJRYbXW7EAyJVJcxIB0H6wHguEs/5eXlobS0NBkldYkrWN1www3YunUr3nzzTcyaNQsAsH79etx666246aab8NJLLylaJBERESXWjn89kuoSBknC4sWL+72GyWRGTU11UsNVXMHqzTffxPLly3HmmWd2XTZ//nw89dRT+PrXv65YcURERJQcVQuugbWoLNVlDJjObIHJltvn353Ntfj0mXvQ1taW/sEqNze319N9NpsN2dnZQy6KiIiIkqtw8gzkj5+W6jJUL64FQn/+85/j9ttvR0tLS9dlLS0tuOOOO3DXXXcpVhwRERGRmsTVsXr88cexZ88elJaWdrXX6uvrYTAYcOjQITz55JNd192yZYsylRIRERGlubiC1UUXXaRwGURERETqF1ewuvvuuwd0vX/84x9wu909vvKGiIiIaDiKa4zVQN10001obW1N5F0QERERpY2EBish1LHQGBEREZESEhqsiIiIiEYSBisiIiIihTBYERERESmEwYqIiIhIIQkNVmVlZdDpdIm8CyIiIqK0Edc6VgP1+eefJ/LmiYiIiNJKXMEqOzsbkiT1uFySJBiNRowbNw7XXHMNrr322iEXSERERKQWcZ0K/MUvfgFZlrFw4ULcc889uOeee7Bw4ULIsoybb74ZEyZMwA9+8AM89dRTStdLlJaCYYGIypdtcwYEzrrgMhSXj091KXFzN+3BO/d/H4f2fZHqUuKWY9Kg1KaDTqUjYGUJKLZoIff87E00IsTVsVq3bh1+/etf4/vf/363y5988km89957eOWVVzB16lQ8+uijuOGGGxQplCgdCSHQ7oug0RlMdSlxiwiBz1t92NIkUF45BRVVU7Fr2wZsWv02QoFAqssbEBEOwrt3E+zNOwFJwp51b+H0K36KUy65GbImoSMeFKOVgTKbHlajBkIIZBk1aHAG0e4Np7q0ASvK1OLKaVkotqjjOSdKhLg+Ey1fvhzz5s3rcfm5556L5cuXAwC+8Y1vYN++fUOrjiiNBcMCtfYg6h1B1XarHL4w3tzpwuYmHwTQdYp/3NRTseh7t6GgpCK1BQ5AyN4C18bXEWjeFb1ACIhIGOtfuB//vG0hjtTvTm2BA5Bt1GDSKCMshuguWZIkaGSgPEuPE7L10KZ590qWgHknZOCOM/NQmKmFJEm9DhchGgniervm5OTgP//5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6DA+JzpzcBRnCKVEWb4Nr935X7hh4SzoTBkorDwFRZWnQKPTp7q0Aas+5Mc1rx7Ats6vxKHkO3omcIZOQpZRjq6BZWSXigYudSM4iYaRDL2MiXmGVJcxosmyhG/OOhGrHcmd7aekQFhgfYMHJxUak7paOHVn1MoYn8v3M8Un7T9Wl5eXQ5KkHj8333xzn9v861//QmVlJYxGI6ZMmYK33347iRUTERHRSJX2wWrjxo1obm7u+lmxYgUA4JJLLun1+h9//DEuv/xyfO9738PWrVtx0UUX4aKLLsLnn3+ezLKJiIhoBEr7YDVq1CgUFhZ2/bz55psYO3Ys5s6d2+v1//CHP+DrX/867rjjDlRVVeHee+/F9OnT8dhjjyW5ciIiIhpp0j5YHS0QCODFF1/Edddd1+eaQOvXr8e8efO6XTZ//nysX78+GSUSERHRCKaqweuvv/467HY7rrnmmj6v09LSgoKCgm6XFRQUoKWlpc9t/H4//H5/1+9Op3PItRIREaUjHvMSS1Udq//93//FggULUFxcrOjtLlu2DDabreunpKRE0dsnIiJKFzzmJZZqglVdXR1WrlyJ66+/vt/rFRYWorW1tdtlra2tKCzse5HApUuXwuFwdP00NDQoUjMREVG64TEvsVQTrJ599lnk5+dj4cKF/V5v1qxZWLVqVbfLVqxYgVmzZvW5jcFggNVq7fZDREQ0HPGYl1iqCFaRSATPPvssrr76ami13YeFXXXVVVi6dGnX77feeiveffdd/P73v0dNTQ1++ctfYtOmTbjllluSXTYRERGNMKoIVitXrkR9fT2uu+66Hn+rr69Hc3Nz1++zZ8/G3//+d/zlL3/BSSedhP/7v//D66+/jhNPPDGZJRMREdEIpIpZgeeff36fX0q6evXqHpddcsklfS4gSkRERJQoquhYEREREakBgxURERGRQhisiIiIiBSiijFWRERElFjOlnpoDaZUlwEAcDbXprqEuDFYERERETa/+NtUl9CNyWRGXl5eqssYNAYrIiIiwpo1a5CZmZnqMrrk5eWhtLQ01WUMGoMVERERYdq0aVyFXQEcvE5ERESkEAYrIiIiIoUwWBEREREphMGKiIiISCEMVkREREQKYbAiIiIiUgiDFREREZFCGKyIiIiIFMJgRURERKQQBisiIiIihTBYERERESmEwYqIiIhIIQxWRERERAphsCKiYaMoUwtZAmQp1ZXE74AzCI2aHwDRCMdgRUTDxhibDk9eWIwSmw5qiyaxei0GDTzBcEprIaL4MVgR0bAyIc+Apy8ajStOskGCOrpXsgRYDTJ+c14Bls4ZBbNOk+qSiChO2lQXkI6EEAAAp9OZ4kqIKF6XTtDipOwMPPBhG1o6QhCpLqgXEgABYE5ZBn44Mws2Y4j7HRoSi8UCSVLBp4lhjMGqFy6XCwBQUlKS4kqIaCT4GMBvU10EDQsOhwNWqzXVZYxokoi1Z6hLJBJBU1NTWiR/p9OJkpISNDQ08M1yFD4vPfE56YnPSe/4vPQ0XJ6TeI5bQgi4XK60OOYNB+xY9UKWZYwZMybVZXRjtVpV/WZPFD4vPfE56YnPSe/4vPQ0Ep8TSZJG3GNOJA5eJyIiIlIIgxURERGRQhis0pzBYMDdd98Ng8GQ6lLSCp+Xnvic9MTnpHd8Xnric0JK4eB1IiIiIoWwY0VERESkEAYrIiIiIoUwWBEREREphMEqxdauXYsLLrgAxcXFkCQJr7/+er/XX716NSRJ6vHT0tKSnIKTYNmyZTjttNNgsViQn5+Piy66CDt37jzudv/6179QWVkJo9GIKVOm4O23305CtckRz3Py3HPP9XidGI3GJFWceI8//jimTp3ate7QrFmz8M477/S7zXB+jcQM9nkZ7q+T3vz2t7+FJElYsmRJv9cbCa8XUh6DVYq53W6cdNJJ+NOf/jSo7Xbu3Inm5uaun/z8/ARVmHxr1qzBzTffjE8++QQrVqxAMBjE+eefD7fb3ec2H3/8MS6//HJ873vfw9atW3HRRRfhoosuwueff57EyhMnnucEiC52ePTrpK6uLkkVJ96YMWPw29/+Fps3b8amTZvwta99DYsWLcIXX3zR6/WH+2skZrDPCzC8XyfH2rhxI5588klMnTq13+uNlNcLJYCgtAFAvPbaa/1e54MPPhAARHt7e1JqSgcHDx4UAMSaNWv6vM53vvMdsXDhwm6XzZw5U9x0002JLi8lBvKcPPvss8JmsyWvqDSQnZ0tnn766V7/NtJeI0fr73kZSa8Tl8slxo8fL1asWCHmzp0rbr311j6vO5JfLzQ07Fip1LRp01BUVITzzjsPH330UarLSSiHwwEAyMnJ6fM669evx7x587pdNn/+fKxfvz6htaXKQJ4TAOjo6EBZWRlKSkqO27VQs3A4jJdeeglutxuzZs3q9Toj7TUCDOx5AUbO6+Tmm2/GwoULe7wOejMSXy+kDH5XoMoUFRXhiSeewKmnngq/34+nn34aZ599Nj799FNMnz491eUpLhKJYMmSJTjjjDNw4okn9nm9lpYWFBQUdLusoKBgWI09ixnoczJx4kQ888wzmDp1KhwOBx588EHMnj0bX3zxRdp9F2a8duzYgVmzZsHn8yEzMxOvvfYaJk2a1Ot1R9JrZDDPy0h4nQDASy+9hC1btmDjxo0Duv5Ier2QshisVGbixImYOHFi1++zZ8/G3r178fDDD+OFF15IYWWJcfPNN+Pzzz/HunXrUl1K2hjoczJr1qxuXYrZs2ejqqoKTz75JO69995El5kUEydOxLZt2+BwOPB///d/uPrqq7FmzZo+Q8RIMZjnZSS8ThoaGnDrrbdixYoVw35gPqUeg9UwMGPGjGEZPG655Ra8+eabWLt27XE/ORcWFqK1tbXbZa2trSgsLExkiUk3mOfkWDqdDieffDL27NmToOqST6/XY9y4cQCAU045BRs3bsQf/vAHPPnkkz2uO1JeI8DgnpdjDcfXyebNm3Hw4MFuXf1wOIy1a9fiscceg9/vh0aj6bbNSHq9kLI4xmoY2LZtG4qKilJdhmKEELjlllvw2muv4f3330dFRcVxt5k1axZWrVrV7bIVK1b0O65ETeJ5To4VDoexY8eOYfVaOVYkEoHf7+/1b8P9NdKf/p6XYw3H18m5556LHTt2YNu2bV0/p556Kq644gps27atR6gCRvbrhYYo1aPnRzqXyyW2bt0qtm7dKgCIhx56SGzdulXU1dUJIYS48847xZVXXtl1/Ycffli8/vrrYvfu3WLHjh3i1ltvFbIsi5UrV6bqISjuBz/4gbDZbGL16tWiubm568fj8XRd58orrxR33nln1+8fffSR0Gq14sEHHxTV1dXi7rvvFjqdTuzYsSMVD0Fx8Twn99xzj1i+fLnYu3ev2Lx5s7jsssuE0WgUX3zxRSoeguLuvPNOsWbNGrF//37x2WefiTvvvFNIkiTee+89IcTIe43EDPZ5Ge6vk74cOytwpL5eSHkMVikWWz7h2J+rr75aCCHE1VdfLebOndt1/fvvv1+MHTtWGI1GkZOTI84++2zx/vvvp6b4BOnt+QAgnn322a7rzJ07t+s5inn55ZfFhAkThF6vF5MnTxZvvfVWcgtPoHiekyVLlojS0lKh1+tFQUGB+MY3viG2bNmS/OIT5LrrrhNlZWVCr9eLUaNGiXPPPbcrPAgx8l4jMYN9Xob766Qvxwarkfp6IeVJQgiR7C4ZERER0XDEMVZERERECmGwIiIiIlIIgxURERGRQhisiIiIiBTCYEVERESkEAYrIiIiIoUwWBEREREphMGKiIiISCEMVkQEADj77LOxZMmSVJdBRKRqDFZERERECmGwIiIiIlIIgxUR9dDe3o6rrroK2dnZMJvNWLBgAXbv3t3tOk899RRKSkpgNptx8cUX46GHHkJWVtaAbn/v3r1YtGgRCgoKkJmZidNOOw0rV67sdp3m5mYsXLgQJpMJFRUV+Pvf/47y8nI88sgjXdex2+24/vrrMWrUKFitVnzta1/D9u3bh/rwiYjixmBFRD1cc8012LRpE9544w2sX78eQgh84xvfQDAYBAB89NFH+P73v49bb70V27Ztw3nnnYf77rtvwLff0dGBb3zjG1i1ahW2bt2Kr3/967jgggtQX1/fdZ2rrroKTU1NWL16NV555RX85S9/wcGDB7vdziWXXIKDBw/inXfewebNmzF9+nSce+65OHLkiDJPBBHRYAkiIiHE3Llzxa233ip27dolAIiPPvqo629tbW3CZDKJl19+WQghxKWXXioWLlzYbfsrrrhC2Gy2uO9/8uTJ4o9//KMQQojq6moBQGzcuLHr77t37xYAxMMPPyyEEOLDDz8UVqtV+Hy+brczduxY8eSTT8ZdBxHRULBjRUTdVFdXQ6vVYubMmV2X5ebmYuLEiaiurgYA7Ny5EzNmzOi23bG/96ejowM//elPUVVVhaysLGRmZqK6urqrY7Vz505otVpMnz69a5tx48YhOzu76/ft27ejo6MDubm5yMzM7PrZv38/9u7dG9djJyIaKm2qCyCikeenP/0pVqxYgQcffBDjxo2DyWTCf/3XfyEQCAz4Njo6OlBUVITVq1f3+NtAx3oRESmNwYqIuqmqqkIoFMKnn36K2bNnAwAOHz6MnTt3YtKkSQCAiRMnYuPGjd22O/b3/nz00Ue45pprcPHFFwOIhqTa2tquv0+cOBGhUAhbt27FKaecAgDYs2cP2tvbu64zffp0tLS0QKvVory8PJ6HSkSkOJ4KJKJuxo8fj0WLFuGGG27AunXrsH37dixevBijR4/GokWLAAA/+tGP8Pbbb+Ohhx7C7t278eSTT+Kdd96BJEkDvo9XX30V27Ztw/bt2/Hd734XkUik6++VlZWYN28ebrzxRmzYsAFbt27FjTfeCJPJ1HUf8+bNw6xZs3DRRRfhvffeQ21tLT7++GP8z//8DzZt2qT8E0NENAAMVkTUw7PPPotTTjkF3/zmNzFr1iwIIfD2229Dp9MBAM444ww88cQTeOihh3DSSSfh3XffxW233Qaj0Tig23/ooYeQnZ2N2bNn44ILLsD8+fO7jacCgOeffx4FBQWYM2cOLr74Ytxwww2wWCxd9yFJEt5++23MmTMH1157LSZMmIDLLrsMdXV1KCgoUPYJISIaIEkIIVJdBBGp3w033ICamhp8+OGHCbn9xsZGlJSUYOXKlTj33HMTch9EREPFMVZEFJcHH3wQ5513HjIyMvDOO+/gr3/9K/785z8rdvvvv/8+Ojo6MGXKFDQ3N+NnP/sZysvLMWfOHMXug4hIaQxWRBSXDRs24IEHHoDL5cIJJ5yARx99FNdffz0AYPLkyairq+t1uyeffBJXXHHFcW8/GAzi//2//4d9+/bBYrFg9uzZ+Nvf/tZ1OpKIKB3xVCARKa6urq5rlfZjFRQUwGKxJLkiIqLkYLAiIiIiUghnBRIREREphMGKiIiISCEMVkREREQKYbAiIiIiUgiDFREREZFCGKyIiIiIFMJgRURERKQQBisiIiIihfx/FDynHt3gNh4AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.jointplot(data=df, x='log_age', y='log_price',kind='hex')" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
titlepriceyearlinkbrandagelog_pricelog_age
02005 hyundai elantra12002005.0https://charlottesville.craigslist.org/cto/d/a...missing20.07.0900772.995732
12007 f250 king ranch175002007.0https://charlottesville.craigslist.org/cto/d/w...missing18.09.7699562.890372
21997 dodge 2500 4x4 cummins95001997.0https://charlottesville.craigslist.org/cto/d/l...dodge28.09.1590473.332205
31999 honda civic 4 cyl manual transmission10001999.0https://charlottesville.craigslist.org/cto/d/c...honda26.06.9077553.258097
41998 gmc sierra 1500 sl truck auto rwd <103,00...62501998.0https://charlottesville.craigslist.org/cto/d/l...gmc27.08.7403373.295837
\n", + "
" + ], + "text/plain": [ + " title price year \\\n", + "0 2005 hyundai elantra 1200 2005.0 \n", + "1 2007 f250 king ranch 17500 2007.0 \n", + "2 1997 dodge 2500 4x4 cummins 9500 1997.0 \n", + "3 1999 honda civic 4 cyl manual transmission 1000 1999.0 \n", + "4 1998 gmc sierra 1500 sl truck auto rwd <103,00... 6250 1998.0 \n", + "\n", + " link brand age \\\n", + "0 https://charlottesville.craigslist.org/cto/d/a... missing 20.0 \n", + "1 https://charlottesville.craigslist.org/cto/d/w... missing 18.0 \n", + "2 https://charlottesville.craigslist.org/cto/d/l... dodge 28.0 \n", + "3 https://charlottesville.craigslist.org/cto/d/c... honda 26.0 \n", + "4 https://charlottesville.craigslist.org/cto/d/l... gmc 27.0 \n", + "\n", + " log_price log_age \n", + "0 7.090077 2.995732 \n", + "1 9.769956 2.890372 \n", + "2 9.159047 3.332205 \n", + "3 6.907755 3.258097 \n", + "4 8.740337 3.295837 " + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "links = df['link']\n", + "data = []\n", + "for link in links: # about 3 minutes\n", + " time.sleep(random.randint(1, 3))\n", + " raw = requests.get(link,headers=header) # Get page\n", + " bsObj = soup(raw.content,'html.parser') # Parse the html\n", + " #\n", + " try:\n", + " year_post = bsObj.find(class_='attr important').find(class_ = 'valu year').get_text()\n", + " except:\n", + " year_post = np.nan\n", + " #\n", + " try:\n", + " condition = bsObj.find(class_='attr condition').find(href=True).get_text()\n", + " except:\n", + " condition = 'missing'\n", + " #\n", + " try:\n", + " cylinders = bsObj.find(class_='attr auto_cylinders').find(class_ = 'valu').get_text()\n", + " cylinders = cylinders.replace('\\n','')\n", + " except:\n", + " cylinders = 'missing'\n", + " #\n", + " try:\n", + " drivetrain = bsObj.find(class_='attr auto_drivetrain').find(href=True).get_text()\n", + " except:\n", + " drivetrain = 'missing'\n", + " #\n", + " try:\n", + " fuel = bsObj.find(class_='attr auto_fuel_type').find(href = True).get_text()\n", + " except:\n", + " fuel = 'missing'\n", + " #\n", + " try:\n", + " miles = bsObj.find(class_='attr auto_miles').find(class_ = 'valu').get_text()\n", + " except:\n", + " miles = np.nan\n", + " #\n", + " try:\n", + " color = bsObj.find(class_='attr auto_paint').find(href=True).get_text()\n", + " except:\n", + " color='missing'\n", + " #\n", + " try:\n", + " title = bsObj.find(class_='attr auto_title_status').find(href=True).get_text()\n", + " except:\n", + " title='missing'\n", + " #\n", + " try:\n", + " transmission = bsObj.find(class_='attr auto_transmission').find(href=True).get_text()\n", + " except:\n", + " transmission = 'missing'\n", + " #\n", + " try:\n", + " bodytype = bsObj.find(class_='attr auto_bodytype').find(href=True).get_text()\n", + " except:\n", + " bodytype = 'missing'\n", + " text = bsObj.find(id='postingbody').get_text()\n", + " text = text.replace('\\n','')\n", + " text = text.replace('QR Code Link to This Post','')\n", + " record = {'title':title,\n", + " 'year_post':year_post,\n", + " 'condition':condition,\n", + " 'cylinders':cylinders,\n", + " 'drivetrain':drivetrain,\n", + " 'fuel':fuel,\n", + " 'miles':miles,\n", + " 'color':color,\n", + " 'title':'title',\n", + " 'transmission':transmission,\n", + " 'bodytype':bodytype,\n", + " 'text':text,}\n", + " data.append(record)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
titleyear_postconditioncylindersdrivetrainfuelmilescolortransmissionbodytypetext
0title2005fair4 cylindersfwdgas232,450silvermanualsedan‘05 Elantra runs good but did not pass inspect...
1title2007good8 cylinders4wddiesel148,086missingautomaticpickup6.0 diesel, bulletproofed, just replaced trans...
2title1997fair6 cylinders4wddiesel179,000redautomatictruck1997 Dodge 4x4 Cummins. Adult owned and driven...
3title1999salvage4 cylindersrwdgas195,338silvermanualsedanVehicle does start and run, it has a manual tr...
4title1998good8 cylindersrwdgas102,483missingautomatictruck1998 GMC Sierra 1500 SL Truck, Auto 2WD/RWD, V...
\n", + "
" + ], + "text/plain": [ + " title year_post condition cylinders drivetrain fuel miles \\\n", + "0 title 2005 fair 4 cylinders fwd gas 232,450 \n", + "1 title 2007 good 8 cylinders 4wd diesel 148,086 \n", + "2 title 1997 fair 6 cylinders 4wd diesel 179,000 \n", + "3 title 1999 salvage 4 cylinders rwd gas 195,338 \n", + "4 title 1998 good 8 cylinders rwd gas 102,483 \n", + "\n", + " color transmission bodytype \\\n", + "0 silver manual sedan \n", + "1 missing automatic pickup \n", + "2 red automatic truck \n", + "3 silver manual sedan \n", + "4 missing automatic truck \n", + "\n", + " text \n", + "0 ‘05 Elantra runs good but did not pass inspect... \n", + "1 6.0 diesel, bulletproofed, just replaced trans... \n", + "2 1997 Dodge 4x4 Cummins. Adult owned and driven... \n", + "3 Vehicle does start and run, it has a manual tr... \n", + "4 1998 GMC Sierra 1500 SL Truck, Auto 2WD/RWD, V... " + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "new_df = pd.DataFrame.from_dict(data)\n", + "new_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(92, 11)" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "new_df.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
titlepriceyearlinkbrandagelog_pricelog_agetitleyear_postconditioncylindersdrivetrainfuelmilescolortransmissionbodytypetext
02005 hyundai elantra12002005.0https://charlottesville.craigslist.org/cto/d/a...missing20.07.0900772.995732title2005fair4 cylindersfwdgas232,450silvermanualsedan‘05 Elantra runs good but did not pass inspect...
12007 f250 king ranch175002007.0https://charlottesville.craigslist.org/cto/d/w...missing18.09.7699562.890372title2007good8 cylinders4wddiesel148,086missingautomaticpickup6.0 diesel, bulletproofed, just replaced trans...
21997 dodge 2500 4x4 cummins95001997.0https://charlottesville.craigslist.org/cto/d/l...dodge28.09.1590473.332205title1997fair6 cylinders4wddiesel179,000redautomatictruck1997 Dodge 4x4 Cummins. Adult owned and driven...
31999 honda civic 4 cyl manual transmission10001999.0https://charlottesville.craigslist.org/cto/d/c...honda26.06.9077553.258097title1999salvage4 cylindersrwdgas195,338silvermanualsedanVehicle does start and run, it has a manual tr...
41998 gmc sierra 1500 sl truck auto rwd <103,00...62501998.0https://charlottesville.craigslist.org/cto/d/l...gmc27.08.7403373.295837title1998good8 cylindersrwdgas102,483missingautomatictruck1998 GMC Sierra 1500 SL Truck, Auto 2WD/RWD, V...
\n", + "
" + ], + "text/plain": [ + " title price year \\\n", + "0 2005 hyundai elantra 1200 2005.0 \n", + "1 2007 f250 king ranch 17500 2007.0 \n", + "2 1997 dodge 2500 4x4 cummins 9500 1997.0 \n", + "3 1999 honda civic 4 cyl manual transmission 1000 1999.0 \n", + "4 1998 gmc sierra 1500 sl truck auto rwd <103,00... 6250 1998.0 \n", + "\n", + " link brand age \\\n", + "0 https://charlottesville.craigslist.org/cto/d/a... missing 20.0 \n", + "1 https://charlottesville.craigslist.org/cto/d/w... missing 18.0 \n", + "2 https://charlottesville.craigslist.org/cto/d/l... dodge 28.0 \n", + "3 https://charlottesville.craigslist.org/cto/d/c... honda 26.0 \n", + "4 https://charlottesville.craigslist.org/cto/d/l... gmc 27.0 \n", + "\n", + " log_price log_age title year_post condition cylinders drivetrain \\\n", + "0 7.090077 2.995732 title 2005 fair 4 cylinders fwd \n", + "1 9.769956 2.890372 title 2007 good 8 cylinders 4wd \n", + "2 9.159047 3.332205 title 1997 fair 6 cylinders 4wd \n", + "3 6.907755 3.258097 title 1999 salvage 4 cylinders rwd \n", + "4 8.740337 3.295837 title 1998 good 8 cylinders rwd \n", + "\n", + " fuel miles color transmission bodytype \\\n", + "0 gas 232,450 silver manual sedan \n", + "1 diesel 148,086 missing automatic pickup \n", + "2 diesel 179,000 red automatic truck \n", + "3 gas 195,338 silver manual sedan \n", + "4 gas 102,483 missing automatic truck \n", + "\n", + " text \n", + "0 ‘05 Elantra runs good but did not pass inspect... \n", + "1 6.0 diesel, bulletproofed, just replaced trans... \n", + "2 1997 Dodge 4x4 Cummins. Adult owned and driven... \n", + "3 Vehicle does start and run, it has a manual tr... \n", + "4 1998 GMC Sierra 1500 SL Truck, Auto 2WD/RWD, V... " + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.concat([df,new_df],axis=1) # combine data frames\n", + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "title object\n", + "price int64\n", + "year float64\n", + "link object\n", + "brand object\n", + "age float64\n", + "log_price float64\n", + "log_age float64\n", + "title object\n", + "year_post object\n", + "condition object\n", + "cylinders object\n", + "drivetrain object\n", + "fuel object\n", + "miles object\n", + "color object\n", + "transmission object\n", + "bodytype object\n", + "text object\n", + "dtype: object" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.dtypes" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "df['miles'] = df['miles'].str.replace(',','')\n", + "df['miles'] = pd.to_numeric(df['miles'],errors='coerce')\n", + "\n", + "df['year_post'] = df['year_post'].str.replace(',','')\n", + "df['year_post'] = pd.to_numeric(df['year_post'],errors='coerce')\n", + "df.to_csv('craiglist_cville_cars_long.csv')" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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ZDntWA2h5X7dmTNnsnPnTi666CKeeeYZ4OQy01dddRXDhw/nvffeY/v27dxxxx2YTCaeeuopBg0axL333svXX3/NoEEnn3s6evQoCxYs4Pvvvwfgiy++4L777mPGjBn07t2b+fPnc+utt1KvXj169uzJmjVriI2N5d1336VPnz5o//pveX5+PldddRXPPvssRqOR9957j379+rFjxw7q168+O2KfK3nSSIhyoDqceL74IbD4BnB7cL/9OWoZlsurKCZzJJ26TUZvCJw/rSha0no8h6kKrr2uaDRowq1oYiLRRFil+BZC1Bj5nsILipeVzWbDYDAQEhJCfHw88fHxvPbaayQmJvLqq6/StGlTBgwYwNNPP820adPw+XyYzWZuuukm3n33Xf95PvjgA+rXr0+PHj0AePHFFxk+fDj33HMPTZo0Ydy4cVx77bW8+OKLAMTEnHyPCQ8PJz4+3v+6devW3HXXXVx00UWkpKQwadIkGjVqxNdfl7zHRnV3ziPgERER57zrXFZWFXqIS4hKoOYX4tu6p+Sg04V65AREVp1t420RjbniXx9x+M9fOHp4DbaIxtRv2IcQSzzaC5jeIoQQ4vxYdGd+luVs8fK0bds20tLSAuq9rl27kp+fz59//kn9+vW544476NChAwcPHqRu3brMnj2b4cOH+4/Ztm0bd955Z8B5u3btysyZM8947fz8fJ566ikWLFjA4cOH8Xg8FBUVsX///vK/0SrgnN9pZ8yYUe4X/+mnn3jhhRdYu3Ythw8f5osvvmDAgAH++PDhw5kzZ07AMenp6SxatMj/OisrizFjxvDNN9+g0WgYOHAgM2fOxGL5e3Rv48aNjBo1ijVr1hATE8OYMWN46KGHAs77ySefMGHCBPbu3UtKSgrPP/88V111lT+uqipPPvkkb775Jjk5OXTt2pVZs2aRkpJSzt8VUS15vJS6tSKgFlTMCEZZKYpCaFhdGje7nkZNr0NR5MMwIYQIhkijlc4xLVl5bFOxWOeYlkQarUHIqnRt27aldevWvPfee1xxxRVs2bKFBQsWXPB5x48fz+LFi3nxxRdp3LgxZrOZ6667DlcZlputDs65AB82bFi5X7ygoIDWrVtz2223ce2115bYp0+fPgEfdRiNgQ9dDRkyhMOHD7N48WLcbje33nord955J3PnzgXAbrdzxRVX0Lt3b15/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kiW0atWKTZs28eCDD/LII4/w4YcfAvK5/Gfr168nKyuLCRMmAPL/lageMg2hEA40efJkDh06ZDdOVZROh5WYmEh2djZr1qxh/PjxxMXFOToshzt58iRTp05l8+bNMttCOQYPHmz7d4cOHejevTuBgYF8/vnnGI1GB0bmeFarla5du/LSSy8B0KlTJw4dOsQ777zD+PHjHRxd7fJ///d/DB48mICAAEeHIm5g0gMuapyfnx9AmSfIz549a6urD6ZMmcLXX3/N9u3badq0qa3cz8+P4uJisrKy7LavT+2j1+sJCQmhS5cuzJ8/n/DwcBYvXlzv22bfvn1kZmbSuXNnnJyccHJyIi4ujtdffx0nJycaN25cr9vnr7y8vGjdujVHjx6t9/eOv78/7dq1sysLDQ21DdGRz+VSv//+O1u2bOHee++1ldX3e0dUD0nARY0LDg7Gz8+PrVu32spycnLYvXs3ERERDoysZqiqypQpU1i3bh3btm0jODjYrr5Lly7odDq79klOTiYtLa1etE95rFYrJpOp3rfNwIEDOXjwIImJibZX165diYmJsf27PrfPX+Xl5XHs2DH8/f3r/b3Ts2fPMtOd/vbbbwQGBgLyuXzZBx98QKNGjRg6dKitrL7fO6Ka1MwzoaK+yc3NVffv36/u379fBdRFixap+/fvV3///XdVVVV1wYIFqpeXl/rll1+qv/zyizp8+HA1ODi4XjxF/uCDD6qenp7qjh071PT0dNuroKDAts0DDzygNm/eXN22bZuakJCgRkREqBEREQ6MuuY8/vjjalxcnJqamqr+8ssv6uOPP64qiqJ+9913qqrW77Ypz59nQVHV+t0+jz76qLpjxw41NTVV3bVrlzpo0CC1YcOGamZmpqqq9btt9uzZozo5OakvvviimpKSoq5cuVJ1cXFRP/74Y9s29flzWVVV1WKxqM2bN1dnz55dpq6ye0dmQRF/VtX7QRJwUS22b9+uAmVe48ePV1W1dMqrp59+Wm3cuLFqMBjUgQMHqsnJyY4NuoaU1y6A+sEHH9i2KSwsVB966CHV29tbdXFxUUeOHKmmp6c7LugaNGnSJDUwMFDV6/Wqr6+vOnDgQFvyrar1u23K89cEvD63zx133KH6+/urer1ebdKkiXrHHXeoR48etdXX57ZRVVXdsGGD2r59e9VgMKht27ZVly5daldf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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ax = sns.scatterplot(data=df, x='age', y='miles',hue='brand')\n", + "sns.move_legend(ax, \"upper left\", bbox_to_anchor=(1, 1))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "base", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/02_scraping/.ipynb_checkpoints/lab_notebook-checkpoint.ipynb b/02_scraping/.ipynb_checkpoints/lab_notebook-checkpoint.ipynb new file mode 100644 index 00000000..f4739e6c --- /dev/null +++ b/02_scraping/.ipynb_checkpoints/lab_notebook-checkpoint.ipynb @@ -0,0 +1,1275 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Web Scraping\n", + "\n", + "Last time, we looked at REST API's as a source of data. You can get lots of very high quality data this way.\n", + "\n", + "Some data is available online, but not through an API. When this is the case, some times you can simply copy and paste the data into a .csv file and go on with your life. But if there are many records to parse and combine into a dataset, that might be impossible. Can we automate the collection of data from online sources?\n", + "\n", + "This is called web scraping. Broadly speaking: Web scraping is legal, but what you plan to do with the results of your scraping might not be. In general, most sites do not want you to scrape them at this point, but there is not really a way to stop you if you are sufficiently motivated. Be careful to use server resources respectfully (not too many requests per unit time), think seriously about privacy concerns, and be careful who you share your work with." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We'll be scraping data about used cars in Charlottesville from Craigslist. This will give us a chance to put those wrangling, EDA, and visualization skills to work. \n", + "\n", + "We'll use the `requests` package, as we did with API's, but will be getting the kinds of web pages you see everyday. Again, we'll use a header with a user-agent that masks our true identity so that we're not rejected by the server. This particular url points to the car listings for Craigslist in Charlottesville." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import seaborn as sns\n", + "\n", + "import requests # Page requests\n", + "\n", + "header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0'} \n", + "url = 'https://charlottesville.craigslist.org/search/msa?purveyor=owner#search=1~gallery~0~0' \n", + "raw = requests.get(url,headers=header) # Get page" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that we have that particular page available locally, we want to **parse** it and get results from it. To do that, we can use a package called `beautifulSoup` or `bs4`.\n", + "\n", + "What does `beautifulSoup` do for us? Let's go to the web page of interest. You probably see something like this:\n", + "\n", + "![Listings](craigslist.png \"Craigslist\")\n", + "\n", + "But if you \"view page source\" -- which is CTRL+U -- in Chrome, you see what the computer sees:\n", + "\n", + "![Listings](craigslist_source.png \"Craigslist\")\n", + "\n", + "Since your web browser needs lots of instructions about how to render the text, pictures, and other content on your web page, there are a lot of clues about where the data live and how to extricate them from a page. These clues are called **tags**. If you wander the source for the search page on cars, you see a particular `class = \"cl-static-search-result\"` term appear attached to each listing: \n", + "\n", + "![Listings](listing.png \"Craigslist\")\n", + "\n", + "This structure can be exploited to search the page for information. This kind of detective work -- looking at the page source, finding the interesting tages, and then searching the page with `beautifulSoup` -- is the basic job of web scraping." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1. Pick something else on Craigslist: Musical instruments, roommates, antiques, etc. Look at the search page and its source code. Record which fields/data you would like to gather, and what kinds of EDA you'd do with it." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The following code chunk takes the raw content from `requests` and turns it into a beautifulSoup object, which can search the page and return results for us:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from bs4 import BeautifulSoup as soup # HTML parser\n", + "bsObj = soup(raw.content,'html.parser') # Parse the html\n", + "listings = bsObj.find_all(class_=\"cl-static-search-result\") # Find all listings" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Why is the argument `class_` and not just `class`? The word `class` is a reserved keyword for Python, and cannot be used by anyone else, similar to `True` and `False`. But since we want the `class = \"cl-static-search-result\"` terms, we need to use the `class_` argument to the `.find_all` method.\n", + "\n", + "The `.find_all` function dredges the entire page and finds all the instances of `class = \"cl-static-search-result\"`, resulting in a list of entries. We can then parse the entries.\n", + "\n", + "For each listing, we'll use the `.find` method to search within the listing record for specific information. To get the information we want, we can then use `.get_text()`.\n", + "\n", + "In the code below, two more things happen. \n", + "\n", + "First, I would like to get the brand of the car from the post title, if possible. To do this, I split the title into words using `title.split()`, and then I use a list comprehension to look over every word in the title and check whether it appears in the `brands` list. \n", + "\n", + "Second, I would like to get the year the car was built, so I can determine the vehicle's age. To do this, I use a thing called **regular expressions** that provides a language for expressing patterns. Do I remember how to do this off the top of my head? No, I read a few pages in a book and looked on StackOverflow for answers. Roughly, in order to express the idea \"any year starting with 20xx,\" you can write `20[0-9][0-9]`, and for \"any year starting with 19xx,\" you can write `19[0-9][0-9]`. The `[0-9]`'s act as wildcards for any digit. This allows me to use the `re` package to find any instances of year-like numbers in the title text, using `re.search(r'20[0-9][0-9]|19[0-9][0-9]', title )`.\n", + "\n", + "This is all nested in a for-loop over the listings, and the data is appended to a list. " + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "import re # Regular expressions\n", + "\n", + "styles = ['cordoba', 'telecaster', 'stratocaster', 'epiphone', 'schecter', 'piano', 'drums', \n", + " 'guitar', 'martin', 'yamaha', 'prs', 'vox', 'fender', 'sire', 'gibson', 'ibanez', 'peavey', 'taylor', ]\n", + "\n", + "data = [] # We'll save our listings in this object\n", + "for k in range( len(listings) ):\n", + " title = listings[k].find('div',class_='title').get_text().lower()\n", + " price = listings[k].find('div',class_='price').get_text()\n", + " link = listings[k].find(href=True)['href']\n", + " # Get brand from the title string:\n", + " words = title.split()\n", + " hits = [] # Find brands in the title\n", + " for word in words:\n", + " if word in styles:\n", + " hits.append(word)\n", + " if len(hits) == 0:\n", + " style = 'missing'\n", + " else:\n", + " style = hits[0]\n", + " # Get years from title string:\n", + " regex_search = re.search(r'20[0-9][0-9]|19[0-9][0-9]', title ) # Find year references\n", + " if regex_search is None: # If no hits, record year as missing value\n", + " year = np.nan \n", + " else: # If hits, record year as first match\n", + " year = regex_search.group(0)\n", + " #\n", + " data.append({'title':title,'price':price,'year':year,'link':link,'style':style})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Get your search results of interest and extract data from them, using code similar to what's above." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "With the data scraped from Craigslist, we can put it in a dataframe and wrangle it. Of course, price and year come in as text, not numbers, and need to be typecast/coerced:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(143, 6)\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
titlepriceyearlinkstyleage
0cables, connectors, and adapters40NaNhttps://charlottesville.craigslist.org/msg/d/c...missingNaN
1baglama saz (custom)1800NaNhttps://charlottesville.craigslist.org/msg/d/c...missingNaN
2martin d-35 (2022)25002022.0https://charlottesville.craigslist.org/msg/d/c...martin3.0
3vox ac15hw1x w/ alnico blue1300NaNhttps://charlottesville.craigslist.org/msg/d/c...voxNaN
4piano tuning & repair175NaNhttps://charlottesville.craigslist.org/msg/d/c...pianoNaN
\n", + "
" + ], + "text/plain": [ + " title price year \\\n", + "0 cables, connectors, and adapters 40 NaN \n", + "1 baglama saz (custom) 1800 NaN \n", + "2 martin d-35 (2022) 2500 2022.0 \n", + "3 vox ac15hw1x w/ alnico blue 1300 NaN \n", + "4 piano tuning & repair 175 NaN \n", + "\n", + " link style age \n", + "0 https://charlottesville.craigslist.org/msg/d/c... missing NaN \n", + "1 https://charlottesville.craigslist.org/msg/d/c... missing NaN \n", + "2 https://charlottesville.craigslist.org/msg/d/c... martin 3.0 \n", + "3 https://charlottesville.craigslist.org/msg/d/c... vox NaN \n", + "4 https://charlottesville.craigslist.org/msg/d/c... piano NaN " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "## Wrangle the data\n", + "df = pd.DataFrame.from_dict(data)\n", + "df['price'] = df['price'].str.replace('$','')\n", + "df['price'] = df['price'].str.replace(',','')\n", + "df['price'] = pd.to_numeric(df['price'],errors='coerce')\n", + "df['year'] = pd.to_numeric(df['year'],errors='coerce')\n", + "df['age'] = 2025-df['year']\n", + "print(df.shape)\n", + "df.to_csv('craigslist_cville_instruments.csv') # Save data in case of a disaster\n", + "df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With the data in and wrangled, we can now do EDA:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "count 143.000000\n", + "mean 610.958042\n", + "std 999.516974\n", + "min 0.000000\n", + "25% 50.000000\n", + "50% 225.000000\n", + "75% 700.000000\n", + "max 6500.000000\n", + "Name: price, dtype: float64\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "count 14.000000\n", + "mean 21.785714\n", + "std 17.339056\n", + "min 2.000000\n", + "25% 4.000000\n", + "50% 21.000000\n", + "75% 37.000000\n", + "max 47.000000\n", + "Name: age, dtype: float64\n" + ] + }, + { + "data": { + "image/png": "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DzzwgIYMGaIf/OAHN/3wQfSMbdu2KSMjI/KDtLxer957773I85wLs9atWyeHw6GVK1dG9nFO+p6YiZE9e/aouLhYq1ev1unTp5WZmanc3Fy1traaHi3utbW1KTMzU1u3bu3w+V/96ld64403tH37dn300Ue67777lJubq2vXrt3lSe8N1dXVKiws1MmTJ1VRUaEbN27o6aefVltbW2TNCy+8oL/85S/au3evqqur9fnnn+v73/++wanj16hRo7Ru3TrV1dWptrZWTzzxhBYsWKBz585J4lyYdOrUKe3YsUMZGRlR+zknfZAVI2bOnGkVFhZGHre3t1sjRoywfD6fwanuPZKs/fv3Rx6Hw2HL4/FY69evj+y7fPmy5XQ6rT/96U8GJrz3tLa2WpKs6upqy7K++fsfOHCgtXfv3siaf/zjH5Ykq6amxtSY95ShQ4dau3bt4lwYdOXKFWvcuHFWRUWFNWfOHGvFihWWZfHvo6+KiSsj169fV11dnXJyciL7+vXrp5ycHNXU1BicDBcvXpTf7486N263W7NmzeLc3CWBQECSNGzYMElSXV2dbty4EXVOJkyYoLS0NM5JL2tvb1d5ebna2trk9Xo5FwYVFhYqLy8v6u9e4t9HX9Unf2vv/+/LL79Ue3t75Ke8fis5OVmffPKJoakgSX6/X5I6PDffPofeEw6HtXLlSj366KORn2rs9/uVkJCg+++/P2ot56T3NDQ0yOv16tq1axoyZIj279+vSZMmqb6+nnNhQHl5uU6fPq1Tp07d9Bz/PvqmmIgRAB0rLCzU2bNn9eGHH5oe5Z42fvx41dfXKxAIaN++fVq8eLGqq6tNj3VPampq0ooVK1RRUaHExETT4+A2xcSXaR588EH179//prudW1pa5PF4DE0FSZG/f87N3VdUVKRDhw7pgw8+0KhRoyL7PR6Prl+/rsuXL0et55z0noSEBI0dO1ZZWVny+XzKzMzU5s2bORcG1NXVqbW1VdOnT9eAAQM0YMAAVVdX64033tCAAQOUnJzMOemDYiJGEhISlJWVpcrKysi+cDisyspKeb1eg5MhPT1dHo8n6twEg0F99NFHnJteYlmWioqKtH//fh07dkzp6elRz2dlZWngwIFR5+T8+fNqbGzknNwl4XBYoVCIc2HAk08+qYaGBtXX10e2GTNm6Lnnnov8mXPS98TMl2mKi4u1ePFizZgxQzNnztSmTZvU1tamJUuWmB4t7l29elUXLlyIPL548aLq6+s1bNgwpaWlaeXKlfrFL36hcePGKT09Xa+++qpGjBih/Px8c0PHscLCQpWVlengwYNKSkqKfJ3b7XZr0KBBcrvdWrp0qYqLizVs2DC5XC799Kc/ldfr1ezZsw1PH39KSko0b948paWl6cqVKyorK1NVVZWOHj3KuTAgKSnppt8Kf9999+mBBx6I7Oec9EGmv53Hjl//+tdWWlqalZCQYM2cOdM6efKk6ZHuCR988IEl6aZt8eLFlmV98+29r776qpWcnGw5nU7rySeftM6fP2926DjW0bmQZL355puRNV9//bX1k5/8xBo6dKg1ePBg63vf+57V3Nxsbug49qMf/cgaPXq0lZCQYD300EPWk08+ab3//vuR5zkX5v3fb+21LM5JX+SwLMsy1EEAAACxcc8IAACIX8QIAAAwihgBAABGESMAAMAoYgQAABhFjAAAAKOIEQAAYBQxAgAAjCJGAACAUcQIAAAwihgBAABGESMAAMCo/weZC0cyHfrdYwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# EDA for price and age:\n", + "print(df['price'].describe())\n", + "df['price'].hist(grid=False)\n", + "plt.show()\n", + "print(df['age'].describe())\n", + "df['age'].hist(grid=False)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
price
countmeanstdmin25%50%75%max
style
cordoba1.0460.000000NaN460.0460.0460.0460.00460.0
epiphone9.0763.777778363.768050150.0550.0899.01050.001200.0
fender11.0341.000000357.8211841.0137.5200.0500.001200.0
gibson1.02499.000000NaN2499.02499.02499.02499.002499.0
guitar18.0644.055556952.2235570.042.5262.5687.503299.0
ibanez1.0299.000000NaN299.0299.0299.0299.00299.0
martin2.02650.000000212.1320342500.02575.02650.02725.002800.0
missing73.0445.917808919.3750711.040.0100.0500.006500.0
peavey6.0490.000000435.384887200.0225.0270.0585.001300.0
piano4.01281.2500002447.2241930.00.087.51368.754950.0
prs3.03499.666667264.9534553299.03349.53400.03600.003800.0
schecter2.0375.000000212.132034225.0300.0375.0450.00525.0
sire2.0375.00000070.710678325.0350.0375.0400.00425.0
stratocaster2.0505.000000544.472222120.0312.5505.0697.50890.0
taylor1.0500.000000NaN500.0500.0500.0500.00500.0
telecaster1.0150.000000NaN150.0150.0150.0150.00150.0
vox1.01300.000000NaN1300.01300.01300.01300.001300.0
yamaha5.0203.000000149.31510315.0150.0150.0300.00400.0
\n", + "
" + ], + "text/plain": [ + " price \\\n", + " count mean std min 25% 50% 75% \n", + "style \n", + "cordoba 1.0 460.000000 NaN 460.0 460.0 460.0 460.00 \n", + "epiphone 9.0 763.777778 363.768050 150.0 550.0 899.0 1050.00 \n", + "fender 11.0 341.000000 357.821184 1.0 137.5 200.0 500.00 \n", + "gibson 1.0 2499.000000 NaN 2499.0 2499.0 2499.0 2499.00 \n", + "guitar 18.0 644.055556 952.223557 0.0 42.5 262.5 687.50 \n", + "ibanez 1.0 299.000000 NaN 299.0 299.0 299.0 299.00 \n", + "martin 2.0 2650.000000 212.132034 2500.0 2575.0 2650.0 2725.00 \n", + "missing 73.0 445.917808 919.375071 1.0 40.0 100.0 500.00 \n", + "peavey 6.0 490.000000 435.384887 200.0 225.0 270.0 585.00 \n", + "piano 4.0 1281.250000 2447.224193 0.0 0.0 87.5 1368.75 \n", + "prs 3.0 3499.666667 264.953455 3299.0 3349.5 3400.0 3600.00 \n", + "schecter 2.0 375.000000 212.132034 225.0 300.0 375.0 450.00 \n", + "sire 2.0 375.000000 70.710678 325.0 350.0 375.0 400.00 \n", + "stratocaster 2.0 505.000000 544.472222 120.0 312.5 505.0 697.50 \n", + "taylor 1.0 500.000000 NaN 500.0 500.0 500.0 500.00 \n", + "telecaster 1.0 150.000000 NaN 150.0 150.0 150.0 150.00 \n", + "vox 1.0 1300.000000 NaN 1300.0 1300.0 1300.0 1300.00 \n", + "yamaha 5.0 203.000000 149.315103 15.0 150.0 150.0 300.00 \n", + "\n", + " \n", + " max \n", + "style \n", + "cordoba 460.0 \n", + "epiphone 1200.0 \n", + "fender 1200.0 \n", + "gibson 2499.0 \n", + "guitar 3299.0 \n", + "ibanez 299.0 \n", + "martin 2800.0 \n", + "missing 6500.0 \n", + "peavey 1300.0 \n", + "piano 4950.0 \n", + "prs 3800.0 \n", + "schecter 525.0 \n", + "sire 425.0 \n", + "stratocaster 890.0 \n", + "taylor 500.0 \n", + "telecaster 150.0 \n", + "vox 1300.0 \n", + "yamaha 400.0 " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Price by brand:\n", + "df.loc[:,['price','style']].groupby('style').describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
age
countmeanstdmin25%50%75%max
style
cordoba0.0NaNNaNNaNNaNNaNNaNNaN
epiphone1.024.0NaN24.024.0024.024.0024.0
fender1.028.0NaN28.028.0028.028.0028.0
gibson1.02.0NaN2.02.002.02.002.0
guitar1.02.0NaN2.02.002.02.002.0
ibanez0.0NaNNaNNaNNaNNaNNaNNaN
martin2.011.512.0208153.07.2511.515.7520.0
missing5.037.016.9852887.040.0045.046.0047.0
peavey0.0NaNNaNNaNNaNNaNNaNNaN
piano0.0NaNNaNNaNNaNNaNNaNNaN
prs2.09.510.6066022.05.759.513.2517.0
schecter1.022.0NaN22.022.0022.022.0022.0
sire0.0NaNNaNNaNNaNNaNNaNNaN
stratocaster0.0NaNNaNNaNNaNNaNNaNNaN
taylor0.0NaNNaNNaNNaNNaNNaNNaN
telecaster0.0NaNNaNNaNNaNNaNNaNNaN
vox0.0NaNNaNNaNNaNNaNNaNNaN
yamaha0.0NaNNaNNaNNaNNaNNaNNaN
\n", + "
" + ], + "text/plain": [ + " age \n", + " count mean std min 25% 50% 75% max\n", + "style \n", + "cordoba 0.0 NaN NaN NaN NaN NaN NaN NaN\n", + "epiphone 1.0 24.0 NaN 24.0 24.00 24.0 24.00 24.0\n", + "fender 1.0 28.0 NaN 28.0 28.00 28.0 28.00 28.0\n", + "gibson 1.0 2.0 NaN 2.0 2.00 2.0 2.00 2.0\n", + "guitar 1.0 2.0 NaN 2.0 2.00 2.0 2.00 2.0\n", + "ibanez 0.0 NaN NaN NaN NaN NaN NaN NaN\n", + "martin 2.0 11.5 12.020815 3.0 7.25 11.5 15.75 20.0\n", + "missing 5.0 37.0 16.985288 7.0 40.00 45.0 46.00 47.0\n", + "peavey 0.0 NaN NaN NaN NaN NaN NaN NaN\n", + "piano 0.0 NaN NaN NaN NaN NaN NaN NaN\n", + "prs 2.0 9.5 10.606602 2.0 5.75 9.5 13.25 17.0\n", + "schecter 1.0 22.0 NaN 22.0 22.00 22.0 22.00 22.0\n", + "sire 0.0 NaN NaN NaN NaN NaN NaN NaN\n", + "stratocaster 0.0 NaN NaN NaN NaN NaN NaN NaN\n", + "taylor 0.0 NaN NaN NaN NaN NaN NaN NaN\n", + "telecaster 0.0 NaN NaN NaN NaN NaN NaN NaN\n", + "vox 0.0 NaN NaN NaN NaN NaN NaN NaN\n", + "yamaha 0.0 NaN NaN NaN NaN NaN NaN NaN" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Age by brand:\n", + "df.loc[:,['age','style']].groupby('style').describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ax = sns.scatterplot(data=df, x='age', y='price',hue='style')\n", + "sns.move_legend(ax, \"upper left\", bbox_to_anchor=(1, 1))" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\fletc\\dev\\uva\\ds3001\\labs\\ven\\Lib\\site-packages\\pandas\\core\\arraylike.py:399: RuntimeWarning: divide by zero encountered in log\n", + " result = getattr(ufunc, method)(*inputs, **kwargs)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " log_price log_age\n", + "log_price 3.443981 -1.036072\n", + "log_age -1.036072 1.584197\n", + " log_price log_age\n", + "log_price 1.000000 -0.679313\n", + "log_age -0.679313 1.000000\n" + ] + }, + { + "data": { + "image/png": "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XbsWffv2xYQJE2Bra4vbt29jy5YtWLduHaRSqU7irmiYEBMRUYUgESSoZOKASiYO+g7FYEhsrCC0agxpU29AIoEgM9Z3SMViaeqI9/2C/38f4lTIjc11vg+xpaUl/vzzTyxbtgzJyclwdXXF4sWL0alTJ2zduvW1xzs7OyMsLAwTJ05Ehw4doFQq4erqio4dO0JSDtdy64sgGtgrUJKTk2FlZYWkpCRYWpa/X+kQEREZooJ+fmdmZiImJgbu7u5QKBR6ipDKmsLcF/ynAxEREREZNCbERERERGTQmBATERERkUFjQkxEREREBo0JMREREREZNCbERERERGTQipUQZ2VlISoqCjk5OSUVDxERERFRqSpSQpyeno5BgwbB1NQUdevWRVxcHADgs88+w/z580s0QCIiIiIiXSpSQjx58mRcuXIFx48f19rouH379m/0VhUiIiIiorKiSAnxrl278M0336Bly5YQBEFTXrduXURHR5dYcERERERUsPXr18Pa2rpQxwQFBaF79+46iac8KlJC/OTJE1SuXDlXeVpamlaCTERERES61adPH9y8eVPfYZRrRUqIfX19sW/fPs33V0nwunXr4OfnVzKREREREZWy1Kxk3E+Jxc3ECDxIjUVqVrK+Q3otExOTPCcq6c0VKSGeN28evvzyS3z66afIycnB8uXL0aFDB4SEhGDu3LklHSMRERGRzj3NeITFFyfjs2M9MfFkf4z8oycWX5yMpxmPdDquWq1GcHAw3N3dYWJiggYNGmD79u0AgOPHj0MQBOzbtw/169eHQqFAs2bNcPXqVc3x/10yMWPGDDRs2BBr1qyBi4sLTE1N0bt3byQlJeUae9GiRXBycoKdnR1GjBiB7OxsTV1iYiICAwNhY2MDU1NTdOrUCbdu3co17qFDh+Dl5QVzc3N07NgR8fHxWmOsW7cOXl5eUCgUqF27Nr777ruSunQlpkgJccuWLREeHo6cnBx4e3vj8OHDqFy5Mk6fPo3GjRuXdIxEREREOpWalYxvw2cj/MlprfLwJ6fxbfhsnc4UBwcH46effsLq1atx7do1jBkzBh9//DFOnDihaTN+/HgsXrwY58+fh729Pbp27aqVvP7X7du3sW3bNvz+++84ePAgLl++jOHDh2u1OXbsGKKjo3Hs2DFs2LAB69evx/r16zX1QUFBuHDhAvbs2YPT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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df['log_price'] = np.log(df['price'])\n", + "df['log_age'] = np.log(df['age'])\n", + "\n", + "ax = sns.scatterplot(data=df, x='log_age', y='log_price',hue='style')\n", + "sns.move_legend(ax, \"upper left\", bbox_to_anchor=(1, 1))\n", + "\n", + "print(df.loc[:,['log_price','log_age']].cov())\n", + "print(df.loc[:,['log_price','log_age']].corr())" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk0AAAJOCAYAAACqbjP2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABZjElEQVR4nO3deXRU9f3/8dedmWQmO4FAEiBACCGEALKKCSr7rgJfi4ooKIIbFlGRgnUBN7QVBdsqoAW0LtW6UKvsKFQElFUBWWQNKosoJKyBJPf3Bya/RgjchEnuLM/HOXN07tx75325mbmved/P3DFM0zQFAACA83LYXQAAAIA/IDQBAABYQGgCAACwgNAEAABgAaEJAADAAkITAACABYQmAAAACwhNAAAAFhCaAAAALCA0AQAAWEBoAgAAsIDQBAAAYIHL7gIAAL4rOztbBw8etLsMvxQXF6c6derYXQa8iNAEADin7OxsNWqUrhMnjttdil8KCwvX5s2bCE4BhNAEADingwcP6sSJ42o75DFFJ9azuxy/krt3l76cPl4HDx4kNAUQQhMA4LyiE+upap00u8sAbMdAcAAAAAsITQAAABYQmgAAACwgNAEAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAW8DMqXsCvgJcPvwCOysTrtOw2bdpkdwmATyE0XSR+Bbz8+AVwVBZepxfndN4pu0sAfAKh6SLxK+Dlwy+AozLxOi2fveuXa8NH05Sfn293KYBPIDR5Cb8CDvg+Xqdlk7t3l90lAD6FgeAAAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgAaEJAADAAkITAACABYQmAAAACwhNAAAAFhCaAAAALCA0AQAAWEBoAgAAsIDQBAAAYAGhCQAAwAJCEwAAgAWEJgAAAAsITQAAABYQmgAAACwgNAEAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgAaEJAADAAkITAACABYQmAAAACwhNAAAAFhCaAAAALCA0AQAAWEBoAgAAsIDQBAAAYAGhCQAAwAJCEwAAgAUuuwtAcNu0aZPdJfiduLg41alTx+4yACDoEJpgixM5P0sydNNNN9ldit8JCwvX5s2bCE4AUMkITbDF6eNHJJlqfuMfVD25kd3l+I3cvbv05fTxOnjwIKEJACoZoQm2iqxRR1XrpNldBgAAF8RAcAAAAAsITQAAABYQmgAAACwgNAEAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWBN3PqJimqSNHjnhtfUePHpUk/bJ7i/LzTnhtvYEud+9uSVLOD98pxGXYXI3/yN2XLUlavXp18d8eLmzLli2SeJ2WFa/T8it6rR49elS5ubleWWdUVJQMg/1gJ8M0TdPuIipTbm6uYmJi7C4DAIAyycnJUXR0tN1lBLWg6zRFRUUpJyfH7jIqXG5urpKSkrRnz56gepGx3Wx3oAvGbZbY7j179igqKsrucoJe0IUmwzCC6gUXHR0dVNtbhO0OLsG43cG4zVJwbzen5uzHQHAAAAALCE0AAAAWEJoClNvt1mOPPSa32213KZWK7Wa7A10wbrPEdgfbdvuqoPv2HAAAQHnQaQIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWEJoAAAAsCLrQZJqmcnNzxeWpAACBjmOedwXdD/YeOXJEMTExir70/2S4QuwuB14QEhapK2571O4yAJ/w5+7xSqnK1aNxRtExLycnJyh/6Njbgq7TBAAAUB6EJgAAAAsITQAAABYQmgAAACwgNAEAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgAaEJAADAAkITAACABYQmAAAAC1x2FwAAACrWunXrFBkZaXcZPiUuLk516tQp0zKEJgAAAlz79u3tLsHnhIWFa/PmTWUKToQmAAACXKubxqhq3TS7y/AZuXt36cvp43Xw4EFCEwAA+P+iE+qoah1C08ViIDgAAIAFhCYAAAALCE0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgga2hqaCgQI888oiSk5MVFhamlJQUPfHEEzJN87zLLV68WC1btpTb7VaDBg00c+bMyikYAAAELVsvbvnss8/q5Zdf1muvvaaMjAytWrVKt956q2JiYjRixIhzLrNz50717t1bd955p958800tWrRIQ4cOVWJiorp3717JWwAAAIKFraFp2bJl6tOnj3r37i1Jqlevnt5++2199dVXpS4zZcoUJScna+LE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rk5TtWrVFBMTc9b0mJgYxcbGXnRRAAAAvqZcoenhhx/W/fffr3379hVP27dvnx588EE98sgjXisOAADAV5Tr9NzLL7+sbdu2qU6dOqpTp44kKTs7W263Wz/99JOmTp1aPO+aNWu8UykAAICNyhWa+vbt6+UyAAAAfFu5QtNjjz1mab63335bx44dO+tnVgAAAPxNucY0WXXHHXdo//79FfkUAAAAlaJCQ5NpmhW5egAAgEpToaEJAAAgUBCaAAAALCA0AQAAWEBoAgAAsKBCQ1PdunUVEhJSkU8BAABQKcp1nSarNmzYUJGrBwAAqDTlCk2xsbEyDOOs6YZhyOPxqEGDBrrlllt06623XnSBAAAAvqBcoenRRx/VU089pZ49e+rSSy+VJH311VeaO3euhg8frp07d+quu+5Sfn6+hg0b5tWCAQAA7FCu0LR06VI9+eSTuvPOO0tMnzp1qubPn6/3339fzZo104svvkhoAgAAAaFcA8HnzZunLl26nDW9c+fOmjdvniSpV69e2rFjx8VVBwAA4CPKFZqqVq2q//znP2dN/89//qOqVatKko4dO6aoqKiLqw4AAMBHlOv03COPPKK77rpLn332WfGYppUrV2r27NmaMmWKJGnBggVq37699yoFAACwUblC07Bhw9S4cWP99a9/1QcffCBJSktL05IlS5SVlSVJeuCBB7xXJQAAgM3KfZ2mdu3aqV27dt6sBQAAwGeVOzQVFBRo1qxZ2rRpkyQpIyND11xzjZxOp9eKAwAA8BXlCk3btm1Tr1699MMPPygtLU2SNGHCBCUlJemTTz5RSkqKV4sEAACwW7m+PTdixAilpKRoz549WrNmjdasWaPs7GwlJydrxIgR3q4RAADAduXqNC1ZskQrVqwovryAJFWrVk3PPPMM45wAAEBAKlenye1268iRI2dNP3r0qEJDQy+6KAAAAF9TrtB01VVX6fbbb9eXX34p0zRlmqZWrFihO++8U9dcc423awQAALBduULTiy++qJSUFGVmZsrj8cjj8SgrK0sNGjTQpEmTvFwiAACA/co1pqlKlSr697//rW3bthVfciA9PV0NGjTwanEAAAC+wnJouv/++8/7+GeffVb8/88//3z5KwIAAPBBlkPT2rVrLc1nGEa5iwEAAPBVlkPT/3aSAAAAgk25BoIDAAAEG0ITAACABYQmAAAAC2wPTT/88INuuukmVatWTWFhYWratKlWrVp13mUWL16sli1byu12q0GDBpo5c2blFAsAAIKWraHp0KFDateunUJCQjRnzhx9++23mjhxomJjY0tdZufOnerdu7c6duyodevWaeTIkRo6dKjmzZtXiZUDAIBgU66LW3rLs88+q6SkJM2YMaN4WnJy8nmXmTJlipKTkzVx4kRJZy6quXTpUr3wwgvq3r17hdYLAIA/Orh7q07nm5bmdblcCnFf+Hdkc/fuusiq/I+toemjjz5S9+7d1b9/fy1ZskS1atXS3XffrWHDhpW6zPLly9WlS5cS07p3766RI0dWcLUAAPin9f+aVCHrDQsLV1xcXIWs2xfZGpp27Nihl19+Wffff78eeughrVy5UiNGjFBoaKgGDx58zmX27dun+Pj4EtPi4+OVm5urEydOKCwsrMRjeXl5ysvLK76fm5vr/Q0BAMAHlHbMS+95i6IT615w+WMH92rDR9P0xhtvKD09/YLzx8XFqU6dOuUv2M/YGpoKCwvVunVrPf3005KkFi1aaMOGDZoyZUqpoamsJkyYoPHjx3tlXQAA+LLSjnkJGZeqRmrzCy7/S/YWbfhomtLT09WyZcsKqNC/2ToQPDExUY0bNy4xLT09XdnZ2aUuk5CQoP3795eYtn//fkVHR5/VZZKksWPHKicnp/i2Z88e7xQPAICP4ZhXsWztNLVr105btmwpMW3r1q2qW7f0FmJmZqZmz55dYtqCBQuUmZl5zvndbrfcbvfFFwsAgI/jmFexbO003XfffVqxYoWefvppbdu2TW+99ZamTZum4cOHF88zduxYDRo0qPj+nXfeqR07dmj06NHavHmzXnrpJb377ru677777NgEAAAQJGwNTW3atNGHH36ot99+W02aNNETTzyhSZMmaeDAgcXz7N27t8TpuuTkZH3yySdasGCBLrnkEk2cOFGvvvoqlxsAAAAVytbTc5J01VVX6aqrrir18XNd7btDhw5au3ZtBVYFAABQku0/owIAAOAPCE0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgAaEJAADAAkITAACABYQmAAAACwhNAAAAFhCaAAAALCA0AQAAWEBoAgAAsIDQBAAAYAGhCQAAwAJCEwAAgAWEJgAAAAsITQAAVADTNO0uAV5GaLpIIQ5Dht1FAD4g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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.jointplot(data=df, x='log_age', y='log_price',kind='hex')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. Wrangle your data, do some EDA, and make some plots. Try to find some interesting relationships or stories to tell about your data." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The final thing we want to do is go from scraping a single page to crawling around.\n", + "\n", + "The idea here is that every web page is connected to some other page. By extracting links as we move from page to page, we can create a web crawler that wanders around for us, gathering information of interest.\n", + "\n", + "In this case, we want to use the search results to then visit each individual page for each listing. Since we saved the links to the web pages in the previous scrape, we can now simply for-loop over that column in the dataframe, visiting the page listing for each of the cars in the search results:" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "import time # Time delays\n", + "import random # Random numbers\n", + "\n", + "links = df['link']\n", + "data = []\n", + "for link in links: # about 3 minutes\n", + " time.sleep(random.randint(1, 3)) # Random delays\n", + " raw = requests.get(link,headers=header) # Get page\n", + " bsObj = soup(raw.content,'html.parser') # Parse the html\n", + " #\n", + " try:\n", + " year_post = bsObj.find(class_='attr important').find(class_ = 'valu year').get_text()\n", + " except:\n", + " year_post = np.nan\n", + " #\n", + " try:\n", + " condition = bsObj.find(class_='attr condition').find(href=True).get_text()\n", + " except:\n", + " condition = 'missing'\n", + "\n", + " text = bsObj.find(id='postingbody').get_text()\n", + " text = text.replace('\\n','')\n", + " text = text.replace('QR Code Link to This Post','')\n", + " record = {'title':title,\n", + " 'year_post':year_post,\n", + " 'condition':condition,\n", + " 'text':text,}\n", + " data.append(record)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What are the new features here?\n", + "\n", + "First, we don't want to overwhelm the servers, so we put a small delay between each request of a listing, `time.sleep(random.randint(1, 3))`. This waits a random amount of time between 1 and 3 seconds to avoid overwhelming their server.\n", + "\n", + "Second, we use the try/except block. This is a useful control structure in general, but especially for web scraping. Python tries the statements under `try:`, and if it fails, executes the steps under `except:`. This can happen, in this case, with missing data, which crashes the crawler. Instead, we put our missing codes into our dataframe right away. \n", + "\n", + "Third, we used `.find().find().get_text()` to find the data we're looking for. In general, the structure of mark-up langauges like HTML and XML makes it possible to \"drill down\" into their entries and extract the information of interest. This exploitation of mark-up languages could be the subject of a whole course on procuring data from the web." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With the data scraped, we can make a new dataframe, combine it with the old one using `pd.concat`, and do some wrangling to clean the data up:" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 143 entries, 0 to 142\n", + "Data columns (total 12 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 title 143 non-null object \n", + " 1 price 143 non-null int64 \n", + " 2 year 14 non-null float64\n", + " 3 link 143 non-null object \n", + " 4 style 143 non-null object \n", + " 5 age 14 non-null float64\n", + " 6 log_price 143 non-null float64\n", + " 7 log_age 14 non-null float64\n", + " 8 title 143 non-null object \n", + " 9 year_post 0 non-null float64\n", + " 10 condition 143 non-null object \n", + " 11 text 143 non-null object \n", + "dtypes: float64(5), int64(1), object(6)\n", + "memory usage: 13.5+ KB\n" + ] + } + ], + "source": [ + "new_df = pd.DataFrame.from_dict(data)\n", + "new_df.head()\n", + "\n", + "df = pd.concat([df,new_df],axis=1) # combine data frames\n", + "df.info()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4. From your search results, crawl to the links and extract more information about every listing in your original dataframe. Wrangle and do some EDA." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "condition\n", + "missing 49\n", + "excellent 31\n", + "like new 28\n", + "good 25\n", + "new 7\n", + "fair 3\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.value_counts('condition')" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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dezYUWfOnHFafunSJa1YscLxc2BgoIYMGaILFy6obdu2+uOPP1JsMy4uTkuXLk330fPkpk2bluJmae+++662bNmiAgUKpNlIDx48WDabTZMnT9bly5fVpUuXmz6lX7pyjfiIESMkXbkp2OTJkxUXF5diXHh4uFq0aKFJkyY5Yn369JGvr6+2bdum8ePHO50Kv337dr3xxhuSrsybzJB0M733338/xU3rJk6cqG3btt30NpPOJNi9e/dNrdexY0eVKlVKx48f1/Dhw52a9sOHDzve0yFDhsjb2/um8wKAXCtL7pkOALit1q5dayQZLy8vEx0dfcPx99xzj5FkJk2a5BRP/rglSWbMmDFpbiM2NtY0bdrUSDKenp6mTp065vHHHzcdO3Y0derUMZ6enkaS2bt3r2OdpEeGXfv4o+TOnj3reORR4cKFzSOPPGI6dOhgAgICTIECBRyP3OrevXuKdfv27WskGTc3N9OoUSPTpUsXc9dddxk3NzfH88YffPDBFOutW7fOFClSxEgyAQEBpkmTJqZr167moYceMuXKlXM8zzq9bvSc7tQkPXLqlVdeSXPM9R4TdeTIEVOpUiUjyeTPn980b97cdOnSxTRo0MD4+fmlWCc+Pt7xrHWbzWZq1qxpOnToYDp16mTq169vfHx8jCSzYsWKdNeQNG+GDRtmLMsyDRo0MF26dDF33323Y78sXLjwutt45JFHHNsJDw9P92unZty4ccbDw8PxmKtmzZqZJ554wrRr187xzGml8riuZcuWGW9vbyPJVK5c2XTp0sU0bdrUuLu7G0mmZ8+eKV7rRvvvenN/0KBBjv2QNG/vvPNOY7PZHPP9Zh4Z9sEHHzieWd++fXvTu3dv07t3b8dj16637pYtW0yhQoUcyzt16mRat27teD9atGhh4uLinNZJmu+p/X/yRq8HALkBTTcA5AFPPfWUkWQee+yxdI2fMmWKkWSqVKniFL906ZLjD27LssyhQ4euu53ExEQzf/5807p1axMYGGg8PDxM4cKFzV133WV69uxpvv32W3P58mXH+PQ03cYYc/r0aTNw4EBTrlw54+XlZYKDg82TTz5pDhw4cN0/8O12u/n000/NPffcY7y9vY2/v79p3ry5Wb9+vZk7d66RZLp06ZLqa548edK8/PLL5p577jEFChQwnp6epkSJEqZevXrmlVdeMTt3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MkShoaGOO5cvW7ZMJ0+e1H333Sdvb2/99NNPGj9+vJ599llHHm3btlWfPn00bdo0tWjRQidOnNCwYcN07733Kjg4WJL07bffatSoUdq3b59TDQsWLFBCQoKefPLJVGtMerb4+fPndfr0ae3YsUOenp6qWrVq5r2RAAAAAHIly9zoMCBSiI2NlZ+fn2JiYuTr65vV6WSpd999V1988YUOHDigCxcuKDg4WF26dNGbb74pNzc3zZ49Wz179kyx3iuvvKJXX31VknTp0iWNGDFCX375peLi4hynhiedXr5y5UqNGjVKBw8elDFG5cuX14ABA9SnTx+no9vvv/++Pv74Yx0+fFj+/v5q0qSJJkyYoOLFi0uSI5drp3y9evUUEhKiefPmpVqjZVkpYqVLl07zMWgAAAAAcr/09oU03RlA0526Hj16aPbs2VmdBgAAAAC4XHr7Qq7pBgAAAADARWi6kWk4yg0AAAAAzriRWi5WZuT3WZ0CbtGRt9pkdQoAAAAAbgFHugEAAAAAcBGabgAAAAAAXISmGwAAAAAAF6HpBgAAAADARWi6AQAAAABwEZpuAAAAAABchKYbAAAAAAAXoekGAAAAAMBFaLoBAAAAAHARmm4AAAAAAFyEphsAAAAAABeh6QYAAAAAwEVougEAAAAAcBGabgAAAAAAXISmGwAAAAAAF6HpBgAAAADARWi6AQAAAABwEZpuAAAAAABchKYbAAAAAAAXyVZN9/r169W2bVsFBwfLsix99913TsuNMRozZoyKFSumfPnyqVmzZjpw4IDTmOjoaHXt2lW+vr7y9/dX7969df78eacxO3fu1AMPPCBvb2+VLFlSEydOdHVpAAAAAIA8KFs13RcuXFD16tX14Ycfprp84sSJmjp1qj7++GNt3rxZPj4+atGihS5duuQY07VrV+3evVs//fSTli9frvXr16tv376O5bGxsWrevLlKly6t8PBwvf3223r11Vc1ffp0l9cHAAAAAMhbLGOMyeokUmNZlr799ls98sgjkq4c5Q4ODtaIESP07LPPSpJiYmIUGBio2bNnq3Pnztq7d6+qVq2qrVu3qnbt2pKklStXqnXr1jp27JiCg4M1bdo0vfTSS4qMjJSnp6ckaeTIkfruu++0b9++dOUWGxsrPz8/xcTEyNfXN/OLzyRlRn6f1SngFh15q01WpwAAAAAg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EP31118ZTgoAAAAAgNwgQ033HXfccd2m+vDhw/L29s5wUgAAAAAA5AYZarobNWqkTz75RP/880+KZX///bemT5+uxo0b33JyAAAAAADkZBm6e/nYsWN177336s4771Tv3r115513SpJ27dqlmTNnyhijsWPHZmqiAAAAAADkNBlquitVqqRff/1VQ4YM0bvvvuu0rEGDBpo6daqqVKmSKQkCAAAAAJBTZfg53dWqVdO6desUFRWlQ4cOSZLKli2rIkWKZFpyAAAAAADkZBluupMUKVKERhsAAAAAgFSkq+meO3euJOmpp56SZVmOn2+kW7duGc8MAAAAAIAcLl1Nd48ePWRZljp37ixPT0/16NHjhutYlkXTDQAAAADI09LVdB8+fFiS5Onp6fQzAAAAAABIW7qa7tKlSzv+Oz4+XjExMSpUqJBKlCjhssQAAAAAAMjpbDe9gs2mWrVqafHixa7IBwAAAACAXOOmm243NzeVLl1acXFxrsgHAAAAAIBc46abbkkaMmSIpk+frujo6MzOBwAAAACAXCNDz+lOTEyUl5eXypUrp8cee0xlypRRvnz5nMZYlqWwsLBMSRIAAAAAgJwoQ033s88+6/jvGTNmpDqGphsAAAAAkNdlqOnmkWEAAAAAANxYhpru5I8QAwAAAAAAqbupG6lNnz5dVapUkbe3t4oXL66wsDDuYg4AAAAAQBrS3XR/99136t+/v44dO6Zq1arJbrdr6tSp6t+/vyvzAwAAAAAgx0p30z158mSVK1dOBw8e1JYtW/T333/r8ccf17x58xQbG+vKHAEAAAAAyJHS3XRHRESoX79+CgwMlCS5u7tr1KhRSkhI0N69e12W4LX++ecfPfnkkypcuLDy5cunu+++W7///rtjuTFGY8aMUbFixZQvXz41a9ZMBw4ccNpGdHS0unbtKl9fX/n7+6t37946f/78basBAAAAAJA3pLvpPn36tIKDg51ixYsXlyRdvHgxc7NKw9mzZ1W/fn15eHhoxYoV2rNnj9555x0VLFjQMWbixImaOnWqPv74Y23evFk+Pj5q0aKFLl265BjTtWtX7d69Wz/99JOWL1+u9evXq2/fvrelBgAAAABA3nFTdy+3LMtVeaTLhAkTVLJkSc2aNcsRCwkJcfy3MUZTpkzR6NGj9fDDD0uS5s6dq8DAQH333Xfq3Lmz9u7d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so2wsDBt2bJFn3/+uaZMmaKhQ4dq5cqVstvtjjH//POPhgwZoh9//FFt2rRJsY3XXntNkjR79uw0X2fq1KmSpNOnT2vnzp3pzi9//vwKCgpKdVnBggWdGv3SpUtr4MCBevvtt9O9fQBA1rmpI92HDh3S2LFjVblyZd1777365ptv1LVrVy1YsEDGGHXo0EGhoaE03AAAIFvZvn27unXrpoYNG8rPz0+NGzfWhAkT5O3tLUmy2+166qmn9Nxzz+nOO++87fnNmzdPRYoU0V133aVRo0bp4sWLaY49fvy4Fi9erIYNG97GDAEAGZXuI92hoaHasmWLihQposcee0yfffaZ7r//fknSn3/+6bIEAQAAblX9+vU1a9YsVa9ePdXlEyZMkLu7u4YOHXqbM5OeeOIJlS5dWsHBwdq5c6deeOEFRUREaPHixU7junTpoiVLlui///5T27Zt9dlnn932XAEANy/dTffmzZsVEhKiyZMnq02bNk7XdQMAAGRnkydP1vjx4xUWFqY///xTO3bsUP/+/dW/f3+Fh4frvffe07Zt27LkbL2+ffs6/vvuu+9WsWLF1LRpU/35558qV66cY9m7776rV155Rfv379eoUaM0fPhwffTRR7c9XwDAzUn36eUffPCBihUrpkcffVRBQUHq16+f1qxZI2OMK/MDAAC4ZT4+Pho3bpwOHDigdu3aacCAARo+fLimT5+uX3/9VadOnVKpUqXk7u4ud3d3/fXXXxoxYoTKlClz23OtW7euJOngwYNO8aCgIFWuXFnt2rXTJ598omnTpunEiRO3PT8AwM1J9+HqgQMHauDAgTp8+LDmzZun+fPn69NPP1VQUJAaN27seMQFAABAdubv769+/fpp1apV+vXXXzVlyhQ1a9bMaUyLFi301FNPqWfPnrc9vx07dkjSdR+/mnQDuLi4uNuREgDgFtz0I8NCQkI0evRo7dmzR1u3blXnzp21du1aGWM0cOBA9e3bV8uXL9elS5dckS8AAMBNCwsL07p16xQTE6PExEStWbNG69atU61atVS4cGHdddddTv88PDwUFBSkSpUqObZx9OhR7dixQ0ePHlViYqJ27NihHTt26Pz5844xBw8e1I4dOxQZGan//vvPMSbp0WT//POPKleurC1btki6cl+csWPHKjw8XEeOHNHSpUvVrVs3NWjQQNWqVZMk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qlatqvbt2+uZZ57RDz/8oKefflp+fn6qVKmSjh07ptjYWO3du1dubm5pNlnIe5LPhUWLFum///5Tvnz51KFDB0lSx44dtXXrVr366qt64IEHVKhQIfXo0UN169aVn5+fxowZo99//53PqlwsJiZGb731ljZs2KBLly5pwYIFGjhwoNzc3LRs2TJJ0p49e1SwYEGew5wH/PvvvypQoIDjs2jp0qUaPXq0EhISdPr0ab377rtq27at/Pz8dObMGbVo0ULx8fH6+uuvValSpaxOH6kxQC6zePFi4+PjY8LCwkzv3r1N/fr1TZ06dcyJEyeMMcacOXPGLFq0yDzwwAMmf/78jjhwrdmzZxubzWZef/11k5iYaIwxxm63G2OuzLOiRYuayMjIrEwRLjZ27FhTqFAh8+2335q5c+eaF1980Xh6epqxY8caY4w5efKkGTFihBkyZIgZPny4iY+PN8YYk5CQkJVpIxtJ+p1hjDHPPvus8fX1NXfeeafx9PQ0Tz/9tGPZU089Ze666y7j7+9vKlWqZCpWrGiMMWbnzp2mfPny5sCBA7c9d7jWnj17zMaNG82KFSscsZ07d5rHHnvMBAUFmZ49e5pSpUqZL774IguzxO3Wp08f07NnT8fnybJly0yBAgXMO++8Yw4dOmSeffZZU6BAATNp0iRz9uxZY4wxUVFRpmzZsua+++4zly9fzsLskRaabuQqR48eNdWqVTPTpk0zxhhz6tQp4+fnZ0aMGGGMcf7jxxhj/vnnn9ueI7KfpHnx119/me3bt5t9+/aZCxcuGGOMmTp1qrHZbOatt95yjEv63/Pnz2dNwrgtYmJiTNOmTc0nn3ziiJ0/f958+umn5o477jDz5s1Ldb2kP5SA5J85J06cMPXq1TP/93//Z/755x+zbNky4+vra5544gnHmM2bN5sFCxaYRYsWOb64GTx4sKlVq5bjj2vkDosWLTIlSpQw9913nylYsKBp06aNWbp0qWP5xx9/bFq0aGEsyzIdOnQwly5dysJscbt8+eWXpmjRomb79u3GmCsHih5++GHz5ptvGmOu/J1Svnx5c8899xjLssxbb71loqKiHGMPHTqUVanjBmi6kavs3bvXVKhQwZw7d84cOnTIlCxZ0vTp08ex/JdffuEPFzhJ+qN40aJF5s477zQhISGmfv36plmzZubkyZPGGGOmTZtm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s7Pj5MmTZGVlER0dzdKlS4mLi1PgFpF8p8AtIiJ/B13pFpEC6e7duyxdupRhw4bh6OhIsWLFKFKkCFFRUXh6epq7PBERERGRx6LQLSIF2vnz50lNTcXBwYHy5ctTqlQpc5ckIiIiIvLYFLpFRERERERE8om6l4uIiIiIiIjkE4VuERERERERkXyi0C0iIiIiIiKSTxS6RURERERERPKJQreIiIiIiIhIPlHoFhEREREREcknCt0iIiIiIiIi+UShW0RERERERCSfKHSLiIjIX7JkyRIMBgOpqammZU2bNqVp06aP9XxfX19cXV3zpTYREZGCQqFbRESkEDl9+jQDBw7Ezc0NW1tbHB0dady4MbNnzyYzM9Pc5T3kwoULfPDBBxw6dMjcpYiIiJiFlbkLEBERkcezceNGunXrho2NDX369KFmzZpkZ2cTHx/P6NGjOXLkCBEREWatcevWrXkeX7hwgQkTJuDq6kqdOnXyrFu0aBG5ublPsDoREZEnT6FbRESkEEhJSaFHjx64uLiwY8cOypUrZ1o3aNAgTp06xcaNG81Y4T1FihR57G2tra3zsRIREZGCQcPLRURECoFp06Zx8+ZNPv300zyB+z53d3eGDRsGQE5ODhMnTuTFF1/ExsYGV1dXxo4dS1ZWVp7nuLq60r59e+Lj42nQoAG2tra4ubkRExPz0OsfOXKE5s2bY2dnR/ny5fnwww8feZX6wXu6d+3aRf369QHo168fBoMBg8HAkiVLgEff033r1i1GjhxJhQoVsLGxoWrVqnz00UcYjcY82xkMBgYPHszatWupWbMmNjY2eHh48PXXXz/W31NERORJMRh/+ysmIiIiBU758uWxsbHh9OnTf7itr68v0dHRdO3alWbNmvHtt98SExND586dWbNmjWk7V1dXbG1tSUtLw8/PD2dnZxYvXkxCQgI//fQTHh4eAPz888/Url2bnJwchg0bhr29PREREdjZ2ZGYmEhKSoopPD8YuC9dukRERATjx4/H39+f1157DYBGjRrh5uaGr68vu3btMjViMxqNtGzZkp07d+Ln50edOnXYsmULGzZsYPjw4cycOdNUu8Fg4KWXXuLy5csEBgZSrFgxPvnkE37++WfOnj1LyZIl/4a/uoiIyN/AKCIiIgVaenq6ETB26tTpD7c9dOiQETAOGDAgz/JRo0YZAeOOHTtMy1xcXIyAcc+ePaZlly9fNtrY2BhHjhxpWjZ8+HAjYPz222/zbFe8eHEjYExJSTEtf/31142vv/666fF3331nBIxRUVEP1dq3b1+ji4uL6fHatWuNgPHDDz/Ms13Xrl2NBoPBeOrUKdMywFikSJE8y3788UcjYAwPD//9P5CIiMgTpuHlIiIiBVxGRgYAxYoV+8NtN23aBEBQUFCe5SNHjgR46L7vGjVqmK5AA5QuXZqqVauSnJyc5zUbNmxIgwYN8mzXq1evP/lJ/rh2S0tLhg4d+lDtRqORzZs351nesmVLXnzxRdPj2rVr4+jomKd2ERERc1PoFhERKeAcHR0BuHHjxh9ue+bMGSwsLHB3d8+z3MnJiRIlSnDmzJk8yytWrPjQazz33HNcv349z2tWrlz5oe2qVq36WPU/rjNnzuDs7PzQyYXq1aub1j/ocWoXERExN4VuERGRAs7R0RFnZ2cOHz782M8xGAyPtZ2lpeUjlxsLQcuXwly7iIg8OxS6RURECoH27dtz+vRp9u3b9z+3c3FxITc3l5MnT+ZZfunSJdLS0nBxcfnT7+3i4vLQ6wGcOHHiD5/7uOH//vtcuHDhoSv6x48fN60XEREpbBS6RURECoExY8Zgb2/PgAEDuHTp0kPrT58+zezZs2nbti0As2bNyrP+448/BqBdu3Z/+r3btm3L/v37OXDggGnZlStX+Pzzz//wufb29gCkpaU91vvcvXuXOXPm5Fk+c+ZMDAYD3t7ef65wERGRAsDK3AWIiIjIH3vxxReJjY3l7bffpnr16vTp04eaNWuSnZ3N3r17WbVqFb6+vgwbNoy+ffsSERFBWloar7/+OgcOHCA6OprOnTvTrFmzP/3eY8aMYenSpbzxxht5pgxzcXEhMTHxD+suUaIECxYsoFixYtjb2/PKK69QqVKlh7bt0KEDzZo1IyQkhNTUVF566SW2bt3KunXrGD58eJ6maSIiIoWFQreIiEgh0bFjRxITE5k+fTrr1q1j/vz52NjYULt2bWbMmME777wDQGRkJG5ubixZsoQ1a9bg5OREcHAwoaGhf+l9y5Urx86dOxkyZAhhYWGULFmSgIAAnJ2d8fPz+5/Ptba2Jjo6muDgYAICAsjJySEqKuqRodvCwoL169czfvx4VqxYQVRUFK6urkyfPt3UfV1ERKSwMRjVbUREREREREQkX+iebhEREREREZF8otAtIiIiIiIikk8UukVERERERETyiUK3iIiIiIiISD5R6BYRERERERHJJwrdIiIiIiIiIvlEoVtEREREREQknyh0i4iIiIiIiOQThW4RERERERGRfKLQLSIiIiIiIpJPFLpFRERERERE8olCt4iIiIiIiEg+UegWERERERERySf/B4EPP+cUtb2+AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "grouped_data = df.groupby('condition')['price'].mean().sort_values(ascending=False)\n", + "plt.figure(figsize=(10, 6))\n", + "bars = plt.bar(grouped_data.index, grouped_data.values)\n", + "\n", + "plt.title('Average Price by Condition', fontsize=16)\n", + "plt.xlabel('Condition', fontsize=12)\n", + "plt.ylabel('Average Price', fontsize=12)\n", + "plt.xticks(rotation=45)\n", + "\n", + "for bar in bars:\n", + " height = bar.get_height()\n", + " plt.text(bar.get_x() + bar.get_width()/2., height,\n", + " f'${height:.2f}',\n", + " ha='center', va='bottom')\n", + "\n", + "plt.grid(axis='y', linestyle='--', alpha=0.7)\n", + "\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.1" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/02_scraping/craigslist_cville_cars.csv b/02_scraping/craigslist_cville_cars.csv index c3101978..5775a9de 100644 --- a/02_scraping/craigslist_cville_cars.csv +++ b/02_scraping/craigslist_cville_cars.csv @@ -1,93 +1,144 @@ -,title,price,year,link,brand,age -0,2005 hyundai elantra,1200,2005.0,https://charlottesville.craigslist.org/cto/d/afton-2005-hyundai-elantra/7785683810.html,missing,20.0 -1,2007 f250 king ranch,17500,2007.0,https://charlottesville.craigslist.org/cto/d/waynesboro-2007-f250-king-ranch/7785680751.html,missing,18.0 -2,1997 dodge 2500 4x4 cummins,9500,1997.0,https://charlottesville.craigslist.org/cto/d/lovingston-1997-dodge-x4-cummins/7785609263.html,dodge,28.0 -3,1999 honda civic 4 cyl manual transmission,1000,1999.0,https://charlottesville.craigslist.org/cto/d/charlottesville-1999-honda-civic-cyl/7785580889.html,honda,26.0 -4,"1998 gmc sierra 1500 sl truck auto rwd <103,000 miles",6250,1998.0,https://charlottesville.craigslist.org/cto/d/louisa-1998-gmc-sierra-1500-sl-truck/7785561584.html,gmc,27.0 -5,2006 honda pilot exl fwd,4700,2006.0,https://charlottesville.craigslist.org/cto/d/henrico-2006-honda-pilot-exl-fwd/7785499961.html,honda,19.0 -6,2001 jeep grand cherokee,2800,2001.0,https://charlottesville.craigslist.org/cto/d/gordonsville-2001-jeep-grand-cherokee/7785490667.html,jeep,24.0 -7,2015 gmc terrain - good condition,3500,2015.0,https://charlottesville.craigslist.org/cto/d/keswick-2015-gmc-terrain-good-condition/7785267240.html,gmc,10.0 -8,buick,4500,,https://charlottesville.craigslist.org/cto/d/waynesboro-buick/7785078444.html,buick, -9,2014 ford escape,1500,2014.0,https://charlottesville.craigslist.org/cto/d/charlottesville-2014-ford-escape/7785060212.html,ford,11.0 -10,jeep wrangler,12500,,https://charlottesville.craigslist.org/cto/d/waynesboro-jeep-wrangler/7785014681.html,jeep, -11,2007 toyota camry v6 xle,4700,2007.0,https://charlottesville.craigslist.org/cto/d/charlottesville-2007-toyota-camry-v6-xle/7785001447.html,toyota,18.0 -12,1994 chevy s10,4000,1994.0,https://charlottesville.craigslist.org/cto/d/palmyra-1994-chevy-s10/7784965289.html,chevy,31.0 -13,toyota 4runner,3500,,https://charlottesville.craigslist.org/cto/d/quinque-toyota-4runner/7784875544.html,toyota, -14,1962 m38-a1 military jeep,1500,1962.0,https://charlottesville.craigslist.org/cto/d/scottsville-1962-m38-a1-military-jeep/7784860520.html,jeep,63.0 -15,2010 avalanche,5500,2010.0,https://charlottesville.craigslist.org/cto/d/mineral-2010-avalanche/7784792017.html,missing,15.0 -16,dodge m37 powerwagon,7000,,https://charlottesville.craigslist.org/cto/d/piney-river-dodge-m37-powerwagon/7784758445.html,dodge, -17,"2018 toyota tacoma truck sr5 4wd double cab, 6 cyl, auto, 30,000 miles",30750,2018.0,https://charlottesville.craigslist.org/cto/d/louisa-2018-toyota-tacoma-truck-sr5-4wd/7784680777.html,toyota,7.0 -18,2003 toyota highlander,3300,2003.0,https://charlottesville.craigslist.org/cto/d/lovingston-2003-toyota-highlander/7784607564.html,toyota,22.0 -19,2011 chrysler town and country,2500,2011.0,https://charlottesville.craigslist.org/cto/d/charlottesville-2011-chrysler-town-and/7784233445.html,missing,14.0 -20,2006 mitsubishi endeavor awd ls,3500,2006.0,https://charlottesville.craigslist.org/cto/d/charlottesville-2006-mitsubishi/7784157813.html,mitsubishi,19.0 -21,2019 hyundai kona excellent condition,15000,2019.0,https://charlottesville.craigslist.org/cto/d/barboursville-2019-hyundai-kona/7783977835.html,missing,6.0 -22,2011 bmw 328i xdrive sedan 4d,6000,2011.0,https://charlottesville.craigslist.org/cto/d/charlottesville-2011-bmw-328i-xdrive/7783905386.html,bmw,14.0 -23,2008 subaru outback,5800,2008.0,https://charlottesville.craigslist.org/cto/d/charlottesville-2008-subaru-outback/7783889756.html,subaru,17.0 -24,2004 dodge durango,2000,2004.0,https://charlottesville.craigslist.org/cto/d/stanardsville-2004-dodge-durango/7783863430.html,dodge,21.0 -25,2012 ford focus se,3500,2012.0,https://charlottesville.craigslist.org/cto/d/charlottesville-2012-ford-focus-se/7783801610.html,ford,13.0 -26,2008 ford escape xlt 4x4 3.0,1500,2008.0,https://charlottesville.craigslist.org/cto/d/earlysville-2008-ford-escape-xlt-4x4-30/7783759838.html,ford,17.0 -27,mercedes 560sl,15000,,https://charlottesville.craigslist.org/cto/d/charlottesville-mercedes-560sl/7783648170.html,missing, -28,2013 honda fit sport hatchback,8700,2013.0,https://charlottesville.craigslist.org/cto/d/afton-2013-honda-fit-sport-hatchback/7783561831.html,honda,12.0 -29,1986 ford e350 centurion,11500,1986.0,https://charlottesville.craigslist.org/cto/d/helena-1986-ford-e350-centurion/7783532418.html,ford,39.0 -30,2014 honda odyssey van black,12000,2014.0,https://charlottesville.craigslist.org/cto/d/scottsville-2014-honda-odyssey-van-black/7783477164.html,honda,11.0 -31,military truck w/crane,6200,,https://charlottesville.craigslist.org/cto/d/free-union-military-truck-crane/7783324663.html,missing, -32,volvo s40 4dr sedan 2004 power everything sun roof,2000,2004.0,https://charlottesville.craigslist.org/cto/d/charlottesville-volvo-s40-4dr-sedan/7783322114.html,volvo,21.0 -33,"2004 honda accord for sale $5,500 or best offer",5500,2004.0,https://charlottesville.craigslist.org/cto/d/charlottesville-2004-honda-accord-for/7783266346.html,honda,21.0 -34,2003 honda pilot,1000,2003.0,https://charlottesville.craigslist.org/cto/d/charlottesville-2003-honda-pilot/7783239203.html,honda,22.0 -35,2002 chevy tahoe 4wd,4000,2002.0,https://charlottesville.craigslist.org/cto/d/montpelier-station-2002-chevy-tahoe-4wd/7783219894.html,chevy,23.0 -36,2008 nissan altima (read description),1350,2008.0,https://charlottesville.craigslist.org/cto/d/ruckersville-2008-nissan-altima-read-de/7783180089.html,missing,17.0 -37,2016 tesla model s 90d,26000,2016.0,https://charlottesville.craigslist.org/cto/d/crozet-2016-tesla-model-90d/7783168254.html,tesla,9.0 -38,2010 volkswagen golf,4950,2010.0,https://charlottesville.craigslist.org/cto/d/henrico-2010-volkswagen-golf/7783125171.html,volkswagen,15.0 -39,1963 /1965 triumph tr4 convertible,2250,1963.0,https://charlottesville.craigslist.org/cto/d/woodberry-forest-triumph-tr4-convertible/7782965513.html,missing,62.0 -40,1998 jeep grande cherokee laredo,3500,1998.0,https://charlottesville.craigslist.org/cto/d/waynesboro-1998-jeep-grande-cherokee/7782899240.html,jeep,27.0 -41,1996 chevrolet k1500 z71,6500,1996.0,https://charlottesville.craigslist.org/cto/d/keswick-1996-chevrolet-k1500-z71/7782892110.html,chevrolet,29.0 -42,1971 sport convertible,25000,1971.0,https://charlottesville.craigslist.org/cto/d/culpeper-1971-sport-convertible/7782818548.html,missing,54.0 -43,dodge dakota 4wd,10000,,https://charlottesville.craigslist.org/cto/d/charlottesville-dodge-dakota-4wd/7782614108.html,dodge, -44,2014 bmw x3 with blown engine,3000,2014.0,https://charlottesville.craigslist.org/cto/d/charlottesville-2014-bmw-x3-with-blown/7782218430.html,bmw,11.0 -45,ford f150 5.4 triton,7250,,https://charlottesville.craigslist.org/cto/d/fishersville-ford-triton/7782209120.html,ford, -46,"2007 ford xlt fx, 4-dr., supercab, sidestyle, 5.4-liter v8",8300,2007.0,https://charlottesville.craigslist.org/cto/d/crozet-2007-ford-xlt-fx-dr-supercab/7782091017.html,ford,18.0 -47,1999 mx-5 miata covertible coupe,6500,1999.0,https://charlottesville.craigslist.org/cto/d/charlottesville-1999-mx-miata/7781918639.html,missing,26.0 -48,dodge 4x4 slt,6000,,https://charlottesville.craigslist.org/cto/d/crozet-dodge-4x4-slt/7781868229.html,dodge, -49,1992 honda accord gas sipper,2899,1992.0,https://charlottesville.craigslist.org/cto/d/charlottesville-1992-honda-accord-gas/7781862579.html,honda,33.0 -50,2003 jeep wrangler,20000,2003.0,https://charlottesville.craigslist.org/cto/d/charlottesville-2003-jeep-wrangler/7781774156.html,jeep,22.0 -51,yes i have title,2800,,https://charlottesville.craigslist.org/cto/d/charlottesville-yes-have-title/7781670977.html,missing, -52,2016 kia sorento,9500,2016.0,https://charlottesville.craigslist.org/cto/d/haywood-2016-kia-sorento/7781590995.html,kia,9.0 -53,2008 acura tl,3500,2008.0,https://charlottesville.craigslist.org/cto/d/charlottesville-2008-acura-tl/7781590435.html,acura,17.0 -54,*for sale* subaru outback 2007,3900,2007.0,https://charlottesville.craigslist.org/cto/d/gordonsville-for-sale-subaru-outback/7781590306.html,subaru,18.0 -55,audi allroad,11665,,https://charlottesville.craigslist.org/cto/d/charlottesville-audi-allroad/7781459189.html,audi, -56,2004 f150,3000,2004.0,https://charlottesville.craigslist.org/cto/d/charlottesville-2004-f150/7781429289.html,missing,21.0 -57,2011 mercury gran marquis ls,3600,2011.0,https://charlottesville.craigslist.org/cto/d/stanardsville-2011-mercury-gran-marquis/7781391243.html,missing,14.0 -58,beautiful 2019 mercedes 300c convertible,31950,2019.0,https://charlottesville.craigslist.org/cto/d/charlottesville-beautiful-2019-mercedes/7781346288.html,missing,6.0 -59,toyota corolla 2018,11000,2018.0,https://charlottesville.craigslist.org/cto/d/charlottesville-toyota-corolla-2018/7781210696.html,toyota,7.0 -60,bmw x5,8500,,https://charlottesville.craigslist.org/cto/d/waynesboro-bmw-x5/7780668737.html,bmw, -61,2009 kia rondo ex 145k miles,3500,2009.0,https://charlottesville.craigslist.org/cto/d/louisa-2009-kia-rondo-ex-145k-miles/7780623128.html,kia,16.0 -62,2002 gmc 3500 4x4 extended cab utility bed,8900,2002.0,https://charlottesville.craigslist.org/cto/d/piney-river-2002-gmc-x4-extended-cab/7780543822.html,gmc,23.0 -63,volvo 240 sedan 1992,2100,1992.0,https://charlottesville.craigslist.org/cto/d/esmont-volvo-240-sedan-1992/7780475292.html,volvo,33.0 -64,2006 hyundai azera limited,3250,2006.0,https://charlottesville.craigslist.org/cto/d/quinque-2006-hyundai-azera-limited/7780464989.html,missing,19.0 -65,2018 subaru forester 2.5i touring cvt,23500,2018.0,https://charlottesville.craigslist.org/cto/d/roseland-2018-subaru-forester-25i/7780319702.html,subaru,7.0 -66,car for sale,10000,,https://charlottesville.craigslist.org/cto/d/waynesboro-car-for-sale/7780257892.html,missing, -67,1969 chevelle for sale or trade,28500,1969.0,https://charlottesville.craigslist.org/cto/d/barboursville-1969-chevelle-for-sale-or/7780220803.html,missing,56.0 -68,1989 chevrolet corvette convertible,5000,1989.0,https://charlottesville.craigslist.org/cto/d/scottsville-1989-chevrolet-corvette/7779874166.html,chevrolet,36.0 -69,2008 toyota prius,7500,2008.0,https://charlottesville.craigslist.org/cto/d/charlottesville-2008-toyota-prius/7779766112.html,toyota,17.0 -70,2021 toyota rav 4 prime hybrid,38000,2021.0,https://charlottesville.craigslist.org/cto/d/earlysville-2021-toyota-rav-prime-hybrid/7779746384.html,toyota,4.0 -71,2007 2500 gmc sierra hd classic,4500,2007.0,https://charlottesville.craigslist.org/cto/d/waynesboro-gmc-sierra-hd-classic/7779516916.html,gmc,18.0 -72,2019 ram promaster 1500,18500,2019.0,https://charlottesville.craigslist.org/cto/d/crozet-2019-ram-promaster-1500/7779509064.html,missing,6.0 -73,1958 ford fairlane 500,18500,1958.0,https://charlottesville.craigslist.org/cto/d/leon-1958-ford-fairlane-500/7779305738.html,ford,67.0 -74,2014 honda crv ex-l,13000,2014.0,https://charlottesville.craigslist.org/cto/d/charlottesville-2014-honda-crv-ex/7779300072.html,honda,11.0 -75,2005 ford f-150 2wd- not running,1000,2005.0,https://charlottesville.craigslist.org/cto/d/charlottesville-2005-ford-150-2wd-not/7779296183.html,ford,20.0 -76,bmw gt,10000,,https://charlottesville.craigslist.org/cto/d/charlottesville-bmw-gt/7779123777.html,bmw, -77,2001 mercedes e320,3000,2001.0,https://charlottesville.craigslist.org/cto/d/scottsville-2001-mercedes-e320/7779120462.html,missing,24.0 -78,2007 subaru outback,2500,2007.0,https://charlottesville.craigslist.org/cto/d/oakpark-2007-subaru-outback/7778984172.html,subaru,18.0 -79,1974 dodge stepside 426 hemi,10500,1974.0,https://charlottesville.craigslist.org/cto/d/leon-1974-dodge-stepside-426-hemi/7778782192.html,dodge,51.0 -80,2018 tesla model 3 mid range or 2018 tesla model s75d awd,16900,2018.0,https://charlottesville.craigslist.org/cto/d/henrico-2018-tesla-model-mid-range-or/7778737328.html,tesla,7.0 -81,2007 ford explorer,2000,2007.0,https://charlottesville.craigslist.org/cto/d/dyke-2007-ford-explorer/7778524782.html,ford,18.0 -82,2013 mercedes-benz c 250 cls 4d — very good condition,7999,2013.0,https://charlottesville.craigslist.org/cto/d/charlottesville-2013-mercedes-benz-250/7778509247.html,missing,12.0 -83,2017 range rover black edition obo,35000,2017.0,https://charlottesville.craigslist.org/cto/d/charlottesville-2017-range-rover-black/7778267901.html,missing,8.0 -84,2017 ford escape,18995,2017.0,https://charlottesville.craigslist.org/cto/d/amherst-2017-ford-escape/7778011749.html,ford,8.0 -85,2008 honda crv exl awd,5300,2008.0,https://charlottesville.craigslist.org/cto/d/charlottesville-2008-honda-crv-exl-awd/7777943177.html,honda,17.0 -86,2016 jeep renegade latitude * great condition - no accidents *,10495,2016.0,https://charlottesville.craigslist.org/cto/d/white-hall-2016-jeep-renegade-latitude/7777823914.html,jeep,9.0 -87,1995 f-250,7500,1995.0,https://charlottesville.craigslist.org/cto/d/stanardsville-1995-250/7777405295.html,missing,30.0 -88,2007 bmw 530i,1800,2007.0,https://charlottesville.craigslist.org/cto/d/quinque-2007-bmw-530i/7777314629.html,bmw,18.0 -89,2016 hyundai elantra gt,12500,2016.0,https://charlottesville.craigslist.org/cto/d/crozet-2016-hyundai-elantra-gt/7777297196.html,missing,9.0 -90,2007 mercedes benz c280 or 2008 benz e500 4matic $3950,4950,2007.0,https://charlottesville.craigslist.org/cto/d/henrico-2007-mercedes-benz-c280-or-2008/7777197591.html,missing,18.0 -91,2002 volkswagen passat,1250,2002.0,https://charlottesville.craigslist.org/cto/d/scottsville-2002-volkswagen-passat/7776677494.html,volkswagen,23.0 +,title,price,year,link,style,age +0,"cables, connectors, and adapters",40,,https://charlottesville.craigslist.org/msg/d/charlottesville-cables-connectors-and/7788424321.html,missing, +1,baglama saz (custom),1800,,https://charlottesville.craigslist.org/msg/d/culpeper-baglama-saz-custom/7788299267.html,missing, +2,martin d-35 (2022),2500,2022.0,https://charlottesville.craigslist.org/msg/d/culpeper-martin/7788281460.html,martin,3.0 +3,vox ac15hw1x w/ alnico blue,1300,,https://charlottesville.craigslist.org/msg/d/crozet-vox-ac15hw1x-alnico-blue/7781451791.html,vox, +4,piano tuning & repair,175,,https://charlottesville.craigslist.org/msg/d/charlottesville-piano-tuning-repair/7787801838.html,piano, +5,ukulele case pineapple design,5,,https://charlottesville.craigslist.org/msg/d/palmyra-ukulele-case-pineapple-design/7789431600.html,missing, +6,ukulele case with watermelon design,5,,https://charlottesville.craigslist.org/msg/d/palmyra-ukulele-case-with-watermelon/7789431343.html,missing, +7,music stands / dj stands / laptop stands,40,,https://charlottesville.craigslist.org/msg/d/charlottesville-music-stands-dj-stands/7786401940.html,missing, +8,"levy's, dunlop, and generic adjustable guitar straps",25,,https://charlottesville.craigslist.org/msg/d/charlottesville-levys-dunlop-and/7786402984.html,guitar, +9,sire v5 4 string bass guitar,425,,https://charlottesville.craigslist.org/msg/d/louisa-sire-v5-string-bass-guitar/7789408436.html,sire, +10,vintage emenee music toy,25,,https://charlottesville.craigslist.org/msg/d/bremo-bluff-vintage-emenee-music-toy/7787308273.html,missing, +11,"near mint epiphone pro-1 guitar w pickup, case, tuner",150,,https://charlottesville.craigslist.org/msg/d/crozet-near-mint-epiphone-pro-guitar/7789296842.html,epiphone, +12,yamaha 30w combo amp accutronics reverb,150,,https://charlottesville.craigslist.org/msg/d/glen-allen-yamaha-30w-combo-amp/7789286719.html,yamaha, +13,presonus audiobox usb 96 anniversary ed.,40,,https://charlottesville.craigslist.org/msg/d/orange-presonus-audiobox-usb-96/7787249155.html,missing, +14,cordoba gk studio negra lefty,460,,https://charlottesville.craigslist.org/msg/d/bowling-green-cordoba-gk-studio-negra/7789268689.html,cordoba, +15,tascam us-100 recording unit,30,,https://charlottesville.craigslist.org/msg/d/charlottesville-tascam-us-100-recording/7786712519.html,missing, +16,looking for broken or unwanted musical instruments,1,,https://charlottesville.craigslist.org/msg/d/crozet-looking-for-broken-or-unwanted/7789242617.html,missing, +17,"pa amp for parts or repair, with case, free",1,,https://charlottesville.craigslist.org/msg/d/crozet-pa-amp-for-parts-or-repair-with/7783477517.html,missing, +18,(100) 45 rpm records,30,,https://charlottesville.craigslist.org/msg/d/troy-rpm-records/7783124414.html,missing, +19,vintage music song books,10,,https://charlottesville.craigslist.org/msg/d/troy-vintage-music-song-books/7786493159.html,missing, +20,5 string fender banjo/hardcase,1200,,https://charlottesville.craigslist.org/msg/d/troy-string-fender-banjo-hardcase/7788463093.html,fender, +21,"epiphone ""worn"" casino",375,,https://charlottesville.craigslist.org/msg/d/staunton-epiphone-worn-casino/7782641687.html,epiphone, +22,2003 schecter s-1 blackjack-usa duncans,525,2003.0,https://charlottesville.craigslist.org/msg/d/charlottesville-2003-schecter-1/7789035828.html,schecter,22.0 +23,"epiphone ""inspired by"" red 355 guitar",1150,,https://charlottesville.craigslist.org/msg/d/staunton-epiphone-inspired-by-red-355/7786528187.html,epiphone, +24,baby taylor koa bte acoustic/electric,500,,https://charlottesville.craigslist.org/msg/d/staunton-baby-taylor-koa-bte-acoustic/7784445262.html,taylor, +25,leather jacket - xl - rock on!!!,40,,https://charlottesville.craigslist.org/msg/d/staunton-leather-jacket-xl-rock-on/7784073110.html,missing, +26,"epiphone ""inspired by"" les paul custom",1050,,https://charlottesville.craigslist.org/msg/d/staunton-epiphone-inspired-by-les-paul/7782588710.html,epiphone, +27,pearl roadshow 5-piece complete drum set with cymbals,400,,https://charlottesville.craigslist.org/msg/d/charlottesville-pearl-roadshow-piece/7788780205.html,missing, +28,boss rc-2 loop station in box,50,,https://charlottesville.craigslist.org/msg/d/charlottesville-boss-rc-loop-station-in/7788737466.html,missing, +29,martin 2005 d35 sunburst acoustic,2800,2005.0,https://charlottesville.craigslist.org/msg/d/charlottesville-martin-2005-d35/7780483373.html,martin,20.0 +30,behringer dd600 digital delay,20,,https://charlottesville.craigslist.org/msg/d/charlottesville-behringer-dd600-digital/7788735753.html,missing, +31,"5f1 tweed champ, 12"" cabinet, celestion speaker",750,,https://charlottesville.craigslist.org/msg/d/charlottesville-5f1-tweed-champ-12/7788731232.html,missing, +32,ehx holy grail nano,65,,https://charlottesville.craigslist.org/msg/d/charlottesville-ehx-holy-grail-nano/7788731195.html,missing, +33,1980 mxr m102 dyna comp with ross mod and added 9v jack,110,1980.0,https://charlottesville.craigslist.org/msg/d/charlottesville-1980-mxr-m102-dyna-comp/7788731162.html,missing,45.0 +34,guitar pedal repair and restoration,0,,https://charlottesville.craigslist.org/msg/d/charlottesville-guitar-pedal-repair-and/7788731110.html,guitar, +35,1979 mu-tron iii envelope filter,895,1979.0,https://charlottesville.craigslist.org/msg/d/charlottesville-1979-mu-tron-iii/7788729541.html,missing,46.0 +36,early 70's univox u-1095 superfuzz,895,,https://charlottesville.craigslist.org/msg/d/charlottesville-early-70s-univox-1095/7788729641.html,missing, +37,"1978 mxr distortion +, script box, with 9v jack and pete's tweaks",100,1978.0,https://charlottesville.craigslist.org/msg/d/charlottesville-1978-mxr-distortion-box/7788729611.html,missing,47.0 +38,christmas stocking with guitar or french horn new,8,,https://charlottesville.craigslist.org/msg/d/earlysville-christmas-stocking-with/7785828349.html,guitar, +39,gretsch g5410t electromatic “rat rod” hollowbody electric guitar,550,,https://charlottesville.craigslist.org/msg/d/crozet-gretsch-g5410t-electromatic-rat/7788596850.html,guitar, +40,awesome! hughes & kettner era1 250w acoustic guitar amp w softcover,650,,https://charlottesville.craigslist.org/msg/d/crozet-awesome-hughes-kettner-era1-250w/7788597572.html,guitar, +41,vintage yamaha fg-340 acoustic electric guitar,300,,https://charlottesville.craigslist.org/msg/d/crozet-vintage-yamaha-fg-340-acoustic/7788597326.html,yamaha, +42,blackstar id:core stereo100 guitar amp w ftswitch for built in looper,225,,https://charlottesville.craigslist.org/msg/d/crozet-blackstar-idcore-stereo100/7788597094.html,guitar, +43,upright bass stands,15,,https://charlottesville.craigslist.org/msg/d/louisa-upright-bass-stands/7788541605.html,missing, +44,yamaha piano key cover,15,,https://charlottesville.craigslist.org/msg/d/troy-yamaha-piano-key-cover/7784764787.html,yamaha, +45,esp ltd m-1000 ebony,800,,https://charlottesville.craigslist.org/msg/d/culpeper-esp-ltd-1000-ebony/7785553274.html,missing, +46,gator oboe case,40,,https://charlottesville.craigslist.org/msg/d/culpeper-gator-oboe-case/7785845366.html,missing, +47,floyd rose original frt-1000 chrome,150,,https://charlottesville.craigslist.org/msg/d/culpeper-floyd-rose-original-frt-1000/7787070314.html,missing, +48,esp wedge shaped padded gig bag,50,,https://charlottesville.craigslist.org/msg/d/culpeper-esp-wedge-shaped-padded-gig-bag/7787077616.html,missing, +49,electric guitars,100,,https://charlottesville.craigslist.org/msg/d/charlottesville-electric-guitars/7788431545.html,missing, +50,usa peavey bandit transtube spring reverb amp,200,,https://charlottesville.craigslist.org/msg/d/glen-allen-usa-peavey-bandit-transtube/7782303721.html,peavey, +51,gretsch g5622t electromatic guitar w/bigsby,440,,https://charlottesville.craigslist.org/msg/d/charlottesville-gretsch-g5622t/7783201045.html,guitar, +52,spinet piano,0,,https://charlottesville.craigslist.org/msg/d/culpeper-spinet-piano/7787893969.html,piano, +53,trumpet - gerhard baier,900,,https://charlottesville.craigslist.org/msg/d/charlottesville-trumpet-gerhard-baier/7787706448.html,missing, +54,epiphone casino guitar - 2001,900,2001.0,https://charlottesville.craigslist.org/msg/d/staunton-epiphone-casino-guitar/7787664431.html,epiphone,24.0 +55,epiphone 160e john lennon acoustic/electric guitar,600,,https://charlottesville.craigslist.org/msg/d/staunton-epiphone-160e-john-lennon/7787643597.html,epiphone, +56,1997 fender mexican strat,350,1997.0,https://charlottesville.craigslist.org/msg/d/quinque-1997-fender-mexican-strat/7787628799.html,fender,28.0 +57,"slide guitar package (instructionals, slides, capos)",40,,https://charlottesville.craigslist.org/msg/d/charlottesville-slide-guitar-package/7779300850.html,guitar, +58,"epiphone ""inspired by"" 355 guitar",899,,https://charlottesville.craigslist.org/msg/d/staunton-epiphone-inspired-by-355-guitar/7782587985.html,epiphone, +59,epiphone inspired by gibson es-339 w' hard case,550,,https://charlottesville.craigslist.org/msg/d/waynesboro-epiphone-inspired-by-gibson/7787425775.html,epiphone, +60,seymour duncan scorcher guitar pickup,50,,https://charlottesville.craigslist.org/msg/d/charlottesville-seymour-duncan-scorcher/7787384567.html,guitar, +61,bach tr600h2 trumpet,500,,https://charlottesville.craigslist.org/msg/d/charlottesville-bach-tr600h2-trumpet/7780582376.html,missing, +62,srv style stratocaster,890,,https://charlottesville.craigslist.org/msg/d/staunton-srv-style-stratocaster/7786864956.html,stratocaster, +63,warmoth jaguar,900,,https://charlottesville.craigslist.org/msg/d/staunton-warmoth-jaguar/7779368959.html,missing, +64,reverend mat west model,700,,https://charlottesville.craigslist.org/msg/d/staunton-reverend-mat-west-model/7779529608.html,missing, +65,reverend warhawk da electric guitar in midnight black with reverend tw,850,,https://charlottesville.craigslist.org/msg/d/staunton-reverend-warhawk-da-electric/7780903992.html,guitar, +66,hofner ct verythin 2018 anitque brown burst,575,2018.0,https://charlottesville.craigslist.org/msg/d/waynesboro-hofner-ct-verythin-2018/7786561006.html,missing,7.0 +67,acoustic guitar,230,,https://charlottesville.craigslist.org/msg/d/buckingham-acoustic-guitar/7786153020.html,guitar, +68,keyboard,50,,https://charlottesville.craigslist.org/msg/d/charlottesville-keyboard/7785343751.html,missing, +69,fishman loudbox mini guitar amp with bluetooth,275,,https://charlottesville.craigslist.org/msg/d/charlottesville-fishman-loudbox-mini/7785897270.html,guitar, +70,sennheiser e 825-s vocal microphone and on-stage stand,75,,https://charlottesville.craigslist.org/msg/d/charlottesville-sennheiser-825-vocal/7785894189.html,missing, +71,left-handed 5-string banjo,425,,https://charlottesville.craigslist.org/msg/d/charlottesville-left-handed-string-banjo/7781713588.html,missing, +72,looper,25,,https://charlottesville.craigslist.org/msg/d/charlottesville-looper/7782824684.html,missing, +73,price reduced! danelectro daddy-o,65,,https://charlottesville.craigslist.org/msg/d/charlottesville-price-reduced/7782824720.html,missing, +74,lot of 3 guitars,300,,https://charlottesville.craigslist.org/msg/d/orange-lot-of-guitars/7785585854.html,missing, +75,2023 prs 594 mccarty,3299,2023.0,https://charlottesville.craigslist.org/msg/d/forest-2023-prs-594-mccarty/7785287052.html,prs,2.0 +76,harmony h415,850,,https://charlottesville.craigslist.org/msg/d/waynesboro-harmony-h415/7784973554.html,missing, +77,adm 5 string banjo,150,,https://charlottesville.craigslist.org/msg/d/waynesboro-adm-string-banjo/7784961984.html,missing, +78,antique piano,0,,https://charlottesville.craigslist.org/msg/d/charlottesville-antique-piano/7784720426.html,piano, +79,vintage yamaha 112 guitar amp spring reverb,150,,https://charlottesville.craigslist.org/msg/d/glen-allen-vintage-yamaha-112-guitar/7778102801.html,yamaha, +80,violin for lefty 1/2 size,20,,https://charlottesville.craigslist.org/msg/d/charlottesville-violin-for-lefty-2-size/7784686737.html,missing, +81,michael kelly mod shop 67 solid body electric guitar,700,,https://charlottesville.craigslist.org/msg/d/shipman-michael-kelly-mod-shop-67-solid/7784649859.html,guitar, +82,fender deluxe molded bass case,175,,https://charlottesville.craigslist.org/msg/d/charlottesville-fender-deluxe-molded/7784591706.html,fender, +83,vincent bach mercedes trombone,350,,https://charlottesville.craigslist.org/msg/d/waynesboro-vincent-bach-mercedes/7775501781.html,missing, +84,full size violin,300,,https://charlottesville.craigslist.org/msg/d/charlottesville-full-size-violin/7784369148.html,missing, +85,fender fm 25r amp spring reverb,160,,https://charlottesville.craigslist.org/msg/d/glen-allen-fender-fm-25r-amp-spring/7779352121.html,fender, +86,cornet/trumpet: ready for band class!,100,,https://charlottesville.craigslist.org/msg/d/charlottesville-cornet-trumpet-ready/7784301598.html,missing, +87,"epiphone ""inspired by"" red 355 guitar",1200,,https://charlottesville.craigslist.org/msg/d/staunton-epiphone-inspired-by-red-355/7784103683.html,epiphone, +88,hand pan hang drum symphonic steel,6500,,https://charlottesville.craigslist.org/msg/d/charlottesville-hand-pan-hang-drum/7776563784.html,missing, +89,yamaha stagepas 600i pa system,400,,https://charlottesville.craigslist.org/msg/d/charlottesville-yamaha-stagepas-600i-pa/7778730251.html,yamaha, +90,"12.5"" splash cymbal with mounting hardware",20,,https://charlottesville.craigslist.org/msg/d/crozet-125-splash-cymbal-with-mounting/7774667228.html,missing, +91,snarling dogs spd6 effect pedal,40,,https://charlottesville.craigslist.org/msg/d/palmyra-snarling-dogs-spd6-effect-pedal/7783158000.html,missing, +92,t-rex yellow drive,80,,https://charlottesville.craigslist.org/msg/d/palmyra-rex-yellow-drive/7783152931.html,missing, +93,new groove tube 6v6r,20,,https://charlottesville.craigslist.org/msg/d/palmyra-new-groove-tube-6v6r/7783149543.html,missing, +94,relicked telecaster copy,150,,https://charlottesville.craigslist.org/msg/d/palmyra-relicked-telecaster-copy/7774575718.html,telecaster, +95,fender pickups,1,,https://charlottesville.craigslist.org/msg/d/palmyra-fender-pickups/7783143917.html,fender, +96,custom crowder guitar hd-28,2900,,https://charlottesville.craigslist.org/msg/d/louisa-custom-crowder-guitar-hd-28/7783055254.html,guitar, +97,2023 suhr modern plus guitar,3299,2023.0,https://charlottesville.craigslist.org/msg/d/forest-2023-suhr-modern-plus-guitar/7782902459.html,guitar,2.0 +98,fender hot rod deluxe - made in usa w/ upgraded tubes & mods,200,,https://charlottesville.craigslist.org/msg/d/charlottesville-fender-hot-rod-deluxe/7774974514.html,fender, +99,tonette musical instrument,10,,https://charlottesville.craigslist.org/msg/d/palmyra-tonette-musical-instrument/7776915887.html,missing, +100,bobelock luxurious professional suspension viola case,150,,https://charlottesville.craigslist.org/msg/d/scottsville-bobelock-luxurious/7776656248.html,missing, +101,4 fake books for c instruments,60,,https://charlottesville.craigslist.org/msg/d/charlottesville-fake-books-for/7781864992.html,missing, +102,2023 gibson 50's les paul standard goldtop,2499,2023.0,https://charlottesville.craigslist.org/msg/d/forest-2023-gibson-50s-les-paul/7781834742.html,gibson,2.0 +103,sire larry carlton a3-d dreadnought,325,,https://charlottesville.craigslist.org/msg/d/staunton-sire-larry-carlton-a3/7781791310.html,sire, +104,ormsby goliath 7 string moore green,1500,,https://charlottesville.craigslist.org/msg/d/charlottesville-ormsby-goliath-string/7781732792.html,missing, +105,schecter diamond series c-1 electric guitar,225,,https://charlottesville.craigslist.org/msg/d/charlottesville-schecter-diamond-series/7781549748.html,schecter, +106,"katana mk2 100, 1-12,w footswitch",325,,https://charlottesville.craigslist.org/msg/d/charlottesville-katana-mk-footswitch/7781393402.html,missing, +107,skb ps-25 pedalboard with carrying case,75,,https://charlottesville.craigslist.org/msg/d/charlottesville-skb-ps-25-pedalboard/7781342577.html,missing, +108,fender rocpro 1000 guitar head,200,,https://charlottesville.craigslist.org/msg/d/quinque-fender-rocpro-1000-guitar-head/7781267582.html,fender, +109,wanted: older arch top guitar,1,,https://charlottesville.craigslist.org/msg/d/charlottesville-wanted-older-arch-top/7780003467.html,guitar, +110,halfstack line6 hd100 and hd100 mkii bogner guitar amps,250,,https://charlottesville.craigslist.org/msg/d/quinque-halfstack-line6-hd100-and-hd100/7781008646.html,guitar, +111,miraphone 186 4v rotary bb tuba,3000,,https://charlottesville.craigslist.org/msg/d/charlottesville-miraphone-186-4v-rotary/7780585070.html,missing, +112,open back harmony banjo,125,,https://charlottesville.craigslist.org/msg/d/ruckersville-open-back-harmony-banjo/7780538568.html,missing, +113,magnatone twilighter mono,2400,,https://charlottesville.craigslist.org/msg/d/charlottesville-magnatone-twilighter/7780321446.html,missing, +114,‘68 custom pro reverb,950,,https://charlottesville.craigslist.org/msg/d/charlottesville-68-custom-pro-reverb/7780261987.html,missing, +115,stratocaster with gig bag cord amp,120,,https://charlottesville.craigslist.org/msg/d/schuyler-stratocaster-with-gig-bag-cord/7772930257.html,stratocaster, +116,‘03 larrivee d-03r acoustic guitar w hsc,1100,,https://charlottesville.craigslist.org/msg/d/crozet-03-larrivee-03r-acoustic-guitar/7773578714.html,guitar, +117,ampeg bass amp vintage svt iii,400,,https://charlottesville.craigslist.org/msg/d/raphine-ampeg-bass-amp-vintage-svt-iii/7779642101.html,missing, +118,peavey stereo chorus 400 guitar amplifier,240,,https://charlottesville.craigslist.org/msg/d/waynesboro-peavey-stereo-chorus-400/7779548704.html,peavey, +119,fender mustang ii 40w guitar amplifier,115,,https://charlottesville.craigslist.org/msg/d/waynesboro-fender-mustang-ii-40w-guitar/7779545072.html,fender, +120,ukelele package,130,,https://charlottesville.craigslist.org/msg/d/charlottesville-ukelele-package/7779339146.html,missing, +121,rare early model kramer pacer (1985),999,1985.0,https://charlottesville.craigslist.org/msg/d/amherst-rare-early-model-kramer-pacer/7775042571.html,missing,40.0 +122,digitech harmony man pedal - reduced!,100,,https://charlottesville.craigslist.org/msg/d/amherst-digitech-harmony-man-pedal/7775054274.html,missing, +123,wampler pinnacle standard distortion pedal,100,,https://charlottesville.craigslist.org/msg/d/amherst-wampler-pinnacle-standard/7775055007.html,missing, +124,celestion v30 g12 speaker,85,,https://charlottesville.craigslist.org/msg/d/amherst-celestion-v30-g12-speaker/7775057629.html,missing, +125,earthquaker devices space spiral effects pedal,125,,https://charlottesville.craigslist.org/msg/d/charlottesville-earthquaker-devices/7775029147.html,missing, +126,fender limited edition telecaster,650,,https://charlottesville.craigslist.org/msg/d/lynchburg-fender-limited-edition/7778415585.html,fender, +127,skb ps-25 pedalboard with carrying case,75,,https://charlottesville.craigslist.org/msg/d/charlottesville-skb-ps-25-pedalboard/7769898956.html,missing, +128,fender limited edition telecaster,650,,https://charlottesville.craigslist.org/msg/d/lynchburg-fender-limited-edition/7778215113.html,fender, +129,otto ernst fischer violin,1800,,https://charlottesville.craigslist.org/msg/d/charlottesville-otto-ernst-fischer/7768638949.html,missing, +130,ibanez sa260 flametop- offers?!?,299,,https://charlottesville.craigslist.org/msg/d/charlottesville-ibanez-sa260-flametop/7768982733.html,ibanez, +131,bow re-hair,50,,https://charlottesville.craigslist.org/msg/d/bow-re-hair/7777281604.html,missing, +132,steinway model m grand piano for sale,4950,,https://charlottesville.craigslist.org/msg/d/amherst-steinway-model-grand-piano-for/7777250716.html,piano, +133,prs mccarty korina with humbuckers 2008 - 2009 - vintage cherry,3400,2008.0,https://charlottesville.craigslist.org/msg/d/charlottesville-prs-mccarty-korina-with/7777031896.html,prs,17.0 +134,prs custom 24 wood library 10-top,3800,,https://charlottesville.craigslist.org/msg/d/charlottesville-prs-custom-24-wood/7777027410.html,prs, +135,fender frontman 15r amp,50,,https://charlottesville.craigslist.org/msg/d/etlan-fender-frontman-15r-amp/7776886302.html,fender, +136,"patch cables, effects box connectors, and adapters",40,,https://charlottesville.craigslist.org/msg/d/charlottesville-patch-cables-effects/7767863277.html,missing, +137,peavey cs 800x4 power amp,300,,https://charlottesville.craigslist.org/msg/d/quinque-peavey-cs-800x4-power-amp/7776691338.html,peavey, +138,peavey sp 115m floor monitors (4),680,,https://charlottesville.craigslist.org/msg/d/quinque-peavey-sp-115m-floor-monitors/7776684766.html,peavey, +139,peavey cs 800s 2-channel power amp,220,,https://charlottesville.craigslist.org/msg/d/quinque-peavey-cs-800s-channel-power-amp/7776675175.html,peavey, +140,free upright piano!,1,,https://charlottesville.craigslist.org/msg/d/charlottesville-free-upright-piano/7773265254.html,missing, +141,peavey dm 118 subs (pair),1300,,https://charlottesville.craigslist.org/msg/d/quinque-peavey-dm-118-subs-pair/7776658168.html,peavey, +142,line 6 powercab 112,600,,https://charlottesville.craigslist.org/msg/d/keswick-line-powercab-112/7776276382.html,missing, diff --git a/02_scraping/craigslist_cville_instruments.csv b/02_scraping/craigslist_cville_instruments.csv new file mode 100644 index 00000000..5775a9de --- /dev/null +++ b/02_scraping/craigslist_cville_instruments.csv @@ -0,0 +1,144 @@ +,title,price,year,link,style,age +0,"cables, connectors, and adapters",40,,https://charlottesville.craigslist.org/msg/d/charlottesville-cables-connectors-and/7788424321.html,missing, +1,baglama saz (custom),1800,,https://charlottesville.craigslist.org/msg/d/culpeper-baglama-saz-custom/7788299267.html,missing, +2,martin d-35 (2022),2500,2022.0,https://charlottesville.craigslist.org/msg/d/culpeper-martin/7788281460.html,martin,3.0 +3,vox ac15hw1x w/ alnico blue,1300,,https://charlottesville.craigslist.org/msg/d/crozet-vox-ac15hw1x-alnico-blue/7781451791.html,vox, +4,piano tuning & repair,175,,https://charlottesville.craigslist.org/msg/d/charlottesville-piano-tuning-repair/7787801838.html,piano, +5,ukulele case pineapple design,5,,https://charlottesville.craigslist.org/msg/d/palmyra-ukulele-case-pineapple-design/7789431600.html,missing, +6,ukulele case with watermelon design,5,,https://charlottesville.craigslist.org/msg/d/palmyra-ukulele-case-with-watermelon/7789431343.html,missing, +7,music stands / dj stands / laptop stands,40,,https://charlottesville.craigslist.org/msg/d/charlottesville-music-stands-dj-stands/7786401940.html,missing, +8,"levy's, dunlop, and generic adjustable guitar straps",25,,https://charlottesville.craigslist.org/msg/d/charlottesville-levys-dunlop-and/7786402984.html,guitar, +9,sire v5 4 string bass guitar,425,,https://charlottesville.craigslist.org/msg/d/louisa-sire-v5-string-bass-guitar/7789408436.html,sire, +10,vintage emenee music toy,25,,https://charlottesville.craigslist.org/msg/d/bremo-bluff-vintage-emenee-music-toy/7787308273.html,missing, +11,"near mint epiphone pro-1 guitar w pickup, case, tuner",150,,https://charlottesville.craigslist.org/msg/d/crozet-near-mint-epiphone-pro-guitar/7789296842.html,epiphone, +12,yamaha 30w combo amp accutronics reverb,150,,https://charlottesville.craigslist.org/msg/d/glen-allen-yamaha-30w-combo-amp/7789286719.html,yamaha, +13,presonus audiobox usb 96 anniversary ed.,40,,https://charlottesville.craigslist.org/msg/d/orange-presonus-audiobox-usb-96/7787249155.html,missing, +14,cordoba gk studio negra lefty,460,,https://charlottesville.craigslist.org/msg/d/bowling-green-cordoba-gk-studio-negra/7789268689.html,cordoba, +15,tascam us-100 recording unit,30,,https://charlottesville.craigslist.org/msg/d/charlottesville-tascam-us-100-recording/7786712519.html,missing, +16,looking for broken or unwanted musical instruments,1,,https://charlottesville.craigslist.org/msg/d/crozet-looking-for-broken-or-unwanted/7789242617.html,missing, +17,"pa amp for parts or repair, with case, free",1,,https://charlottesville.craigslist.org/msg/d/crozet-pa-amp-for-parts-or-repair-with/7783477517.html,missing, +18,(100) 45 rpm records,30,,https://charlottesville.craigslist.org/msg/d/troy-rpm-records/7783124414.html,missing, +19,vintage music song books,10,,https://charlottesville.craigslist.org/msg/d/troy-vintage-music-song-books/7786493159.html,missing, +20,5 string fender banjo/hardcase,1200,,https://charlottesville.craigslist.org/msg/d/troy-string-fender-banjo-hardcase/7788463093.html,fender, +21,"epiphone ""worn"" casino",375,,https://charlottesville.craigslist.org/msg/d/staunton-epiphone-worn-casino/7782641687.html,epiphone, +22,2003 schecter s-1 blackjack-usa duncans,525,2003.0,https://charlottesville.craigslist.org/msg/d/charlottesville-2003-schecter-1/7789035828.html,schecter,22.0 +23,"epiphone ""inspired by"" red 355 guitar",1150,,https://charlottesville.craigslist.org/msg/d/staunton-epiphone-inspired-by-red-355/7786528187.html,epiphone, +24,baby taylor koa bte acoustic/electric,500,,https://charlottesville.craigslist.org/msg/d/staunton-baby-taylor-koa-bte-acoustic/7784445262.html,taylor, +25,leather jacket - xl - rock on!!!,40,,https://charlottesville.craigslist.org/msg/d/staunton-leather-jacket-xl-rock-on/7784073110.html,missing, +26,"epiphone ""inspired by"" les paul custom",1050,,https://charlottesville.craigslist.org/msg/d/staunton-epiphone-inspired-by-les-paul/7782588710.html,epiphone, +27,pearl roadshow 5-piece complete drum set with cymbals,400,,https://charlottesville.craigslist.org/msg/d/charlottesville-pearl-roadshow-piece/7788780205.html,missing, +28,boss rc-2 loop station in box,50,,https://charlottesville.craigslist.org/msg/d/charlottesville-boss-rc-loop-station-in/7788737466.html,missing, +29,martin 2005 d35 sunburst acoustic,2800,2005.0,https://charlottesville.craigslist.org/msg/d/charlottesville-martin-2005-d35/7780483373.html,martin,20.0 +30,behringer dd600 digital delay,20,,https://charlottesville.craigslist.org/msg/d/charlottesville-behringer-dd600-digital/7788735753.html,missing, +31,"5f1 tweed champ, 12"" cabinet, celestion speaker",750,,https://charlottesville.craigslist.org/msg/d/charlottesville-5f1-tweed-champ-12/7788731232.html,missing, +32,ehx holy grail nano,65,,https://charlottesville.craigslist.org/msg/d/charlottesville-ehx-holy-grail-nano/7788731195.html,missing, +33,1980 mxr m102 dyna comp with ross mod and added 9v jack,110,1980.0,https://charlottesville.craigslist.org/msg/d/charlottesville-1980-mxr-m102-dyna-comp/7788731162.html,missing,45.0 +34,guitar pedal repair and restoration,0,,https://charlottesville.craigslist.org/msg/d/charlottesville-guitar-pedal-repair-and/7788731110.html,guitar, +35,1979 mu-tron iii envelope filter,895,1979.0,https://charlottesville.craigslist.org/msg/d/charlottesville-1979-mu-tron-iii/7788729541.html,missing,46.0 +36,early 70's univox u-1095 superfuzz,895,,https://charlottesville.craigslist.org/msg/d/charlottesville-early-70s-univox-1095/7788729641.html,missing, +37,"1978 mxr distortion +, script box, with 9v jack and pete's tweaks",100,1978.0,https://charlottesville.craigslist.org/msg/d/charlottesville-1978-mxr-distortion-box/7788729611.html,missing,47.0 +38,christmas stocking with guitar or french horn new,8,,https://charlottesville.craigslist.org/msg/d/earlysville-christmas-stocking-with/7785828349.html,guitar, +39,gretsch g5410t electromatic “rat rod” hollowbody electric guitar,550,,https://charlottesville.craigslist.org/msg/d/crozet-gretsch-g5410t-electromatic-rat/7788596850.html,guitar, +40,awesome! hughes & kettner era1 250w acoustic guitar amp w softcover,650,,https://charlottesville.craigslist.org/msg/d/crozet-awesome-hughes-kettner-era1-250w/7788597572.html,guitar, +41,vintage yamaha fg-340 acoustic electric guitar,300,,https://charlottesville.craigslist.org/msg/d/crozet-vintage-yamaha-fg-340-acoustic/7788597326.html,yamaha, +42,blackstar id:core stereo100 guitar amp w ftswitch for built in looper,225,,https://charlottesville.craigslist.org/msg/d/crozet-blackstar-idcore-stereo100/7788597094.html,guitar, +43,upright bass stands,15,,https://charlottesville.craigslist.org/msg/d/louisa-upright-bass-stands/7788541605.html,missing, +44,yamaha piano key cover,15,,https://charlottesville.craigslist.org/msg/d/troy-yamaha-piano-key-cover/7784764787.html,yamaha, +45,esp ltd m-1000 ebony,800,,https://charlottesville.craigslist.org/msg/d/culpeper-esp-ltd-1000-ebony/7785553274.html,missing, +46,gator oboe case,40,,https://charlottesville.craigslist.org/msg/d/culpeper-gator-oboe-case/7785845366.html,missing, +47,floyd rose original frt-1000 chrome,150,,https://charlottesville.craigslist.org/msg/d/culpeper-floyd-rose-original-frt-1000/7787070314.html,missing, +48,esp wedge shaped padded gig bag,50,,https://charlottesville.craigslist.org/msg/d/culpeper-esp-wedge-shaped-padded-gig-bag/7787077616.html,missing, +49,electric guitars,100,,https://charlottesville.craigslist.org/msg/d/charlottesville-electric-guitars/7788431545.html,missing, +50,usa peavey bandit transtube spring reverb amp,200,,https://charlottesville.craigslist.org/msg/d/glen-allen-usa-peavey-bandit-transtube/7782303721.html,peavey, +51,gretsch g5622t electromatic guitar w/bigsby,440,,https://charlottesville.craigslist.org/msg/d/charlottesville-gretsch-g5622t/7783201045.html,guitar, +52,spinet piano,0,,https://charlottesville.craigslist.org/msg/d/culpeper-spinet-piano/7787893969.html,piano, +53,trumpet - gerhard baier,900,,https://charlottesville.craigslist.org/msg/d/charlottesville-trumpet-gerhard-baier/7787706448.html,missing, +54,epiphone casino guitar - 2001,900,2001.0,https://charlottesville.craigslist.org/msg/d/staunton-epiphone-casino-guitar/7787664431.html,epiphone,24.0 +55,epiphone 160e john lennon acoustic/electric guitar,600,,https://charlottesville.craigslist.org/msg/d/staunton-epiphone-160e-john-lennon/7787643597.html,epiphone, +56,1997 fender mexican strat,350,1997.0,https://charlottesville.craigslist.org/msg/d/quinque-1997-fender-mexican-strat/7787628799.html,fender,28.0 +57,"slide guitar package (instructionals, slides, capos)",40,,https://charlottesville.craigslist.org/msg/d/charlottesville-slide-guitar-package/7779300850.html,guitar, +58,"epiphone ""inspired by"" 355 guitar",899,,https://charlottesville.craigslist.org/msg/d/staunton-epiphone-inspired-by-355-guitar/7782587985.html,epiphone, +59,epiphone inspired by gibson es-339 w' hard case,550,,https://charlottesville.craigslist.org/msg/d/waynesboro-epiphone-inspired-by-gibson/7787425775.html,epiphone, +60,seymour duncan scorcher guitar pickup,50,,https://charlottesville.craigslist.org/msg/d/charlottesville-seymour-duncan-scorcher/7787384567.html,guitar, +61,bach tr600h2 trumpet,500,,https://charlottesville.craigslist.org/msg/d/charlottesville-bach-tr600h2-trumpet/7780582376.html,missing, +62,srv style stratocaster,890,,https://charlottesville.craigslist.org/msg/d/staunton-srv-style-stratocaster/7786864956.html,stratocaster, +63,warmoth jaguar,900,,https://charlottesville.craigslist.org/msg/d/staunton-warmoth-jaguar/7779368959.html,missing, +64,reverend mat west model,700,,https://charlottesville.craigslist.org/msg/d/staunton-reverend-mat-west-model/7779529608.html,missing, +65,reverend warhawk da electric guitar in midnight black with reverend tw,850,,https://charlottesville.craigslist.org/msg/d/staunton-reverend-warhawk-da-electric/7780903992.html,guitar, +66,hofner ct verythin 2018 anitque brown burst,575,2018.0,https://charlottesville.craigslist.org/msg/d/waynesboro-hofner-ct-verythin-2018/7786561006.html,missing,7.0 +67,acoustic guitar,230,,https://charlottesville.craigslist.org/msg/d/buckingham-acoustic-guitar/7786153020.html,guitar, +68,keyboard,50,,https://charlottesville.craigslist.org/msg/d/charlottesville-keyboard/7785343751.html,missing, +69,fishman loudbox mini guitar amp with bluetooth,275,,https://charlottesville.craigslist.org/msg/d/charlottesville-fishman-loudbox-mini/7785897270.html,guitar, +70,sennheiser e 825-s vocal microphone and on-stage stand,75,,https://charlottesville.craigslist.org/msg/d/charlottesville-sennheiser-825-vocal/7785894189.html,missing, +71,left-handed 5-string banjo,425,,https://charlottesville.craigslist.org/msg/d/charlottesville-left-handed-string-banjo/7781713588.html,missing, +72,looper,25,,https://charlottesville.craigslist.org/msg/d/charlottesville-looper/7782824684.html,missing, +73,price reduced! danelectro daddy-o,65,,https://charlottesville.craigslist.org/msg/d/charlottesville-price-reduced/7782824720.html,missing, +74,lot of 3 guitars,300,,https://charlottesville.craigslist.org/msg/d/orange-lot-of-guitars/7785585854.html,missing, +75,2023 prs 594 mccarty,3299,2023.0,https://charlottesville.craigslist.org/msg/d/forest-2023-prs-594-mccarty/7785287052.html,prs,2.0 +76,harmony h415,850,,https://charlottesville.craigslist.org/msg/d/waynesboro-harmony-h415/7784973554.html,missing, +77,adm 5 string banjo,150,,https://charlottesville.craigslist.org/msg/d/waynesboro-adm-string-banjo/7784961984.html,missing, +78,antique piano,0,,https://charlottesville.craigslist.org/msg/d/charlottesville-antique-piano/7784720426.html,piano, +79,vintage yamaha 112 guitar amp spring reverb,150,,https://charlottesville.craigslist.org/msg/d/glen-allen-vintage-yamaha-112-guitar/7778102801.html,yamaha, +80,violin for lefty 1/2 size,20,,https://charlottesville.craigslist.org/msg/d/charlottesville-violin-for-lefty-2-size/7784686737.html,missing, +81,michael kelly mod shop 67 solid body electric guitar,700,,https://charlottesville.craigslist.org/msg/d/shipman-michael-kelly-mod-shop-67-solid/7784649859.html,guitar, +82,fender deluxe molded bass case,175,,https://charlottesville.craigslist.org/msg/d/charlottesville-fender-deluxe-molded/7784591706.html,fender, +83,vincent bach mercedes trombone,350,,https://charlottesville.craigslist.org/msg/d/waynesboro-vincent-bach-mercedes/7775501781.html,missing, +84,full size violin,300,,https://charlottesville.craigslist.org/msg/d/charlottesville-full-size-violin/7784369148.html,missing, +85,fender fm 25r amp spring reverb,160,,https://charlottesville.craigslist.org/msg/d/glen-allen-fender-fm-25r-amp-spring/7779352121.html,fender, +86,cornet/trumpet: ready for band class!,100,,https://charlottesville.craigslist.org/msg/d/charlottesville-cornet-trumpet-ready/7784301598.html,missing, +87,"epiphone ""inspired by"" red 355 guitar",1200,,https://charlottesville.craigslist.org/msg/d/staunton-epiphone-inspired-by-red-355/7784103683.html,epiphone, +88,hand pan hang drum symphonic steel,6500,,https://charlottesville.craigslist.org/msg/d/charlottesville-hand-pan-hang-drum/7776563784.html,missing, +89,yamaha stagepas 600i pa system,400,,https://charlottesville.craigslist.org/msg/d/charlottesville-yamaha-stagepas-600i-pa/7778730251.html,yamaha, +90,"12.5"" splash cymbal with mounting hardware",20,,https://charlottesville.craigslist.org/msg/d/crozet-125-splash-cymbal-with-mounting/7774667228.html,missing, +91,snarling dogs spd6 effect pedal,40,,https://charlottesville.craigslist.org/msg/d/palmyra-snarling-dogs-spd6-effect-pedal/7783158000.html,missing, +92,t-rex yellow drive,80,,https://charlottesville.craigslist.org/msg/d/palmyra-rex-yellow-drive/7783152931.html,missing, +93,new groove tube 6v6r,20,,https://charlottesville.craigslist.org/msg/d/palmyra-new-groove-tube-6v6r/7783149543.html,missing, +94,relicked telecaster copy,150,,https://charlottesville.craigslist.org/msg/d/palmyra-relicked-telecaster-copy/7774575718.html,telecaster, +95,fender pickups,1,,https://charlottesville.craigslist.org/msg/d/palmyra-fender-pickups/7783143917.html,fender, +96,custom crowder guitar hd-28,2900,,https://charlottesville.craigslist.org/msg/d/louisa-custom-crowder-guitar-hd-28/7783055254.html,guitar, +97,2023 suhr modern plus guitar,3299,2023.0,https://charlottesville.craigslist.org/msg/d/forest-2023-suhr-modern-plus-guitar/7782902459.html,guitar,2.0 +98,fender hot rod deluxe - made in usa w/ upgraded tubes & mods,200,,https://charlottesville.craigslist.org/msg/d/charlottesville-fender-hot-rod-deluxe/7774974514.html,fender, +99,tonette musical instrument,10,,https://charlottesville.craigslist.org/msg/d/palmyra-tonette-musical-instrument/7776915887.html,missing, +100,bobelock luxurious professional suspension viola case,150,,https://charlottesville.craigslist.org/msg/d/scottsville-bobelock-luxurious/7776656248.html,missing, +101,4 fake books for c instruments,60,,https://charlottesville.craigslist.org/msg/d/charlottesville-fake-books-for/7781864992.html,missing, +102,2023 gibson 50's les paul standard goldtop,2499,2023.0,https://charlottesville.craigslist.org/msg/d/forest-2023-gibson-50s-les-paul/7781834742.html,gibson,2.0 +103,sire larry carlton a3-d dreadnought,325,,https://charlottesville.craigslist.org/msg/d/staunton-sire-larry-carlton-a3/7781791310.html,sire, +104,ormsby goliath 7 string moore green,1500,,https://charlottesville.craigslist.org/msg/d/charlottesville-ormsby-goliath-string/7781732792.html,missing, +105,schecter diamond series c-1 electric guitar,225,,https://charlottesville.craigslist.org/msg/d/charlottesville-schecter-diamond-series/7781549748.html,schecter, +106,"katana mk2 100, 1-12,w footswitch",325,,https://charlottesville.craigslist.org/msg/d/charlottesville-katana-mk-footswitch/7781393402.html,missing, +107,skb ps-25 pedalboard with carrying case,75,,https://charlottesville.craigslist.org/msg/d/charlottesville-skb-ps-25-pedalboard/7781342577.html,missing, +108,fender rocpro 1000 guitar head,200,,https://charlottesville.craigslist.org/msg/d/quinque-fender-rocpro-1000-guitar-head/7781267582.html,fender, +109,wanted: older arch top guitar,1,,https://charlottesville.craigslist.org/msg/d/charlottesville-wanted-older-arch-top/7780003467.html,guitar, +110,halfstack line6 hd100 and hd100 mkii bogner guitar amps,250,,https://charlottesville.craigslist.org/msg/d/quinque-halfstack-line6-hd100-and-hd100/7781008646.html,guitar, +111,miraphone 186 4v rotary bb tuba,3000,,https://charlottesville.craigslist.org/msg/d/charlottesville-miraphone-186-4v-rotary/7780585070.html,missing, +112,open back harmony banjo,125,,https://charlottesville.craigslist.org/msg/d/ruckersville-open-back-harmony-banjo/7780538568.html,missing, +113,magnatone twilighter mono,2400,,https://charlottesville.craigslist.org/msg/d/charlottesville-magnatone-twilighter/7780321446.html,missing, +114,‘68 custom pro reverb,950,,https://charlottesville.craigslist.org/msg/d/charlottesville-68-custom-pro-reverb/7780261987.html,missing, +115,stratocaster with gig bag cord amp,120,,https://charlottesville.craigslist.org/msg/d/schuyler-stratocaster-with-gig-bag-cord/7772930257.html,stratocaster, +116,‘03 larrivee d-03r acoustic guitar w hsc,1100,,https://charlottesville.craigslist.org/msg/d/crozet-03-larrivee-03r-acoustic-guitar/7773578714.html,guitar, +117,ampeg bass amp vintage svt iii,400,,https://charlottesville.craigslist.org/msg/d/raphine-ampeg-bass-amp-vintage-svt-iii/7779642101.html,missing, +118,peavey stereo chorus 400 guitar amplifier,240,,https://charlottesville.craigslist.org/msg/d/waynesboro-peavey-stereo-chorus-400/7779548704.html,peavey, +119,fender mustang ii 40w guitar amplifier,115,,https://charlottesville.craigslist.org/msg/d/waynesboro-fender-mustang-ii-40w-guitar/7779545072.html,fender, +120,ukelele package,130,,https://charlottesville.craigslist.org/msg/d/charlottesville-ukelele-package/7779339146.html,missing, +121,rare early model kramer pacer (1985),999,1985.0,https://charlottesville.craigslist.org/msg/d/amherst-rare-early-model-kramer-pacer/7775042571.html,missing,40.0 +122,digitech harmony man pedal - reduced!,100,,https://charlottesville.craigslist.org/msg/d/amherst-digitech-harmony-man-pedal/7775054274.html,missing, +123,wampler pinnacle standard distortion pedal,100,,https://charlottesville.craigslist.org/msg/d/amherst-wampler-pinnacle-standard/7775055007.html,missing, +124,celestion v30 g12 speaker,85,,https://charlottesville.craigslist.org/msg/d/amherst-celestion-v30-g12-speaker/7775057629.html,missing, +125,earthquaker devices space spiral effects pedal,125,,https://charlottesville.craigslist.org/msg/d/charlottesville-earthquaker-devices/7775029147.html,missing, +126,fender limited edition telecaster,650,,https://charlottesville.craigslist.org/msg/d/lynchburg-fender-limited-edition/7778415585.html,fender, +127,skb ps-25 pedalboard with carrying case,75,,https://charlottesville.craigslist.org/msg/d/charlottesville-skb-ps-25-pedalboard/7769898956.html,missing, +128,fender limited edition telecaster,650,,https://charlottesville.craigslist.org/msg/d/lynchburg-fender-limited-edition/7778215113.html,fender, +129,otto ernst fischer violin,1800,,https://charlottesville.craigslist.org/msg/d/charlottesville-otto-ernst-fischer/7768638949.html,missing, +130,ibanez sa260 flametop- offers?!?,299,,https://charlottesville.craigslist.org/msg/d/charlottesville-ibanez-sa260-flametop/7768982733.html,ibanez, +131,bow re-hair,50,,https://charlottesville.craigslist.org/msg/d/bow-re-hair/7777281604.html,missing, +132,steinway model m grand piano for sale,4950,,https://charlottesville.craigslist.org/msg/d/amherst-steinway-model-grand-piano-for/7777250716.html,piano, +133,prs mccarty korina with humbuckers 2008 - 2009 - vintage cherry,3400,2008.0,https://charlottesville.craigslist.org/msg/d/charlottesville-prs-mccarty-korina-with/7777031896.html,prs,17.0 +134,prs custom 24 wood library 10-top,3800,,https://charlottesville.craigslist.org/msg/d/charlottesville-prs-custom-24-wood/7777027410.html,prs, +135,fender frontman 15r amp,50,,https://charlottesville.craigslist.org/msg/d/etlan-fender-frontman-15r-amp/7776886302.html,fender, +136,"patch cables, effects box connectors, and adapters",40,,https://charlottesville.craigslist.org/msg/d/charlottesville-patch-cables-effects/7767863277.html,missing, +137,peavey cs 800x4 power amp,300,,https://charlottesville.craigslist.org/msg/d/quinque-peavey-cs-800x4-power-amp/7776691338.html,peavey, +138,peavey sp 115m floor monitors (4),680,,https://charlottesville.craigslist.org/msg/d/quinque-peavey-sp-115m-floor-monitors/7776684766.html,peavey, +139,peavey cs 800s 2-channel power amp,220,,https://charlottesville.craigslist.org/msg/d/quinque-peavey-cs-800s-channel-power-amp/7776675175.html,peavey, +140,free upright piano!,1,,https://charlottesville.craigslist.org/msg/d/charlottesville-free-upright-piano/7773265254.html,missing, +141,peavey dm 118 subs (pair),1300,,https://charlottesville.craigslist.org/msg/d/quinque-peavey-dm-118-subs-pair/7776658168.html,peavey, +142,line 6 powercab 112,600,,https://charlottesville.craigslist.org/msg/d/keswick-line-powercab-112/7776276382.html,missing, diff --git a/02_scraping/just_code.ipynb b/02_scraping/just_code.ipynb index 53411fcd..781d2b39 100644 --- a/02_scraping/just_code.ipynb +++ b/02_scraping/just_code.ipynb @@ -1729,7 +1729,7 @@ ], "metadata": { "kernelspec": { - "display_name": "base", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -1743,9 +1743,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.2" + "version": "3.12.1" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/02_scraping/lab_notebook.ipynb b/02_scraping/lab_notebook.ipynb index dec6cf26..f4739e6c 100644 --- a/02_scraping/lab_notebook.ipynb +++ b/02_scraping/lab_notebook.ipynb @@ -24,7 +24,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -36,7 +36,7 @@ "import requests # Page requests\n", "\n", "header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0'} \n", - "url = 'https://charlottesville.craigslist.org/search/cta?purveyor=owner#search=1~gallery~0~0' \n", + "url = 'https://charlottesville.craigslist.org/search/msa?purveyor=owner#search=1~gallery~0~0' \n", "raw = requests.get(url,headers=header) # Get page" ] }, @@ -77,7 +77,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -107,15 +107,14 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import re # Regular expressions\n", "\n", - "brands = ['honda', 'dodge','toyota','ford','tesla','gmc','jeep','bmw','mitsubishi','mazda',\n", - " 'volvo','audi','volkswagen','chevy','chevrolet','acura','kia','subaru','lexus',\n", - " 'cadillac','buick','porsche','infiniti']\n", + "styles = ['cordoba', 'telecaster', 'stratocaster', 'epiphone', 'schecter', 'piano', 'drums', \n", + " 'guitar', 'martin', 'yamaha', 'prs', 'vox', 'fender', 'sire', 'gibson', 'ibanez', 'peavey', 'taylor', ]\n", "\n", "data = [] # We'll save our listings in this object\n", "for k in range( len(listings) ):\n", @@ -124,11 +123,14 @@ " link = listings[k].find(href=True)['href']\n", " # Get brand from the title string:\n", " words = title.split()\n", - " hits = [word for word in words if word in brands] # Find brands in the title\n", + " hits = [] # Find brands in the title\n", + " for word in words:\n", + " if word in styles:\n", + " hits.append(word)\n", " if len(hits) == 0:\n", - " brand = 'missing'\n", + " style = 'missing'\n", " else:\n", - " brand = hits[0]\n", + " style = hits[0]\n", " # Get years from title string:\n", " regex_search = re.search(r'20[0-9][0-9]|19[0-9][0-9]', title ) # Find year references\n", " if regex_search is None: # If no hits, record year as missing value\n", @@ -136,7 +138,7 @@ " else: # If hits, record year as first match\n", " year = regex_search.group(0)\n", " #\n", - " data.append({'title':title,'price':price,'year':year,'link':link,'brand':brand})" + " data.append({'title':title,'price':price,'year':year,'link':link,'style':style})" ] }, { @@ -156,9 +158,116 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(143, 6)\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
titlepriceyearlinkstyleage
0cables, connectors, and adapters40NaNhttps://charlottesville.craigslist.org/msg/d/c...missingNaN
1baglama saz (custom)1800NaNhttps://charlottesville.craigslist.org/msg/d/c...missingNaN
2martin d-35 (2022)25002022.0https://charlottesville.craigslist.org/msg/d/c...martin3.0
3vox ac15hw1x w/ alnico blue1300NaNhttps://charlottesville.craigslist.org/msg/d/c...voxNaN
4piano tuning & repair175NaNhttps://charlottesville.craigslist.org/msg/d/c...pianoNaN
\n", + "
" + ], + "text/plain": [ + " title price year \\\n", + "0 cables, connectors, and adapters 40 NaN \n", + "1 baglama saz (custom) 1800 NaN \n", + "2 martin d-35 (2022) 2500 2022.0 \n", + "3 vox ac15hw1x w/ alnico blue 1300 NaN \n", + "4 piano tuning & repair 175 NaN \n", + "\n", + " link style age \n", + "0 https://charlottesville.craigslist.org/msg/d/c... missing NaN \n", + "1 https://charlottesville.craigslist.org/msg/d/c... missing NaN \n", + "2 https://charlottesville.craigslist.org/msg/d/c... martin 3.0 \n", + "3 https://charlottesville.craigslist.org/msg/d/c... vox NaN \n", + "4 https://charlottesville.craigslist.org/msg/d/c... piano NaN " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "## Wrangle the data\n", "df = pd.DataFrame.from_dict(data)\n", @@ -168,7 +277,7 @@ "df['year'] = pd.to_numeric(df['year'],errors='coerce')\n", "df['age'] = 2025-df['year']\n", "print(df.shape)\n", - "df.to_csv('craigslist_cville_cars.csv') # Save data in case of a disaster\n", + "df.to_csv('craigslist_cville_instruments.csv') # Save data in case of a disaster\n", "df.head()" ] }, @@ -181,9 +290,60 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "count 143.000000\n", + "mean 610.958042\n", + "std 999.516974\n", + "min 0.000000\n", + "25% 50.000000\n", + "50% 225.000000\n", + "75% 700.000000\n", + "max 6500.000000\n", + "Name: price, dtype: float64\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "count 14.000000\n", + "mean 21.785714\n", + "std 17.339056\n", + "min 2.000000\n", + "25% 4.000000\n", + "50% 21.000000\n", + "75% 37.000000\n", + "max 47.000000\n", + "Name: age, dtype: float64\n" + ] + }, + { + "data": { + "image/png": "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DzzwgIYMGaIf/OAHN/3wQfSMbdu2KSMjI/KDtLxer957773I85wLs9atWyeHw6GVK1dG9nFO+p6YiZE9e/aouLhYq1ev1unTp5WZmanc3Fy1traaHi3utbW1KTMzU1u3bu3w+V/96ld64403tH37dn300Ue67777lJubq2vXrt3lSe8N1dXVKiws1MmTJ1VRUaEbN27o6aefVltbW2TNCy+8oL/85S/au3evqqur9fnnn+v73/++wanj16hRo7Ru3TrV1dWptrZWTzzxhBYsWKBz585J4lyYdOrUKe3YsUMZGRlR+zknfZAVI2bOnGkVFhZGHre3t1sjRoywfD6fwanuPZKs/fv3Rx6Hw2HL4/FY69evj+y7fPmy5XQ6rT/96U8GJrz3tLa2WpKs6upqy7K++fsfOHCgtXfv3siaf/zjH5Ykq6amxtSY95ShQ4dau3bt4lwYdOXKFWvcuHFWRUWFNWfOHGvFihWWZfHvo6+KiSsj169fV11dnXJyciL7+vXrp5ycHNXU1BicDBcvXpTf7486N263W7NmzeLc3CWBQECSNGzYMElSXV2dbty4EXVOJkyYoLS0NM5JL2tvb1d5ebna2trk9Xo5FwYVFhYqLy8v6u9e4t9HX9Unf2vv/+/LL79Ue3t75Ke8fis5OVmffPKJoakgSX6/X5I6PDffPofeEw6HtXLlSj366KORn2rs9/uVkJCg+++/P2ot56T3NDQ0yOv16tq1axoyZIj279+vSZMmqb6+nnNhQHl5uU6fPq1Tp07d9Bz/PvqmmIgRAB0rLCzU2bNn9eGHH5oe5Z42fvx41dfXKxAIaN++fVq8eLGqq6tNj3VPampq0ooVK1RRUaHExETT4+A2xcSXaR588EH179//prudW1pa5PF4DE0FSZG/f87N3VdUVKRDhw7pgw8+0KhRoyL7PR6Prl+/rsuXL0et55z0noSEBI0dO1ZZWVny+XzKzMzU5s2bORcG1NXVqbW1VdOnT9eAAQM0YMAAVVdX64033tCAAQOUnJzMOemDYiJGEhISlJWVpcrKysi+cDisyspKeb1eg5MhPT1dHo8n6twEg0F99NFHnJteYlmWioqKtH//fh07dkzp6elRz2dlZWngwIFR5+T8+fNqbGzknNwl4XBYoVCIc2HAk08+qYaGBtXX10e2GTNm6Lnnnov8mXPS98TMl2mKi4u1ePFizZgxQzNnztSmTZvU1tamJUuWmB4t7l29elUXLlyIPL548aLq6+s1bNgwpaWlaeXKlfrFL36hcePGKT09Xa+++qpGjBih/Px8c0PHscLCQpWVlengwYNKSkqKfJ3b7XZr0KBBcrvdWrp0qYqLizVs2DC5XC799Kc/ldfr1ezZsw1PH39KSko0b948paWl6cqVKyorK1NVVZWOHj3KuTAgKSnppt8Kf9999+mBBx6I7Oec9EGmv53Hjl//+tdWWlqalZCQYM2cOdM6efKk6ZHuCR988IEl6aZt8eLFlmV98+29r776qpWcnGw5nU7rySeftM6fP2926DjW0bmQZL355puRNV9//bX1k5/8xBo6dKg1ePBg63vf+57V3Nxsbug49qMf/cgaPXq0lZCQYD300EPWk08+ab3//vuR5zkX5v3fb+21LM5JX+SwLMsy1EEAAACxcc8IAACIX8QIAAAwihgBAABGESMAAMAoYgQAABhFjAAAAKOIEQAAYBQxAgAAjCJGAACAUcQIAAAwihgBAABGESMAAMCo/weZC0cyHfrdYwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "# EDA for price and age:\n", "print(df['price'].describe())\n", @@ -196,44 +356,672 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
price
countmeanstdmin25%50%75%max
style
cordoba1.0460.000000NaN460.0460.0460.0460.00460.0
epiphone9.0763.777778363.768050150.0550.0899.01050.001200.0
fender11.0341.000000357.8211841.0137.5200.0500.001200.0
gibson1.02499.000000NaN2499.02499.02499.02499.002499.0
guitar18.0644.055556952.2235570.042.5262.5687.503299.0
ibanez1.0299.000000NaN299.0299.0299.0299.00299.0
martin2.02650.000000212.1320342500.02575.02650.02725.002800.0
missing73.0445.917808919.3750711.040.0100.0500.006500.0
peavey6.0490.000000435.384887200.0225.0270.0585.001300.0
piano4.01281.2500002447.2241930.00.087.51368.754950.0
prs3.03499.666667264.9534553299.03349.53400.03600.003800.0
schecter2.0375.000000212.132034225.0300.0375.0450.00525.0
sire2.0375.00000070.710678325.0350.0375.0400.00425.0
stratocaster2.0505.000000544.472222120.0312.5505.0697.50890.0
taylor1.0500.000000NaN500.0500.0500.0500.00500.0
telecaster1.0150.000000NaN150.0150.0150.0150.00150.0
vox1.01300.000000NaN1300.01300.01300.01300.001300.0
yamaha5.0203.000000149.31510315.0150.0150.0300.00400.0
\n", + "
" + ], + "text/plain": [ + " price \\\n", + " count mean std min 25% 50% 75% \n", + "style \n", + "cordoba 1.0 460.000000 NaN 460.0 460.0 460.0 460.00 \n", + "epiphone 9.0 763.777778 363.768050 150.0 550.0 899.0 1050.00 \n", + "fender 11.0 341.000000 357.821184 1.0 137.5 200.0 500.00 \n", + "gibson 1.0 2499.000000 NaN 2499.0 2499.0 2499.0 2499.00 \n", + "guitar 18.0 644.055556 952.223557 0.0 42.5 262.5 687.50 \n", + "ibanez 1.0 299.000000 NaN 299.0 299.0 299.0 299.00 \n", + "martin 2.0 2650.000000 212.132034 2500.0 2575.0 2650.0 2725.00 \n", + "missing 73.0 445.917808 919.375071 1.0 40.0 100.0 500.00 \n", + "peavey 6.0 490.000000 435.384887 200.0 225.0 270.0 585.00 \n", + "piano 4.0 1281.250000 2447.224193 0.0 0.0 87.5 1368.75 \n", + "prs 3.0 3499.666667 264.953455 3299.0 3349.5 3400.0 3600.00 \n", + "schecter 2.0 375.000000 212.132034 225.0 300.0 375.0 450.00 \n", + "sire 2.0 375.000000 70.710678 325.0 350.0 375.0 400.00 \n", + "stratocaster 2.0 505.000000 544.472222 120.0 312.5 505.0 697.50 \n", + "taylor 1.0 500.000000 NaN 500.0 500.0 500.0 500.00 \n", + "telecaster 1.0 150.000000 NaN 150.0 150.0 150.0 150.00 \n", + "vox 1.0 1300.000000 NaN 1300.0 1300.0 1300.0 1300.00 \n", + "yamaha 5.0 203.000000 149.315103 15.0 150.0 150.0 300.00 \n", + "\n", + " \n", + " max \n", + "style \n", + "cordoba 460.0 \n", + "epiphone 1200.0 \n", + "fender 1200.0 \n", + "gibson 2499.0 \n", + "guitar 3299.0 \n", + "ibanez 299.0 \n", + "martin 2800.0 \n", + "missing 6500.0 \n", + "peavey 1300.0 \n", + "piano 4950.0 \n", + "prs 3800.0 \n", + "schecter 525.0 \n", + "sire 425.0 \n", + "stratocaster 890.0 \n", + "taylor 500.0 \n", + "telecaster 150.0 \n", + "vox 1300.0 \n", + "yamaha 400.0 " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Price by brand:\n", - "df.loc[:,['price','brand']].groupby('brand').describe()" + "df.loc[:,['price','style']].groupby('style').describe()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
age
countmeanstdmin25%50%75%max
style
cordoba0.0NaNNaNNaNNaNNaNNaNNaN
epiphone1.024.0NaN24.024.0024.024.0024.0
fender1.028.0NaN28.028.0028.028.0028.0
gibson1.02.0NaN2.02.002.02.002.0
guitar1.02.0NaN2.02.002.02.002.0
ibanez0.0NaNNaNNaNNaNNaNNaNNaN
martin2.011.512.0208153.07.2511.515.7520.0
missing5.037.016.9852887.040.0045.046.0047.0
peavey0.0NaNNaNNaNNaNNaNNaNNaN
piano0.0NaNNaNNaNNaNNaNNaNNaN
prs2.09.510.6066022.05.759.513.2517.0
schecter1.022.0NaN22.022.0022.022.0022.0
sire0.0NaNNaNNaNNaNNaNNaNNaN
stratocaster0.0NaNNaNNaNNaNNaNNaNNaN
taylor0.0NaNNaNNaNNaNNaNNaNNaN
telecaster0.0NaNNaNNaNNaNNaNNaNNaN
vox0.0NaNNaNNaNNaNNaNNaNNaN
yamaha0.0NaNNaNNaNNaNNaNNaNNaN
\n", + "
" + ], + "text/plain": [ + " age \n", + " count mean std min 25% 50% 75% max\n", + "style \n", + "cordoba 0.0 NaN NaN NaN NaN NaN NaN NaN\n", + "epiphone 1.0 24.0 NaN 24.0 24.00 24.0 24.00 24.0\n", + "fender 1.0 28.0 NaN 28.0 28.00 28.0 28.00 28.0\n", + "gibson 1.0 2.0 NaN 2.0 2.00 2.0 2.00 2.0\n", + "guitar 1.0 2.0 NaN 2.0 2.00 2.0 2.00 2.0\n", + "ibanez 0.0 NaN NaN NaN NaN NaN NaN NaN\n", + "martin 2.0 11.5 12.020815 3.0 7.25 11.5 15.75 20.0\n", + "missing 5.0 37.0 16.985288 7.0 40.00 45.0 46.00 47.0\n", + "peavey 0.0 NaN NaN NaN NaN NaN NaN NaN\n", + "piano 0.0 NaN NaN NaN NaN NaN NaN NaN\n", + "prs 2.0 9.5 10.606602 2.0 5.75 9.5 13.25 17.0\n", + "schecter 1.0 22.0 NaN 22.0 22.00 22.0 22.00 22.0\n", + "sire 0.0 NaN NaN NaN NaN NaN NaN NaN\n", + "stratocaster 0.0 NaN NaN NaN NaN NaN NaN NaN\n", + "taylor 0.0 NaN NaN NaN NaN NaN NaN NaN\n", + "telecaster 0.0 NaN NaN NaN NaN NaN NaN NaN\n", + "vox 0.0 NaN NaN NaN NaN NaN NaN NaN\n", + "yamaha 0.0 NaN NaN NaN NaN NaN NaN NaN" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Age by brand:\n", - "df.loc[:,['age','brand']].groupby('brand').describe()" + "df.loc[:,['age','style']].groupby('style').describe()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtEAAAGwCAYAAABviTllAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACPwUlEQVR4nOzdeZyN5f/H8deZ5ZzZh8FsthlLIoNBmKiEDOFLlJJsoRRlyfoN2bUgUqlUqC9JuwhJlrKTnSbLaJQZuxkzZs4s5/794efUaWwzZpyZ8X4+HufRnPu67uv6XOccnc9cc93XbTIMw0BERERERG6Yi7MDEBEREREpbJREi4iIiIjkkJJoEREREZEcUhItIiIiIpJDSqJFRERERHJISbSIiIiISA4piRYRERERySE3ZwdQGNhsNo4fP46vry8mk8nZ4YiIiMgNMAyDCxcuEBoaiouL5g0lbymJvgHHjx+nbNmyzg5DREREcuHYsWOUKVPG2WFIEaMk+gb4+voCl/4R+vn5OTkaERERuRFJSUmULVvW/j0ukpeURN+Ay0s4/Pz8lESLiIgUMlqKKfnBqQuEZs2aRY0aNezJaVRUFMuWLbOXN27cGJPJ5PDo06ePQxtxcXG0atUKLy8vAgMDGTJkCJmZmQ511qxZQ+3atbFYLFSqVIm5c+feiuGJiIiISBHl1JnoMmXK8Morr1C5cmUMw2DevHm0bduWHTt2cNdddwHQu3dvxo0bZz/Hy8vL/nNWVhatWrUiODiYDRs2EB8fT9euXXF3d2fSpEkAxMbG0qpVK/r06cP8+fNZtWoVvXr1IiQkhOjo6Fs7YBEREREpEkyGYRjODuKfAgICeP311+nZsyeNGzemVq1aTJ8+/Yp1ly1bRuvWrTl+/DhBQUEAvPvuuwwbNoxTp05hNpsZNmwYS5cuZe/evfbzHn/8cc6fP8/y5ctvKKakpCT8/f1JTEzUcg4REZFCQt/fkp8KzJrorKwsPv/8c1JSUoiKirIfnz9/Pv/73/8IDg6mTZs2jBo1yj4bvXHjRiIiIuwJNEB0dDTPPvss+/btIzIyko0bN9KsWTOHvqKjoxkwYMBVY7FarVitVvvzpKSkPBqliIiIFDRZWVlkZGQ4OwwpAMxm8w1vh+j0JHrPnj1ERUWRlpaGj48PX3/9NdWqVQPgiSeeoHz58oSGhrJ7926GDRtGTEwMX331FQAJCQkOCTRgf56QkHDNOklJSaSmpuLp6ZktpsmTJzN27Ng8H6uIiIgUHIZhkJCQwPnz550dihQQLi4uhIeHYzabr1vX6Ul0lSpV2LlzJ4mJiXzxxRd069aNtWvXUq1aNZ5++ml7vYiICEJCQmjatCmHDx+mYsWK+RbTiBEjGDRokP355S1yREREpOi4nEAHBgbi5eWlXTxuc5dvrhcfH0+5cuWu+3lwehJtNpupVKkSAHXq1GHr1q3MmDGD9957L1vd+vXrA3Do0CEqVqxIcHAwW7Zscahz4sQJAIKDg+3/vXzsn3X8/PyuOAsNYLFYsFgsNzcwERERKbCysrLsCXSJEiWcHY4UEKVKleL48eNkZmbi7u5+zboF7h6YNpvNYT3yP+3cuROAkJAQAKKiotizZw8nT56011m5ciV+fn72JSFRUVGsWrXKoZ2VK1c6rLsWERGR28vlNdD/3PVL5PIyjqysrOvWdepM9IgRI2jZsiXlypXjwoULLFiwgDVr1rBixQoOHz7MggULeOihhyhRogS7d+9m4MCB3HfffdSoUQOA5s2bU61aNbp06cJrr71GQkICI0eOpG/fvvaZ5D59+vDWW28xdOhQnnrqKX766ScWLVrE0qVLnTl0ERERKQC0hEP+KSefB6cm0SdPnqRr167Ex8fj7+9PjRo1WLFiBQ8++CDHjh3jxx9/ZPr06aSkpFC2bFk6dOjAyJEj7ee7urqyZMkSnn32WaKiovD29qZbt24O+0qHh4ezdOlSBg4cyIwZMyhTpgwffPCB9oiWIi09xcCwGbh5mHB11xeEiIhIXitw+0QXRNpnUgoLa7KNs7E2/tiUQUaqQUCYC2H3mPEsbsLFVcm0iNxervX9nZaWRmxsLOHh4Xh4eDgpQilocvK5KHBrokUkd9IvGvy+Ip1931pJPmHDmmQQvzuLzR+kknLa5uzwRESkkAkLC7vqDe9ESbRIkZGWaOPEgewXQtgyIeaHdDJSlUiLiNyOunfvTrt27ZwdRpGjJFqkiDh96OpXEp//w0Zm2i0MRkREpIhTEi1SRLhe4zJhkwnQkmgRkSLtiy++ICIiAk9PT0qUKEGzZs0YMmQI8+bN49tvv8VkMmEymVizZg1NmjShX79+DuefOnUKs9mcbWvgy86fP0+vXr0oVaoUfn5+NGnShF27dt2KoRVISqJFiogSlVyvWlaqiivuXsqiRUSKqvj4eDp16sRTTz3FgQMHWLNmDe3bt+fll1+mY8eOtGjRgvj4eOLj47nnnnvo1asXCxYscLg3x//+9z9Kly5NkyZNrtjHo48+ysmTJ1m2bBnbt2+ndu3aNG3alLNnz96qYRYoSqJFigiLr4kK92W/u5LZ20SlJmbczEqiRUSKqvj4eDIzM2nfvj1hYWFERETw3HPP4ePjg6enJxaLheDgYIKDgzGbzbRv3x6Ab7/91t7G3Llz6d69+xX3Sv7ll1/YsmULn3/+OXXr1qVy5cpMmTKFYsWK8cUXX9yycRYkTr/tt4jkDXcPF8re7UaJiq4c25pBeopBqTvcKHmHK57++n1ZRKQoq1mzJk2bNiUiIoLo6GiaN2/OI488QvHixa9Y38PDgy5duvDRRx/RsWNHfv31V/bu3cvixYuvWH/Xrl0kJydnu0V6amoqhw8fzvPxFAZKokWKEHdPF/xLg2+wC0YWuLjrblwiIrcDV1dXVq5cyYYNG/jhhx+YOXMmL730Eps3b77qOb169aJWrVr8+eefzJkzhyZNmlC+fPkr1k1OTiYkJIQ1a9ZkKytWrFgejaJwURItUgS5uJrg6kukRUSkCDKZTDRs2JCGDRsyevRoypcvz9dff43ZbCYrK/sOThEREdStW5fZs2ezYMEC3nrrrau2Xbt2bRISEnBzcyMsLCwfR1F4KIl2kpQLZ0hJ/ou4uFW4mNwoF/YgXl7BePkUc3ZoIiIiUshs3ryZVatW0bx5cwIDA9m8eTOnTp2iatWqpKWlsWLFCmJiYihRogT+/v64u1+6hqZXr17069cPb29vHn744au236xZM6KiomjXrh2vvfYad9xxB8ePH2fp0qU8/PDD1K1b91YNtcBQEu0EKRdOs3XzZP76a7X92IEDc6hUqSMRNZ/By+fK65dERERErsTPz49169Yxffp0kpKSKF++PFOnTqVly5bUrVuXNWvWULduXZKTk1m9ejWNGzcGoFOnTgwYMIBOnTpd8zbXJpOJ77//npdeeokePXpw6tQpgoODue+++wgKCrpFoyxYTIZhGM4OoqBLSkrC39+fxMRE/Pz8brq9w78vY9PGl65Y1qTp+4SUuf1+mxMREclr1/r+TktLIzY2lvDw8Gsmj0Xd0aNHqVixIlu3bqV27drODsfpcvK50CX7t9jF5HP8HvO/q5bH/P4pGVbdWk5ERETyT0ZGBgkJCYwcOZIGDRoogc4FJdG3mM2WRXpG8lXLM9ITsdkyb2FEIiIicrtZv349ISEhbN26lXfffdfZ4RRKWhN9i1k8fAkJbsjBCwuvWF46tAnuFq9bHJWIiIjcTho3boxW9N4czUTfYu5mC3dW64S7u0+2Mk/PkpQt3xgXF70tIiIiIgWZsjUn8PELpXmLeZQp2wSTyRUXF3fCw9vQrPlH+PqHOjs8EREREbkOLedwAhcXV4oFhNMgaizp6RcA8PDwx93i6eTIRERERORGKIl2IounNxZPb2eHISIiIiI5pOUcIiIiIiI5pCRaREREpAhbs2YNJpOJ8+fP31Q7R48exWQysXPnzjyJq7DTcg4RERGRIuyee+4hPj4ef3//m2qnbNmyxMfHU7JkyTyKrHBTEi0iIiJyE2wXUyH5IqRawdMCPl64eBWczQLMZjPBwcE33Y6rq2uetFNUaDmHiIiISC4Z55PI/OQ70l/5kPQZ/yP9lQ/J/OQ7jPNJ+dZn48aNef755xkwYADFixcnKCiI2bNnk5KSQo8ePfD19aVSpUosW7YMyL6c448//qBNmzYUL14cb29v7rrrLr7//nsAzp07R+fOnSlVqhSenp5UrlyZOXPmANmXc1xud9WqVdStWxcvLy/uueceYmJiHOKdMGECgYGB+Pr60qtXL4YPH06tWrXy7fW5VZREi4iIiOSC7WIqGZ8txxZz1PF4zNFLxy+m5lvf8+bNo2TJkmzZsoXnn3+eZ599lkcffZR77rmHX3/9lebNm9OlSxcuXryY7dy+fftitVpZt24de/bs4dVXX8XH59JN4EaNGsX+/ftZtmwZBw4cYNasWdddvvHSSy8xdepUtm3bhpubG0899ZS9bP78+UycOJFXX32V7du3U65cOWbNmpW3L4aTaDmHiIiISG4kX8yWQF9mizl6aYlHPi3rqFmzJiNHjgRgxIgRvPLKK5QsWZLevXsDMHr0aGbNmsXu3buznRsXF0eHDh2IiIgAoEKFCg5lkZGR1K1bF4CwsLDrxjJx4kTuv/9+AIYPH06rVq1IS0vDw8ODmTNn0rNnT3r06GGP64cffiA5OTn3gy8gNBMtIiIikhup1psrvwk1atSw/+zq6kqJEiXsSTFAUFAQACdPnsx27gsvvMCECRNo2LAhL7/8skOi/eyzz7Jw4UJq1arF0KFD2bBhQ45iCQkJceg3JiaGevXqOdT/9/PCSkm0iIiISG54Wm6u/Ca4u7s7PDeZTA7HTCYTADabLdu5vXr14siRI3Tp0oU9e/ZQt25dZs6cCUDLli35448/GDhwIMePH6dp06YMHjz4hmO5Vr9FjZJoERERkdzw8cKlStgVi1yqhIGP1y0NJyfKli1Lnz59+Oqrr3jxxReZPXu2vaxUqVJ069aN//3vf0yfPp33338/1/1UqVKFrVu3Ohz79/PCSmuiRURERHLBxcsT98daZLu40KVKGO6PtcBUgLa5+6cBAwbQsmVL7rjjDs6dO8fq1aupWrUqcGnNcp06dbjrrruwWq0sWbLEXpYbzz//PL1796Zu3brcc889fPbZZ+zevdthHXZhpSRaREREJJdMxfxw69Im2z7RBTWBBsjKyqJv3778+eef+Pn50aJFC9544w3g0p7SI0aM4OjRo3h6enLvvfeycOHCXPfVuXNnjhw5wuDBg0lLS6Njx450796dLVu25NVwnMZkGIbh7CAKuqSkJPz9/UlMTMTPz8/Z4YiIiMgNuNb3d1paGrGxsYSHh+Ph4eGkCG9PDz74IMHBwXzyySfODiWbnHwuNBMtIiIiIvni4sWLvPvuu0RHR+Pq6sqnn37Kjz/+yMqVK50d2k1TEi0iIiIi+cJkMvH9998zceJE0tLSqFKlCl9++SXNmjVzdmg3TUm0iIiIiOQLT09PfvzxR2eHkS+0xZ2IiIiISA4piRYRERERySEl0SIiIiIiOaQkWkREREQkh5REi4iIiIjkkFOT6FmzZlGjRg38/Pzw8/MjKiqKZcuW2cvT0tLo27cvJUqUwMfHhw4dOnDixAmHNuLi4mjVqhVeXl4EBgYyZMgQMjMzHeqsWbOG2rVrY7FYqFSpEnPnzr0VwxMRERGRIsqpSXSZMmV45ZVX2L59O9u2baNJkya0bduWffv2ATBw4EC+++47Pv/8c9auXcvx48dp3769/fysrCxatWpFeno6GzZsYN68ecydO5fRo0fb68TGxtKqVSseeOABdu7cyYABA+jVqxcrVqy45eMVERERKezmzp1LsWLFnB2G0xW4234HBATw+uuv88gjj1CqVCkWLFjAI488AsBvv/1G1apV2bhxIw0aNGDZsmW0bt2a48ePExQUBMC7777LsGHDOHXqFGazmWHDhrF06VL27t1r7+Pxxx/n/PnzLF++/IZi0m2/RURECh/d9vvmhYWFMWDAAAYMGGA/lpqayoULFwgMDHReYPkkJ5+LArMmOisri4ULF5KSkkJUVBTbt28nIyPD4Y42d955J+XKlWPjxo0AbNy4kYiICHsCDRAdHU1SUpJ9Nnvjxo3Z7ooTHR1tb+NKrFYrSUlJDg8RERGRKzEuXsB2Mg5b3AFsJ49hXLzg7JBuWnp6+lXLPD09i2QCnVNOT6L37NmDj48PFouFPn368PXXX1OtWjUSEhIwm83Z/lwQFBREQkICAAkJCQ4J9OXyy2XXqpOUlERqauoVY5o8eTL+/v72R9myZfNiqCIiIlLEGOdPkbFgIhlTe5Lx9gtkTH2KjAWTMM6fyrc+GzduzPPPP8+AAQMoXrw4QUFBzJ49m5SUFHr06IGvry+VKlWyX2eWlZVFz549CQ8Px9PTkypVqjBjxgyHNrt37067du2YOHEioaGhVKlShcaNG/PHH38wcOBATCYTJpMJyL6cY8yYMdSqVYtPPvmEsLAw/P39efzxx7lwofD/MnEtTk+iq1Spws6dO9m8eTPPPvss3bp1Y//+/U6NacSIESQmJtofx44dc2o8IiIiUvAYFy+Q8cVUjIPbHY8f3EbGF9PydUZ63rx5lCxZki1btvD888/z7LPP8uijj3LPPffw66+/0rx5c7p06cLFixex2WyUKVOGzz//nP379zN69Gj++9//smjRIoc2V61aRUxMDCtXrmTJkiV89dVXlClThnHjxhEfH098fPxV4zl8+DDffPMNS5YsYcmSJaxdu5ZXXnkl38ZfELg5OwCz2UylSpUAqFOnDlu3bmXGjBk89thjpKenc/78eYffdk6cOEFwcDAAwcHBbNmyxaG9y7t3/LPOv3f0OHHiBH5+fnh6el4xJovFgsViyZPxiYiISNFkJJ/LlkDbyw5uw0g+h8nLN1/6rlmzJiNHjgQuTf698sorlCxZkt69ewMwevRoZs2axe7du2nQoAFjx461nxseHs7GjRtZtGgRHTt2tB/39vbmgw8+wGw224+5urri6+trz6uuxmazMXfuXHx9L423S5curFq1iokTJ+bZmAsap89E/5vNZsNqtVKnTh3c3d1ZtWqVvSwmJoa4uDiioqIAiIqKYs+ePZw8edJeZ+XKlfj5+VGtWjV7nX+2cbnO5TZEREREciUt5TrlF/Ot6xo1ath/dnV1pUSJEkRERNiPXV7KejlHevvtt6lTpw6lSpXCx8eH999/n7i4OIc2IyIiHBLonAgLC7Mn0AAhISEO+VlR5NSZ6BEjRtCyZUvKlSvHhQsXWLBgAWvWrGHFihX4+/vTs2dPBg0aREBAAH5+fjz//PNERUXRoEEDAJo3b061atXo0qULr732GgkJCYwcOZK+ffvaZ5L79OnDW2+9xdChQ3nqqaf46aefWLRoEUuXLnXm0EVERKSw8/C+TrlXvnXt7u7u8NxkMjkcu7x+2WazsXDhQgYPHszUqVOJiorC19eX119/nc2bNzu04e19nfHkMB6bzZbr9goDpybRJ0+epGvXrsTHx+Pv70+NGjVYsWIFDz74IABvvPEGLi4udOjQAavVSnR0NO+88479fFdXV5YsWcKzzz5LVFQU3t7edOvWjXHjxtnrhIeHs3TpUgYOHMiMGTMoU6YMH3zwAdHR0bd8vCIiIlJ0mHyKY6pcF+Pgtuxlleti8inuhKiyW79+Pffccw/PPfec/djhw4dv6Fyz2UxWVlZ+hVaoOTWJ/vDDD69Z7uHhwdtvv83bb7991Trly5fn+++/v2Y7jRs3ZseOHbmKUURERORKTF6+uD8y6NJFhP9IpE2V6+L+yKB8Ww+dU5UrV+bjjz9mxYoVhIeH88knn7B161bCw8Ove25YWBjr1q3j8ccfx2KxULJkyVsQceHg9AsLRURERAorU7FSuD/xX4zkc5fWQHt4XZqhLiAJNMAzzzzDjh07eOyxxzCZTHTq1InnnnvOvgXetYwbN45nnnmGihUrYrVaKWD36HOqAnfHwoJIdywUEREpfHTHQsmpQnnHQhERERGRwkJJtIiIiIhIDimJFhERERHJISXRIiIiIiI5pCRaRERERCSHlESLiIiIiOSQkmgRyTNGeipGShJGVqazQxEREclXutmKiNw04+IFjBOxZK39HCPpDKZKtXGt/xCm4kGYXFydHZ6IiEieUxItIjfFSEsha8M3ZK38+O9jfx3EtvFb3J+djim0ohOjExERyR9aziEiN8W4cM4hgbZLTyPzm5kYKUm3PigREZF8piRaRG6KcXTP1cv+2IeRlnwLoxEREbk1tJxDRG6Ocb3y61UQESncMtOSyLp4lixrMq4WH1y9AnDz8HN2WJLPNBMtIjfFFFb96mXlqmLy9L2F0YiI3FoZFxL4a8kIDs/pwNEF3Tg8pwN/LR1BxoWEfOnv/fffJzQ0FJvN5nC8bdu2PPXUUwDMmjWLihUrYjabqVKlCp988om93lNPPUWNGjWwWq0ApKenExkZSdeuXfMl3qJMSbSI3BSTb3FcHuiUvcDdglu7FzB5azZGRIqmzLQkjq8YT8ofmxyOpxzdxPEfxpOZlvfXhDz66KOcOXOG1atX24+dPXuW5cuX07lzZ77++mv69+/Piy++yN69e3nmmWfo0aOHvf6bb75JSkoKw4cPB+Cll17i/PnzvPXWW3kea1Gn5RwiclNMnj643fsItkqRZK1ZCBfOYqpYC9d72mEqHuzs8ERE8k3WxbPZEujLUo5uIuvi2Txf1lG8eHFatmzJggULaNq0KQBffPEFJUuW5IEHHuDee++le/fuPPfccwAMGjSITZs2MWXKFB544AF8fHz43//+x/3334+vry/Tp09n9erV+PlpwiOnNBMtIjfN5O2Ha6VI3J98Gbfer+P20NO4lCyNyVV7RItI0ZVlvfaF09crz63OnTvz5Zdf2pdkzJ8/n8cffxwXFxcOHDhAw4YNHeo3bNiQAwcO2J9HRUUxePBgxo8fz4svvkijRo3yJc6iTkm0iOQZk4cXLj7FMLm5OzsUEZF852rxuany3GrTpg2GYbB06VKOHTvGzz//TOfOnW/4fJvNxvr163F1deXQoUP5EuPtQEm0iIiISC64egXgHdbgimXeYQ1w9QrIl349PDxo37498+fP59NPP6VKlSrUrl0bgKpVq7J+/XqH+uvXr6datWr256+//jq//fYba9euZfny5cyZMydf4izqtCZaREREJBfcPPwIbT6K4z+MJ+Xo32ujvcMaENp8dL5uc9e5c2dat27Nvn37ePLJJ+3HhwwZQseOHYmMjKRZs2Z89913fPXVV/z4448A7Nixg9GjR/PFF1/QsGFDpk2bRv/+/bn//vupUKFCvsVbFJkMQ5u4Xk9SUhL+/v4kJiZq4b2IiEghca3v77S0NGJjYwkPD8fDw+Om+nHGPtE2m40yZcoQHx/P4cOHHRLgWbNmMWXKFI4dO0Z4eDgjR46kS5cupKWlUadOHRo1asR7771nr9+2bVtOnz7NunXrcL3Nr2XJyedCSfQNUBItIiJS+NyqJFqKjpx8LrQmWkREREQkh5REi4iIiIjkkJJoEREREZEcUhItIiIiIpJDSqJFRERERHJISbSIiIiISA4piRYRERERySEl0SIiIiIiOaQkWkREREQkh5REi4iIiBQhYWFhTJ8+3dlhFHluzg5ARERERPLO1q1b8fb2dnYYRZ6SaBEREZGbkJGWRHraWTKtybhZfDB7BODu4ee0eEqVKuW0vm8nWs4hIiIikktpyQnsWTWCjZ91YOs33dj4WQf2rBpBWnJCvvXZuHFj+vXrR79+/fD396dkyZKMGjUKwzCA7Ms5pk2bRkREBN7e3pQtW5bnnnuO5ORke/ncuXMpVqwYK1asoGrVqvj4+NCiRQvi4+PtdWw2G+PGjaNMmTJYLBZq1arF8uXL822MhYGSaBEREZFcyEhLYv/a8Zz9c5PD8bN/bmL/2vFkpCXlW9/z5s3Dzc2NLVu2MGPGDKZNm8YHH3xwxbouLi68+eab7Nu3j3nz5vHTTz8xdOhQhzoXL15kypQpfPLJJ6xbt464uDgGDx5sL58xYwZTp05lypQp7N69m+joaP7zn/9w8ODBfBtjQackWkRERCQX0tPOZkugLzv75ybS087mW99ly5bljTfeoEqVKnTu3Jnnn3+eN95444p1BwwYwAMPPEBYWBhNmjRhwoQJLFq0yKFORkYG7777LnXr1qV27dr069ePVatW2cunTJnCsGHDePzxx6lSpQqvvvoqtWrVuq0vYFQSLSIiIpILmdbka5enX7v8ZjRo0ACTyWR/HhUVxcGDB8nKyspW98cff6Rp06aULl0aX19funTpwpkzZ7h48aK9jpeXFxUrVrQ/DwkJ4eTJkwAkJSVx/PhxGjZs6NBuw4YNOXDgQF4PrdBQEu1ERlImtgQrthNWjOTMK9cxDGyJp7EdP4wt/ghG4ulbHKWIiIhciZvF59rl5muX3wpHjx6ldevW1KhRgy+//JLt27fz9ttvA5Cenm6v5+7u7nCeyWSyr7GWK3NqEj158mTuvvtufH19CQwMpF27dsTExDjUady4MSaTyeHRp08fhzpxcXG0atUKLy8vAgMDGTJkCJmZjknpmjVrqF27NhaLhUqVKjF37tz8Ht5VGRk2sg5fJG3qUdJGHSJt5CGsM+LIOpaGYfv7A2ukp2GL2UrGzL5kzOhDxvRnSH/nBbIO78LITL9GDyIiIpLfzB4BBJRpcMWygDINMHsE5Fvfmzdvdni+adMmKleujKurq8Px7du3Y7PZmDp1Kg0aNOCOO+7g+PHjOerLz8+P0NBQ1q9f73B8/fr1VKtWLXcDKAKcmkSvXbuWvn37smnTJlauXElGRgbNmzcnJSXFoV7v3r2Jj4+3P1577TV7WVZWFq1atSI9PZ0NGzYwb9485s6dy+jRo+11YmNjadWqFQ888AA7d+5kwIAB9OrVixUrVtyysf6TcSod6+tHMY5b7cdsR1OxvhqLcTrj73qn/yJz7ii48I81VedPkfnhcIyz+XfVr4iIiFyfu4cf1e4flS2RDijTgGr3j87Xbe7i4uIYNGgQMTExfPrpp8ycOZP+/ftnq1epUiUyMjKYOXMmR44c4ZNPPuHdd9/NcX9Dhgzh1Vdf5bPPPiMmJobhw4ezc+fOK/Z5u3DqPtH/3hpl7ty5BAYGsn37du677z77cS8vL4KDg6/Yxg8//MD+/fv58ccfCQoKolatWowfP55hw4YxZswYzGYz7777LuHh4UydOhWAqlWr8ssvv/DGG28QHR2dfwO8AsNqI2PZaci6wp9IrDayNp3H1LoUZFrJWrMQDFv2elmZZG1cjKnVM5jc3LOXi4iIyC3h4RNMRNPJl/aJTk/GzXxr9onu2rUrqamp1KtXD1dXV/r378/TTz+drV7NmjWZNm0ar776KiNGjOC+++5j8uTJdO3aNUf9vfDCCyQmJvLiiy9y8uRJqlWrxuLFi6lcuXJeDanQMRkFaMHLoUOHqFy5Mnv27KF69erApeUc+/btwzAMgoODadOmDaNGjcLLywuA0aNHs3jxYnbu3GlvJzY2lgoVKvDrr78SGRnJfffdR+3atR2uIJ0zZw4DBgwgMTExWxxWqxWr9e9Z4qSkJMqWLUtiYiJ+fjf3j8JIzCDt1ViMUxlXLHep7IXl+XKQlUTGuy9inDp2xXqmclVx7zERk5fvTcUjIiJSVCUlJeHv73/F7++0tDRiY2MJDw/Hw8PDSRHmTuPGjW/7nTHyS04+FwXmjoU2m40BAwbQsGFDewIN8MQTT1C+fHlCQ0PZvXs3w4YNIyYmhq+++gqAhIQEgoKCHNq6/DwhIeGadZKSkkhNTcXT09OhbPLkyYwdOzbPxwhguJkw+btfNYk2BbiDmwlcLJhKhFw9iS5VBsyWfIlRRERERK6twCTRffv2Ze/evfzyyy8Ox//5p4mIiAhCQkJo2rQphw8fdtiKJS+NGDGCQYMG2Z9fnonOCy7ebrg9VJL0N+OuWO7WNACTuwvghWuTJ7D9tiV7JZMJ10YdMLmZ8yQmEREREcmZApFE9+vXjyVLlrBu3TrKlClzzbr169cHLi39qFixIsHBwWzZ4phonjhxAsC+jjo4ONh+7J91/Pz8ss1CA1gsFiyW/JvldQ33xK1FCTKXn/n7oAu4PxaMKejvfk2BYbh1GEjmt2/D5d04zB64PfIiphKh+RafiIiIFFxr1qxxdgiCk5NowzB4/vnn+frrr1mzZg3h4eHXPefy2ueQkBDg0ubiEydO5OTJkwQGBgKwcuVK/Pz87NuuREVF8f333zu0s3LlSqKiovJwNDfO5OOGe8tSuDUqju1IKriacAnzwOTnjsnj7w1TTJ7euEQ2xVypNkbiScAFU7FS4BugCwpFREREnMipSXTfvn1ZsGAB3377Lb6+vvY1zP7+/nh6enL48GEWLFjAQw89RIkSJdi9ezcDBw7kvvvuo0aNGgA0b96catWq0aVLF1577TUSEhIYOXIkffv2tc8m9+nTh7feeouhQ4fy1FNP8dNPP7Fo0SKWLl3qtLGbvFwxebniEnTtGW+TuwUCgjEFXHl3EhERERG59Zy6T/SsWbNITEykcePGhISE2B+fffYZAGazmR9//JHmzZtz55138uKLL9KhQwe+++47exuurq4sWbIEV1dXoqKiePLJJ+natSvjxo2z1wkPD2fp0qWsXLmSmjVrMnXqVD744INbvr2diIiIiBQNBWqLu4LqWlvkiIiISMFUVLe4k/yTk8+FU2eiRUREREQKIyXRIiIiIiI5pCRaRERE5DZz9OhRTCaTwx2fJWeURIuIiIjcBKs1icTEo5w+tYfExKNYrUnODum6ypYtS3x8vP0u0WvWrMFkMnH+/HnnBlaIFIibrYiIiIgURikpCWzaMJ6E4xvtx4JDo2hwzyi8vQvu9rSurq72m9LltYyMDNzdi/79LDQTLSIiIpILVmtStgQaIOH4RjZtGJ+vM9IXLlygc+fOeHt7ExISwhtvvEHjxo0ZMGAAACaTiW+++cbhnGLFijF37lzAcTnH0aNHeeCBBwAoXrw4JpOJ7t27A7B8+XIaNWpEsWLFKFGiBK1bt+bw4cP2Ni+389lnn3H//ffj4eHB/Pnz823cBYmSaBEREZFcSEs7my2Bvizh+EbS0s7mW9+DBg1i/fr1LF68mJUrV/Lzzz/z66+/5qqtsmXL8uWXXwIQExNDfHw8M2bMACAlJYVBgwaxbds2Vq1ahYuLCw8//DA2m82hjeHDh9O/f38OHDhw29yHQ8s5RERERHIhI/3CdcqT86XfCxcuMG/ePBYsWEDTpk0BmDNnDqGhoblqz9XVlYCAAAACAwMpVqyYvaxDhw4OdT/66CNKlSrF/v377eupAQYMGED79u1z1X9hpZloERERkVxwN/tep9wnX/o9cuQIGRkZ1KtXz37M39+fKlWq5HlfBw8epFOnTlSoUAE/Pz/CwsIAiIuLc6hXt27dPO+7oFMSLSIiIpILHh4BBIdGXbEsODQKD4+AWxzR30wmE/++KXVGRkaO22nTpg1nz55l9uzZbN68mc2bNwOQnp7uUM/b2zv3wRZSSqJFREREcsFi8aPBPaOyJdKXducYjcXid5Uzb06FChVwd3dn69at9mOJiYn8/vvv9uelSpUiPj7e/vzgwYNcvHjxqm2azWYAsrKy7MfOnDlDTEwMI0eOpGnTplStWpVz587l5VAKNa2JFhEREcklb+9gGt03mbS0s2SkJ+Nu9sHDIyDfEmgAX19funXrxpAhQwgICCAwMJCXX34ZFxcXTCYTAE2aNOGtt94iKiqKrKwshg0bds1t58qXL4/JZGLJkiU89NBDeHp6Urx4cUqUKMH7779PSEgIcXFxDB8+PN/GVdhoJlpERETkJlgsfvj7h1GyVHX8/cPyNYG+bNq0aURFRdG6dWuaNWtGw4YNqVq1Kh4eHgBMnTqVsmXLcu+99/LEE08wePBgvLy8rtpe6dKlGTt2LMOHDycoKIh+/frh4uLCwoUL2b59O9WrV2fgwIG8/vrr+T62wsJk/HvBjGSTlJSEv78/iYmJ+Pnl/z8MERERuXnX+v5OS0sjNjaW8PBwe+JZmKWkpFC6dGmmTp1Kz549nR1OoZWTz4WWc4iIiIgUMjt27OC3336jXr16JCYmMm7cOADatm3r5MhuH0qiRURERAqhKVOmEBMTg9lspk6dOvz888+ULFnS2WHdNpREi4iIiBQykZGRbN++3dlh3NZ0YaGIiIiISA4piRYRERERySEl0SIiIiIiOaQkWkREREQkh5REi4iIiIjkkJJoEREREZEcUhItIiIiUgR0796ddu3aOTuM24b2iRYRERG5CanWJC5az2LNuIDF3RcvSwCeFr/rn5jHZsyYgWEYt7zf25WSaBEREZFcSrqYwPdbxnP0xEb7sfCgKFrWG4WfV/AtjcXf3/+a5enp6ZjN5lsUTdGn5RwiIiIiuZBqTcqWQAPEntjIsi3jSbUm5Uu/X3zxBREREXh6elKiRAmaNWtGSkpKtuUcjRs3pl+/fgwYMICSJUsSHR0NwN69e2nZsiU+Pj4EBQXRpUsXTp8+nS+xFmVKokVERERy4aL1bLYE+rLYExu5aD2b533Gx8fTqVMnnnrqKQ4cOMCaNWto3779VZdxzJs3D7PZzPr163n33Xc5f/48TZo0ITIykm3btrF8+XJOnDhBx44d8zzWok7LOURERERywZpx4TrlyXneZ3x8PJmZmbRv357y5csDEBERcdX6lStX5rXXXrM/nzBhApGRkUyaNMl+7KOPPqJs2bL8/vvv3HHHHXkec1GlmWgRERGRXLC4+16n3CfP+6xZsyZNmzYlIiKCRx99lNmzZ3Pu3Lmr1q9Tp47D8127drF69Wp8fHzsjzvvvBOAw4cP53m8RZmSaBEREZFc8LIEEB4UdcWy8KAovCwBed6nq6srK1euZNmyZVSrVo2ZM2dSpUoVYmNjr1jf29vb4XlycjJt2rRh586dDo+DBw9y33335Xm8RZmSaBEREZFc8LT40bLeqGyJ9KXdOUbn2zZ3JpOJhg0bMnbsWHbs2IHZbObrr7++oXNr167Nvn37CAsLo1KlSg6Pfyfccm1aEy0iIiKSS35ewfwnavL/7xOdjMXdJ1/3id68eTOrVq2iefPmBAYGsnnzZk6dOkXVqlXZvXv3dc/v27cvs2fPplOnTgwdOpSAgAAOHTrEwoUL+eCDD3B1dc2XuIsiJdEiIiIiN8HT4nfLbq7i5+fHunXrmD59OklJSZQvX56pU6fSsmVLPvvss+ueHxoayvr16xk2bBjNmzfHarVSvnx5WrRogYuLFijkhMnQrW2uKykpCX9/fxITE/Hzu/V3IBIREZGcu9b3d1paGrGxsYSHh+Ph4eGkCKWgycnnQr9yiIiIiIjkkJJoEREREZEcUhItIiIiIpJDSqJFRERERHJISbSIiIiISA45NYmePHkyd999N76+vgQGBtKuXTtiYmIc6qSlpdG3b19KlCiBj48PHTp04MSJEw514uLiaNWqFV5eXgQGBjJkyBAyMzMd6qxZs4batWtjsVioVKkSc+fOze/hiYiIiEgR5dQkeu3atfTt25dNmzaxcuVKMjIyaN68OSkpKfY6AwcO5LvvvuPzzz9n7dq1HD9+nPbt29vLs7KyaNWqFenp6WzYsIF58+Yxd+5cRo8eba8TGxtLq1ateOCBB9i5cycDBgygV69erFix4paOV0RERESKhgK1T/SpU6cIDAxk7dq13HfffSQmJlKqVCkWLFjAI488AsBvv/1G1apV2bhxIw0aNGDZsmW0bt2a48ePExQUBMC7777LsGHDOHXqFGazmWHDhrF06VL27t1r7+vxxx/n/PnzLF++PFscVqsVq9Vqf56UlETZsmW1T7SIiEghon2iJacK7T7RiYmJAAQEBACwfft2MjIyaNasmb3OnXfeSbly5di4cSMAGzduJCIiwp5AA0RHR5OUlMS+ffvsdf7ZxuU6l9v4t8mTJ+Pv729/lC1bNu8GKSIiIiKFXoFJom02GwMGDKBhw4ZUr14dgISEBMxmM8WKFXOoGxQUREJCgr3OPxPoy+WXy65VJykpidTU1GyxjBgxgsTERPvj2LFjeTJGERERkYJg7ty52fKr6+nevTvt2rXLl3gKIzdnB3BZ37592bt3L7/88ouzQ8FisWCxWJwdhoiIiBQCyelJnLee5WLmBbzdffE3B+BjLtjLPx977DEeeughZ4dRqBWIJLpfv34sWbKEdevWUaZMGfvx4OBg0tPTOX/+vMNvSydOnCA4ONheZ8uWLQ7tXd694591/r2jx4kTJ/Dz88PT0zM/hiQiIiK3gdOpCby9czw7T/29RLRWqSj61hpFSc9gJ0Z2bZ6ensqBbpJTl3MYhkG/fv34+uuv+emnnwgPD3cor1OnDu7u7qxatcp+LCYmhri4OKKiogCIiopiz549nDx50l5n5cqV+Pn5Ua1aNXudf7Zxuc7lNkRERERyKjk9KVsCDbDz1Ebe3jme5PSkfOvbZrMxefJkwsPD8fT0pGbNmnzxxRfApW19TSYTS5cupUaNGnh4eNCgQQOHDRb+vZxjzJgx1KpVi/fee4+yZcvi5eVFx44d7der/dOUKVMICQmhRIkS9O3bl4yMDHvZuXPn6Nq1K8WLF8fLy4uWLVty8ODBbP2uWLGCqlWr4uPjQ4sWLYiPj3fo44MPPqBq1ap4eHhw55138s477+TVS5dnnJpE9+3bl//9738sWLAAX19fEhISSEhIsK9T9vf3p2fPngwaNIjVq1ezfft2evToQVRUFA0aNACgefPmVKtWjS5durBr1y5WrFjByJEj6du3r31JRp8+fThy5AhDhw7lt99+45133mHRokUMHDjQaWMXERGRwu289Wy2BPqynac2ct56Nt/6njx5Mh9//DHvvvsu+/btY+DAgTz55JOsXbvWXmfIkCFMnTqVrVu3UqpUKdq0aeOQ8P7boUOHWLRoEd999x3Lly9nx44dPPfccw51Vq9ezeHDh1m9erV9W+F/3nuje/fubNu2jcWLF7Nx40YMw+Chhx5y6PfixYtMmTKFTz75hHXr1hEXF8fgwYPt5fPnz2f06NFMnDiRAwcOMGnSJEaNGsW8efPy4JXLQ4YTAVd8zJkzx14nNTXVeO6554zixYsbXl5exsMPP2zEx8c7tHP06FGjZcuWhqenp1GyZEnjxRdfNDIyMhzqrF692qhVq5ZhNpuNChUqOPRxPYmJiQZgJCYm3sxwRURE5Ba61vd3amqqsX//fiM1NTXX7cec3W20+zbyqo+Ys3tuJvyrSktLM7y8vIwNGzY4HO/Zs6fRqVMnY/Xq1QZgLFy40F525swZw9PT0/jss88MwzCMOXPmGP7+/vbyl19+2XB1dTX+/PNP+7Fly5YZLi4u9ryrW7duRvny5Y3MzEx7nUcffdR47LHHDMMwjN9//90AjPXr19vLT58+bXh6ehqLFi2y9wsYhw4dstd5++23jaCgIPvzihUrGgsWLHAY2/jx442oqKicvVC5kJPPhVPXRBs3sEW1h4cHb7/9Nm+//fZV65QvX57vv//+mu00btyYHTt25DhGERERkSvxcvO9TrlPvvR76NAhLl68yIMPPuhwPD09ncjISPvzfy5bDQgIoEqVKhw4cOCq7ZYrV47SpUs7nG+z2YiJibFfZ3bXXXfh6upqrxMSEsKePXsAOHDgAG5ubtSvX99eXqJEiWz9enl5UbFiRYc2Li/LTUlJ4fDhw/Ts2ZPevXvb62RmZuLv73+dV+bWKhAXFoqIiIgUNsUsAdQqFXXFJR21SkVRzBKQL/0mJycDsHTpUoekFy7tMHb48OF86RfA3d3d4bnJZMJms910G5cnVi+Pbfbs2Q7JOOCQvBcEBWafaBEREZHCxMfsR99ao6hVynGjgku7c4zOt23uqlWrhsViIS4ujkqVKjk8/nmDuE2bNtl/PnfuHL///jtVq1a9artxcXEcP37c4XwXFxeqVKlyQ3FVrVqVzMxMNm/ebD925swZYmJi7Js9XE9QUBChoaEcOXIk29j+vQGFs2kmWkRERCSXSnoG82Kdyf+/T3QyXm4+FLPk7z7Rvr6+DB48mIEDB2Kz2WjUqBGJiYmsX78ePz8/ypcvD8C4ceMoUaIEQUFBvPTSS5QsWfKaN0vx8PCgW7duTJkyhaSkJF544QU6duxoX8pxPZUrV6Zt27b07t2b9957D19fX4YPH07p0qVp27btDY9v7NixvPDCC/j7+9OiRQusVivbtm3j3LlzDBo06IbbyW9KokVERERugo/Z75bfXGX8+PGUKlWKyZMnc+TIEYoVK0bt2rX573//a19e8corr9C/f38OHjxIrVq1+O677zCbzVdts1KlSrRv356HHnqIs2fP0rp16xxvLTdnzhz69+9P69atSU9P57777uP777/PtoTjWnr16oWXlxevv/46Q4YMwdvbm4iICAYMGJCjWPKbybiRq/tuc0lJSfj7+5OYmIifX8G+A5GIiIhccq3v77S0NGJjYwkPD8fDw8NJEeaPNWvW8MADD3Du3LkbvrX3mDFj+Oabb9i5c2e+xlbQ5eRzkes10Z988gkNGzYkNDSUP/74A4Dp06fz7bff5rZJEREREZFCIVdJ9KxZsxg0aBAPPfQQ58+fJysrC4BixYoxffr0vIxPRERERKTAyVUSPXPmTGbPns1LL73ksN1I3bp17XsFioiIiMit17hxYwzDuOGlHHBpOcftvpQjp3KVRMfGxjps5n2ZxWIhJSXlpoMSERERESnIcpVEh4eHX/G3leXLl19z/0ERERERkaIgV1vcDRo0iL59+5KWloZhGGzZsoVPP/2UyZMn88EHH+R1jCIiIiIiBUqukuhevXrh6enJyJEjuXjxIk888QShoaHMmDGDxx9/PK9jFBEREREpUHJ9s5XOnTvTuXNnLl68SHJyMoGBgXkZl4iIiIhIgZWrJDo2NpbMzEwqV66Ml5cXXl5eABw8eBB3d3fCwsLyMkYRERERkQIlVxcWdu/enQ0bNmQ7vnnzZrp3736zMYmIiIhIIdO4ceMCd2vu/JSrJHrHjh00bNgw2/EGDRpoj0ERERG5rSSlX+TohZPsPfcHR5NPkpR+0dkhyS2Qq+UcJpOJCxcuZDuemJhov3uhiIiISFF3IvU843cuYtOpGPuxBqWqMKpWR4I8izkvMMl3uZqJvu+++5g8ebJDwpyVlcXkyZNp1KhRngUnIiIiUlAlpV/MlkADbDoVw/idi/JlRvrjjz+mRIkSWK1Wh+Pt2rWjS5cuHD58mLZt2xIUFISPjw933303P/74o0PdsLAwJkyYQNeuXfHx8aF8+fIsXryYU6dO0bZtW3x8fKhRowbbtm2zn3PmzBk6depE6dKl8fLyIiIigk8//TRbfDabjaFDhxIQEEBwcDBjxoxxKJ82bRoRERF4e3tTtmxZnnvuOZKTk/PuBbqFcpVEv/rqq/z0009UqVKFHj160KNHD6pUqcK6det4/fXX8zpGERERkQLnrDU5WwJ92aZTMZy15n1y+Oijj5KVlcXixYvtx06ePMnSpUt56qmnSE5O5qGHHmLVqlXs2LGDFi1a0KZNG+Li4hzaeeONN2jYsCE7duygVatWdOnSha5du/Lkk0/y66+/UrFiRbp27YphGACkpaVRp04dli5dyt69e3n66afp0qULW7ZscWh33rx5eHt7s3nzZl577TXGjRvHypUr7eUuLi68+eab7Nu3j3nz5vHTTz8xdOjQPH+dbgWTcfnVyaHjx4/z1ltvsWvXLjw9PalRowb9+vUjICAgr2N0uqSkJPz9/UlMTMTPz8/Z4YiIiMgNuNb3d1paGrGxsYSHh+Ph4ZGr9vee+4PuP7951fK5975A9eLlc9X2tTz33HMcPXqU77//Hrg0u/v2229z6NAhTCZTtvrVq1enT58+9OvXD7g0E33vvffyySefAJCQkEBISAijRo1i3LhxAGzatImoqCji4+MJDg6+YhytW7fmzjvvZMqUKcClCwuzsrL4+eef7XXq1atHkyZNeOWVV67YxhdffEGfPn04ffp0Ll+NvJWTz0Wu94kODQ1l0qRJuT1dREREpFDzcfO8qfLc6t27N3fffTd//fUXpUuXZu7cuXTv3h2TyURycjJjxoxh6dKlxMfHk5mZSWpqaraZ6Bo1ath/DgoKAiAiIiLbsZMnTxIcHExWVhaTJk1i0aJF/PXXX6Snp2O1Wu3bHF+pXYCQkBBOnjxpf/7jjz8yefJkfvvtN5KSksjMzCQtLY2LFy9ma6ugu+Ekevfu3VSvXh0XFxd27959zbr/fgFFREREipoAiw8NSlW54pKOBqWqEGDxyZd+IyMjqVmzJh9//DHNmzdn3759LF26FIDBgwezcuVKpkyZQqVKlfD09OSRRx4hPT3doQ13d3f7z5dnr690zGazAfD6668zY8YMpk+fbl/TPGDAgGu2e7mdy20cPXqU1q1b8+yzzzJx4kQCAgL45Zdf6NmzJ+np6UU3ia5VqxYJCQkEBgZSq1YtTCYTV1oJYjKZtEOHiIiIFHl+Zi9G1ep41d05/Mz5lxT26tWL6dOn89dff9GsWTPKli0LwPr16+nevTsPP/wwAMnJyRw9evSm+1u/fj1t27blySefBC4l17///jvVqlW74Ta2b9+OzWZj6tSpuLhcuixv0aJFNx2bs9xwEh0bG0upUqXsP4uIiIjc7oI8izGpzpOctSaTnJmKj5snARaffE2gAZ544gkGDx7M7Nmz+fjjj+3HK1euzFdffUWbNm0wmUyMGjXKPhN8MypXrswXX3zBhg0bKF68ONOmTePEiRM5SqIrVapERkYGM2fOpE2bNqxfv5533333pmNzlhvenaN8+fKYTCYyMjIYO3YsNpuN8uXLX/EhIiIicrvwM3sR5htI9eLlCfMNzPcEGsDf358OHTrg4+NDu3bt7MenTZtG8eLFueeee2jTpg3R0dHUrl37pvsbOXIktWvXJjo6msaNGxMcHOzQ742oWbMm06ZN49VXX6V69erMnz+fyZMn33RszpKr3Tn8/f3ZuXMn4eHh+RFTgaPdOURERAqf/N6dw9maNm3KXXfdxZtvXn2HEMmZnHwucrVPdLt27fjmm29yc6qIiIiI3IRz587x9ddfs2bNGvr27evscG5budrirnLlyowbN47169dTp04dvL29HcpfeOGFPAlORERERBxFRkZy7tw5Xn31VapUqeLscG5buVrOca1lHCaTiSNHjtxUUAWNlnOIiIgUPkV9OYfkvXy/2co/d+e4nINf6Q45IiIiIiJFUa7WRAN8+OGHVK9eHQ8PDzw8PKhevToffPBBXsYmIiIiIlIg5WomevTo0UybNo3nn3+eqKgoADZu3MjAgQOJi4uz33ddRERERKQoylUSPWvWLGbPnk2nTp3sx/7zn/9Qo0YNnn/+eSXRIiIiIlKk5Wo5R0ZGBnXr1s12vE6dOmRmZt50UCIiIiIiBVmukuguXbowa9asbMfff/99OnfufNNBiYiIiIgUZLlazgGXLiz84YcfaNCgAQCbN28mLi6Orl27MmjQIHu9adOm3XyUIiIiInJLHT16lPDwcHbs2EGtWrVu6JzGjRtTq1Ytpk+fnq+xFQS5SqL37t1rvw/74cOHAShZsiQlS5Zk79699nra9k5ERESKuqT0NM5aL5KckY6vu4XiFk/8zNp7uqjLVRK9evXqvI5DREREpNA5cfECE3asYtPJOPuxBoHlGBnZlCAvXydGduPS09Mxm83ODqPQyfU+0SIiIiK3s6T0tGwJNMCmk3FM2LGKpPS0fOvbZrPx2muvUalSJSwWC+XKlWPixIkA7NmzhyZNmuDp6UmJEiV4+umnSU5Otp/bvXt32rVrx8SJEwkNDbXfOnzLli1ERkbi4eFB3bp12bFjR7Z+165dS7169bBYLISEhDB8+PBsm0pkZmbSr18//P39KVmyJKNGjeKfN8j+5JNPqFu3Lr6+vgQHB/PEE09w8uTJ/HiZ8pWSaBEREZFcOGu9mC2BvmzTyTjOWi/mW98jRozglVdeYdSoUezfv58FCxYQFBRESkoK0dHRFC9enK1bt/L555/z448/0q9fP4fzV61aRUxMDCtXrmTJkiUkJyfTunVrqlWrxvbt2xkzZgyDBw92OOevv/7ioYce4u6772bXrl3MmjWLDz/8kAkTJjjUmzdvHm5ubmzZsoUZM2Ywbdo0hxvyZWRkMH78eHbt2sU333zD0aNH6d69e769VvnGcKK1a9carVu3NkJCQgzA+Prrrx3Ku3XrZgAOj+joaIc6Z86cMZ544gnD19fX8Pf3N5566injwoULDnV27dplNGrUyLBYLEaZMmWMV199NUdxJiYmGoCRmJiYq3GKiIjIrXet7+/U1FRj//79Rmpqaq7b33Mm3qj71YyrPvacib+Z8K8qKSnJsFgsxuzZs7OVvf/++0bx4sWN5ORk+7GlS5caLi4uRkJCgmEYl/KroKAgw2q12uu89957RokSJRxej1mzZhmAsWPHDsMwDOO///2vUaVKFcNms9nrvP3224aPj4+RlZVlGIZh3H///UbVqlUd6gwbNsyoWrXqVcezdetWA8iWvzlDTj4XTp2JTklJoWbNmrz99ttXrdOiRQvi4+Ptj08//dShvHPnzuzbt8/+m9S6det4+umn7eVJSUk0b96c8uXLs337dl5//XXGjBnD+++/n2/jEhERkaLPx/3a64ivV55bBw4cwGq10rRp0yuW1axZE29vb/uxhg0bYrPZiImJsR+LiIhwWAd94MABatSogYfH3xdEXr4r9T/rREVFOWwc0bBhQ5KTk/nzzz/txxo0aOBQJyoqioMHD5KVlQXA9u3badOmDeXKlcPX15f7778fgLi4K8/qF1S53uIuL7Rs2ZKWLVtes47FYiE4OPiKZQcOHGD58uVs3brVfvOXmTNn8tBDDzFlyhRCQ0OZP38+6enpfPTRR5jNZu666y527tzJtGnTHJLtf7JarVitVvvzpKSkXI5QREREiqoAixcNAstdcUlHg8ByBFi88qVfT0/Pm27jn0n2rXR5uUl0dDTz58+nVKlSxMXFER0dTXp6ulNiyq0CvyZ6zZo1BAYGUqVKFZ599lnOnDljL9u4cSPFihVzuHtis2bNcHFxYfPmzfY69913n8NvW9HR0cTExHDu3Lkr9jl58mT8/f3tj7Jly+bT6ERERKSw8jN7MDKyKQ0CyzkcbxBYjpG1m+bbNneVK1fG09OTVatWZSurWrUqu3btIiUlxX5s/fr1uLi42C8gvJKqVauye/du0tL+vhhy06ZN2eps3LjR4SLB9evX4+vrS5kyZezHLudg/2yncuXKuLq68ttvv3HmzBleeeUV7r33Xu68885CeVEhFPAkukWLFnz88cesWrWKV199lbVr19KyZUv7nwMSEhIIDAx0OMfNzY2AgAASEhLsdYKCghzqXH5+uc6/jRgxgsTERPvj2LFjeT00ERERKQKCvHyZeHcLPm/2JHPu78jnzZ5k4t0tCPLMv+3tPDw8GDZsGEOHDuXjjz/m8OHDbNq0iQ8//JDOnTvj4eFBt27d2Lt3L6tXr+b555+nS5cu2fKhf3riiScwmUz07t2b/fv38/333zNlyhSHOs899xzHjh3j+eef57fffuPbb7/l5ZdfZtCgQbi4/J1SxsXFMWjQIGJiYvj000+ZOXMm/fv3B6BcuXKYzWZmzpzJkSNHWLx4MePHj8+fFyqfOXU5x/U8/vjj9p8jIiKoUaMGFStWZM2aNVdcB5RXLBYLFosl39oXERGRosPP7HHLb64yatQo3NzcGD16NMePHyckJIQ+ffrg5eXFihUr6N+/P3fffTdeXl506NDhuneQ9vHx4bvvvqNPnz5ERkZSrVo1Xn31VTp06GCvU7p0ab7//nuGDBlCzZo1CQgIoGfPnowcOdKhra5du5Kamkq9evVwdXWlf//+9iW0pUqVYu7cufz3v//lzTffpHbt2kyZMoX//Oc/ef8i5bMCnUT/W4UKFShZsiSHDh2iadOmBAcHZ/sTQGZmJmfPnrWvow4ODubEiRMOdS4/v9paaxEREZGCzMXFhZdeeomXXnopW1lERAQ//fTTVc+dO3fuFY83aNCAnTt3Ohz759INgPvvv58tW7Zcte01a9bYf541a9YV63Tq1IlOnTpds5/CoEAv5/i3P//8kzNnzhASEgJcutrz/PnzbN++3V7np59+wmazUb9+fXuddevWkZGRYa+zcuVKqlSpQvHixW/tAERERESkSHBqEp2cnMzOnTvtv/XExsayc+dO4uLiSE5OZsiQIWzatImjR4+yatUq2rZtS6VKlYiOjgYuLXBv0aIFvXv3ZsuWLaxfv55+/frx+OOPExoaClxa42M2m+nZsyf79u3js88+Y8aMGQwaNMhZwxYRERGRQs6pSfS2bduIjIwkMjISgEGDBhEZGcno0aNxdXVl9+7d/Oc//+GOO+6gZ8+e1KlTh59//tlhvfL8+fO58847adq0KQ899BCNGjVy2APa39+fH374gdjYWOrUqcOLL77I6NGjr7q9nYiIiIjI9ZiMwrgI5RZLSkrC39+fxMRE/Pz8nB2OiIiI3IBrfX+npaURGxtLeHi4ww1G5PaWk89FoVoTLSIiIiJSECiJFhERERHJISXRIiIiIiI5pCRaRERERCSHlESLiIiIiOSQkmgRERGRQsQwDJ5++mkCAgIwmUzZ7jKYV8aMGUOtWrXype2ioFDd9ltERESkoElKt3LWmkZyRga+7u4Ut3jgZ7Zc/8RcWr58OXPnzmXNmjVUqFCBkiVL5ltfcnVKokVERERy6cTFFCb+uonNJxPsx+oHBvNS7QYEeXnnS5+HDx8mJCSEe+65J1/az0sZGRm4u7s7O4x8oeUcIiIiIrmQlG7NlkADbD6ZwMRfN5GUbs3zPrt3787zzz9PXFwcJpOJsLAwbDYbkydPJjw8HE9PT2rWrMkXX3xhP2fNmjWYTCZWrVpF3bp18fLy4p577iEmJsah7VdeeYWgoCB8fX3p2bMnaWlp2fr/4IMPqFq1Kh4eHtx5552888479rKjR49iMpn47LPPuP/++/Hw8GD+/Pl5/hoUFEqiRURERHLhrDUtWwJ92eaTCZy1Zk9Cb9aMGTMYN24cZcqUIT4+nq1btzJ58mQ+/vhj3n33Xfbt28fAgQN58sknWbt2rcO5L730ElOnTmXbtm24ubnx1FNP2csWLVrEmDFjmDRpEtu2bSMkJMQhQQaYP38+o0ePZuLEiRw4cIBJkyYxatQo5s2b51Bv+PDh9O/fnwMHDhAdHZ3nr0FBoeUcIiIiIrmQnJFxzfKU65Tnhr+/P76+vri6uhIcHIzVamXSpEn8+OOPREVFAVChQgV++eUX3nvvPe6//377uRMnTrQ/Hz58OK1atSItLQ0PDw+mT59Oz5496dmzJwATJkzgxx9/dJiNfvnll5k6dSrt27cHIDw8nP379/Pee+/RrVs3e70BAwbY6xRlSqJFREREcsHnOmt9vW/BWuBDhw5x8eJFHnzwQYfj6enpREZGOhyrUaOG/eeQkBAATp48Sbly5Thw4AB9+vRxqB8VFcXq1asBSElJ4fDhw/Ts2ZPevXvb62RmZuLv7+9wXt26dW9+YIWAkmgRERGRXAiweFA/MPiKSzrqBwYTYPHI9xiSk5MBWLp0KaVLl3Yos1gcdwj55wV+JpMJAJvNlqN+Zs+eTf369R3KXF1dHZ57e+fPBZUFjZJoERERkVzwM1t4qXaDq+7OkZ/b3F1WrVo1LBYLcXFxDks3cqpq1aps3ryZrl272o9t2rTJ/nNQUBChoaEcOXKEzp0731TMRYWSaBEREZFcCvLyZkK9Rpy1ppGSkYG3uzsB+bxP9D/5+voyePBgBg4ciM1mo1GjRiQmJrJ+/Xr8/Pwc1ipfS//+/enevTt169alYcOGzJ8/n3379lGhQgV7nbFjx/LCCy/g7+9PixYtsFqtbNu2jXPnzjFo0KD8GmKBpSRaRERE5Cb4mS23LGm+kvHjx1OqVCkmT57MkSNHKFasGLVr1+a///3vDbfx2GOPcfjwYYYOHUpaWhodOnTg2WefZcWKFfY6vXr1wsvLi9dff50hQ4bg7e1NREQEAwYMyIdRFXwmwzAMZwdR0CUlJeHv709iYiJ+fn7ODkdERERuwLW+v9PS0oiNjSU8PBwPj/xfuyyFQ04+F9onWkREREQkh5REi4iIiIjkkJJoEREREZEcUhItIiIiIpJDSqJFRERERHJISbSIiIiISA4piRYRERERySEl0SIiIiIiOaQkWkREREQkh5REi4iIiNwGTCYT33zzjbPDKDKURIuIiIjchKT0dI4mJbPv7Dn+uJBMUnq6s0NyiqNHj2Iymdi5c6ezQ7kl3JwdgIiIiEhhdeJiKpO272HzidP2Y/WDSvLfOhEEeXk6MbLCLSMjA3d3d2eHcU2aiRYRERHJhaT09GwJNMDmE6eZtH1Pvs1If/HFF0RERODp6UmJEiVo1qwZKSkpAHz00UfcddddWCwWQkJC6Nevn8O5p0+f5uGHH8bLy4vKlSuzePFih/K9e/fSsmVLfHx8CAoKokuXLpw+/ff4bDYbr732GpUqVcJisVCuXDkmTpwIQHh4OACRkZGYTCYaN25sP++DDz6gatWqeHh4cOedd/LOO+/Yyy7PYH/22Wfcf//9eHh4MH/+/Dx9zfKDkmgRERGRXDiblp4tgb5s84nTnE3L+yQ6Pj6eTp068dRTT3HgwAHWrFlD+/btMQyDWbNm0bdvX55++mn27NnD4sWLqVSpksP5Y8eOpWPHjuzevZuHHnqIzp07c/bsWQDOnz9PkyZNiIyMZNu2bSxfvpwTJ07QsWNH+/kjRozglVdeYdSoUezfv58FCxYQFBQEwJYtWwD48ccfiY+P56uvvgJg/vz5jB49mokTJ3LgwAEmTZrEqFGjmDdvnkNsw4cPp3///hw4cIDo6Og8f+3ymskwDMPZQRR0SUlJ+Pv7k5iYiJ+fn7PDERERkRtwre/vtLQ0YmNjCQ8Px8PDI1ft7zt7jp4/bbxq+YdNorgroHiu2r6aX3/9lTp16nD06FHKly/vUFa6dGl69OjBhAkTrniuyWRi5MiRjB8/HoCUlBR8fHxYtmwZLVq0YMKECfz888+sWLHCfs6ff/5J2bJliYmJISQkhFKlSvHWW2/Rq1evbO0fPXqU8PBwduzYQa1atezHK1WqxPjx4+nUqZP92IQJE/j+++/ZsGGD/bzp06fTv3//m3l5blpOPhdaEy0iIiKSC95u116ze73y3KhZsyZNmzYlIiKC6OhomjdvziOPPEJGRgbHjx+nadOm1zy/Ro0af8fn7Y2fnx8nT54EYNeuXaxevRofH59s5x0+fJjz589jtVqv28c/paSkcPjwYXr27Env3r3txzMzM/H393eoW7du3RtutyBQEi0iIiKSCwEeZuoHlbziko76QSUJ8DDneZ+urq6sXLmSDRs28MMPPzBz5kxeeuklVq1adUPn//tiPZPJhM1mAyA5OZk2bdrw6quvZjsvJCSEI0eO5Dje5ORkAGbPnk39+vWzjeWfvL29c9y+M2lNtIiIiEgu+JnN/LdOBPWDSjocv7w7h58575NouJT4NmzYkLFjx7Jjxw7MZjMrV64kLCzshpPpK6lduzb79u0jLCyMSpUqOTy8vb2pXLkynp6eV+3D/P/jzcrKsh8LCgoiNDSUI0eOZGvz8oWIhZVmokVERERyKcjLk/H1a3E2LZ2UzAy83dwJ8DDnWwK9efNmVq1aRfPmzQkMDGTz5s2cOnWKqlWrMmbMGPr06UNgYCAtW7bkwoULrF+/nueff/6G2u7bty+zZ8+mU6dODB06lICAAA4dOsTChQv54IMP8PDwYNiwYQwdOhSz2UzDhg05deoU+/bto2fPngQGBuLp6cny5cspU6YMHh4e+Pv7M3bsWF544QX8/f1p0aIFVquVbdu2ce7cOQYNGpQvr9OtoCRaRERE5Cb4mfMvac7Wl58f69atY/r06SQlJVG+fHmmTp1Ky5YtgUsXxr3xxhsMHjyYkiVL8sgjj9xw26Ghoaxfv55hw4bRvHlzrFYr5cuXp0WLFri4XFq8MGrUKNzc3Bg9ejTHjx8nJCSEPn36AODm5sabb77JuHHjGD16NPfeey9r1qyhV69eeHl58frrrzNkyBC8vb2JiIhgwIABef763EraneMGaHcOERGRwie/d+eQoicnnwutiRYRERERySEt5xAREclnRkoqxoUUjJNnwNsTU0AxTP6+mFxMzg5NRHLJqTPR69ato02bNoSGhmIymfjmm28cyg3DYPTo0YSEhODp6UmzZs04ePCgQ52zZ8/SuXNn/Pz8KFasGD179rRvp3LZ7t27uffee/Hw8KBs2bK89tpr+T00ERERAGyJyWR8tpz01z4iY+63ZLy9kPRp8zD+TMD4/63FRKTwcWoSnZKSQs2aNXn77bevWP7aa6/x5ptv8u6777J582a8vb2Jjo4mLS3NXqdz587s27ePlStXsmTJEtatW8fTTz9tL09KSqJ58+aUL1+e7du38/rrrzNmzBjef//9fB+fiIjc3ozMLLLWbcO213ECiJRU0md9hnH+gnMCE5Gb5tTlHC1btrRfTfpvhmEwffp0Ro4cSdu2bQH4+OOPCQoK4ptvvuHxxx/nwIEDLF++nK1bt9rvcjNz5kweeughpkyZQmhoKPPnzyc9PZ2PPvoIs9nMXXfdxc6dO5k2bZpDsv1PVqsVq9Vqf56UlJTHIxcRkduBcSGFrPU7rlxoTcf48wQE+F+5XEQKtAJ7YWFsbCwJCQk0a9bMfszf35/69euzceOl+9Rv3LiRYsWKOdwmslmzZri4uLB582Z7nfvuu8++AThAdHQ0MTExnDt37op9T548GX9/f/ujbNmy+TFEEREp6jKzID3jqsXGmfO3LhYRyVMFNolOSEgALt3p5p+CgoLsZQkJCQQGBjqUu7m5ERAQ4FDnSm38s49/GzFiBImJifbHsWPHbn5AIiJy+zG7gb/PVYtNZYKuWiYiBVuBTaKdyWKx4Ofn5/AQERHJKZOfD24t771yWcnimAIDbnFEIpJXCmwSHRwcDMCJEyccjp84ccJeFhwczMmTJx3KMzMzOXv2rEOdK7Xxzz5ERETyg8lkwvWuSri1bwaeFvtxlyphuD/zKC7+vk6MTkRuRoFNosPDwwkODmbVqlX2Y0lJSWzevJmoqCgAoqKiOH/+PNu3b7fX+emnn7DZbNSvX99eZ926dWRk/L0mbeXKlVSpUoXixYvfotGIiMjtyuTtiWtUTcyDe2Ae0gPziN64d/kPLiWKOTs0Ebu5c+dSrFgxZ4dRqDg1iU5OTmbnzp3s3LkTuHQx4c6dO4mLi8NkMjFgwAAmTJjA4sWL2bNnD127diU0NJR27doBULVqVVq0aEHv3r3ZsmUL69evp1+/fjz++OOEhoYC8MQTT2A2m+nZsyf79u3js88+Y8aMGQwaNMhJoxYRkduNydUVl+J+uISUwqVUcUxeus10UZJkzeSPpFT2nUnmj6RUkqyZ+dpf48aNGTBgQL72Idfn1C3utm3bxgMPPGB/fjmx7datG3PnzmXo0KGkpKTw9NNPc/78eRo1asTy5csd7mU+f/58+vXrR9OmTXFxcaFDhw68+eab9nJ/f39++OEH+vbtS506dShZsiSjR4++6vZ2IlI0nbeeIdF6lpSMZPwtAfibi+Nj1vUOIvnFyMqCVCuGiwsuRfiXhhMX05m8JZbNJ/7eDrd+kB8j6oUT5GW+xplFT0ZGBu7u7s4O45YxGYZhODuIgi4pKQl/f38SExN1kaFIIZSQcoxXtg7mj6S/b3jRILgJvSOGEuAZeI0zRSQ3bGcTydq8G9ueg2Bxx/W+urhWLIvJ7+o7leSHa31/p6WlERsbS3h4uMPkXI7at2YyeuNhhwT6svpBfoyLqoifJW/nK7t37868efMcjh06dIhJkybx008/kZCQQLly5Xjuuefo378/cOkO0U2bNuXYsWMO14MNGDCA7du38/PPPzN37lwGDBjA+fPn7eWzZs1iypQpHDt2jPDwcEaOHEmXLl3s5SaTiXfeeYdly5axatUqhgwZwpgxY/J0vLdaTj4XBXZNtIhIXjibdorxm15wSKABNiX8xIKYWaRlpjopMpGiyXb6HOnTPyFr5UaMhNMYf8ST+cl3ZCz6AeNCirPDy1PnrBlXTKABNp9I4pz16nuE59aMGTOIioqid+/exMfHEx8fT5kyZShTpgyff/45+/fvZ/To0fz3v/9l0aJFANx3331UqFCBTz75xN5ORkYG8+fP56mnnrpiP19//TX9+/fnxRdfZO/evTzzzDP06NGD1atXO9QbM2YMDz/8MHv27LlqW0WVkmgRKdLOpJ7keMofVyxbc2wp561nbnFEIkWXkZ5B5qpNkHwxW5lt/yFsJ886Iar8k5yRdVPlueHv74/ZbMbLy4vg4GCCg4OxWCyMHTuWunXrEh4eTufOnenRo4c9iQbo2bMnc+bMsT//7rvvSEtLo2PHjlfsZ8qUKXTv3p3nnnuOO+64g0GDBtG+fXumTJniUO+JJ56gR48eVKhQgXLlyuX5eAsyJdEiUqSdSTtx1bIsI5O0zOxf9iKSO8bFNGw7frtquW3bvlsYTf7zcXe9qfK89Pbbb1OnTh1KlSqFj48P77//PnFxcfby7t27c+jQITZt2gRc2o2jY8eOeHt7X7G9AwcO0LBhQ4djDRs25MCBAw7H/nnX6NuNkmgRKdJKeYZctczdxYyn25W/QEQkl0ymq5e5XKOsECpucad+0JWvlaof5Edxy625yG7hwoUMHjyYnj178sMPP7Bz50569OhBenq6vU5gYCBt2rRhzpw5nDhxgmXLluXJ8ourJeG3AyXRIlKklfAIJNzvjiuWNS/fnuIeJW9xRCJFl8nbE9c61a5a7nJ39VsYTf7zs7gxol54tkT68u4ceX1R4WVms5msrL+Xiqxfv5577rmH5557jsjISCpVqsThw4eznderVy8+++wz3n//fSpWrJhtpvmfqlatyvr16x2OrV+/nmrVrv7+3m6cusWdiEh+K+ZRguH1pvHmr6PZd/ZXAFxMrjQt25YOlZ/C7Gq5TgsicqNM7m64NqlP1r5DkJjsUOYSeScuJYreTc6CvMyMi6rIOWsGyRlZ+Li7Utzinm8JNEBYWBibN2/m6NGj+Pj4ULlyZT7++GNWrFhBeHg4n3zyCVu3biU8PNzhvOjoaPz8/JgwYQLjxo27Zh9DhgyhY8eOREZG0qxZM7777ju++uorfvzxx3wbV2GjJFpEirxAr1CG3T2FxPRzpGWl4u3uSzFLCTzdvJwdmkiR4xLgj/mFzth2/U7Wrt8wWcy43l8XlzLBmHyL5r85P4tbvibN/zZ48GC6detGtWrVSE1N5bfffmPHjh089thjmEwmOnXqxHPPPceyZcscznNxcaF79+5MmjSJrl27XrOPdu3aMWPGDKZMmUL//v0JDw9nzpw5NG7cOB9HVrhon+gboH2iRUREcsawGZBmBVcXTBbn3HQkv/eJLox69uzJqVOnWLx4sbNDKZBy8rnQTLSIiIjkOZOLCYrwnQoLm8TERPbs2cOCBQuUQOcRJdEiIiIiRVzbtm3ZsmULffr04cEHH3R2OEWCkmgRERGRIm7NmjXODqHI0RZ3IiIiIiI5pCRaRERERCSHlESLiIiIiOSQkmgRERERkRxSEi0iIiIikkNKokVEREREckhJtIiIiIhIDmmfaBEREZGbkGS1cS7NIDnDho+7C8U9TPhZNE9Z1CmJFhEREcmlkylZvLIphS3xGfZj9ULcGd7Am0BvVydGJvlNvyaJiIiI5EKS1ZYtgQbYEp/BK5tSSLLa8qXfxo0b069fP/r164e/vz8lS5Zk1KhRGIYBgNVqZfDgwZQuXRpvb2/q16/vcMfCM2fO0KlTJ0qXLo2XlxcRERF8+umn9vL333+f0NBQbDbH+Nu2bctTTz1lf/7tt99Su3ZtPDw8qFChAmPHjiUzMxOAp556itatWzucn5GRQWBgIB9++GFevyROoSRaREREJBfOpRnZEujLtsRncC7NyLe+582bh5ubG1u2bGHGjBlMmzaNDz74AIB+/fqxceNGFi5cyO7du3n00Udp0aIFBw8eBCAtLY06deqwdOlS9u7dy9NPP02XLl3YsmULAI8++ihnzpxh9erV9v7Onj3L8uXL6dy5MwA///wzXbt2pX///uzfv5/33nuPuXPnMnHiRAB69erF8uXLiY+Pt7exZMkSLl68yGOPPZZvr8utZDIu/9oiV5WUlIS/vz+JiYn4+fk5OxwRERG5Adf6/k5LSyM2Npbw8HA8PDxy1f6+0xk8szzpquXvt/CjWkn3XLV9LY0bN+bkyZPs27cPk8kEwPDhw1m8eDHLly+nQoUKxMXFERoaaj+nWbNm1KtXj0mTJl2xzdatW3PnnXcyZcoUANq1a0eJEiXss8bvv/8+Y8eO5dixY7i4uNCsWTOaNm3KiBEj7G3873//Y+jQoRw/fhyAu+66i27dujF06FAA/vOf/1CiRAnmzJmT569JXsnJ50Iz0SIiIiK54ON+7TTK+zrlN6NBgwb2BBogKiqKgwcPsmfPHrKysrjjjjvw8fGxP9auXcvhw4cByMrKYvz48URERBAQEICPjw8rVqwgLi7O3l7nzp358ssvsVqtAMyfP5/HH38cF5dLY9q1axfjxo1z6KN3797Ex8dz8eJF4NJs9OWE+cSJEyxbtsxhOUhhpwsLRURERHKhuIeJeiHuV1zSUS/EneIepiuclb+Sk5NxdXVl+/btuLo6Xtjo4+MDwOuvv86MGTOYPn06EREReHt7M2DAANLT0+1127Rpg2EYLF26lLvvvpuff/6ZN954w6GfsWPH0r59+2wxXJ7B7dq1K8OHD2fjxo1s2LCB8PBw7r333vwYtlMoiRYRERHJBT+LC8MbeF91d4783OZu8+bNDs83bdpE5cqViYyMJCsri5MnT141YV2/fj1t27blySefBMBms/H7779TrVo1ex0PDw/at2/P/PnzOXToEFWqVKF27dr28tq1axMTE0OlSpWuGmOJEiVo164dc+bMYePGjfTo0eNmhlzgKIkWERERyaVAb1fGNPLhXJpBSoYN71u0T3RcXByDBg3imWee4ddff2XmzJlMnTqVO+64g86dO9O1a1emTp1KZGQkp06dYtWqVdSoUYNWrVpRuXJlvvjiCzZs2EDx4sWZNm0aJ06ccEii4dKSjtatW7Nv3z57wn3Z6NGjad26NeXKleORRx7BxcWFXbt2sXfvXiZMmGCv16tXL1q3bk1WVhbdunXL19fkVlMSLSIiInIT/Cwu+FkAbt2+0F27diU1NZV69erh6upK//79efrppwGYM2cOEyZM4MUXX+Svv/6iZMmSNGjQwL7l3MiRIzly5AjR0dF4eXnx9NNP065dOxITEx36aNKkCQEBAcTExPDEE084lEVHR7NkyRLGjRvHq6++iru7O3feeSe9evVyqNesWTNCQkK46667HC50LAq0O8cN0O4cIiIihU9+787hLI0bN6ZWrVpMnz7d2aFcV3JyMqVLl2bOnDlXXD9d0OTkc6GZaBERERHJUzabjdOnTzN16lSKFSvGf/7zH2eHlOeURIuIiIhInoqLiyM8PJwyZcowd+5c3NyKXspZ9EYkt5wt8QKkpIIBeHti8vPB5HLrt/URERG5HfzzFt4FVVhYGEV9xbCSaMk1IzML2x/HyViwFM79/x2bfL1x7xiNS+VymMxm5wYoIiIikk90x0LJNeNsIhnvLvo7gQa4kELGR19hnDrnvMBERERE8pmSaMkVIyuLrA07ISvrCoWQuXIjhjU9e5mIiIhIEaAkWnInIxPbsfirFht/nQQl0SIiIlJEKYmW3HFzwxRY4qrFphLFwOx+6+KRIudiZiZ/JV8kNukCCRdTybLZnB2SiIiInS4slFwxubnidm9t0rfsvrQrx7+4Nr8Hk4fl1gcmRcKJi6m8s+c3fvwzgSzDwM/dnZ7VKhFdLpRiFn2uRETE+TQTLblmKlkM965twfKPXTjcXHHr8CAuwSWdF5gUamfTrIzctIMVx+LJ+v/tkZIyMnhj1wF+OBavGWkRESkQNBMtuWYym3GpXgnLkB6X9oq2GZiK+2Ly9cbkrqUckjsnU9PYc/b8Fcs+2HeQ+0KDCPbyvLVBiYhcQ2qajYupYE038DCb8PQET49bP0/ZvXt3zp8/zzfffJMn7RXE24vPnTuXAQMGcP78eWeHUrBnoseMGYPJZHJ43HnnnfbytLQ0+vbtS4kSJfDx8aFDhw6cOHHCoY24uDhatWqFl5cXgYGBDBkyhMzMzFs9lCLL5OqKKcAf1/AyuFYsi0tAMSXQclOOJF24allSRgYXM/TvV0QKjqRkG9/9YOWjBanM/yKNDxeksuQHK0nJBfevZhkZGc4OwemysrKw3eRfNgt0Eg1w1113ER8fb3/88ssv9rKBAwfy3Xff8fnnn7N27VqOHz9O+/bt7eVZWVm0atWK9PR0NmzYwLx585g7dy6jR492xlBE5AaU8vC4apmryYTF1fUWRiMicnWpaTaW/2Tlj2OOydjRYzZW/GQlNS1/EukvvviCiIgIPD09KVGiBM2aNWPIkCHMmzePb7/91j7xuGbNGo4ePYrJZOKzzz7j/vvvx8PDg/nz53PmzBk6depE6dKl8fLyIiIigk8//dTeR/fu3Vm7di0zZsywt3f06FEA1q5dS7169bBYLISEhDB8+HCHCUqbzcZrr71GpUqVsFgslCtXjokTJ9rLhw0bxh133IGXlxcVKlRg1KhRDon9rl27eOCBB/D19cXPz486deqwbds21qxZQ48ePUhMTLTHNGbMGACsViuDBw+mdOnSeHt7U79+fYc7O86dO5dixYqxePFiqlWrhsViIS4u7qbehwK/nMPNzY3g4OBsxxMTE/nwww9ZsGABTZo0AWDOnDlUrVqVTZs20aBBA3744Qf279/Pjz/+SFBQELVq1WL8+PEMGzaMMWPGYL7KHfWsVitWq9X+PCkp6Yr1RCTvlfP1xt/sTmJ69pmSB8uGUNxDd8IUkYLhYirZEujLjh67tMTD8+rzArkSHx9Pp06deO2113j44Ye5cOECP//8M127diUuLo6kpCTmzJkDQEBAAMePHwdg+PDhTJ06lcjISDw8PEhLS6NOnToMGzYMPz8/li5dSpcuXahYsSL16tVjxowZ/P7771SvXp1x48YBUKpUKf766y8eeughunfvzscff8xvv/1G79698fDwsCe0I0aMYPbs2bzxxhs0atSI+Ph4fvvtN/sYfH19mTt3LqGhoezZs4fevXvj6+vL0KFDAejcuTORkZHMmjULV1dXdu7cibu7O/fccw/Tp09n9OjRxMTEAODj4wNAv3792L9/PwsXLiQ0NJSvv/6aFi1asGfPHipXrnzp/bp4kVdffZUPPviAEiVKEBgYeFPvRYFPog8ePEhoaCgeHh5ERUUxefJkypUrx/bt28nIyKBZs2b2unfeeSflypVj48aNNGjQgI0bNxIREUFQUJC9TnR0NM8++yz79u0jMjLyin1OnjyZsWPH5vvYRCS7QE8P3ry3Hi/8vMUhka4eUIznqlfBy63A/29LRG4T1vQrbE/1D+nXKc+N+Ph4MjMzad++PeXLlwcgIiICAE9PT6xW6xUnHwcMGODw13qAwYMH239+/vnnWbFiBYsWLaJevXr4+/tjNpvx8vJyaO+dd96hbNmyvPXWW/ZltsePH2fYsGGMHj2alJQUZsyYwVtvvUW3bt0AqFixIo0aNbK3MXLkSPvPYWFhDB48mIULF9qT6Li4OIYMGWJfwns5CQbw9/fHZDI5xBQXF8ecOXOIi4sjNDTUPrbly5czZ84cJk2aBFxaxvLOO+9Qs2bNG369r6VAfxvVr1+fuXPnUqVKFeLj4xk7diz33nsve/fuJSEhAbPZTLFixRzOCQoKIiEhAYCEhASHBPpy+eWyqxkxYgSDBg2yP09KSqJs2bJ5NCoRuRaTyUTlYn7Ma9aIYxdSOJWWRgU/XwI9PQjQtokiUoBYzKZrlpuvU54bNWvWpGnTpkRERBAdHU3z5s155JFHKF68+DXPq1u3rsPzrKwsJk2axKJFi/jrr79IT0/HarXi5eV1zXYOHDhAVFQUJtPfY2vYsCHJycn8+eefJCQkYLVaadq06VXb+Oyzz3jzzTc5fPgwycnJZGZm4ufnZy8fNGgQvXr14pNPPqFZs2Y8+uijVKxY8art7dmzh6ysLO644w6H41arlRIl/r6nhdlspkaNGtccX04U6CS6ZcuW9p9r1KhB/fr1KV++PIsWLcLTM/+uzrdYLFi0F62I07iYTAR7eWoXDhEp0Lw8IaysC0evsKQjrKwL+fG/MFdXV1auXMmGDRv44YcfmDlzJi+99BKbN2++5nne3t4Oz19//XVmzJjB9OnTiYiIwNvbmwEDBpCefnN3G75efrZx40Y6d+7M2LFjiY6Oxt/fn4ULFzJ16lR7nTFjxvDEE0+wdOlSli1bxssvv8zChQt5+OGHr9hmcnIyrq6ubN++Hdd/XTdzebnH5dj+mfzfrAJ/YeE/FStWjDvuuINDhw4RHBxMenp6ti1OTpw4YZ/iDw4OzrZbx+XnV/pTh4iIiMiN8vRwIbqJhbCyjulUWNlLx/NrmzuTyUTDhg0ZO3YsO3bswGw28/XXX2M2m8nKyrqhNtavX0/btm158sknqVmzJhUqVOD33393qHOl9qpWrcrGjRsxDMOhLV9fX8qUKUPlypXx9PRk1apVV+x3w4YNlC9fnpdeeom6detSuXJl/vjjj2z17rjjDgYOHMgPP/xA+/bt7eu8rxRTZGQkWVlZnDx5kkqVKjk88jPfK1RJdHJyMocPHyYkJIQ6derg7u7u8CbFxMQQFxdHVFQUAFFRUezZs4eTJ0/a66xcuRI/Pz+qVat2y+MXERGRosXPx4XWzS089YQnTz7iwVNPeNK6uQU/n/xJsTZv3sykSZPYtm0bcXFxfPXVV5w6dYqqVasSFhbG7t27iYmJ4fTp09fcyq5y5cr2Ge0DBw7wzDPPZJt4DAsLY/PmzRw9epTTp09js9l47rnnOHbsGM8//zy//fYb3377LS+//DKDBg3CxcUFDw8Phg0bxtChQ/n44485fPgwmzZt4sMPP7T3GxcXx8KFCzl8+DBvvvkmX3/9tb3P1NRU+vXrx5o1a/jjjz9Yv349W7dupWrVqvaYkpOTWbVqFadPn+bixYvccccddO7cma5du/LVV18RGxvLli1bmDx5MkuXLs2Hd+H/GQXYiy++aKxZs8aIjY011q9fbzRr1swoWbKkcfLkScMwDKNPnz5GuXLljJ9++snYtm2bERUVZURFRdnPz8zMNKpXr240b97c2Llzp7F8+XKjVKlSxogRI3IUR2JiogEYiYmJeTo+ERERyT/X+v5OTU019u/fb6Smpjohstzbv3+/ER0dbZQqVcqwWCzGHXfcYcycOdMwDMM4efKk8eCDDxo+Pj4GYKxevdqIjY01AGPHjh0O7Zw5c8Zo27at4ePjYwQGBhojR440unbtarRt29ZeJyYmxmjQoIHh6elpAEZsbKxhGIaxZs0a4+677zbMZrMRHBxsDBs2zMjIyLCfl5WVZUyYMMEoX7684e7ubpQrV86YNGmSvXzIkCFGiRIlDB8fH+Oxxx4z3njjDcPf398wDMOwWq3G448/bpQtW9Ywm81GaGio0a9fP4f3qU+fPkaJEiUMwHj55ZcNwzCM9PR0Y/To0UZYWJjh7u5uhISEGA8//LCxe/duwzAMY86cOfY+riUnnwuTYRh5f+loHnn88cdZt24dZ86coVSpUjRq1IiJEyfaF5enpaXx4osv8umnn2K1WomOjuadd95xmLr/448/ePbZZ1mzZg3e3t5069aNV155BbccXOGflJSEv78/iYmJDgvfRUREpOC61vd3WloasbGxhIeH43GN/enl9pKTz0WBTqILCiXRIiIihY+SaMmpnHwuCtWaaBERERGRgkBJtIiIiIhIDimJFhERERHJoQJ9sxURkdvFeWsaZ61pJKWn42+2EGDxwF83fRIRKbCURIuIOFn8xWRGbv6FvefO2I/VLRXE6DpRBHl5X+NMERFxFi3nEBFxonPWtGwJNMC2Uyd4ZccWktKtTopMRESuRUm0iIgTnbdasyXQl204cZzzViXRIiIFkZJoEREnSsq4dpKcfI3b9oqIiPMoiRYRcSJ/89UvHjQBvmb3WxeMiIjcMCXRIiJOVNziQb1SwVcsa1K6LMUtupOaSEGXkWoj5bSNxL+ySDljIyPV5uyQ5BbQ7hwiIk7kb7Ywsk4DXt25hfUJx4FLM9BNSpdjYI06+LibnRugiFxTWqKN/UusnI39O3EOqOBCtVYWPPwLxlxleno6ZrP+X5LXlESLiDhZkJc3Y+s25Jw1jZTMDHzc3Slu9sBHX3oiBVpGavYEGuDsERv7l1qJeNiCu2feJ9KNGzemevXqAHzyySe4u7vz7LPPMm7cOEwmE2FhYfTs2ZODBw/yzTff0L59e95//30GDRrEl19+yblz5wgKCqJPnz6MGDEiz+O7XSiJFhEpAHzNZnyVNIsUKukpZEugLzt7xEZ6Crh75k/f8+bNo2fPnmzZsoVt27bx9NNPU65cOXr37g3AlClTGD16NC+//DIAb775JosXL2bRokWUK1eOY8eOcezYsfwJ7jahJFpEREQkFzKtxk2V34yyZcvyxhtvYDKZqFKlCnv27OGNN96wJ9FNmjThxRdftNePi4ujcuXKNGrUCJPJRPny5fMttttFwVisIyIiIlLIuFlMN1V+Mxo0aIDJ9Hf7UVFRHDx4kKysLADq1q3rUL979+7s3LmTKlWq8MILL/DDDz/kW2y3CyXRIiIiIrlg9r50EeGVBFRwwex9iwP6B29vx85r165NbGws48ePJzU1lY4dO/LII484KbqiQUm0iIiISC64e17ahePfiXRABReqtc6fiwov27x5s8PzTZs2UblyZVxdXa96jp+fH4899hizZ8/ms88+48svv+Ts2bP5FmNRpzXRIiIiIrnk4e9CxMMW0lMurYF2s5gwe5OvCTRcWuM8aNAgnnnmGX799VdmzpzJ1KlTr1p/2rRphISEEBkZiYuLC59//jnBwcEUK1YsX+MsypREi4iIiNwEd0+XfNuF42q6du1Kamoq9erVw9XVlf79+/P0009ftb6vry+vvfYaBw8exNXVlbvvvpvvv/8eFxctSsgtJdEiIiIihYy7uzvTp09n1qxZ2cqOHj2a7Vjv3r3tO3dI3tCvHyIiIiIiOaQkWkREREQkh7ScQ0RERKQQWbNmjbNDEDQTLSIiIiKSY0qiRURERERySEm0iIiIiEgOKYkWEREREckhXVgoIiIiN8xIz4DUNHBxAR8vTCaTs0MScQol0SIiInJdhs2GceY8mT9txrb/CCYPC6731cGlemVc/H1y325GJlxMAxeTknIpVJREi4iIyHUZp86RPv0TsKZfen4hhcwvV2LaFYO5SxtMvt45a88wMM4kkvXzdrL2HsTk7obrvbX/Pyn3zY8h3NYaN25MrVq1mD59urNDKTK0JlpERESuybCmk7nsZ3sC7VB2KA7bybM5b/PMedKnf0zWz9vhXBLGybNkfvkjGR9/h5GUnBdh3zK2FBuZCTbSY7PITLBhS7Hla3+NGzdmwIAB+dpHfjOZTHzzzTfODuOmaCZaRERErslITcO299BVy207DuBaseyNt5eeQeaPGy8t4/h3Weyf2OJP4+qX+yUit1LWWRtJn1hJ3/934myu5oJfFwuuAZqrzG8ZGRm4u7s7pW+9uyIiInIdJnBzvXqxOWdJjHExDdvu369anrV1D4Zh5KhNZ7ClZE+gAdL3XzqeHzPS3bt3Z+3atcyYMQOTyYTJZOLo0aPs3buXli1b4uPjQ1BQEF26dOH06dNXbcdqtTJ48GBKly6Nt7c39evXz3YnxPXr19O4cWO8vLwoXrw40dHRnDt3DoDly5fTqFEjihUrRokSJWjdujWHDx/++zVIT6dfv36EhITg4eFB+fLlmTx5MgBhYWEAPPzww5hMJvtzgG+//ZbatWvj4eFBhQoVGDt2LJmZmfZyk8nErFmz+M9//oO3tzcTJ068yVc095REi4iIyDWZfDxxrRdx1XLX2tVy2CDgeo2k3N2tUFxgaLtAtgT6svT9NmwX8r7PGTNmEBUVRe/evYmPjyc+Ph5fX1+aNGlCZGQk27ZtY/ny5Zw4cYKOHTtetZ1+/fqxceNGFi5cyO7du3n00Udp0aIFBw8eBGDnzp00bdqUatWqsXHjRn755RfatGlDVlYWACkpKQwaNIht27axatUqXFxcePjhh7HZLr0eb775JosXL2bRokXExMQwf/58e7K8detWAObMmUN8fLz9+c8//0zXrl3p378/+/fv57333mPu3LnZEuUxY8bw8MMPs2fPHp566qk8fX1zQss5RERE5JpMbm64Nr4b2/7DGGcTHcpc768Lxf1y1p6PF671a5D10+YrlrvWr5HrWG8lW+q1Z8uN65Tnhr+/P2azGS8vL4KDgwGYMGECkZGRTJo0yV7vo48+omzZsvz+++/ccccdDm3ExcUxZ84c4uLiCA0NBWDw4MEsX76cOXPmMGnSJF577TXq1q3LO++8Yz/vrrvusv/coUMHhzY/+ugjSpUqxf79+6levTpxcXFUrlyZRo0aYTKZKF++vL1uqVKlAChWrJh9DABjx45l+PDhdOvWDYAKFSowfvx4hg4dyssvv2yv98QTT9CjR4/cvYB5SEm0iIiIXJdLgD/mvp3IOhyHbcdv4GnBtVFtXEoFYPL2zFFbJldXXBtGYtv9O8bpc4791IvApWTxvAw937h4Xnu23HSd8ryya9cuVq9ejY9P9nXkhw8fzpZE79mzh6ysrGzHrVYrJUqUAC7NRD/66KNX7fPgwYOMHj2azZs3c/r0afsMdFxcHNWrV6d79+48+OCDVKlShRYtWtC6dWuaN29+3XGsX7/eYeY5KyuLtLQ0Ll68iJeXFwB169a9Zju3ipJoERERuSGm4n641a2OUfNOcHXB5JL7VaEuxf0wP/cYWYfisG3fDxbzpaQ8uCQmH688jDr/uPheuojwSks6zNVccLlFO/UlJyfTpk0bXn311WxlISEhV6zv6urK9u3bcf3XsprLibin57V/MWrTpg3ly5dn9uzZhIaGYrPZqF69Ounpl3ZwqV27NrGxsSxbtowff/yRjh070qxZM7744otrjmPs2LG0b98+W5mHh4f9Z2/vnG2nmF+URIuIiEiOmNzzJn0wFfv/pLxGFXAxYXIrXGmJi/elXTiutjuHi3f+XHpmNpvta5PhUsL65ZdfEhYWhtsNvIaRkZFkZWVx8uRJ7r333ivWqVGjBqtWrWLs2LHZys6cOUNMTAyzZ8+2n//LL79kq+fn58djjz3GY489xiOPPEKLFi04e/YsAQEBuLu7O4zh8jhiYmKoVKnSdcdQEBSuT6uIiIgUOaYc7u5RkLgGuODfy4LtwqU10CZPEy6+5FsCDZd2t9i8eTNHjx7Fx8eHvn37Mnv2bDp16sTQoUMJCAjg0KFDLFy4kA8++CDbbPMdd9xB586d6dq1K1OnTiUyMpJTp06xatUqatSoQatWrRgxYgQRERE899xz9OnTB7PZzOrVq3n00UcJCAigRIkSvP/++4SEhBAXF8fw4cMd+pg2bRohISFERkbi4uLC559/TnBwMMWKFbOPYdWqVTRs2BCLxULx4sUZPXo0rVu3ply5cjzyyCO4uLiwa9cu9u7dy4QJE/Lt9cyt22p3jrfffpuwsDA8PDyoX78+W7ZscXZIIiIiUsi5eLvgFuyCe7grbsEu+ZpAw6WLAF1dXalWrRqlSpUiPT2d9evXk5WVRfPmzYmIiGDAgAEUK1YMl6ssuZkzZw5du3blxRdfpEqVKrRr146tW7dSrlw54FKi/cMPP7Br1y7q1atHVFQU3377LW5ubri4uLBw4UK2b99O9erVGThwIK+//rpD+76+vvaLE++++26OHj3K999/b49n6tSprFy5krJlyxIZGQlAdHQ0S5Ys4YcffuDuu++mQYMGvPHGGw4XJRYkJqMwbMSYBz777DO6du3Ku+++S/369Zk+fTqff/45MTExBAYGXvPcpKQk/P39SUxMxM8vZ1cgi4iIiHNc6/s7LS2N2NhYwsPDHdbbyu0tJ5+L22Ymetq0afTu3ZsePXpQrVo13n33Xby8vPjoo4+cHZqIiIiIFDK3RRKdnp7O9u3badasmf2Yi4sLzZo1Y+PGjdnqW61WkpKSHB4iIiIiIpfdFkn06dOnycrKIigoyOF4UFAQCQkJ2epPnjwZf39/+6Ns2bK3KlQRERERKQRuiyQ6p0aMGEFiYqL9cezYMWeHJCIiIiIFyG2xxV3JkiVxdXXlxIkTDsdPnDjhcLvJyywWCxaL5VaFJyIiIiKFzG0xE202m6lTpw6rVq2yH7PZbKxatYqoqCgnRiYiIiIihdFtMRMNMGjQILp160bdunWpV68e06dPJyUlhR49ejg7NBEREREpZG6bJPqxxx7j1KlTjB49moSEBGrVqsXy5cuzXWwoIiIiInI9t00SDdCvXz/69euX4/Mu349GW92JiIgUHpe/t2+T+8rJLXZbJdG5deHCBQBtdSciIlIIXbhwAX9/f2eHcUuFhYUxYMAABgwYAIDJZOLrr7+mXbt2To2rKFESfQNCQ0M5duwYvr6+XLhwgbJly3Ls2DHdArwASEpK0vtRgOj9KHj0nhQsej9uLcMwuHDhAqGhofnajy0lEy5kYVzMwuTlCr6uuHg7N8XaunUr3t7eTo2hqFMSfQNcXFwoU6YMcOk3OQA/Pz/9D7AA0ftRsOj9KHj0nhQsej9unfyegbadzSB93l/Y9qfYj7nc5Y25a2lcAtzzte9rKVWqlNP6vl3cFlvciYiIiOQ1W0pmtgQawLYvhfSP/7o0Q51PLly4QOfOnfH29iYkJIQ33niDxo0b25dvhIWFMX36dIdz4uPjadmyJZ6enlSoUIEvvvjCXpaenk6/fv0ICQnBw8OD8uXLM3nyZHt5XFwcbdu2xcfHBz8/Pzp27Ohw/40xY8ZQq1YtPvnkE8LCwvD39+fxxx+3L4ktipREi4iIiOTGhaxsCfRltn0pcCEr37oeNGgQ69evZ/HixaxcuZKff/6ZX3/99ZrnjBo1ig4dOrBr1y46d+7M448/zoEDBwB48803Wbx4MYsWLSImJob58+cTFhZ2aSw2G23btuXs2bOsXbuWlStXcuTIER577DGH9g8fPsw333zDkiVLWLJkCWvXruWVV17Jl/EXBFrOkUMWi4WXX35ZdzQsIPR+FCx6PwoevScFi96PosW4eO0k+XrluXXhwgXmzZvHggULaNq0KQBz5sy57trvRx99lF69egEwfvx4Vq5cycyZM3nnnXeIi4ujcuXKNGrUCJPJRPny5e3nrVq1ij179hAbG2vfZOHjjz/mrrvuYuvWrdx9993ApWR77ty5+Pr6AtClSxdWrVrFxIkT8/w1KAg0E51DFouFMWPG6H+ABYTej4JF70fBo/ekYNH7UbSYvFxvqjy3jhw5QkZGBvXq1bMf8/f3p0qVKtc87993aY6KirLPRHfv3p2dO3dS5f/au/egqMo+DuDfXa6yu1zWkF1UbqlcXhDBDSXt1RHyMkFeKhulhjGrSTElMqUpb3khb0R4GQ3KWyhEZo7lqHiJBhITEFMRTMPBKRHNQFm56T7vHwynNu0NUFhYvp+ZHTnnOXv2d/a3LD+fec7zeHtj9uzZOHTokHTc+fPn0bdvX6NZyvz8/ODo6Cg9H2gaQtJcQAOAVqtFZWVl2y6yC2ARTURERNQWKgvI//PgGTDk/1EAqvYpottDcHAwysrKsHTpUtTW1mLy5Ml4/vnnW3UOKyvjGyllMhkMBsOjDLNTYRFNRERE1AZyhWXTLBx/K6Sl2TnaaZo7Ly8vWFlZ4eTJk9K+6upqXLhw4f8+Ly8v775tX19fadve3h4vvvgiUlJSkJGRgd27d+PmzZvw9fXFlStXcOXKFenY4uJiVFVVwc/P7xFdVdfDMdFEREREbSRXW8H6tT4dOk+0SqVCdHQ03nnnHajVavTq1QuLFi2CXC6XpuJ9kMzMTOh0OgwfPhxpaWn48ccf8emnnwIAEhMTodVqERQUBLlcjszMTGg0Gjg6OiI8PBwBAQGIiopCUlIS7t69i5kzZ2LEiBHQ6XTtdp2dHXuiiYiIiB6CXGEJucYGFl52kGtsOmShlcTERISGhiIiIgLh4eEYNmwYfH19YWtr+4/PWbJkCdLT0zFw4EBs374du3btknqSVSoVVq1aBZ1OhyeeeAKXL1/G/v37pcJ87969cHJywn//+1+Eh4fDy8sLGRkZ7X6dnZqgFlu/fr1wd3cXNjY2IiQkRJw4ccLUIXUb2dnZIiIiQmi1WgFA7Nmzx6jdYDCIBQsWCI1GI2xtbUVYWJi4cOGCaYLtBlasWCF0Op1QKpXC2dlZjB8/XpSUlBgdU1tbK2bOnCnUarVQKBRi0qRJoqKiwkQRm7eNGzeKgIAAoVKphEqlEkOHDhX79++X2pkL00pISBAAxJw5c6R9zInp1dbWiuLiYlFbW2vqUB6Jmpoa4eDgIFJTU00dSpfWms8Fe6JbKCMjA3FxcVi0aBEKCwsRGBiIMWPGmPVdp52JXq9HYGAgNmzY8MD2VatWITk5GZs2bcKJEyegUCgwZswY1NXVdXCk3UN2djZiYmKQl5eHrKwsNDY2YvTo0dDr/5wv9a233sK+ffuQmZmJ7Oxs/Pbbb5g0aZIJozZfffr0wYcffoiCggLk5+dj1KhRGD9+PM6dOweAuTClkydPYvPmzRg4cKDRfuaEHtapU6ewa9cuXLp0CYWFhYiKigIAjB8/3sSRdSMdUNSbhZCQEBETEyNt37t3T7i6uoqEhAQTRtU94W890QaDQWg0GrF69WppX1VVlbCxsRG7du0yQYTdT2VlpQAgsrOzhRBN77+VlZXIzMyUjjl//rwAII4fP26qMLsVJycnkZqaylyY0O3bt0X//v1FVlaWGDFihNQTzZx0Dl29J7qwsFAEBwcLhUIhnJycRHh4uPjpp59MHVaXx57oR6yhoQEFBQUIDw+X9snlcoSHh+P48eMmjIwAoKysDBUVFUb5cXBwwJAhQ5ifDlJdXQ0AUKvVAICCggI0NjYa5cTHxwdubm7MSTu7d+8e0tPTodfrERoaylyYUExMDJ555hmj9x7g7wc9GkFBQSgoKEBNTQ1u3ryJrKwsBAQEmDqsboWzc7TAjRs3cO/ePbi4uBjtd3FxQUlJiYmiomYVFRUA8MD8NLdR+zEYDIiNjcWwYcPg7+8PoCkn1tbWcHR0NDqWOWk/Z86cQWhoKOrq6qBUKrFnzx74+fmhqKiIuTCB9PR0FBYWGk1B1oy/H0TmgUU0ET2UmJgYnD17Fjk5OaYOpVvz9vZGUVERqqur8eWXXyI6OhrZ2dmmDqtbunLlCubMmYOsrKz/O1MCEXVtHM7RAo899hgsLCxw7do1o/3Xrl2DRqMxUVTUrDkHzE/HmzVrFr755hscO3YMffr0kfZrNBo0NDSgqqrK6HjmpP1YW1ujX79+GDx4MBISEhAYGIiPP/6YuTCBgoICVFZWIjg4GJaWlrC0tER2djaSk5NhaWkJFxcX5oTIDLCIbgFra2sMHjwYR44ckfYZDAYcOXLkvnXoqeN5enpCo9EY5efWrVs4ceIE89NOhBCYNWsW9uzZg6NHj8LT09OoffDgwbCysjLKSWlpKcrLy5mTDmIwGFBfX89cmEBYWBjOnDmDoqIi6aHT6RAVFSX9zJwQdX0cztFCcXFxiI6Ohk6nQ0hICJKSkqDX6zFt2jRTh9Yt1NTU4OLFi9J2WVkZioqKoFar4ebmhtjYWCxbtgz9+/eHp6cnFixYAFdXV0yYMMF0QZuxmJgY7Ny5E3v37oVKpZLGcTo4OKBHjx5wcHDA9OnTERcXB7VaDXt7e7z55psIDQ3F0KFDTRy9+Xn33Xcxbtw4uLm54fbt29i5cye+++47HDx4kLkwAZVKJd0f0EyhUKBnz57SfuaEyAy0/2Qh5mPdunXCzc1NWFtbi5CQEJGXl2fqkLqNY8eOCQD3PaKjo4UQfy624uLiImxsbERYWJgoLS01bdBm7EG5ACC2bNkiHdO8mISTk5Ows7MTEydOFFevXjVd0GbslVdeEe7u7sLa2lo4OzuLsLAwcejQIamduTC9v05xJwRz0hl09SnuqH205nMhE0IIE9XvRERERCZRV1eHsrIyeHp6drkbQEeOHIlBgwYhKSkJHh4eiI2NRWxsrKnDMgut+VxwOAcRERHRQzDoG4Db9UBdI9DDClDaQK6wbrfX++qrr2BlZdVu56eWYRFNRERE1EaGP2rRmHYKhpLr0j65jzOsooIgd+rRLq/ZvLAVmRZn5yAiIiJqA4O+4b4CGgAMJdeb9usb2uV1R44caTR84/bt25gyZQoUCgV69+6NDRs2GB2fmJiIgIAAKBQK9O3bFzNnzkRNTY3UvnXrVjg6OuLgwYPw9fWFUqnE2LFjcfXqVaPzpKamwtfXF7a2tvDx8cHGjRultsWLF0Mmk9332Lp1a7u8B50Bi2giIiKitrhdf18B3cxQcr1piEcHWL16NQIDA3Hq1CnEx8dLi/00k8vlSE5Oxrlz57Bt2zYcPXoU8+bNMzrHnTt3sGbNGuzYsQPff/89ysvLMXfuXKk9LS0NCxcuxPLly3H+/HmsWLECCxYswLZt2wAAc+fOxdWrV6XHmjVrYGdnB51O1yHvgSlwOAcRERFRW9Q1Plz7IzJs2DDEx8cDAAYMGIDc3Fx89NFHePrppwHAqNfaw8MDy5YtwxtvvGHUk9zY2IhNmzbh8ccfB9C0mNYHH3wgtS9atAhr167FpEmTADSt0VBcXIzNmzcjOjoaSqUSSqUSAJCXl4f3338f27Ztu2+6R3PCIpqIiIioLWz/5ea+f2t/RP6+SE9oaCiSkpKk7cOHDyMhIQElJSW4desW7t69i7q6Oty5cwd2dnYAADs7O6mABgCtVovKykoAgF6vx6VLlzB9+nS89tpr0jF3796Fg4OD0WuXl5djwoQJmDt3LiZPnvyoL7VTYRFNRERE1BYqG8h9nB84pEPu4wyobEwQlLHLly8jIiICM2bMwPLly6FWq5GTk4Pp06ejoaFBKqL/PtuHTCZD8yzIzeOnU1JSMGTIEKPjLCwspJ/1ej2effZZhIaGGvVimysW0URERERtIFdYwyoq6J9n52jHae7+Ki8v775tX19fAEBBQQEMBgPWrl0LubzpVrgvvviiVed3cXGBq6srfvnlF0RFRT3wGCEEXnrpJRgMBuzYsQMymawNV9K1sIgmIiIiaiO5Uw9YTdP9OU+0rVVTD3UHFdAAkJubi1WrVmHChAnIyspCZmYmvv32WwBAv3790NjYiHXr1iEyMhK5ubnYtGlTq19jyZIlmD17NhwcHDB27FjU19cjPz8ff/zxB+Li4rB48WIcPnwYhw4dQk1NjdR77eDggB492meqP1Pj7BxERERED0GusIZco4LcQ930bwcW0ADw9ttvIz8/H0FBQVi2bBkSExMxZswYAEBgYCASExOxcuVK+Pv7Iy0tDQkJCa1+jVdffRWpqanYsmULAgICMGLECGzduhWenp4AgOzsbNTU1ODJJ5+EVquVHhkZGY/0WjsTLvtNRERE3U5XXvab2k9rPhfsiSYis3TgwAEMHz4cjo6O6NmzJyIiInDp0iWp/YcffsCgQYNga2sLnU6Hr7/+GjKZDEVFRdIxZ8+exbhx46BUKuHi4oKXX34ZN27cMMHVEBFRZ8MimojMkl6vR1xcHPLz83HkyBHI5XJMnDgRBoMBt27dQmRkJAICAlBYWIilS5di/vz5Rs+vqqrCqFGjEBQUhPz8fBw4cADXrl0z+ymbiIioZXhjIRGZpeeee85o+7PPPoOzszOKi4uRk5MDmUyGlJQU2Nraws/PD7/++qvR/Kfr169HUFAQVqxYYXSOvn374sKFCxgwYECHXQsREXU+7IkmIrP0888/Y8qUKfDy8oK9vT08PDwANC0EUFpaioEDBxqNdwsJCTF6/unTp3Hs2DFpFS6lUgkfHx8AMBoWQkRdG28No79qzeeBPdFEZJYiIyPh7u6OlJQUuLq6wmAwwN/fHw0NDS16fk1NDSIjI7Fy5cr72rRa7aMOl4g6WPPiInfu3DHbKdio9Zr/Rvx1EZl/wiKaiMzO77//jtLSUqSkpOCpp54CAOTk5Ejt3t7e+Pzzz1FfXw8bm6YVxU6ePGl0juDgYOzevRseHh6wtORXJZG5sbCwgKOjo7S0tZ2dXbdYIIT+mcFgwPXr12FnZ9ei733+ZSAis+Pk5ISePXvik08+gVarRXl5OeLj46X2qVOn4r333sPrr7+O+Ph4lJeXY82aNQAg/RGNiYlBSkoKpkyZgnnz5kGtVuPixYtIT09Hampqi3opiKhz02g0ACAV0kRyuRxubm4t+g8Vi2giMjtyuRzp6emYPXs2/P394e3tjeTkZIwcORIAYG9vj3379mHGjBkYNGgQAgICsHDhQkydOlUaJ+3q6orc3FzMnz8fo0ePRn19Pdzd3TF27Fhp6Vwi6tpkMhm0Wi169eqFxsZGU4dDnYC1tXWLv+O52AoREYC0tDRMmzYN1dXVHB9JRET/ij3RRNQtbd++HV5eXujduzdOnz6N+fPnY/LkySygiYioRVhEE1G3VFFRgYULF6KiogJarRYvvPACli9fbuqwiIioi+BwDiIiIiKiVuLdMURERERErcQimoiIiIiolVhEExERERG1EotoIiIiIqJWYhFNRERERNRKLKKJiIiIiFqJRTQRERERUSuxiCYiIiIiaqX/AdAGYCojpy6MAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "ax = sns.scatterplot(data=df, x='age', y='price',hue='brand')\n", + "ax = sns.scatterplot(data=df, x='age', y='price',hue='style')\n", "sns.move_legend(ax, \"upper left\", bbox_to_anchor=(1, 1))" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\fletc\\dev\\uva\\ds3001\\labs\\ven\\Lib\\site-packages\\pandas\\core\\arraylike.py:399: RuntimeWarning: divide by zero encountered in log\n", + " result = getattr(ufunc, method)(*inputs, **kwargs)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " log_price log_age\n", + "log_price 3.443981 -1.036072\n", + "log_age -1.036072 1.584197\n", + " log_price log_age\n", + "log_price 1.000000 -0.679313\n", + "log_age -0.679313 1.000000\n" + ] + }, + { + "data": { + "image/png": "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XbsWffv2xYQJE2Bra4vbt29jy5YtWLduHaRSqU7irmiYEBMRUYUgESSoZOKASiYO+g7FYEhsrCC0agxpU29AIoEgM9Z3SMViaeqI9/2C/38f4lTIjc11vg+xpaUl/vzzTyxbtgzJyclwdXXF4sWL0alTJ2zduvW1xzs7OyMsLAwTJ05Ehw4doFQq4erqio4dO0JSDtdy64sgGtgrUJKTk2FlZYWkpCRYWpa/X+kQEREZooJ+fmdmZiImJgbu7u5QKBR6ipDKmsLcF/ynAxEREREZNCbERERERGTQmBATERERkUFjQkxEREREBo0JMREREREZNCbERERERGTQipUQZ2VlISoqCjk5OSUVDxERERFRqSpSQpyeno5BgwbB1NQUdevWRVxcHADgs88+w/z580s0QCIiIiIiXSpSQjx58mRcuXIFx48f19rouH379m/0VhUiIiIiorKiSAnxrl278M0336Bly5YQBEFTXrduXURHR5dYcERERERUsPXr18Pa2rpQxwQFBaF79+46iac8KlJC/OTJE1SuXDlXeVpamlaCTERERES61adPH9y8eVPfYZRrRUqIfX19sW/fPs33V0nwunXr4OfnVzKREREREZWy1Kxk3E+Jxc3ECDxIjUVqVrK+Q3otExOTPCcq6c0VKSGeN28evvzyS3z66afIycnB8uXL0aFDB4SEhGDu3LklHSMRERGRzj3NeITFFyfjs2M9MfFkf4z8oycWX5yMpxmPdDquWq1GcHAw3N3dYWJiggYNGmD79u0AgOPHj0MQBOzbtw/169eHQqFAs2bNcPXqVc3x/10yMWPGDDRs2BBr1qyBi4sLTE1N0bt3byQlJeUae9GiRXBycoKdnR1GjBiB7OxsTV1iYiICAwNhY2MDU1NTdOrUCbdu3co17qFDh+Dl5QVzc3N07NgR8fHxWmOsW7cOXl5eUCgUqF27Nr777ruSunQlpkgJccuWLREeHo6cnBx4e3vj8OHDqFy5Mk6fPo3GjRuXdIxEREREOpWalYxvw2cj/MlprfLwJ6fxbfhsnc4UBwcH46effsLq1atx7do1jBkzBh9//DFOnDihaTN+/HgsXrwY58+fh729Pbp27aqVvP7X7du3sW3bNvz+++84ePAgLl++jOHDh2u1OXbsGKKjo3Hs2DFs2LAB69evx/r16zX1QUFBuHDhAvbs2YPT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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "df['log_price'] = np.log(df['price'])\n", "df['log_age'] = np.log(df['age'])\n", "\n", - "ax = sns.scatterplot(data=df, x='log_age', y='log_price',hue='brand')\n", + "ax = sns.scatterplot(data=df, x='log_age', y='log_price',hue='style')\n", "sns.move_legend(ax, \"upper left\", bbox_to_anchor=(1, 1))\n", "\n", "print(df.loc[:,['log_price','log_age']].cov())\n", @@ -242,9 +1030,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk0AAAJOCAYAAACqbjP2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABZjElEQVR4nO3deXRU9f3/8dedmWQmO4FAEiBACCGEALKKCSr7rgJfi4ooKIIbFlGRgnUBN7QVBdsqoAW0LtW6UKvsKFQElFUBWWQNKosoJKyBJPf3Bya/RgjchEnuLM/HOXN07tx75325mbmved/P3DFM0zQFAACA83LYXQAAAIA/IDQBAABYQGgCAACwgNAEAABgAaEJAADAAkITAACABYQmAAAACwhNAAAAFhCaAAAALCA0AQAAWEBoAgAAsIDQBAAAYIHL7gIAAL4rOztbBw8etLsMvxQXF6c6derYXQa8iNAEADin7OxsNWqUrhMnjttdil8KCwvX5s2bCE4BhNAEADingwcP6sSJ42o75DFFJ9azuxy/krt3l76cPl4HDx4kNAUQQhMA4LyiE+upap00u8sAbMdAcAAAAAsITQAAABYQmgAAACwgNAEAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAW8DMqXsCvgJcPvwCOysTrtOw2bdpkdwmATyE0XSR+Bbz8+AVwVBZepxfndN4pu0sAfAKh6SLxK+Dlwy+AozLxOi2fveuXa8NH05Sfn293KYBPIDR5Cb8CDvg+Xqdlk7t3l90lAD6FgeAAAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgAaEJAADAAkITAACABYQmAAAACwhNAAAAFhCaAAAALCA0AQAAWEBoAgAAsIDQBAAAYAGhCQAAwAJCEwAAgAWEJgAAAAsITQAAABYQmgAAACwgNAEAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgAaEJAADAAkITAACABYQmAAAACwhNAAAAFhCaAAAALCA0AQAAWEBoAgAAsIDQBAAAYAGhCQAAwAJCEwAAgAUuuwtAcNu0aZPdJfiduLg41alTx+4yACDoEJpgixM5P0sydNNNN9ldit8JCwvX5s2bCE4AUMkITbDF6eNHJJlqfuMfVD25kd3l+I3cvbv05fTxOnjwIKEJACoZoQm2iqxRR1XrpNldBgAAF8RAcAAAAAsITQAAABYQmgAAACwgNAEAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWBN3PqJimqSNHjnhtfUePHpUk/bJ7i/LzTnhtvYEud+9uSVLOD98pxGXYXI3/yN2XLUlavXp18d8eLmzLli2SeJ2WFa/T8it6rR49elS5ubleWWdUVJQMg/1gJ8M0TdPuIipTbm6uYmJi7C4DAIAyycnJUXR0tN1lBLWg6zRFRUUpJyfH7jIqXG5urpKSkrRnz56gepGx3Wx3oAvGbZbY7j179igqKsrucoJe0IUmwzCC6gUXHR0dVNtbhO0OLsG43cG4zVJwbzen5uzHQHAAAAALCE0AAAAWEJoClNvt1mOPPSa32213KZWK7Wa7A10wbrPEdgfbdvuqoPv2HAAAQHnQaQIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWEJoAAAAsCLrQZJqmcnNzxeWpAACBjmOedwXdD/YeOXJEMTExir70/2S4QuwuB14QEhapK2571O4yAJ/w5+7xSqnK1aNxRtExLycnJyh/6Njbgq7TBAAAUB6EJgAAAAsITQAAABYQmgAAACwgNAEAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgAaEJAADAAkITAACABYQmAAAAC1x2FwAAACrWunXrFBkZaXcZPiUuLk516tQp0zKEJgAAAlz79u3tLsHnhIWFa/PmTWUKToQmAAACXKubxqhq3TS7y/AZuXt36cvp43Xw4EFCEwAA+P+iE+qoah1C08ViIDgAAIAFhCYAAAALCE0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgga2hqaCgQI888oiSk5MVFhamlJQUPfHEEzJN87zLLV68WC1btpTb7VaDBg00c+bMyikYAAAELVsvbvnss8/q5Zdf1muvvaaMjAytWrVKt956q2JiYjRixIhzLrNz50717t1bd955p958800tWrRIQ4cOVWJiorp3717JWwAAAIKFraFp2bJl6tOnj3r37i1Jqlevnt5++2199dVXpS4zZcoUJScna+LEiZKk9PR0LV26VC+88AKhCQAAVBhbT89lZWVp0aJF2rp1qyTp66+/1tKlS9WzZ89Sl1m+fLm6dOlSYlr37t21fPnyCq0VAAAEN1s7TWPGjFFubq4aNWokp9OpgoICPfXUUxo4cGCpy+zbt0/x8fElpsXHxys3N1cnTpxQWFhYicfy8vKUl5dXfD83N9e7GwEAgI/gmFexbO00vfvuu3rzzTf11ltvac2aNXrttdf03HPP6bXXXvPac0yYMEExMTHFt6SkJK+tGwAAX8Ixr2LZGpoefPBBjRkzRjfccIOaNm2qm2++Wffdd58mTJhQ6jIJCQnav39/iWn79+9XdHT0WV0mSRo7dqxycnKKb3v27PH6dgAA4As45lUsW0/PHT9+XA5HydzmdDpVWFhY6jKZmZmaPXt2iWkLFixQZmbmOed3u91yu90XXywAAD6OY17FsrXTdPXVV+upp57SJ598ol27dunDDz/U888/r379+hXPM3bsWA0aNKj4/p133qkdO3Zo9OjR2rx5s1566SW9++67uu++++zYBAAAECRs7TT95S9/0SOPPKK7775bBw4cUM2aNXXHHXfo0UcfLZ5n7969ys7OLr6fnJysTz75RPfdd58mT56s2rVr69VXX+VyAwAAoELZGpqioqI0adIkTZo0qdR5znW17w4dOmjt2rUVVxgAAMBv8NtzAAAAFhCaAAAALCA0AQAAWEBoAgAAsIDQBAAAYAGhCQAAwAJCEwAAgAWEJgAAAAsITQAAABYQmgAAACwgNAEAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgAaEJAADAAkITAACABYQmAAAACwhNAAAAFhCaAAAALCA0AQAAWEBoAgAAsIDQBAAAYAGhCQAAwAJCEwAAgAWEJgAAAAsITQAAABYQmgAAACwgNAEAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEvxcSEqL6sSHyuAy7SwFsZZqmFs75WMuWLbO7FCAguewuALgYycnJuu2221S9erhOFZha9cMJ7ck5bXdZQKXLyzmotX9/SLNWzZNhGBo5cqSeeuophYWF2V0aEDBs7TTVq1dPhmGcdRs+fPg55585c+ZZ83o8nkquGr7A5XKpX79+Gj16tKpVqyZJCnFIWXXClVUnXG4nXScEjx++mqMFozpp35qFks50nCZPnqymTZvqyy+/tLk6IHDY2mlauXKlCgoKiu9v2LBBXbt2Vf/+/UtdJjo6Wlu2bCm+bxgcHINNUlKSbrvtNsXHx8vh+P+5v+hvoVa0SzUiIrXyhxP6ITffrjKBCnfq6GF9PfMRfb/sI8kwJNMsfqywsFC7du1SZmamxowZo8cee0xut9vGagH/Z2toql69eon7zzzzjFJSUtS+fftSlzEMQwkJCRVdGnyQw+FQr1691Lt3b0lmicBUYj7DUKhTurxuhHYdOqU1P57Q6cLKrRWoaPvWLtLqqQ/q9NHDZyb8T2AqUvSh9JlnntGsWbP05ptvqkWLFpVYJRBYfGYg+KlTp/TGG29oyJAh5+0eHT16VHXr1lVSUpL69OmjjRs3nne9eXl5ys3NLXGD/6lZs6b++Mc/6qqrrpLD4ZDD4Tzv/EV/Q3WqhKhXWpQSIhm+h8Bw+niuVk99UMv/PESnjxySWVhwwWVM09TWrVvVpk0bjR8/XqdPM+4vUHHMq1g+E5pmzZqlw4cP65Zbbil1nrS0NE2fPl3//ve/9cYbb6iwsFBZWVn6/vvvS11mwoQJiomJKb4lJSVVQPWoKA6HQ927d9fDDz+smomJZT4d6zAMuZ2G2idHqHWtMLl85i8eKLsD65dq4ajO2vP5e5Ik07TeQi0oKFBBQYHGjx+vNm3aXPADJ/wTx7yKZZjmOXq6NujevbtCQ0P1n//8x/Iyp0+fVnp6ugYMGKAnnnjinPPk5eUpLy+v+H5ubq6SkpIUfen/yXCFXHTdqDjx8fG6bcgQ1alb1ytj1wpNU3n5plbsOa4Dxy786RzwFfknj2nDWxO0c+E/ZDgcMgsv7nyz0+mUYRh68sknNWrUKDmd5+/cwn+UdszrOOol1Uhtbl9hPuaX7C1a8NStWr16tVq2bGl5OZ84Z7F7924tXLhQH3zwQZmWCwkJUYsWLbRt27ZS53G73Qx+9DOGYahTp076v//7v+JvSXqDwzDkcUkd60fqu4N5+nrfSRX4xEcGoHQHN3+lVS/dqxM/75Okiw5M0v8f6zRmzBh98MEH+sc//qGGDRte9HphP455FcsnTlbMmDFDNWrU+HWAr3UFBQVav369EhMTK6gyVLa4uDiNGjVK1113nVwul9c/ARcFsAbVQtWzYaTiwvmEDd9UcOqk1r/xhD5//Dqd/GW/VIZTcWWxZs0aNWvWTJMnT1ahFwIZEMhsD02FhYWaMWOGBg8eLJerZONr0KBBGjt2bPH9xx9/XPPnz9eOHTu0Zs0a3XTTTdq9e7eGDh1a2WWjAlx55ZV67LHHlJycXOHPZRiGwkMc6lQ/QpckeOTgyhXwIb9sW6tFf+iubXOmSzItDfYur/z8fOXl5WnkyJFq3769du7cWWHPBfg720/PLVy4UNnZ2RoyZMhZj2VnZ5f4WvmhQ4c0bNgw7du3T7GxsWrVqpWWLVumxo0bV2bJ8LLY2FjdMniwGqWnyzTNSrv2VtHzpMWFqla0Syv2nNAvJxjrBPsUnM7T5vcna+t/XpJhOCqsu1SaFStWqHHjxpo0aZJuv/12roMH/IbPDASvLLm5uYqJiWEguI/IzMzUgAEDKuRUXFkUvQy+/SlP3x7IU2FQvSrgCw7v2qhVfxuhIz9uP+c1lypbly5dNH36dL595eeKjnkMBC/JrweCI/hER0dr0KBBatq0aaV2l0pT9PyNq7tVOzpEK/Yc1+GTjO9AxSvMP62tH72kzR9MkmT4RGCSpM8++0yNGzfWX//6Vw0aNMj21yguzsHdW3U63/6/LZfLpRB3qN1lKHfvrnItR6cJla5169a6aeBAhbrdPvlVZ9M0ZUrasD9Pm3/KU1C9QFCpcr/fqlV/u1c5uzdJPviXZhiGTNNU79699eqrr/JrDH6o6JiHs4WFhWvz5k2qU6eO5WUITag0kZGRGjjwRrVs2conuksXYpqmDp8s0PI9J3Qkj64TvMcsLNB3n7yib9/9s2RW7EBvb3A6nYqMjNTUqVN1/fXX210OyqDomJfe8xZFJ9a1tZZjB/dqw0fT9MYbbyg9Pd3WWqQz39YuS2CSOD2HStK8eXMNGjRIHo9Hkn/80LJhGIrxONUjNVLf7DuprQdP+WAvAP7m6N6dWvXySB3ats7uUiwrKChQbm6ubrjhBr333nt6+eWXFRcXZ3dZKIOEjEttH9P0S/YWbfhomtLT08s0jsiX2H7JAQS28PBwDRlyq+666y6Fh4f75Om483EYhhyGoUsSPOqcEqHIUF4yKB+zsFDb587Qoj900+Ed6+0up8yKTkp8+OGHSktL06xZs+wtCLABRwBUmIyMjF9/5+pSSf7RXSqNYRiKDTvTdWpQzf5BjPAvx37ao6VPXq9vXh+nwvxTPn867nwKCgp0+PBh9evXTzfffLMOHTpkd0lApSE0wes8Ho9uvvlmjRgxQpGRkSWuteXPznSdpFY1w9QxOULhIf4bAlE5TNPUzkVvadGDXfTz1tV2l+M1RVcOf/vtt9WoUSPNnTvX5oqAyhEYRzP4jLS0NI0fP15ZWVmSFDCBqUhRtywuwqmeDaNUP5YvE+DcTvy8V8sm3KR1fx+rglMn/bq7VJqCggIdPHhQPXv21LBhw3TkyBG7SwIqVGAd0WCb0NBQ3XDDDbr//vsVHR0dcGHptxyGIachtakdrivrhSvMRdcJZ5imqez/vq+FD3bST98ut7ucClfUdZo+fboaN26szz77zOaKgIoT2Ec2VIqUlBSNGzdO7du3lxR43aXSFHWd4iNd6tkwSnWr0HUKdicPH9CKiUO1esr9ys87EZDdpdIUFhbqxx9/VKdOnTRixAgdO3bM7pIArwuOoxsqhMvl0rXXXqsHH3xQsbGxQROWfsthGHI5pMuSwnV53XC56ToFpe9XfKyFozpr/7pfOy3BdQk8Sf+/6/S3v/1NTZo00bJly2yuCPCu4DzK4aLVrVtXjz76qLp06SLDMII2MBUp6jolRrnUq2GkakdzCbRgkZf7i76afJdWvjhcp08cCaruUmkKCwu1Z88eXX755Ro9erROnjxpd0mAVwT3kQ5l5nQ61adPH40ZM0bVq8cFfVj6LYdhKMRhqF3dCGUmhSnUSdcpkO1dvUALR3XSjyvnnZkQhN2l0hQUFMg0TU2cOFGXXHKJVq1aZXdJwEXjiAfLateurYcfflg9e/aUw+GQw+FfF6qsLEVdp9oxIerZMFI1o+g6BZpTx3K06qX7tGLiUJ0+lkN36TwKCwu1fft2tW3bVo8++qhOnTpld0lAuRGacEEOh0O9evXSQw89pISEeL++SGVlchiG3E5DV9SL0KW1whTCqy0g7P96iRaO6qTvl82SJJkmv0t4IQUFBSosLNSTTz6pVq1a6ZtvvrG7JKBceBvHeSUmJmrs2LG65ppr5HQ66S6VUVHArBsbop4NoxQfSdfJX50+cVRrXx2jZc8O0qncX2QWEpbKyjRNbdq0Sa1atdJTTz2l/Px8u0sCyoTQhHMyDENdu3bVww8/rFq1atFdukgOw5DHZahDcoRa1fTIxSvPr/z07XIterCLdn/2jiS6SxejoKBA+fn5euSRR9S2bVtt2rTJ7pIAy3jrxlmqV6+u0aNH69prr5XL5fK7H9n1VUXBM6VqqHqmRql6BP+uvi4/74S+eW2clj55g04e3k9Y8iLTNPXNN9/okksu0cSJE1VQwLgw+D5CE4oZhqEOHTroscceU926dekuVRDDMBQWYqhjcoSaJ3rEF+x8089bV2nR6K7aPv81SeJ0XAXIz8/X6dOnNWrUKF1xxRXavn273SUB50VogiSpWrVquv/++zVgwAC6S5XAMAwZhqGG1ULVIzVS1cL49/YVBadOasPbE/Tf8b/TiZ9/lOguVYqVK1eqSZMmeumll4ovkgn4GkIT1K5dO40bN04pKSmSRIepEhmGoYhQhzqnRKhZvFsO/ultdWjHen06tqe++3iqZJpcSqAS5efn6+TJkxo+fLg6d+6s7Oxsu0sCzkJoCmJVqlTRiBEjNGjQIIWEhNBdsklR16lRdbe6N4hUrIeXZWUrzD+lTe89r8WPXKNj+3dzkUqbLV26VOnp6fr73/8uk30BH8K7c5Bq27atxo8fr0aNGkmiu+QLDMNQlNuhLg0ilVHDLfZI5cjJ3qzP/niVNn/4omQW0l3yAfn5+Tp+/LiGDh2qXr166ccff7S7JEASoSnoREVF6a677tKQIUPkdrvpLvkYwzDkMAxl1HCrW4NIxbh5iVaUwoJ8bfn33/TZQ7105IdtdJd81IIFC5Senq4333yTrhNsxztyEGnZsqXGjx+vpk2bSqK75MsMw1C0x6FuqZFqVJ2uk7cd+WGbljzaR9++8yeZhQV0l3xYQUGBjhw5optuukn9+vXTgQMH7C4JQYzQFAQiIiI0dOhQ3XHHHQoPD6e75Cccv3admsW71SUlQlGhvFwvlllYqG2zX9WnY3soZzcXVfQXRR2mjz/+WI0aNdL7779vc0UIVrwLB7hmzZpp/PjxatmypSS6S/7IMAxVCXOqe2qkGlYLtbscv3V0/279d/zvtP6NJ1SYf5rukh8qKCjQ4cOH9bvf/U433nijfvnlF7tLQpAhNAUoj8ejwYMHa/jw4YqMiKC75OcchiGnw1CLmmHqVD9CESGEX6vMwkLtWPC6Fo3uqkPb19ldDi5SUdfp3XffVaNGjfTJJ5/YXBGCCaEpAKWnp+vxxx/XZZddJkkyHOzmQFIt3KkeDaOUUpWu04UcP/iDlj49UF/PeESFp/PoLgWQgoIC/fzzz7rqqqt06623Kicnx+6SEAQ4mgYQt9utG2+8USNHjlRUVJQchKWA5DAMOQ2pda0wdUgOVxhdp7OYpqldi9/Rwge76OfNX9pdDipI0ZXD//GPfyg9PV0LFy60uSIEOo6qASI1NVXjxo3TFVdcIUkEpgBXNDateoRLvVKjVK9KiM0V+Y6Th/Zr+Z9u0dppo1WQd5zuUhAoKCjQ/v371bVrV9111106evSo3SUhQHFk9XMhISG67rrrNGrUKFWpUoWwFGTOjHWS2iaF64q64fK4grfrZJqm9nwxSwtGddKB9Z/bXQ4qWVHXadq0acrIyNDnn/M3AO/jCOvHkpOT9dhjj6ljx46S6C4Fq6KuU0KUSz0bRikpJvi6Tnm5P+urSXdo1d/uVf7JY3SXglhhYaF++OEHtW/fXvfff79OnDhhd0kIIBxl/ZDL5VK/fv00evRoVatWjbAESWe6TiEOKatOuLLqhMvtDI6u0w9fzdGCBzpq7+pfx7Nw1eigV1BQINM0NXnyZDVt2lRffsm4NngHR1s/U6dOHT3yyCPq1q2bHA4HgQklFHWdakW71LNhpGpFu2yuqOKcOnpYK//6e3016U6dPp5LdwlnKSws1K5du5SZmamHHnpIeXl5dpcEP8cR1084HA5dddVVGjt2rGrUqE5Ywnk5DEOhTkOX141Q29phCgmwP5d9az/VglGd9MOKj89MoLuEUhR1nZ555hm1aNFCa9eutbsk+LEAeysNTDVr1tQf//hHXXXVVb92l7hQJS6sqOtUp0qIeqVFKSHS/7tOp48f0eqpD2r5n2/V6SOHZP46+Be4ENM0tXXrVrVp00aPP/64Tp8+bXdJ8EOEJh/mcDjUvXt3Pfzww0pMTOQnUFAuDsOQ22mofXKEWtcKk8tPX/UHNizVwgc7a8/n70mSTJPAhLIpKChQQUGBxo0bpzZt2mjjxo12lwQ/46dvn4EvPj5eY/7wB/Xr109Op5OfQcFFKQrcybEh6tUwSjUi/OfvKf/kca2b8Yi+eHqg8nJ+oruEi2aapjZu3KjmzZvrT3/6kwoKGA8HawhNPsYwDHXu3FmPPvqoaicl0V2CVzkMQx6XoY71I9Uy0SNf/4Ldwc0rtWh0F+1c+IYkEZjgNfn5+crPz9cf/vAHZWVlaevWrXaXBD9AaPIhcXFxGjVqlK677jq5XC66S6gQRUG8QbVQ9WwYqbhw3/s7Kzh1UuvfeEKfP95fJ37ZK3EqDhVozZo1atasmSZPnlx8kUzgXII2NDl97NtnV155pR577DElJyfbXQqChGEYCg9xqFP9CF2S4JHDR7pOv2xbp0V/6K5tc6ZLMukuocLl5+crLy9PI0eOVIcOHbRz5067S4KP8q3kUIm6ZjWXJNtPf8XGxuq+kSM1cOBAhYSE0F1CpTIMQ4ZhKC0uVD1SI1U1zL6/v4LTedr4zp+05LG+Ov7THrpLsMXy5cuVkZGhadOmyeRSFviNoA1N0x69R6+O+70iwzxyOu35Z8jMzNT48eOV2rChJPsDHIKXYRiKCHWoS0qEmsS7K73rdHjXRn32x97a+tFLkmlyoUrYJj8/XydOnNAdd9yhbt266fvvv7e7JPiQoA1NhmHod13baeXbz6vTpc0q9bmjo6N1zz336JZbblFoaCjdJfgEx69dp8bV3erWIFJVPBX/9lCYf1qbP5isxQ9fpaM/7uAilfApixcvVnp6ul5//XW6TpBkc2iqV69e8emB/70NHz681GX+9a9/qVGjRvJ4PGratKlmz559UTUkxMXq3T//QX996E6Fe9wV3nVq06aNHh8/Xo0bN5ZEdwm+xzAMRbkd6togUo2ru1VRf6G532/V4keu0ab3XpBZWEh3CT4nPz9fx44d0+DBg3XNNddo3759dpcEm9kamlauXKm9e/cW3xYsWCBJ6t+//znnX7ZsmQYMGKDbbrtNa9euVd++fdW3b19t2LDhouowDEM39e6gL9+cqHbNG1/UukoTGRmpO+64XUOHDpUnLIzuEnyawzDkMAw1iXera4MIRbu991ZhFhZo63+m6NOxPZW7Z4skPsHDdxV1mObOnatGjRrpnXfesbki2MkwfajnOHLkSH388cf67rvvztmBuf7663Xs2DF9/PHHxdMuu+wyNW/eXFOmTLH0HLm5uYqJiVFOTo6io6PPetw0Tc2YtVAPvfi6ThcUqKDg4gejNm/eXIMGDZLH4yEswe8UmqZkSt/sP6mtB09dVMQ5unenVr08Uoe2rfNWeUClMQxDpmmqf//+eumllxQXF2d3SRdUdMzrOOol1Uhtbmstv2Rv0YKnbtXq1avVsmVLW2spL58Z03Tq1Cm98cYbGjJkSKmnrJYvX64uXbqUmNa9e3ctX7681PXm5eUpNze3xO18DMPQkH5dteKN59S6cWrZN+R/hIeHa8iQW3XXXXcpPDycwAS/5DAMORyGLknwqHP9CEWGlv1twyws1PZ5M7ToD910eMf6CqgSqHhFPYYPPvhAaWlp+ve//21zRWcr6zEPZeMzoWnWrFk6fPiwbrnlllLn2bdvn+Lj40tMi4+PP+955gkTJigmJqb4lpSUZKmeerXiNeelx/T0iEEKdbnKPNYpIyND48ePV5s2l0pi7BL8n2EYig13qkdqpBpUC7W83LGf9mjpkzfom9fGqTD/FGOX4PcKCgp0+PBh9e3bV4MGDdLhw4ftLqlYeY95sMZnQtPf//539ezZUzVr1vTqeseOHaucnJzi2549eywv63A4dPf1vfTF639S09R6lgbEejwe3XTTTRoxYoQiIyPl8LGLaAIX48xYJ6lVzTB1TI5QeEjprwrTNLXz07e16MEu+nnrqkqsEqh4RVcOf+utt9SoUSPNmzfP5orOuJhjHi7MZXcBkrR7924tXLhQH3zwwXnnS0hI0P79+0tM279/vxISEkpdxu12y+12X1R9qXVrauHUJ/SXtz/Wk6+cGQR4rrFOaWlpGjJkSPFYKQITAlFR1zQuwqmeDaO09scT2nHodIl5Tvy8V2umPagD6z+3o0Sg0hQUFOinn35Sjx49NHToUD3//POKioqyrR5vHPNQOp84qs+YMUM1atRQ7969zztfZmamFi1aVGLaggULlJmZWZHlSZJcLqfuu7mP/jvjGTWqV1v/e7YtNDRUN9xwg+6//35FR0cTlhAUHIYhpyG1qR2uK+uFK8x1ZpBs9n/f18IHO+unjcvsLhGoFEVdp+nTp6tx48b67LPPbK4IFcX2o3thYaFmzJihwYMHy+Uq2fgaNGiQxo4dW3z/3nvv1dy5czVx4kRt3rxZ48aN06pVq3TPPfdUWr0ZKXW0ePrTGn3rtXI4DNWrV0/jxo1T+/btJdFdQnAp6jrFR7rUPrFQX08eptVT7ld+3nHGLiHoFBYW6scff1SnTp00YsQIFRTwGgg0th/hFy5cqOzsbA0ZMuSsx7Kzs7V3797i+1lZWXrrrbc0bdo0XXLJJXrvvfc0a9YsNWnSpDJLVojLpbG39denrzylG2+4XrGxsYQlBDWHYejLue9p51dnrrXGlb0RrIq6Tn/5y1+0bBnd1kBj+5imbt26lXp5+sWLF581rX///qVe/LKyNW9UXz+HHtXB43yaAPLzT8vhcBQfNIBgl5eXZ3cJ8DLaIwAAABYQmgAAACwgNAEAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgAaEJAADAAkITAACABYQmAAAACwhNAAAAFhCaAAAALCA0AQAAWEBoAgAAsIDQBAAAYAGhCQAAwAJCEwAAgAWEJgAAAAtcdhcAAAAq1sHdW3U63/T6el0ul0LcoZbmzd27y+vPX9kITQAABLj1/5pkdwmSpLCwcMXFxdldRrkRmgAACHDpPW9RdGJdr67z2MG92vDRNL3xxhtKT0+3tExcXJzq1Knj1ToqE6EJAIAAl5BxqWqkNvfqOn/J3qINH01Tenq6WrZs6dV1+yoGggMAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWEJoAAAAsuKjQdOrUKW3ZskX5+fneqgcAAMAnlSs0HT9+XLfddpvCw8OVkZGh7OxsSdLvf/97PfPMM14tEAAAwBeUKzSNHTtWX3/9tRYvXiyPx1M8vUuXLnrnnXe8VhwAAICvKNdvz82aNUvvvPOOLrvsMhmGUTw9IyND27dv91pxAAAAvqJcnaaffvpJNWrUOGv6sWPHSoQoAACAQFGu0NS6dWt98sknxfeLgtKrr76qzMxM71QGAADgQ8p1eu7pp59Wz5499e233yo/P1+TJ0/Wt99+q2XLlmnJkiXerhEAAMB25eo0XX755Vq3bp3y8/PVtGlTzZ8/XzVq1NDy5cvVqlUrb9cIAABgu3J1miQpJSVFr7zyijdrAQAA8Fnl6jTNnj1b8+bNO2v6vHnzNGfOnDKt64cfftBNN92katWqKSwsTE2bNtWqVatKnX/x4sUyDOOs2759+8q8HQAAAFaVKzSNGTNGBQUFZ003TVNjxoyxvJ5Dhw6pXbt2CgkJ0Zw5c/Ttt99q4sSJio2NveCyW7Zs0d69e4tv5/o2HwAAgLeU6/Tcd999p8aNG581vVGjRtq2bZvl9Tz77LNKSkrSjBkziqclJydbWrZGjRqqUqWK5ecCAAC4GOXqNMXExGjHjh1nTd+2bZsiIiIsr+ejjz5S69at1b9/f9WoUUMtWrSwPE6qefPmSkxMVNeuXfXFF19Yfk4AAIDyKFdo6tOnj0aOHFni6t/btm3TAw88oGuuucbyenbs2KGXX35Zqampmjdvnu666y6NGDFCr732WqnLJCYmasqUKXr//ff1/vvvKykpSR06dNCaNWvOOX9eXp5yc3NL3AAACEQc8ypWuU7P/elPf1KPHj3UqFEj1a5dW5L0/fff64orrtBzzz1neT2FhYVq3bq1nn76aUlSixYttGHDBk2ZMkWDBw8+5zJpaWlKS0srvp+VlaXt27frhRde0D/+8Y+z5p8wYYLGjx9fls0DAMAvccyrWOU+Pbds2TJ98sknuvvuu/XAAw9o0aJF+vTTT8s0zigxMfGssVHp6enKzs4uUz2XXnppqWOpxo4dq5ycnOLbnj17yrRuAAD8Bce8ilXu6zQZhqFu3bqpW7du5X7ydu3aacuWLSWmbd26VXXr1i3TetatW6fExMRzPuZ2u+V2u8tdIwAA/oJjXsWyHJpefPFF3X777fJ4PHrxxRfPO++IESMsrfO+++5TVlaWnn76aV133XX66quvNG3aNE2bNq14nrFjx+qHH37Q66+/LkmaNGmSkpOTlZGRoZMnT+rVV1/Vp59+qvnz51vdFAAAgDKzHJpeeOEFDRw4UB6PRy+88EKp8xmGYTk0tWnTRh9++KHGjh2rxx9/XMnJyZo0aZIGDhxYPM/evXtLnK47deqUHnjgAf3www8KDw9Xs2bNtHDhQnXs2NHqpgAAAJSZ5dC0c+fOc/7/xbrqqqt01VVXlfr4zJkzS9wfPXq0Ro8e7bXnBwAAsKLMA8FPnz6tlJQUbdq0qSLqAQAA8EllDk0hISE6efJkRdQCAADgs8p1yYHhw4fr2WefVX5+vrfrAQAA8EnluuTAypUrtWjRIs2fP19NmzY966dTPvjgA68UBwAA4CvKFZqqVKmia6+91tu1AAAA+KxyhaYZM2Z4uw4AAACfVu4rgkvSgQMHiq/onZaWpho1anilKAAAAF9TroHgubm5uvnmm1WrVi21b99e7du3V61atXTTTTcpJyfH2zUCAADYrlyhadiwYfryyy/18ccf6/Dhwzp8+LA+/vhjrVq1SnfccYe3awQAALBduU7Pffzxx5o3b54uv/zy4mndu3fXK6+8oh49enitOAAAAF9Rrk5TtWrVFBMTc9b0mJgYxcbGXnRRAAAAvqZcoenhhx/W/fffr3379hVP27dvnx588EE98sgjXisOAADAV5Tr9NzLL7+sbdu2qU6dOqpTp44kKTs7W263Wz/99JOmTp1aPO+aNWu8UykAAICNyhWa+vbt6+UyAAAAfFu5QtNjjz1mab63335bx44dO+tnVgAAAPxNucY0WXXHHXdo//79FfkUAAAAlaJCQ5NpmhW5egAAgEpToaEJAAAgUBCaAAAALCA0AQAAWEBoAgAAsKBCQ1PdunUVEhJSkU8BAABQKcp1nSarNmzYUJGrBwAAqDTlCk2xsbEyDOOs6YZhyOPxqEGDBrrlllt06623XnSBAAAAvqBcoenRRx/VU089pZ49e+rSSy+VJH311VeaO3euhg8frp07d+quu+5Sfn6+hg0b5tWCAQAA7FCu0LR06VI9+eSTuvPOO0tMnzp1qubPn6/3339fzZo104svvkhoAgAAAaFcA8HnzZunLl26nDW9c+fOmjdvniSpV69e2rFjx8VVBwAA4CPKFZqqVq2q//znP2dN/89//qOqVatKko4dO6aoqKiLqw4AAMBHlOv03COPPKK77rpLn332WfGYppUrV2r27NmaMmWKJGnBggVq37699yoFAACwUblC07Bhw9S4cWP99a9/1QcffCBJSktL05IlS5SVlSVJeuCBB7xXJQAAgM3KfZ2mdu3aqV27dt6sBQAAwGeVOzQVFBRo1qxZ2rRpkyQpIyND11xzjZxOp9eKAwAA8BXlCk3btm1Tr1699MMPPygtLU2SNGHCBCUlJemTTz5RSkqKV4sEAACwW7m+PTdixAilpKRoz549WrNmjdasWaPs7GwlJydrxIgR3q4RAADAduXqNC1ZskQrVqwovryAJFWrVk3PPPMM45wAAEBAKlenye1268iRI2dNP3r0qEJDQy+6KAAAAF9TrtB01VVX6fbbb9eXX34p0zRlmqZWrFihO++8U9dcc423awQAALBduULTiy++qJSUFGVmZsrj8cjj8SgrK0sNGjTQpEmTvFwiAACA/co1pqlKlSr697//rW3bthVfciA9PV0NGjTwanEAAAC+wnJouv/++8/7+GeffVb8/88//3z5KwIAAPBBlkPT2rVrLc1nGEa5iwEAAPBVlkPT/3aSAAAAgk25BoIDAAAEG0ITAACABYQmAAAAC2wPTT/88INuuukmVatWTWFhYWratKlWrVp13mUWL16sli1byu12q0GDBpo5c2blFAsAAIKWraHp0KFDateunUJCQjRnzhx9++23mjhxomJjY0tdZufOnerdu7c6duyodevWaeTIkRo6dKjmzZtXiZUDAIBgU66LW3rLs88+q6SkJM2YMaN4WnJy8nmXmTJlipKTkzVx4kRJZy6quXTpUr3wwgvq3r17hdYLAIA/Orh7q07nm5bmdblcCnFf+Hdkc/fuusiq/I+toemjjz5S9+7d1b9/fy1ZskS1atXS3XffrWHDhpW6zPLly9WlS5cS07p3766RI0dWcLUAAPin9f+aVCHrDQsLV1xcXIWs2xfZGpp27Nihl19+Wffff78eeughrVy5UiNGjFBoaKgGDx58zmX27dun+Pj4EtPi4+OVm5urEydOKCwsrMRjeXl5ysvLK76fm5vr/Q0BAMAHlHbMS+95i6IT615w+WMH92rDR9P0xhtvKD09/YLzx8XFqU6dOuUv2M/YGpoKCwvVunVrPf3005KkFi1aaMOGDZoyZUqpoamsJkyYoPHjx3tlXQAA+LLSjnkJGZeqRmrzCy7/S/YWbfhomtLT09WyZcsKqNC/2ToQPDExUY0bNy4xLT09XdnZ2aUuk5CQoP3795eYtn//fkVHR5/VZZKksWPHKicnp/i2Z88e7xQPAICP4ZhXsWztNLVr105btmwpMW3r1q2qW7f0FmJmZqZmz55dYtqCBQuUmZl5zvndbrfcbvfFFwsAgI/jmFexbO003XfffVqxYoWefvppbdu2TW+99ZamTZum4cOHF88zduxYDRo0qPj+nXfeqR07dmj06NHavHmzXnrpJb377ru677777NgEAAAQJGwNTW3atNGHH36ot99+W02aNNETTzyhSZMmaeDAgcXz7N27t8TpuuTkZH3yySdasGCBLrnkEk2cOFGvvvoqlxsAAAAVytbTc5J01VVX6aqrrir18XNd7btDhw5au3ZtBVYFAABQku0/owIAAOAPCE0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgAaEJAADAAkITAACABYQmAAAACwhNAAAAFhCaAAAALCA0AQAAWEBoAgAAsIDQBAAAYAGhCQAAwAJCEwAAgAWEJgAAAAsITQAAVADTNO0uAV5GaLpIIQ5Dht1FAD4g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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "sns.jointplot(data=df, x='log_age', y='log_price',kind='hex')" ] @@ -269,7 +1078,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -292,62 +1101,13 @@ " condition = bsObj.find(class_='attr condition').find(href=True).get_text()\n", " except:\n", " condition = 'missing'\n", - " #\n", - " try:\n", - " cylinders = bsObj.find(class_='attr auto_cylinders').find(class_ = 'valu').get_text()\n", - " cylinders = cylinders.replace('\\n','')\n", - " except:\n", - " cylinders = 'missing'\n", - " #\n", - " try:\n", - " drivetrain = bsObj.find(class_='attr auto_drivetrain').find(href=True).get_text()\n", - " except:\n", - " drivetrain = 'missing'\n", - " #\n", - " try:\n", - " fuel = bsObj.find(class_='attr auto_fuel_type').find(href = True).get_text()\n", - " except:\n", - " fuel = 'missing'\n", - " #\n", - " try:\n", - " miles = bsObj.find(class_='attr auto_miles').find(class_ = 'valu').get_text()\n", - " except:\n", - " miles = np.nan\n", - " #\n", - " try:\n", - " color = bsObj.find(class_='attr auto_paint').find(href=True).get_text()\n", - " except:\n", - " color='missing'\n", - " #\n", - " try:\n", - " title = bsObj.find(class_='attr auto_title_status').find(href=True).get_text()\n", - " except:\n", - " title='missing'\n", - " #\n", - " try:\n", - " transmission = bsObj.find(class_='attr auto_transmission').find(href=True).get_text()\n", - " except:\n", - " transmission = 'missing'\n", - " #\n", - " try:\n", - " bodytype = bsObj.find(class_='attr auto_bodytype').find(href=True).get_text()\n", - " except:\n", - " bodytype = 'missing'\n", - " #\n", + "\n", " text = bsObj.find(id='postingbody').get_text()\n", " text = text.replace('\\n','')\n", " text = text.replace('QR Code Link to This Post','')\n", " record = {'title':title,\n", " 'year_post':year_post,\n", " 'condition':condition,\n", - " 'cylinders':cylinders,\n", - " 'drivetrain':drivetrain,\n", - " 'fuel':fuel,\n", - " 'miles':miles,\n", - " 'color':color,\n", - " 'title':'title',\n", - " 'transmission':transmission,\n", - " 'bodytype':bodytype,\n", " 'text':text,}\n", " data.append(record)" ] @@ -374,22 +1134,41 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 143 entries, 0 to 142\n", + "Data columns (total 12 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 title 143 non-null object \n", + " 1 price 143 non-null int64 \n", + " 2 year 14 non-null float64\n", + " 3 link 143 non-null object \n", + " 4 style 143 non-null object \n", + " 5 age 14 non-null float64\n", + " 6 log_price 143 non-null float64\n", + " 7 log_age 14 non-null float64\n", + " 8 title 143 non-null object \n", + " 9 year_post 0 non-null float64\n", + " 10 condition 143 non-null object \n", + " 11 text 143 non-null object \n", + "dtypes: float64(5), int64(1), object(6)\n", + "memory usage: 13.5+ KB\n" + ] + } + ], "source": [ "new_df = pd.DataFrame.from_dict(data)\n", "new_df.head()\n", "\n", "df = pd.concat([df,new_df],axis=1) # combine data frames\n", - "df.head()\n", - "\n", - "df['miles'] = df['miles'].str.replace(',','')\n", - "df['miles'] = pd.to_numeric(df['miles'],errors='coerce')\n", - "\n", - "df['year_post'] = df['year_post'].str.replace(',','')\n", - "df['year_post'] = pd.to_numeric(df['year_post'],errors='coerce')\n", - "df.to_csv('craiglist_cville_cars_long.csv')" + "df.info()" ] }, { @@ -398,13 +1177,99 @@ "source": [ "## 4. From your search results, crawl to the links and extract more information about every listing in your original dataframe. Wrangle and do some EDA." ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "condition\n", + "missing 49\n", + "excellent 31\n", + "like new 28\n", + "good 25\n", + "new 7\n", + "fair 3\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.value_counts('condition')" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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dezYUWfOnHFafunSJa1YscLxc2BgoIYMGaILFy6obdu2+uOPP1JsMy4uTkuXLk330fPkpk2bluJmae+++662bNmiAgUKpNlIDx48WDabTZMnT9bly5fVpUuXmz6lX7pyjfiIESMkXbkp2OTJkxUXF5diXHh4uFq0aKFJkyY5Yn369JGvr6+2bdum8ePHO50Kv337dr3xxhuSrsybzJB0M733338/xU3rJk6cqG3btt30NpPOJNi9e/dNrdexY0eVKlVKx48f1/Dhw52a9sOHDzve0yFDhsjb2/um8wKAXCtL7pkOALit1q5dayQZLy8vEx0dfcPx99xzj5FkJk2a5BRP/rglSWbMmDFpbiM2NtY0bdrUSDKenp6mTp065vHHHzcdO3Y0derUMZ6enkaS2bt3r2OdpEeGXfv4o+TOnj3reORR4cKFzSOPPGI6dOhgAgICTIECBRyP3OrevXuKdfv27WskGTc3N9OoUSPTpUsXc9dddxk3NzfH88YffPDBFOutW7fOFClSxEgyAQEBpkmTJqZr167moYceMuXKlXM8zzq9bvSc7tQkPXLqlVdeSXPM9R4TdeTIEVOpUiUjyeTPn980b97cdOnSxTRo0MD4+fmlWCc+Pt7xrHWbzWZq1qxpOnToYDp16mTq169vfHx8jCSzYsWKdNeQNG+GDRtmLMsyDRo0MF26dDF33323Y78sXLjwutt45JFHHNsJDw9P92unZty4ccbDw8PxmKtmzZqZJ554wrRr187xzGml8riuZcuWGW9vbyPJVK5c2XTp0sU0bdrUuLu7G0mmZ8+eKV7rRvvvenN/0KBBjv2QNG/vvPNOY7PZHPP9Zh4Z9sEHHzieWd++fXvTu3dv07t3b8dj16637pYtW0yhQoUcyzt16mRat27teD9atGhh4uLinNZJmu+p/X/yRq8HALkBTTcA5AFPPfWUkWQee+yxdI2fMmWKkWSqVKniFL906ZLjD27LssyhQ4euu53ExEQzf/5807p1axMYGGg8PDxM4cKFzV133WV69uxpvv32W3P58mXH+PQ03cYYc/r0aTNw4EBTrlw54+XlZYKDg82TTz5pDhw4cN0/8O12u/n000/NPffcY7y9vY2/v79p3ry5Wb9+vZk7d66RZLp06ZLqa548edK8/PLL5p577jEFChQwnp6epkSJEqZevXrmlVdeMTt3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MkShoaGOO5cvW7ZMJ0+e1H333Sdvb2/99NNPGj9+vJ599llHHm3btlWfPn00bdo0tWjRQidOnNCwYcN07733Kjg4WJL07bffatSoUdq3b59TDQsWLFBCQoKefPLJVGtMerb4+fPndfr0ae3YsUOenp6qWrVq5r2RAAAAAHIly9zoMCBSiI2NlZ+fn2JiYuTr65vV6WSpd999V1988YUOHDigCxcuKDg4WF26dNGbb74pNzc3zZ49Wz179kyx3iuvvKJXX31VknTp0iWNGDFCX375peLi4hynhiedXr5y5UqNGjVKBw8elDFG5cuX14ABA9SnTx+no9vvv/++Pv74Yx0+fFj+/v5q0qSJJkyYoOLFi0uSI5drp3y9evUUEhKiefPmpVqjZVkpYqVLl07zMWgAAAAAcr/09oU03RlA0526Hj16aPbs2VmdBgAAAAC4XHr7Qq7pBgAAAADARWi6kWk4yg0AAAAAzriRWi5WZuT3WZ0CbtGRt9pkdQoAAAAAbgFHugEAAAAAcBGabgAAAAAAXISmGwAAAAAAF6HpBgAAAADARWi6AQAAAABwEZpuAAAAAABchKYbAAAAAAAXoekGAAAAAMBFaLoBAAAAAHARmm4AAAAAAFyEphsAAAAAABeh6QYAAAAAwEVougEAAAAAcBGabgAAAAAAXISmGwAAAAAAF6HpBgAAAADARWi6AQAAAABwEZpuAAAAAABchKYbAAAAAAAXyVZN9/r169W2bVsFBwfLsix99913TsuNMRozZoyKFSumfPnyqVmzZjpw4IDTmOjoaHXt2lW+vr7y9/dX7969df78eacxO3fu1AMPPCBvb2+VLFlSEydOdHVpAAAAAIA8KFs13RcuXFD16tX14Ycfprp84sSJmjp1qj7++GNt3rxZPj4+atGihS5duuQY07VrV+3evVs//fSTli9frvXr16tv376O5bGxsWrevLlKly6t8PBwvf3223r11Vc1ffp0l9cHAAAAAMhbLGOMyeokUmNZlr799ls98sgjkq4c5Q4ODtaIESP07LPPSpJiYmIUGBio2bNnq3Pnztq7d6+qVq2qrVu3qnbt2pKklStXqnXr1jp27JiCg4M1bdo0vfTSS4qMjJSnp6ckaeTIkfruu++0b9++dOUWGxsrPz8/xcTEyNfXN/OLzyRlRn6f1SngFh15q01WpwAAAAAg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EP31118ZTgoAAAAAgNwgQ033HXfccd2m+vDhw/L29s5wUgAAAAAA5AYZarobNWqkTz75RP/880+KZX///bemT5+uxo0b33JyAAAAAADkZBm6e/nYsWN177336s4771Tv3r115513SpJ27dqlmTNnyhijsWPHZmqiAAAAAADkNBlquitVqqRff/1VQ4YM0bvvvuu0rEGDBpo6daqqVKmSKQkCAAAAAJBTZfg53dWqVdO6desUFRWlQ4cOSZLKli2rIkWKZFpyAAAAAADkZBluupMUKVKERhsAAAAAgFSkq+meO3euJOmpp56SZVmOn2+kW7duGc8MAAAAAIAcLl1Nd48ePWRZljp37ixPT0/16NHjhutYlkXTDQAAAADI09LVdB8+fFiS5Onp6fQzAAAAAABIW7qa7tKlSzv+Oz4+XjExMSpUqJBKlCjhssQAAAAAAMjpbDe9gs2mWrVqafHixa7IBwAAAACAXOOmm243NzeVLl1acXFxrsgHAAAAAIBc46abbkkaMmSIpk+frujo6MzOBwAAAACAXCNDz+lOTEyUl5eXypUrp8cee0xlypRRvnz5nMZYlqWwsLBMSRIAAAAAgJwoQ033s88+6/jvGTNmpDqGphsAAAAAkNdlqOnmkWEAAAAAANxYhpru5I8QAwAAAAAAqbupG6lNnz5dVapUkbe3t4oXL66wsDDuYg4AAAAAQBrS3XR/99136t+/v44dO6Zq1arJbrdr6tSp6t+/vyvzAwAAAAAgx0p30z158mSVK1dOBw8e1JYtW/T333/r8ccf17x58xQbG+vKHAEAAAAAyJHS3XRHRESoX79+CgwMlCS5u7tr1KhRSkhI0N69e12W4LX++ecfPfnkkypcuLDy5cunu+++W7///rtjuTFGY8aMUbFixZQvXz41a9ZMBw4ccNpGdHS0unbtKl9fX/n7+6t37946f/78basBAAAAAJA3pLvpPn36tIKDg51ixYsXlyRdvHgxc7NKw9mzZ1W/fn15eHhoxYoV2rNnj9555x0VLFjQMWbixImaOnWqPv74Y23evFk+Pj5q0aKFLl265BjTtWtX7d69Wz/99JOWL1+u9evXq2/fvrelBgAAAABA3nFTdy+3LMtVeaTLhAkTVLJkSc2aNcsRCwkJcfy3MUZTpkzR6NGj9fDDD0uS5s6dq8DAQH333Xfq3Lmz9u7d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so2wsDBt2bJFn3/+uaZMmaKhQ4dq5cqVstvtjjH//POPhgwZoh9//FFt2rRJsY3XXntNkjR79uw0X2fq1KmSpNOnT2vnzp3pzi9//vwKCgpKdVnBggWdGv3SpUtr4MCBevvtt9O9fQBA1rmpI92HDh3S2LFjVblyZd1777365ptv1LVrVy1YsEDGGHXo0EGhoaE03AAAIFvZvn27unXrpoYNG8rPz0+NGzfWhAkT5O3tLUmy2+166qmn9Nxzz+nOO++87fnNmzdPRYoU0V133aVRo0bp4sWLaY49fvy4Fi9erIYNG97GDAEAGZXuI92hoaHasmWLihQposcee0yfffaZ7r//fknSn3/+6bIEAQAAblX9+vU1a9YsVa9ePdXlEyZMkLu7u4YOHXqbM5OeeOIJlS5dWsHBwdq5c6deeOEFRUREaPHixU7junTpoiVLlui///5T27Zt9dlnn932XAEANy/dTffmzZsVEhKiyZMnq02bNk7XdQMAAGRnkydP1vjx4xUWFqY///xTO3bsUP/+/dW/f3+Fh4frvffe07Zt27LkbL2+ffs6/vvuu+9WsWLF1LRpU/35558qV66cY9m7776rV155Rfv379eoUaM0fPhwffTRR7c9XwDAzUn36eUffPCBihUrpkcffVRBQUHq16+f1qxZI2OMK/MDAAC4ZT4+Pho3bpwOHDigdu3aacCAARo+fLimT5+uX3/9VadOnVKpUqXk7u4ud3d3/fXXXxoxYoTKlClz23OtW7euJOngwYNO8aCgIFWuXFnt2rXTJ598omnTpunEiRO3PT8AwM1J9+HqgQMHauDAgTp8+LDmzZun+fPn69NPP1VQUJAaN27seMQFAABAdubv769+/fpp1apV+vXXXzVlyhQ1a9bMaUyLFi301FNPqWfPnrc9vx07dkjSdR+/mnQDuLi4uNuREgDgFtz0I8NCQkI0evRo7dmzR1u3blXnzp21du1aGWM0cOBA9e3bV8uXL9elS5dckS8AAMBNCwsL07p16xQTE6PExEStWbNG69atU61atVS4cGHdddddTv88PDwUFBSkSpUqObZx9OhR7dixQ0ePHlViYqJ27NihHTt26Pz5844xBw8e1I4dOxQZGan//vvPMSbp0WT//POPKleurC1btki6cl+csWPHKjw8XEeOHNHSpUvVrVs3NWjQQNWqVZMk/fDDD5o1a5Z27dqlI0eO6Pvvv1f//v1Vv379LDkSDwC4Obd0YXatWrVUq1YtTZo0Sb/88ou++OILLViwQJ999pny58/v9CEEAACQVUqVKqXhw4frwIEDunDhgtauXatevXppyJAh6d7GmDFjNGfOHMfPNWvWlCStWbNGjRo1kiQ9/fTTWrduXYoxhw8fVpkyZRQfH6+IiAjH3ck9PT31888/a8qUKbpw4YJKliypDh06aPTo0Y5t5MuXT59++qnCwsIUFxenkiVLqn379ho5cmSG3w8AwO1jmUy+KPvSpUtasmSJ5s+fryVLlmTmprON2NhY+fn5KSYmRr6+vlmdTprKjPw+q1PALTryVsrnxLoa8ybnu93zhjmT82XF75qs1KNHj+s+axsAgPRIb19406eX34i3t7c6deqUaxtuAAAAAADSK9ObbgAAgOyMo9wAgNspRz9s+6233tKoUaP0zDPPaMqUKZKunN4+YsQIffXVV4qLi1OLFi300UcfKTAw0LHe0aNHNWDAAK1Zs0Z33HGHunfvrjfffJNnjwMAcBtwSULOl9cuSQCAW5Fjj3Rv3bpVn3zyiePOnknCwsK0bNkyLVy4UOvWrdPx48fVvn17x/LExES1adNGly9f1oYNGzRnzhzNnj1bY8aMud0lAAAAAAByuRzZdJ8/f15du3bVp59+qoIFCzriMTExmjFjhiZPnqwmTZqoVq1amjVrljZs2KBNmzZJklatWqU9e/boiy++UI0aNdSqVSuNHTtWH374oeNxHgAAAAAAZIYc2XQPGjRIbdq0UbNmzZzi4eHhio+Pd4pXrlxZpUqV0saNGyVJGzdu1N133+10unmLFi0UGxur3bt3354CAAAAAAB5Qo67iPmrr77Stm3btHXr1hTLIiMj5enpKX9/f6d4YGCgIiMjHWOSN9xJy5OWpSYuLk5xcXGOn2NjYyVJCQkJSkhIkCTZbDbZbDbZ7XbZ7XbH2KR4YmKikj+dLa24m5ubLMtybDd5XLpyenx64u7u7rJk5J7saxVjpARjySYjt9TilpGbdTVuN1KiseRmGdmSxRONZDeW3C0jK3ncLtmVMp5gl4wsedicn053JS55XPPVT7xdsiSn3K/ErTxXU/J5YFmW3Nzc0pxjmTX32E85v6bk8+Z6vyOMMU7xtObYjeYe+ynn15R8zvD5lH33U3aqKSs+nzJj7mXW7z1qoiZqoqakeHrkqKb777//1jPPPKOffvpJ3t7et+1133zzTb322msp4tu3b5ePj48kqWjRoipXrpwOHz6s06dPO8aUKFFCJUqU0P79+xUTE+OIly1bVgEBAdq1a5f+++8/R7xy5cry9/fX9u3bnXZ4tWrV5Onpqd9//90ph9q1a+vy5cvauXOnI+bm5qY6deqouI/UqsTViXDusrTwsJsq+Bk1CLo6UY9dlFb87aaahY3uKXw1HhFjaX2kpfqBRpX8rsa3nbEUHmXpwRJ2lch/NZf1kZYiYiw9WsYuf8+r8RXHbDp2Qepazu70Yf/NYZvOJ0g9KjhP1tkHbLrDXXos5Go83i7NPuCW52pKvr/9/PxUpUoVHT9+XMeOHXPEM3vusZ9yfk3J5831fkfExMRo3759jni+fPlUvXp1RUVF6dChQ474jeYe+ynn15R8zvD5lH33U3aqKSs+nzJj7mXW7z1qoiZqoqYqVaroxIkTSg/LJP+aIJv77rvv9Oijjzq+nZCufENhWZZsNpt+/PFHNWvWTGfPnnU62l26dGkNGzZMYWFhGjNmjJYuXaodO3Y4lh8+fFhly5bVtm3bVLNmzRSvm9qR7pIlS+rMmTOOh6Bnx29qQkYuz1PfuufGmva/0dIRv13fElZ4cblLa8qN+ym71bT39avz5nZ8Q11u1HL2Uw6vad/Yq3OGz6fsu5+yU01Z8fnEkTlqoiZqym41nTt3TgULFlRMTIyjL0xNjjrS3bRpU/3xxx9OsZ49e6py5cp64YUXVLJkSXl4eGj16tXq0KGDJCkiIkJHjx5VaGioJCk0NFTjxo3TqVOnFBAQIEn66aef5Ovrq6pVq6b6ul5eXvLy8koRd3d3T/GYsaTJcK3kXxSkJ57W48tuJm5kKT6VMx7sspTamRB2Y8meylcwicZSYirxBGNd+QRPZzzebqUMSqnmaNKM562aUtuvac2xzJp77KecX1Nq8ya1mGVlzhxjP+X8mlKbB3w+Zb/9lJ1qyorPp8yYe5n1e4+aqOlm49SUe2tKjxzVdBcoUEB33XWXU8zHx0eFCxd2xHv37q3hw4erUKFC8vX11ZAhQxQaGqr77rtPktS8eXNVrVpVTz31lCZOnKjIyEiNHj1agwYNSrWxBgAAAAAgo3JU050e7777rmw2mzp06KC4uDi1aNFCH330kWO5m5ubli9frgEDBig0NFQ+Pj7q3r27Xn/99SzMGgAAAACQG+X4pnvt2rVOP3t7e+vDDz/Uhx9+mOY6pUuX1g8//ODizAAAAAAAeV2OfE43AAAAAAA5AU03AAAAAAAuQtMNAAAAAICL0HQDAAAAAOAiNN0AAAAAALgITTcAAAAAAC5C0w0AAAAAgIvQdAMAAAAA4CI03QAAAAAAuAhNNwAAAAAALkLTDQAAAACAi9B0AwAAAADgIjTdAAAAAAC4CE03AAAAAAAuQtMNAAAAAICL0HQDAAAAAOAiNN0AAAAAALgITTcAAAAAAC5C0w0AAAAAgIvQdAMAAAAA4CI03QAAAAAAuAhNNwAAAAAALkLTDQAAAACAi9B0AwAAAADgIjTdAAAAAAC4CE03AAAAAAAuQtMNAAAAAICL0HQDAAAAAOAiNN0AAAAAALgITTcAAAAAAC5C0w0AAAAAgIvQdAMAAAAA4CI03QAAAAAAuAhNNwAAAAAALkLTDQAAAACAi9B0AwAAAADgIjTdAAAAAAC4CE03AAAAAAAuQtMNAAAAAICL0HQDAAAAAOAiNN0AAAAAALgITTcAAAAAAC5C0w0AAAAAgIvQdAMAAAAA4CI03QAAAAAAuAhNNwAAAAAALkLTDQAAAACAi9B0AwAAAADgIjTdAAAAAAC4CE03AAAAAAAuQtMNAAAAAICL0HQDAAAAAOAiNN0AAAAAALgITTcAAAAAAC5C0w0AAAAAgIvQdAMAAAAA4CI03QAAAAAAuAhNNwAAAAAALkLTDQAAAACAi9B0AwAAAADgIjTdAAAAAAC4CE03AAAAAAAuQtMNAAAAAICL0HQDAAAAAOAiNN0AAAAAALgITTcAAAAAAC5C0w0AAAAAgIvQdAMAAAAA4CI03QAAAAAAuAhNNwAAAAAALkLTDQAAAACAi+SopvvNN99UnTp1VKBAAQUEBOiRRx5RRESE05hLly5p0KBBKly4sO644w516NBBJ0+edBpz9OhRtWnTRvnz51dAQICee+45JSQk3M5SAAAAAAB5QI5qutetW6dBgwZp06ZN+umnnxQfH6/mzZvrwoULjjFhYWFatmyZFi5cqHXr1un48eNq3769Y3liYqLatGmjy5cva8OGDZozZ45mz56tMWPGZEVJAAAAAIBczD2rE7gZK1eudPp59uzZCggIUHh4uBo0aKCYmBjNmDFD8+fPV5MmTSRJs2bNUpUqVbRp0ybdd999WrVqlfbs2aOff/5ZgYGBqlGjhsaOHasXXnhBr776qjw9PbOiNAAAAABALpSjjnRfKyYmRpJUqFAhSVJ4eLji4+PVrFkzx5jKlSurVKlS2rhxoyRp48aNuvvuuxUYGOgY06JFC8XGxmr37t23MXsAAAAAQG6Xo450J2e32zVs2DDVr19fd911lyQpMjJSnp6e8vf3dxobGBioyMhIx5jkDXfS8qRlqYmLi1NcXJzj59jYWElSQkKC41pwm80mm80mu90uu93uGJsUT0xMlDHmhnE3NzdZlpXiGnM3NzdJV06PT0/c3d1dlozck32tYoyUYCzZZOSWWtwycrOuxu1GSjSW3CwjW7J4opHsxpK7ZWQlj9slu1LGE+ySkSUP29U6r8Ylj2u++om3S5bklPuVuJXnako+DyzLkpubW5pzLLPmHvsp59eUfN5c73eEMcYpntYcu9HcYz/l/JqSzxk+n7LvfspONWXF51NmzL3M+r1HTdRETdSUFE+PHNt0Dxo0SLt27dL//vc/l7/Wm2++qddeey1FfPv27fLx8ZEkFS1aVOXKldPhw4d1+vRpx5gSJUqoRIkS2r9/v+PIvCSVLVtWAQEB2rVrl/777z9HvHLlyvL399f27duddni1atXk6emp33//3SmH2rVr6/Lly9q5c6cj5ubmpjp16qi4j9SqxNWJcO6ytPCwmyr4GTUIujpRj12UVvztppqFje4pfDUeEWNpfaSl+oFGlfyuxredsRQeZenBEnaVyH81l/WRliJiLD1axi7/ZGfprzhm07ELUtdydqcP+28O23Q+QepRwXmyzj5g0x3u0mMhV+Pxdmn2Abc8V1Py/e3n56cqVaro+PHjOnbsmCOe2XOP/ZTza0o+b673OyImJkb79u1zxPPly6fq1asrKipKhw4dcsRvNPfYTzm/puRzhs+n7LufslNNWfH5lBlzL6O/98aOHauXX345V9WUG/cTNVHT7a7pxIkTSg/LJP+aIIcYPHiwlixZovXr1yskJMQR/+WXX9S0aVOdPXvW6Wh36dKlNWzYMIWFhWnMmDFaunSpduzY4Vh++PBhlS1bVtu2bVPNmjVTvF5qR7pLliypM2fOyNfXV1L2/KYmZOTyPPWte26saf8bLR3x2/UtYYUXl7u0pty4n7JbTXtfvzpvbsc31OVGLWc/5fCa9o29Omf4fMq++yk71ZQVn09ZeWSuV69emjlzplNNixYt0vTp07Vt2zZFR0dr+/btuvvuu1PUtHnzZr344ovasmWL3NzcVL16df3444/Knz+/o6YffvhBb7zxhv744w95e3urQYMGWrRoUZo1nT9/Xi+++KKWLl2qM2fOKCQkRIMGDVK/fv2ccv/tt980ZswYx2vXqFFDK1askJeXV67cT9RETbe7pnPnzqlgwYKKiYlx9IWpyVFHuo0xGjJkiL799lutXbvWqeGWpFq1asnDw0OrV69Whw4dJEkRERE6evSoQkNDJUmhoaEaN26cTp06pYCAAEnSTz/9JF9fX1WtWjXV1/Xy8nL65ZTE3d1d7u7Ob2HSZLhW0s5Nb/za7WYkbmQpPpUzHuyylNqZEHZjyZ7KVzCJxlJiKvEEY135BE9nPN5upQxKqeZo0oznrZpS269pzbHMmnvsp5xfU2rzJrWYZWXOHGM/5fyaUpsHfD5lv/2UnWrKis+nzJh7N/N7LyoqSiNGjNCaNWt08uRJbdiwQTVr1tS8efPk6empS5cu6YEHHlCnTp3Up0+fVHPfuHGjWrZsqVGjRumDDz6Qu7u7/u///s8xzt3dXYsWLVKfPn00fvx4NWnSRAkJCdq1a9d1f5c///zz+uWXX/TFF1+oTJkyWrVqlQYOHKiSJUuqXbt2kqTNmzfroYceSvHaqf39mtZ7kFpNN4rf7v2UkTg1UVNa8YzUlB45qukeNGiQ5s+fryVLlqhAgQKOa7D9/PyUL18++fn5qXfv3ho+fLgKFSokX19fDRkyRKGhobrvvvskSc2bN1fVqlX11FNPaeLEiYqMjNTo0aM1aNCgVBtrAAAA5D1hYWHasmWLPv/8c02ZMkVDhw7VypUrHUe7nnrqKUnSkSNHrruNoUOHauTIkY5YpUqVHP+dkJCgZ555Rm+//bZ69+7tiKd1ICjJhg0b1L17dzVq1EiS1LdvX33yySfasmWLo+m+0WsDuH1y1N3Lp02bppiYGDVq1EjFihVz/FuwYIFjzLvvvquHHnpIHTp0UIMGDRQUFKTFixc7lru5uWn58uVyc3NTaGionnzySXXr1k2vv/56VpQEAACAbGj79u3q1q2bGjZsKD8/PzVu3FgTJkyQt7d3utY/deqUNm/erICAANWrV0+BgYFq2LCh0/2Itm3bpn/++Uc2m001a9ZUsWLF1KpVK+3ateu6265Xr56WLl2qf/75R8YYrVmzRvv371fz5s3T/doAbp8cdaQ7PZefe3t768MPP9SHH36Y5pjSpUvrhx9+yMzUAAAAkIvUr19fs2bNUvXq1TO0ftJNl1599VVNmjRJNWrU0Ny5c9W0aVPt2rVLFSpUcBozefJklSlTRu+8844aNWqk/fv3Ox6Le633339fffv2VYkSJeTu7i6bzaZPP/1UDRo0SPdrA7h9ctSRbgAAAOB2mDx5sjp16qSwsDDNnTtXNWrU0Mcff5zu9ZNOQ+/Xr5969uypmjVr6t1331WlSpU0c+ZMpzEvvfSSOnTooFq1amnWrFmyLEsLFy5Mc9vvv/++Nm3apKVLlyo8PFzvvPOOBg0apJ9//jndrw3g9qHpBgAAAK7h4+OjcePG6cCBA2rXrp0GDBig4cOHa/r06elav1ixYpJSXp9dpUoVHT16NM0xXl5eKlu2rGPMtf777z+9+OKLmjx5stq2batq1app8ODB6tSpkyZNmpTu14br9ejRI6tTQDZB0w0AAABch7+/v/r166dWrVrp119/Tdc6ZcqUUXBwsCIiIpzi+/fvV+nSpSVdefKOl5eX05j4+HgdOXLEMeZa8fHxio+PT3HX5KTHGqX3tZE1Fi9erObNm6tw4cKyLMvpMcZJGjVqJMuynP7179/faczRo0fVpk0b5c+fXwEBAXruuedSPDLrWtHR0eratat8fX3l7++v3r176/z5805jdu7cqQceeEDe3t4qWbKkJk6ceMs1g6YbAAAASCEsLEzr1q1TTEyMEhMTtWbNGq1bt061atWSdKWB2bFjh/bs2SPpymNqd+zY4Xi6jmVZeu655zR16lR98803OnjwoF5++WXt27fPcadyX19f9e/fX6+88opWrVqliIgIDRgwQJLUsWNHRy6VK1fWt99+61inYcOGeu6557R27VodPnxYs2fP1ty5c/Xoo4+m+7XhGlFRUerevbtKlSqlL7/8UuXLl1fHjh11+fJlSdKFCxd0//33a8KECdfdTp8+fXTixAnHv+TNb2Jiotq0aaPLly9rw4YNmjNnjmbPnq0xY8Zcd5tdu3bV7t279dNPP2n58uVav369+vbt61geGxur5s2bq3Tp0goPD9fbb7+tV199Nd1ndyBtOepGagAAAMDtUKpUKQ0fPlwHDhzQhQsXtHbtWvXq1UtDhgyRJC1dulQ9e/Z0jO/cubMk6ZVXXtGrr74qSRo2bJguXbqksLAwRUdHq3r16vrpp59Urlw5x3pvv/223N3d9dRTT+m///5T3bp19csvv6hgwYKOMREREYqJiXH8/NVXX2nUqFHq2rWroqOjVbp0aY0bN87paGh6XhuZLzMeNSdJ+fPnV1BQUKrLVq1apT179ujnn39WYGCgatSoobFjx+qFF17Qq6++Kk9PzxTr7N27VytXrtTWrVtVu3ZtSVfuDdC6dWtNmjRJwcHBmjdvni5fvqyZM2fK09NTd955p3bs2KHJkyc7Nee4eZZJzy3B4SQ2NlZ+fn6KiYmRr69vVqeTpjIjv8/qFHCLjrzV5ra/JvMm57vd84Y5k/MxZ3CzsuLzKSv16NFDs2fPzuo0kAPcdddd6tKli1566aXrzpsjR44oJCRE27dvV40aNZyWNWrUSLt375YxRkFBQWrbtq1efvll5c+fX5I0ZswYLV261OnU9MOHD6ts2bLatm2batasmeL1Zs6cqREjRujs2bOOWEJCgry9vbVw4UI9+uij6tatm2JjY/Xdd985xqxZs0ZNmjRRdHS00xdBuCK9fSFHugEAAAAgE9zqo+Yk6YknnlDp0qUVHBysnTt36oUXXlBERIQWL14sSYqMjFRgYKDTOkk/J13ecK3IyEgFBAQ4xdzd3VWoUCHHOpGRkQoJCUlzuzTdGUfTDQAAAFwHR7mRXpMnT9b48eMVFhamP//8Uzt27FD//v1T3AjtepKfyn333XerWLFiatq0qf78808uD8ihaLoBAACQ7XFZQs6XFy5LSHrU3Lhx4/TII4+oVatWCgsLk81my/B10XXr1pUkHTx4UOXKlVNQUJC2bNniNObkyZOSlOZ14EFBQTp16pRTLCEhQdHR0Y51goKCHNtJ73aRPty9HAAAAAAyWUYeNZeapGu3k56/Hhoaqj/++MOpif7pp5/k6+ub4tnsSUJDQ3Xu3DmFh4c7Yr/88ovsdrujqQ8NDdX69esVHx/vtN1KlSpxavktoukGAAAAgExwq4+a+/PPPzV27FiFh4fryJEjWrp0qbp166YGDRqoWrVqkqTmzZuratWqeuqpp/R///d/+vHHHzV69GgNGjRIXl5ekqQtW7aocuXK+ueffyRJVapUUcuWLdWnTx9t2bJFv/32mwYPHqzOnTsrODhY0pVryT09PdW7d2/t3r1bCxYs0Hvvvafhw4ff1vcwN+L0cgAAAADIBLf6qDlPT0/9/PPPmjJlii5cuKCSJUuqQ4cOGj16tGMdNzc3LV++XAMGDFBoaKh8fHzUvXt3vf76644xFy9eVEREhNNR63nz5mnw4MFq2rSpbDabOnTooKlTpzqW+/n5adWqVRo0aJBq1aqlIkWKaMyYMTwuLBPwyLAM4JFhuF14ZBgygsc/4WYxZ3Cz+HxCRuSFa7qT41FzuV96+0JOLwcAAAAAwEVougEAAAAgk3GUG0m4phsAAABArsMlCTlfbrkkgSPdAAAAAAC4CE03AAAAAAAuQtMNAAAAAICL0HQDAAAAAOAiNN0AAAAAALgITTcAAAAAAC5C0w0AAAAAgIvQdAMAAAAA4CI03QAAAAAAuAhNNwAAAAAALkLTDQAAAACAi9B0AwAAAADgIjTdAAAAAAC4CE03AAAAAAAuQtMNAAAAAICL0HQDAAAAAOAiNN0AAAAAALgITTcAAAAAAC5C0w0AAAAAgIvQdAMAAAAA4CI03QAAAAAAuAhNNwAAAAAALkLTDQAAAACAi9B0AwAAAADgIjTdAAAAAAC4CE03AAAAAAAuQtMNAAAAAICL0HQDAAAAAOAiNN0AAAAAALgITTcAAAAAAC5C0w0AAAAAgIvQdAMAAAAA4CI03QAAAAAAuAhNNwAAAAAALkLTDQAAAACAi9B0AwAAAADgIjTdAAAAAAC4CE03AAAAAAAuQtMNAAAAAICL0HQDAAAAAOAiNN0AAAAAALgITTcAAAAAAC5C0w0AAAAAgIvQdAMAAAAA4CI03QAAAAAAuAhNNwAAAAAALkLTDQAAAACAi9B0AwAAAADgIjTdAAAAAAC4CE03AAAAAAAuQtMNAAAAAICL0HQDAAAAAOAiNN0AAAAAALgITTcAAAAAAC5C0w0AAAAAgIvQdAMAAAAA4CJ5uun+8MMPVaZMGXl7e6tu3brasmVLVqcEAAAAAMhF8mzTvWDBAg0fPlyvvPKKtm3bpurVq6tFixY6depUVqcGAAAAAMgl8mzTPXnyZPXp00c9e/ZU1apV9fHHHyt//vyaOXNmVqcGAAAAAMgl3LM6gaxw+fJlhYeHa9SoUY6YzWZTs2bNtHHjxhTj4+LiFBcX5/g5JiZGkhQdHa2EhATH+jabTXa7XXa73Wm7NptNiYmJMsbcMO7m5ibLshzbTR6XpMTExHTF3d3dZeIuyD3Z1yrGSAnGkk1GbqnFLSM362rcbqREY8nNMrIliycayW4suVtGVvK4XbIrZTzBLhlZ8rBdrfNqXPK45qufeLtkSU65X4lbsmTyVE3R0dGOuGVZcnNzS3OOZdbcc4u/4NKacuN+ym41JZ831/0dYYxTPK05dqO5Z12+wH7K4TUlnzN8PmXf/ZSdauLzKWfsp+xWE59PV2PZeT9lp5pu++fTTc69c+fO/f8and/Pa+XJpjsqKkqJiYkKDAx0igcGBmrfvn0pxr/55pt67bXXUsRDQkJcliMgSYWnZHUGyIkKT87qDJDTFH43qzNATsPnEzKCzyfcrJzy+fTvv//Kz88vzeV5sum+WaNGjdLw4cMdP9vtdkVHR6tw4cKykn91hNsqNjZWJUuW1N9//y1fX9+sTgc5AHMGGcG8wc1izuBmMWdws5gz2YMxRv/++6+Cg4OvOy5PNt1FihSRm5ubTp486RQ/efKkgoKCUoz38vKSl5eXU8zf39+VKeIm+Pr68ssGN4U5g4xg3uBmMWdws5gzuFnMmax3vSPcSfLkjdQ8PT1Vq1YtrV692hGz2+1avXq1QkNDszAzAAAAAEBukiePdEvS8OHD1b17d9WuXVv33nuvpkyZogsXLqhnz55ZnRoAAAAAIJfIs013p06ddPr0aY0ZM0aRkZGqUaOGVq5cmeLmasi+vLy89Morr6Q49R9IC3MGGcG8wc1izuBmMWdws5gzOYtlbnR/cwAAAAAAkCF58ppuAAAAAABuB5puAAAAAABchKYbAAAAAAAXoekGAAAAAMBFaLoBAAAAAHARmm7kSUk37b906ZLTz0Ba7Ha747/j4+MlSZcvX86qdJAN/Pjjjzp79mxWpwEAyOOS/o49d+5c1iaCNNF0I0+yLEubNm1SaGio42cab1yPzWbTkSNHdObMGXl4eGjJkiV6++23FRcXl9WpIQtMnz5dHTp00IIFCxQTE5PV6QDI5fgbBddjWZa+/PJLPfnkkzpx4kRWp4NU0HQjz0n64KpQoYLOnDmjl156SdKVX1hAWv777z8NGDBAtWvX1syZM/Xoo4+qXLly8vLyyurUkAX69u2rbt266Z133tH8+fM54o1bcm1DRYOFJKtXr9ayZcv4GwWpSvpdERsbq7ffflvNmzdXsWLFsjgrpIamG3nGtaeUFypUSM8995y2bNmijRs3ZmVqyAG8vLw0ceJEubu7a8CAAXr//ffVuXNnx6nmyDuSzm746KOP1KRJE3344Yf68ssvOeKNDDHGOBqqGTNm6Ndff+XsK0i6cgnT8uXLNW7cOB05ciSr00E2ERUV5fhvy7L0448/6sUXX1T16tXVtWvXLMwM10PTjTzDsiytWbNGZcqU0cKFC3XixAk9+eST+vfffzVv3rysTg/ZnM1mU+HChWW32xUUFKTp06crKipKHh4eSkhIyOr0cJsYYxxnN8yZM0dly5bVwYMH9frrr2v+/PmKjY3N4gyRk9jtdkfDvX37ds2ZM0cDBw7Ujh07aLwhT09PtWrVSh4eHlqzZo0k5/uLIO+ZPHmyWrdu7fSF/6FDh/TRRx/pxx9/dPzO4HdH9kPTjTxly5YtOn36tGbNmqWxY8dq06ZNmjlzpj755BMtWbIkq9NDNhcUFKQ1a9Zo8eLF8vHxUePGjXX69Gm5u7s7Gu8LFy5kcZZwpaQG6dVXX9WwYcNUsmRJTZ8+Xffdd59ee+01zZs3j8Yb6WKMkc125c+w1157TWPHjtWlS5d04MAB9erVS5s3b6bxzqPWrl2rqVOnSpKaN2+uhg0bauTIkYqOjpbNZqPxzsO6d++uzz//XB4eHrp48aIkqUePHpo5c6bOnDmjyZMnS+KSyezIMvw2Ry6WdNpeXFyc4+hUs2bNdOHCBfXr10+vvPKKHn74YR07dkxRUVGaM2eOQkJCsjhrZBdJ8+ePP/5QVFSUfHx8dO+998oYow0bNui5557T+fPntWbNGhUuXFjvvfeeLl68qOeff15ubm5ZnT5cwBijM2fOqHHjxho4cKAGDBjgWNazZ08tWbJE48ePV+fOneXv7591iSLH+PDDD/XCCy/o+++/V8WKFbV27VrNmTNHp06d0scff+z4ncMf0bmfMUYxMTEqXbq0/v33X3Xv3l19+/ZV9erV9eSTTyoxMVGLFy/m8wXasGGDevXqpaVLl6pixYq6fPmyZs6cqcGDB+vVV1/V6NGjJYnfHdkIR7qRq1mWpV9//VVjxozR6tWrJUnjx49XsWLFFBQUpPXr1ysiIkIRERH63//+p59//pmjCnCwLEvffvut6tWrp379+um+++7TSy+9pLi4ONWvX1+TJk2Sr6+vKlasqKeeekphYWFq06YNfxDlYpZlydPTU8YYubu7S7p6n4hZs2apQoUKeu+99/Tpp5/q/PnzWZkqcgC73a7Nmzerc+fOatiwoYoVK6YuXbpoxIgR8vDwUP/+/bV9+3aOeOcRlmXJ399f77//vqpXr66IiAh98skneuaZZ/TAAw/I29tbixcvzuo0kQ1UrFhRlmWpY8eOOnjwoDw9PdW7d2+9//77evXVVzV+/HhJHPHOTmi6kevt27dPW7du1dChQ/Xuu++qVKlSKlOmjDZs2KDSpUtr4cKFeumll9S6dWs1aNCAX1Bw/HF7+vRpjRs3TlOnTtX333+vefPmaeLEiRoxYoQuXryoevXqafbs2erVq5fc3d31xx9/qFq1almcPTJTao2Or6+vgoODNWfOHEmSt7e34/q6kJAQxcTEaMeOHfLx8bmtuSLnsdls8vPz08GDBx2nikrSgw8+qLZt22rHjh3q27evtm7dymdTLhceHq7jx48rISFBbdq0UZMmTfT444+rQ4cO8vHx0XPPPaeff/5Zc+bM4T4iUJEiRfTrr7/Kw8NDDz/8sA4ePCgPDw89/fTT+vDDDzV69GhNmjQpq9NEMpxejlwn6VSa5KfUHD9+XN9++61GjBihrl27ys/PT/Pnz9fcuXPVvHlz2e12JSQkyNPTM4uzR3bx448/av369YqMjNR7772nO+64Q5L0/fff69FHH1WfPn00YcIERzw+Pl4eHh5ZmTIymd1ud1xz+/fff8vd3V1ubm4KCAjQ7t271bRpU9WrV0+LFy92jO3SpYsGDx6s0NBQ2Ww2Tu2DQ/L5lNz06dM1ceJETZgwQa1bt1a+fPkkSQsXLtRXX30lDw8Pubu7a9q0aSpQoMDtThu3QVxcnCpWrKiiRYvqiSee0MCBA/X999/rvffe08KFCxUYGKg5c+borbfe0vHjx3XgwAEFBARkddq4DZLaNMuydOLECcfNPAsXLizpyp3MW7Zsqf/++09LlixR+fLldfnyZX3xxRcKDQ1VlSpVsjJ9JEPTjVwl6Q/c1atXa/Xq1dqzZ48efvhhNWrUSCEhIdq3b59GjRqlfPny6auvvlL58uX1448/ch03Upg2bZoGDRqk4sWLa8uWLSpWrJjjj+bvv/9ejz/+uDp27Kh3331XBQsWpLnKZZLvzzFjxmjFihU6cuSIqlatqvbt2+uZZ57RDz/8oKefflp+fn6qVKmSjh07ptjYWO3du1dubm5pNlnIe5LPhUWLFum///5Tvnz51KFDB0lSx44dtXXrVr366qt64IEHVKhQIfXo0UN169aVn5+fxowZo99//53PqlwsJiZGb731ljZs2KBLly5pwYIFGjhwoNzc3LRs2TJJ0p49e1SwYEGew5wH/PvvvypQoIDjs2jp0qUaPXq0EhISdPr0ab377rtq27at/Pz8dObMGbVo0ULx8fH6+uuvValSpaxOH6kxQC6zePFi4+PjY8LCwkzv3r1N/fr1TZ06dcyJEyeMMcacOXPGLFq0yDzwwAMmf/78jjhwrdmzZxubzWZef/11k5iYaIwxxm63G2OuzLOiRYuayMjIrEwRLjZ27FhTqFAh8+2335q5c+eaF1980Xh6epqxY8caY4w5efKkGTFihBkyZIgZPny4iY+PN8YYk5CQkJVpIxtJ+p1hjDHPPvus8fX1NXfeeafx9PQ0Tz/9tGPZU089Ze666y7j7+9vKlWqZCpWrGiMMWbnzp2mfPny5sCBA7c9d7jWnj17zMaNG82KFSscsZ07d5rHHnvMBAUFmZ49e5pSpUqZL774IguzxO3Wp08f07NnT8fnybJly0yBAgXMO++8Yw4dOmSeffZZU6BAATNp0iRz9uxZY4wxUVFRpmzZsua+++4zly9fzsLskRaabuQqR48eNdWqVTPTpk0zxhhz6tQp4+fnZ0aMGGGMcf7jxxhj/vnnn9ueI7KfpHnx119/me3bt5t9+/aZCxcuGGOMmTp1qrHZbOatt95yjEv63/Pnz2dNwrgtYmJiTNOmTc0nn3ziiJ0/f958+umn5o477jDz5s1Ldb2kP5SA5J85J06cMPXq1TP/93//Z/755x+zbNky4+vra5544gnHmM2bN5sFCxaYRYsWOb64GTx4sKlVq5bjj2vkDosWLTIlSpQw9913nylYsKBp06aNWbp0qWP5xx9/bFq0aGEsyzIdOnQwly5dysJscbt8+eWXpmjRomb79u3GmCsHih5++GHz5ptvGmOu/J1Svnx5c8899xjLssxbb71loqKiHGMPHTqUVanjBmi6kavs3bvXVKhQwZw7d84cOnTIlCxZ0vTp08ex/JdffuEPFzhJ+qN40aJF5s477zQhISGmfv36plmzZubkyZPGGGOmTZtm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s7Pj5MmTZGVlER0dzdKlS4mLi1PgFpF8p8AtIiJ/B13pFpEC6e7duyxdupRhw4bh6OhIsWLFKFKkCFFRUXh6epq7PBERERGRx6LQLSIF2vnz50lNTcXBwYHy5ctTqlQpc5ckIiIiIvLYFLpFRERERERE8om6l4uIiIiIiIjkE4VuERERERERkXyi0C0iIiIiIiKSTxS6RURERERERPKJQreIiIiIiIhIPlHoFhEREREREcknCt0iIiIiIiIi+UShW0RERERERCSfKHSLiIjIX7JkyRIMBgOpqammZU2bNqVp06aP9XxfX19cXV3zpTYREZGCQqFbRESkEDl9+jQDBw7Ezc0NW1tbHB0dady4MbNnzyYzM9Pc5T3kwoULfPDBBxw6dMjcpYiIiJiFlbkLEBERkcezceNGunXrho2NDX369KFmzZpkZ2cTHx/P6NGjOXLkCBEREWatcevWrXkeX7hwgQkTJuDq6kqdOnXyrFu0aBG5ublPsDoREZEnT6FbRESkEEhJSaFHjx64uLiwY8cOypUrZ1o3aNAgTp06xcaNG81Y4T1FihR57G2tra3zsRIREZGCQcPLRURECoFp06Zx8+ZNPv300zyB+z53d3eGDRsGQE5ODhMnTuTFF1/ExsYGV1dXxo4dS1ZWVp7nuLq60r59e+Lj42nQoAG2tra4ubkRExPz0OsfOXKE5s2bY2dnR/ny5fnwww8feZX6wXu6d+3aRf369QHo168fBoMBg8HAkiVLgEff033r1i1GjhxJhQoVsLGxoWrVqnz00UcYjcY82xkMBgYPHszatWupWbMmNjY2eHh48PXXXz/W31NERORJMRh/+ysmIiIiBU758uWxsbHh9OnTf7itr68v0dHRdO3alWbNmvHtt98SExND586dWbNmjWk7V1dXbG1tSUtLw8/PD2dnZxYvXkxCQgI//fQTHh4eAPz888/Url2bnJwchg0bhr29PREREdjZ2ZGYmEhKSoopPD8YuC9dukRERATjx4/H39+f1157DYBGjRrh5uaGr68vu3btMjViMxqNtGzZkp07d+Ln50edOnXYsmULGzZsYPjw4cycOdNUu8Fg4KWXXuLy5csEBgZSrFgxPvnkE37++WfOnj1LyZIl/4a/uoiIyN/AKCIiIgVaenq6ETB26tTpD7c9dOiQETAOGDAgz/JRo0YZAeOOHTtMy1xcXIyAcc+ePaZlly9fNtrY2BhHjhxpWjZ8+HAjYPz222/zbFe8eHEjYExJSTEtf/31142vv/666fF3331nBIxRUVEP1dq3b1+ji4uL6fHatWuNgPHDDz/Ms13Xrl2NBoPBeOrUKdMywFikSJE8y3788UcjYAwPD//9P5CIiMgTpuHlIiIiBVxGRgYAxYoV+8NtN23aBEBQUFCe5SNHjgR46L7vGjVqmK5AA5QuXZqqVauSnJyc5zUbNmxIgwYN8mzXq1evP/lJ/rh2S0tLhg4d+lDtRqORzZs351nesmVLXnzxRdPj2rVr4+jomKd2ERERc1PoFhERKeAcHR0BuHHjxh9ue+bMGSwsLHB3d8+z3MnJiRIlSnDmzJk8yytWrPjQazz33HNcv349z2tWrlz5oe2qVq36WPU/rjNnzuDs7PzQyYXq1aub1j/ocWoXERExN4VuERGRAs7R0RFnZ2cOHz782M8xGAyPtZ2lpeUjlxsLQcuXwly7iIg8OxS6RURECoH27dtz+vRp9u3b9z+3c3FxITc3l5MnT+ZZfunSJdLS0nBxcfnT7+3i4vLQ6wGcOHHiD5/7uOH//vtcuHDhoSv6x48fN60XEREpbBS6RURECoExY8Zgb2/PgAEDuHTp0kPrT58+zezZs2nbti0As2bNyrP+448/BqBdu3Z/+r3btm3L/v37OXDggGnZlStX+Pzzz//wufb29gCkpaU91vvcvXuXOXPm5Fk+c+ZMDAYD3t7ef65wERGRAsDK3AWIiIjIH3vxxReJjY3l7bffpnr16vTp04eaNWuSnZ3N3r17WbVqFb6+vgwbNoy+ffsSERFBWloar7/+OgcOHCA6OprOnTvTrFmzP/3eY8aMYenSpbzxxht5pgxzcXEhMTHxD+suUaIECxYsoFixYtjb2/PKK69QqVKlh7bt0KEDzZo1IyQkhNTUVF566SW2bt3KunXrGD58eJ6maSIiIoWFQreIiEgh0bFjRxITE5k+fTrr1q1j/vz52NjYULt2bWbMmME777wDQGRkJG5ubixZsoQ1a9bg5OREcHAwoaGhf+l9y5Urx86dOxkyZAhhYWGULFmSgIAAnJ2d8fPz+5/Ptba2Jjo6muDgYAICAsjJySEqKuqRodvCwoL169czfvx4VqxYQVRUFK6urkyfPt3UfV1ERKSwMRjVbUREREREREQkX+iebhEREREREZF8otAtIiIiIiIikk8UukVERERERETyiUK3iIiIiIiISD5R6BYRERERERHJJwrdIiIiIiIiIvlEoVtEREREREQknyh0i4iIiIiIiOQThW4RERERERGRfKLQLSIiIiIiIpJPFLpFRERERERE8olCt4iIiIiIiEg+UegWERERERERySf/B4EPP+cUtb2+AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "grouped_data = df.groupby('condition')['price'].mean().sort_values(ascending=False)\n", + "plt.figure(figsize=(10, 6))\n", + "bars = plt.bar(grouped_data.index, grouped_data.values)\n", + "\n", + "plt.title('Average Price by Condition', fontsize=16)\n", + "plt.xlabel('Condition', fontsize=12)\n", + "plt.ylabel('Average Price', fontsize=12)\n", + "plt.xticks(rotation=45)\n", + "\n", + "for bar in bars:\n", + " height = bar.get_height()\n", + " plt.text(bar.get_x() + bar.get_width()/2., height,\n", + " f'${height:.2f}',\n", + " ha='center', va='bottom')\n", + "\n", + "plt.grid(axis='y', linestyle='--', alpha=0.7)\n", + "\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, "language_info": { - "name": "python" + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.1" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/03_computer_vision/.ipynb_checkpoints/computer_vision-checkpoint.ipynb b/03_computer_vision/.ipynb_checkpoints/computer_vision-checkpoint.ipynb new file mode 100644 index 00000000..b61d95a9 --- /dev/null +++ b/03_computer_vision/.ipynb_checkpoints/computer_vision-checkpoint.ipynb @@ -0,0 +1,438 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Computer Vision\n", + "\n", + "Let's do some very basic computer vision. We're going to import the MNIST handwritten digits data and $k$NN to predict values (i.e. \"see/read\").\n", + "\n", + "1. To load the data, run the following code in a chunk:\n", + "```\n", + "from keras.datasets import mnist\n", + "df = mnist.load_data('minst.db')\n", + "train,test = df\n", + "X_train, y_train = train\n", + "X_test, y_test = test\n", + "```\n", + "The `y_test` and `y_train` vectors, for each index `i`, tell you want number is written in the corresponding index in `X_train[i]` and `X_test[i]`. The value of `X_train[i]` and `X_test[i]`, however, is a 28$\\times$28 array whose entries contain values between 0 and 256. Each element of the matrix is essentially a \"pixel\" and the matrix encodes a representation of a number. To visualize this, run the following code to see the first ten numbers:\n", + "```\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "np.set_printoptions(edgeitems=30, linewidth=100000)\n", + "for i in range(5): \n", + " print(y_test[i],'\\n') # Print the label\n", + " print(X_test[i],'\\n') # Print the matrix of values\n", + " plt.contourf(np.rot90(X_test[i].transpose())) # Make a contour plot of the matrix values\n", + " plt.show()\n", + "```\n", + "OK, those are the data: Labels attached to handwritten digits encoded as a matrix.\n", + "\n", + "2. What is the shape of `X_train` and `X_test`? What is the shape of `X_train[i]` and `X_test[i]` for each index `i`? What is the shape of `y_train` and `y_test`?\n", + "3. Use Numpy's `.reshape()` method to covert the training and testing data from a matrix into an vector of features. So, `X_test[index].reshape((1,784))` will convert the $index$-th element of `X_test` into a $28\\times 28=784$-length row vector of values, rather than a matrix. Turn `X_train` into an $N \\times 784$ matrix $X$ that is suitable for scikit-learn's kNN classifier where $N$ is the number of observations and $784=28*28$ (you could use, for example, a `for` loop).\n", + "4. Use the reshaped `X_test` and `y_test` data to create a $k$-nearest neighbor classifier of digit. What is the optimal number of neighbors $k$? If you can't determine this, play around with different values of $k$ for your classifier.\n", + "5. For the optimal number of neighbors, how well does your predictor perform on the test set? Use a confusion matrix and compute accuracy.\n", + "6. For your confusion matrix, which mistakes are most likely? Do you find any interesting patterns?\n", + "7. So, this is how computers \"see.\" They convert an image into a matrix of values, that matrix becomes a vector in a dataset, and then we deploy ML tools on it as if it was any other kind of tabular data. To make sure you follow this, invent a way to represent a color photo in matrix form, and then describe how you could convert it into tabular data. (Hint: RGB color codes provide a method of encoding a numeric value that represents a color.)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "7 \n", + "\n", + "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 84 185 159 151 60 36 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 222 254 254 254 254 241 198 198 198 198 198 198 198 198 170 52 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 67 114 72 114 163 227 254 225 254 254 254 250 229 254 254 140 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 17 66 14 67 67 67 59 21 236 254 106 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 253 209 18 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 233 255 83 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 129 254 238 44 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 59 249 254 62 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 133 254 187 5 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 205 248 58 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 126 254 182 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 75 251 240 57 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 19 221 254 166 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 3 203 254 219 35 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 38 254 254 77 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 31 224 254 115 1 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 133 254 254 52 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 61 242 254 254 52 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 121 254 254 219 40 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 121 254 207 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] \n", + "\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGdCAYAAACyzRGfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAsNUlEQVR4nO3df2xddf3H8Vf3o3VAe1kZ6w/oZhk6DGMzQVYHOiFr9sNkEZkJoCGDEBDsFkdVdAYYiyaNmJhFnOBfIISBkvAjYkRlui3owDCzLIvSsGbJwK1TF9ZuBTqg5/sH39bb03PvPT8+53N+PR9Jo7u9686utfe59/mcz6lzHMcRAACAJdOSPgAAAFAsxAcAALCK+AAAAFYRHwAAwCriAwAAWEV8AAAAq4gPAABgFfEBAACsmpH0AbiNjY3p6NGjamxsVF1dXdKHAwAAfHAcR6dOnVJ7e7umTas+20hdfBw9elQdHR1JHwYAAAjhzTff1IUXXlj1OamLj8bGRknS1S23aMa0+oSPBgAA+PHB2BntOv7IxPt4NamLj/FTLTOm1RMfAABkjJ8lEyw4BQAAVhEfAADAKuIDAABYRXwAAACriA8AAGAV8QEAAKwiPgAAgFXEBwAAsIr4AAAAVhEfAADAKuIDAABYRXwAAACriA8AAGAV8QEAAKwiPgAAgFXEBwAAsIr4AAAAVhEfAADAKuIDAABYRXwAAACrAsVHX1+frrjiCjU2Nmru3Lm69tpr1d/fP+k5V199terq6iZ93HHHHUYPGgAAZFeg+Ni9e7d6enr0yiuv6I9//KPef/99rVy5UiMjI5Oed9ttt+nYsWMTHw888IDRgwYAANk1I8iTX3zxxUm/fvTRRzV37lzt27dPy5cvn3j8rLPOUmtrq5kjBAAAuRJpzcfQ0JAkqbm5edLjTzzxhObMmaNFixZp8+bNeueddyp+jdHRUQ0PD0/6AAAA+RVo8lFubGxMmzZt0lVXXaVFixZNPP7Vr35V8+fPV3t7uw4cOKDvfve76u/v1zPPPOP5dfr6+rR169awhwEAADKmznEcJ8xvvPPOO/W73/1OL7/8si688MKKz/vTn/6kFStW6NChQ1qwYMGUz4+Ojmp0dHTi18PDw+ro6FB329c1Y1p9mEMDAACWfTB2Ri8d+4WGhobU1NRU9bmhJh8bNmzQCy+8oD179lQND0nq6uqSpIrx0dDQoIaGhjCHAQAAMihQfDiOo40bN+rZZ5/Vrl271NnZWfP37N+/X5LU1tYW6gABAEC+BIqPnp4e7dixQ88//7waGxs1ODgoSSqVSpo1a5YGBga0Y8cOffGLX9R5552nAwcO6K677tLy5cu1ePHiWP4CAAAgWwLFx0MPPSTpo43Eyj3yyCO6+eabVV9fr5deeknbtm3TyMiIOjo6tG7dOt1zzz3GDhgAAGRb4NMu1XR0dGj37t2RDggAAOQb93YBAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMCqGUkfAFDu3UUX+H7urIP/ivFIAABxIT6QmCChEcfvD4voAYBoiA9YkVQoxKH870KIAEBwxAeMixoaby+s93x8dv+ZSF83Du6/KzECALURHzAiruAI+hyTwsQOUxEAqI34QGRRwsN2UAQRdQJDiACAN+IDkYQJj1rBcWrB2JTHGgfSc1X4+PEHmYxwegYA/idQfPT19emZZ57R66+/rlmzZunKK6/Uj370Iy1cuHDiOe+9956+9a1v6amnntLo6KhWrVqln//852ppaTF+8EiO6ejwCo4gn/cSd7CU/32CnqJhKgKgyALFx+7du9XT06MrrrhCH3zwgb7//e9r5cqV+sc//qGzzz5bknTXXXfpt7/9rZ5++mmVSiVt2LBB1113nf7yl7/E8heAfUHCI8yUw5Q4vnaloAkzDRlHiAAomjrHcZywv/k///mP5s6dq927d2v58uUaGhrS+eefrx07dugrX/mKJOn111/Xpz71Ke3du1ef/exna37N4eFhlUoldbd9XTOmpXc9QFH5CY+owXFO59CUx04fLtX8c22qNVUxdWUOMQIg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WTGcPn1aAwMDamtrS/pQcq+zs1Otra2TvteHh4f16quv8r1uyVtvvaUTJ07w/R6C4zjasGGDnn32Wf3pT39SZ2fnpM9ffvnlmjlz5qTv7/7+fh05coTv7xBqvd5e9u/fL0mp/v5O1WmX3t5erV+/Xp/5zGe0dOlSbdu2TSMjI7rllluSPrTc+fa3v621a9dq/vz5Onr0qLZs2aLp06frxhtvTPrQcuH06dOT/tVx+PBh7d+/X83NzZo3b542bdqkH/7wh/rEJz6hzs5O3XvvvWpvb9e1116b3EFnWLXXu7m5WVu3btW6devU2tqqgYEB3X333br44ou1atWqBI86m3p6erRjxw49//zzamxsnFjHUSqVNGvWLJVKJd16663q7e1Vc3OzmpqatHHjRi1btkyf/exnEz767Kn1eg8MDGjHjh364he/qPPOO08HDhzQXXfdpeXLl2vx4sUJH30VSV9u4/bggw868+bNc+rr652lS5c6r7zyStKHlEvXX3+909bW5tTX1zsXXHCBc/311zuHDh1K+rBy489//rMjacrH+vXrHcf56HLbe++912lpaXEaGhqcFStWOP39/ckedIZVe73feecdZ+XKlc7555/vzJw505k/f75z2223OYODg0kfdiZ5vc6SnEceeWTiOe+++67zjW98w5k9e7Zz1llnOV/+8pedY8eOJXfQGVbr9T5y5IizfPlyp7m52WloaHAuvvhi5zvf+Y4zNDSU7IHXUOc4jmMzdgAAQLGlZs0HAAAoBuIDAABYRXwAAACriA8AAGAV8QEAAKwiPgAAgFXEBwAAsIr4AAAAVhEfAADAKuIDAABYRXwAAACriA8AAGDV/wGHSN1sCTxJNwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2 \n", + "\n", + "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 116 125 171 255 255 150 93 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 169 253 253 253 253 253 253 218 30 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 169 253 253 253 213 142 176 253 253 122 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 52 250 253 210 32 12 0 6 206 253 140 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 77 251 210 25 0 0 0 122 248 253 65 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 31 18 0 0 0 0 209 253 253 65 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 117 247 253 198 10 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 76 247 253 231 63 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 128 253 253 144 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 176 246 253 159 12 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 25 234 253 233 35 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 198 253 253 141 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 78 248 253 189 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 19 200 253 253 141 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 134 253 253 173 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 248 253 253 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 248 253 253 43 20 20 20 20 5 0 5 20 20 37 150 150 150 147 10 0]\n", + " [ 0 0 0 0 0 0 0 0 248 253 253 253 253 253 253 253 168 143 166 253 253 253 253 253 253 253 123 0]\n", + " [ 0 0 0 0 0 0 0 0 174 253 253 253 253 253 253 253 253 253 253 253 249 247 247 169 117 117 57 0]\n", + " [ 0 0 0 0 0 0 0 0 0 118 123 123 123 166 253 253 253 155 123 123 41 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] \n", + "\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1 \n", + "\n", + "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 38 254 109 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 87 252 82 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 135 241 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 45 244 150 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 84 254 63 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 202 223 11 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 254 216 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 95 254 195 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 140 254 77 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 57 237 205 8 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 124 255 165 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 171 254 81 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 24 232 215 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 120 254 159 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 151 254 142 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 228 254 66 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 61 251 254 66 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 141 254 205 3 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 10 215 254 121 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 5 198 176 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] \n", + "\n" + ] + }, + { + "data": { + "image/png": "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TZs2Dbl/X+d2t5cGAAA8dv78eSWTyZzPcT182LVhwwY1NTWlvj537pymTJmikydP5l08Ctfd3a3a2lqdOnVK5eXlQS8n9ni//cX77S/eb3+F7f02DEPnz59XTU1N3ue6Hj7Gjx+v4cOHq7OzM+3+zs5OVVVVDXl+IpFQIpEYcn8ymQzFm1ksysvLeb99xPvtL95vf/F++ytM77fVooHrA6elpaWaM2eO9u7dm7qvv79fe/fu1bx589x+OQAAEDGetF2ampq0cuVK3XjjjZo7d662bNminp4ePfzww168HAAAiBBPwse9996rb775Rs8++6w6Ojr005/+VHv27BkyhGomkUho48aNpq0YuI/321+83/7i/fYX77e/ovx+lxhW9sQAAAC4hGu7AAAAXxE+AACArwgfAADAV4QPAADgq9CFj61bt+rqq6/WqFGjVF9fr08//TToJcXSc889p5KSkrTbjBkzgl5WbOzfv1/Lli1TTU2NSkpKtHv37rTHDcPQs88+q+rqao0ePVoNDQ06fvx4MIuNgXzv96pVq4Z83pcsWRLMYiOuublZN910k8rKyjRx4kQtX75cra2tac+5ePGiGhsbNW7cOF111VVasWLFkIMnYY2V93vBggVDPt+PPvpoQCu2JlTh480331RTU5M2btyozz//XLNnz9bixYv19ddfB720WLr++ut15syZ1O3jjz8Oekmx0dPTo9mzZ2vr1q2mj2/evFkvvfSSXn75ZR06dEhXXnmlFi9erIsXL/q80njI935L0pIlS9I+76+//rqPK4yPlpYWNTY26uDBg3r//fd16dIlLVq0SD09PannrF+/Xu+++67eeusttbS06PTp07rnnnsCXHV0WXm/JWnNmjVpn+/NmzcHtGKLjBCZO3eu0djYmPr68uXLRk1NjdHc3BzgquJp48aNxuzZs4NeRlGQZOzatSv1dX9/v1FVVWX8/ve/T9137tw5I5FIGK+//noAK4yXzPfbMAxj5cqVxl133RXIeuLu66+/NiQZLS0thmH88FkeOXKk8dZbb6We869//cuQZBw4cCCoZcZG5vttGIbxs5/9zPjVr34V3KIcCE3lo6+vT4cPH1ZDQ0PqvmHDhqmhoUEHDhwIcGXxdfz4cdXU1Gjq1Kl68MEHdfLkyaCXVBTa29vV0dGR9llPJpOqr6/ns+6hffv2aeLEiZo+fboee+wxnT17NuglxUJXV5ckqaKiQpJ0+PBhXbp0Ke3zPWPGDE2ePJnPtwsy3+8Br732msaPH6+ZM2dqw4YN+v7774NYnmWBX9V2wLfffqvLly8POQW1srJSX3zxRUCriq/6+nrt2LFD06dP15kzZ7Rp0ybdfvvtOnbsmMrKyoJeXqx1dHRIkulnfeAxuGvJkiW65557VFdXp7a2Nv3mN7/R0qVLdeDAAQ0fPjzo5UVWf3+/1q1bp1tvvVUzZ86U9MPnu7S0VGPGjEl7Lp/vwpm935L0wAMPaMqUKaqpqdHRo0f11FNPqbW1VW+//XaAq80tNOED/lq6dGnqz7NmzVJ9fb2mTJmiv/3tb1q9enWAKwPcd99996X+fMMNN2jWrFmaNm2a9u3bp4ULFwa4smhrbGzUsWPHmBfzSbb3+5FHHkn9+YYbblB1dbUWLlyotrY2TZs2ze9lWhKatsv48eM1fPjwIRPRnZ2dqqqqCmhVxWPMmDG67rrrdOLEiaCXEnsDn2c+68GZOnWqxo8fz+e9AGvXrtV7772njz76SJMmTUrdX1VVpb6+Pp07dy7t+Xy+C5Pt/TZTX18vSaH+fIcmfJSWlmrOnDnau3dv6r7+/n7t3btX8+bNC3BlxeHChQtqa2tTdXV10EuJvbq6OlVVVaV91ru7u3Xo0CE+6z758ssvdfbsWT7vDhiGobVr12rXrl368MMPVVdXl/b4nDlzNHLkyLTPd2trq06ePMnn24F877eZI0eOSFKoP9+hars0NTVp5cqVuvHGGzV37lxt2bJFPT09evjhh4NeWuw88cQTWrZsmaZMmaLTp09r48aNGj58uO6///6glxYLFy5cSPu/jvb2dh05ckQVFRWaPHmy1q1bpxdeeEHXXnut6urq9Mwzz6impkbLly8PbtERluv9rqio0KZNm7RixQpVVVWpra1NTz75pK655hotXrw4wFVHU2Njo3bu3Kl33nlHZWVlqTmOZDKp0aNHK5lMavXq1WpqalJFRYXKy8v1+OOPa968ebr55psDXn305Hu/29ratHPnTt15550aN26cjh49qvXr12v+/PmaNWtWwKvPIejtNpn++Mc/GpMnTzZKS0uNuXPnGgcPHgx6SbF07733GtXV1UZpaanxox/9yLj33nuNEydOBL2s2Pjoo48MSUNuK1euNAzjh+22zzzzjFFZWWkkEglj4cKFRmtra7CLjrBc7/f3339vLFq0yJgwYYIxcuRIY8qUKcaaNWuMjo6OoJcdSWbvsyRj+/btqef85z//MX75y18aY8eONa644grj7rvvNs6cORPcoiMs3/t98uRJY/78+UZFRYWRSCSMa665xvj1r39tdHV1BbvwPEoMwzD8DDsAAKC4hWbmAwAAFAfCBwAA8BXhAwAA+IrwAQAAfEX4AAAAviJ8AAAAXxE+AACArwgfAADAV4QPAADgK8IHAADwFeEDAAD4ivABAAB89X+KvJTiYw8uqwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 \n", + "\n", + "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 11 150 253 202 31 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 37 251 251 253 107 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 21 197 251 251 253 107 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 110 190 251 251 251 253 169 109 62 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 253 251 251 251 251 253 251 251 220 51 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 182 255 253 253 253 253 234 222 253 253 253 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 63 221 253 251 251 251 147 77 62 128 251 251 105 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 32 231 251 253 251 220 137 10 0 0 31 230 251 243 113 5 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 37 251 251 253 188 20 0 0 0 0 0 109 251 253 251 35 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 37 251 251 201 30 0 0 0 0 0 0 31 200 253 251 35 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 37 253 253 0 0 0 0 0 0 0 0 32 202 255 253 164 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 140 251 251 0 0 0 0 0 0 0 0 109 251 253 251 35 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 217 251 251 0 0 0 0 0 0 21 63 231 251 253 230 30 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 217 251 251 0 0 0 0 0 0 144 251 251 251 221 61 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 217 251 251 0 0 0 0 0 182 221 251 251 251 180 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 218 253 253 73 73 228 253 253 255 253 253 253 253 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 113 251 251 253 251 251 251 251 253 251 251 251 147 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 31 230 251 253 251 251 251 251 253 230 189 35 10 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 62 142 253 251 251 251 251 253 107 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 72 174 251 173 71 72 30 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] \n", + "\n" + ] + }, + { + "data": { + "image/png": "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g9kqurq6eLxzxOOdLx7vfPF456tMj7fp0MD6htP29nYtXrxY27dvb75vfHxc27dv19KlS21/OgAAUDGZLLts2rRJ69ev12c+8xnddNNNevzxxzU6Oqr77rsvi08HAAAqJJP4uPPOO/X73/9ejz76qI4fP65Pf/rTeumllyZtQvXT0dGhLVu2+C7FwD4e73zxeOeLxztfPN75qvLj3eaYnBMDAABgCfd2AQAAuSI+AABArogPAACQK+IDAADkqnTx8cQTT+gTn/iELrroIi1ZskS//vWviz6kWvrOd76jtra2CW/XXntt0YdVG6+99prWrFmjvr4+tbW16fnnn5/w547j6NFHH1Vvb6+mTZum5cuX6+233y7mYGsg6vG+9957Jz3fV61aVczBVtzg4KBuvPFGdXZ2atasWVq7dq2GhoYmfMwHH3yggYEBXXbZZbrkkku0bt26SReehBmTx/vWW2+d9Pz+2te+VtARmylVfPzsZz/Tpk2btGXLFv32t7/VokWLtHLlSr377rtFH1otfepTn9KxY8eab6+//nrRh1Qbo6OjWrRokZ544gnfP3/sscf0gx/8QD/60Y/05ptv6k/+5E+0cuVKffDBBzkfaT1EPd6StGrVqgnP92eeeSbHI6yPnTt3amBgQLt379bLL7+s8+fPa8WKFRodHW1+zMMPP6xf/OIXevbZZ7Vz504dPXpUd9xxR4FHXV0mj7ck3X///ROe34899lhBR2zIKZGbbrrJGRgYaP77hx9+6PT19TmDg4MFHlU9bdmyxVm0aFHRh9ESJDnPPfdc89/Hx8ednp4e5x//8R+b7zt9+rTT0dHhPPPMMwUcYb14H2/HcZz169c7t99+eyHHU3fvvvuuI8nZuXOn4zgfPZcvvPBC59lnn21+zP/8z/84kpxdu3YVdZi14X28Hcdx/vzP/9z527/92+IOKoHSTD7OnTunPXv2aPny5c33TZkyRcuXL9euXbsKPLL6evvtt9XX16errrpKX/7yl3X48OGiD6klHDp0SMePH5/wXO/u7taSJUt4rmdox44dmjVrlhYsWKAHHnhAJ0+eLPqQamF4eFiSNGPGDEnSnj17dP78+QnP72uvvVZz587l+W2B9/Fu+OlPf6qZM2dq4cKF2rx5s957770iDs9Y4Xe1bfjDH/6gDz/8cNJVUGfPnq233nqroKOqryVLluipp57SggULdOzYMW3dulWf//zntX//fnV2dhZ9eLV2/PhxSfJ9rjf+DHatWrVKd9xxh/r7+3Xw4EH9/d//vVavXq1du3Zp6tSpRR9eZY2Pj2vjxo265ZZbtHDhQkkfPb/b29t16aWXTvhYnt/p+T3ekvSlL31J8+bNU19fn/bt26dvfetbGhoa0s9//vMCjzZcaeID+Vq9enXzn6+//notWbJE8+bN07/9279pw4YNBR4ZYN9dd93V/OfrrrtO119/vebPn68dO3botttuK/DIqm1gYED79+9nv1hOgh7vr3zlK81/vu6669Tb26vbbrtNBw8e1Pz58/M+TCOlWXaZOXOmpk6dOmlH9IkTJ9TT01PQUbWOSy+9VNdcc40OHDhQ9KHUXuP5zHO9OFdddZVmzpzJ8z2FBx98UC+++KJeffVVXXnllc339/T06Ny5czp9+vSEj+f5nU7Q4+1nyZIlklTq53dp4qO9vV2LFy/W9u3bm+8bHx/X9u3btXTp0gKPrDWcPXtWBw8eVG9vb9GHUnv9/f3q6emZ8FwfGRnRm2++yXM9J++8845OnjzJ8z0Bx3H04IMP6rnnntOvfvUr9ff3T/jzxYsX68ILL5zw/B4aGtLhw4d5ficQ9Xj72bt3rySV+vldqmWXTZs2af369frMZz6jm266SY8//rhGR0d13333FX1otfP1r39da9as0bx583T06FFt2bJFU6dO1d133130odXC2bNnJ/zWcejQIe3du1czZszQ3LlztXHjRn3ve9/TJz/5SfX39+uRRx5RX1+f1q5dW9xBV1jY4z1jxgxt3bpV69atU09Pjw4ePKhvfvObuvrqq7Vy5coCj7qaBgYGtG3bNr3wwgvq7Oxs7uPo7u7WtGnT1N3drQ0bNmjTpk2aMWOGurq69NBDD2np0qX67Gc/W/DRV0/U433w4EFt27ZNX/jCF3TZZZdp3759evjhh7Vs2TJdf/31BR99iKJPt/H6p3/6J2fu3LlOe3u7c9NNNzm7d+8u+pBq6c4773R6e3ud9vZ254orrnDuvPNO58CBA0UfVm28+uqrjqRJb+vXr3cc56PTbR955BFn9uzZTkdHh3Pbbbc5Q0NDxR50hYU93u+9956zYsUK5/LLL3cuvPBCZ968ec7999/vHD9+vOjDriS/x1mS8+STTzY/5v3333f+5m/+xpk+fbpz8cUXO3/5l3/pHDt2rLiDrrCox/vw4cPOsmXLnBkzZjgdHR3O1Vdf7XzjG99whoeHiz3wCG2O4zh5xg4AAGhtpdnzAQAAWgPxAQAAckV8AACAXBEfAAAgV8QHAADIFfEBAAByRXwAAIBcER8AACBXxAcAAMgV8QEAAHJFfAAAgFwRHwAAIFf/B/KoRxBk0eggAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "4 \n", + "\n", + "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 50 224 0 0 0 0 0 0 0 70 29 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 121 231 0 0 0 0 0 0 0 148 168 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 4 195 231 0 0 0 0 0 0 0 96 210 11 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 69 252 134 0 0 0 0 0 0 0 114 252 21 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 45 236 217 12 0 0 0 0 0 0 0 192 252 21 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 168 247 53 0 0 0 0 0 0 0 18 255 253 21 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 84 242 211 0 0 0 0 0 0 0 0 141 253 189 5 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 169 252 106 0 0 0 0 0 0 0 32 232 250 66 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 15 225 252 0 0 0 0 0 0 0 0 134 252 211 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 22 252 164 0 0 0 0 0 0 0 0 169 252 167 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 9 204 209 18 0 0 0 0 0 0 22 253 253 107 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 169 252 199 85 85 85 85 129 164 195 252 252 106 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 41 170 245 252 252 252 252 232 231 251 252 252 9 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 49 84 84 84 84 0 0 161 252 252 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 252 252 45 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 253 253 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 252 252 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 135 252 244 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 232 236 111 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 179 66 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] \n", + "\n" + ] + }, + { + "data": { + "image/png": "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dXrsscc0MjKie++9N4mHAwAAOZJI+Ljtttv0r3/9Sz/60Y80ODioL37xi9q+ffu4JlQ3TU1NWr9+vetUDMzj+baL59sunm+7eL7tyvPz3eAEWRMDAABgCNd2AQAAVhE+AACAVYQPAABgFeEDAABYlbnwsXHjRl1yySU6++yz1d3drXfeeSftIdWkH//4x2poaCj7uvLKK9MeVs144403dPPNN6ujo0MNDQ16/vnny37uOI5+9KMfacaMGZo8ebKWLFmid999N53B1gC/5/uee+4Zd7wvX748ncHmXF9fn6699lo1Nzdr+vTpWrlypfr7+8vu88knn6inp0cXXHCBzjvvPK1atWrcxpMIJsjzvWjRonHH97e+9a2URhxMpsLHM888o97eXq1fv15/+9vfNH/+fC1btkwffPBB2kOrSV/4whd09OjR4tebb76Z9pBqxsjIiObPn6+NGze6/vzRRx/Vr371Kz3++ON6++23de6552rZsmX65JNPLI+0Nvg935K0fPnysuP96aeftjjC2rFr1y719PRoz549euWVV3TmzBktXbpUIyMjxfs89NBDevHFF/Xss89q165dOnLkiG699dYUR51fQZ5vSbr//vvLju9HH300pREH5GTIdddd5/T09BS///TTT52Ojg6nr68vxVHVpvXr1zvz589Pexh1QZKzbdu24vdjY2NOe3u78/Of/7x424kTJ5ympibn6aefTmGEtaXy+XYcx1m9erVzyy23pDKeWvfBBx84kpxdu3Y5jvPZsXzWWWc5zz77bPE+f//73x1Jzu7du9MaZs2ofL4dx3G++tWvOt/5znfSG1QEmal8nD59Wnv37tWSJUuKt02YMEFLlizR7t27UxxZ7Xr33XfV0dGhSy+9VHfddZcOHz6c9pDqwqFDhzQ4OFh2rLe0tKi7u5tjPUE7d+7U9OnTNWfOHD3wwAM6fvx42kOqCUNDQ5Kk1tZWSdLevXt15syZsuP7yiuv1MyZMzm+Dah8vgueeuopTZs2TXPnztW6dev00UcfpTG8wFK/qm3Bv//9b3366afjdkFta2vTP/7xj5RGVbu6u7u1ZcsWzZkzR0ePHtWGDRv0la98RQcOHFBzc3Paw6tpg4ODkuR6rBd+BrOWL1+uW2+9VV1dXRoYGNAPfvADrVixQrt379bEiRPTHl5ujY2Nae3atbrhhhs0d+5cSZ8d342NjTr//PPL7svxHZ/b8y1Jd955p2bNmqWOjg7t379f3//+99Xf36/nnnsuxdF6y0z4gF0rVqwo/nvevHnq7u7WrFmz9Kc//Un33XdfiiMDzLv99tuL/77qqqs0b948zZ49Wzt37tTixYtTHFm+9fT06MCBA/SLWVLt+f7GN75R/PdVV12lGTNmaPHixRoYGNDs2bNtDzOQzEy7TJs2TRMnThzXEX3s2DG1t7enNKr6cf755+uKK67QwYMH0x5KzSsczxzr6bn00ks1bdo0jvcY1qxZo5deekmvv/66Lr744uLt7e3tOn36tE6cOFF2f47veKo93266u7slKdPHd2bCR2Njo66++mrt2LGjeNvY2Jh27NihBQsWpDiy+nDq1CkNDAxoxowZaQ+l5nV1dam9vb3sWB8eHtbbb7/NsW7J+++/r+PHj3O8R+A4jtasWaNt27bptddeU1dXV9nPr776ap111lllx3d/f78OHz7M8R2B3/PtZt++fZKU6eM7U9Muvb29Wr16ta655hpdd911euyxxzQyMqJ777037aHVnO9+97u6+eabNWvWLB05ckTr16/XxIkTdccdd6Q9tJpw6tSpsk8dhw4d0r59+9Ta2qqZM2dq7dq1+ulPf6rLL79cXV1deuSRR9TR0aGVK1emN+gc83q+W1tbtWHDBq1atUrt7e0aGBjQww8/rMsuu0zLli1LcdT51NPTo61bt+qFF15Qc3NzsY+jpaVFkydPVktLi+677z719vaqtbVVU6ZM0YMPPqgFCxboS1/6Usqjzx+/53tgYEBbt27VTTfdpAsuuED79+/XQw89pIULF2revHkpj95D2sttKv361792Zs6c6TQ2NjrXXXeds2fPnrSHVJNuu+02Z8aMGU5jY6Nz0UUXObfddptz8ODBtIdVM15//XVH0riv1atXO47z2XLbRx55xGlra3OampqcxYsXO/39/ekOOse8nu+PPvrIWbp0qXPhhRc6Z511ljNr1izn/vvvdwYHB9Medi65Pc+SnM2bNxfv8/HHHzvf/va3nalTpzrnnHOO8/Wvf905evRoeoPOMb/n+/Dhw87ChQud1tZWp6mpybnsssuc733ve87Q0FC6A/fR4DiOYzPsAACA+paZng8AAFAfCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACs+n+3vv8qxzeMcwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Part 1\n", + "from keras.datasets import mnist\n", + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.neighbors import KNeighborsClassifier\n", + "\n", + "df = mnist.load_data('minst.db')\n", + "train,test = df\n", + "X_train, y_train = train\n", + "X_test, y_test = test\n", + "\n", + "np.set_printoptions(edgeitems=30, linewidth=100000)\n", + "for i in range(5): \n", + " print(y_test[i],'\\n') # Print the label\n", + " print(X_test[i],'\\n') # Print the matrix of values\n", + " plt.contourf(np.rot90(X_test[i].transpose())) # Make a contour plot of the matrix values\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(60000, 28, 28)\n", + "(10000, 28, 28)\n", + "(60000,)\n", + "(10000,)\n" + ] + } + ], + "source": [ + "\"\"\"\n", + "What is the shape of X_train and X_test? What is the shape of X_train[i] and X_test[i] for each index i? What is the shape of y_train and y_test?\n", + "\n", + "A. As we can see, the size of our training is 60,000 vectors of size 28 x 28, and our testing is 10,000 vectors of size 28 x 28. \n", + "\"\"\"\n", + "print(X_train.shape)\n", + "print(X_test.shape)\n", + "print(y_train.shape)\n", + "print(y_test.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "Part 3\n", + "\"\"\"\n", + "\n", + "Z_train = []\n", + "\n", + "for i in range(60000):\n", + " row = X_train[i].reshape((1,784))\n", + " Z_train.append(row[0]) \n", + "Z_train = pd.DataFrame(Z_train)\n", + "Z_train.to_csv('./data/Z_train.csv')\n", + "\n", + "Z_test = []\n", + "\n", + "for i in range(len(y_test)):\n", + " row = X_test[i].reshape((1,784)) \n", + " Z_test.append(row[0]) \n", + "Z_test = pd.DataFrame(Z_test)\n", + "Z_test.to_csv('./data/Z_test.csv')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "Part 4\n", + "\"\"\"\n", + "k_bar = 50\n", + "k_grid = np.arange(2,k_bar)\n", + "accuracy = np.zeros(k_bar) \n", + "\n", + "for k in range(k_bar):\n", + " knn = KNeighborsClassifier(n_neighbors=k+1)\n", + " predictor = knn.fit(Z_train.values,y_train) \n", + " #y_hat = predictor.predict(Z_test.values) \n", + " accuracy[k] = knn.score(Z_test.values,y_test) \n", + "\n", + "accuracy_max = np.max(accuracy)\n", + "max_index = np.where(accuracy==accuracy_max) \n", + "k_star = k_grid[max_index] \n", + "print(k_star)\n", + "\n", + "plt.plot(np.arange(0,k_bar),accuracy) \n", + "plt.xlabel(\"k\")\n", + "plt.title(\"optimal k:\"+str(k_star))\n", + "plt.ylabel('Accuracy')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "Part 5\n", + "\"\"\"\n", + "knn = KNeighborsClassifier(n_neighbors=1)\n", + "predictor = knn.fit(Z_train.values,y_train) \n", + "y_hat = predictor.predict(Z_test.values) \n", + "\n", + "accuracy = knn.score(Z_test.values,y_test) \n", + "print('Accuracy: ', accuracy)\n", + "\n", + "pd.crosstab(y_test, y_hat)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Part 6.\n", + "\n", + "Part 7." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.1" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/03_computer_vision/.ipynb_checkpoints/computer_vision_working-checkpoint.ipynb b/03_computer_vision/.ipynb_checkpoints/computer_vision_working-checkpoint.ipynb new file mode 100644 index 00000000..5b9fde87 --- /dev/null +++ b/03_computer_vision/.ipynb_checkpoints/computer_vision_working-checkpoint.ipynb @@ -0,0 +1,926 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "p-Kac5fyuREe" + }, + "source": [ + "## Computer Vision\n", + "\n", + "Let's do some very basic computer vision. We're going to import the MNIST handwritten digits data and $k$NN to predict values (i.e. \"see/read\").\n", + "\n", + "1. To load the data, run the following code in a chunk:\n", + "```\n", + "from keras.datasets import mnist\n", + "df = mnist.load_data('minst.db')\n", + "train,test = df\n", + "X_train, y_train = train\n", + "X_test, y_test = test\n", + "```\n", + "The `y_test` and `y_train` vectors, for each index `i`, tell you want number is written in the corresponding index in `X_train[i]` and `X_test[i]`. The value of `X_train[i]` and `X_test[i]`, however, is a 28$\\times$28 array whose entries contain values between 0 and 256. Each element of the matrix is essentially a \"pixel\" and the matrix encodes a representation of a number. To visualize this, run the following code to see the first ten numbers:\n", + "```\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "np.set_printoptions(edgeitems=30, linewidth=100000)\n", + "for i in range(5):\n", + " print(y_test[i],'\\n') # Print the label\n", + " print(X_test[i],'\\n') # Print the matrix of values\n", + " plt.contourf(np.rot90(X_test[i].transpose())) # Make a contour plot of the matrix values\n", + " plt.show()\n", + "```\n", + "OK, those are the data: Labels attached to handwritten digits encoded as a matrix.\n", + "\n", + "2. What is the shape of `X_train` and `X_test`? What is the shape of `X_train[i]` and `X_test[i]` for each index `i`? What is the shape of `y_train` and `y_test`?\n", + "3. Use Numpy's `.reshape()` method to covert the training and testing data from a matrix into an vector of features. So, `X_test[index].reshape((1,784))` will convert the $index$-th element of `X_test` into a $28\\times 28=784$-length row vector of values, rather than a matrix. Turn `X_train` into an $N \\times 784$ matrix $X$ that is suitable for scikit-learn's kNN classifier where $N$ is the number of observations and $784=28*28$ (you could use, for example, a `for` loop).\n", + "4. Use the reshaped `X_test` and `y_test` data to create a $k$-nearest neighbor classifier of digit. What is the optimal number of neighbors $k$? If you can't determine this, play around with different values of $k$ for your classifier.\n", + "5. For the optimal number of neighbors, how well does your predictor perform on the test set? Use a confusion matrix and compute accuracy.\n", + "6. For your confusion matrix, which mistakes are most likely? Do you find any interesting patterns?\n", + "7. So, this is how computers \"see.\" They convert an image into a matrix of values, that matrix becomes a vector in a dataset, and then we deploy ML tools on it as if it was any other kind of tabular data. To make sure you follow this, invent a way to represent a color photo in matrix form, and then describe how you could convert it into tabular data. (Hint: RGB color codes provide a method of encoding a numeric value that represents a color.)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "I69Ri7GvvNTX", + "outputId": "5c2a8147-dcf4-4fec-dcfc-c1ae1b99b58c" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz\n", + "\u001b[1m11490434/11490434\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 0us/step\n", + "7 \n", + "\n", + "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 84 185 159 151 60 36 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 222 254 254 254 254 241 198 198 198 198 198 198 198 198 170 52 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 67 114 72 114 163 227 254 225 254 254 254 250 229 254 254 140 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 17 66 14 67 67 67 59 21 236 254 106 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 253 209 18 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 233 255 83 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 129 254 238 44 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 59 249 254 62 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 133 254 187 5 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 205 248 58 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 126 254 182 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 75 251 240 57 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 19 221 254 166 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 3 203 254 219 35 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 38 254 254 77 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 31 224 254 115 1 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 133 254 254 52 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 61 242 254 254 52 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 121 254 254 219 40 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 121 254 207 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] \n", + "\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGdCAYAAACyzRGfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAsNUlEQVR4nO3df2xddf3H8Vf3o3VAe1kZ6w/oZhk6DGMzQVYHOiFr9sNkEZkJoCGDEBDsFkdVdAYYiyaNmJhFnOBfIISBkvAjYkRlui3owDCzLIvSsGbJwK1TF9ZuBTqg5/sH39bb03PvPT8+53N+PR9Jo7u9686utfe59/mcz6lzHMcRAACAJdOSPgAAAFAsxAcAALCK+AAAAFYRHwAAwCriAwAAWEV8AAAAq4gPAABgFfEBAACsmpH0AbiNjY3p6NGjamxsVF1dXdKHAwAAfHAcR6dOnVJ7e7umTas+20hdfBw9elQdHR1JHwYAAAjhzTff1IUXXlj1OamLj8bGRknS1S23aMa0+oSPBgAA+PHB2BntOv7IxPt4NamLj/FTLTOm1RMfAABkjJ8lEyw4BQAAVhEfAADAKuIDAABYRXwAAACriA8AAGAV8QEAAKwiPgAAgFXEBwAAsIr4AAAAVhEfAADAKuIDAABYRXwAAACriA8AAGAV8QEAAKwiPgAAgFXEBwAAsIr4AAAAVhEfAADAKuIDAABYRXwAAACrAsVHX1+frrjiCjU2Nmru3Lm69tpr1d/fP+k5V199terq6iZ93HHHHUYPGgAAZFeg+Ni9e7d6enr0yiuv6I9//KPef/99rVy5UiMjI5Oed9ttt+nYsWMTHw888IDRgwYAANk1I8iTX3zxxUm/fvTRRzV37lzt27dPy5cvn3j8rLPOUmtrq5kjBAAAuRJpzcfQ0JAkqbm5edLjTzzxhObMmaNFixZp8+bNeueddyp+jdHRUQ0PD0/6AAAA+RVo8lFubGxMmzZt0lVXXaVFixZNPP7Vr35V8+fPV3t7uw4cOKDvfve76u/v1zPPPOP5dfr6+rR169awhwEAADKmznEcJ8xvvPPOO/W73/1OL7/8si688MKKz/vTn/6kFStW6NChQ1qwYMGUz4+Ojmp0dHTi18PDw+ro6FB329c1Y1p9mEMDAACWfTB2Ri8d+4WGhobU1NRU9bmhJh8bNmzQCy+8oD179lQND0nq6uqSpIrx0dDQoIaGhjCHAQAAMihQfDiOo40bN+rZZ5/Vrl271NnZWfP37N+/X5LU1tYW6gABAEC+BIqPnp4e7dixQ88//7waGxs1ODgoSSqVSpo1a5YGBga0Y8cOffGLX9R5552nAwcO6K677tLy5cu1ePHiWP4CAAAgWwLFx0MPPSTpo43Eyj3yyCO6+eabVV9fr5deeknbtm3TyMiIOjo6tG7dOt1zzz3GDhgAAGRb4NMu1XR0dGj37t2RDggAAOQb93YBAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMCqGUkfAFDu3UUX+H7urIP/ivFIAABxIT6QmCChEcfvD4voAYBoiA9YkVQoxKH870KIAEBwxAeMixoaby+s93x8dv+ZSF83Du6/KzECALURHzAiruAI+hyTwsQOUxEAqI34QGRRwsN2UAQRdQJDiACAN+IDkYQJj1rBcWrB2JTHGgfSc1X4+PEHmYxwegYA/idQfPT19emZZ57R66+/rlmzZunKK6/Uj370Iy1cuHDiOe+9956+9a1v6amnntLo6KhWrVqln//852ppaTF+8EiO6ejwCo4gn/cSd7CU/32CnqJhKgKgyALFx+7du9XT06MrrrhCH3zwgb7//e9r5cqV+sc//qGzzz5bknTXXXfpt7/9rZ5++mmVSiVt2LBB1113nf7yl7/E8heAfUHCI8yUw5Q4vnaloAkzDRlHiAAomjrHcZywv/k///mP5s6dq927d2v58uUaGhrS+eefrx07dugrX/mKJOn111/Xpz71Ke3du1ef/exna37N4eFhlUoldbd9XTOmpXc9QFH5CY+owXFO59CUx04fLtX8c22qNVUxdWUOMQIg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WTGcPn1aAwMDamtrS/pQcq+zs1Otra2TvteHh4f16quv8r1uyVtvvaUTJ07w/R6C4zjasGGDnn32Wf3pT39SZ2fnpM9ffvnlmjlz5qTv7/7+fh05coTv7xBqvd5e9u/fL0mp/v5O1WmX3t5erV+/Xp/5zGe0dOlSbdu2TSMjI7rllluSPrTc+fa3v621a9dq/vz5Onr0qLZs2aLp06frxhtvTPrQcuH06dOT/tVx+PBh7d+/X83NzZo3b542bdqkH/7wh/rEJz6hzs5O3XvvvWpvb9e1116b3EFnWLXXu7m5WVu3btW6devU2tqqgYEB3X333br44ou1atWqBI86m3p6erRjxw49//zzamxsnFjHUSqVNGvWLJVKJd16663q7e1Vc3OzmpqatHHjRi1btkyf/exnEz767Kn1eg8MDGjHjh364he/qPPOO08HDhzQXXfdpeXLl2vx4sUJH30VSV9u4/bggw868+bNc+rr652lS5c6r7zyStKHlEvXX3+909bW5tTX1zsXXHCBc/311zuHDh1K+rBy489//rMjacrH+vXrHcf56HLbe++912lpaXEaGhqcFStWOP39/ckedIZVe73feecdZ+XKlc7555/vzJw505k/f75z2223OYODg0kfdiZ5vc6SnEceeWTiOe+++67zjW98w5k9e7Zz1llnOV/+8pedY8eOJXfQGVbr9T5y5IizfPlyp7m52WloaHAuvvhi5zvf+Y4zNDSU7IHXUOc4jmMzdgAAQLGlZs0HAAAoBuIDAABYRXwAAACriA8AAGAV8QEAAKwiPgAAgFXEBwAAsIr4AAAAVhEfAADAKuIDAABYRXwAAACriA8AAGDV/wGHSN1sCTxJNwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2 \n", + "\n", + "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 116 125 171 255 255 150 93 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 169 253 253 253 253 253 253 218 30 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 169 253 253 253 213 142 176 253 253 122 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 52 250 253 210 32 12 0 6 206 253 140 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 77 251 210 25 0 0 0 122 248 253 65 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 31 18 0 0 0 0 209 253 253 65 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 117 247 253 198 10 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 76 247 253 231 63 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 128 253 253 144 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 176 246 253 159 12 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 25 234 253 233 35 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 198 253 253 141 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 78 248 253 189 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 19 200 253 253 141 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 134 253 253 173 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 248 253 253 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 248 253 253 43 20 20 20 20 5 0 5 20 20 37 150 150 150 147 10 0]\n", + " [ 0 0 0 0 0 0 0 0 248 253 253 253 253 253 253 253 168 143 166 253 253 253 253 253 253 253 123 0]\n", + " [ 0 0 0 0 0 0 0 0 174 253 253 253 253 253 253 253 253 253 253 253 249 247 247 169 117 117 57 0]\n", + " [ 0 0 0 0 0 0 0 0 0 118 123 123 123 166 253 253 253 155 123 123 41 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] \n", + "\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1 \n", + "\n", + "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 38 254 109 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 87 252 82 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 135 241 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 45 244 150 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 84 254 63 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 202 223 11 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 254 216 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 95 254 195 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 140 254 77 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 57 237 205 8 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 124 255 165 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 171 254 81 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 24 232 215 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 120 254 159 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 151 254 142 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 228 254 66 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 61 251 254 66 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 141 254 205 3 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 10 215 254 121 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 5 198 176 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] \n", + "\n" + ] + }, + { + "data": { + "image/png": "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TZs2Dbl/X+d2t5cGAAA8dv78eSWTyZzPcT182LVhwwY1NTWlvj537pymTJmikydP5l08Ctfd3a3a2lqdOnVK5eXlQS8n9ni//cX77S/eb3+F7f02DEPnz59XTU1N3ue6Hj7Gjx+v4cOHq7OzM+3+zs5OVVVVDXl+IpFQIpEYcn8ymQzFm1ksysvLeb99xPvtL95vf/F++ytM77fVooHrA6elpaWaM2eO9u7dm7qvv79fe/fu1bx589x+OQAAEDGetF2ampq0cuVK3XjjjZo7d662bNminp4ePfzww168HAAAiBBPwse9996rb775Rs8++6w6Ojr005/+VHv27BkyhGomkUho48aNpq0YuI/321+83/7i/fYX77e/ovx+lxhW9sQAAAC4hGu7AAAAXxE+AACArwgfAADAV4QPAADgq9CFj61bt+rqq6/WqFGjVF9fr08//TToJcXSc889p5KSkrTbjBkzgl5WbOzfv1/Lli1TTU2NSkpKtHv37rTHDcPQs88+q+rqao0ePVoNDQ06fvx4MIuNgXzv96pVq4Z83pcsWRLMYiOuublZN910k8rKyjRx4kQtX75cra2tac+5ePGiGhsbNW7cOF111VVasWLFkIMnYY2V93vBggVDPt+PPvpoQCu2JlTh480331RTU5M2btyozz//XLNnz9bixYv19ddfB720WLr++ut15syZ1O3jjz8Oekmx0dPTo9mzZ2vr1q2mj2/evFkvvfSSXn75ZR06dEhXXnmlFi9erIsXL/q80njI935L0pIlS9I+76+//rqPK4yPlpYWNTY26uDBg3r//fd16dIlLVq0SD09PannrF+/Xu+++67eeusttbS06PTp07rnnnsCXHV0WXm/JWnNmjVpn+/NmzcHtGKLjBCZO3eu0djYmPr68uXLRk1NjdHc3BzgquJp48aNxuzZs4NeRlGQZOzatSv1dX9/v1FVVWX8/ve/T9137tw5I5FIGK+//noAK4yXzPfbMAxj5cqVxl133RXIeuLu66+/NiQZLS0thmH88FkeOXKk8dZbb6We869//cuQZBw4cCCoZcZG5vttGIbxs5/9zPjVr34V3KIcCE3lo6+vT4cPH1ZDQ0PqvmHDhqmhoUEHDhwIcGXxdfz4cdXU1Gjq1Kl68MEHdfLkyaCXVBTa29vV0dGR9llPJpOqr6/ns+6hffv2aeLEiZo+fboee+wxnT17NuglxUJXV5ckqaKiQpJ0+PBhXbp0Ke3zPWPGDE2ePJnPtwsy3+8Br732msaPH6+ZM2dqw4YN+v7774NYnmWBX9V2wLfffqvLly8POQW1srJSX3zxRUCriq/6+nrt2LFD06dP15kzZ7Rp0ybdfvvtOnbsmMrKyoJeXqx1dHRIkulnfeAxuGvJkiW65557VFdXp7a2Nv3mN7/R0qVLdeDAAQ0fPjzo5UVWf3+/1q1bp1tvvVUzZ86U9MPnu7S0VGPGjEl7Lp/vwpm935L0wAMPaMqUKaqpqdHRo0f11FNPqbW1VW+//XaAq80tNOED/lq6dGnqz7NmzVJ9fb2mTJmiv/3tb1q9enWAKwPcd99996X+fMMNN2jWrFmaNm2a9u3bp4ULFwa4smhrbGzUsWPHmBfzSbb3+5FHHkn9+YYbblB1dbUWLlyotrY2TZs2ze9lWhKatsv48eM1fPjwIRPRnZ2dqqqqCmhVxWPMmDG67rrrdOLEiaCXEnsDn2c+68GZOnWqxo8fz+e9AGvXrtV7772njz76SJMmTUrdX1VVpb6+Pp07dy7t+Xy+C5Pt/TZTX18vSaH+fIcmfJSWlmrOnDnau3dv6r7+/n7t3btX8+bNC3BlxeHChQtqa2tTdXV10EuJvbq6OlVVVaV91ru7u3Xo0CE+6z758ssvdfbsWT7vDhiGobVr12rXrl368MMPVVdXl/b4nDlzNHLkyLTPd2trq06ePMnn24F877eZI0eOSFKoP9+hars0NTVp5cqVuvHGGzV37lxt2bJFPT09evjhh4NeWuw88cQTWrZsmaZMmaLTp09r48aNGj58uO6///6glxYLFy5cSPu/jvb2dh05ckQVFRWaPHmy1q1bpxdeeEHXXnut6urq9Mwzz6impkbLly8PbtERluv9rqio0KZNm7RixQpVVVWpra1NTz75pK655hotXrw4wFVHU2Njo3bu3Kl33nlHZWVlqTmOZDKp0aNHK5lMavXq1WpqalJFRYXKy8v1+OOPa968ebr55psDXn305Hu/29ratHPnTt15550aN26cjh49qvXr12v+/PmaNWtWwKvPIejtNpn++Mc/GpMnTzZKS0uNuXPnGgcPHgx6SbF07733GtXV1UZpaanxox/9yLj33nuNEydOBL2s2Pjoo48MSUNuK1euNAzjh+22zzzzjFFZWWkkEglj4cKFRmtra7CLjrBc7/f3339vLFq0yJgwYYIxcuRIY8qUKcaaNWuMjo6OoJcdSWbvsyRj+/btqef85z//MX75y18aY8eONa644grj7rvvNs6cORPcoiMs3/t98uRJY/78+UZFRYWRSCSMa665xvj1r39tdHV1BbvwPEoMwzD8DDsAAKC4hWbmAwAAFAfCBwAA8BXhAwAA+IrwAQAAfEX4AAAAviJ8AAAAXxE+AACArwgfAADAV4QPAADgK8IHAADwFeEDAAD4ivABAAB89X+KvJTiYw8uqwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 \n", + "\n", + "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 11 150 253 202 31 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 37 251 251 253 107 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 21 197 251 251 253 107 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 110 190 251 251 251 253 169 109 62 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 253 251 251 251 251 253 251 251 220 51 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 182 255 253 253 253 253 234 222 253 253 253 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 63 221 253 251 251 251 147 77 62 128 251 251 105 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 32 231 251 253 251 220 137 10 0 0 31 230 251 243 113 5 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 37 251 251 253 188 20 0 0 0 0 0 109 251 253 251 35 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 37 251 251 201 30 0 0 0 0 0 0 31 200 253 251 35 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 37 253 253 0 0 0 0 0 0 0 0 32 202 255 253 164 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 140 251 251 0 0 0 0 0 0 0 0 109 251 253 251 35 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 217 251 251 0 0 0 0 0 0 21 63 231 251 253 230 30 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 217 251 251 0 0 0 0 0 0 144 251 251 251 221 61 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 217 251 251 0 0 0 0 0 182 221 251 251 251 180 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 218 253 253 73 73 228 253 253 255 253 253 253 253 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 113 251 251 253 251 251 251 251 253 251 251 251 147 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 31 230 251 253 251 251 251 251 253 230 189 35 10 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 62 142 253 251 251 251 251 253 107 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 72 174 251 173 71 72 30 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] \n", + "\n" + ] + }, + { + "data": { + "image/png": "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g9kqurq6eLxzxOOdLx7vfPF456tMj7fp0MD6htP29nYtXrxY27dvb75vfHxc27dv19KlS21/OgAAUDGZLLts2rRJ69ev12c+8xnddNNNevzxxzU6Oqr77rsvi08HAAAqJJP4uPPOO/X73/9ejz76qI4fP65Pf/rTeumllyZtQvXT0dGhLVu2+C7FwD4e73zxeOeLxztfPN75qvLj3eaYnBMDAABgCfd2AQAAuSI+AABArogPAACQK+IDAADkqnTx8cQTT+gTn/iELrroIi1ZskS//vWviz6kWvrOd76jtra2CW/XXntt0YdVG6+99prWrFmjvr4+tbW16fnnn5/w547j6NFHH1Vvb6+mTZum5cuX6+233y7mYGsg6vG+9957Jz3fV61aVczBVtzg4KBuvPFGdXZ2atasWVq7dq2GhoYmfMwHH3yggYEBXXbZZbrkkku0bt26SReehBmTx/vWW2+d9Pz+2te+VtARmylVfPzsZz/Tpk2btGXLFv32t7/VokWLtHLlSr377rtFH1otfepTn9KxY8eab6+//nrRh1Qbo6OjWrRokZ544gnfP3/sscf0gx/8QD/60Y/05ptv6k/+5E+0cuVKffDBBzkfaT1EPd6StGrVqgnP92eeeSbHI6yPnTt3amBgQLt379bLL7+s8+fPa8WKFRodHW1+zMMPP6xf/OIXevbZZ7Vz504dPXpUd9xxR4FHXV0mj7ck3X///ROe34899lhBR2zIKZGbbrrJGRgYaP77hx9+6PT19TmDg4MFHlU9bdmyxVm0aFHRh9ESJDnPPfdc89/Hx8ednp4e5x//8R+b7zt9+rTT0dHhPPPMMwUcYb14H2/HcZz169c7t99+eyHHU3fvvvuuI8nZuXOn4zgfPZcvvPBC59lnn21+zP/8z/84kpxdu3YVdZi14X28Hcdx/vzP/9z527/92+IOKoHSTD7OnTunPXv2aPny5c33TZkyRcuXL9euXbsKPLL6evvtt9XX16errrpKX/7yl3X48OGiD6klHDp0SMePH5/wXO/u7taSJUt4rmdox44dmjVrlhYsWKAHHnhAJ0+eLPqQamF4eFiSNGPGDEnSnj17dP78+QnP72uvvVZz587l+W2B9/Fu+OlPf6qZM2dq4cKF2rx5s957770iDs9Y4Xe1bfjDH/6gDz/8cNJVUGfPnq233nqroKOqryVLluipp57SggULdOzYMW3dulWf//zntX//fnV2dhZ9eLV2/PhxSfJ9rjf+DHatWrVKd9xxh/r7+3Xw4EH9/d//vVavXq1du3Zp6tSpRR9eZY2Pj2vjxo265ZZbtHDhQkkfPb/b29t16aWXTvhYnt/p+T3ekvSlL31J8+bNU19fn/bt26dvfetbGhoa0s9//vMCjzZcaeID+Vq9enXzn6+//notWbJE8+bN07/9279pw4YNBR4ZYN9dd93V/OfrrrtO119/vebPn68dO3botttuK/DIqm1gYED79+9nv1hOgh7vr3zlK81/vu6669Tb26vbbrtNBw8e1Pz58/M+TCOlWXaZOXOmpk6dOmlH9IkTJ9TT01PQUbWOSy+9VNdcc40OHDhQ9KHUXuP5zHO9OFdddZVmzpzJ8z2FBx98UC+++KJeffVVXXnllc339/T06Ny5czp9+vSEj+f5nU7Q4+1nyZIlklTq53dp4qO9vV2LFy/W9u3bm+8bHx/X9u3btXTp0gKPrDWcPXtWBw8eVG9vb9GHUnv9/f3q6emZ8FwfGRnRm2++yXM9J++8845OnjzJ8z0Bx3H04IMP6rnnntOvfvUr9ff3T/jzxYsX68ILL5zw/B4aGtLhw4d5ficQ9Xj72bt3rySV+vldqmWXTZs2af369frMZz6jm266SY8//rhGR0d13333FX1otfP1r39da9as0bx583T06FFt2bJFU6dO1d133130odXC2bNnJ/zWcejQIe3du1czZszQ3LlztXHjRn3ve9/TJz/5SfX39+uRRx5RX1+f1q5dW9xBV1jY4z1jxgxt3bpV69atU09Pjw4ePKhvfvObuvrqq7Vy5coCj7qaBgYGtG3bNr3wwgvq7Oxs7uPo7u7WtGnT1N3drQ0bNmjTpk2aMWOGurq69NBDD2np0qX67Gc/W/DRV0/U433w4EFt27ZNX/jCF3TZZZdp3759evjhh7Vs2TJdf/31BR99iKJPt/H6p3/6J2fu3LlOe3u7c9NNNzm7d+8u+pBq6c4773R6e3ud9vZ254orrnDuvPNO58CBA0UfVm28+uqrjqRJb+vXr3cc56PTbR955BFn9uzZTkdHh3Pbbbc5Q0NDxR50hYU93u+9956zYsUK5/LLL3cuvPBCZ968ec7999/vHD9+vOjDriS/x1mS8+STTzY/5v3333f+5m/+xpk+fbpz8cUXO3/5l3/pHDt2rLiDrrCox/vw4cPOsmXLnBkzZjgdHR3O1Vdf7XzjG99whoeHiz3wCG2O4zh5xg4AAGhtpdnzAQAAWgPxAQAAckV8AACAXBEfAAAgV8QHAADIFfEBAAByRXwAAIBcER8AACBXxAcAAMgV8QEAAHJFfAAAgFwRHwAAIFf/B/KoRxBk0eggAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "4 \n", + "\n", + "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 50 224 0 0 0 0 0 0 0 70 29 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 121 231 0 0 0 0 0 0 0 148 168 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 4 195 231 0 0 0 0 0 0 0 96 210 11 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 69 252 134 0 0 0 0 0 0 0 114 252 21 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 45 236 217 12 0 0 0 0 0 0 0 192 252 21 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 168 247 53 0 0 0 0 0 0 0 18 255 253 21 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 84 242 211 0 0 0 0 0 0 0 0 141 253 189 5 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 169 252 106 0 0 0 0 0 0 0 32 232 250 66 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 15 225 252 0 0 0 0 0 0 0 0 134 252 211 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 22 252 164 0 0 0 0 0 0 0 0 169 252 167 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 9 204 209 18 0 0 0 0 0 0 22 253 253 107 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 169 252 199 85 85 85 85 129 164 195 252 252 106 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 41 170 245 252 252 252 252 232 231 251 252 252 9 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 49 84 84 84 84 0 0 161 252 252 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 252 252 45 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 253 253 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 252 252 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 135 252 244 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 232 236 111 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 179 66 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] \n", + "\n" + ] + }, + { + "data": { + "image/png": "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dXrsscc0MjKie++9N4mHAwAAOZJI+Ljtttv0r3/9Sz/60Y80ODioL37xi9q+ffu4JlQ3TU1NWr9+vetUDMzj+baL59sunm+7eL7tyvPz3eAEWRMDAABgCNd2AQAAVhE+AACAVYQPAABgFeEDAABYlbnwsXHjRl1yySU6++yz1d3drXfeeSftIdWkH//4x2poaCj7uvLKK9MeVs144403dPPNN6ujo0MNDQ16/vnny37uOI5+9KMfacaMGZo8ebKWLFmid999N53B1gC/5/uee+4Zd7wvX748ncHmXF9fn6699lo1Nzdr+vTpWrlypfr7+8vu88knn6inp0cXXHCBzjvvPK1atWrcxpMIJsjzvWjRonHH97e+9a2URhxMpsLHM888o97eXq1fv15/+9vfNH/+fC1btkwffPBB2kOrSV/4whd09OjR4tebb76Z9pBqxsjIiObPn6+NGze6/vzRRx/Vr371Kz3++ON6++23de6552rZsmX65JNPLI+0Nvg935K0fPnysuP96aeftjjC2rFr1y719PRoz549euWVV3TmzBktXbpUIyMjxfs89NBDevHFF/Xss89q165dOnLkiG699dYUR51fQZ5vSbr//vvLju9HH300pREH5GTIdddd5/T09BS///TTT52Ojg6nr68vxVHVpvXr1zvz589Pexh1QZKzbdu24vdjY2NOe3u78/Of/7x424kTJ5ympibn6aefTmGEtaXy+XYcx1m9erVzyy23pDKeWvfBBx84kpxdu3Y5jvPZsXzWWWc5zz77bPE+f//73x1Jzu7du9MaZs2ofL4dx3G++tWvOt/5znfSG1QEmal8nD59Wnv37tWSJUuKt02YMEFLlizR7t27UxxZ7Xr33XfV0dGhSy+9VHfddZcOHz6c9pDqwqFDhzQ4OFh2rLe0tKi7u5tjPUE7d+7U9OnTNWfOHD3wwAM6fvx42kOqCUNDQ5Kk1tZWSdLevXt15syZsuP7yiuv1MyZMzm+Dah8vgueeuopTZs2TXPnztW6dev00UcfpTG8wFK/qm3Bv//9b3366afjdkFta2vTP/7xj5RGVbu6u7u1ZcsWzZkzR0ePHtWGDRv0la98RQcOHFBzc3Paw6tpg4ODkuR6rBd+BrOWL1+uW2+9VV1dXRoYGNAPfvADrVixQrt379bEiRPTHl5ujY2Nae3atbrhhhs0d+5cSZ8d342NjTr//PPL7svxHZ/b8y1Jd955p2bNmqWOjg7t379f3//+99Xf36/nnnsuxdF6y0z4gF0rVqwo/nvevHnq7u7WrFmz9Kc//Un33XdfiiMDzLv99tuL/77qqqs0b948zZ49Wzt37tTixYtTHFm+9fT06MCBA/SLWVLt+f7GN75R/PdVV12lGTNmaPHixRoYGNDs2bNtDzOQzEy7TJs2TRMnThzXEX3s2DG1t7enNKr6cf755+uKK67QwYMH0x5KzSsczxzr6bn00ks1bdo0jvcY1qxZo5deekmvv/66Lr744uLt7e3tOn36tE6cOFF2f47veKo93266u7slKdPHd2bCR2Njo66++mrt2LGjeNvY2Jh27NihBQsWpDiy+nDq1CkNDAxoxowZaQ+l5nV1dam9vb3sWB8eHtbbb7/NsW7J+++/r+PHj3O8R+A4jtasWaNt27bptddeU1dXV9nPr776ap111lllx3d/f78OHz7M8R2B3/PtZt++fZKU6eM7U9Muvb29Wr16ta655hpdd911euyxxzQyMqJ777037aHVnO9+97u6+eabNWvWLB05ckTr16/XxIkTdccdd6Q9tJpw6tSpsk8dhw4d0r59+9Ta2qqZM2dq7dq1+ulPf6rLL79cXV1deuSRR9TR0aGVK1emN+gc83q+W1tbtWHDBq1atUrt7e0aGBjQww8/rMsuu0zLli1LcdT51NPTo61bt+qFF15Qc3NzsY+jpaVFkydPVktLi+677z719vaqtbVVU6ZM0YMPPqgFCxboS1/6Usqjzx+/53tgYEBbt27VTTfdpAsuuED79+/XQw89pIULF2revHkpj95D2sttKv361792Zs6c6TQ2NjrXXXeds2fPnrSHVJNuu+02Z8aMGU5jY6Nz0UUXObfddptz8ODBtIdVM15//XVH0riv1atXO47z2XLbRx55xGlra3OampqcxYsXO/39/ekOOse8nu+PPvrIWbp0qXPhhRc6Z511ljNr1izn/vvvdwYHB9Medi65Pc+SnM2bNxfv8/HHHzvf/va3nalTpzrnnHOO8/Wvf905evRoeoPOMb/n+/Dhw87ChQud1tZWp6mpybnsssuc733ve87Q0FC6A/fR4DiOYzPsAACA+paZng8AAFAfCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACs+n+3vv8qxzeMcwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Part 1\n", + "from keras.datasets import mnist\n", + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.neighbors import KNeighborsClassifier\n", + "\n", + "df = mnist.load_data('minst.db')\n", + "train,test = df\n", + "X_train, y_train = train\n", + "X_test, y_test = test\n", + "\n", + "np.set_printoptions(edgeitems=30, linewidth=100000)\n", + "for i in range(5):\n", + " print(y_test[i],'\\n') # Print the label\n", + " print(X_test[i],'\\n') # Print the matrix of values\n", + " plt.contourf(np.rot90(X_test[i].transpose())) # Make a contour plot of the matrix values\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "5-gCx0cfve9f", + "outputId": "03591524-0205-45ed-d03a-e02a78134a62" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(60000, 28, 28)\n", + "(10000, 28, 28)\n", + "(60000,)\n", + "(10000,)\n" + ] + } + ], + "source": [ + "\"\"\"\n", + "What is the shape of X_train and X_test? What is the shape of X_train[i] and X_test[i] for each index i? What is the shape of y_train and y_test?\n", + "\"\"\"\n", + "print(X_train.shape)\n", + "print(X_test.shape)\n", + "print(y_train.shape)\n", + "print(y_test.shape)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Question 2. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "4HnTNszHvi2-" + }, + "outputs": [], + "source": [ + "\"\"\"\n", + "Part 3\n", + "\"\"\"\n", + "\n", + "Z_train = []\n", + "\n", + "for i in range(60000):\n", + " row = X_train[i].reshape((1,784))\n", + " Z_train.append(row[0])\n", + "Z_train = pd.DataFrame(Z_train)\n", + "\n", + "Z_test = []\n", + "\n", + "for i in range(len(y_test)):\n", + " row = X_test[i].reshape((1,784))\n", + " Z_test.append(row[0])\n", + "Z_test = pd.DataFrame(Z_test)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 509 + }, + "id": "s99GtgpPwYm4", + "outputId": "56bb4720-0222-4dc2-d30a-e1462d509ed2" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[4]\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\"\"\"\n", + "Part 4\n", + "\"\"\"\n", + "k_bar = 50\n", + "k_grid = np.arange(2,k_bar)\n", + "accuracy = np.zeros(k_bar)\n", + "\n", + "for k in range(k_bar):\n", + " knn = KNeighborsClassifier(n_neighbors=k+1)\n", + " predictor = knn.fit(Z_train.values,y_train)\n", + " accuracy[k] = knn.score(Z_test.values,y_test)\n", + "\n", + "accuracy_max = np.max(accuracy)\n", + "max_index = np.where(accuracy==accuracy_max)\n", + "k_star = k_grid[max_index]\n", + "print(k_star)\n", + "\n", + "plt.plot(np.arange(0,k_bar),accuracy)\n", + "plt.xlabel(\"k\")\n", + "plt.title(\"optimal k:\"+str(k_star))\n", + "plt.ylabel('Accuracy')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Question 4. A k = 4 appears to give us the overall best accuracy." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 432 + }, + "id": "J4SX1a3U7YuR", + "outputId": "96718ce5-323e-43a0-d796-6917e2fdb3b7" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Accuracy: 0.9691\n" + ] + }, + { + "data": { + "application/vnd.google.colaboratory.intrinsic+json": { + "summary": "{\n \"name\": \"pd\",\n \"rows\": 10,\n \"fields\": [\n {\n \"column\": \"row_0\",\n \"properties\": {\n \"dtype\": \"uint8\",\n \"num_unique_values\": 10,\n \"samples\": [\n 8,\n 1,\n 5\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": 0,\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 306,\n \"min\": 0,\n \"max\": 973,\n \"num_unique_values\": 7,\n \"samples\": [\n 973,\n 0,\n 6\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": 1,\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 355,\n \"min\": 1,\n \"max\": 1129,\n \"num_unique_values\": 7,\n \"samples\": [\n 1,\n 1129,\n 14\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": 2,\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 313,\n \"min\": 0,\n \"max\": 992,\n \"num_unique_values\": 6,\n \"samples\": [\n 1,\n 3,\n 6\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": 3,\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 305,\n \"min\": 0,\n \"max\": 970,\n \"num_unique_values\": 7,\n \"samples\": [\n 0,\n 5,\n 14\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": 4,\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 297,\n \"min\": 0,\n \"max\": 944,\n \"num_unique_values\": 8,\n \"samples\": [\n 1,\n 4,\n 0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": 5,\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 270,\n \"min\": 0,\n \"max\": 860,\n \"num_unique_values\": 6,\n \"samples\": [\n 1,\n 0,\n 13\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": 6,\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 297,\n \"min\": 0,\n \"max\": 944,\n \"num_unique_values\": 6,\n \"samples\": [\n 3,\n 1,\n 944\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": 7,\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 312,\n \"min\": 0,\n \"max\": 992,\n \"num_unique_values\": 8,\n \"samples\": [\n 0,\n 992,\n 1\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": 8,\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 290,\n \"min\": 0,\n \"max\": 920,\n \"num_unique_values\": 6,\n \"samples\": [\n 0,\n 3,\n 920\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": 9,\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 304,\n \"min\": 0,\n \"max\": 967,\n \"num_unique_values\": 7,\n \"samples\": [\n 0,\n 3,\n 5\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}", + "type": "dataframe" + }, + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
col_00123456789
row_0
0973110013100
10112930111000
27699251021630
30129701190773
40700944035122
51101228605164
6420035944000
701462400992010
861314513349205
925161051111967
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "text/plain": [ + "col_0 0 1 2 3 4 5 6 7 8 9\n", + "row_0 \n", + "0 973 1 1 0 0 1 3 1 0 0\n", + "1 0 1129 3 0 1 1 1 0 0 0\n", + "2 7 6 992 5 1 0 2 16 3 0\n", + "3 0 1 2 970 1 19 0 7 7 3\n", + "4 0 7 0 0 944 0 3 5 1 22\n", + "5 1 1 0 12 2 860 5 1 6 4\n", + "6 4 2 0 0 3 5 944 0 0 0\n", + "7 0 14 6 2 4 0 0 992 0 10\n", + "8 6 1 3 14 5 13 3 4 920 5\n", + "9 2 5 1 6 10 5 1 11 1 967" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"\n", + "Part 5\n", + "\"\"\"\n", + "knn = KNeighborsClassifier(n_neighbors=1)\n", + "predictor = knn.fit(Z_train.values,y_train)\n", + "y_hat = predictor.predict(Z_test.values)\n", + "\n", + "accuracy = knn.score(Z_test.values,y_test)\n", + "print('Accuracy: ', accuracy)\n", + "\n", + "pd.crosstab(y_test, y_hat)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Question 5. It looks like after training our model we have a roughly 96.9% accuracy, which is pretty good I'd say.\n", + "\n", + "Question 6. The most common mistake made for the given data set was 4 being mistaken for 9, followed by 7 mistaken for 2, and 8 mistaken for 3. These all make reasonable sense, but I am surprised that 4 and 9 were the most common one to be mistaken for. I don't see any particular patterns, other than that the ones often confused are cases where if some part of the character was missing it would be quite similar. 3 and 8 for example; you can very easily make a 3 into an 8, or vice versa by erasing a small portion. For an ML model, this is understandable why it made a mistake. 7 and 1 also look very similar, just slightly slanted.\n", + "\n", + "Question 7. Take each pixel, and split it into a tuple of (R, G, B). To find the difference between two particular pixels, we can use some sort of Euclidean algorithm that compares R1 to R2, G1 to G2, and B1 to B2 to generate our \"difference\" between two pixels. Our matrix then would simply be our pixels as a matrix of tuples." + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.1" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/03_computer_vision/.ipynb_checkpoints/cv_notebook-checkpoint.ipynb b/03_computer_vision/.ipynb_checkpoints/cv_notebook-checkpoint.ipynb new file mode 100644 index 00000000..a08cf338 --- /dev/null +++ b/03_computer_vision/.ipynb_checkpoints/cv_notebook-checkpoint.ipynb @@ -0,0 +1,701 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Computer Vision\n", + "\n", + "Let's do some very basic computer vision. We're going to import the MNIST handwritten digits data and $k$NN to predict values (i.e. \"see/read\").\n", + "\n", + "1. To load the data, run the following code in a chunk:\n", + "```\n", + "from keras.datasets import mnist\n", + "df = mnist.load_data('minst.db')\n", + "train,test = df\n", + "X_train, y_train = train\n", + "X_test, y_test = test\n", + "```\n", + "The `y_test` and `y_train` vectors, for each index `i`, tell you want number is written in the corresponding index in `X_train[i]` and `X_test[i]`. The value of `X_train[i]` and `X_test[i]`, however, is a 28$\\times$28 array whose entries contain values between 0 and 256. Each element of the matrix is essentially a \"pixel\" and the matrix encodes a representation of a number. To visualize this, run the following code to see the first ten numbers:\n", + "```\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "np.set_printoptions(edgeitems=30, linewidth=100000)\n", + "for i in range(5): \n", + " print(y_test[i],'\\n') # Print the label\n", + " print(X_test[i],'\\n') # Print the matrix of values\n", + " plt.contourf(np.rot90(X_test[i].transpose())) # Make a contour plot of the matrix values\n", + " plt.show()\n", + "```\n", + "OK, those are the data: Labels attached to handwritten digits encoded as a matrix." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "7 \n", + "\n", + "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 84 185 159 151 60 36 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 222 254 254 254 254 241 198 198 198 198 198 198 198 198 170 52 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 67 114 72 114 163 227 254 225 254 254 254 250 229 254 254 140 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 17 66 14 67 67 67 59 21 236 254 106 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 253 209 18 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 233 255 83 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 129 254 238 44 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 59 249 254 62 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 133 254 187 5 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 205 248 58 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 126 254 182 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 75 251 240 57 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 19 221 254 166 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 3 203 254 219 35 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 38 254 254 77 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 31 224 254 115 1 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 133 254 254 52 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 61 242 254 254 52 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 121 254 254 219 40 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 121 254 207 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] \n", + "\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGdCAYAAACyzRGfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAsNUlEQVR4nO3df2xddf3H8Vf3o3VAe1kZ6w/oZhk6DGMzQVYHOiFr9sNkEZkJoCGDEBDsFkdVdAYYiyaNmJhFnOBfIISBkvAjYkRlui3owDCzLIvSsGbJwK1TF9ZuBTqg5/sH39bb03PvPT8+53N+PR9Jo7u9686utfe59/mcz6lzHMcRAACAJdOSPgAAAFAsxAcAALCK+AAAAFYRHwAAwCriAwAAWEV8AAAAq4gPAABgFfEBAACsmpH0AbiNjY3p6NGjamxsVF1dXdKHAwAAfHAcR6dOnVJ7e7umTas+20hdfBw9elQdHR1JHwYAAAjhzTff1IUXXlj1OamLj8bGRknS1S23aMa0+oSPBgAA+PHB2BntOv7IxPt4NamLj/FTLTOm1RMfAABkjJ8lEyw4BQAAVhEfAADAKuIDAABYRXwAAACriA8AAGAV8QEAAKwiPgAAgFXEBwAAsIr4AAAAVhEfAADAKuIDAABYRXwAAACriA8AAGAV8QEAAKwiPgAAgFXEBwAAsIr4AAAAVhEfAADAKuIDAABYRXwAAACrAsVHX1+frrjiCjU2Nmru3Lm69tpr1d/fP+k5V199terq6iZ93HHHHUYPGgAAZFeg+Ni9e7d6enr0yiuv6I9//KPef/99rVy5UiMjI5Oed9ttt+nYsWMTHw888IDRgwYAANk1I8iTX3zxxUm/fvTRRzV37lzt27dPy5cvn3j8rLPOUmtrq5kjBAAAuRJpzcfQ0JAkqbm5edLjTzzxhObMmaNFixZp8+bNeueddyp+jdHRUQ0PD0/6AAAA+RVo8lFubGxMmzZt0lVXXaVFixZNPP7Vr35V8+fPV3t7uw4cOKDvfve76u/v1zPPPOP5dfr6+rR169awhwEAADKmznEcJ8xvvPPOO/W73/1OL7/8si688MKKz/vTn/6kFStW6NChQ1qwYMGUz4+Ojmp0dHTi18PDw+ro6FB329c1Y1p9mEMDAACWfTB2Ri8d+4WGhobU1NRU9bmhJh8bNmzQCy+8oD179lQND0nq6uqSpIrx0dDQoIaGhjCHAQAAMihQfDiOo40bN+rZZ5/Vrl271NnZWfP37N+/X5LU1tYW6gABAEC+BIqPnp4e7dixQ88//7waGxs1ODgoSSqVSpo1a5YGBga0Y8cOffGLX9R5552nAwcO6K677tLy5cu1ePHiWP4CAAAgWwLFx0MPPSTpo43Eyj3yyCO6+eabVV9fr5deeknbtm3TyMiIOjo6tG7dOt1zzz3GDhgAAGRb4NMu1XR0dGj37t2RDggAAOQb93YBAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMCqGUkfAFDu3UUX+H7urIP/ivFIAABxIT6QmCChEcfvD4voAYBoiA9YkVQoxKH870KIAEBwxAeMixoaby+s93x8dv+ZSF83Du6/KzECALURHzAiruAI+hyTwsQOUxEAqI34QGRRwsN2UAQRdQJDiACAN+IDkYQJj1rBcWrB2JTHGgfSc1X4+PEHmYxwegYA/idQfPT19emZZ57R66+/rlmzZunKK6/Uj370Iy1cuHDiOe+9956+9a1v6amnntLo6KhWrVqln//852ppaTF+8EiO6ejwCo4gn/cSd7CU/32CnqJhKgKgyALFx+7du9XT06MrrrhCH3zwgb7//e9r5cqV+sc//qGzzz5bknTXXXfpt7/9rZ5++mmVSiVt2LBB1113nf7yl7/E8heAfUHCI8yUw5Q4vnaloAkzDRlHiAAomjrHcZywv/k///mP5s6dq927d2v58uUaGhrS+eefrx07dugrX/mKJOn111/Xpz71Ke3du1ef/exna37N4eFhlUoldbd9XTOmpXc9QFH5CY+owXFO59CUx04fLtX8c22qNVUxdWUOMQIg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WTGcPn1aAwMDamtrS/pQcq+zs1Otra2TvteHh4f16quv8r1uyVtvvaUTJ07w/R6C4zjasGGDnn32Wf3pT39SZ2fnpM9ffvnlmjlz5qTv7/7+fh05coTv7xBqvd5e9u/fL0mp/v5O1WmX3t5erV+/Xp/5zGe0dOlSbdu2TSMjI7rllluSPrTc+fa3v621a9dq/vz5Onr0qLZs2aLp06frxhtvTPrQcuH06dOT/tVx+PBh7d+/X83NzZo3b542bdqkH/7wh/rEJz6hzs5O3XvvvWpvb9e1116b3EFnWLXXu7m5WVu3btW6devU2tqqgYEB3X333br44ou1atWqBI86m3p6erRjxw49//zzamxsnFjHUSqVNGvWLJVKJd16663q7e1Vc3OzmpqatHHjRi1btkyf/exnEz767Kn1eg8MDGjHjh364he/qPPOO08HDhzQXXfdpeXLl2vx4sUJH30VSV9u4/bggw868+bNc+rr652lS5c6r7zyStKHlEvXX3+909bW5tTX1zsXXHCBc/311zuHDh1K+rBy489//rMjacrH+vXrHcf56HLbe++912lpaXEaGhqcFStWOP39/ckedIZVe73feecdZ+XKlc7555/vzJw505k/f75z2223OYODg0kfdiZ5vc6SnEceeWTiOe+++67zjW98w5k9e7Zz1llnOV/+8pedY8eOJXfQGVbr9T5y5IizfPlyp7m52WloaHAuvvhi5zvf+Y4zNDSU7IHXUOc4jmMzdgAAQLGlZs0HAAAoBuIDAABYRXwAAACriA8AAGAV8QEAAKwiPgAAgFXEBwAAsIr4AAAAVhEfAADAKuIDAABYRXwAAACriA8AAGDV/wGHSN1sCTxJNwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2 \n", + "\n", + "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 116 125 171 255 255 150 93 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 169 253 253 253 253 253 253 218 30 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 169 253 253 253 213 142 176 253 253 122 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 52 250 253 210 32 12 0 6 206 253 140 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 77 251 210 25 0 0 0 122 248 253 65 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 31 18 0 0 0 0 209 253 253 65 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 117 247 253 198 10 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 76 247 253 231 63 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 128 253 253 144 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 176 246 253 159 12 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 25 234 253 233 35 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 198 253 253 141 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 78 248 253 189 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 19 200 253 253 141 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 134 253 253 173 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 248 253 253 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 248 253 253 43 20 20 20 20 5 0 5 20 20 37 150 150 150 147 10 0]\n", + " [ 0 0 0 0 0 0 0 0 248 253 253 253 253 253 253 253 168 143 166 253 253 253 253 253 253 253 123 0]\n", + " [ 0 0 0 0 0 0 0 0 174 253 253 253 253 253 253 253 253 253 253 253 249 247 247 169 117 117 57 0]\n", + " [ 0 0 0 0 0 0 0 0 0 118 123 123 123 166 253 253 253 155 123 123 41 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] \n", + "\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1 \n", + "\n", + "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 38 254 109 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 87 252 82 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 135 241 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 45 244 150 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 84 254 63 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 202 223 11 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 254 216 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 95 254 195 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 140 254 77 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 57 237 205 8 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 124 255 165 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 171 254 81 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 24 232 215 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 120 254 159 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 151 254 142 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 228 254 66 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 61 251 254 66 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 141 254 205 3 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 10 215 254 121 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 5 198 176 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] \n", + "\n" + ] + }, + { + "data": { + "image/png": "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TZs2Dbl/X+d2t5cGAAA8dv78eSWTyZzPcT182LVhwwY1NTWlvj537pymTJmikydP5l08Ctfd3a3a2lqdOnVK5eXlQS8n9ni//cX77S/eb3+F7f02DEPnz59XTU1N3ue6Hj7Gjx+v4cOHq7OzM+3+zs5OVVVVDXl+IpFQIpEYcn8ymQzFm1ksysvLeb99xPvtL95vf/F++ytM77fVooHrA6elpaWaM2eO9u7dm7qvv79fe/fu1bx589x+OQAAEDGetF2ampq0cuVK3XjjjZo7d662bNminp4ePfzww168HAAAiBBPwse9996rb775Rs8++6w6Ojr005/+VHv27BkyhGomkUho48aNpq0YuI/321+83/7i/fYX77e/ovx+lxhW9sQAAAC4hGu7AAAAXxE+AACArwgfAADAV4QPAADgq9CFj61bt+rqq6/WqFGjVF9fr08//TToJcXSc889p5KSkrTbjBkzgl5WbOzfv1/Lli1TTU2NSkpKtHv37rTHDcPQs88+q+rqao0ePVoNDQ06fvx4MIuNgXzv96pVq4Z83pcsWRLMYiOuublZN910k8rKyjRx4kQtX75cra2tac+5ePGiGhsbNW7cOF111VVasWLFkIMnYY2V93vBggVDPt+PPvpoQCu2JlTh480331RTU5M2btyozz//XLNnz9bixYv19ddfB720WLr++ut15syZ1O3jjz8Oekmx0dPTo9mzZ2vr1q2mj2/evFkvvfSSXn75ZR06dEhXXnmlFi9erIsXL/q80njI935L0pIlS9I+76+//rqPK4yPlpYWNTY26uDBg3r//fd16dIlLVq0SD09PannrF+/Xu+++67eeusttbS06PTp07rnnnsCXHV0WXm/JWnNmjVpn+/NmzcHtGKLjBCZO3eu0djYmPr68uXLRk1NjdHc3BzgquJp48aNxuzZs4NeRlGQZOzatSv1dX9/v1FVVWX8/ve/T9137tw5I5FIGK+//noAK4yXzPfbMAxj5cqVxl133RXIeuLu66+/NiQZLS0thmH88FkeOXKk8dZbb6We869//cuQZBw4cCCoZcZG5vttGIbxs5/9zPjVr34V3KIcCE3lo6+vT4cPH1ZDQ0PqvmHDhqmhoUEHDhwIcGXxdfz4cdXU1Gjq1Kl68MEHdfLkyaCXVBTa29vV0dGR9llPJpOqr6/ns+6hffv2aeLEiZo+fboee+wxnT17NuglxUJXV5ckqaKiQpJ0+PBhXbp0Ke3zPWPGDE2ePJnPtwsy3+8Br732msaPH6+ZM2dqw4YN+v7774NYnmWBX9V2wLfffqvLly8POQW1srJSX3zxRUCriq/6+nrt2LFD06dP15kzZ7Rp0ybdfvvtOnbsmMrKyoJeXqx1dHRIkulnfeAxuGvJkiW65557VFdXp7a2Nv3mN7/R0qVLdeDAAQ0fPjzo5UVWf3+/1q1bp1tvvVUzZ86U9MPnu7S0VGPGjEl7Lp/vwpm935L0wAMPaMqUKaqpqdHRo0f11FNPqbW1VW+//XaAq80tNOED/lq6dGnqz7NmzVJ9fb2mTJmiv/3tb1q9enWAKwPcd99996X+fMMNN2jWrFmaNm2a9u3bp4ULFwa4smhrbGzUsWPHmBfzSbb3+5FHHkn9+YYbblB1dbUWLlyotrY2TZs2ze9lWhKatsv48eM1fPjwIRPRnZ2dqqqqCmhVxWPMmDG67rrrdOLEiaCXEnsDn2c+68GZOnWqxo8fz+e9AGvXrtV7772njz76SJMmTUrdX1VVpb6+Pp07dy7t+Xy+C5Pt/TZTX18vSaH+fIcmfJSWlmrOnDnau3dv6r7+/n7t3btX8+bNC3BlxeHChQtqa2tTdXV10EuJvbq6OlVVVaV91ru7u3Xo0CE+6z758ssvdfbsWT7vDhiGobVr12rXrl368MMPVVdXl/b4nDlzNHLkyLTPd2trq06ePMnn24F877eZI0eOSFKoP9+hars0NTVp5cqVuvHGGzV37lxt2bJFPT09evjhh4NeWuw88cQTWrZsmaZMmaLTp09r48aNGj58uO6///6glxYLFy5cSPu/jvb2dh05ckQVFRWaPHmy1q1bpxdeeEHXXnut6urq9Mwzz6impkbLly8PbtERluv9rqio0KZNm7RixQpVVVWpra1NTz75pK655hotXrw4wFVHU2Njo3bu3Kl33nlHZWVlqTmOZDKp0aNHK5lMavXq1WpqalJFRYXKy8v1+OOPa968ebr55psDXn305Hu/29ratHPnTt15550aN26cjh49qvXr12v+/PmaNWtWwKvPIejtNpn++Mc/GpMnTzZKS0uNuXPnGgcPHgx6SbF07733GtXV1UZpaanxox/9yLj33nuNEydOBL2s2Pjoo48MSUNuK1euNAzjh+22zzzzjFFZWWkkEglj4cKFRmtra7CLjrBc7/f3339vLFq0yJgwYYIxcuRIY8qUKcaaNWuMjo6OoJcdSWbvsyRj+/btqef85z//MX75y18aY8eONa644grj7rvvNs6cORPcoiMs3/t98uRJY/78+UZFRYWRSCSMa665xvj1r39tdHV1BbvwPEoMwzD8DDsAAKC4hWbmAwAAFAfCBwAA8BXhAwAA+IrwAQAAfEX4AAAAviJ8AAAAXxE+AACArwgfAADAV4QPAADgK8IHAADwFeEDAAD4ivABAAB89X+KvJTiYw8uqwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 \n", + "\n", + "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 11 150 253 202 31 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 37 251 251 253 107 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 21 197 251 251 253 107 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 110 190 251 251 251 253 169 109 62 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 253 251 251 251 251 253 251 251 220 51 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 182 255 253 253 253 253 234 222 253 253 253 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 63 221 253 251 251 251 147 77 62 128 251 251 105 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 32 231 251 253 251 220 137 10 0 0 31 230 251 243 113 5 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 37 251 251 253 188 20 0 0 0 0 0 109 251 253 251 35 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 37 251 251 201 30 0 0 0 0 0 0 31 200 253 251 35 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 37 253 253 0 0 0 0 0 0 0 0 32 202 255 253 164 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 140 251 251 0 0 0 0 0 0 0 0 109 251 253 251 35 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 217 251 251 0 0 0 0 0 0 21 63 231 251 253 230 30 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 217 251 251 0 0 0 0 0 0 144 251 251 251 221 61 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 217 251 251 0 0 0 0 0 182 221 251 251 251 180 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 218 253 253 73 73 228 253 253 255 253 253 253 253 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 113 251 251 253 251 251 251 251 253 251 251 251 147 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 31 230 251 253 251 251 251 251 253 230 189 35 10 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 62 142 253 251 251 251 251 253 107 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 72 174 251 173 71 72 30 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] \n", + "\n" + ] + }, + { + "data": { + "image/png": "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g9kqurq6eLxzxOOdLx7vfPF456tMj7fp0MD6htP29nYtXrxY27dvb75vfHxc27dv19KlS21/OgAAUDGZLLts2rRJ69ev12c+8xnddNNNevzxxzU6Oqr77rsvi08HAAAqJJP4uPPOO/X73/9ejz76qI4fP65Pf/rTeumllyZtQvXT0dGhLVu2+C7FwD4e73zxeOeLxztfPN75qvLj3eaYnBMDAABgCfd2AQAAuSI+AABArogPAACQK+IDAADkqnTx8cQTT+gTn/iELrroIi1ZskS//vWviz6kWvrOd76jtra2CW/XXntt0YdVG6+99prWrFmjvr4+tbW16fnnn5/w547j6NFHH1Vvb6+mTZum5cuX6+233y7mYGsg6vG+9957Jz3fV61aVczBVtzg4KBuvPFGdXZ2atasWVq7dq2GhoYmfMwHH3yggYEBXXbZZbrkkku0bt26SReehBmTx/vWW2+d9Pz+2te+VtARmylVfPzsZz/Tpk2btGXLFv32t7/VokWLtHLlSr377rtFH1otfepTn9KxY8eab6+//nrRh1Qbo6OjWrRokZ544gnfP3/sscf0gx/8QD/60Y/05ptv6k/+5E+0cuVKffDBBzkfaT1EPd6StGrVqgnP92eeeSbHI6yPnTt3amBgQLt379bLL7+s8+fPa8WKFRodHW1+zMMPP6xf/OIXevbZZ7Vz504dPXpUd9xxR4FHXV0mj7ck3X///ROe34899lhBR2zIKZGbbrrJGRgYaP77hx9+6PT19TmDg4MFHlU9bdmyxVm0aFHRh9ESJDnPPfdc89/Hx8ednp4e5x//8R+b7zt9+rTT0dHhPPPMMwUcYb14H2/HcZz169c7t99+eyHHU3fvvvuuI8nZuXOn4zgfPZcvvPBC59lnn21+zP/8z/84kpxdu3YVdZi14X28Hcdx/vzP/9z527/92+IOKoHSTD7OnTunPXv2aPny5c33TZkyRcuXL9euXbsKPLL6evvtt9XX16errrpKX/7yl3X48OGiD6klHDp0SMePH5/wXO/u7taSJUt4rmdox44dmjVrlhYsWKAHHnhAJ0+eLPqQamF4eFiSNGPGDEnSnj17dP78+QnP72uvvVZz587l+W2B9/Fu+OlPf6qZM2dq4cKF2rx5s957770iDs9Y4Xe1bfjDH/6gDz/8cNJVUGfPnq233nqroKOqryVLluipp57SggULdOzYMW3dulWf//zntX//fnV2dhZ9eLV2/PhxSfJ9rjf+DHatWrVKd9xxh/r7+3Xw4EH9/d//vVavXq1du3Zp6tSpRR9eZY2Pj2vjxo265ZZbtHDhQkkfPb/b29t16aWXTvhYnt/p+T3ekvSlL31J8+bNU19fn/bt26dvfetbGhoa0s9//vMCjzZcaeID+Vq9enXzn6+//notWbJE8+bN07/9279pw4YNBR4ZYN9dd93V/OfrrrtO119/vebPn68dO3botttuK/DIqm1gYED79+9nv1hOgh7vr3zlK81/vu6669Tb26vbbrtNBw8e1Pz58/M+TCOlWXaZOXOmpk6dOmlH9IkTJ9TT01PQUbWOSy+9VNdcc40OHDhQ9KHUXuP5zHO9OFdddZVmzpzJ8z2FBx98UC+++KJeffVVXXnllc339/T06Ny5czp9+vSEj+f5nU7Q4+1nyZIlklTq53dp4qO9vV2LFy/W9u3bm+8bHx/X9u3btXTp0gKPrDWcPXtWBw8eVG9vb9GHUnv9/f3q6emZ8FwfGRnRm2++yXM9J++8845OnjzJ8z0Bx3H04IMP6rnnntOvfvUr9ff3T/jzxYsX68ILL5zw/B4aGtLhw4d5ficQ9Xj72bt3rySV+vldqmWXTZs2af369frMZz6jm266SY8//rhGR0d13333FX1otfP1r39da9as0bx583T06FFt2bJFU6dO1d133130odXC2bNnJ/zWcejQIe3du1czZszQ3LlztXHjRn3ve9/TJz/5SfX39+uRRx5RX1+f1q5dW9xBV1jY4z1jxgxt3bpV69atU09Pjw4ePKhvfvObuvrqq7Vy5coCj7qaBgYGtG3bNr3wwgvq7Oxs7uPo7u7WtGnT1N3drQ0bNmjTpk2aMWOGurq69NBDD2np0qX67Gc/W/DRV0/U433w4EFt27ZNX/jCF3TZZZdp3759evjhh7Vs2TJdf/31BR99iKJPt/H6p3/6J2fu3LlOe3u7c9NNNzm7d+8u+pBq6c4773R6e3ud9vZ254orrnDuvPNO58CBA0UfVm28+uqrjqRJb+vXr3cc56PTbR955BFn9uzZTkdHh3Pbbbc5Q0NDxR50hYU93u+9956zYsUK5/LLL3cuvPBCZ968ec7999/vHD9+vOjDriS/x1mS8+STTzY/5v3333f+5m/+xpk+fbpz8cUXO3/5l3/pHDt2rLiDrrCox/vw4cPOsmXLnBkzZjgdHR3O1Vdf7XzjG99whoeHiz3wCG2O4zh5xg4AAGhtpdnzAQAAWgPxAQAAckV8AACAXBEfAAAgV8QHAADIFfEBAAByRXwAAIBcER8AACBXxAcAAMgV8QEAAHJFfAAAgFwRHwAAIFf/B/KoRxBk0eggAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "4 \n", + "\n", + "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 50 224 0 0 0 0 0 0 0 70 29 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 121 231 0 0 0 0 0 0 0 148 168 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 4 195 231 0 0 0 0 0 0 0 96 210 11 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 69 252 134 0 0 0 0 0 0 0 114 252 21 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 45 236 217 12 0 0 0 0 0 0 0 192 252 21 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 168 247 53 0 0 0 0 0 0 0 18 255 253 21 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 84 242 211 0 0 0 0 0 0 0 0 141 253 189 5 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 169 252 106 0 0 0 0 0 0 0 32 232 250 66 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 15 225 252 0 0 0 0 0 0 0 0 134 252 211 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 22 252 164 0 0 0 0 0 0 0 0 169 252 167 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 9 204 209 18 0 0 0 0 0 0 22 253 253 107 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 169 252 199 85 85 85 85 129 164 195 252 252 106 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 41 170 245 252 252 252 252 232 231 251 252 252 9 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 49 84 84 84 84 0 0 161 252 252 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 252 252 45 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 253 253 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 252 252 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 135 252 244 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 232 236 111 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 179 66 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] \n", + "\n" + ] + }, + { + "data": { + "image/png": "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dXrsscc0MjKie++9N4mHAwAAOZJI+Ljtttv0r3/9Sz/60Y80ODioL37xi9q+ffu4JlQ3TU1NWr9+vetUDMzj+baL59sunm+7eL7tyvPz3eAEWRMDAABgCNd2AQAAVhE+AACAVYQPAABgFeEDAABYlbnwsXHjRl1yySU6++yz1d3drXfeeSftIdWkH//4x2poaCj7uvLKK9MeVs144403dPPNN6ujo0MNDQ16/vnny37uOI5+9KMfacaMGZo8ebKWLFmid999N53B1gC/5/uee+4Zd7wvX748ncHmXF9fn6699lo1Nzdr+vTpWrlypfr7+8vu88knn6inp0cXXHCBzjvvPK1atWrcxpMIJsjzvWjRonHH97e+9a2URhxMpsLHM888o97eXq1fv15/+9vfNH/+fC1btkwffPBB2kOrSV/4whd09OjR4tebb76Z9pBqxsjIiObPn6+NGze6/vzRRx/Vr371Kz3++ON6++23de6552rZsmX65JNPLI+0Nvg935K0fPnysuP96aeftjjC2rFr1y719PRoz549euWVV3TmzBktXbpUIyMjxfs89NBDevHFF/Xss89q165dOnLkiG699dYUR51fQZ5vSbr//vvLju9HH300pREH5GTIdddd5/T09BS///TTT52Ojg6nr68vxVHVpvXr1zvz589Pexh1QZKzbdu24vdjY2NOe3u78/Of/7x424kTJ5ympibn6aefTmGEtaXy+XYcx1m9erVzyy23pDKeWvfBBx84kpxdu3Y5jvPZsXzWWWc5zz77bPE+f//73x1Jzu7du9MaZs2ofL4dx3G++tWvOt/5znfSG1QEmal8nD59Wnv37tWSJUuKt02YMEFLlizR7t27UxxZ7Xr33XfV0dGhSy+9VHfddZcOHz6c9pDqwqFDhzQ4OFh2rLe0tKi7u5tjPUE7d+7U9OnTNWfOHD3wwAM6fvx42kOqCUNDQ5Kk1tZWSdLevXt15syZsuP7yiuv1MyZMzm+Dah8vgueeuopTZs2TXPnztW6dev00UcfpTG8wFK/qm3Bv//9b3366afjdkFta2vTP/7xj5RGVbu6u7u1ZcsWzZkzR0ePHtWGDRv0la98RQcOHFBzc3Paw6tpg4ODkuR6rBd+BrOWL1+uW2+9VV1dXRoYGNAPfvADrVixQrt379bEiRPTHl5ujY2Nae3atbrhhhs0d+5cSZ8d342NjTr//PPL7svxHZ/b8y1Jd955p2bNmqWOjg7t379f3//+99Xf36/nnnsuxdF6y0z4gF0rVqwo/nvevHnq7u7WrFmz9Kc//Un33XdfiiMDzLv99tuL/77qqqs0b948zZ49Wzt37tTixYtTHFm+9fT06MCBA/SLWVLt+f7GN75R/PdVV12lGTNmaPHixRoYGNDs2bNtDzOQzEy7TJs2TRMnThzXEX3s2DG1t7enNKr6cf755+uKK67QwYMH0x5KzSsczxzr6bn00ks1bdo0jvcY1qxZo5deekmvv/66Lr744uLt7e3tOn36tE6cOFF2f47veKo93266u7slKdPHd2bCR2Njo66++mrt2LGjeNvY2Jh27NihBQsWpDiy+nDq1CkNDAxoxowZaQ+l5nV1dam9vb3sWB8eHtbbb7/NsW7J+++/r+PHj3O8R+A4jtasWaNt27bptddeU1dXV9nPr776ap111lllx3d/f78OHz7M8R2B3/PtZt++fZKU6eM7U9Muvb29Wr16ta655hpdd911euyxxzQyMqJ777037aHVnO9+97u6+eabNWvWLB05ckTr16/XxIkTdccdd6Q9tJpw6tSpsk8dhw4d0r59+9Ta2qqZM2dq7dq1+ulPf6rLL79cXV1deuSRR9TR0aGVK1emN+gc83q+W1tbtWHDBq1atUrt7e0aGBjQww8/rMsuu0zLli1LcdT51NPTo61bt+qFF15Qc3NzsY+jpaVFkydPVktLi+677z719vaqtbVVU6ZM0YMPPqgFCxboS1/6Usqjzx+/53tgYEBbt27VTTfdpAsuuED79+/XQw89pIULF2revHkpj95D2sttKv361792Zs6c6TQ2NjrXXXeds2fPnrSHVJNuu+02Z8aMGU5jY6Nz0UUXObfddptz8ODBtIdVM15//XVH0riv1atXO47z2XLbRx55xGlra3OampqcxYsXO/39/ekOOse8nu+PPvrIWbp0qXPhhRc6Z511ljNr1izn/vvvdwYHB9Medi65Pc+SnM2bNxfv8/HHHzvf/va3nalTpzrnnHOO8/Wvf905evRoeoPOMb/n+/Dhw87ChQud1tZWp6mpybnsssuc733ve87Q0FC6A/fR4DiOYzPsAACA+paZng8AAFAfCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACs+n+3vv8qxzeMcwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from keras.datasets import mnist\n", + "df = mnist.load_data('minst.db')\n", + "train,test = df\n", + "X_train, y_train = train\n", + "X_test, y_test = test\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "np.set_printoptions(edgeitems=30, linewidth=100000)\n", + "for i in range(5): \n", + " print(y_test[i],'\\n') # Print the label\n", + " print(X_test[i],'\\n') # Print the matrix of values\n", + " plt.contourf(np.rot90(X_test[i].transpose())) # Make a contour plot of the matrix values\n", + " plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2. What is the shape of `X_train` and `X_test`? What is the shape of `X_train[i]` and `X_test[i]` for each index `i`? What is the shape of `y_train` and `y_test`?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(60000, 28, 28)\n", + "(10000, 28, 28)\n", + "(28, 28)\n", + "(28, 28)\n", + "(60000,)\n", + "(10000,)\n" + ] + } + ], + "source": [ + "print(X_train.shape)\n", + "print(X_test.shape)\n", + "print(X_train[0].shape)\n", + "print(X_test[0].shape)\n", + "print(y_train.shape)\n", + "print(y_test.shape)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "> There are 60,000 matrices of size 28 by 28 in the training set, and 10,000 matrices of size 28 by 28 in the test set. The y_train vector has 60,000 numeral assignments, and the y_test vector has 10,000 numeral assignments. Basically, each `X_train[i]` is a matrix of values in two-dimensional space, associated with a numeral in `y_train[i]`" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "3. Use Numpy's `.reshape()` method to covert the training and testing data from a matrix into an vector of features. So, `X_test[index].reshape((1,784))` will convert the $index$-th element of `X_test` into a $28\\times 28=784$-length row vector of values, rather than a matrix. Turn `X_train` into an $N \\times 784$ matrix $X$ that is suitable for scikit-learn's kNN classifier where $N$ is the number of observations and $784=28*28$ (you could use, for example, a `for` loop)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "# To save on reloading cost, I save the reshaped data and reload it rather than run the\n", + "# code that loops over appending the rows \n", + "\n", + "reload = 0 # Control the way data loads\n", + "\n", + "if reload == 1: # If reload is 1, do the reshaping process\n", + " Z_train = []\n", + " for i in range(60000):\n", + " row = X_train[i].reshape((1,784)) # Turn the matrix for i into a row vector of features\n", + " Z_train.append(row[0]) # Append the row vector to the list\n", + " Z_train = pd.DataFrame(Z_train)\n", + " Z_train.to_csv('./data/Z_train.csv')\n", + " #\n", + " Z_test = []\n", + " for i in range(len(y_test)):\n", + " row = X_test[i].reshape((1,784)) # Turn the matrix for i into a row vector of features\n", + " Z_test.append(row[0]) # Append the row vector to the list\n", + " Z_test = pd.DataFrame(Z_test)\n", + " Z_test.to_csv('./data/Z_test.csv')\n", + "else: # If reload is not 1, just load the reshaped data\n", + " Z_train = pd.read_csv('./data/Z_train.csv')\n", + " Z_test = pd.read_csv('./data/Z_test.csv')\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "4. Use the reshaped `X_test` and `y_test` data to create a $k$-nearest neighbor classifier of digit. What is the optimal number of neighbors $k$? If you can't determine this, play around with different values of $k$ for your classifier." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[2]\n" + ] + }, + { + "data": { + "image/png": "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CxARvdKXX36J4OBg9OjRA1OmTIFcLsfatWuRl5eHZcuWlTg/Pz8fffr0wfvvv4/r169jzZo16NGjB95++231Oa6urggICMCXX34JR0dHNGjQAG+88Ua11D9o0CBs3rwZpqamcHZ2RmhoKA4dOgRzc/NKX1sqlWLLli0YPHgw3n//fezfv199H2FhYXj99dfh5+dXpoHQs2fPxp49e+Dp6Ym0tLQSCx+WdcYcEb0aAxARvVLr1q1x4sQJzJ07F/7+/lCpVHBzc8OWLVuKzcAqsmrVKmzduhXz589HQUEBRo4ciZUrVxbr9po/fz5iYmKwbNkyZGVl4bXXXqu2APTdd99BJpNh69atyM3NRffu3XHo0CH069evSq6vo6ODHTt2oH///njnnXdw6NChUp/Lq0RGRgIA9u7di71795Z4nwGIqOpIhH+3CxMRVdDGjRsxbtw4nDt3Dp06dRK7HI107949NGnSBN9//z1GjBgBExOTCu17lp6ejsLCQnTs2BHt2rXDn3/+WQ3VEtVdHANERCSC6dOnw9LSssS4obLq3bs3LC0tSyxBQERlwy4wIqIaZG1tjeDgYPXP7dq1q9B11q5dq97uw9LSskpqI9ImDEBERDVIT08PHh4elb5ORcYYEdEzHANEREREWodjgIiIiEjrMAARERGR1uEYoFKoVCokJCTA2Ni4RpfrJyIioooTBAFZWVmwtbWFVPryNh4GoFIkJCSU2NuIiIiIaoe4uDg0bNjwpecwAJXC2NgYwNMH+O89joiIiEgzZWZmwt7eXv09/jIMQKUo6vYyMTFhACIiIqplyjJ8hYOgiYiISOswABEREZHWYQAiIiIircMARERERFqHAYiIiIi0DgMQERERaR0GICIiItI6DEBERESkdRiAiIiISOswABEREZHWYQAiIiIircMARERERFqHm6HWoPxCFR5m50ElAHZm+mKXQ0REpLXYAlSD/oiMh7v/Yfjsuix2KURERFqNAagG1TNQAADScgpEroSIiEi7MQDVoPqGOgCA9Jx8kSshIiLSbgxANcisqAUomwGIiIhITAxANaj+PwEoK7cQBUqVyNUQERFpLwagGmSirwOp5Omf0zkOiIiISDQMQDVIJpXAVP/pOKBHHAdEREQkGgagGlbP8Gk32COOAyIiIhINA1ANK5oKryktQNeTsjB5SziuxGeIXQoR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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from sklearn.neighbors import KNeighborsClassifier\n", + "\n", + "# Determine the optimal k:\n", + "k_bar = 50\n", + "k_grid = np.arange(2,k_bar) # The range of k's to consider\n", + "accuracy = np.zeros(k_bar) \n", + "\n", + "for k in range(k_bar):\n", + " knn = KNeighborsClassifier(n_neighbors=k+1)\n", + " predictor = knn.fit(Z_train.values,y_train) \n", + " #y_hat = predictor.predict(Z_test.values) \n", + " accuracy[k] = knn.score(Z_test.values,y_test) # Bug in sklearn requires .values\n", + "\n", + "accuracy_max = np.max(accuracy) # highest recorded accuracy\n", + "max_index = np.where(accuracy==accuracy_max) \n", + "k_star = k_grid[max_index] # Find the optimal value of k\n", + "print(k_star)\n", + "\n", + "plt.plot(np.arange(0,k_bar),accuracy) # Plot accuracy by k\n", + "plt.xlabel(\"k\")\n", + "plt.title(\"optimal k:\"+str(k_star))\n", + "plt.ylabel('Accuracy')\n", + "plt.show()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "5. For the optimal number of neighbors, how well does your predictor perform on the test set?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Accuracy: 0.8953\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
col_00123456789
row_0
09531000616211
10112632003100
225418832225931113
338168801485142312
4219108581610481
5119045107502651917
61851073920220
703973710933038
81811135074516877333
9681751814010877
\n", + "
" + ], + "text/plain": [ + "col_0 0 1 2 3 4 5 6 7 8 9\n", + "row_0 \n", + "0 953 1 0 0 0 6 16 2 1 1\n", + "1 0 1126 3 2 0 0 3 1 0 0\n", + "2 25 41 883 22 2 5 9 31 11 3\n", + "3 3 8 16 880 1 48 5 14 23 12\n", + "4 2 19 1 0 858 1 6 10 4 81\n", + "5 11 9 0 45 10 750 26 5 19 17\n", + "6 18 5 1 0 7 3 920 2 2 0\n", + "7 0 39 7 3 7 1 0 933 0 38\n", + "8 18 11 13 50 7 45 16 8 773 33\n", + "9 6 8 1 7 51 8 1 40 10 877" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "knn = KNeighborsClassifier(n_neighbors=1)\n", + "predictor = knn.fit(Z_train.values,y_train) \n", + "y_hat = predictor.predict(Z_test.values) \n", + "\n", + "accuracy = knn.score(Z_test.values,y_test) # Bug in sklearn requires .values\n", + "print('Accuracy: ', accuracy)\n", + "\n", + "pd.crosstab(y_test, y_hat)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "> With k=3, the rule is 90% accurate on the test set. When it does make mistakes, it tends to be things like confusing 4 for 9 or 8 for 3 or 7 for 1, which is understandable. It is remarkable that a simple algorithm like kNN does this well at classifying such complex data." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "6. For your confusion matrix, which mistakes are most likely? Do you find any interesting patterns?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "> The biggest mistakes are mistaking a 7 for 1 (39), a 9 for a 7 (40), an 8 for a 3 (50), a 9 for a 4 (51), and a 8 for a 5 (45), a 4 for a 9 (81). The pattern here is that these are all very visually similar, so it makes sense that a computer would make these mistakes, since even humans make these mistakes sometimes, especially when the written value isn't very legible." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "7. So, this is how computers \"see.\" They convert an image into a matrix of values, that matrix becomes a vector in a dataset, and then we deploy ML tools on it as if it was any other kind of tabular data. To make sure you follow this, invent a way to represent a color photo in matrix form, and then describe how you could convert it into tabular data. (Hint: RGB color codes provide a method of encoding a numeric value that represents a color.)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "> The current data include an \"intensity\" for each pixel in the 28$\\times$28 grid. To add color, we could have three $28 \\times 28$ matrices that each capture the Red, Green, or Blue color intensity. Then we would reshape the three matrices and put them side by side into one long row to create tabular data, like we did above." + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/03_computer_vision/computer_vision.ipynb b/03_computer_vision/computer_vision.ipynb index 6841d6e6..d98a71c4 100644 --- a/03_computer_vision/computer_vision.ipynb +++ b/03_computer_vision/computer_vision.ipynb @@ -36,13 +36,415 @@ "6. For your confusion matrix, which mistakes are most likely? Do you find any interesting patterns?\n", "7. So, this is how computers \"see.\" They convert an image into a matrix of values, that matrix becomes a vector in a dataset, and then we deploy ML tools on it as if it was any other kind of tabular data. To make sure you follow this, invent a way to represent a color photo in matrix form, and then describe how you could convert it into tabular data. (Hint: RGB color codes provide a method of encoding a numeric value that represents a color.)" ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "7 \n", + "\n", + "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 84 185 159 151 60 36 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 222 254 254 254 254 241 198 198 198 198 198 198 198 198 170 52 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 67 114 72 114 163 227 254 225 254 254 254 250 229 254 254 140 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 17 66 14 67 67 67 59 21 236 254 106 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 253 209 18 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 233 255 83 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 129 254 238 44 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 59 249 254 62 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 133 254 187 5 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 205 248 58 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 126 254 182 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 75 251 240 57 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 19 221 254 166 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 3 203 254 219 35 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 38 254 254 77 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 31 224 254 115 1 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 133 254 254 52 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 61 242 254 254 52 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 121 254 254 219 40 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 121 254 207 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] \n", + "\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGdCAYAAACyzRGfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAsNUlEQVR4nO3df2xddf3H8Vf3o3VAe1kZ6w/oZhk6DGMzQVYHOiFr9sNkEZkJoCGDEBDsFkdVdAYYiyaNmJhFnOBfIISBkvAjYkRlui3owDCzLIvSsGbJwK1TF9ZuBTqg5/sH39bb03PvPT8+53N+PR9Jo7u9686utfe59/mcz6lzHMcRAACAJdOSPgAAAFAsxAcAALCK+AAAAFYRHwAAwCriAwAAWEV8AAAAq4gPAABgFfEBAACsmpH0AbiNjY3p6NGjamxsVF1dXdKHAwAAfHAcR6dOnVJ7e7umTas+20hdfBw9elQdHR1JHwYAAAjhzTff1IUXXlj1OamLj8bGRknS1S23aMa0+oSPBgAA+PHB2BntOv7IxPt4NamLj/FTLTOm1RMfAABkjJ8lEyw4BQAAVhEfAADAKuIDAABYRXwAAACriA8AAGAV8QEAAKwiPgAAgFXEBwAAsIr4AAAAVhEfAADAKuIDAABYRXwAAACriA8AAGAV8QEAAKwiPgAAgFXEBwAAsIr4AAAAVhEfAADAKuIDAABYRXwAAACrAsVHX1+frrjiCjU2Nmru3Lm69tpr1d/fP+k5V199terq6iZ93HHHHUYPGgAAZFeg+Ni9e7d6enr0yiuv6I9//KPef/99rVy5UiMjI5Oed9ttt+nYsWMTHw888IDRgwYAANk1I8iTX3zxxUm/fvTRRzV37lzt27dPy5cvn3j8rLPOUmtrq5kjBAAAuRJpzcfQ0JAkqbm5edLjTzzxhObMmaNFixZp8+bNeueddyp+jdHRUQ0PD0/6AAAA+RVo8lFubGxMmzZt0lVXXaVFixZNPP7Vr35V8+fPV3t7uw4cOKDvfve76u/v1zPPPOP5dfr6+rR169awhwEAADKmznEcJ8xvvPPOO/W73/1OL7/8si688MKKz/vTn/6kFStW6NChQ1qwYMGUz4+Ojmp0dHTi18PDw+ro6FB329c1Y1p9mEMDAACWfTB2Ri8d+4WGhobU1NRU9bmhJh8bNmzQCy+8oD179lQND0nq6uqSpIrx0dDQoIaGhjCHAQAAMihQfDiOo40bN+rZZ5/Vrl271NnZWfP37N+/X5LU1tYW6gABAEC+BIqPnp4e7dixQ88//7waGxs1ODgoSSqVSpo1a5YGBga0Y8cOffGLX9R5552nAwcO6K677tLy5cu1ePHiWP4CAAAgWwLFx0MPPSTpo43Eyj3yyCO6+eabVV9fr5deeknbtm3TyMiIOjo6tG7dOt1zzz3GDhgAAGRb4NMu1XR0dGj37t2RDggAAOQb93YBAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMCqGUkfAFDu3UUX+H7urIP/ivFIAABxIT6QmCChEcfvD4voAYBoiA9YkVQoxKH870KIAEBwxAeMixoaby+s93x8dv+ZSF83Du6/KzECALURHzAiruAI+hyTwsQOUxEAqI34QGRRwsN2UAQRdQJDiACAN+IDkYQJj1rBcWrB2JTHGgfSc1X4+PEHmYxwegYA/idQfPT19emZZ57R66+/rlmzZunKK6/Uj370Iy1cuHDiOe+9956+9a1v6amnntLo6KhWrVqln//852ppaTF+8EiO6ejwCo4gn/cSd7CU/32CnqJhKgKgyALFx+7du9XT06MrrrhCH3zwgb7//e9r5cqV+sc//qGzzz5bknTXXXfpt7/9rZ5++mmVSiVt2LBB1113nf7yl7/E8heAfUHCI8yUw5Q4vnaloAkzDRlHiAAomjrHcZywv/k///mP5s6dq927d2v58uUaGhrS+eefrx07dugrX/mKJOn111/Xpz71Ke3du1ef/exna37N4eFhlUoldbd9XTOmpXc9QFH5CY+owXFO59CUx04fLtX8c22qNVUxdWUOMQIgKz4YO6OXjv1CQ0NDampqqvrcSGs+hoY+epNobm6WJO3bt0/vv/++uru7J55zySWXaN68eb7jA+kUd3R4BUeQz0t2A2X87xLHJKQcUxEAeRQ6PsbGxrRp0yZdddVVWrRokSRpcHBQ9fX1Ovfccyc9t6WlRYODg55fZ3R0VKOjoxO/Hh4eDntIiEnU8IgSHUEE/VomYqX87+YVIlHWhbhV+t+BKAGQNaHjo6enRwcPHtTLL78c6QD6+vq0devWSF8DyaoUHraiI6wwx1AtWGyGSLlacUicAEibUPGxYcMGvfDCC9qzZ48uvPDCicdbW1t15swZnTx5ctL04/jx42ptbfX8Wps3b1Zvb+/Er4eHh9XR0RHmsJAAr/BIe3REUX78fkKk1mkZv6LESrU4IUwAJCFQfDiOo40bN+rZZ5/Vrl271NnZOenzl19+uWbOnKmdO3dq3bp1kqT+/n4dOXJEy5Yt8/yaDQ0NamhoCHn4iFu1Ny73G2iYhaRuK+f1ez7+hyMLPR9Pkp8QqTUN8ctvrES55BcwhahFLYHio6enRzt27NDzzz+vxsbGiXUcpVJJs2bNUqlU0q233qre3l41NzerqalJGzdu1LJly1hsmnNRpx2VoqPW59MSJUFDpJzJ/UiqRUoa742DfBqPWiIElQS61Laurs7z8UceeUQ333yzpP9tMvbkk09O2mSs0mkXNy61TY+oUw8T0RFWWqJEiucqHNMbqBEmiBshkn9BLrWNtM9HHIiP9KgUH7XCI8noiIupmLF1OXCatqNHsdQKWSIkv6zt84HiqRYeeYyOcaZO+9R6jUzFSbXTYIQJ4lRrjxv2roFEfKACPwsRg4RHVqOjFtNrUUxf/uslzi3tkX2m4tTPRnusDSku4gO+lU89/L6B5TU6avH6e8e1DqVasKRtW3qkX9g4jbLbL9OQ4iE+MIXX1KNaeLjf/IoaHLWEeV2iBkulMCFKYJr754I7RvzecoBpSDEQH6ip2uWb5W9uJqLjptl/jfT7H3/7ysjHkCZBXtMgoZL1zd4Qv6iBWmmjPSIEEvGBGvwuMI0SHlGDI66vZYqtIKr2v0GaLj1GNvgN1FqRYiJCCJD8IT4wSbWFpibDI42REBfTf9cwMZP2TdqQXV6R4hUkUSKEKUj+EB+oKOj9R2BHecxEnarYXIfCWqDoqr32Jl5fUzE6HiSVIqTSjRfZ7K442GQMU5RPP/wuNI36g69IkxCT8rbGBeliIkYqnZapdHUMm5RlFzucIhL3qRdbAZInQWOKiEAWhI0RAqQYiA9EFjZA3AgSIN/8BonJACE+0ont1WHc7P4zEwHSODBtUoCcPlyqGCCVfjARJUA+uP+/HHQ6EmYNCFfAZB+TD1QUdbOxoPwGSVxXaBBEgBmV/j9a7bJcJiDZx2kXGOHnrrZeWzEXYQMrQgWozkaAEB/pQnzAmLAB4laEIJGIEqCcqQBh+pENxAeMqbbpWJgbzZUzGSRhtoK2HUSECYqIACkO4gNGxRkgbn53S7QhzjghRFAkcQcI8ZEOxAeM8xsg5UzESBqZjJKkI8S9H0ka9hvJ04ZzaXg9qwnyWkf9uxAg+Ud8wLhq8SH524rdRoxUWrAW5zGYiBGbEeLnDcf2m2aegiOIJOLExmtd6e8VZ4AQH8kjPhCLMNOPWsLGQK3ICCOu00ZBxBUhUd5w4nyDLGp0VBLXa53E62wqQIJcAUOAJIv4QCxqTT+k6DejcwdAHJERVJQoCRsjpiLE5JuOqTdGgsMfE693kq91teM3ESCcfkkfdjhFLGYd/FfNAPH6gRAkSEzERrVV8WHiyH1MQWLE/cPUb4yM/3COGiGPv32lkTcgk/8iN3VMeZX2dSKACcQHAvETIG7lMRB1MlLr6wd9rokYkfwHide/7KoFiftfiGFiJI1vZmk8pjwi9JBWxAcCGx9rBo0QyUyIBImNIF8rShjZmo6k7V45tba6T/pqnrwKMhkrUoBwyiU7iA+EFmYKUi7IG7/J4PD7Z5iMESm+6Yjk7343YUIg6n10iBP/wrzWfziyMHMBEvTvmYZ1XzCP+EAkUQNknI24CMpkjEhmgyTMQta4bsgXRRqPKWuyGCBegmwmmMafFwiG+EBkUU7DZEmlH3hJTEiq/aC2sW180F1ni3JvnzhVm4j5PQ2T9gBBcRAfMMZ9vjXvMTLOdJREmZBI5sLE5Lb2ScdSmkV5ncd/b3mE5ClAOOWSX8QHYuO1+CuuIAmz0CzuODJ5yW+lH8JB9yCJ8z455cdoKpbgz+nDpdwGCPKJ+IBVUYLE9Er2Sl/PxsTGVJhU+5dhHFvJ+/2XqKlYKjo/r/f4a+oOEKn6aZg0BQjrPYqH+EDi0nZ5nJ/jiTNQ4g4TPwEQ17ibKJnMxOvcODBtUoBIwU7DpBWnXPKN+ABCCBpMpmLFxPoSkz/Ua/0r1O9x8UYTzPjrPv76lgeI5P80jO3pR5xXN6XtHzGojvgALAjygzHq5m3lTO4oG2bcHXW7/aLy+1rP7j8zKUCk4KdhxnebTcspGBQD8QGkjN9Q8RMpYaIkyjn1sPf/qXVMeRPHLr1eU5DyAJHSNQUZ57XeI8idbJFNxAeQUVEWzEb9IV4tkMIuKuaNpbpa/3u7pyBh1oGkaREq8o34AHKm/E3K5MLYKOfUi7oHjClhXnv3OpBytQJkXFZChPUe2UN8ADlmYvfZOH6wm9qWvyjKXyu/cVntCiK/V8CEDRGvuxZ7LTb1e8ql2lSM8Mgm4gMogDAREvcP9aJsy2/a+Ovl/t8nypqZm2b/1TMYytmYiBAexUF8AAXi9w3f5g91IiScIK+X6S3s3aFSK0b8Tj3cCI/8Ij6AAqr0hp/kD3ROxZgTZtM2P9OPSsL+vnLuqQfhkW/EB1BgafshnoUpiInXzPTfL+opF9ui3M8nbd+zCIf4AJA6eX+DSXLKU22xaZTpRyV+djX1O/XI+/dFkbCnMQAkwNQbqXvq4T7lEnS9R9yTEPfUg/AoJuIDABKS9zdUU/dyyfvrVETEBwAkKI1vrHFNP4JOPWYd/FcqXx9ER3wAQMLCvsGaPuViUtSpB9GRb8QHAKSAjTdbvzubSuanH2HXeiCfiA8ASIkgAZLluwD7Od2CfCM+ACBF/LzxeoVHrVMuXlOPuNZ2uE+5RNnXA/lEfABAitTa/yPr4cHUAxKbjAFAZtRaYCplOzxQHMQHAKREtalHmCtbgiwwdQu606mJ8GDqURycdgGAjIkSHnFMPWpdVsvEA25MPgAgBfxOPcKs7xhnKzzCLDBl6lEsTD4AIGF5Dg+mHvBCfABASiUVHn7We5gMD6YexUN8AECCKk090jzx8MLEA0EQHwCQMtV2Lw0SHnExeUktU49iChwfe/bs0dq1a9Xe3q66ujo999xzkz5/8803q66ubtLH6tWrTR0vAOSG19Sj2iW1QcPDxjoPJh4II3B8jIyMaMmSJdq+fXvF56xevVrHjh2b+HjyyScjHSQAFEEawqPaeg/T4cHUo7gCX2q7Zs0arVmzpupzGhoa1NraGvqgACDv3FOPNIRHNUHDA6gmlu+WXbt2ae7cuVq4cKHuvPNOnThxouJzR0dHNTw8POkDAIokj+HB1APVGI+P1atX67HHHtPOnTv1ox/9SLt379aaNWv04Ycfej6/r69PpVJp4qOjo8P0IQFAqlTb18Prfi3j4g4Pr1MucYQHYHyH0xtuuGHiv1922WVavHixFixYoF27dmnFihVTnr9582b19vZO/Hp4eJgAAZBb1U63+Nk2vRJbl9TW4ic8mHog9pN0F110kebMmaNDhw55fr6hoUFNTU2TPgAgj2qt8wjL1l1qAVNiv7fLW2+9pRMnTqitrS3uPwoAUqvaqRYp3EZitqcdYe7Z4sbUA1KI+Dh9+vSkKcbhw4e1f/9+NTc3q7m5WVu3btW6devU2tqqgYEB3X333br44ou1atUqowcOAFlRaz+PMKdb0nCahUtrEVbg+Hjttdd0zTXXTPx6fL3G+vXr9dBDD+nAgQP65S9/qZMnT6q9vV0rV67UD37wAzU0NJg7agDICD8bidWSxC6mQJwCx8fVV18tx3Eqfv73v/99pAMCgLwIuoOpFGyRaZYw9UA5doUBgBjUWuMhVb+sFsiz2BecAkDRhD3V4jX1sHXKxb3HBzePQ5yYfACAQX7DI8rUIw2LTYEomHwAgAGVTrP4DQ/WeqBImHwAQERBwiOIrF/lQnigEuIDACIIGh55mHoE3d8DcOO0CwCEFGd4VJp6mF7v4XUzObcwO5sy9UA1TD4AwKA8hEeQe7p4TT0ID9TC5AMAQvCzj8e4LIdH+dTDz+kWwgN+EB8AEFCUK1uSjg7JOzxM7OtBeMAvTrsAgAFR9vIgPFA0TD4AIIAgp1vcguxgmsbwqHRVC+GBoIgPAIgozOkWm9EhBQ8Pv5fTEh4Ig/gAAJ/Cbp2e9vAIe98WwgNhER8A4IPf0y1pDw9TN4wjPBAF8QEAIbmnHmHCIy2nWSTCA/YQHwBQhd/LavMUHtW2Syc8YALxAQAVmLphXJrCI+y0QyI8YA7xAQAeouxgWutGcVlb3wGYRnwAQJla0RH1dEtWw4OpB0wiPgAgpDyEh59pB+EB04gPAPh/QaceaRB14lEN0YG4cG8XAPAh6OmWLGBxKZJCfACAot2zJS1MTT0ID8SN0y4AUEOtqYeXSjuZmuJ1Sa0JhAdsYPIBoPCiTj1sn3KJa/dSwgO2EB8AUEWYqUecmHggDzjtAqDQqk09/FzdYmvqUS06ok49CA/YxuQDADx4hYffqYfp9R5xTTuApBAfAArL5hUuYTcYCxoeTD2QBZx2AQAXv1OPOE+5+I0O9ykXIAuYfAAoJFN3rHUzccqF0yzIO+IDQOEEDQ+bU48g4cFCU2QVp10AoApbl9ZGiQ4ga5h8AICCnW6pNPUIe8rFRHgw9UCWEB8AUEGQ0y1xb6cumQsPIGnEB4BCSdsN5KJe1cI26sgi4gNA4UW9tNbG1MML4YGsIj4AwIe0nW7hVAuyjPgAABf31CNqeITd3VQyGx5MPZAWxAeAQgu7qViSC0zLucOjEsIDaUJ8ACgMP4tN/U49TAizk6l76uHG6RZkAfEBAAFlbZ0HUw+kDfEBoLBqnXLxmnoQHkB0xAcA/L9aW6lnLTyAtCI+AMCDe+phOjz8rveIEh5MPZBWxAeAQnAvNnWfcrF1A7lqot6lthzhgTQjPgDAJe6phxeT4QGkHfEBIPeyMPUoFzU8mHog7WYkfQAAYFOt8Ihj6lG+vuOm2X+dst7Dz2ZifhAdyAomHwByrXzqETQ84hB0YzEuqUUeER8AcqvajqZ+TrWkYa2HH4QHsobTLgByxys6wmwoljbuqQfRgaxi8gEgV/yEh5/TLWmYevi9aRyQNXxnA8iNMOHhxUZ4AEVGfADIhbDhkdTplqj7enDKBVnGmg8AmVZpUWnY8GDqAcQv8ORjz549Wrt2rdrb21VXV6fnnntu0ucdx9F9992ntrY2zZo1S93d3XrjjTdMHS8ATPAbHibcNPuvxr4WUw8UXeD4GBkZ0ZIlS7R9+3bPzz/wwAP66U9/qocfflivvvqqzj77bK1atUrvvfde5IMFgHFBwiPq1GM8PEwGCFBkgU+7rFmzRmvWrPH8nOM42rZtm+655x596UtfkiQ99thjamlp0XPPPacbbrgh2tECgOIJD7+8dij1y2snU6YeKCKjC04PHz6swcFBdXd3TzxWKpXU1dWlvXv3ev6e0dFRDQ8PT/oAAC/vLrqg4sJSv+FRSa2pR63HajG1hTqQB0bjY3BwUJLU0tIy6fGWlpaJz7n19fWpVCpNfHR0dJg8JAA5EXR9R6XwSGKRaaXwCLObKZAHiV9qu3nzZg0NDU18vPnmm0kfEoCMCBIe53QOpSo8vHDKBUVhND5aW1slScePH5/0+PHjxyc+59bQ0KCmpqZJHwBQrto9WtyCrPFIMjxY64EiMxofnZ2dam1t1c6dOyceGx4e1quvvqply5aZ/KMAFERcV7UkuZ9H0PAA8ibw1S6nT5/WoUOHJn59+PBh7d+/X83NzZo3b542bdqkH/7wh/rEJz6hzs5O3XvvvWpvb9e1115r8rgBFIDNy2mD8HO1i991Hn7Cg6kH8iZwfLz22mu65pprJn7d29srSVq/fr0effRR3X333RoZGdHtt9+ukydP6nOf+5xefPFFfexjHzN31AByL63h4QfhAVRX5ziOk/RBlBseHlapVFJ329c1Y5r5XQoBZIOfe7VI/sIjanS4L62tNvkwGR4S8YHs+GDsjF469gsNDQ3VXL+Z+NUuAODmd4GpjfAwgfAAJuPGcgBSo1p0+Llfi43wCDr1IDyAqZh8AEiFoOHhnnokPfEwGR5A3hEfABKX9fDwEiU8mHog7zjtAiAxtdZ2ZCU8uG8LEAzxASARQXYtHRc0PMqvUgl7J9pyXl/D9OkWph4oAuIDgHV+wsM99YgSHl6/DuLxt6/0/P2EBxAOaz4AWGUjPEzzGy4sMAX8YfIBwBpb4RFlylGJ+5SLe+rBxAPwj8kHgNRI28RjnIn1IpUQHigiJh8ArAhyZUuUnUtNTj0qRYepqQfhgaIiPgAkzlR4mMS0A4gP8QEgdn43Eat1mkWqHh6mph5BtlBnkSkQHPEBIDFBwiMP6zskph6AxIJTADGrNPWodqO4MOFhYupRKzyYegBmEB8AYuM3PMqnHmmdeNQKDz+YegAfIT4AWBVHeESdegQNDy/uqQeAyljzASAWXlOPtE08/Kzv8LOFuhf3KRemHsD/kOoArMhLeHhh6gEEw/9jABjnnnrEGR5hTrlECQ+mHkB0nHYBYJTN8AjDxPqOckw9gOCIDwDGVAuPNOzjETU8mHoAZhAfAIwIGx5Ro+Pxt6+M5S62brX29JAID8Av4gNAZOXhEeTOtKamHeMTjWoREmXqQXgAZnGyEkBo7y66wHd4nNM5FEt4lAu7NTrhAdhFfAAIJa0LSx9/+8opERI2SggPIB7EB4DAaq3vSPqKFul/wRH2dAvhAcSHNR8AAkl6fUcQhAeQTkw+APhmKzxsXL1SCeEBxI/JB4CaktixdPw/w67XqMXPPVvc4eGODonwAMJg8gGgKpvrO7wmHnFMQQgPIFlMPgBUZHN9R7XIuGn2X2ObgHghPIB4MfkA4Ckt4RHkOX74mXrUQngA0TD5ADCJ7f07gkRF1HUgJk63EB5AdEw+AFRUa+JRLu7wiAPhASSD+AAwwT31qMY99QjKdni4px6EB5Ac4gOAL9WmHkERHkCxseYDQGR+T7mYiI6g6z2ihgcA84gPAJ7c6z3KhTnlkvS0Q2IvDyAtiA8AkoKt9wjKVHj4nXqYmnYQHkA8iA8ANYW9yiWJq1k4zQKkHwtOAUxR7ZSLX6bDw8/Uw2R4MPUA4kN8AAjEz3qPrE88CA8gXpx2AVB1vUeQUy5JbRrGqRYgW5h8AEi9aqdcTIcHUw8gfsQHgEnCXmKb9VMtEuEB2EJ8AAglzL1cwqg09eBUC5BdxAeAikxuqW5SHOHB1AOwhwWnQIG5F5qWn3Jxh0f5KRdbC029ph6EB5B9TD6AgjIVHnEhPID8YvIBFJDf8HAvMPUKjzimHoQHkG/EB1Aw5eHhvrKlKOFBdADJIj6Agqg27ZCCh0cc3OER5s60tRAeQPKID6AAwoaHrZvG+Zl2SP7Cg23TgfQjPoCcy8PCUilaeBAdQLoQH0BOBZl2SMHCw9TUI8z6DonwALKO+AByKM7wMCHsrqUS4QHkAfEB5EzY0yySv/CIOvUIe5pFIjyAvDC+ydj999+vurq6SR+XXHKJ6T8GgAf3ZbSmwyOqKOs7CA8gP2KZfFx66aV66aWX/veHzGDAAsTJ1mmWsFMPv9Eh+b+UlhvFAdkVSxXMmDFDra2tcXxpAC5p37/D9GkWictpgayL5d4ub7zxhtrb23XRRRfpa1/7mo4cOVLxuaOjoxoeHp70AcCfWus7TIZHmKkH4QHAi/H46Orq0qOPPqoXX3xRDz30kA4fPqzPf/7zOnXqlOfz+/r6VCqVJj46OjpMHxKQS7UmHiYFDY/H376S8ABQUZ3jOE6cf8DJkyc1f/58/eQnP9Gtt9465fOjo6MaHR2d+PXw8LA6OjrU3fZ1zZgW3w9TIMuirPGQ/E89TK7xkOKLD8IDSN4HY2f00rFfaGhoSE1NTVWfG/tK0HPPPVef/OQndejQIc/PNzQ0qKGhIe7DAHIjanj4ZfqmcXFOPQBkSyxrPsqdPn1aAwMDamtri/uPAnLPHR5h2NjLwzROtwD5Ynzy8e1vf1tr167V/PnzdfToUW3ZskXTp0/XjTfeaPqPAgrFKzxMTz3SFh0A8sl4fLz11lu68cYbdeLECZ1//vn63Oc+p1deeUXnn3++6T8KKIww4eHF1l1qw+IutUAxGI+Pp556yvSXBAotbHgEmXokER5e6z3cWOcB5FPsaz4AhOcnPLykPTy8uKcetcKDqQeQXcQHkFJ+w8PP6RbJzm6mlVTaSj0swgPINuIDSKEo4ZGFqUetUy6cbgHyjfgAUibsqZZqkpx6+FFpbw8vTD2A7CM+gBQJEh5Rpx5pxdQDyD/iA0iJuMKj0tQjrQtNq2HqAeQD8QGkQNTwyBI/l9gCyLfY7+0CoLogW6bnaeLhhQ3FgGJg8gGkUNQrW7IYHgCKg/gAEhTlyhbCA0BWER9AQqKcbiE8AGQZ8QGkiJ/TLYQHgKxjwSmQAJNbpxMdALKGyQeQUn4WmBIeALKI+AAsM3WnWsIDQFYRH4BFYU+3EB4A8oT4ACzxe3UL4QEg71hwCsSsWnS4px5+r2wpR3QAyBomH0CMgoSHH+6pB+EBIIuIDyAmQTYRk4KfbiE8AGQV8QHEoFZ4mDjdAgBZRXwAGVBpkWkW/OHIwqQPAUDKEB+AYVGnHn6k+ZTL429fmfQhAEg54gNImSKdcmkc8PcjaNbBf8V8JABsIj4Ag2xMPbLs9OFS0ocAIAWIDyDlWO8BIG+ID8CQoFMPL1k/5RLHeg9OuQD5Q3wAFvi5f0vWsdAUgF9srw4YEHRDsTwhOgAExeQDiJnfqYfXKZe0r/cwGR6z+89MeYxTLkA+ER9AjMLcv6WWtOzxUSs83ItN3Ve6+L3MFkD+cNoFiCjqPVyyhtMsAKLinx5ATIJMPbJylQvhAcAE4gOIoNLUo1J4BJl6pG29h+3wYL0HkF+cdgFQVZjoqLXeA0CxER8AKoojPNwLTd1XuTDxAPKP+AAwRVzTDsIDgER8ACgTdl0H0w4AQRAfACItJi0PD6YdAPwgPoCCY9oBwDbiAygoU9MOifAAEAzxARQQ0w4ASWKTMaBgCA8ASWPyARQE0QEgLZh8AAVAeABIEyYfQM6ZCA+iA4BJxAeQU0w7AKQV8QHkUBzhQXQAMIX4ACKYdfBfenfRBVMen91/Rm8vrJ/yeOPANJ1aMDbl8dOHSzqnc2jSY+MhsHJe/6THH3/7St00+69THouCaQcAm4gPIKIwATKuPETK3/DLQ8QrQkzc+K2SauFBdAAwgfgADBh/E3ZHyPibtVeESLVDxCtCpKnTEPfnw2DaAcAW4gMwKOgUpNz4m32QaUgUXjeBcx/LuPLwIDoAREV8AIZFCRAp2DSkkmph4ffPlph2AIgH8QHEoNZpmHFRpyEmMe0AYAvxAcSo0hRknN8YqTQN8csdFtUw7QAQN+IDiFmtAClX/sbvJ0RMIzwA2EB8ABZUOg1TTdBTNFEQHQBsii0+tm/frh//+McaHBzUkiVL9OCDD2rp0qVx/XFAJpS/qQcJEWlqIMSF8AAQt1ji41e/+pV6e3v18MMPq6urS9u2bdOqVavU39+vuXPnxvFHAplT7U0+aJiYQHQAsKXOcRzH9Bft6urSFVdcoZ/97GeSpLGxMXV0dGjjxo363ve+V/X3Dg8Pq1Qqqbvt65oxLb4xM5BlleKEgACQlA/GzuilY7/Q0NCQmpqaqj7X+OTjzJkz2rdvnzZv3jzx2LRp09Td3a29e/dOef7o6KhGR0cnfj009NEeBh+M2RkxA1k088Bhz8c/sHwcADBu/H3bz0zDeHz897//1YcffqiWlpZJj7e0tOj111+f8vy+vj5t3bp1yuO7jj9i+tAAAEDMTp06pVKp+n5EiV/tsnnzZvX29k78+uTJk5o/f76OHDlS8+AR3fDwsDo6OvTmm2/WHJMhOl5vu3i97eL1tittr7fjODp16pTa29trPtd4fMyZM0fTp0/X8ePHJz1+/Phxtba2Tnl+Q0ODGhoapjxeKpVS8WIWRVNTE6+3RbzedvF628XrbVeaXm+/QwPjuxXV19fr8ssv186dOyceGxsb086dO7Vs2TLTfxwAAMiYWE679Pb2av369frMZz6jpUuXatu2bRoZGdEtt9wSxx8HAAAyJJb4uP766/Wf//xH9913nwYHB/XpT39aL7744pRFqF4aGhq0ZcsWz1MxMI/X2y5eb7t4ve3i9bYry693LPt8AAAAVBLfHaoAAAA8EB8AAMAq4gMAAFhFfAAAAKtSFx/bt2/Xxz/+cX3sYx9TV1eX/va3vyV9SLl0//33q66ubtLHJZdckvRh5caePXu0du1atbe3q66uTs8999ykzzuOo/vuu09tbW2aNWuWuru79cYbbyRzsDlQ6/W++eabp3y/r169OpmDzbi+vj5dccUVamxs1Ny5c3Xttdeqv79/0nPee+899fT06LzzztM555yjdevWTdl4Ev74eb2vvvrqKd/fd9xxR0JH7E+q4uNXv/qVent7tWXLFv3973/XkiVLtGrVKv373/9O+tBy6dJLL9WxY8cmPl5++eWkDyk3RkZGtGTJEm3fvt3z8w888IB++tOf6uGHH9arr76qs88+W6tWrdJ7771n+UjzodbrLUmrV6+e9P3+5JNPWjzC/Ni9e7d6enr0yiuv6I9//KPef/99rVy5UiMjIxPPueuuu/Sb3/xGTz/9tHbv3q2jR4/quuuuS/Cos8vP6y1Jt91226Tv7wceeCChI/bJSZGlS5c6PT09E7/+8MMPnfb2dqevry/Bo8qnLVu2OEuWLEn6MApBkvPss89O/HpsbMxpbW11fvzjH088dvLkSaehocF58sknEzjCfHG/3o7jOOvXr3e+9KUvJXI8effvf//bkeTs3r3bcZyPvpdnzpzpPP300xPP+ec//+lIcvbu3ZvUYeaG+/V2HMf5whe+4Hzzm99M7qBCSM3k48yZM9q3b5+6u7snHps2bZq6u7u1d+/eBI8sv9544w21t7froosu0te+9jUdOXIk6UMqhMOHD2twcHDS93qpVFJXVxff6zHatWuX5s6dq4ULF+rOO+/UiRMnkj6kXBgaGpIkNTc3S5L27dun999/f9L39yWXXKJ58+bx/W2A+/Ue98QTT2jOnDlatGiRNm/erHfeeSeJw/Mt8bvajvvvf/+rDz/8cMouqC0tLXr99dcTOqr86urq0qOPPqqFCxfq2LFj2rp1qz7/+c/r4MGDamxsTPrwcm1wcFCSPL/Xxz8Hs1avXq3rrrtOnZ2dGhgY0Pe//32tWbNGe/fu1fTp05M+vMwaGxvTpk2bdNVVV2nRokWSPvr+rq+v17nnnjvpuXx/R+f1ekvSV7/6Vc2fP1/t7e06cOCAvvvd76q/v1/PPPNMgkdbXWriA3atWbNm4r8vXrxYXV1dmj9/vn7961/r1ltvTfDIAPNuuOGGif9+2WWXafHixVqwYIF27dqlFStWJHhk2dbT06ODBw+yXsySSq/37bffPvHfL7vsMrW1tWnFihUaGBjQggULbB+mL6k57TJnzhxNnz59yoro48ePq7W1NaGjKo5zzz1Xn/zkJ3Xo0KGkDyX3xr+f+V5PzkUXXaQ5c+bw/R7Bhg0b9MILL+jPf/6zLrzwwonHW1tbdebMGZ08eXLS8/n+jqbS6+2lq6tLklL9/Z2a+Kivr9fll1+unTt3Tjw2NjamnTt3atmyZQkeWTGcPn1aAwMDamtrS/pQcq+zs1Otra2TvteHh4f16quv8r1uyVtvvaUTJ07w/R6C4zjasGGDnn32Wf3pT39SZ2fnpM9ffvnlmjlz5qTv7/7+fh05coTv7xBqvd5e9u/fL0mp/v5O1WmX3t5erV+/Xp/5zGe0dOlSbdu2TSMjI7rllluSPrTc+fa3v621a9dq/vz5Onr0qLZs2aLp06frxhtvTPrQcuH06dOT/tVx+PBh7d+/X83NzZo3b542bdqkH/7wh/rEJz6hzs5O3XvvvWpvb9e1116b3EFnWLXXu7m5WVu3btW6devU2tqqgYEB3X333br44ou1atWqBI86m3p6erRjxw49//zzamxsnFjHUSqVNGvWLJVKJd16663q7e1Vc3OzmpqatHHjRi1btkyf/exnEz767Kn1eg8MDGjHjh364he/qPPOO08HDhzQXXfdpeXLl2vx4sUJH30VSV9u4/bggw868+bNc+rr652lS5c6r7zyStKHlEvXX3+909bW5tTX1zsXXHCBc/311zuHDh1K+rBy489//rMjacrH+vXrHcf56HLbe++912lpaXEaGhqcFStWOP39/ckedIZVe73feecdZ+XKlc7555/vzJw505k/f75z2223OYODg0kfdiZ5vc6SnEceeWTiOe+++67zjW98w5k9e7Zz1llnOV/+8pedY8eOJXfQGVbr9T5y5IizfPlyp7m52WloaHAuvvhi5zvf+Y4zNDSU7IHXUOc4jmMzdgAAQLGlZs0HAAAoBuIDAABYRXwAAACriA8AAGAV8QEAAKwiPgAAgFXEBwAAsIr4AAAAVhEfAADAKuIDAABYRXwAAACriA8AAGDV/wGHSN1sCTxJNwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2 \n", + "\n", + "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 116 125 171 255 255 150 93 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 169 253 253 253 253 253 253 218 30 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 169 253 253 253 213 142 176 253 253 122 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 52 250 253 210 32 12 0 6 206 253 140 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 77 251 210 25 0 0 0 122 248 253 65 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 31 18 0 0 0 0 209 253 253 65 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 117 247 253 198 10 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 76 247 253 231 63 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 128 253 253 144 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 176 246 253 159 12 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 25 234 253 233 35 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 198 253 253 141 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 78 248 253 189 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 19 200 253 253 141 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 134 253 253 173 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 248 253 253 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 248 253 253 43 20 20 20 20 5 0 5 20 20 37 150 150 150 147 10 0]\n", + " [ 0 0 0 0 0 0 0 0 248 253 253 253 253 253 253 253 168 143 166 253 253 253 253 253 253 253 123 0]\n", + " [ 0 0 0 0 0 0 0 0 174 253 253 253 253 253 253 253 253 253 253 253 249 247 247 169 117 117 57 0]\n", + " [ 0 0 0 0 0 0 0 0 0 118 123 123 123 166 253 253 253 155 123 123 41 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] \n", + "\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1 \n", + "\n", + "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 38 254 109 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 87 252 82 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 135 241 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 45 244 150 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 84 254 63 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 202 223 11 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 254 216 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 95 254 195 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 140 254 77 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 57 237 205 8 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 124 255 165 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 171 254 81 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 24 232 215 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 120 254 159 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 151 254 142 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 228 254 66 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 61 251 254 66 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 141 254 205 3 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 10 215 254 121 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 5 198 176 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] \n", + "\n" + ] + }, + { + "data": { + "image/png": "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TZs2Dbl/X+d2t5cGAAA8dv78eSWTyZzPcT182LVhwwY1NTWlvj537pymTJmikydP5l08Ctfd3a3a2lqdOnVK5eXlQS8n9ni//cX77S/eb3+F7f02DEPnz59XTU1N3ue6Hj7Gjx+v4cOHq7OzM+3+zs5OVVVVDXl+IpFQIpEYcn8ymQzFm1ksysvLeb99xPvtL95vf/F++ytM77fVooHrA6elpaWaM2eO9u7dm7qvv79fe/fu1bx589x+OQAAEDGetF2ampq0cuVK3XjjjZo7d662bNminp4ePfzww168HAAAiBBPwse9996rb775Rs8++6w6Ojr005/+VHv27BkyhGomkUho48aNpq0YuI/321+83/7i/fYX77e/ovx+lxhW9sQAAAC4hGu7AAAAXxE+AACArwgfAADAV4QPAADgq9CFj61bt+rqq6/WqFGjVF9fr08//TToJcXSc889p5KSkrTbjBkzgl5WbOzfv1/Lli1TTU2NSkpKtHv37rTHDcPQs88+q+rqao0ePVoNDQ06fvx4MIuNgXzv96pVq4Z83pcsWRLMYiOuublZN910k8rKyjRx4kQtX75cra2tac+5ePGiGhsbNW7cOF111VVasWLFkIMnYY2V93vBggVDPt+PPvpoQCu2JlTh480331RTU5M2btyozz//XLNnz9bixYv19ddfB720WLr++ut15syZ1O3jjz8Oekmx0dPTo9mzZ2vr1q2mj2/evFkvvfSSXn75ZR06dEhXXnmlFi9erIsXL/q80njI935L0pIlS9I+76+//rqPK4yPlpYWNTY26uDBg3r//fd16dIlLVq0SD09PannrF+/Xu+++67eeusttbS06PTp07rnnnsCXHV0WXm/JWnNmjVpn+/NmzcHtGKLjBCZO3eu0djYmPr68uXLRk1NjdHc3BzgquJp48aNxuzZs4NeRlGQZOzatSv1dX9/v1FVVWX8/ve/T9137tw5I5FIGK+//noAK4yXzPfbMAxj5cqVxl133RXIeuLu66+/NiQZLS0thmH88FkeOXKk8dZbb6We869//cuQZBw4cCCoZcZG5vttGIbxs5/9zPjVr34V3KIcCE3lo6+vT4cPH1ZDQ0PqvmHDhqmhoUEHDhwIcGXxdfz4cdXU1Gjq1Kl68MEHdfLkyaCXVBTa29vV0dGR9llPJpOqr6/ns+6hffv2aeLEiZo+fboee+wxnT17NuglxUJXV5ckqaKiQpJ0+PBhXbp0Ke3zPWPGDE2ePJnPtwsy3+8Br732msaPH6+ZM2dqw4YN+v7774NYnmWBX9V2wLfffqvLly8POQW1srJSX3zxRUCriq/6+nrt2LFD06dP15kzZ7Rp0ybdfvvtOnbsmMrKyoJeXqx1dHRIkulnfeAxuGvJkiW65557VFdXp7a2Nv3mN7/R0qVLdeDAAQ0fPjzo5UVWf3+/1q1bp1tvvVUzZ86U9MPnu7S0VGPGjEl7Lp/vwpm935L0wAMPaMqUKaqpqdHRo0f11FNPqbW1VW+//XaAq80tNOED/lq6dGnqz7NmzVJ9fb2mTJmiv/3tb1q9enWAKwPcd99996X+fMMNN2jWrFmaNm2a9u3bp4ULFwa4smhrbGzUsWPHmBfzSbb3+5FHHkn9+YYbblB1dbUWLlyotrY2TZs2ze9lWhKatsv48eM1fPjwIRPRnZ2dqqqqCmhVxWPMmDG67rrrdOLEiaCXEnsDn2c+68GZOnWqxo8fz+e9AGvXrtV7772njz76SJMmTUrdX1VVpb6+Pp07dy7t+Xy+C5Pt/TZTX18vSaH+fIcmfJSWlmrOnDnau3dv6r7+/n7t3btX8+bNC3BlxeHChQtqa2tTdXV10EuJvbq6OlVVVaV91ru7u3Xo0CE+6z758ssvdfbsWT7vDhiGobVr12rXrl368MMPVVdXl/b4nDlzNHLkyLTPd2trq06ePMnn24F877eZI0eOSFKoP9+hars0NTVp5cqVuvHGGzV37lxt2bJFPT09evjhh4NeWuw88cQTWrZsmaZMmaLTp09r48aNGj58uO6///6glxYLFy5cSPu/jvb2dh05ckQVFRWaPHmy1q1bpxdeeEHXXnut6urq9Mwzz6impkbLly8PbtERluv9rqio0KZNm7RixQpVVVWpra1NTz75pK655hotXrw4wFVHU2Njo3bu3Kl33nlHZWVlqTmOZDKp0aNHK5lMavXq1WpqalJFRYXKy8v1+OOPa968ebr55psDXn305Hu/29ratHPnTt15550aN26cjh49qvXr12v+/PmaNWtWwKvPIejtNpn++Mc/GpMnTzZKS0uNuXPnGgcPHgx6SbF07733GtXV1UZpaanxox/9yLj33nuNEydOBL2s2Pjoo48MSUNuK1euNAzjh+22zzzzjFFZWWkkEglj4cKFRmtra7CLjrBc7/f3339vLFq0yJgwYYIxcuRIY8qUKcaaNWuMjo6OoJcdSWbvsyRj+/btqef85z//MX75y18aY8eONa644grj7rvvNs6cORPcoiMs3/t98uRJY/78+UZFRYWRSCSMa665xvj1r39tdHV1BbvwPEoMwzD8DDsAAKC4hWbmAwAAFAfCBwAA8BXhAwAA+IrwAQAAfEX4AAAAviJ8AAAAXxE+AACArwgfAADAV4QPAADgK8IHAADwFeEDAAD4ivABAAB89X+KvJTiYw8uqwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 \n", + "\n", + "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 11 150 253 202 31 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 37 251 251 253 107 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 21 197 251 251 253 107 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 110 190 251 251 251 253 169 109 62 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 253 251 251 251 251 253 251 251 220 51 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 182 255 253 253 253 253 234 222 253 253 253 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 63 221 253 251 251 251 147 77 62 128 251 251 105 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 32 231 251 253 251 220 137 10 0 0 31 230 251 243 113 5 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 37 251 251 253 188 20 0 0 0 0 0 109 251 253 251 35 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 37 251 251 201 30 0 0 0 0 0 0 31 200 253 251 35 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 37 253 253 0 0 0 0 0 0 0 0 32 202 255 253 164 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 140 251 251 0 0 0 0 0 0 0 0 109 251 253 251 35 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 217 251 251 0 0 0 0 0 0 21 63 231 251 253 230 30 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 217 251 251 0 0 0 0 0 0 144 251 251 251 221 61 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 217 251 251 0 0 0 0 0 182 221 251 251 251 180 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 218 253 253 73 73 228 253 253 255 253 253 253 253 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 113 251 251 253 251 251 251 251 253 251 251 251 147 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 31 230 251 253 251 251 251 251 253 230 189 35 10 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 62 142 253 251 251 251 251 253 107 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 72 174 251 173 71 72 30 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] \n", + "\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGdCAYAAACyzRGfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA0yElEQVR4nO3dfWxd9X3H8Y8TsAnDNgkhsQ1JakIJWwMpSiENtBkTUR4qpWRkEtAKBRbRlhm0kPVBmQppqkrWmFShTqztP4MVNahDKqAijRVSEoZI6JoqiqINi0SZEpoH2iixEwNOis/+YPdyfHwefuec33m875dkCRwTH66vfd/+/n7nnDbHcRwBAADkZErRBwAAAFoL8QEAAHJFfAAAgFwRHwAAIFfEBwAAyBXxAQAAckV8AACAXBEfAAAgVxcUfQBe4+PjOnr0qDo7O9XW1lb04QAAAAOO4+jMmTPq6+vTlCnhs43SxcfRo0c1Z86cog8DAAAkcOTIEV155ZWhH1O6+Ojs7JQk3Tr7Pl0wpb3gowEAACb+OH5OO0482XwdD1O6+GgstVwwpZ34AACgYky2TLDhFAAA5Ir4AAAAuSI+AABArogPAACQK+IDAADkivgAAAC5Ij4AAECuiA8AAJAr4gMAAOSK+AAAALkiPgAAQK6IDwAAkCviAwAA5Ir4AAAAuSI+AABArogPAACQK+IDAADkivgAAAC5Ij4AAECuiA8AAJCrWPExODioG2+8UZ2dnZo1a5bWrl2roaGhCR9z6623qq2tbcLb1772NasHDQAAqitWfOzcuVMDAwPavXu3Xn75ZZ0/f14rVqzQ6OjohI+7//77dezYsebbY489ZvWgAQBAdV0Q54NfeumlCf/+1FNPadasWdqzZ4+WLVvWfP/FF1+snp4eO0cIAABqJdWej+HhYUnSjBkzJrz/pz/9qWbOnKmFCxdq8+bNeu+99wL/jrGxMY2MjEx4AwAA9RVr8uE2Pj6ujRs36pZbbtHChQub7//Sl76kefPmqa+vT/v27dO3vvUtDQ0N6ec//7nv3zM4OKitW7cmPQwAAFAxbY7jOEn+wwceeED//u//rtdff11XXnll4Mf96le/0m233aYDBw5o/vz5k/58bGxMY2NjzX8fGRnRnDlztLz3q7pgSnuSQwMAADn74/g5vXLsxxoeHlZXV1foxyaafDz44IN68cUX9dprr4WGhyQtWbJEkgLjo6OjQx0dHUkOAwAAVFCs+HAcRw899JCee+457dixQ/39/ZH/zd69eyVJvb29iQ4QAADUS6z4GBgY0LZt2/TCCy+os7NTx48flyR1d3dr2rRpOnjwoLZt26YvfOELuuyyy7Rv3z49/PDDWrZsma6//vpM/gcAAEC1xIqPH/7wh5I+upCY25NPPql7771X7e3teuWVV/T4449rdHRUc+bM0bp16/Ttb3/b2gEDAIBqi73sEmbOnDnauXNnqgMCAAD1xr1dAABArogPAACQK+IDAADkivgAAAC5Ij4AAECuiA8AAJAr4gMAAOSK+AAAALlKdGM5AMjK+wuvmPS+aft/V8CRAMgK8QEgU34xkfffQbwA5UJ8ALDCRmRkpXFsRAhQDsQHgFTSRsepBe2WjuRj04fO+b7//YVXECBACRAfABIzDY8sAiPu52sECVMQoHjEB4BE/MIjTWScmT8e6+M7D8Y7We/UgvYJExGmIEBxiA8AsdiKjrixkfS/d0dK4ziZggDFIj4AGEsTHiaxcEn/cOifnz3UbfS5/D6vN0K8UxCJCAHyQnwAiJQkOkwnE1HBEedjw+LEGyHeKYjEUgyQF+IDQCjT8IizjBIWESvmDk163y8PL0j197qj5Mz8cZZigIIRHwB8BZ3JkiQ84saG6cfEjZJGhJguxRAgQDaIDwCT2Jh2JA2Oe6a/MeHfnz51c6K/xy9MLukfZgoClADxAWCCtOFhKzr83h8WImGfyx0iUQEiMQUBssZdbQFYYzs8/D7O9GPDeI/TZL9KmS8fD1QN8QGgKc3UIyg8VswdCgyPpDER978x2Vfi/X/y+/8mQAA7iA8AqYWFR5C0E4y0/73JKb4ECJAN4gNALKan1GYZHu6/x/TvSjL9AJAN4gNAIJOrl3onCFkss0RJ+ncy/QCKQXwAkGT2guqdDPiFR5AsoiPu329z+kGAAMkRHwB8xb1ZXJHh4f48cT+X3/TDZPOpRIAASREfAIxETT2C5BUepp/TZPrhhwAB7CE+AKTm94Ke1f4OU3E+t8n0IwwBAsRDfACY9OLp/S0/bOoRFB5lEBRAtqcfEgECxEF8AIglarmlLOERl+n0gwAB0uPeLgAmiJp6uLknCFWNjiS8935x4z4wQDQmHwCMRS23lJXp0kucvR9MQIDkiA+gxblfKMOmHqZntwBAFJZdgBYVZ5Np1MXEWmnJBUB6TD6AFmQzPAAgLuIDaDGEB4CiER9ACyE8AJQB8QG0CMIDQFmw4RSouajokNKFB5tNAcRFfAA1luay6RITDwDZYNkFqCnCA0BZER9ADREeAMqMZRegRvwu6014ACgb4gOoibgbS6X04cFmUwBJEB9ADcRdZpGYeAAoDns+gIpLsr+D8LAj7M62AIIx+QAqysb+DilZeNR5ueWS/mGdPdQ94X1n5o+r86D/72qnFrRr+tC5Se9vfH2m7f+d/YMEKo7JB1Ah7y+8ovnmdmpBO+GRgK2JT9gExC8SgVbH5AMooTgvWEmiQyI8wsSdfkgffx2YggDRiA+gYGl+M2bakd6KuUP65eEFRh8bFSBS8DKM9NHXmgABiA8gV7ZG8ElOo5UIjzj8ph/Sx49z1BQkLEAkpiBobcQHkBObEw43k9NoJcLjnulv6OlTN8f6b4ICREq3DCP5Px8IErQK4gPIQZLwMDmNM6v9HXWKDhNxll7c0k5BvLzPE2IEdUV8ABlKs3E0CuGRj7DpR0PaKUgQpiOoK+IDyEhUeCS5QJXfEovEMksZpN2MaorpCOog1nU+BgcHdeONN6qzs1OzZs3S2rVrNTQ08QfcBx98oIGBAV122WW65JJLtG7dOp04ccLqQQNlFxQejetxxAmPM/PHm29eflcrlZJNO1o9PMIes6CpklfQ18nN9lVRuY4IqihWfOzcuVMDAwPavXu3Xn75ZZ0/f14rVqzQ6Oho82Mefvhh/eIXv9Czzz6rnTt36ujRo7rjjjusHzhQRn4XAGuwFRwNLLOUl0mAJAnRIGHPO6CM2hzHcZL+x7///e81a9Ys7dy5U8uWLdPw8LAuv/xybdu2TX/1V38lSXrrrbf0p3/6p9q1a5c++9nPRv6dIyMj6u7u1vLer+qCKdw3AdUR9sM/yeZRP1G/gRMe4aLOdonadBq198NP1FKMV9plGZZhUJQ/jp/TK8d+rOHhYXV1dYV+bKrLqw8Pf/SDcMaMGZKkPXv26Pz581q+fHnzY6699lrNnTtXu3btSvOpgFKLWmYJYjLhkIKXV9wIj/SiHkOTr4OXSVS6pZ2IMAFBFSTecDo+Pq6NGzfqlltu0cKFCyVJx48fV3t7uy699NIJHzt79mwdP37c9+8ZGxvT2NhY899HRkaSHhJQiCTLLDamHA1EhzmTa32YnHbb+NqYTkJMTsn1430OxTlllwkIyixxfAwMDGj//v16/fXXUx3A4OCgtm7dmurvAIoS97dMm9EhER5J2AoQaeLXyiREvF//LGOEK6mizBItuzz44IN68cUX9eqrr+rKK69svr+np0fnzp3T6dOnJ3z8iRMn1NPT4/t3bd68WcPDw823I0eOJDkkoFRMLn/u1hjnx5l2EB7JmTwWcR/fuF9DaeKym8nym5fJ8gzLMCijWJMPx3H00EMP6bnnntOOHTvU398/4c8XL16sCy+8UNu3b9e6deskSUNDQzp8+LCWLl3q+3d2dHSoo6Mj4eED1ZbllKOB6PDXeFzCpiBJr3wadyLilmQ6EnX9EJZhUDax4mNgYEDbtm3TCy+8oM7OzuY+ju7ubk2bNk3d3d3asGGDNm3apBkzZqirq0sPPfSQli5danSmC1AHUVOPuBsWk0aHRHiYiFqGaTz+SSJEmvz1Thsjkn+QECCoklin2ra1tfm+/8knn9S9994r6aOLjP3d3/2dnnnmGY2NjWnlypX653/+58BlFy9OtUVVmG40TRIeaYKjgfCIx/Smc0kjJEiS03fdvCEStSmVAEFW4pxqm+o6H1kgPlAVfvGRJjxsBIdEdKQV9863UvFB4jcJCYsQAgRZiBMf3NsFsCTJdRlsBUcD4ZGeydkwXn5fxzRB4heqYUHidypv2DIMSzAoGvEBZCRo6mE7OBoID3uSBIhX0NfZ1t4RaXKQeG9uR4CgrIgPIAHvkovpcksW4UF0ZMPkbJgkbE5J/C52RoCgCogPwDLCo15sTEGipJ2SXNI/HBkgkv8+EC5GhiIQH0BKJns9OHul2vIIED9xosQvQCT2gaCciA8gprArRpqc3UJEVFPar5vNeHFHiTtEvAEisQyDciI+gBTcUw+T5RbCo3VFfe2Txon3KqzsA0EVEB9ADO6pB+EBm9zPj6Sn+oZNQbzLMFH7QAgQZCnRjeWAVpQmPIA4koaq9znnd6M77+Xag25Oxw3pkCXiAzAQNzyAtO6Z/kaiCPG747FfgPhFiBcBgqwQH0CEJOHB1AO2pJmCuJ+HplMQLwIEWSA+gBCEB8ogzX6hqKUY7xSEAEEeiA8ggM2lFjabIq2kyzCS+VJMAwGCrBEfgMf7C69IHB5MPern6VM3N9/KIO0UJGwpJipAAFs41RZwCbtnC+FRf1GB8fSpm0sxxUp73xm/a4M0Tst1XxPEez0QTsGFLcQHIP+RMuFRf0levMsSIFK6CPFeG4QAQZ6ID7S8pHeoRfXYWjopU4BI/ksxpv+v7ikIAYK8tDmO4xR9EG4jIyPq7u7W8t6v6oIprDkiWzbCI2rqUaYXqVaU9V6Nqnx9TR6HRoS4r4zqviy792qoBAjc/jh+Tq8c+7GGh4fV1dUV+rFMPtCSopZZJDvhgeLktUG0bFOQIN5j9Ht8GlMQ9/1hmIAgC5ztgpbjN+3w7u8gPKot7zNTynImTByNU3e9p/B6z4aRJn5PeCOdU3CRBPGBlhJnmUVij0cVFRUCVQwQt6gAkRQYIEBcLLugZUSFRxxMPcqlLC/8jeOowjJMWu4lGJZfEBfxAfw/06lHnPBohRehvJQlMEwEHWsdng9he0AAU8QHWgLr0tVShtBwX4SrIe3Eq6qTEfcpuEGYfiAO4gMtKWqvRxCWW7JnMzz8AsL235fkOVHVCGkImn4QIDBFfAA+bFzFtKovLEVKGx62YyPJ54zzPCnzabreS7ADNhEfqD0bG02ZeGQrSXSU9YUx7nSkzAHi5l16YfqBNIgPtDxOry1WnCtv2hK1fyFK3OdI1HSk6sswXo3gJ0IQhPhArdk8vRZ2RUVH2uBIGxhx/u4kMeI3DanKFKQh6swXpiAIwkXGUFsmZ7iYbDRNsuRSpReQIoSFxy8PL0gcHmcPdTff8uT+vKafO+j/sQxn+gRJMhXkTDP4YfKBWjK5d4sfllyyFxUecWQRGe4bqXmZnhXlPq6w51Tj/7esyzAmm05NrvvBMgy8iA/UDr9plZOt6IgbHGExEZf770oSIpJ/jNRlGUYKv/AYyzBoYNkFtfH+witihUdWSy6YLG14xF3S6Dw4pfmWFffniPN5gv4/qrIM4xdP3u+lsCkjvxxAYvKBmoj6gZbnkkvVflPNWtLwKHLCkUTcqcjZQ92TnnNlX4aJo/E9xzIM/LQ5juMUfRBuIyMj6u7u1vLer+qCKZyZgGhJwsPvxcH7QpB06lGlF4gs5REdSYLDxr1I4pw1FRUice8hlPXzy+/r5vf18vs6BX09wh5zAqQ+/jh+Tq8c+7GGh4fV1dUV+rHEByotbniYRIfEGS5pZRkepsGR1w3PbIRIKwSIRITUXZz4YM8HKiuL8Fgxd4jwSOHpUzcHhkfUKbRh4RFnb8X0oXO53mk1zucLOv68Tw2O4vd89vu+MNn/4cZeEDSw5wOVlDY8bE07pNYNjzgbIdNEh4ky3Na9cQxRk5DOg1OMz5QJOgsmD43ntfvr3DgW99ez8b3kvfS65P/142wYSCy7oKKC4iPPZRapNcIjy5u9BYWH6YSjzKIiJO1zM8/nHsswMBFn2YXJByonaXgQHdHyup19naOjwXQSEqXI6UfDPdPfmPTc8LsAmffmcxJTEPgjPlAphId9WVxHwnZ45BkcYS94SfYlBEWI3/KL3+m3ZREnQKTJX2f3lVDdOCW3NREfqAxb4ZHmt0jCI5ztvR02o8PGC5j774gbIn4REmf/RxmY7gORmIIgHHs+UAlJwsPmtEMiPMJEXaU07rQjTXTk/SKVZBrift6m2ftR5HMyzT4Qib0gdcSeD7SEsB/gTDuClSE6JP8XnyTRUfSLUZppiJRu+lHkvV+yWoaRmIK0AiYfKL2oO9RmFR51iw7JXniY3o/FT5ppR1VedEwixPZyYVHP17DrunjZnIJU5bnQSrjCKWqjiPCoY3RI+YWHzb0dVX+BiXM9GhubpKuwDCNxSm5dER+oBe8P7ji/KRIdH6vitKOOLyhRIS3ZiekqB4jE/WGqjPhA5eUZHnWNDslOeKSJDinei0krvIjEeW6nmeRVYRlGYgpSJ9zbBS0l6XUR7pn+BuERIupeLNJHLxxhv8EGbSpt1fCQJv9/hr2Yeh9bkxBsyOL6LSaCvq+Cwino/jBBm3DTXrQN5cDZLqgcG9dFqGt0ZHkp9IY0d55tpWWWpLxnv6S58FgZz4aRzK4JkgRnwlQH8YGWQnRMZis4JKLD1LT9v5uw/DJ96FzoxcfcAVKGy62b8gsQyfyU3LCrolblMvvwx7ILWkbdwqNx+/qswqOxpBIVHlG3uyc8zHgfp7B9D1VYfmkIW4bxiyjvlIfll3oiPlArZbgDaB6y2M/hjo2oDaRRwSGF7+0gPOLHVxX3f7gFfQ8GBYg7QuIstSa50BvyR3yg1uq4qTTtpCMoOsKYxIYb045koqYfaQKkDOJuRnXzCxCmH9VFfAAVkWaJJejMlagzVeIEh8S0Iy6Tx8RWgJRh+tFgugxjsgTjFyBMP8qPDacoPX67Sf7CYXpthTiB0WC64Y/oiMe7+VSKPgOmSptQG/zukCtN3ozqPRMm7J4wqA6+gqi0pKcgVkmS8AibdCQNj8ZUI2i64cW0Izm/xzfq62RyXZYyTT8aTKYgUd/nTD+qh/hAbdVhr0fcF4uwFyC/6Ag7QyVubLgRHebiPFbur1fQXp26BIhX1AZUJqTVEjs+XnvtNa1Zs0Z9fX1qa2vT888/P+HP7733XrW1tU14W7Vqla3jBVpC3P0dUdERNe1IExpuTDvsMf06JAmQMvLbjBq2B8TGxQZRnNjxMTo6qkWLFumJJ54I/JhVq1bp2LFjzbdnnnkm1UECrcRWdEjR046kU42gNyQT9NiZLr/EDZAyTj8a0gSId/rB0kt5xd5wunr1aq1evTr0Yzo6OtTT05P4oIBWFTc8gpjs6+AGXdXl3YAq+V+GvYobUaXJm1H9rojawAbUasrkK7Zjxw7NmjVLCxYs0AMPPKCTJ08GfuzY2JhGRkYmvAFJVPGHbEOSZRY/cZZY3JhgFC/O9ENKPwEp8/SjwT0FCduA6g4xph/VYD0+Vq1apZ/85Cfavn27/uEf/kE7d+7U6tWr9eGHH/p+/ODgoLq7u5tvc+bMsX1IQKnZ3Nvh5rehNCg6UG6tHCCoJ+vxcdddd+mLX/yirrvuOq1du1Yvvvii/uu//ks7duzw/fjNmzdreHi4+XbkyBHbhwSUVl7LLEHTDpRL2NckqwABipD5QtlVV12lmTNn6sCBA75/3tHRoa6urglvQCvIc5nFjWlHuSUJkDSYfqAImcfHO++8o5MnT6q3tzfrTwVUhq3wcDNdZkH5xQ0Qph+omtjxcfbsWe3du1d79+6VJB06dEh79+7V4cOHdfbsWX3jG9/Q7t279b//+7/avn27br/9dl199dVauXKl7WMHKimr8PAiPKotzwkI0w/kLXZ8/OY3v9ENN9ygG264QZK0adMm3XDDDXr00Uc1depU7du3T1/84hd1zTXXaMOGDVq8eLH+8z//Ux0dHdYPHqgSm2e0uLG/o77iBIiNzadECPIS+zoft956qxzHCfzz//iP/0h1QEAdJblMupffCwnLLPU3bf/vjE8X9bv+R1xPn7q5FrcmQLlxZRYgQ0l+mzQJD/Z3tJa41wBxq8v9X1AvxAeQkaR3o/VimQWS+dfUdPklCsswyBLxAWQgz/DwIjzqy+9rm3TzqemZLwQIskB8ABYl/W3R+0LA9TsQxCRAbE0/GggQ2EZ8AJYkjQ6/8HBjfwe8TL7eJjdbi3PdDwIENsU+2wXAREl/KLPMgjS8Z8FMHzo36aZqXn53vo2j8VznbBikxeQDSIHwQJmYLL94JbnqaRmmIGkiCsUjPoCEbIUH+zuQpzR7P9yKCJAVc4cC/8x9fRPvBMj0OinID/EB5Cju/g5OowWCeacfBEh1EB9ATtzh4Z12mG4qJTyQVtWXK7zTj7D/HwKkvIgPIIE0Vy2Ne9EwogMI5w4Q7+XlCZByIj6AjAWFB6fQosrKdsYLAVItxAeQobDwcGPaAZgL23jaQICUG/EBZMQkPNhQCtgTtgFVIkDKhPgAMuAXHn5nsrgx7QAmC1reCZp+RG2oJUDKgfgAYorabBoUHg1MO4Bshe3/kAiQMiA+AIsa4eE+lZZpB5CNsL0fBEi5cW8XwALT/R0NBAeQrzPzxydt9D61oH3C9+X7C6/gezMnTD6AlAgPoDim0w+JCUiZEB9ADN79HoQHUG4ESDkRHyidsG98vx8cRSE8UDbeF1ETJtfM8CrbBcbi/j+Y/BwhQLJFfKBUvN/w7h+m3h8YVb9HBZCGyYtjFrFetvCQJt+wMYp374cfflnIFvGB0ggLDwAf8wsPk+8Xb7DHnRiUMTyiRN1LSeK2BkXgbBeUQtRvcVFTjySjY6CKTJcDbE8KyxoeYVMPk5s4ehEe+SA+ULikv8WFKesPSiAL3u8Xm8stVf1eIjzKjWUXFCrJujV7PdCqbC23SGbTwrKHh+leD8KjfIgPFCYoPOJuMmXJBa0g6XJLUmUPjzBRd5D2IjzyR3ygECbhAeAjab5fkgR7mcIj6F5KQVMPwqMa2POB3Jn+IGW5BYgXHmmnHmWKjiS8+zzcCI9yYfKBXCUND6AVxbnQld/3TJypR5XCw2/qEbbBlPAoH+IDubE9OpbY74H6CgsP28uTVQoPP4RH9RAfyEWeo2Og6uKGR5qpR9XCI+oMF8KjGtjzgcylDQ/2eqCV5DnxqIOwDaZuREe5MPlAprKceLDkgrpJEh5p93pUiXfqYXpmC+FRPsQHchcnPJh6oFUUER5VW3Jxi3tmC8qF+EBphYVH2G9xVf6BitZEePgLusYHqo/4QCklDQ+gTlhqSY8ll3IiPlC4OBcT44cp6ibuKeg2wqMKUw/UG2e7IFdpdusTHqibtOGR5Po3VQ2PsFNsw85yQTkRHyiUjR+mblX9wYrWE+fqpRI3WUS9kIvITNwfrkH4gYpWYnI2WNLwIM5RFsQHchO15MJvcmgVaa5/Q3igDogPFCbqomJxw4MfrqiCIsKjijjNtt7Y84FS8P5QresPVLSutPdrSRMeVQpzk+gIu8AYqoH4QCHCph6EB+okau8TE4+PMe1oHcQHchG238PGJdSr9JsdWkPSDde2w6Mq3xuER2shPlAqdfxtDq0lTnR4o9zk5oqERzju61INxAcyEfYDOO7da4GySzLliAqPVph4mEZH2AXGUE3EBwDElOYaNkn2eNTxzC9b0w6ublpNxAcAGLAdHFI2G0vLHh5xo8M99fCe5eIND++SCzeVKy/iAwAixA0Pk3sYtdq0I8mkg/CoL+IDAAKk2TwapNWmHWmjQyI86oj4AAAfSa7PESRok7WNi+uVNTyS7umIEx6c2VJdxAcAeMS91X0Q0+iQmHb4ndGSJDyYelQD8QEALn7hYWPK0VDnvR22ph3SxPCIWmZpIDyqg/gAgP+XNDziBkdDne7Nkscyi0R41AXxAQBKFh5ZRkcVgkPKbtohER51FvvqLK+99prWrFmjvr4+tbW16fnnn5/w547j6NFHH1Vvb6+mTZum5cuX6+2337Z1vABg1fsLr4gVHmfmjzffglzSP5woPO6Z/kbzrQpsTjsIj9YSe/IxOjqqRYsW6a//+q91xx13TPrzxx57TD/4wQ/0r//6r+rv79cjjzyilStX6r//+7910UUXWTloALAhbnSECbtBYtSkoyqx0ZDltEMyDw9UV+z4WL16tVavXu37Z47j6PHHH9e3v/1t3X777ZKkn/zkJ5o9e7aef/553XXXXemOFgAsMQ2PrKKjasHRUIZllgamHtVldc/HoUOHdPz4cS1fvrz5vu7ubi1ZskS7du3yjY+xsTGNjY01/31kZMTmIQHAJDbCI+mySpVltalUIjxajdX4OH78uCRp9uzZE94/e/bs5p95DQ4OauvWrTYPAwACpQ2PVpt0SPlOOyTCoxUUfjvAzZs3a3h4uPl25MiRog8JQA35bSw9taDd99b2tsOjyrLe3+FFeLQGq5OPnp4eSdKJEyfU29vbfP+JEyf06U9/2ve/6ejoUEdHh83DAICmovd2SNWeemTJb+oRhvCoD6uTj/7+fvX09Gj79u3N942MjOjNN9/U0qVLbX4qAIhka29HK048bEsz9Zi2/3eER83EnnycPXtWBw4caP77oUOHtHfvXs2YMUNz587Vxo0b9b3vfU+f/OQnm6fa9vX1ae3atTaPGwACZbmh1I3w8Oe35OJlOvUgOuopdnz85je/0V/8xV80/33Tpk2SpPXr1+upp57SN7/5TY2OjuorX/mKTp8+rc997nN66aWXuMYHgFz47evwShsdUr0ujR4k6X6PJPymHoRHfcWOj1tvvVWO4wT+eVtbm7773e/qu9/9bqoDA4C40oSHaXRITDziMlly8SI86o17uwCovLyiQyI8oiRZcuEKpq2H+ABQaVHhYSs6pPjhwZILUw/4Iz4AVFaS8EgSHRITDxM2N5qi3ogPAJVDdJSPSXj48S65MPVoDcQHgEqJGx5FRUeVl1ziCgqPJEsuaA3EB4DKyDo8mHJ8JKtTbKM2mjL1aB3EB4DSyzI6sggOph5AOOIDQGmZXKk0aXhkNeUgPD4SdfdaTq9tbcQHgFLKYtqR9bIK4fGRuOHBckvrIT4Ay87MH2/+sD21oL35g/b9hVeU7oes32ShbIiOfKXd70F4wATxAVhwSf9wJXb2VyE2GtJGR16bR+sUHqZMzm4xWWYhPFoX8QHUmEls+F2KvEyIjnKxER5EB4gPIKEVc4eMdvrnvfRiOt2oU3TkfYpsq4ZHEMIDcREfqLwyvhC4931kLe5SStzoCLv9fB7KFB1SOZ9vefGL7aDwIDoQhvgAcuCdfhR1DF5Fh0UUv/Ao6kJgrRwdEuEBu4gPwJKybjrNKjqSXrY8qTyjo9VDwwThgTSIDyAjeS69+DGNjrwjIo4sg4PAmCzoNFvv1MMkPIgOhCE+gJy4l16y/jxeWUdHWe+JQmCkR3ggC8QHUBNpo6OsARGGuMgX4QFbiA+g4tJER5mDg7AonnvqQXjAJuIDiOGe6W9MWBf3XuvDu+nUu+/D5tJLntFBCLQewgNZIj6QiWn7f1epS3nHYSNAsmByUa4kkw7Co7URHshCcVvx0bLCzgAxuWKoV9obYSXhfUH2vqhf0j884cX/zPzxzK6p4fd325p2EB6tw/19lOT7EIiD+EAuvEsN7gAp47UxTHhfnFfMHfKNEDfbAeIXHd7P6XdcUYiO1hIUHmGXTQfSYNkFpXD2UHfzRfOXhxeUeiOkV5JlmCywzIIkkkwO8zhlHPVGyiI3YdMPr7hj3yKWXtz8lmHcL/x+EwlbbE07JMKjlTx96uZJ3zdBUw/ANuIDmTHZhBa2/FK1dWe/PRJRyzBp2YoOifBoJXFjnSUX2MayC3I1fehc6Nke7uUXqXpLMJLZMkwWiA6YMLmEetjUg3u3wAbiA4XrPDgldB9E44di1Ivr06duLs0LqV+ASNlMc1hegYmwaUdYeDD1QBZ4ViF3fpvVTM5+qeMyTFpx/r7G8RAercc0PIC8MPlAppJebMy7/NIQtQxTpulHQ9AUJI/Pi9YWtbcj7KZxElMPZIdnFgoRNf2Q6jMBkfILAaYbaIiadiT5PuIUW9jC5AOl4t3/kXQCUkaNILB9WjChAa8kyyxMPZAn4gOlFzdAyrj04lbmY0O1Jd3bkfSaHpzpgqRIW2Qu6AdU0AjX7zeuOi3BAFmwGR5+34MsucAmJh8oVNB1P/xOvw2agACtzPa0wzQ8mHogDeIDuQg76yXqwmNR/JZfyr70AkRJujcozfIK4YG8EB/ITdwAYfqBurK96djGfg7CA3kiPpCrLCcgQFlldePDtNERdkYL4YEsER/IXZwAYfqBKsryLstZBodEdCAfxAcKYXsCwr4PFCnL2GgwvT6HV5zrdRAeyAvxgcKYXno96sZzQN7yiI2GJNGR5AJhhAfyRHygUEEBEjX9YOkFecszOKT40RE3OKKu20F4IEvEBwpnMgExmX4ELb1IXFUU6eQVHjYuBuYnzgXCiA7kgfhAKfgFSNTm0zjTD/Z/IKki93NIyaIj6dVICQ/khfhAaZjuAUmKAEFcWYeHreiwcelzwgN5Ij5QKt4AsTn9kFiGgZmiTpVtMLnDLNMNVBnxgdJJMwEJutOtF1MQBCnigmANtqKDwEDZER8oPZMLjyVBgMAri/BIEh3S5PDgVFjUCfGBUoqz/OJdejGdfkjhLzaESWuxGR4mwSElv5090YGqIz5QWnEDRFIzQuIESBDvixExgiCmsdGQNDokwgP1QHyg1NJsQHW/IKQNEYllmjqLO/WIGxsNphcIIzpQd8QHKifJGTB+LxZJgoSzZerHNDySBEeS+66wxIJWQHyg9IIuQCapGSFJTsH1vpjEiRGmIK0lTngkvbMs0w60EuIDlWByD5i01wCJOx0hQKrPZOqR9GwVP0QH8BHiA5VhGiCSJm1EbYh7M7qofSMESHWlDY80wdFAeKBVER+oFNO74AZdC8T9gpEkRIICRGIfSN34hYdpcEhEBxCG+EBtxL0YWZIQabwgMQWptrCpR5roSHLDN6IDrcjsfswxfOc731FbW9uEt2uvvdb2p0ELC/th7f3h3nlwitFtx88e6m6+mQgax+d163Ukl0V4hD3Ppg+da755ER5oVZlMPj71qU/plVde+fiTXMCABXaF3f/FOwGRJv5GGnVpdtOJCMsw9RI3PNLc1p7oQKvLpAouuOAC9fT0ZPFXA01xA6TBZoiEXUmVZZjyCZp6xAmPpNFBcAAfs77sIklvv/22+vr6dNVVV+nLX/6yDh8+HPixY2NjGhkZmfAGmIpaggkadzc0xuWmSzN+fnl4AcswFZA2PNIsrRAewETW42PJkiV66qmn9NJLL+mHP/yhDh06pM9//vM6c+aM78cPDg6qu7u7+TZnzhzbh4SaM/nBHhUhklmIhO0LCQsQIqSc4oSHn7DnFdEBBGtzHMfJ8hOcPn1a8+bN0/e//31t2LBh0p+PjY1pbGys+e8jIyOaM2eOlvd+VRdM8R+bA36ClmCCBC3LuEUtywTtCTG9WirLMsVMh9JGh8SeDsDrj+Pn9MqxH2t4eFhdXV2hH5v5TtBLL71U11xzjQ4cOOD75x0dHero6Mj6MNACwvaA+PFeot2P96JlXt676TaY3tQuzQtvGcOl7BMeG9EhER5AWpns+XA7e/asDh48qN7e3qw/FZBo1G1jb0jUckzSu6CGKdtyTpmOxQ/hAZSH9cnH17/+da1Zs0bz5s3T0aNHtWXLFk2dOlV333237U8FBIo7BWlIOw0JmoRI4RcoS6MMZ9XYDo8sYs0tSXRIhAdgi/X4eOedd3T33Xfr5MmTuvzyy/W5z31Ou3fv1uWXX277UwGhGi8GRUaIFL4kI9mJkaICxFZ0ZB0bDUmjQyI8AJsy33Aa18jIiLq7u9lwiswkiREp/QZV00u4p42RvCIkbXjkFRwNWUw7JMIDaCjVhlOgbLwvFqYxkuWSjJvpZtUgeUxBkoRHnNiIcwO3JNLs63AjPIBkiA+0PPcLiEmIuF+Yoq6imiZCpORLNFkFSJzoSDLZqEp0SIQHkAbxAbjEnYpEhUjYpdzT3FVXig4R2/eYMQmPpEspWUeHlPyaHX4IDyAd4gMIEWcqErUsY2sa0mB69oyNKUgW4ZHmpm22xI0OifAAbCA+AEOmIWI6DYl7lkyQsJvbNSQNENNlFlv7OcocHRLhAdhCfAAJmJ7GGzYNibq7bty9IbaXYWxOO6KWVfKIjqTB0UB4APYQH0AKeU5DTM+SSTsFsTntSDPlSBsLthAdgH3EB2CJzWlImiUZkwhxB0YjRPKadNjc+JkVggPIFvEBWGZ6afewaYjpkowUHCJ+oeAXJGHRYWtZRSI6AHyM+AAyEPfS7kmnIZL/C79pkLhjJIuLgLG0AsAP8QFkKO4N7tJEiJs3DuJMR6L+LhNMOQCEIT6AjCW5w67pWTJSshiR/IMkzcW+mHIAMEV8ADlIeofdOJdy94qKEtsTjSBEBwAv4gPIUdIIkcxubOeWNErC/ts4uJAXgCDEB1CApHfWlcymIWGyuqAXsQHAFPEBlIDfC3Dc03XDJImUJJ/HBLEBgPgASirNdMSryH0XxAYAL+IDqAibMZIlYgNAFOIDqChbL/LvL7yCYACQq3zuXw2gtAgPAHkjPgAAQK6IDwAAkCviAwAA5Ir4AAAAuSI+AABArogPAACQK+IDAADkivgAAAC5Ij4AAECuiA8AAJAr4gMAAOSK+AAAALkiPgAAQK6IDwAAkCviAwAA5Ir4AAAAuSI+AABArogPAACQK+IDAADkivgAAAC5Ij4AAECuiA8AAJAr4gMAAOSK+AAAALkiPgAAQK6IDwAAkCviAwAA5Ir4AAAAuSI+AABArogPAACQK+IDAADkivgAAAC5Ij4AAECuiA8AAJAr4gMAAOSK+AAAALkiPgAAQK4yi48nnnhCn/jEJ3TRRRdpyZIl+vWvf53VpwIAABWSSXz87Gc/06ZNm7Rlyxb99re/1aJFi7Ry5Uq9++67WXw6AABQIZnEx/e//33df//9uu+++/Rnf/Zn+tGPfqSLL75Y//Iv/5LFpwMAABVyge2/8Ny5c9qzZ482b97cfN+UKVO0fPly7dq1a9LHj42NaWxsrPnvw8PDkqQ/jp+zfWgAACAjjddtx3EiP9Z6fPzhD3/Qhx9+qNmzZ094/+zZs/XWW29N+vjBwUFt3bp10vt3nHjS9qEBAICMnTlzRt3d3aEfYz0+4tq8ebM2bdrU/PfTp09r3rx5Onz4cOTBI72RkRHNmTNHR44cUVdXV9GHU3s83vni8c4Xj3e+yvZ4O46jM2fOqK+vL/JjrcfHzJkzNXXqVJ04cWLC+0+cOKGenp5JH9/R0aGOjo5J7+/u7i7Fg9kqurq6eLxzxOOdLx7vfPF456tMj7fp0MD6htP29nYtXrxY27dvb75vfHxc27dv19KlS21/OgAAUDGZLLts2rRJ69ev12c+8xnddNNNevzxxzU6Oqr77rsvi08HAAAqJJP4uPPOO/X73/9ejz76qI4fP65Pf/rTeumllyZtQvXT0dGhLVu2+C7FwD4e73zxeOeLxztfPN75qvLj3eaYnBMDAABgCfd2AQAAuSI+AABArogPAACQK+IDAADkqnTx8cQTT+gTn/iELrroIi1ZskS//vWviz6kWvrOd76jtra2CW/XXntt0YdVG6+99prWrFmjvr4+tbW16fnnn5/w547j6NFHH1Vvb6+mTZum5cuX6+233y7mYGsg6vG+9957Jz3fV61aVczBVtzg4KBuvPFGdXZ2atasWVq7dq2GhoYmfMwHH3yggYEBXXbZZbrkkku0bt26SReehBmTx/vWW2+d9Pz+2te+VtARmylVfPzsZz/Tpk2btGXLFv32t7/VokWLtHLlSr377rtFH1otfepTn9KxY8eab6+//nrRh1Qbo6OjWrRokZ544gnfP3/sscf0gx/8QD/60Y/05ptv6k/+5E+0cuVKffDBBzkfaT1EPd6StGrVqgnP92eeeSbHI6yPnTt3amBgQLt379bLL7+s8+fPa8WKFRodHW1+zMMPP6xf/OIXevbZZ7Vz504dPXpUd9xxR4FHXV0mj7ck3X///ROe34899lhBR2zIKZGbbrrJGRgYaP77hx9+6PT19TmDg4MFHlU9bdmyxVm0aFHRh9ESJDnPPfdc89/Hx8ednp4e5x//8R+b7zt9+rTT0dHhPPPMMwUcYb14H2/HcZz169c7t99+eyHHU3fvvvuuI8nZuXOn4zgfPZcvvPBC59lnn21+zP/8z/84kpxdu3YVdZi14X28Hcdx/vzP/9z527/92+IOKoHSTD7OnTunPXv2aPny5c33TZkyRcuXL9euXbsKPLL6evvtt9XX16errrpKX/7yl3X48OGiD6klHDp0SMePH5/wXO/u7taSJUt4rmdox44dmjVrlhYsWKAHHnhAJ0+eLPqQamF4eFiSNGPGDEnSnj17dP78+QnP72uvvVZz587l+W2B9/Fu+OlPf6qZM2dq4cKF2rx5s957770iDs9Y4Xe1bfjDH/6gDz/8cNJVUGfPnq233nqroKOqryVLluipp57SggULdOzYMW3dulWf//zntX//fnV2dhZ9eLV2/PhxSfJ9rjf+DHatWrVKd9xxh/r7+3Xw4EH9/d//vVavXq1du3Zp6tSpRR9eZY2Pj2vjxo265ZZbtHDhQkkfPb/b29t16aWXTvhYnt/p+T3ekvSlL31J8+bNU19fn/bt26dvfetbGhoa0s9//vMCjzZcaeID+Vq9enXzn6+//notWbJE8+bN07/9279pw4YNBR4ZYN9dd93V/OfrrrtO119/vebPn68dO3botttuK/DIqm1gYED79+9nv1hOgh7vr3zlK81/vu6669Tb26vbbrtNBw8e1Pz58/M+TCOlWXaZOXOmpk6dOmlH9IkTJ9TT01PQUbWOSy+9VNdcc40OHDhQ9KHUXuP5zHO9OFdddZVmzpzJ8z2FBx98UC+++KJeffVVXXnllc339/T06Ny5czp9+vSEj+f5nU7Q4+1nyZIlklTq53dp4qO9vV2LFy/W9u3bm+8bHx/X9u3btXTp0gKPrDWcPXtWBw8eVG9vb9GHUnv9/f3q6emZ8FwfGRnRm2++yXM9J++8845OnjzJ8z0Bx3H04IMP6rnnntOvfvUr9ff3T/jzxYsX68ILL5zw/B4aGtLhw4d5ficQ9Xj72bt3rySV+vldqmWXTZs2af369frMZz6jm266SY8//rhGR0d13333FX1otfP1r39da9as0bx583T06FFt2bJFU6dO1d133130odXC2bNnJ/zWcejQIe3du1czZszQ3LlztXHjRn3ve9/TJz/5SfX39+uRRx5RX1+f1q5dW9xBV1jY4z1jxgxt3bpV69atU09Pjw4ePKhvfvObuvrqq7Vy5coCj7qaBgYGtG3bNr3wwgvq7Oxs7uPo7u7WtGnT1N3drQ0bNmjTpk2aMWOGurq69NBDD2np0qX67Gc/W/DRV0/U433w4EFt27ZNX/jCF3TZZZdp3759evjhh7Vs2TJdf/31BR99iKJPt/H6p3/6J2fu3LlOe3u7c9NNNzm7d+8u+pBq6c4773R6e3ud9vZ254orrnDuvPNO58CBA0UfVm28+uqrjqRJb+vXr3cc56PTbR955BFn9uzZTkdHh3Pbbbc5Q0NDxR50hYU93u+9956zYsUK5/LLL3cuvPBCZ968ec7999/vHD9+vOjDriS/x1mS8+STTzY/5v3333f+5m/+xpk+fbpz8cUXO3/5l3/pHDt2rLiDrrCox/vw4cPOsmXLnBkzZjgdHR3O1Vdf7XzjG99whoeHiz3wCG2O4zh5xg4AAGhtpdnzAQAAWgPxAQAAckV8AACAXBEfAAAgV8QHAADIFfEBAAByRXwAAIBcER8AACBXxAcAAMgV8QEAAHJFfAAAgFwRHwAAIFf/B/KoRxBk0eggAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "4 \n", + "\n", + "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 50 224 0 0 0 0 0 0 0 70 29 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 121 231 0 0 0 0 0 0 0 148 168 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 4 195 231 0 0 0 0 0 0 0 96 210 11 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 69 252 134 0 0 0 0 0 0 0 114 252 21 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 45 236 217 12 0 0 0 0 0 0 0 192 252 21 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 168 247 53 0 0 0 0 0 0 0 18 255 253 21 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 84 242 211 0 0 0 0 0 0 0 0 141 253 189 5 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 169 252 106 0 0 0 0 0 0 0 32 232 250 66 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 15 225 252 0 0 0 0 0 0 0 0 134 252 211 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 22 252 164 0 0 0 0 0 0 0 0 169 252 167 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 9 204 209 18 0 0 0 0 0 0 22 253 253 107 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 169 252 199 85 85 85 85 129 164 195 252 252 106 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 41 170 245 252 252 252 252 232 231 251 252 252 9 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 49 84 84 84 84 0 0 161 252 252 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 252 252 45 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 253 253 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 252 252 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 135 252 244 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 232 236 111 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 179 66 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] \n", + "\n" + ] + }, + { + "data": { + "image/png": "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dXrsscc0MjKie++9N4mHAwAAOZJI+Ljtttv0r3/9Sz/60Y80ODioL37xi9q+ffu4JlQ3TU1NWr9+vetUDMzj+baL59sunm+7eL7tyvPz3eAEWRMDAABgCNd2AQAAVhE+AACAVYQPAABgFeEDAABYlbnwsXHjRl1yySU6++yz1d3drXfeeSftIdWkH//4x2poaCj7uvLKK9MeVs144403dPPNN6ujo0MNDQ16/vnny37uOI5+9KMfacaMGZo8ebKWLFmid999N53B1gC/5/uee+4Zd7wvX748ncHmXF9fn6699lo1Nzdr+vTpWrlypfr7+8vu88knn6inp0cXXHCBzjvvPK1atWrcxpMIJsjzvWjRonHH97e+9a2URhxMpsLHM888o97eXq1fv15/+9vfNH/+fC1btkwffPBB2kOrSV/4whd09OjR4tebb76Z9pBqxsjIiObPn6+NGze6/vzRRx/Vr371Kz3++ON6++23de6552rZsmX65JNPLI+0Nvg935K0fPnysuP96aeftjjC2rFr1y719PRoz549euWVV3TmzBktXbpUIyMjxfs89NBDevHFF/Xss89q165dOnLkiG699dYUR51fQZ5vSbr//vvLju9HH300pREH5GTIdddd5/T09BS///TTT52Ojg6nr68vxVHVpvXr1zvz589Pexh1QZKzbdu24vdjY2NOe3u78/Of/7x424kTJ5ympibn6aefTmGEtaXy+XYcx1m9erVzyy23pDKeWvfBBx84kpxdu3Y5jvPZsXzWWWc5zz77bPE+f//73x1Jzu7du9MaZs2ofL4dx3G++tWvOt/5znfSG1QEmal8nD59Wnv37tWSJUuKt02YMEFLlizR7t27UxxZ7Xr33XfV0dGhSy+9VHfddZcOHz6c9pDqwqFDhzQ4OFh2rLe0tKi7u5tjPUE7d+7U9OnTNWfOHD3wwAM6fvx42kOqCUNDQ5Kk1tZWSdLevXt15syZsuP7yiuv1MyZMzm+Dah8vgueeuopTZs2TXPnztW6dev00UcfpTG8wFK/qm3Bv//9b3366afjdkFta2vTP/7xj5RGVbu6u7u1ZcsWzZkzR0ePHtWGDRv0la98RQcOHFBzc3Paw6tpg4ODkuR6rBd+BrOWL1+uW2+9VV1dXRoYGNAPfvADrVixQrt379bEiRPTHl5ujY2Nae3atbrhhhs0d+5cSZ8d342NjTr//PPL7svxHZ/b8y1Jd955p2bNmqWOjg7t379f3//+99Xf36/nnnsuxdF6y0z4gF0rVqwo/nvevHnq7u7WrFmz9Kc//Un33XdfiiMDzLv99tuL/77qqqs0b948zZ49Wzt37tTixYtTHFm+9fT06MCBA/SLWVLt+f7GN75R/PdVV12lGTNmaPHixRoYGNDs2bNtDzOQzEy7TJs2TRMnThzXEX3s2DG1t7enNKr6cf755+uKK67QwYMH0x5KzSsczxzr6bn00ks1bdo0jvcY1qxZo5deekmvv/66Lr744uLt7e3tOn36tE6cOFF2f47veKo93266u7slKdPHd2bCR2Njo66++mrt2LGjeNvY2Jh27NihBQsWpDiy+nDq1CkNDAxoxowZaQ+l5nV1dam9vb3sWB8eHtbbb7/NsW7J+++/r+PHj3O8R+A4jtasWaNt27bptddeU1dXV9nPr776ap111lllx3d/f78OHz7M8R2B3/PtZt++fZKU6eM7U9Muvb29Wr16ta655hpdd911euyxxzQyMqJ777037aHVnO9+97u6+eabNWvWLB05ckTr16/XxIkTdccdd6Q9tJpw6tSpsk8dhw4d0r59+9Ta2qqZM2dq7dq1+ulPf6rLL79cXV1deuSRR9TR0aGVK1emN+gc83q+W1tbtWHDBq1atUrt7e0aGBjQww8/rMsuu0zLli1LcdT51NPTo61bt+qFF15Qc3NzsY+jpaVFkydPVktLi+677z719vaqtbVVU6ZM0YMPPqgFCxboS1/6Usqjzx+/53tgYEBbt27VTTfdpAsuuED79+/XQw89pIULF2revHkpj95D2sttKv361792Zs6c6TQ2NjrXXXeds2fPnrSHVJNuu+02Z8aMGU5jY6Nz0UUXObfddptz8ODBtIdVM15//XVH0riv1atXO47z2XLbRx55xGlra3OampqcxYsXO/39/ekOOse8nu+PPvrIWbp0qXPhhRc6Z511ljNr1izn/vvvdwYHB9Medi65Pc+SnM2bNxfv8/HHHzvf/va3nalTpzrnnHOO8/Wvf905evRoeoPOMb/n+/Dhw87ChQud1tZWp6mpybnsssuc733ve87Q0FC6A/fR4DiOYzPsAACA+paZng8AAFAfCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACs+n+3vv8qxzeMcwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Part 1\n", + "from keras.datasets import mnist\n", + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.neighbors import KNeighborsClassifier\n", + "\n", + "df = mnist.load_data('minst.db')\n", + "train,test = df\n", + "X_train, y_train = train\n", + "X_test, y_test = test\n", + "\n", + "np.set_printoptions(edgeitems=30, linewidth=100000)\n", + "for i in range(5): \n", + " print(y_test[i],'\\n') # Print the label\n", + " print(X_test[i],'\\n') # Print the matrix of values\n", + " plt.contourf(np.rot90(X_test[i].transpose())) # Make a contour plot of the matrix values\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(60000, 28, 28)\n", + "(10000, 28, 28)\n", + "(60000,)\n", + "(10000,)\n" + ] + } + ], + "source": [ + "\"\"\"\n", + "What is the shape of X_train and X_test? What is the shape of X_train[i] and X_test[i] for each index i? What is the shape of y_train and y_test?\n", + "\n", + "A. As we can see, the size of our training is 60,000 vectors of size 28 x 28, and our testing is 10,000 vectors of size 28 x 28. \n", + "\"\"\"\n", + "print(X_train.shape)\n", + "print(X_test.shape)\n", + "print(y_train.shape)\n", + "print(y_test.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "Part 3\n", + "\"\"\"\n", + "\n", + "Z_train = []\n", + "\n", + "for i in range(10000):\n", + " row = X_train[i].reshape((1,784))\n", + " Z_train.append(row[0]) \n", + "Z_train = pd.DataFrame(Z_train)\n", + "Z_train.to_csv('./data/Z_train.csv')\n", + "\n", + "Z_test = []\n", + "\n", + "for i in range(len(y_test)):\n", + " row = X_test[i].reshape((1,784)) \n", + " Z_test.append(row[0]) \n", + "Z_test = pd.DataFrame(Z_test)\n", + "Z_test.to_csv('./data/Z_test.csv')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "Part 4\n", + "\"\"\"\n", + "k_bar = 50\n", + "k_grid = np.arange(2,k_bar)\n", + "accuracy = np.zeros(k_bar) \n", + "\n", + "for k in range(k_bar):\n", + " knn = KNeighborsClassifier(n_neighbors=k+1)\n", + " predictor = knn.fit(Z_train.values,y_train) \n", + " #y_hat = predictor.predict(Z_test.values) \n", + " accuracy[k] = knn.score(Z_test.values,y_test) \n", + "\n", + "accuracy_max = np.max(accuracy)\n", + "max_index = np.where(accuracy==accuracy_max) \n", + "k_star = k_grid[max_index] \n", + "print(k_star)\n", + "\n", + "plt.plot(np.arange(0,k_bar),accuracy) \n", + "plt.xlabel(\"k\")\n", + "plt.title(\"optimal k:\"+str(k_star))\n", + "plt.ylabel('Accuracy')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'Z_train' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[1;32mIn[4], line 5\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[0;32m 2\u001b[0m \u001b[38;5;124;03mPart 5\u001b[39;00m\n\u001b[0;32m 3\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[0;32m 4\u001b[0m knn \u001b[38;5;241m=\u001b[39m KNeighborsClassifier(n_neighbors\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m1\u001b[39m)\n\u001b[1;32m----> 5\u001b[0m predictor \u001b[38;5;241m=\u001b[39m knn\u001b[38;5;241m.\u001b[39mfit(\u001b[43mZ_train\u001b[49m\u001b[38;5;241m.\u001b[39mvalues,y_train) \n\u001b[0;32m 6\u001b[0m y_hat \u001b[38;5;241m=\u001b[39m predictor\u001b[38;5;241m.\u001b[39mpredict(Z_test\u001b[38;5;241m.\u001b[39mvalues) \n\u001b[0;32m 8\u001b[0m accuracy \u001b[38;5;241m=\u001b[39m knn\u001b[38;5;241m.\u001b[39mscore(Z_test\u001b[38;5;241m.\u001b[39mvalues,y_test) \n", + "\u001b[1;31mNameError\u001b[0m: name 'Z_train' is not defined" + ] + } + ], + "source": [ + "\"\"\"\n", + "Part 5\n", + "\"\"\"\n", + "knn = KNeighborsClassifier(n_neighbors=1)\n", + "predictor = knn.fit(Z_train.values,y_train) \n", + "y_hat = predictor.predict(Z_test.values) \n", + "\n", + "accuracy = knn.score(Z_test.values,y_test) \n", + "print('Accuracy: ', accuracy)\n", + "\n", + "pd.crosstab(y_test, y_hat)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Part 6.\n", + "\n", + "Part 7." + ] } ], "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, "language_info": { - "name": "python" + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.1" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/03_computer_vision/computer_vision_working.ipynb b/03_computer_vision/computer_vision_working.ipynb new file mode 100644 index 00000000..5b9fde87 --- /dev/null +++ b/03_computer_vision/computer_vision_working.ipynb @@ -0,0 +1,926 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "p-Kac5fyuREe" + }, + "source": [ + "## Computer Vision\n", + "\n", + "Let's do some very basic computer vision. We're going to import the MNIST handwritten digits data and $k$NN to predict values (i.e. \"see/read\").\n", + "\n", + "1. To load the data, run the following code in a chunk:\n", + "```\n", + "from keras.datasets import mnist\n", + "df = mnist.load_data('minst.db')\n", + "train,test = df\n", + "X_train, y_train = train\n", + "X_test, y_test = test\n", + "```\n", + "The `y_test` and `y_train` vectors, for each index `i`, tell you want number is written in the corresponding index in `X_train[i]` and `X_test[i]`. The value of `X_train[i]` and `X_test[i]`, however, is a 28$\\times$28 array whose entries contain values between 0 and 256. Each element of the matrix is essentially a \"pixel\" and the matrix encodes a representation of a number. To visualize this, run the following code to see the first ten numbers:\n", + "```\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "np.set_printoptions(edgeitems=30, linewidth=100000)\n", + "for i in range(5):\n", + " print(y_test[i],'\\n') # Print the label\n", + " print(X_test[i],'\\n') # Print the matrix of values\n", + " plt.contourf(np.rot90(X_test[i].transpose())) # Make a contour plot of the matrix values\n", + " plt.show()\n", + "```\n", + "OK, those are the data: Labels attached to handwritten digits encoded as a matrix.\n", + "\n", + "2. What is the shape of `X_train` and `X_test`? What is the shape of `X_train[i]` and `X_test[i]` for each index `i`? What is the shape of `y_train` and `y_test`?\n", + "3. Use Numpy's `.reshape()` method to covert the training and testing data from a matrix into an vector of features. So, `X_test[index].reshape((1,784))` will convert the $index$-th element of `X_test` into a $28\\times 28=784$-length row vector of values, rather than a matrix. Turn `X_train` into an $N \\times 784$ matrix $X$ that is suitable for scikit-learn's kNN classifier where $N$ is the number of observations and $784=28*28$ (you could use, for example, a `for` loop).\n", + "4. Use the reshaped `X_test` and `y_test` data to create a $k$-nearest neighbor classifier of digit. What is the optimal number of neighbors $k$? If you can't determine this, play around with different values of $k$ for your classifier.\n", + "5. For the optimal number of neighbors, how well does your predictor perform on the test set? Use a confusion matrix and compute accuracy.\n", + "6. For your confusion matrix, which mistakes are most likely? Do you find any interesting patterns?\n", + "7. So, this is how computers \"see.\" They convert an image into a matrix of values, that matrix becomes a vector in a dataset, and then we deploy ML tools on it as if it was any other kind of tabular data. To make sure you follow this, invent a way to represent a color photo in matrix form, and then describe how you could convert it into tabular data. (Hint: RGB color codes provide a method of encoding a numeric value that represents a color.)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "I69Ri7GvvNTX", + "outputId": "5c2a8147-dcf4-4fec-dcfc-c1ae1b99b58c" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz\n", + "\u001b[1m11490434/11490434\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 0us/step\n", + "7 \n", + "\n", + "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 84 185 159 151 60 36 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 222 254 254 254 254 241 198 198 198 198 198 198 198 198 170 52 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 67 114 72 114 163 227 254 225 254 254 254 250 229 254 254 140 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 17 66 14 67 67 67 59 21 236 254 106 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 253 209 18 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 233 255 83 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 129 254 238 44 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 59 249 254 62 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 133 254 187 5 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 205 248 58 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 126 254 182 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 75 251 240 57 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 19 221 254 166 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 3 203 254 219 35 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 38 254 254 77 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 31 224 254 115 1 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 133 254 254 52 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 61 242 254 254 52 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 121 254 254 219 40 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 121 254 207 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] \n", + "\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGdCAYAAACyzRGfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAsNUlEQVR4nO3df2xddf3H8Vf3o3VAe1kZ6w/oZhk6DGMzQVYHOiFr9sNkEZkJoCGDEBDsFkdVdAYYiyaNmJhFnOBfIISBkvAjYkRlui3owDCzLIvSsGbJwK1TF9ZuBTqg5/sH39bb03PvPT8+53N+PR9Jo7u9686utfe59/mcz6lzHMcRAACAJdOSPgAAAFAsxAcAALCK+AAAAFYRHwAAwCriAwAAWEV8AAAAq4gPAABgFfEBAACsmpH0AbiNjY3p6NGjamxsVF1dXdKHAwAAfHAcR6dOnVJ7e7umTas+20hdfBw9elQdHR1JHwYAAAjhzTff1IUXXlj1OamLj8bGRknS1S23aMa0+oSPBgAA+PHB2BntOv7IxPt4NamLj/FTLTOm1RMfAABkjJ8lEyw4BQAAVhEfAADAKuIDAABYRXwAAACriA8AAGAV8QEAAKwiPgAAgFXEBwAAsIr4AAAAVhEfAADAKuIDAABYRXwAAACriA8AAGAV8QEAAKwiPgAAgFXEBwAAsIr4AAAAVhEfAADAKuIDAABYRXwAAACrAsVHX1+frrjiCjU2Nmru3Lm69tpr1d/fP+k5V199terq6iZ93HHHHUYPGgAAZFeg+Ni9e7d6enr0yiuv6I9//KPef/99rVy5UiMjI5Oed9ttt+nYsWMTHw888IDRgwYAANk1I8iTX3zxxUm/fvTRRzV37lzt27dPy5cvn3j8rLPOUmtrq5kjBAAAuRJpzcfQ0JAkqbm5edLjTzzxhObMmaNFixZp8+bNeueddyp+jdHRUQ0PD0/6AAAA+RVo8lFubGxMmzZt0lVXXaVFixZNPP7Vr35V8+fPV3t7uw4cOKDvfve76u/v1zPPPOP5dfr6+rR169awhwEAADKmznEcJ8xvvPPOO/W73/1OL7/8si688MKKz/vTn/6kFStW6NChQ1qwYMGUz4+Ojmp0dHTi18PDw+ro6FB329c1Y1p9mEMDAACWfTB2Ri8d+4WGhobU1NRU9bmhJh8bNmzQCy+8oD179lQND0nq6uqSpIrx0dDQoIaGhjCHAQAAMihQfDiOo40bN+rZZ5/Vrl271NnZWfP37N+/X5LU1tYW6gABAEC+BIqPnp4e7dixQ88//7waGxs1ODgoSSqVSpo1a5YGBga0Y8cOffGLX9R5552nAwcO6K677tLy5cu1ePHiWP4CAAAgWwLFx0MPPSTpo43Eyj3yyCO6+eabVV9fr5deeknbtm3TyMiIOjo6tG7dOt1zzz3GDhgAAGRb4NMu1XR0dGj37t2RDggAAOQb93YBAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMCqGUkfAFDu3UUX+H7urIP/ivFIAABxIT6QmCChEcfvD4voAYBoiA9YkVQoxKH870KIAEBwxAeMixoaby+s93x8dv+ZSF83Du6/KzECALURHzAiruAI+hyTwsQOUxEAqI34QGRRwsN2UAQRdQJDiACAN+IDkYQJj1rBcWrB2JTHGgfSc1X4+PEHmYxwegYA/idQfPT19emZZ57R66+/rlmzZunKK6/Uj370Iy1cuHDiOe+9956+9a1v6amnntLo6KhWrVqln//852ppaTF+8EiO6ejwCo4gn/cSd7CU/32CnqJhKgKgyALFx+7du9XT06MrrrhCH3zwgb7//e9r5cqV+sc//qGzzz5bknTXXXfpt7/9rZ5++mmVSiVt2LBB1113nf7yl7/E8heAfUHCI8yUw5Q4vnaloAkzDRlHiAAomjrHcZywv/k///mP5s6dq927d2v58uUaGhrS+eefrx07dugrX/mKJOn111/Xpz71Ke3du1ef/exna37N4eFhlUoldbd9XTOmpXc9QFH5CY+owXFO59CUx04fLtX8c22qNVUxdWUOMQIg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WTGcPn1aAwMDamtrS/pQcq+zs1Otra2TvteHh4f16quv8r1uyVtvvaUTJ07w/R6C4zjasGGDnn32Wf3pT39SZ2fnpM9ffvnlmjlz5qTv7/7+fh05coTv7xBqvd5e9u/fL0mp/v5O1WmX3t5erV+/Xp/5zGe0dOlSbdu2TSMjI7rllluSPrTc+fa3v621a9dq/vz5Onr0qLZs2aLp06frxhtvTPrQcuH06dOT/tVx+PBh7d+/X83NzZo3b542bdqkH/7wh/rEJz6hzs5O3XvvvWpvb9e1116b3EFnWLXXu7m5WVu3btW6devU2tqqgYEB3X333br44ou1atWqBI86m3p6erRjxw49//zzamxsnFjHUSqVNGvWLJVKJd16663q7e1Vc3OzmpqatHHjRi1btkyf/exnEz767Kn1eg8MDGjHjh364he/qPPOO08HDhzQXXfdpeXLl2vx4sUJH30VSV9u4/bggw868+bNc+rr652lS5c6r7zyStKHlEvXX3+909bW5tTX1zsXXHCBc/311zuHDh1K+rBy489//rMjacrH+vXrHcf56HLbe++912lpaXEaGhqcFStWOP39/ckedIZVe73feecdZ+XKlc7555/vzJw505k/f75z2223OYODg0kfdiZ5vc6SnEceeWTiOe+++67zjW98w5k9e7Zz1llnOV/+8pedY8eOJXfQGVbr9T5y5IizfPlyp7m52WloaHAuvvhi5zvf+Y4zNDSU7IHXUOc4jmMzdgAAQLGlZs0HAAAoBuIDAABYRXwAAACriA8AAGAV8QEAAKwiPgAAgFXEBwAAsIr4AAAAVhEfAADAKuIDAABYRXwAAACriA8AAGDV/wGHSN1sCTxJNwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2 \n", + "\n", + "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 116 125 171 255 255 150 93 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 169 253 253 253 253 253 253 218 30 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 169 253 253 253 213 142 176 253 253 122 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 52 250 253 210 32 12 0 6 206 253 140 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 77 251 210 25 0 0 0 122 248 253 65 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 31 18 0 0 0 0 209 253 253 65 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 117 247 253 198 10 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 76 247 253 231 63 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 128 253 253 144 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 176 246 253 159 12 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 25 234 253 233 35 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 198 253 253 141 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 78 248 253 189 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 19 200 253 253 141 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 134 253 253 173 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 248 253 253 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 248 253 253 43 20 20 20 20 5 0 5 20 20 37 150 150 150 147 10 0]\n", + " [ 0 0 0 0 0 0 0 0 248 253 253 253 253 253 253 253 168 143 166 253 253 253 253 253 253 253 123 0]\n", + " [ 0 0 0 0 0 0 0 0 174 253 253 253 253 253 253 253 253 253 253 253 249 247 247 169 117 117 57 0]\n", + " [ 0 0 0 0 0 0 0 0 0 118 123 123 123 166 253 253 253 155 123 123 41 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] \n", + "\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1 \n", + "\n", + "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 38 254 109 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 87 252 82 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 135 241 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 45 244 150 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 84 254 63 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 202 223 11 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 254 216 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 95 254 195 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 140 254 77 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 57 237 205 8 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 124 255 165 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 171 254 81 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 24 232 215 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 120 254 159 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 151 254 142 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 228 254 66 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 61 251 254 66 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 141 254 205 3 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 10 215 254 121 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 5 198 176 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] \n", + "\n" + ] + }, + { + "data": { + "image/png": "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TZs2Dbl/X+d2t5cGAAA8dv78eSWTyZzPcT182LVhwwY1NTWlvj537pymTJmikydP5l08Ctfd3a3a2lqdOnVK5eXlQS8n9ni//cX77S/eb3+F7f02DEPnz59XTU1N3ue6Hj7Gjx+v4cOHq7OzM+3+zs5OVVVVDXl+IpFQIpEYcn8ymQzFm1ksysvLeb99xPvtL95vf/F++ytM77fVooHrA6elpaWaM2eO9u7dm7qvv79fe/fu1bx589x+OQAAEDGetF2ampq0cuVK3XjjjZo7d662bNminp4ePfzww168HAAAiBBPwse9996rb775Rs8++6w6Ojr005/+VHv27BkyhGomkUho48aNpq0YuI/321+83/7i/fYX77e/ovx+lxhW9sQAAAC4hGu7AAAAXxE+AACArwgfAADAV4QPAADgq9CFj61bt+rqq6/WqFGjVF9fr08//TToJcXSc889p5KSkrTbjBkzgl5WbOzfv1/Lli1TTU2NSkpKtHv37rTHDcPQs88+q+rqao0ePVoNDQ06fvx4MIuNgXzv96pVq4Z83pcsWRLMYiOuublZN910k8rKyjRx4kQtX75cra2tac+5ePGiGhsbNW7cOF111VVasWLFkIMnYY2V93vBggVDPt+PPvpoQCu2JlTh480331RTU5M2btyozz//XLNnz9bixYv19ddfB720WLr++ut15syZ1O3jjz8Oekmx0dPTo9mzZ2vr1q2mj2/evFkvvfSSXn75ZR06dEhXXnmlFi9erIsXL/q80njI935L0pIlS9I+76+//rqPK4yPlpYWNTY26uDBg3r//fd16dIlLVq0SD09PannrF+/Xu+++67eeusttbS06PTp07rnnnsCXHV0WXm/JWnNmjVpn+/NmzcHtGKLjBCZO3eu0djYmPr68uXLRk1NjdHc3BzgquJp48aNxuzZs4NeRlGQZOzatSv1dX9/v1FVVWX8/ve/T9137tw5I5FIGK+//noAK4yXzPfbMAxj5cqVxl133RXIeuLu66+/NiQZLS0thmH88FkeOXKk8dZbb6We869//cuQZBw4cCCoZcZG5vttGIbxs5/9zPjVr34V3KIcCE3lo6+vT4cPH1ZDQ0PqvmHDhqmhoUEHDhwIcGXxdfz4cdXU1Gjq1Kl68MEHdfLkyaCXVBTa29vV0dGR9llPJpOqr6/ns+6hffv2aeLEiZo+fboee+wxnT17NuglxUJXV5ckqaKiQpJ0+PBhXbp0Ke3zPWPGDE2ePJnPtwsy3+8Br732msaPH6+ZM2dqw4YN+v7774NYnmWBX9V2wLfffqvLly8POQW1srJSX3zxRUCriq/6+nrt2LFD06dP15kzZ7Rp0ybdfvvtOnbsmMrKyoJeXqx1dHRIkulnfeAxuGvJkiW65557VFdXp7a2Nv3mN7/R0qVLdeDAAQ0fPjzo5UVWf3+/1q1bp1tvvVUzZ86U9MPnu7S0VGPGjEl7Lp/vwpm935L0wAMPaMqUKaqpqdHRo0f11FNPqbW1VW+//XaAq80tNOED/lq6dGnqz7NmzVJ9fb2mTJmiv/3tb1q9enWAKwPcd99996X+fMMNN2jWrFmaNm2a9u3bp4ULFwa4smhrbGzUsWPHmBfzSbb3+5FHHkn9+YYbblB1dbUWLlyotrY2TZs2ze9lWhKatsv48eM1fPjwIRPRnZ2dqqqqCmhVxWPMmDG67rrrdOLEiaCXEnsDn2c+68GZOnWqxo8fz+e9AGvXrtV7772njz76SJMmTUrdX1VVpb6+Pp07dy7t+Xy+C5Pt/TZTX18vSaH+fIcmfJSWlmrOnDnau3dv6r7+/n7t3btX8+bNC3BlxeHChQtqa2tTdXV10EuJvbq6OlVVVaV91ru7u3Xo0CE+6z758ssvdfbsWT7vDhiGobVr12rXrl368MMPVVdXl/b4nDlzNHLkyLTPd2trq06ePMnn24F877eZI0eOSFKoP9+hars0NTVp5cqVuvHGGzV37lxt2bJFPT09evjhh4NeWuw88cQTWrZsmaZMmaLTp09r48aNGj58uO6///6glxYLFy5cSPu/jvb2dh05ckQVFRWaPHmy1q1bpxdeeEHXXnut6urq9Mwzz6impkbLly8PbtERluv9rqio0KZNm7RixQpVVVWpra1NTz75pK655hotXrw4wFVHU2Njo3bu3Kl33nlHZWVlqTmOZDKp0aNHK5lMavXq1WpqalJFRYXKy8v1+OOPa968ebr55psDXn305Hu/29ratHPnTt15550aN26cjh49qvXr12v+/PmaNWtWwKvPIejtNpn++Mc/GpMnTzZKS0uNuXPnGgcPHgx6SbF07733GtXV1UZpaanxox/9yLj33nuNEydOBL2s2Pjoo48MSUNuK1euNAzjh+22zzzzjFFZWWkkEglj4cKFRmtra7CLjrBc7/f3339vLFq0yJgwYYIxcuRIY8qUKcaaNWuMjo6OoJcdSWbvsyRj+/btqef85z//MX75y18aY8eONa644grj7rvvNs6cORPcoiMs3/t98uRJY/78+UZFRYWRSCSMa665xvj1r39tdHV1BbvwPEoMwzD8DDsAAKC4hWbmAwAAFAfCBwAA8BXhAwAA+IrwAQAAfEX4AAAAviJ8AAAAXxE+AACArwgfAADAV4QPAADgK8IHAADwFeEDAAD4ivABAAB89X+KvJTiYw8uqwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 \n", + "\n", + "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 11 150 253 202 31 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 37 251 251 253 107 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 21 197 251 251 253 107 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 110 190 251 251 251 253 169 109 62 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 253 251 251 251 251 253 251 251 220 51 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 182 255 253 253 253 253 234 222 253 253 253 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 63 221 253 251 251 251 147 77 62 128 251 251 105 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 32 231 251 253 251 220 137 10 0 0 31 230 251 243 113 5 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 37 251 251 253 188 20 0 0 0 0 0 109 251 253 251 35 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 37 251 251 201 30 0 0 0 0 0 0 31 200 253 251 35 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 37 253 253 0 0 0 0 0 0 0 0 32 202 255 253 164 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 140 251 251 0 0 0 0 0 0 0 0 109 251 253 251 35 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 217 251 251 0 0 0 0 0 0 21 63 231 251 253 230 30 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 217 251 251 0 0 0 0 0 0 144 251 251 251 221 61 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 217 251 251 0 0 0 0 0 182 221 251 251 251 180 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 218 253 253 73 73 228 253 253 255 253 253 253 253 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 113 251 251 253 251 251 251 251 253 251 251 251 147 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 31 230 251 253 251 251 251 251 253 230 189 35 10 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 62 142 253 251 251 251 251 253 107 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 72 174 251 173 71 72 30 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] \n", + "\n" + ] + }, + { + "data": { + "image/png": "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g9kqurq6eLxzxOOdLx7vfPF456tMj7fp0MD6htP29nYtXrxY27dvb75vfHxc27dv19KlS21/OgAAUDGZLLts2rRJ69ev12c+8xnddNNNevzxxzU6Oqr77rsvi08HAAAqJJP4uPPOO/X73/9ejz76qI4fP65Pf/rTeumllyZtQvXT0dGhLVu2+C7FwD4e73zxeOeLxztfPN75qvLj3eaYnBMDAABgCfd2AQAAuSI+AABArogPAACQK+IDAADkqnTx8cQTT+gTn/iELrroIi1ZskS//vWviz6kWvrOd76jtra2CW/XXntt0YdVG6+99prWrFmjvr4+tbW16fnnn5/w547j6NFHH1Vvb6+mTZum5cuX6+233y7mYGsg6vG+9957Jz3fV61aVczBVtzg4KBuvPFGdXZ2atasWVq7dq2GhoYmfMwHH3yggYEBXXbZZbrkkku0bt26SReehBmTx/vWW2+d9Pz+2te+VtARmylVfPzsZz/Tpk2btGXLFv32t7/VokWLtHLlSr377rtFH1otfepTn9KxY8eab6+//nrRh1Qbo6OjWrRokZ544gnfP3/sscf0gx/8QD/60Y/05ptv6k/+5E+0cuVKffDBBzkfaT1EPd6StGrVqgnP92eeeSbHI6yPnTt3amBgQLt379bLL7+s8+fPa8WKFRodHW1+zMMPP6xf/OIXevbZZ7Vz504dPXpUd9xxR4FHXV0mj7ck3X///ROe34899lhBR2zIKZGbbrrJGRgYaP77hx9+6PT19TmDg4MFHlU9bdmyxVm0aFHRh9ESJDnPPfdc89/Hx8ednp4e5x//8R+b7zt9+rTT0dHhPPPMMwUcYb14H2/HcZz169c7t99+eyHHU3fvvvuuI8nZuXOn4zgfPZcvvPBC59lnn21+zP/8z/84kpxdu3YVdZi14X28Hcdx/vzP/9z527/92+IOKoHSTD7OnTunPXv2aPny5c33TZkyRcuXL9euXbsKPLL6evvtt9XX16errrpKX/7yl3X48OGiD6klHDp0SMePH5/wXO/u7taSJUt4rmdox44dmjVrlhYsWKAHHnhAJ0+eLPqQamF4eFiSNGPGDEnSnj17dP78+QnP72uvvVZz587l+W2B9/Fu+OlPf6qZM2dq4cKF2rx5s957770iDs9Y4Xe1bfjDH/6gDz/8cNJVUGfPnq233nqroKOqryVLluipp57SggULdOzYMW3dulWf//zntX//fnV2dhZ9eLV2/PhxSfJ9rjf+DHatWrVKd9xxh/r7+3Xw4EH9/d//vVavXq1du3Zp6tSpRR9eZY2Pj2vjxo265ZZbtHDhQkkfPb/b29t16aWXTvhYnt/p+T3ekvSlL31J8+bNU19fn/bt26dvfetbGhoa0s9//vMCjzZcaeID+Vq9enXzn6+//notWbJE8+bN07/9279pw4YNBR4ZYN9dd93V/OfrrrtO119/vebPn68dO3botttuK/DIqm1gYED79+9nv1hOgh7vr3zlK81/vu6669Tb26vbbrtNBw8e1Pz58/M+TCOlWXaZOXOmpk6dOmlH9IkTJ9TT01PQUbWOSy+9VNdcc40OHDhQ9KHUXuP5zHO9OFdddZVmzpzJ8z2FBx98UC+++KJeffVVXXnllc339/T06Ny5czp9+vSEj+f5nU7Q4+1nyZIlklTq53dp4qO9vV2LFy/W9u3bm+8bHx/X9u3btXTp0gKPrDWcPXtWBw8eVG9vb9GHUnv9/f3q6emZ8FwfGRnRm2++yXM9J++8845OnjzJ8z0Bx3H04IMP6rnnntOvfvUr9ff3T/jzxYsX68ILL5zw/B4aGtLhw4d5ficQ9Xj72bt3rySV+vldqmWXTZs2af369frMZz6jm266SY8//rhGR0d13333FX1otfP1r39da9as0bx583T06FFt2bJFU6dO1d133130odXC2bNnJ/zWcejQIe3du1czZszQ3LlztXHjRn3ve9/TJz/5SfX39+uRRx5RX1+f1q5dW9xBV1jY4z1jxgxt3bpV69atU09Pjw4ePKhvfvObuvrqq7Vy5coCj7qaBgYGtG3bNr3wwgvq7Oxs7uPo7u7WtGnT1N3drQ0bNmjTpk2aMWOGurq69NBDD2np0qX67Gc/W/DRV0/U433w4EFt27ZNX/jCF3TZZZdp3759evjhh7Vs2TJdf/31BR99iKJPt/H6p3/6J2fu3LlOe3u7c9NNNzm7d+8u+pBq6c4773R6e3ud9vZ254orrnDuvPNO58CBA0UfVm28+uqrjqRJb+vXr3cc56PTbR955BFn9uzZTkdHh3Pbbbc5Q0NDxR50hYU93u+9956zYsUK5/LLL3cuvPBCZ968ec7999/vHD9+vOjDriS/x1mS8+STTzY/5v3333f+5m/+xpk+fbpz8cUXO3/5l3/pHDt2rLiDrrCox/vw4cPOsmXLnBkzZjgdHR3O1Vdf7XzjG99whoeHiz3wCG2O4zh5xg4AAGhtpdnzAQAAWgPxAQAAckV8AACAXBEfAAAgV8QHAADIFfEBAAByRXwAAIBcER8AACBXxAcAAMgV8QEAAHJFfAAAgFwRHwAAIFf/B/KoRxBk0eggAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "4 \n", + "\n", + "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 50 224 0 0 0 0 0 0 0 70 29 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 121 231 0 0 0 0 0 0 0 148 168 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 4 195 231 0 0 0 0 0 0 0 96 210 11 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 69 252 134 0 0 0 0 0 0 0 114 252 21 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 45 236 217 12 0 0 0 0 0 0 0 192 252 21 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 168 247 53 0 0 0 0 0 0 0 18 255 253 21 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 84 242 211 0 0 0 0 0 0 0 0 141 253 189 5 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 169 252 106 0 0 0 0 0 0 0 32 232 250 66 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 15 225 252 0 0 0 0 0 0 0 0 134 252 211 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 22 252 164 0 0 0 0 0 0 0 0 169 252 167 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 9 204 209 18 0 0 0 0 0 0 22 253 253 107 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 169 252 199 85 85 85 85 129 164 195 252 252 106 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 41 170 245 252 252 252 252 232 231 251 252 252 9 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 49 84 84 84 84 0 0 161 252 252 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 252 252 45 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 253 253 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 252 252 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 135 252 244 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 232 236 111 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 179 66 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + " [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]] \n", + "\n" + ] + }, + { + "data": { + "image/png": "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dXrsscc0MjKie++9N4mHAwAAOZJI+Ljtttv0r3/9Sz/60Y80ODioL37xi9q+ffu4JlQ3TU1NWr9+vetUDMzj+baL59sunm+7eL7tyvPz3eAEWRMDAABgCNd2AQAAVhE+AACAVYQPAABgFeEDAABYlbnwsXHjRl1yySU6++yz1d3drXfeeSftIdWkH//4x2poaCj7uvLKK9MeVs144403dPPNN6ujo0MNDQ16/vnny37uOI5+9KMfacaMGZo8ebKWLFmid999N53B1gC/5/uee+4Zd7wvX748ncHmXF9fn6699lo1Nzdr+vTpWrlypfr7+8vu88knn6inp0cXXHCBzjvvPK1atWrcxpMIJsjzvWjRonHH97e+9a2URhxMpsLHM888o97eXq1fv15/+9vfNH/+fC1btkwffPBB2kOrSV/4whd09OjR4tebb76Z9pBqxsjIiObPn6+NGze6/vzRRx/Vr371Kz3++ON6++23de6552rZsmX65JNPLI+0Nvg935K0fPnysuP96aeftjjC2rFr1y719PRoz549euWVV3TmzBktXbpUIyMjxfs89NBDevHFF/Xss89q165dOnLkiG699dYUR51fQZ5vSbr//vvLju9HH300pREH5GTIdddd5/T09BS///TTT52Ojg6nr68vxVHVpvXr1zvz589Pexh1QZKzbdu24vdjY2NOe3u78/Of/7x424kTJ5ympibn6aefTmGEtaXy+XYcx1m9erVzyy23pDKeWvfBBx84kpxdu3Y5jvPZsXzWWWc5zz77bPE+f//73x1Jzu7du9MaZs2ofL4dx3G++tWvOt/5znfSG1QEmal8nD59Wnv37tWSJUuKt02YMEFLlizR7t27UxxZ7Xr33XfV0dGhSy+9VHfddZcOHz6c9pDqwqFDhzQ4OFh2rLe0tKi7u5tjPUE7d+7U9OnTNWfOHD3wwAM6fvx42kOqCUNDQ5Kk1tZWSdLevXt15syZsuP7yiuv1MyZMzm+Dah8vgueeuopTZs2TXPnztW6dev00UcfpTG8wFK/qm3Bv//9b3366afjdkFta2vTP/7xj5RGVbu6u7u1ZcsWzZkzR0ePHtWGDRv0la98RQcOHFBzc3Paw6tpg4ODkuR6rBd+BrOWL1+uW2+9VV1dXRoYGNAPfvADrVixQrt379bEiRPTHl5ujY2Nae3atbrhhhs0d+5cSZ8d342NjTr//PPL7svxHZ/b8y1Jd955p2bNmqWOjg7t379f3//+99Xf36/nnnsuxdF6y0z4gF0rVqwo/nvevHnq7u7WrFmz9Kc//Un33XdfiiMDzLv99tuL/77qqqs0b948zZ49Wzt37tTixYtTHFm+9fT06MCBA/SLWVLt+f7GN75R/PdVV12lGTNmaPHixRoYGNDs2bNtDzOQzEy7TJs2TRMnThzXEX3s2DG1t7enNKr6cf755+uKK67QwYMH0x5KzSsczxzr6bn00ks1bdo0jvcY1qxZo5deekmvv/66Lr744uLt7e3tOn36tE6cOFF2f47veKo93266u7slKdPHd2bCR2Njo66++mrt2LGjeNvY2Jh27NihBQsWpDiy+nDq1CkNDAxoxowZaQ+l5nV1dam9vb3sWB8eHtbbb7/NsW7J+++/r+PHj3O8R+A4jtasWaNt27bptddeU1dXV9nPr776ap111lllx3d/f78OHz7M8R2B3/PtZt++fZKU6eM7U9Muvb29Wr16ta655hpdd911euyxxzQyMqJ777037aHVnO9+97u6+eabNWvWLB05ckTr16/XxIkTdccdd6Q9tJpw6tSpsk8dhw4d0r59+9Ta2qqZM2dq7dq1+ulPf6rLL79cXV1deuSRR9TR0aGVK1emN+gc83q+W1tbtWHDBq1atUrt7e0aGBjQww8/rMsuu0zLli1LcdT51NPTo61bt+qFF15Qc3NzsY+jpaVFkydPVktLi+677z719vaqtbVVU6ZM0YMPPqgFCxboS1/6Usqjzx+/53tgYEBbt27VTTfdpAsuuED79+/XQw89pIULF2revHkpj95D2sttKv361792Zs6c6TQ2NjrXXXeds2fPnrSHVJNuu+02Z8aMGU5jY6Nz0UUXObfddptz8ODBtIdVM15//XVH0riv1atXO47z2XLbRx55xGlra3OampqcxYsXO/39/ekOOse8nu+PPvrIWbp0qXPhhRc6Z511ljNr1izn/vvvdwYHB9Medi65Pc+SnM2bNxfv8/HHHzvf/va3nalTpzrnnHOO8/Wvf905evRoeoPOMb/n+/Dhw87ChQud1tZWp6mpybnsssuc733ve87Q0FC6A/fR4DiOYzPsAACA+paZng8AAFAfCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACs+n+3vv8qxzeMcwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Part 1\n", + "from keras.datasets import mnist\n", + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.neighbors import KNeighborsClassifier\n", + "\n", + "df = mnist.load_data('minst.db')\n", + "train,test = df\n", + "X_train, y_train = train\n", + "X_test, y_test = test\n", + "\n", + "np.set_printoptions(edgeitems=30, linewidth=100000)\n", + "for i in range(5):\n", + " print(y_test[i],'\\n') # Print the label\n", + " print(X_test[i],'\\n') # Print the matrix of values\n", + " plt.contourf(np.rot90(X_test[i].transpose())) # Make a contour plot of the matrix values\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "5-gCx0cfve9f", + "outputId": "03591524-0205-45ed-d03a-e02a78134a62" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(60000, 28, 28)\n", + "(10000, 28, 28)\n", + "(60000,)\n", + "(10000,)\n" + ] + } + ], + "source": [ + "\"\"\"\n", + "What is the shape of X_train and X_test? What is the shape of X_train[i] and X_test[i] for each index i? What is the shape of y_train and y_test?\n", + "\"\"\"\n", + "print(X_train.shape)\n", + "print(X_test.shape)\n", + "print(y_train.shape)\n", + "print(y_test.shape)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Question 2. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "4HnTNszHvi2-" + }, + "outputs": [], + "source": [ + "\"\"\"\n", + "Part 3\n", + "\"\"\"\n", + "\n", + "Z_train = []\n", + "\n", + "for i in range(60000):\n", + " row = X_train[i].reshape((1,784))\n", + " Z_train.append(row[0])\n", + "Z_train = pd.DataFrame(Z_train)\n", + "\n", + "Z_test = []\n", + "\n", + "for i in range(len(y_test)):\n", + " row = X_test[i].reshape((1,784))\n", + " Z_test.append(row[0])\n", + "Z_test = pd.DataFrame(Z_test)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 509 + }, + "id": "s99GtgpPwYm4", + "outputId": "56bb4720-0222-4dc2-d30a-e1462d509ed2" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[4]\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\"\"\"\n", + "Part 4\n", + "\"\"\"\n", + "k_bar = 50\n", + "k_grid = np.arange(2,k_bar)\n", + "accuracy = np.zeros(k_bar)\n", + "\n", + "for k in range(k_bar):\n", + " knn = KNeighborsClassifier(n_neighbors=k+1)\n", + " predictor = knn.fit(Z_train.values,y_train)\n", + " accuracy[k] = knn.score(Z_test.values,y_test)\n", + "\n", + "accuracy_max = np.max(accuracy)\n", + "max_index = np.where(accuracy==accuracy_max)\n", + "k_star = k_grid[max_index]\n", + "print(k_star)\n", + "\n", + "plt.plot(np.arange(0,k_bar),accuracy)\n", + "plt.xlabel(\"k\")\n", + "plt.title(\"optimal k:\"+str(k_star))\n", + "plt.ylabel('Accuracy')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Question 4. A k = 4 appears to give us the overall best accuracy." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 432 + }, + "id": "J4SX1a3U7YuR", + "outputId": "96718ce5-323e-43a0-d796-6917e2fdb3b7" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Accuracy: 0.9691\n" + ] + }, + { + "data": { + "application/vnd.google.colaboratory.intrinsic+json": { + "summary": "{\n \"name\": \"pd\",\n \"rows\": 10,\n \"fields\": [\n {\n \"column\": \"row_0\",\n \"properties\": {\n \"dtype\": \"uint8\",\n \"num_unique_values\": 10,\n \"samples\": [\n 8,\n 1,\n 5\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": 0,\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 306,\n \"min\": 0,\n \"max\": 973,\n \"num_unique_values\": 7,\n \"samples\": [\n 973,\n 0,\n 6\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": 1,\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 355,\n \"min\": 1,\n \"max\": 1129,\n \"num_unique_values\": 7,\n \"samples\": [\n 1,\n 1129,\n 14\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": 2,\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 313,\n \"min\": 0,\n \"max\": 992,\n \"num_unique_values\": 6,\n \"samples\": [\n 1,\n 3,\n 6\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": 3,\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 305,\n \"min\": 0,\n \"max\": 970,\n \"num_unique_values\": 7,\n \"samples\": [\n 0,\n 5,\n 14\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": 4,\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 297,\n \"min\": 0,\n \"max\": 944,\n \"num_unique_values\": 8,\n \"samples\": [\n 1,\n 4,\n 0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": 5,\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 270,\n \"min\": 0,\n \"max\": 860,\n \"num_unique_values\": 6,\n \"samples\": [\n 1,\n 0,\n 13\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": 6,\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 297,\n \"min\": 0,\n \"max\": 944,\n \"num_unique_values\": 6,\n \"samples\": [\n 3,\n 1,\n 944\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": 7,\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 312,\n \"min\": 0,\n \"max\": 992,\n \"num_unique_values\": 8,\n \"samples\": [\n 0,\n 992,\n 1\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": 8,\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 290,\n \"min\": 0,\n \"max\": 920,\n \"num_unique_values\": 6,\n \"samples\": [\n 0,\n 3,\n 920\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": 9,\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 304,\n \"min\": 0,\n \"max\": 967,\n \"num_unique_values\": 7,\n \"samples\": [\n 0,\n 3,\n 5\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}", + "type": "dataframe" + }, + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
col_00123456789
row_0
0973110013100
10112930111000
27699251021630
30129701190773
40700944035122
51101228605164
6420035944000
701462400992010
861314513349205
925161051111967
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "text/plain": [ + "col_0 0 1 2 3 4 5 6 7 8 9\n", + "row_0 \n", + "0 973 1 1 0 0 1 3 1 0 0\n", + "1 0 1129 3 0 1 1 1 0 0 0\n", + "2 7 6 992 5 1 0 2 16 3 0\n", + "3 0 1 2 970 1 19 0 7 7 3\n", + "4 0 7 0 0 944 0 3 5 1 22\n", + "5 1 1 0 12 2 860 5 1 6 4\n", + "6 4 2 0 0 3 5 944 0 0 0\n", + "7 0 14 6 2 4 0 0 992 0 10\n", + "8 6 1 3 14 5 13 3 4 920 5\n", + "9 2 5 1 6 10 5 1 11 1 967" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"\n", + "Part 5\n", + "\"\"\"\n", + "knn = KNeighborsClassifier(n_neighbors=1)\n", + "predictor = knn.fit(Z_train.values,y_train)\n", + "y_hat = predictor.predict(Z_test.values)\n", + "\n", + "accuracy = knn.score(Z_test.values,y_test)\n", + "print('Accuracy: ', accuracy)\n", + "\n", + "pd.crosstab(y_test, y_hat)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Question 5. It looks like after training our model we have a roughly 96.9% accuracy, which is pretty good I'd say.\n", + "\n", + "Question 6. The most common mistake made for the given data set was 4 being mistaken for 9, followed by 7 mistaken for 2, and 8 mistaken for 3. These all make reasonable sense, but I am surprised that 4 and 9 were the most common one to be mistaken for. I don't see any particular patterns, other than that the ones often confused are cases where if some part of the character was missing it would be quite similar. 3 and 8 for example; you can very easily make a 3 into an 8, or vice versa by erasing a small portion. For an ML model, this is understandable why it made a mistake. 7 and 1 also look very similar, just slightly slanted.\n", + "\n", + "Question 7. Take each pixel, and split it into a tuple of (R, G, B). To find the difference between two particular pixels, we can use some sort of Euclidean algorithm that compares R1 to R2, G1 to G2, and B1 to B2 to generate our \"difference\" between two pixels. Our matrix then would simply be our pixels as a matrix of tuples." + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.1" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/03_computer_vision/cv_notebook.ipynb b/03_computer_vision/cv_notebook.ipynb index a08cf338..e8817fe1 100644 --- a/03_computer_vision/cv_notebook.ipynb +++ b/03_computer_vision/cv_notebook.ipynb @@ -32,13 +32,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ + "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz\n", + "\u001b[1m11490434/11490434\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 0us/step\n", "7 \n", "\n", "[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", @@ -74,7 +76,7 @@ }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGdCAYAAACyzRGfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAsNUlEQVR4nO3df2xddf3H8Vf3o3VAe1kZ6w/oZhk6DGMzQVYHOiFr9sNkEZkJoCGDEBDsFkdVdAYYiyaNmJhFnOBfIISBkvAjYkRlui3owDCzLIvSsGbJwK1TF9ZuBTqg5/sH39bb03PvPT8+53N+PR9Jo7u9686utfe59/mcz6lzHMcRAACAJdOSPgAAAFAsxAcAALCK+AAAAFYRHwAAwCriAwAAWEV8AAAAq4gPAABgFfEBAACsmpH0AbiNjY3p6NGjamxsVF1dXdKHAwAAfHAcR6dOnVJ7e7umTas+20hdfBw9elQdHR1JHwYAAAjhzTff1IUXXlj1OamLj8bGRknS1S23aMa0+oSPBgAA+PHB2BntOv7IxPt4NamLj/FTLTOm1RMfAABkjJ8lEyw4BQAAVhEfAADAKuIDAABYRXwAAACriA8AAGAV8QEAAKwiPgAAgFXEBwAAsIr4AAAAVhEfAADAKuIDAABYRXwAAACriA8AAGAV8QEAAKwiPgAAgFXEBwAAsIr4AAAAVhEfAADAKuIDAABYRXwAAACrAsVHX1+frrjiCjU2Nmru3Lm69tpr1d/fP+k5V199terq6iZ93HHHHUYPGgAAZFeg+Ni9e7d6enr0yiuv6I9//KPef/99rVy5UiMjI5Oed9ttt+nYsWMTHw888IDRgwYAANk1I8iTX3zxxUm/fvTRRzV37lzt27dPy5cvn3j8rLPOUmtrq5kjBAAAuRJpzcfQ0JAkqbm5edLjTzzxhObMmaNFixZp8+bNeueddyp+jdHRUQ0PD0/6AAAA+RVo8lFubGxMmzZt0lVXXaVFixZNPP7Vr35V8+fPV3t7uw4cOKDvfve76u/v1zPPPOP5dfr6+rR169awhwEAADKmznEcJ8xvvPPOO/W73/1OL7/8si688MKKz/vTn/6kFStW6NChQ1qwYMGUz4+Ojmp0dHTi18PDw+ro6FB329c1Y1p9mEMDAACWfTB2Ri8d+4WGhobU1NRU9bmhJh8bNmzQCy+8oD179lQND0nq6uqSpIrx0dDQoIaGhjCHAQAAMihQfDiOo40bN+rZZ5/Vrl271NnZWfP37N+/X5LU1tYW6gABAEC+BIqPnp4e7dixQ88//7waGxs1ODgoSSqVSpo1a5YGBga0Y8cOffGLX9R5552nAwcO6K677tLy5cu1ePHiWP4CAAAgWwLFx0MPPSTpo43Eyj3yyCO6+eabVV9fr5deeknbtm3TyMiIOjo6tG7dOt1zzz3GDhgAAGRb4NMu1XR0dGj37t2RDggAAOQb93YBAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMCqGUkfAFDu3UUX+H7urIP/ivFIAABxIT6QmCChEcfvD4voAYBoiA9YkVQoxKH870KIAEBwxAeMixoaby+s93x8dv+ZSF83Du6/KzECALURHzAiruAI+hyTwsQOUxEAqI34QGRRwsN2UAQRdQJDiACAN+IDkYQJj1rBcWrB2JTHGgfSc1X4+PEHmYxwegYA/idQfPT19emZZ57R66+/rlmzZunKK6/Uj370Iy1cuHDiOe+9956+9a1v6amnntLo6KhWrVqln//852ppaTF+8EiO6ejwCo4gn/cSd7CU/32CnqJhKgKgyALFx+7du9XT06MrrrhCH3zwgb7//e9r5cqV+sc//qGzzz5bknTXXXfpt7/9rZ5++mmVSiVt2LBB1113nf7yl7/E8heAfUHCI8yUw5Q4vnaloAkzDRlHiAAomjrHcZywv/k///mP5s6dq927d2v58uUaGhrS+eefrx07dugrX/mKJOn111/Xpz71Ke3du1ef/exna37N4eFhlUoldbd9XTOmpXc9QFH5CY+owXFO59CUx04fLtX8c22qNVUxdWUOMQIg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WTGcPn1aAwMDamtrS/pQcq+zs1Otra2TvteHh4f16quv8r1uyVtvvaUTJ07w/R6C4zjasGGDnn32Wf3pT39SZ2fnpM9ffvnlmjlz5qTv7/7+fh05coTv7xBqvd5e9u/fL0mp/v5O1WmX3t5erV+/Xp/5zGe0dOlSbdu2TSMjI7rllluSPrTc+fa3v621a9dq/vz5Onr0qLZs2aLp06frxhtvTPrQcuH06dOT/tVx+PBh7d+/X83NzZo3b542bdqkH/7wh/rEJz6hzs5O3XvvvWpvb9e1116b3EFnWLXXu7m5WVu3btW6devU2tqqgYEB3X333br44ou1atWqBI86m3p6erRjxw49//zzamxsnFjHUSqVNGvWLJVKJd16663q7e1Vc3OzmpqatHHjRi1btkyf/exnEz767Kn1eg8MDGjHjh364he/qPPOO08HDhzQXXfdpeXLl2vx4sUJH30VSV9u4/bggw868+bNc+rr652lS5c6r7zyStKHlEvXX3+909bW5tTX1zsXXHCBc/311zuHDh1K+rBy489//rMjacrH+vXrHcf56HLbe++912lpaXEaGhqcFStWOP39/ckedIZVe73feecdZ+XKlc7555/vzJw505k/f75z2223OYODg0kfdiZ5vc6SnEceeWTiOe+++67zjW98w5k9e7Zz1llnOV/+8pedY8eOJXfQGVbr9T5y5IizfPlyp7m52WloaHAuvvhi5zvf+Y4zNDSU7IHXUOc4jmMzdgAAQLGlZs0HAAAoBuIDAABYRXwAAACriA8AAGAV8QEAAKwiPgAAgFXEBwAAsIr4AAAAVhEfAADAKuIDAABYRXwAAACriA8AAGDV/wGHSN1sCTxJNwAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGdCAYAAACyzRGfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAsNUlEQVR4nO3df2xddf3H8Vf3o3VAe1kZ6w/oZhk6DGMzQVYHOiFr9sNkEZkJoCGDEBDsFkdVdAYYiyaNmJhFnOBfIISBkvAjYkRlui3owDCzLIvSsGbJwK1TF9ZuBTqg5/sH39bb03PvPT8+53N+PR9Jo7u9686utfe59/mcz6lzHMcRAACAJdOSPgAAAFAsxAcAALCK+AAAAFYRHwAAwCriAwAAWEV8AAAAq4gPAABgFfEBAACsmpH0AbiNjY3p6NGjamxsVF1dXdKHAwAAfHAcR6dOnVJ7e7umTas+20hdfBw9elQdHR1JHwYAAAjhzTff1IUXXlj1OamLj8bGRknS1S23aMa0+oSPBgAA+PHB2BntOv7IxPt4NamLj/FTLTOm1RMfAABkjJ8lEyw4BQAAVhEfAADAKuIDAABYRXwAAACriA8AAGAV8QEAAKwiPgAAgFXEBwAAsIr4AAAAVhEfAADAKuIDAABYRXwAAACriA8AAGAV8QEAAKwiPgAAgFXEBwAAsIr4AAAAVhEfAADAKuIDAABYRXwAAACrAsVHX1+frrjiCjU2Nmru3Lm69tpr1d/fP+k5V199terq6iZ93HHHHUYPGgAAZFeg+Ni9e7d6enr0yiuv6I9//KPef/99rVy5UiMjI5Oed9ttt+nYsWMTHw888IDRgwYAANk1I8iTX3zxxUm/fvTRRzV37lzt27dPy5cvn3j8rLPOUmtrq5kjBAAAuRJpzcfQ0JAkqbm5edLjTzzxhObMmaNFixZp8+bNeueddyp+jdHRUQ0PD0/6AAAA+RVo8lFubGxMmzZt0lVXXaVFixZNPP7Vr35V8+fPV3t7uw4cOKDvfve76u/v1zPPPOP5dfr6+rR169awhwEAADKmznEcJ8xvvPPOO/W73/1OL7/8si688MKKz/vTn/6kFStW6NChQ1qwYMGUz4+Ojmp0dHTi18PDw+ro6FB329c1Y1p9mEMDAACWfTB2Ri8d+4WGhobU1NRU9bmhJh8bNmzQCy+8oD179lQND0nq6uqSpIrx0dDQoIaGhjCHAQAAMihQfDiOo40bN+rZZ5/Vrl271NnZWfP37N+/X5LU1tYW6gABAEC+BIqPnp4e7dixQ88//7waGxs1ODgoSSqVSpo1a5YGBga0Y8cOffGLX9R5552nAwcO6K677tLy5cu1ePHiWP4CAAAgWwLFx0MPPSTpo43Eyj3yyCO6+eabVV9fr5deeknbtm3TyMiIOjo6tG7dOt1zzz3GDhgAAGRb4NMu1XR0dGj37t2RDggAAOQb93YBAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMAq4gMAAFhFfAAAAKuIDwAAYBXxAQAArCI+AACAVcQHAACwivgAAABWER8AAMCqGUkfAFDu3UUX+H7urIP/ivFIAABxIT6QmCChEcfvD4voAYBoiA9YkVQoxKH870KIAEBwxAeMixoaby+s93x8dv+ZSF83Du6/KzECALURHzAiruAI+hyTwsQOUxEAqI34QGRRwsN2UAQRdQJDiACAN+IDkYQJj1rBcWrB2JTHGgfSc1X4+PEHmYxwegYA/idQfPT19emZZ57R66+/rlmzZunKK6/Uj370Iy1cuHDiOe+9956+9a1v6amnntLo6KhWrVqln//852ppaTF+8EiO6ejwCo4gn/cSd7CU/32CnqJhKgKgyALFx+7du9XT06MrrrhCH3zwgb7//e9r5cqV+sc//qGzzz5bknTXXXfpt7/9rZ5++mmVSiVt2LBB1113nf7yl7/E8heAfUHCI8yUw5Q4vnaloAkzDRlHiAAomjrHcZywv/k///mP5s6dq927d2v58uUaGhrS+eefrx07dugrX/mKJOn111/Xpz71Ke3du1ef/exna37N4eFhlUoldbd9XTOmpXc9QFH5CY+owXFO59CUx04fLtX8c22qNVUxdWUOMQIg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WTGcPn1aAwMDamtrS/pQcq+zs1Otra2TvteHh4f16quv8r1uyVtvvaUTJ07w/R6C4zjasGGDnn32Wf3pT39SZ2fnpM9ffvnlmjlz5qTv7/7+fh05coTv7xBqvd5e9u/fL0mp/v5O1WmX3t5erV+/Xp/5zGe0dOlSbdu2TSMjI7rllluSPrTc+fa3v621a9dq/vz5Onr0qLZs2aLp06frxhtvTPrQcuH06dOT/tVx+PBh7d+/X83NzZo3b542bdqkH/7wh/rEJz6hzs5O3XvvvWpvb9e1116b3EFnWLXXu7m5WVu3btW6devU2tqqgYEB3X333br44ou1atWqBI86m3p6erRjxw49//zzamxsnFjHUSqVNGvWLJVKJd16663q7e1Vc3OzmpqatHHjRi1btkyf/exnEz767Kn1eg8MDGjHjh364he/qPPOO08HDhzQXXfdpeXLl2vx4sUJH30VSV9u4/bggw868+bNc+rr652lS5c6r7zyStKHlEvXX3+909bW5tTX1zsXXHCBc/311zuHDh1K+rBy489//rMjacrH+vXrHcf56HLbe++912lpaXEaGhqcFStWOP39/ckedIZVe73feecdZ+XKlc7555/vzJw505k/f75z2223OYODg0kfdiZ5vc6SnEceeWTiOe+++67zjW98w5k9e7Zz1llnOV/+8pedY8eOJXfQGVbr9T5y5IizfPlyp7m52WloaHAuvvhi5zvf+Y4zNDSU7IHXUOc4jmMzdgAAQLGlZs0HAAAoBuIDAABYRXwAAACriA8AAGAV8QEAAKwiPgAAgFXEBwAAsIr4AAAAVhEfAADAKuIDAABYRXwAAACriA8AAGDV/wGHSN1sCTxJNwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -121,7 +123,7 @@ }, { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
" ] @@ -168,7 +170,7 @@ }, { "data": { - "image/png": "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TZs2Dbl/X+d2t5cGAAA8dv78eSWTyZzPcT182LVhwwY1NTWlvj537pymTJmikydP5l08Ctfd3a3a2lqdOnVK5eXlQS8n9ni//cX77S/eb3+F7f02DEPnz59XTU1N3ue6Hj7Gjx+v4cOHq7OzM+3+zs5OVVVVDXl+IpFQIpEYcn8ymQzFm1ksysvLeb99xPvtL95vf/F++ytM77fVooHrA6elpaWaM2eO9u7dm7qvv79fe/fu1bx589x+OQAAEDGetF2ampq0cuVK3XjjjZo7d662bNminp4ePfzww168HAAAiBBPwse9996rb775Rs8++6w6Ojr005/+VHv27BkyhGomkUho48aNpq0YuI/321+83/7i/fYX77e/ovx+lxhW9sQAAAC4hGu7AAAAXxE+AACArwgfAADAV4QPAADgq9CFj61bt+rqq6/WqFGjVF9fr08//TToJcXSc889p5KSkrTbjBkzgl5WbOzfv1/Lli1TTU2NSkpKtHv37rTHDcPQs88+q+rqao0ePVoNDQ06fvx4MIuNgXzv96pVq4Z83pcsWRLMYiOuublZN910k8rKyjRx4kQtX75cra2tac+5ePGiGhsbNW7cOF111VVasWLFkIMnYY2V93vBggVDPt+PPvpoQCu2JlTh480331RTU5M2btyozz//XLNnz9bixYv19ddfB720WLr++ut15syZ1O3jjz8Oekmx0dPTo9mzZ2vr1q2mj2/evFkvvfSSXn75ZR06dEhXXnmlFi9erIsXL/q80njI935L0pIlS9I+76+//rqPK4yPlpYWNTY26uDBg3r//fd16dIlLVq0SD09PannrF+/Xu+++67eeusttbS06PTp07rnnnsCXHV0WXm/JWnNmjVpn+/NmzcHtGKLjBCZO3eu0djYmPr68uXLRk1NjdHc3BzgquJp48aNxuzZs4NeRlGQZOzatSv1dX9/v1FVVWX8/ve/T9137tw5I5FIGK+//noAK4yXzPfbMAxj5cqVxl133RXIeuLu66+/NiQZLS0thmH88FkeOXKk8dZbb6We869//cuQZBw4cCCoZcZG5vttGIbxs5/9zPjVr34V3KIcCE3lo6+vT4cPH1ZDQ0PqvmHDhqmhoUEHDhwIcGXxdfz4cdXU1Gjq1Kl68MEHdfLkyaCXVBTa29vV0dGR9llPJpOqr6/ns+6hffv2aeLEiZo+fboee+wxnT17NuglxUJXV5ckqaKiQpJ0+PBhXbp0Ke3zPWPGDE2ePJnPtwsy3+8Br732msaPH6+ZM2dqw4YN+v7774NYnmWBX9V2wLfffqvLly8POQW1srJSX3zxRUCriq/6+nrt2LFD06dP15kzZ7Rp0ybdfvvtOnbsmMrKyoJeXqx1dHRIkulnfeAxuGvJkiW65557VFdXp7a2Nv3mN7/R0qVLdeDAAQ0fPjzo5UVWf3+/1q1bp1tvvVUzZ86U9MPnu7S0VGPGjEl7Lp/vwpm935L0wAMPaMqUKaqpqdHRo0f11FNPqbW1VW+//XaAq80tNOED/lq6dGnqz7NmzVJ9fb2mTJmiv/3tb1q9enWAKwPcd99996X+fMMNN2jWrFmaNm2a9u3bp4ULFwa4smhrbGzUsWPHmBfzSbb3+5FHHkn9+YYbblB1dbUWLlyotrY2TZs2ze9lWhKatsv48eM1fPjwIRPRnZ2dqqqqCmhVxWPMmDG67rrrdOLEiaCXEnsDn2c+68GZOnWqxo8fz+e9AGvXrtV7772njz76SJMmTUrdX1VVpb6+Pp07dy7t+Xy+C5Pt/TZTX18vSaH+fIcmfJSWlmrOnDnau3dv6r7+/n7t3btX8+bNC3BlxeHChQtqa2tTdXV10EuJvbq6OlVVVaV91ru7u3Xo0CE+6z758ssvdfbsWT7vDhiGobVr12rXrl368MMPVVdXl/b4nDlzNHLkyLTPd2trq06ePMnn24F877eZI0eOSFKoP9+hars0NTVp5cqVuvHGGzV37lxt2bJFPT09evjhh4NeWuw88cQTWrZsmaZMmaLTp09r48aNGj58uO6///6glxYLFy5cSPu/jvb2dh05ckQVFRWaPHmy1q1bpxdeeEHXXnut6urq9Mwzz6impkbLly8PbtERluv9rqio0KZNm7RixQpVVVWpra1NTz75pK655hotXrw4wFVHU2Njo3bu3Kl33nlHZWVlqTmOZDKp0aNHK5lMavXq1WpqalJFRYXKy8v1+OOPa968ebr55psDXn305Hu/29ratHPnTt15550aN26cjh49qvXr12v+/PmaNWtWwKvPIejtNpn++Mc/GpMnTzZKS0uNuXPnGgcPHgx6SbF07733GtXV1UZpaanxox/9yLj33nuNEydOBL2s2Pjoo48MSUNuK1euNAzjh+22zzzzjFFZWWkkEglj4cKFRmtra7CLjrBc7/f3339vLFq0yJgwYYIxcuRIY8qUKcaaNWuMjo6OoJcdSWbvsyRj+/btqef85z//MX75y18aY8eONa644grj7rvvNs6cORPcoiMs3/t98uRJY/78+UZFRYWRSCSMa665xvj1r39tdHV1BbvwPEoMwzD8DDsAAKC4hWbmAwAAFAfCBwAA8BXhAwAA+IrwAQAAfEX4AAAAviJ8AAAAXxE+AACArwgfAADAV4QPAADgK8IHAADwFeEDAAD4ivABAAB89X+KvJTiYw8uqwAAAABJRU5ErkJggg==", + "image/png": "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TZs2Dbl/X+d2t5cGAAA8dv78eSWTyZzPcT182LVhwwY1NTWlvj537pymTJmikydP5l08Ctfd3a3a2lqdOnVK5eXlQS8n9ni//cX77S/eb3+F7f02DEPnz59XTU1N3ue6Hj7Gjx+v4cOHq7OzM+3+zs5OVVVVDXl+IpFQIpEYcn8ymQzFm1ksysvLeb99xPvtL95vf/F++ytM77fVooHrA6elpaWaM2eO9u7dm7qvv79fe/fu1bx589x+OQAAEDGetF2ampq0cuVK3XjjjZo7d662bNminp4ePfzww168HAAAiBBPwse9996rb775Rs8++6w6Ojr005/+VHv27BkyhGomkUho48aNpq0YuI/321+83/7i/fYX77e/ovx+lxhW9sQAAAC4hGu7AAAAXxE+AACArwgfAADAV4QPAADgq9CFj61bt+rqq6/WqFGjVF9fr08//TToJcXSc889p5KSkrTbjBkzgl5WbOzfv1/Lli1TTU2NSkpKtHv37rTHDcPQs88+q+rqao0ePVoNDQ06fvx4MIuNgXzv96pVq4Z83pcsWRLMYiOuublZN910k8rKyjRx4kQtX75cra2tac+5ePGiGhsbNW7cOF111VVasWLFkIMnYY2V93vBggVDPt+PPvpoQCu2JlTh480331RTU5M2btyozz//XLNnz9bixYv19ddfB720WLr++ut15syZ1O3jjz8Oekmx0dPTo9mzZ2vr1q2mj2/evFkvvfSSXn75ZR06dEhXXnmlFi9erIsXL/q80njI935L0pIlS9I+76+//rqPK4yPlpYWNTY26uDBg3r//fd16dIlLVq0SD09PannrF+/Xu+++67eeusttbS06PTp07rnnnsCXHV0WXm/JWnNmjVpn+/NmzcHtGKLjBCZO3eu0djYmPr68uXLRk1NjdHc3BzgquJp48aNxuzZs4NeRlGQZOzatSv1dX9/v1FVVWX8/ve/T9137tw5I5FIGK+//noAK4yXzPfbMAxj5cqVxl133RXIeuLu66+/NiQZLS0thmH88FkeOXKk8dZbb6We869//cuQZBw4cCCoZcZG5vttGIbxs5/9zPjVr34V3KIcCE3lo6+vT4cPH1ZDQ0PqvmHDhqmhoUEHDhwIcGXxdfz4cdXU1Gjq1Kl68MEHdfLkyaCXVBTa29vV0dGR9llPJpOqr6/ns+6hffv2aeLEiZo+fboee+wxnT17NuglxUJXV5ckqaKiQpJ0+PBhXbp0Ke3zPWPGDE2ePJnPtwsy3+8Br732msaPH6+ZM2dqw4YN+v7774NYnmWBX9V2wLfffqvLly8POQW1srJSX3zxRUCriq/6+nrt2LFD06dP15kzZ7Rp0ybdfvvtOnbsmMrKyoJeXqx1dHRIkulnfeAxuGvJkiW65557VFdXp7a2Nv3mN7/R0qVLdeDAAQ0fPjzo5UVWf3+/1q1bp1tvvVUzZ86U9MPnu7S0VGPGjEl7Lp/vwpm935L0wAMPaMqUKaqpqdHRo0f11FNPqbW1VW+//XaAq80tNOED/lq6dGnqz7NmzVJ9fb2mTJmiv/3tb1q9enWAKwPcd99996X+fMMNN2jWrFmaNm2a9u3bp4ULFwa4smhrbGzUsWPHmBfzSbb3+5FHHkn9+YYbblB1dbUWLlyotrY2TZs2ze9lWhKatsv48eM1fPjwIRPRnZ2dqqqqCmhVxWPMmDG67rrrdOLEiaCXEnsDn2c+68GZOnWqxo8fz+e9AGvXrtV7772njz76SJMmTUrdX1VVpb6+Pp07dy7t+Xy+C5Pt/TZTX18vSaH+fIcmfJSWlmrOnDnau3dv6r7+/n7t3btX8+bNC3BlxeHChQtqa2tTdXV10EuJvbq6OlVVVaV91ru7u3Xo0CE+6z758ssvdfbsWT7vDhiGobVr12rXrl368MMPVVdXl/b4nDlzNHLkyLTPd2trq06ePMnn24F877eZI0eOSFKoP9+hars0NTVp5cqVuvHGGzV37lxt2bJFPT09evjhh4NeWuw88cQTWrZsmaZMmaLTp09r48aNGj58uO6///6glxYLFy5cSPu/jvb2dh05ckQVFRWaPHmy1q1bpxdeeEHXXnut6urq9Mwzz6impkbLly8PbtERluv9rqio0KZNm7RixQpVVVWpra1NTz75pK655hotXrw4wFVHU2Njo3bu3Kl33nlHZWVlqTmOZDKp0aNHK5lMavXq1WpqalJFRYXKy8v1+OOPa968ebr55psDXn305Hu/29ratHPnTt15550aN26cjh49qvXr12v+/PmaNWtWwKvPIejtNpn++Mc/GpMnTzZKS0uNuXPnGgcPHgx6SbF07733GtXV1UZpaanxox/9yLj33nuNEydOBL2s2Pjoo48MSUNuK1euNAzjh+22zzzzjFFZWWkkEglj4cKFRmtra7CLjrBc7/f3339vLFq0yJgwYYIxcuRIY8qUKcaaNWuMjo6OoJcdSWbvsyRj+/btqef85z//MX75y18aY8eONa644grj7rvvNs6cORPcoiMs3/t98uRJY/78+UZFRYWRSCSMa665xvj1r39tdHV1BbvwPEoMwzD8DDsAAKC4hWbmAwAAFAfCBwAA8BXhAwAA+IrwAQAAfEX4AAAAviJ8AAAAXxE+AACArwgfAADAV4QPAADgK8IHAADwFeEDAAD4ivABAAB89X+KvJTiYw8uqwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -215,7 +217,7 @@ }, { "data": { - "image/png": "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g9kqurq6eLxzxOOdLx7vfPF456tMj7fp0MD6htP29nYtXrxY27dvb75vfHxc27dv19KlS21/OgAAUDGZLLts2rRJ69ev12c+8xnddNNNevzxxzU6Oqr77rsvi08HAAAqJJP4uPPOO/X73/9ejz76qI4fP65Pf/rTeumllyZtQvXT0dGhLVu2+C7FwD4e73zxeOeLxztfPN75qvLj3eaYnBMDAABgCfd2AQAAuSI+AABArogPAACQK+IDAADkqnTx8cQTT+gTn/iELrroIi1ZskS//vWviz6kWvrOd76jtra2CW/XXntt0YdVG6+99prWrFmjvr4+tbW16fnnn5/w547j6NFHH1Vvb6+mTZum5cuX6+233y7mYGsg6vG+9957Jz3fV61aVczBVtzg4KBuvPFGdXZ2atasWVq7dq2GhoYmfMwHH3yggYEBXXbZZbrkkku0bt26SReehBmTx/vWW2+d9Pz+2te+VtARmylVfPzsZz/Tpk2btGXLFv32t7/VokWLtHLlSr377rtFH1otfepTn9KxY8eab6+//nrRh1Qbo6OjWrRokZ544gnfP3/sscf0gx/8QD/60Y/05ptv6k/+5E+0cuVKffDBBzkfaT1EPd6StGrVqgnP92eeeSbHI6yPnTt3amBgQLt379bLL7+s8+fPa8WKFRodHW1+zMMPP6xf/OIXevbZZ7Vz504dPXpUd9xxR4FHXV0mj7ck3X///ROe34899lhBR2zIKZGbbrrJGRgYaP77hx9+6PT19TmDg4MFHlU9bdmyxVm0aFHRh9ESJDnPPfdc89/Hx8ednp4e5x//8R+b7zt9+rTT0dHhPPPMMwUcYb14H2/HcZz169c7t99+eyHHU3fvvvuuI8nZuXOn4zgfPZcvvPBC59lnn21+zP/8z/84kpxdu3YVdZi14X28Hcdx/vzP/9z527/92+IOKoHSTD7OnTunPXv2aPny5c33TZkyRcuXL9euXbsKPLL6evvtt9XX16errrpKX/7yl3X48OGiD6klHDp0SMePH5/wXO/u7taSJUt4rmdox44dmjVrlhYsWKAHHnhAJ0+eLPqQamF4eFiSNGPGDEnSnj17dP78+QnP72uvvVZz587l+W2B9/Fu+OlPf6qZM2dq4cKF2rx5s957770iDs9Y4Xe1bfjDH/6gDz/8cNJVUGfPnq233nqroKOqryVLluipp57SggULdOzYMW3dulWf//zntX//fnV2dhZ9eLV2/PhxSfJ9rjf+DHatWrVKd9xxh/r7+3Xw4EH9/d//vVavXq1du3Zp6tSpRR9eZY2Pj2vjxo265ZZbtHDhQkkfPb/b29t16aWXTvhYnt/p+T3ekvSlL31J8+bNU19fn/bt26dvfetbGhoa0s9//vMCjzZcaeID+Vq9enXzn6+//notWbJE8+bN07/9279pw4YNBR4ZYN9dd93V/OfrrrtO119/vebPn68dO3botttuK/DIqm1gYED79+9nv1hOgh7vr3zlK81/vu6669Tb26vbbrtNBw8e1Pz58/M+TCOlWXaZOXOmpk6dOmlH9IkTJ9TT01PQUbWOSy+9VNdcc40OHDhQ9KHUXuP5zHO9OFdddZVmzpzJ8z2FBx98UC+++KJeffVVXXnllc339/T06Ny5czp9+vSEj+f5nU7Q4+1nyZIlklTq53dp4qO9vV2LFy/W9u3bm+8bHx/X9u3btXTp0gKPrDWcPXtWBw8eVG9vb9GHUnv9/f3q6emZ8FwfGRnRm2++yXM9J++8845OnjzJ8z0Bx3H04IMP6rnnntOvfvUr9ff3T/jzxYsX68ILL5zw/B4aGtLhw4d5ficQ9Xj72bt3rySV+vldqmWXTZs2af369frMZz6jm266SY8//rhGR0d13333FX1otfP1r39da9as0bx583T06FFt2bJFU6dO1d133130odXC2bNnJ/zWcejQIe3du1czZszQ3LlztXHjRn3ve9/TJz/5SfX39+uRRx5RX1+f1q5dW9xBV1jY4z1jxgxt3bpV69atU09Pjw4ePKhvfvObuvrqq7Vy5coCj7qaBgYGtG3bNr3wwgvq7Oxs7uPo7u7WtGnT1N3drQ0bNmjTpk2aMWOGurq69NBDD2np0qX67Gc/W/DRV0/U433w4EFt27ZNX/jCF3TZZZdp3759evjhh7Vs2TJdf/31BR99iKJPt/H6p3/6J2fu3LlOe3u7c9NNNzm7d+8u+pBq6c4773R6e3ud9vZ254orrnDuvPNO58CBA0UfVm28+uqrjqRJb+vXr3cc56PTbR955BFn9uzZTkdHh3Pbbbc5Q0NDxR50hYU93u+9956zYsUK5/LLL3cuvPBCZ968ec7999/vHD9+vOjDriS/x1mS8+STTzY/5v3333f+5m/+xpk+fbpz8cUXO3/5l3/pHDt2rLiDrrCox/vw4cPOsmXLnBkzZjgdHR3O1Vdf7XzjG99whoeHiz3wCG2O4zh5xg4AAGhtpdnzAQAAWgPxAQAAckV8AACAXBEfAAAgV8QHAADIFfEBAAByRXwAAIBcER8AACBXxAcAAMgV8QEAAHJFfAAAgFwRHwAAIFf/B/KoRxBk0eggAAAAAElFTkSuQmCC", + "image/png": "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g9kqurq6eLxzxOOdLx7vfPF456tMj7fp0MD6htP29nYtXrxY27dvb75vfHxc27dv19KlS21/OgAAUDGZLLts2rRJ69ev12c+8xnddNNNevzxxzU6Oqr77rsvi08HAAAqJJP4uPPOO/X73/9ejz76qI4fP65Pf/rTeumllyZtQvXT0dGhLVu2+C7FwD4e73zxeOeLxztfPN75qvLj3eaYnBMDAABgCfd2AQAAuSI+AABArogPAACQK+IDAADkqnTx8cQTT+gTn/iELrroIi1ZskS//vWviz6kWvrOd76jtra2CW/XXntt0YdVG6+99prWrFmjvr4+tbW16fnnn5/w547j6NFHH1Vvb6+mTZum5cuX6+233y7mYGsg6vG+9957Jz3fV61aVczBVtzg4KBuvPFGdXZ2atasWVq7dq2GhoYmfMwHH3yggYEBXXbZZbrkkku0bt26SReehBmTx/vWW2+d9Pz+2te+VtARmylVfPzsZz/Tpk2btGXLFv32t7/VokWLtHLlSr377rtFH1otfepTn9KxY8eab6+//nrRh1Qbo6OjWrRokZ544gnfP3/sscf0gx/8QD/60Y/05ptv6k/+5E+0cuVKffDBBzkfaT1EPd6StGrVqgnP92eeeSbHI6yPnTt3amBgQLt379bLL7+s8+fPa8WKFRodHW1+zMMPP6xf/OIXevbZZ7Vz504dPXpUd9xxR4FHXV0mj7ck3X///ROe34899lhBR2zIKZGbbrrJGRgYaP77hx9+6PT19TmDg4MFHlU9bdmyxVm0aFHRh9ESJDnPPfdc89/Hx8ednp4e5x//8R+b7zt9+rTT0dHhPPPMMwUcYb14H2/HcZz169c7t99+eyHHU3fvvvuuI8nZuXOn4zgfPZcvvPBC59lnn21+zP/8z/84kpxdu3YVdZi14X28Hcdx/vzP/9z527/92+IOKoHSTD7OnTunPXv2aPny5c33TZkyRcuXL9euXbsKPLL6evvtt9XX16errrpKX/7yl3X48OGiD6klHDp0SMePH5/wXO/u7taSJUt4rmdox44dmjVrlhYsWKAHHnhAJ0+eLPqQamF4eFiSNGPGDEnSnj17dP78+QnP72uvvVZz587l+W2B9/Fu+OlPf6qZM2dq4cKF2rx5s957770iDs9Y4Xe1bfjDH/6gDz/8cNJVUGfPnq233nqroKOqryVLluipp57SggULdOzYMW3dulWf//zntX//fnV2dhZ9eLV2/PhxSfJ9rjf+DHatWrVKd9xxh/r7+3Xw4EH9/d//vVavXq1du3Zp6tSpRR9eZY2Pj2vjxo265ZZbtHDhQkkfPb/b29t16aWXTvhYnt/p+T3ekvSlL31J8+bNU19fn/bt26dvfetbGhoa0s9//vMCjzZcaeID+Vq9enXzn6+//notWbJE8+bN07/9279pw4YNBR4ZYN9dd93V/OfrrrtO119/vebPn68dO3botttuK/DIqm1gYED79+9nv1hOgh7vr3zlK81/vu6669Tb26vbbrtNBw8e1Pz58/M+TCOlWXaZOXOmpk6dOmlH9IkTJ9TT01PQUbWOSy+9VNdcc40OHDhQ9KHUXuP5zHO9OFdddZVmzpzJ8z2FBx98UC+++KJeffVVXXnllc339/T06Ny5czp9+vSEj+f5nU7Q4+1nyZIlklTq53dp4qO9vV2LFy/W9u3bm+8bHx/X9u3btXTp0gKPrDWcPXtWBw8eVG9vb9GHUnv9/f3q6emZ8FwfGRnRm2++yXM9J++8845OnjzJ8z0Bx3H04IMP6rnnntOvfvUr9ff3T/jzxYsX68ILL5zw/B4aGtLhw4d5ficQ9Xj72bt3rySV+vldqmWXTZs2af369frMZz6jm266SY8//rhGR0d13333FX1otfP1r39da9as0bx583T06FFt2bJFU6dO1d133130odXC2bNnJ/zWcejQIe3du1czZszQ3LlztXHjRn3ve9/TJz/5SfX39+uRRx5RX1+f1q5dW9xBV1jY4z1jxgxt3bpV69atU09Pjw4ePKhvfvObuvrqq7Vy5coCj7qaBgYGtG3bNr3wwgvq7Oxs7uPo7u7WtGnT1N3drQ0bNmjTpk2aMWOGurq69NBDD2np0qX67Gc/W/DRV0/U433w4EFt27ZNX/jCF3TZZZdp3759evjhh7Vs2TJdf/31BR99iKJPt/H6p3/6J2fu3LlOe3u7c9NNNzm7d+8u+pBq6c4773R6e3ud9vZ254orrnDuvPNO58CBA0UfVm28+uqrjqRJb+vXr3cc56PTbR955BFn9uzZTkdHh3Pbbbc5Q0NDxR50hYU93u+9956zYsUK5/LLL3cuvPBCZ968ec7999/vHD9+vOjDriS/x1mS8+STTzY/5v3333f+5m/+xpk+fbpz8cUXO3/5l3/pHDt2rLiDrrCox/vw4cPOsmXLnBkzZjgdHR3O1Vdf7XzjG99whoeHiz3wCG2O4zh5xg4AAGhtpdnzAQAAWgPxAQAAckV8AACAXBEfAAAgV8QHAADIFfEBAAByRXwAAIBcER8AACBXxAcAAMgV8QEAAHJFfAAAgFwRHwAAIFf/B/KoRxBk0eggAAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -262,7 +264,7 @@ }, { "data": { - "image/png": "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dXrsscc0MjKie++9N4mHAwAAOZJI+Ljtttv0r3/9Sz/60Y80ODioL37xi9q+ffu4JlQ3TU1NWr9+vetUDMzj+baL59sunm+7eL7tyvPz3eAEWRMDAABgCNd2AQAAVhE+AACAVYQPAABgFeEDAABYlbnwsXHjRl1yySU6++yz1d3drXfeeSftIdWkH//4x2poaCj7uvLKK9MeVs144403dPPNN6ujo0MNDQ16/vnny37uOI5+9KMfacaMGZo8ebKWLFmid999N53B1gC/5/uee+4Zd7wvX748ncHmXF9fn6699lo1Nzdr+vTpWrlypfr7+8vu88knn6inp0cXXHCBzjvvPK1atWrcxpMIJsjzvWjRonHH97e+9a2URhxMpsLHM888o97eXq1fv15/+9vfNH/+fC1btkwffPBB2kOrSV/4whd09OjR4tebb76Z9pBqxsjIiObPn6+NGze6/vzRRx/Vr371Kz3++ON6++23de6552rZsmX65JNPLI+0Nvg935K0fPnysuP96aeftjjC2rFr1y719PRoz549euWVV3TmzBktXbpUIyMjxfs89NBDevHFF/Xss89q165dOnLkiG699dYUR51fQZ5vSbr//vvLju9HH300pREH5GTIdddd5/T09BS///TTT52Ojg6nr68vxVHVpvXr1zvz589Pexh1QZKzbdu24vdjY2NOe3u78/Of/7x424kTJ5ympibn6aefTmGEtaXy+XYcx1m9erVzyy23pDKeWvfBBx84kpxdu3Y5jvPZsXzWWWc5zz77bPE+f//73x1Jzu7du9MaZs2ofL4dx3G++tWvOt/5znfSG1QEmal8nD59Wnv37tWSJUuKt02YMEFLlizR7t27UxxZ7Xr33XfV0dGhSy+9VHfddZcOHz6c9pDqwqFDhzQ4OFh2rLe0tKi7u5tjPUE7d+7U9OnTNWfOHD3wwAM6fvx42kOqCUNDQ5Kk1tZWSdLevXt15syZsuP7yiuv1MyZMzm+Dah8vgueeuopTZs2TXPnztW6dev00UcfpTG8wFK/qm3Bv//9b3366afjdkFta2vTP/7xj5RGVbu6u7u1ZcsWzZkzR0ePHtWGDRv0la98RQcOHFBzc3Paw6tpg4ODkuR6rBd+BrOWL1+uW2+9VV1dXRoYGNAPfvADrVixQrt379bEiRPTHl5ujY2Nae3atbrhhhs0d+5cSZ8d342NjTr//PPL7svxHZ/b8y1Jd955p2bNmqWOjg7t379f3//+99Xf36/nnnsuxdF6y0z4gF0rVqwo/nvevHnq7u7WrFmz9Kc//Un33XdfiiMDzLv99tuL/77qqqs0b948zZ49Wzt37tTixYtTHFm+9fT06MCBA/SLWVLt+f7GN75R/PdVV12lGTNmaPHixRoYGNDs2bNtDzOQzEy7TJs2TRMnThzXEX3s2DG1t7enNKr6cf755+uKK67QwYMH0x5KzSsczxzr6bn00ks1bdo0jvcY1qxZo5deekmvv/66Lr744uLt7e3tOn36tE6cOFF2f47veKo93266u7slKdPHd2bCR2Njo66++mrt2LGjeNvY2Jh27NihBQsWpDiy+nDq1CkNDAxoxowZaQ+l5nV1dam9vb3sWB8eHtbbb7/NsW7J+++/r+PHj3O8R+A4jtasWaNt27bptddeU1dXV9nPr776ap111lllx3d/f78OHz7M8R2B3/PtZt++fZKU6eM7U9Muvb29Wr16ta655hpdd911euyxxzQyMqJ777037aHVnO9+97u6+eabNWvWLB05ckTr16/XxIkTdccdd6Q9tJpw6tSpsk8dhw4d0r59+9Ta2qqZM2dq7dq1+ulPf6rLL79cXV1deuSRR9TR0aGVK1emN+gc83q+W1tbtWHDBq1atUrt7e0aGBjQww8/rMsuu0zLli1LcdT51NPTo61bt+qFF15Qc3NzsY+jpaVFkydPVktLi+677z719vaqtbVVU6ZM0YMPPqgFCxboS1/6Usqjzx+/53tgYEBbt27VTTfdpAsuuED79+/XQw89pIULF2revHkpj95D2sttKv361792Zs6c6TQ2NjrXXXeds2fPnrSHVJNuu+02Z8aMGU5jY6Nz0UUXObfddptz8ODBtIdVM15//XVH0riv1atXO47z2XLbRx55xGlra3OampqcxYsXO/39/ekOOse8nu+PPvrIWbp0qXPhhRc6Z511ljNr1izn/vvvdwYHB9Medi65Pc+SnM2bNxfv8/HHHzvf/va3nalTpzrnnHOO8/Wvf905evRoeoPOMb/n+/Dhw87ChQud1tZWp6mpybnsssuc733ve87Q0FC6A/fR4DiOYzPsAACA+paZng8AAFAfCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACs+n+3vv8qxzeMcwAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGdCAYAAACyzRGfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAtVUlEQVR4nO3df2xV9f3H8VcBW1FLpSIt1YIVFbchLPFHh24MB+GHiZHJH/6KQWPc5ooZNpsLyxwjW9LMJZvZwheXZYNpxDkT0WgypqJgjKAZCyEkWyMNCToobkRaqFqYPd8/3L279/bc8/NzPuece5+PpAm9vfZ+vD333Nd9f96fz2lwHMcRAACAJRPSHgAAAKgvhA8AAGAV4QMAAFhF+AAAAFYRPgAAgFWEDwAAYBXhAwAAWEX4AAAAVk1KewCVxsbGdOTIETU3N6uhoSHt4QAAgAAcx9HJkyfV0dGhCRO8axuZCx9HjhxRZ2dn2sMAAAARvPfee7r44os975O58NHc3CxJWtR2ryZNaEx5NAAAIIj/jJ3WzmObi+/jXjIXPgpTLZMmNBI+AADImSAtEzScAgAAqwgfAADAKsIHAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwKFT76+vp07bXXqrm5WdOnT9fKlSvV399fdp9FixapoaGh7Otb3/qW0UEDAID8ChU+du3apZ6eHu3Zs0evvPKKzpw5o6VLl2pkZKTsfvfff7+OHj1a/Hr00UeNDhoAAOTXpDB33r59e9n3W7Zs0fTp07V3714tXLiwePs555yj9vZ2MyMEAAA1JVbPx9DQkCSptbW17PannnpK06ZN09y5c7Vu3Tp99NFHVX/H6OiohoeHy74AAEDtClX5KDU2Nqa1a9fqhhtu0Ny5c4u333nnnZo1a5Y6Ojq0f/9+ff/731d/f7+ee+4519/T19enDRs2RB0GAADImQbHcZwo/+EDDzygP//5z3rzzTd18cUXV73fa6+9psWLF+vgwYOaPXv2uJ+Pjo5qdHS0+P3w8LA6Ozu1ZMY3NWlCY5ShAQAAy/4zdlqvHv2NhoaGNGXKFM/7Rqp8rFmzRi+99JLeeOMNz+AhSd3d3ZJUNXw0NTWpqakpyjAAAEAOhQofjuPowQcf1LZt27Rz5051dXX5/jf79u2TJM2YMSPSAAEAQG0JFT56enq0detWvfDCC2pubtbg4KAkqaWlRZMnT9bAwIC2bt2qm266SRdccIH279+vhx56SAsXLtS8efMS+R8AAAD5Eip8bNq0SdJnG4mV2rx5s+655x41Njbq1Vdf1WOPPaaRkRF1dnZq1apV+uEPf2hswAAAIN9CT7t46ezs1K5du2INCAAA1Dau7QIAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCB9ATn0896K0hwAAkRA+gJz5eO5FxeBBAAGQR5PSHgAAf14ho/CzyQf+aWs4ABAL4QPIsGqh48M5jcV/T+0/XbwvAQRAHjDtAmRQ6dRKqQ/nNJYFj8Jtpf8dAGQdlQ8gQ4JUOgpOzh5T88CE4s9LKyAS0zAAsovwAWSAV8WiMnicnD1W9u/SACIxDYNwSo89jhfYQvgAUhQ1dLjdXq0KwhsKqqk8/ggisIXwAaQgbug4r2uo+O9Th1qK92MaBkEE6Q3iuEGSCB+ARWFChzQ+eJSGjtLbSgOI9FkVhGkYuAnblEwIQRIIH4AFfid8v2pHZehYOrNfkvTy4TllPw9SBeFNpH7FWQ3FlAxMInwACYszxeJW6SgEj9J/l4YQpmFQyfQSbI4hxEX4ABIUdprFT2nwCKs0gAAmVB7fhBEExSZjQEZUW80CxBGk6hElCFd7LDa6QxBUPoCEmFzRAiSlcCxWCyBRqmX0FsEP4QNIQFY+/ZX2faD+hG10DnMfv1BCAIEXwgdgWdSqR5x+D8A0t1BSGUgIIKiGj0SAYVmpegBeTPV5VP7Oyt/L6wFuCB+ARUG3TAfiMr3SKgy3AEIIQSnCB2CQiRM+jaaoBW7HOwEEBfR8AIbE3TodMCWpYzFs87Lb3jL0gUAifACJS7rEDQQVNwRHCSmV1xiSCCBg2gUwImw5udpJvNqUCytdkISkqm9uv5dGVJQifAAxMd2CLKl2PNquwBFA4IXwASQk7MneVKMpDauolFYIPjl7bNzjEEAg0fMBxBL2UyZVD9hmOngECbeFKyuXPl5lHwg9IPWNygeQAV4ndPo9EIfbNuhsuY+0cQQCloRtMpUIHsgnpv7gh/ABGBam14PgAXyG3o/6QvgAIgpzsgx68TggCVmcemH/m/pG+ABS4Bc8qHog7yqPcZqtUYrwARhkYmUBwQNxVFs1ksXqB+oXRx5gGX0eAOod4QMwJEjVg+CBrKH6gTRw1AFAnXCbegkjbJM0fR+oJlT46Ovr07XXXqvm5mZNnz5dK1euVH9/+ae1Tz75RD09Pbrgggt03nnnadWqVTp27JjRQQNpC7LShaoH8iKt6gcrXupXqCNu165d6unp0Z49e/TKK6/ozJkzWrp0qUZGRor3eeihh/Tiiy/q2Wef1a5du3TkyBHdeuutxgcOZEmckyjBA6Z5bVVerfphIoDEPZbZ66N+hLq2y/bt28u+37Jli6ZPn669e/dq4cKFGhoa0u9+9ztt3bpVX/va1yRJmzdv1uc+9znt2bNHX/rSl8yNHMiwoFUPggdqReFYXjqzXy8fnpPyaJB1saLu0NBnJ9TW1lZJ0t69e3XmzBktWbKkeJ8rr7xSM2fO1O7du+M8FAAgYUlMv7CZHtxEvqrt2NiY1q5dqxtuuEFz586VJA0ODqqxsVHnn39+2X3b2to0ODjo+ntGR0c1Ojpa/H54eDjqkAArKkvDlVMuQaoeVDyQpqn9p6tOFTYPTEi0MbTyCreoT5HDR09Pjw4cOKA333wz1gD6+vq0YcOGWL8DyAsboaP0cuac5BFWlOBBmEZYkc5Ma9as0UsvvaTXX39dF198cfH29vZ2nT59WidOnCi7/7Fjx9Te3u76u9atW6ehoaHi13vvvRdlSEAqolQ9TAs6vx53mSVqR5QG6TDHcpgwwoqX+hQqfDiOozVr1mjbtm167bXX1NXVVfbzq6++WmeddZZ27NhRvK2/v1+HDx/WggULXH9nU1OTpkyZUvYFZFXWu/GpesC2IEGDvg9UCjXt0tPTo61bt+qFF15Qc3NzsY+jpaVFkydPVktLi+677z719vaqtbVVU6ZM0YMPPqgFCxaw0gU1z6/qkURpOuqqAq+lmACQtFDhY9OmTZKkRYsWld2+efNm3XPPPZKkX/7yl5owYYJWrVql0dFRLVu2TP/3f/9nZLBAmvwaTdPmVfVgygVAloQKH47j+N7n7LPP1saNG7Vx48bIgwLyznbVozR4AFFVazaNsk+N134frHhB5NUuQD0Ju7w2SX5TLZzUkWcfz72IacE6wFkK8JGlJlO34OFX9WDKpf54HbOmpgvDVvNoOkUpwgfgwe0kHnZ5rakplyDNpVQ9YBqhAUngTAVUkfWKhxSt14OSNtyYmDq8e+pbZd8HDd5Za95G8ggfQIWP515UNXjErXrcPfWtcSdoP0GDh1vVgykXJMErVIQ9vlGfCB9ACVvVjqAnaJMVDyCsMFMuYUOHzSZtZA/hA/gvv+BhouoRRpjgQa8HgjAxvcF1XGACZyxAyQePsExUPJhyQVBuVYgkGk1pXkUB4QN1z1bwePLD6wONJ2zwCNPrQbMp4qh2bNPngbDYZAx1LWsVj7CCBg9CR/0I2ixdYKvqAZSi8oG6lWbwqFYFidvnQfBAGGGCB70eMInwgbqUp4oHwQO2EDxgC9MuqDthgofp0OHV9xFkB1Mp+BVrCR4ocJtyYakr0kT4AP4rS9WOAr+NxAgeMIWqB2wifKCuJLVzaVymLhhH6EClIFUPggdso+cDdSOrwSOo0qoHwQNu0rgeEctsEQWVD9QFE8EjqdARpOrht4MpwQNBUfVAFhA+UPOCBI8sVTvC9nkQPFCN33bqBA+khfCBmuYWPLI0zeK3woXgAZNY4YKsoOcDNSvrwcONV5MpwQMmUfVAmggfqEl5CB6VVQ+v6RaCB/xUHvN+x7sbggdsYdoFNScPwaNSmAZTggeSEPaYZ5UL4qDygZpiInjYUFr1CNNgSvBAFKbDNsEDcVH5QM0IssdBkOBhc7olzFQLkIQwxzuhA6ZQ+UBNCHsZcSnbFQ82EUMcfktsoyB4wCQqH8i9qBuIubG1kRjBA2kJG7oJHUgClQ/UpCh9Hl7BI84JmOCBpHlNOXqFbr+wTfBAUggfyLWsN5gSPJBXBA8kiWkX5JbJ4JHEdAvBA1kTJHgTOmAD4QO5ZLPiEeVk7BU8/LZMB+II2mzqFrgJHrCFaRfkjungEbTqEfTEbCJ4UPWACUGv5XL31LcIHrCKygdyJU89HmGvTltA8EAS0lhaDlRD+EBuJBE8TPV6hOnvkAgeMCfI5nqVSo97Kh5IA9MuyIUowcMWggeyIonNxYAkED6QS0GCh42qB8EDWVX6mmDKBVlD+EDm+V0q3A3BA/Wg9LVR+rqIs7FYkipfI6hf9Hwg00xdLK4gzon3yQ+vj/zfEjyQlqxWPSrDOeoLf33kSpw+j6jBI0roCHJiJXggqo/nXhSp6lEpiWbT0tdLZXWwGva6qT9UPpBZJqdb4paa/QJImHIyoQNxeL0u/KqASU+5eL1OmHJBKSofyKQo0y3V2Ng6HbAhzLJa29MtcaYlSxHO6wPhA7kQdXVLms11BZSUYYLfcvO0lppL7sHDK6DT7wGmXZApQfbzcJOl4OF1YuVTHaIIGzxsvR6CVjuYckEl4icyI2hJOcgnPJvBgxMrkhQ1kCfN1DQLlcH6ROUDmVAteJjYTMy0MP0enFgRVdTXhI3Xg1/wYMoFfggfSJVXtSNv0y0SUy4wI2i1w3bTdZRqB5VBuCGCIjVhL4iVtekWiRMrzIszzZJk1cPUNAsgUflASvyCh4kt1NPGlAvCilPxyErwiLMMnepg/SB8wKog1Y6o5WW3qsfdU98y+okt6lw2J1X4MT3VUmDzkgJ+wSPo9Y5Q+5h2QaaY/JRX2Do6iS2kAZPiBo8oO/v6vS7CVjvcggfTkqiG8AFrwvZ4SNneTMzrxMonOtiSxCUFTEyzRL3KM+oD4QOZkfU+j9KTrN+JFYgjbgXQL3gkXQ2MEjyYmqwvnDGRCVlYRuglTK9H5YmVkyq8RKkISsldRDEMrnGEqAgfsMLEstq0qh6VJ1jmsWFb0I3EggQPU1UPk9MtBPT6Q/hA6uJMtyT9Kc8veDCPDdOibp1O8ECeED6QqiDTLVEqHiZOsmGXDQJhBakI2r5oXNSl6QRzhMHZE4kLM+USZg+DJKseUZYN8qkOcUWpegR9HSRZ9YgaPHh91C/CB1KT1dUtUU6uQBL8qh62l5ibDB6ob5xBkYq40y1JnXSjBg9OsAirsiIY9mq1YV4DSU1DxgkeVD3qW+jw8cYbb+jmm29WR0eHGhoa9Pzzz5f9/J577lFDQ0PZ1/Lly02NFzkTdMol7JbRSWCHRuSF7eDhhooH4ggdPkZGRjR//nxt3Lix6n2WL1+uo0ePFr+efvrpWINEbfH7hCfZr3oEDR5hqh58skNQYaseSanWbGp61RevDYS+sNyKFSu0YsUKz/s0NTWpvb098qBQu2z0eYT9pBcneABRRN1YTMrGdAsQVyJn0507d2r69OmaM2eOHnjgAR0/frzqfUdHRzU8PFz2hdoQZRmhH9NVj7jBg9IyTEur6hEUVQ+YYDx8LF++XE888YR27Nihn/3sZ9q1a5dWrFihTz/91PX+fX19amlpKX51dnaaHhJyxOZ0S5IVD06wqMav0bRU1la3EDxgSuhpFz+333578d9XXXWV5s2bp9mzZ2vnzp1avHjxuPuvW7dOvb29xe+Hh4cJIDUq6s6NYSR9wawCuvgRRdgVLnGV9nDEfW0QPGCS8fBR6dJLL9W0adN08OBB1/DR1NSkpqampIeBDMrC0lo/YZfVcoJFNX7TkEnv6eEXRCqbTU32evC6QKXEw8f777+v48ePa8aMGUk/FGqUreARZQfTAk6u8OIWPGxUAqsxWRHxwusC1YQOH6dOndLBgweL3x86dEj79u1Ta2urWltbtWHDBq1atUrt7e0aGBjQww8/rMsuu0zLli0zOnDUh6Q6+4N8qgva68EJFl6CBI80m0yDXMuFC8bBtNDh469//atuvPHG4veFfo3Vq1dr06ZN2r9/v/7whz/oxIkT6ujo0NKlS/WTn/yEqZU6E3f3Rim9qRY37OWBKKIEDzdur4VC2I56ITgvcadceF3AT+jwsWjRIjmOU/Xnf/nLX2INCJDCB4+km+kqcXKFn6hLzbO2tNZPZTDntYEg2DUJmZOliofEyRXhVQsefn0eUYJH0iu8wgRzXhsIivCB1KX9Sc/r5ErwQFhBg0fQZbVBwrjJAMKOprCB8AHrTO9lYGI79SAIHvATJ3ikHcKD4OJxMIXwgcSFWVKY9pRLtaoHwQN+ok61eKn2enAL3ElMv4S5qjOvEYRB+ECqbF9ErlKYkytQTbVVLW7BI8mqh60dfiWqHoiH8AHjvLr8TU+5mETVA1GE2UAsy8e/5D0lSaMpTCJ8IDPSnnIBwgqynLagWvCoVvWI+nowVf3wqgpS9UBchA/kWpANlkrvU/rJrvTkStUDAOxJ/NouQDWm5rndAojNuW+gVJgG0yytcIk65QJEQfhATXILJNWqHkDSTPZ6+AXrJLZbB0wjziJRaV65Myg+1SFr0u5/IpwjaZx1UReCVj1opIMteZly8UNfFKIgfCAT0v6kB9QrtlNHGggfqGtMuSBped1KvYAt1ZEEzrywJmjT3d1T30rsQllsF40kmehxilMFDNts6lb1oN8DNhA+UNPClJT5RId6wnQL0kT4QGbFrX5UnlwrP9Ex5YI4wuxuWipPUy5AUjj7IhVJn4D5VIcsyOq1XKq9PphygS1sMoaaEvSkStUDWWRj1VeYYM7rBEnhyELqvE64YaZe4lQ76PeADUlW/NjZFHlC+EBN8AoelJJhQ9yVLkGqHqb7oMIipMMUwgdS53VCNPFpLsinzTxsA498qez38DoOsxA8COmwiZ4PpOLUoRajJeilM/tpMkXu2AgdUdHvgSRxdCGzwlY9wjTrZXUVAvKhcpltZeUsSNUjS8EjSNXDbcqFjfgQFZUPWNM8MCHQm34SjXPndQ1RVkZm2A4eYauCVD2QNI4wZIKpKROTSxWjbiIFePE7Rk1fXsAPoRxpIHwgUWl0x0cNIDSdwgSvKZcgwSNtblUPVrnANMIHUmP7E1flvDt9HzDBVGhNKniwDB1ZRM8HahKrX5CUMNNxQaoeaVU73IJHmF4Pmk0RB5UPWOV1cjMdFmxsVQ2UCltNMxU8ktzdlCkXJIHwAeOy9ImoMoD4Tb1UltBpOoUXrykXr6qHrabSMBeQY4ULbOJoQ6qYc0atCFr1yEJTKZA2wgcyhT4NZFnQSliYFS62hal6MOWCpBA+kLi0T2BZO/mjNkRZ5WKz6kGQR5YRPmBdGnPLpQHkvK6hsk+mJ2ePlZXM6fuAm9LjwGs79VqpenjJUl8X8omltkid6YvMVVO5/LZyy/WTs8eKJ+LCm0uhalN44+GkWx+8AmdegweQJYQPZM7Lh+ckduIOE0Ckz95oSqeNKt+UCCP5EreKVU/BI+3pUtQ2wgfqTuGNoRBCwgaQUoQRu9KcAosbPFjlAvwP4QOZlGT1o6C0ClJ48yiEkMIbS7VpmGoII+FkvZ+mWlNpLVc8ABsIH0jE5AP/LHtjmdp/uuxE3jwwIRPXVokyDSMFL0nXexjJcriIek2WasEDQHCED2SCW9OpjeqHFD6ASOFDSEGW34xrSVJXKPYKHlQ9gOAIH8g0mwGk8HiS/zRMQdQQgvCSChR+3Cp0YYMH/R5AOcIHUCJIFUSqHkIkgkgcaQSMsNN/VDyA+AgfyLw41Y+7p74V+oqffgFEqh5CJKohYdgIGyZ7iwgegBmED2SG6c3GCqVuUwGkMMZShJBwbPRiJMHtuCR4ANERPpCaMCtewlY/KufYowaQwmMXEELCMRk20ggY1RA8gHgIH7CmcrmtbVECiDS+CiLFCyHwllTIMFVVCxs8aDYFxiN8IDeCVj+8TvYmA4gULYSgnOmwkeTeG1Q8ADM4MyIxQTbUqnxzdrvqZqkglwn3ChdRgkfB0pn9Vd98Kq+UW1B5xdx6V3g+Sr/iKjz31f4GpkQJHlQ9AHdUPpAov51OpfG9H36Np0EqIE9+eH3ZiT9O6Kjk1gtSQCXkf7I+fRJEnFVWeVDtePTqT6q3XXqRDMIHEpdmAElSnBCC4GxvYR53aiWrwcOvqigROmAP4QNWRA0gUvU3n8Kbftrz8FFCCKpL43oppo6hrASPINOTlVUPggdsInzAmigBRDJTBbGBEOIvSxdiM3nMZCV0REXwgG2ED1hV6wFEChZCkI4kjpE8BI/K0Bu094jggaQQPmBdnAAiZX8apsArhMCeJI+HPAQPP25VD0IHkkb4QCqiBhApX1UQiRCSpLT+zrUQOqoheMAGwgdSEzSASONXieQtgEiEkLCy9vcryHrwqDy+vKZcKqseBA/YEjp8vPHGG/r5z3+uvXv36ujRo9q2bZtWrlxZ/LnjOFq/fr1++9vf6sSJE7rhhhu0adMmXX755SbHjRoRJIBItTENU5C18SC4rAePOAgesCn0jkcjIyOaP3++Nm7c6PrzRx99VL/61a/0+OOP6+2339a5556rZcuW6ZNPPok9WNSmypPe1P7TrvPQ1ZrkTOyKCni5e+pbNRE8qlU9CB6wLXTlY8WKFVqxYoXrzxzH0WOPPaYf/vCHuuWWWyRJTzzxhNra2vT888/r9ttvjzda1KzKCohkfhpGMrdjZdIbmCFdtRA0JJZ2I7uM9nwcOnRIg4ODWrJkSfG2lpYWdXd3a/fu3a7hY3R0VKOjo8Xvh4eHTQ4JORI0gEjRpmGkaL0gbm9EtfLmZFOWA1ue/55Bn1eqHsgSoxeaGBwclCS1tbWV3d7W1lb8WaW+vj61tLQUvzo7O00OCTnjdiJMYhqGqRj7ClMXWZvCyNJY4uK4Rl6kvtpl3bp16u3tLX4/PDxMAKlzbhUQKfw0jORfBZH8p2KCfLKspTcwk7Jc7SioHGOt/C1LQzhVD2SN0fDR3t4uSTp27JhmzJhRvP3YsWP64he/6PrfNDU1qampyeQwUAMKJ0W3aRhJoUOI5L8qpiBKX0ge3mQRTLW/Za2EEiALjIaPrq4utbe3a8eOHcWwMTw8rLffflsPPPCAyYdCnYgSQqpdOTZIEJHKwwjLYpNna6og7t/yyQ+vJ4AAhoQOH6dOndLBgweL3x86dEj79u1Ta2urZs6cqbVr1+qnP/2pLr/8cnV1demRRx5RR0dH2V4gQFgmpmJKVfaFBK2KVENIqS4rfQgmQiUBBDAjdPj461//qhtvvLH4faFfY/Xq1dqyZYsefvhhjYyM6Bvf+IZOnDihL3/5y9q+fbvOPvtsc6NGXYo6FSN5BxEpeBipJitvsLXA9PJQt79lnCBSmJYhhADRNTiO46Q9iFLDw8NqaWnRkhnf1KQJ45dYAgVulRBpfAhx4xdGSnEl2mTY3oMiyN/RxDJs20p7VEpDFQ2nsO0/Y6f16tHfaGhoSFOmTPG8b+qrXYCowlZCSlUu0w0zReOGgFJd1JAR9LLvfgp/2zAroKRgQYRpGCAawgdyzy+ESP7VkDBhxA07ScZjKmh4/e4wIUQKHkSYhgHCI3ygZlQLIdL4q3cmHUbgLcmw4fWYpX/HoCFECrYnDFUQIDjCB2pOtZUxpeKGkUqEE29Bw4bbTrYmFP6+biuhwoYQAggQH+EDNam0kc4viEjhw0iloG+u9RBSwlY1kgocbo9hIoT4VUGYhgH8ET5Q8yo7+qOEESl8IHGTxnRD1gQJGyZXYZT+vU2HEKogQDSED9Qdtze2qIGklIlwUotsh41qvzuJEEIAAaIhfACKHkhKeb3J1lsw8QscaewvkVQIYRoGCI/wAVQRpHE1KBt9DXnBxlYAmIAGPPBGaVZens9a680preSUVuFMhWsgrNp6hQEJmHzgn8UvRFMLz18eNpIrnfph111kGdMuQAhRVs7Uu7yHjqD8mk8B/A/hA4iBMOKtXoIHgHCYdgEMKp2iqec33iz//7uNy60h2K3vIw9TL2ERmJEGKh9AguqxMpLV0IH/+XBOIyuwkCrCB2ARb8z5d+pQC82cQExMuwBAFWGX3BY2HLMp6OZl9XBdIeQH4QMA6lw9TAciWwgfAKBwu9DWYuMpYBPhAwBqlFdvSuX1hqh+wCbCBwB4qLWt1r0QQGBL/byqAMAgpl6A6FhqCwB1qLLHhWXgsInKBwDUKKozyCrCBwDUOaoesI3wAQAArCJ8AEAdqKdVO8g+jkYAAGAV4QMA6kzpShf6PZAGwgcA5NiTH16f9hCA0AgfAADAKsIHAACwivABABF4XbQtLS8fnlP8NxuMIcsIHwBQ40qX2dJsiiwgfAAAAKsIHwAAwCrCBwAAsIrwAQAR0NAJREf4AAAAVhE+AACAVYQPAABgFeEDAABYRfgAAABWET4AAIBVhA8AAGAV4QMAAFhF+AAAAFYRPgAAgFWEDwAAYBXhAwAAWEX4AIAIzusaSnsIQG4RPgDAw8nZY2kPAag5hA8AAGAV4QMAAFhF+AAAAFYRPgAAgFWEDwAAYBXhAwAAWGU8fPz4xz9WQ0ND2deVV15p+mEAwKgP5zSmPQSgbkxK4pd+4Qtf0Kuvvvq/B5mUyMMAAIAcSiQVTJo0Se3t7Un8agAAkHOJ9Hy8++676ujo0KWXXqq77rpLhw8frnrf0dFRDQ8Pl30BAIDaZTx8dHd3a8uWLdq+fbs2bdqkQ4cO6Stf+YpOnjzpev++vj61tLQUvzo7O00PCQAicdta/byuoarXdVk6sz/pIQE1ocFxHCfJBzhx4oRmzZqlX/ziF7rvvvvG/Xx0dFSjo6PF74eHh9XZ2aklM76pSRNoAANg3sdzLxp3m1vDaWX48LqYXJDgcffUtwKMLpgnP7y+7PuXD88p/vvUoZbiv5sH/vcZc2r/6bL/ZvKBfxobD/CfsdN69ehvNDQ0pClTpnjeN/FO0PPPP19XXHGFDh486PrzpqYmNTU1JT0MAJCUXvAwpTJ0SMGCRyWCB9KUePg4deqUBgYGdPfddyf9UACQiCxMs7iFDil48KisegBpMh4+vvvd7+rmm2/WrFmzdOTIEa1fv14TJ07UHXfcYfqhACARbr0elWwFj2qhA8gz4+Hj/fff1x133KHjx4/rwgsv1Je//GXt2bNHF154oemHAoDY/DYXc6t6ZCF4lFY8pHBVD6ZckDbj4eOPf/yj6V8JANb4VT1sBA+/akeY4AFkEUcpAFRRWfWIGzz8QsWTH14fOnj4odcDWcS+5wDqRuVKl8opF6+qR5IVjyB9HdVCB02myCPCBwC4KK16JBU8gjaTRgke1dDvgSwgfACAgq1wMcVk6JDcgwdVD2QZPR8A6pLXKpckqx6mgweQR1Q+ANS90qqH106mNoQNHVQ9kEdUPgCgCtsXijMRPLzQ74GsoPIBACkzGTqoeiAPqHwAQInSN/ywe2pE4fYYpw61uAaP5oEJkYLH5AP/pOqBTKHyAQApsFXtIHQgiwgfAOpe88AEK0ttvSopUfs6vKodQFYRPgDAw8uH58RqPPWbujEdOiSCB7KP8AGgLk3tP111r49Th1oiL7kN2ieSROiQCB7IB8IHAMQUpjGV0AEQPgDAV+XUS5RVMEmFDonggfwhfACA/JtOoy679doO3cR+HQQP5BHhAwBcxOn7KPz31VQLHWE2CCN0IM8IHwBgUJKhg8CBWkH4AAADCB1AcIQPAPivyr6PIFMvhA4gPMIHgLox+cA/9fHci4rfe+314YfQAUTHheUA1JXKN/bKQFAZHCpDRrWLvhX+W7fgMbX/dOAlswQP1AMqHwDqjl8FxG36pRpTl7cndKCeUPkAUJeCVEC8goXXz4NWOqqNBah1VD4A1K3Cm36hClIIDF5VEFOVjtLHB+oN4QNA3QsyDeMlbOgoPCZQrwgfAKDwK2GiBI7C4wD1jvABAP8VZBqGqRUgPsIHAFRwq4KE/e8BVEf4AAAXlQHE774AgiN8AEAVldMwbj8DEB7hAwB8EDQAs9hkDAAAWEX4AAAAVhE+AACAVYQPAABgFeEDAABYRfgAAABWET4AAIBVhA8AAGAV4QMAAFhF+AAAAFYRPgAAgFWEDwAAYBXhAwAAWEX4AAAAVhE+AACAVYQPAABgFeEDAABYRfgAAABWET4AAIBVhA8AAGAV4QMAAFhF+AAAAFYRPgAAgFWEDwAAYBXhAwAAWJVY+Ni4caMuueQSnX322eru7tY777yT1EMBAIAcSSR8PPPMM+rt7dX69ev1t7/9TfPnz9eyZcv0wQcfJPFwAAAgRxIJH7/4xS90//33695779XnP/95Pf744zrnnHP0+9//PomHAwAAOTLJ9C88ffq09u7dq3Xr1hVvmzBhgpYsWaLdu3ePu//o6KhGR0eL3w8NDUmS/jN22vTQAABAQgrv247j+N7XePj497//rU8//VRtbW1lt7e1tekf//jHuPv39fVpw4YN427feWyz6aEBAICEnTx5Ui0tLZ73MR4+wlq3bp16e3uL3584cUKzZs3S4cOHfQeP+IaHh9XZ2an33ntPU6ZMSXs4NY/n2y6eb7t4vu3K2vPtOI5Onjypjo4O3/saDx/Tpk3TxIkTdezYsbLbjx07pvb29nH3b2pqUlNT07jbW1paMvFk1ospU6bwfFvE820Xz7ddPN92Zen5Dlo0MN5w2tjYqKuvvlo7duwo3jY2NqYdO3ZowYIFph8OAADkTCLTLr29vVq9erWuueYaXXfddXrsscc0MjKie++9N4mHAwAAOZJI+Ljtttv0r3/9Sz/60Y80ODioL37xi9q+ffu4JlQ3TU1NWr9+vetUDMzj+baL59sunm+7eL7tyvPz3eAEWRMDAABgCNd2AQAAVhE+AACAVYQPAABgFeEDAABYlbnwsXHjRl1yySU6++yz1d3drXfeeSftIdWkH//4x2poaCj7uvLKK9MeVs144403dPPNN6ujo0MNDQ16/vnny37uOI5+9KMfacaMGZo8ebKWLFmid999N53B1gC/5/uee+4Zd7wvX748ncHmXF9fn6699lo1Nzdr+vTpWrlypfr7+8vu88knn6inp0cXXHCBzjvvPK1atWrcxpMIJsjzvWjRonHH97e+9a2URhxMpsLHM888o97eXq1fv15/+9vfNH/+fC1btkwffPBB2kOrSV/4whd09OjR4tebb76Z9pBqxsjIiObPn6+NGze6/vzRRx/Vr371Kz3++ON6++23de6552rZsmX65JNPLI+0Nvg935K0fPnysuP96aeftjjC2rFr1y719PRoz549euWVV3TmzBktXbpUIyMjxfs89NBDevHFF/Xss89q165dOnLkiG699dYUR51fQZ5vSbr//vvLju9HH300pREH5GTIdddd5/T09BS///TTT52Ojg6nr68vxVHVpvXr1zvz589Pexh1QZKzbdu24vdjY2NOe3u78/Of/7x424kTJ5ympibn6aefTmGEtaXy+XYcx1m9erVzyy23pDKeWvfBBx84kpxdu3Y5jvPZsXzWWWc5zz77bPE+f//73x1Jzu7du9MaZs2ofL4dx3G++tWvOt/5znfSG1QEmal8nD59Wnv37tWSJUuKt02YMEFLlizR7t27UxxZ7Xr33XfV0dGhSy+9VHfddZcOHz6c9pDqwqFDhzQ4OFh2rLe0tKi7u5tjPUE7d+7U9OnTNWfOHD3wwAM6fvx42kOqCUNDQ5Kk1tZWSdLevXt15syZsuP7yiuv1MyZMzm+Dah8vgueeuopTZs2TXPnztW6dev00UcfpTG8wFK/qm3Bv//9b3366afjdkFta2vTP/7xj5RGVbu6u7u1ZcsWzZkzR0ePHtWGDRv0la98RQcOHFBzc3Paw6tpg4ODkuR6rBd+BrOWL1+uW2+9VV1dXRoYGNAPfvADrVixQrt379bEiRPTHl5ujY2Nae3atbrhhhs0d+5cSZ8d342NjTr//PPL7svxHZ/b8y1Jd955p2bNmqWOjg7t379f3//+99Xf36/nnnsuxdF6y0z4gF0rVqwo/nvevHnq7u7WrFmz9Kc//Un33XdfiiMDzLv99tuL/77qqqs0b948zZ49Wzt37tTixYtTHFm+9fT06MCBA/SLWVLt+f7GN75R/PdVV12lGTNmaPHixRoYGNDs2bNtDzOQzEy7TJs2TRMnThzXEX3s2DG1t7enNKr6cf755+uKK67QwYMH0x5KzSsczxzr6bn00ks1bdo0jvcY1qxZo5deekmvv/66Lr744uLt7e3tOn36tE6cOFF2f47veKo93266u7slKdPHd2bCR2Njo66++mrt2LGjeNvY2Jh27NihBQsWpDiy+nDq1CkNDAxoxowZaQ+l5nV1dam9vb3sWB8eHtbbb7/NsW7J+++/r+PHj3O8R+A4jtasWaNt27bptddeU1dXV9nPr776ap111lllx3d/f78OHz7M8R2B3/PtZt++fZKU6eM7U9Muvb29Wr16ta655hpdd911euyxxzQyMqJ777037aHVnO9+97u6+eabNWvWLB05ckTr16/XxIkTdccdd6Q9tJpw6tSpsk8dhw4d0r59+9Ta2qqZM2dq7dq1+ulPf6rLL79cXV1deuSRR9TR0aGVK1emN+gc83q+W1tbtWHDBq1atUrt7e0aGBjQww8/rMsuu0zLli1LcdT51NPTo61bt+qFF15Qc3NzsY+jpaVFkydPVktLi+677z719vaqtbVVU6ZM0YMPPqgFCxboS1/6Usqjzx+/53tgYEBbt27VTTfdpAsuuED79+/XQw89pIULF2revHkpj95D2sttKv361792Zs6c6TQ2NjrXXXeds2fPnrSHVJNuu+02Z8aMGU5jY6Nz0UUXObfddptz8ODBtIdVM15//XVH0riv1atXO47z2XLbRx55xGlra3OampqcxYsXO/39/ekOOse8nu+PPvrIWbp0qXPhhRc6Z511ljNr1izn/vvvdwYHB9Medi65Pc+SnM2bNxfv8/HHHzvf/va3nalTpzrnnHOO8/Wvf905evRoeoPOMb/n+/Dhw87ChQud1tZWp6mpybnsssuc733ve87Q0FC6A/fR4DiOYzPsAACA+paZng8AAFAfCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACs+n+3vv8qxzeMcwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -297,7 +299,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -692,10 +694,24 @@ } ], "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, "language_info": { - "name": "python" + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.1" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/README.md b/README.md index 5c5445ef..72a2ab69 100644 --- a/README.md +++ b/README.md @@ -1 +1,4 @@ -# labs \ No newline at end of file +# labs + +lab 1 - 9/20/2024 +lab 2 - 9/28/2024